Module: StimulusPlumbers::Themes::Tailwind::Button
- Included in:
- StimulusPlumbers::Themes::TailwindTheme
- Defined in:
- lib/stimulus_plumbers/themes/tailwind/button.rb,
lib/stimulus_plumbers/themes/tailwind/button/group.rb
Defined Under Namespace
Modules: Group
Constant Summary collapse
- VARIANTS =
{ primary: %w[ [--btn-bg:var(--sp-color-primary)] [--btn-fg:var(--sp-color-primary-fg)] [--btn-accent:var(--sp-color-primary)] [--btn-border:var(--sp-color-primary-border)] [--btn-ring:var(--sp-color-primary-ring)] ].freeze, secondary: %w[ [--btn-bg:var(--sp-color-secondary)] [--btn-fg:var(--sp-color-secondary-fg)] [--btn-accent:var(--sp-color-secondary)] [--btn-border:var(--sp-color-secondary-border)] [--btn-ring:var(--sp-color-secondary-ring)] ].freeze, tertiary: %w[ [--btn-bg:var(--sp-color-muted)] [--btn-fg:var(--sp-color-muted-fg)] [--btn-accent:var(--sp-color-fg)] [--btn-border:var(--sp-color-muted-border)] [--btn-ring:var(--sp-color-muted-ring)] ].freeze, success: %w[ [--btn-bg:var(--sp-color-success)] [--btn-fg:var(--sp-color-success-fg)] [--btn-accent:var(--sp-color-success)] [--btn-border:var(--sp-color-success-border)] [--btn-ring:var(--sp-color-success-ring)] ].freeze, destructive: %w[ [--btn-bg:var(--sp-color-destructive)] [--btn-fg:var(--sp-color-destructive-fg)] [--btn-accent:var(--sp-color-destructive)] [--btn-border:var(--sp-color-destructive-border)] [--btn-ring:var(--sp-color-destructive-ring)] ].freeze, warning: %w[ [--btn-bg:var(--sp-color-warning)] [--btn-fg:var(--sp-color-warning-fg)] [--btn-accent:var(--sp-color-warning)] [--btn-border:var(--sp-color-warning-border)] [--btn-ring:var(--sp-color-warning-ring)] ].freeze, info: %w[ [--btn-bg:var(--sp-color-info)] [--btn-fg:var(--sp-color-info-fg)] [--btn-accent:var(--sp-color-info)] [--btn-border:var(--sp-color-info-border)] [--btn-ring:var(--sp-color-info-ring)] ].freeze }.freeze
- TYPES =
{ default: %w[ rounded-(--sp-radius-md) bg-(--btn-bg) text-(--btn-fg) border border-(--btn-border) hover:bg-(--btn-bg)/90 ].freeze, outline: %w[ rounded-(--sp-radius-md) bg-(--sp-color-bg) text-(--btn-accent) border border-(--btn-border) hover:bg-(--btn-bg)/10 ].freeze, ghost: %w[ rounded-(--sp-radius-md) bg-transparent text-(--btn-accent) border border-transparent hover:bg-(--btn-bg)/10 ].freeze, fab: %w[ rounded-(--sp-radius-full) bg-(--btn-bg) text-(--btn-fg) border border-(--btn-border) shadow-(--sp-shadow-lg) hover:bg-(--btn-bg)/90 hover:shadow-(--sp-shadow-xl) ].freeze, fab_outline: %w[ rounded-(--sp-radius-full) bg-transparent text-(--btn-accent) border border-(--btn-border) shadow-(--sp-shadow-lg) hover:bg-(--btn-bg) hover:text-(--btn-fg) hover:shadow-(--sp-shadow-xl) ].freeze, dashed: %w[ rounded-(--sp-radius-md) bg-(--sp-color-bg) text-(--btn-accent) border border-dashed border-(--btn-border) hover:bg-(--btn-bg)/10 ].freeze, card: %w[ rounded-(--sp-radius-md) bg-(--sp-color-bg) text-(--btn-accent) border border-(--btn-border) shadow-(--sp-shadow-xs) hover:bg-(--btn-bg)/10 ].freeze }.freeze
- SIZES =
{ xs: %w[h-7 px-(--sp-space-2) text-(length:--sp-text-xs)].freeze, sm: %w[h-8 px-(--sp-space-3) text-(length:--sp-text-sm)].freeze, md: %w[h-9 px-(--sp-space-4) text-(length:--sp-text-base)].freeze, lg: %w[h-11 px-(--sp-space-6) text-(length:--sp-text-lg)].freeze, xl: %w[h-14 px-(--sp-space-6) text-(length:--sp-text-lg)].freeze }.freeze
- BASE =
[ *Control::BASE, "whitespace-nowrap", "focus-visible:ring-(--btn-ring)" ].freeze
- LAYOUT =
%w[ inline-flex items-center justify-center gap-(--sp-space-2) [&:not(:has(>span))]:aspect-square [&:not(:has(>span))]:px-0 ].freeze
- CARD =
%w[ inline-flex justify-start items-center flex-1 gap-(--sp-space-3) p-(--sp-space-4) [&>:last-child:not(:first-child)]:ml-auto ].freeze