پرش به مطلب اصلی

Button

کامپوننت x-button یک دکمه‌ی کاملاً منعطف و قابل شخصی‌سازی برای پروژه‌های Blade شماست. با این کامپوننت می‌توانید انواع دکمه‌های ساده، لینک، آیکن‌دار، دارای نشان (badge)، تاییدیه‌دار و ... را به راحتی بسازید و ظاهر و رفتار آن را مطابق نیاز خود تنظیم کنید. این دکمه هم برای اکشن‌های فرم و هم برای لینک‌های خارجی یا داخلی قابل استفاده است و امکانات متنوعی برای کنترل ظاهر، عملکرد و تعاملات کاربر در اختیار شما قرار می‌دهد.


ویژگی‌ها

  • انتخاب رنگ (variant) از بین حالت‌های آماده مثل primary، success، danger، info و ... یا تعریف رنگ دلخواه
  • تعیین ظاهر دکمه با پراپ appearance: حالت‌های solid (پررنگ)، light (روشن)، outline (حاشیه‌ای)، transparent (شفاف)
  • پشتیبانی از انواع اندازه‌ها: خیلی کوچک (xs)، کوچک (sm)، متوسط (md)، بزرگ (lg)
  • امکان افزودن آیکن (FontAwesome) در سمت چپ یا راست متن دکمه
  • کنترل کامل گرد بودن گوشه‌ها: گرد کامل، گرد بالا، گرد پایین، دایره‌ای و ...
  • قابلیت غیرفعال کردن دکمه و نمایش پیام راهنما (tooltip) برای حالت عادی یا غیرفعال
  • پشتیبانی از دکمه‌های لینک (با پراپ href و target) یا دکمه‌های فرم (submit، reset، button)
  • امکان نمایش نشان (badge) روی دکمه با موقعیت و ظاهر دلخواه
  • پشتیبانی از تاییدیه (confirmation) قبل از اجرای اکشن (مثلاً برای حذف یا عملیات حساس)
  • قابلیت اتصال به فرم خاص با پراپ formId
  • امکان افزودن کلاس و استایل دلخواه و پراپ‌های اضافی
  • پشتیبانی از پیام اعتبارسنجی فرم به صورت tooltip

ورودی‌های کامپوننت

نام پراپنوع دادهمقدار پیش‌فرضتوضیحات
variantstring"primary"رنگ اصلی دکمه (primary، success، danger، info و ...)
appearancestring"solid"ظاهر دکمه: solid، light، outline، transparent
titlestringnullمتن دکمه
iconstringnullکلاس آیکن FontAwesome برای نمایش کنار متن
iconPositionstring"left"موقعیت آیکن: left (پیش‌فرض) یا right
sizestring"md"اندازه دکمه: xs، sm، md، lg
roundedPositionstring"rounded"نوع گرد بودن گوشه‌ها: rounded، rounded-top، rounded-end، rounded-bottom، rounded-start، rounded-circle، rounded-pill
disabledbooleanfalseغیرفعال کردن دکمه
disabledVariantstringnullرنگ حالت disabled دکمه (primary، success، danger، info و ...)
tooltipstringnullمتن راهنما (tooltip) برای دکمه
disabledTooltipstringnullمتن راهنما برای حالت غیرفعال
typestring"button"نوع دکمه: button (دکمه معمولی) یا link (لینک)
buttonTypestring"button"نوع دکمه فرم: submit، reset، button (فقط وقتی type=button)
hrefstringnullاگر مقدار بدهید، دکمه به لینک تبدیل می‌شود (فقط وقتی type=link)
targetLinkstring"_self"target لینک: _blank، _self، _parent، _top
formIdstringnullاتصال دکمه به فرم خاص
badgeValuestringnullمقدار نشان (badge) روی دکمه
badgePositionstring"top-left"موقعیت نشان: top-left، top-right
badgeClassstringnullکلاس CSS اضافی برای نشان
badgeSizestring"sm"اندازه نشان
badgeVariantstringnullرنگ نشان (badge)
containerClassstringnullکلاس CSS برای کانتینر دکمه
classstringnullکلاس CSS اضافی برای خود دکمه
stylestringnullاستایل درون‌خطی برای دکمه
extraAttributesstringnullپراپ‌های اضافی برای دکمه
formValidationTooltipVisibilitybooleantrueنمایش پیام اعتبارسنجی فرم به صورت tooltip
formValidationTooltipMessagestringnullپیام اعتبارسنجی فرم
confirmationbooleanfalseفعال‌سازی تاییدیه قبل از اکشن
confirmationMessagestring"آیا از انجام این عملیات اطمینان دارید؟؟"متن پیام تاییدیه
confirmationTypestring"info"نوع تاییدیه (مثلاً info، danger و ...)
confirmationIconstring"fa-solid fa-question"آیکن تاییدیه
confirmationConfirmCallbackstringnullتابع جاوااسکریپت برای اجرای بعد از تایید
confirmButtonTextstringnullمتن دکمه تایید در تاییدیه
cancelButtonTextstringnullمتن دکمه لغو در تاییدیه
نکات مهم
  • اگر نوع دکمه button باشد، باید حداقل یکی از title یا icon مقدار داشته باشد.
  • اگر نوع دکمه link باشد، مقدار href الزامی است و باید حداقل یکی از title یا icon را هم مقداردهی کنید.
  • مقدار size فقط یکی از این مقادیر باشد: xs، sm، md، lg.
  • مقدار roundedPosition فقط یکی از حالت‌های مجاز باشد (مثلاً rounded، rounded-circle و ...).
  • مقدار iconPosition فقط left یا right باشد.
  • مقدار badgePosition فقط top-left یا top-right باشد.
  • مقدار targetLink فقط یکی از این مقادیر باشد: _blank، _self، _parent، _top.
  • اگر نوع دکمه button باشد، پراپ href نباید مقدار داشته باشد.

مثال‌ها

نمونه ۱: دکمه

<x-button appearance="solid" variant="primary" title="لورم ایپسوم" size="md" />