ui-svelte 0.2.12 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +2 -2
  2. package/dist/charts/ArcChart.svelte +0 -1
  3. package/dist/control/Fab.svelte +103 -0
  4. package/dist/control/Fab.svelte.d.ts +25 -0
  5. package/dist/control/Record.svelte +0 -3
  6. package/dist/control/ToggleTheme.svelte +1 -1
  7. package/dist/control/Video.svelte +2 -0
  8. package/dist/control/css/btn.css +17 -17
  9. package/dist/control/css/fab.css +84 -0
  10. package/dist/control/css/media.css +7 -7
  11. package/dist/control/css/toggle-group.css +1 -17
  12. package/dist/css/decorations.css +348 -189
  13. package/dist/css/utilities.css +0 -4
  14. package/dist/display/Accordion.svelte +3 -3
  15. package/dist/display/Accordion.svelte.d.ts +1 -1
  16. package/dist/display/Card.svelte +3 -3
  17. package/dist/display/Card.svelte.d.ts +1 -1
  18. package/dist/display/Code.svelte +1 -1
  19. package/dist/display/Collapsible.svelte +3 -3
  20. package/dist/display/Collapsible.svelte.d.ts +1 -1
  21. package/dist/display/Countdown.svelte +169 -0
  22. package/dist/display/Countdown.svelte.d.ts +21 -0
  23. package/dist/display/Item.svelte +12 -0
  24. package/dist/display/Item.svelte.d.ts +2 -0
  25. package/dist/display/Marquee.svelte +0 -2
  26. package/dist/display/Section.svelte +3 -3
  27. package/dist/display/Section.svelte.d.ts +1 -1
  28. package/dist/display/css/accordion.css +14 -14
  29. package/dist/display/css/alert.css +42 -15
  30. package/dist/display/css/avatar.css +36 -36
  31. package/dist/display/css/card.css +108 -36
  32. package/dist/display/css/chip.css +16 -16
  33. package/dist/display/css/collapsible.css +32 -32
  34. package/dist/display/css/countdown.css +206 -0
  35. package/dist/display/css/item.css +24 -0
  36. package/dist/display/css/marquee.css +0 -3
  37. package/dist/display/css/section.css +88 -109
  38. package/dist/display/css/table.css +1 -16
  39. package/dist/form/ColorField.svelte +60 -2
  40. package/dist/form/DragDrop.svelte +317 -87
  41. package/dist/form/DragDrop.svelte.d.ts +1 -0
  42. package/dist/form/Dropzone.svelte +3 -3
  43. package/dist/form/Dropzone.svelte.d.ts +1 -1
  44. package/dist/form/ImageCropper.svelte +135 -4
  45. package/dist/form/RadioGroup.svelte +6 -2
  46. package/dist/form/RadioGroup.svelte.d.ts +1 -1
  47. package/dist/form/Slider.svelte +6 -2
  48. package/dist/form/Slider.svelte.d.ts +1 -1
  49. package/dist/form/TextField.svelte +13 -4
  50. package/dist/form/TextField.svelte.d.ts +3 -2
  51. package/dist/form/Toggle.svelte +6 -2
  52. package/dist/form/Toggle.svelte.d.ts +1 -1
  53. package/dist/form/css/control.css +14 -14
  54. package/dist/form/css/csv-field.css +8 -13
  55. package/dist/form/css/drag-drop.css +90 -127
  56. package/dist/form/css/dropzone.css +8 -8
  57. package/dist/form/css/editor.css +14 -14
  58. package/dist/form/css/image-cropper.css +28 -7
  59. package/dist/form/css/radio-group.css +25 -0
  60. package/dist/form/css/slider.css +36 -0
  61. package/dist/form/css/textarea.css +14 -14
  62. package/dist/form/css/toggle.css +12 -0
  63. package/dist/hooks/use-chat.svelte.js +1 -1
  64. package/dist/hooks/use-form.svelte.js +3 -3
  65. package/dist/hooks/use-search.svelte.js +0 -3
  66. package/dist/icons/index.d.ts +4 -0
  67. package/dist/icons/index.js +4 -0
  68. package/dist/index.css +28 -48
  69. package/dist/index.d.ts +4 -2
  70. package/dist/index.js +3 -1
  71. package/dist/layout/Provider.svelte +5 -5
  72. package/dist/layout/Sidebar.svelte +17 -8
  73. package/dist/layout/Sidebar.svelte.d.ts +2 -1
  74. package/dist/layout/css/app-bar.css +8 -7
  75. package/dist/layout/css/footer.css +7 -7
  76. package/dist/layout/css/sidebar.css +120 -59
  77. package/dist/navigation/BottomNav.svelte +23 -14
  78. package/dist/navigation/css/bottom-nav.css +74 -34
  79. package/dist/navigation/css/nav-menu.css +14 -15
  80. package/dist/navigation/css/side-nav.css +14 -15
  81. package/dist/overlay/AlertDialog.svelte +58 -0
  82. package/dist/overlay/AlertDialog.svelte.d.ts +14 -25
  83. package/dist/overlay/Command.svelte +177 -170
  84. package/dist/overlay/Command.svelte.d.ts +12 -3
  85. package/dist/overlay/Drawer.svelte +4 -4
  86. package/dist/overlay/Drawer.svelte.d.ts +1 -1
  87. package/dist/overlay/Modal.svelte +4 -4
  88. package/dist/overlay/Modal.svelte.d.ts +1 -1
  89. package/dist/overlay/Tooltip.svelte +0 -5
  90. package/dist/overlay/css/command.css +30 -42
  91. package/dist/overlay/css/drawer.css +10 -10
  92. package/dist/overlay/css/modal.css +70 -18
  93. package/dist/overlay/css/toast.css +42 -14
  94. package/dist/overlay/css/tooltip.css +49 -23
  95. package/dist/stores/theme.svelte.js +19 -12
  96. package/package.json +3 -2
  97. package/dist/utils/charts.d.ts +0 -27
  98. package/dist/utils/charts.js +0 -140
@@ -26,7 +26,7 @@
26
26
  | 'warning'
27
27
  | 'danger'
28
28
  | 'surface'
29
- | 'default';
29
+ | 'background';
30
30
  multiple?: boolean;
31
31
  rootClass?: string;
32
32
  itemClass?: string;
@@ -37,7 +37,7 @@
37
37
  const {
38
38
  items = [],
39
39
  variant = 'ghost',
40
- color = 'default',
40
+ color = 'background',
41
41
  multiple = false,
42
42
  rootClass,
43
43
  itemClass,
@@ -74,7 +74,7 @@
74
74
  warning: 'is-warning',
75
75
  danger: 'is-danger',
76
76
  surface: 'is-surface',
77
- default: 'is-default'
77
+ background: 'is-background'
78
78
  };
79
79
 
80
80
  function toggleItem(itemId: string, disabled?: boolean) {
@@ -9,7 +9,7 @@ type AccordionItem = {
9
9
  type Props = {
10
10
  items: AccordionItem[];
11
11
  variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
12
- color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'default';
12
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'background';
13
13
  multiple?: boolean;
14
14
  rootClass?: string;
15
15
  itemClass?: string;
@@ -16,7 +16,7 @@
16
16
  | 'warning'
17
17
  | 'danger'
18
18
  | 'surface'
19
- | 'default';
19
+ | 'background';
20
20
  variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
21
21
  rootClass?: string;
22
22
  headerClass?: string;
@@ -32,7 +32,7 @@
32
32
  footer,
33
33
  rootClass,
34
34
  cover,
35
- color = 'default',
35
+ color = 'surface',
36
36
  variant = 'outlined',
37
37
  headerClass,
38
38
  bodyClass,
@@ -50,7 +50,7 @@
50
50
  danger: 'is-danger',
51
51
  warning: 'is-warning',
52
52
  surface: 'is-surface',
53
- default: 'is-default'
53
+ background: 'is-background'
54
54
  };
55
55
 
56
56
  const variants = {
@@ -4,7 +4,7 @@ type Props = {
4
4
  header?: Snippet;
5
5
  footer?: Snippet;
6
6
  cover?: string;
7
- color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'default';
7
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'background';
8
8
  variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
9
9
  rootClass?: string;
10
10
  headerClass?: string;
@@ -20,7 +20,7 @@
20
20
  let {
21
21
  code,
22
22
  lang,
23
- lightTheme = 'catppuccin-latte',
23
+ lightTheme = 'github-light',
24
24
  darkTheme = 'catppuccin-frappe',
25
25
  disableCopy,
26
26
  hideLang,
@@ -21,7 +21,7 @@
21
21
  | 'warning'
22
22
  | 'danger'
23
23
  | 'surface'
24
- | 'default';
24
+ | 'background';
25
25
  rootClass?: string;
26
26
  headerClass?: string;
27
27
  contentClass?: string;
@@ -34,7 +34,7 @@
34
34
  disabled = false,
35
35
  defaultOpen = false,
36
36
  variant = 'ghost',
37
- color = 'default',
37
+ color = 'background',
38
38
  rootClass,
39
39
  headerClass,
40
40
  contentClass
@@ -59,7 +59,7 @@
59
59
  warning: 'is-warning',
60
60
  danger: 'is-danger',
61
61
  surface: 'is-surface',
62
- default: 'is-default'
62
+ background: 'is-background'
63
63
  };
64
64
 
65
65
  function toggle() {
@@ -6,7 +6,7 @@ type Props = {
6
6
  disabled?: boolean;
7
7
  defaultOpen?: boolean;
8
8
  variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
9
- color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'default';
9
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'background';
10
10
  rootClass?: string;
11
11
  headerClass?: string;
12
12
  contentClass?: string;
@@ -0,0 +1,169 @@
1
+ <script lang="ts">
2
+ import { cn } from '../utils/class-names.js';
3
+ import { onMount } from 'svelte';
4
+
5
+ type Props = {
6
+ targetDate: Date;
7
+ showDays?: boolean;
8
+ showHours?: boolean;
9
+ showMinutes?: boolean;
10
+ showSeconds?: boolean;
11
+ size?: 'sm' | 'md' | 'lg' | 'xl';
12
+ color?:
13
+ | 'primary'
14
+ | 'secondary'
15
+ | 'muted'
16
+ | 'success'
17
+ | 'info'
18
+ | 'warning'
19
+ | 'danger'
20
+ | 'surface';
21
+ variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
22
+ labels?: {
23
+ days?: string;
24
+ hours?: string;
25
+ minutes?: string;
26
+ seconds?: string;
27
+ };
28
+ onComplete?: () => void;
29
+ class?: string;
30
+ };
31
+
32
+ const {
33
+ targetDate,
34
+ showDays = true,
35
+ showHours = true,
36
+ showMinutes = true,
37
+ showSeconds = true,
38
+ size = 'md',
39
+ color = 'primary',
40
+ variant = 'solid',
41
+ labels = {
42
+ days: 'Days',
43
+ hours: 'Hours',
44
+ minutes: 'Minutes',
45
+ seconds: 'Seconds'
46
+ },
47
+ onComplete,
48
+ class: className
49
+ }: Props = $props();
50
+
51
+ let days = $state(0);
52
+ let hours = $state(0);
53
+ let minutes = $state(0);
54
+ let seconds = $state(0);
55
+ let isComplete = $state(false);
56
+
57
+ const colors = {
58
+ primary: 'is-primary',
59
+ secondary: 'is-secondary',
60
+ muted: 'is-muted',
61
+ success: 'is-success',
62
+ info: 'is-info',
63
+ danger: 'is-danger',
64
+ warning: 'is-warning',
65
+ surface: 'is-surface'
66
+ };
67
+
68
+ const variants = {
69
+ solid: 'is-solid',
70
+ soft: 'is-soft',
71
+ outlined: 'is-outlined',
72
+ ghost: 'is-ghost'
73
+ };
74
+
75
+ const sizes = {
76
+ sm: 'is-sm',
77
+ md: 'is-md',
78
+ lg: 'is-lg',
79
+ xl: 'is-xl'
80
+ };
81
+
82
+ function padNumber(num: number): string {
83
+ return num.toString().padStart(2, '0');
84
+ }
85
+
86
+ function calculateTimeRemaining() {
87
+ const now = new Date().getTime();
88
+ const target = targetDate.getTime();
89
+ const difference = target - now;
90
+
91
+ if (difference <= 0) {
92
+ days = 0;
93
+ hours = 0;
94
+ minutes = 0;
95
+ seconds = 0;
96
+ if (!isComplete) {
97
+ isComplete = true;
98
+ onComplete?.();
99
+ }
100
+ return;
101
+ }
102
+
103
+ days = Math.floor(difference / (1000 * 60 * 60 * 24));
104
+ hours = Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
105
+ minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
106
+ seconds = Math.floor((difference % (1000 * 60)) / 1000);
107
+ }
108
+
109
+ onMount(() => {
110
+ calculateTimeRemaining();
111
+ const interval = setInterval(calculateTimeRemaining, 1000);
112
+ return () => clearInterval(interval);
113
+ });
114
+ </script>
115
+
116
+ <div class={cn('countdown', colors[color], variants[variant], sizes[size], className)}>
117
+ {#if showDays}
118
+ <div class="countdown-unit">
119
+ <div class="countdown-box">
120
+ <span class="countdown-digit">{padNumber(days)}</span>
121
+ </div>
122
+ {#if labels?.days}
123
+ <span class="countdown-label">{labels.days}</span>
124
+ {/if}
125
+ </div>
126
+ {/if}
127
+
128
+ {#if showHours}
129
+ {#if showDays}
130
+ <span class="countdown-separator">:</span>
131
+ {/if}
132
+ <div class="countdown-unit">
133
+ <div class="countdown-box">
134
+ <span class="countdown-digit">{padNumber(hours)}</span>
135
+ </div>
136
+ {#if labels?.hours}
137
+ <span class="countdown-label">{labels.hours}</span>
138
+ {/if}
139
+ </div>
140
+ {/if}
141
+
142
+ {#if showMinutes}
143
+ {#if showHours}
144
+ <span class="countdown-separator">:</span>
145
+ {/if}
146
+ <div class="countdown-unit">
147
+ <div class="countdown-box">
148
+ <span class="countdown-digit">{padNumber(minutes)}</span>
149
+ </div>
150
+ {#if labels?.minutes}
151
+ <span class="countdown-label">{labels.minutes}</span>
152
+ {/if}
153
+ </div>
154
+ {/if}
155
+
156
+ {#if showSeconds}
157
+ {#if showMinutes}
158
+ <span class="countdown-separator">:</span>
159
+ {/if}
160
+ <div class="countdown-unit">
161
+ <div class="countdown-box">
162
+ <span class="countdown-digit">{padNumber(seconds)}</span>
163
+ </div>
164
+ {#if labels?.seconds}
165
+ <span class="countdown-label">{labels.seconds}</span>
166
+ {/if}
167
+ </div>
168
+ {/if}
169
+ </div>
@@ -0,0 +1,21 @@
1
+ type Props = {
2
+ targetDate: Date;
3
+ showDays?: boolean;
4
+ showHours?: boolean;
5
+ showMinutes?: boolean;
6
+ showSeconds?: boolean;
7
+ size?: 'sm' | 'md' | 'lg' | 'xl';
8
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface';
9
+ variant?: 'solid' | 'soft' | 'outlined' | 'ghost';
10
+ labels?: {
11
+ days?: string;
12
+ hours?: string;
13
+ minutes?: string;
14
+ seconds?: string;
15
+ };
16
+ onComplete?: () => void;
17
+ class?: string;
18
+ };
19
+ declare const Countdown: import("svelte").Component<Props, {}, "">;
20
+ type Countdown = ReturnType<typeof Countdown>;
21
+ export default Countdown;
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Avatar, Icon } from '../index.js';
3
+ import { ChevronRight24RegularIcon } from '../icons/index.js';
3
4
  import { cn } from '../utils/class-names.js';
4
5
  import type { Snippet } from 'svelte';
5
6
  import type { IconData } from './Icon.svelte';
@@ -30,6 +31,8 @@
30
31
  isCompact?: boolean;
31
32
  hasDivider?: boolean;
32
33
  hasShadow?: boolean;
34
+ hasBullet?: boolean;
35
+ hasIndicator?: boolean;
33
36
  onclick?: (id: string | number) => void;
34
37
  actions?: Snippet;
35
38
  class?: string;
@@ -52,6 +55,8 @@
52
55
  isCompact,
53
56
  hasDivider,
54
57
  hasShadow,
58
+ hasBullet,
59
+ hasIndicator,
55
60
  onclick,
56
61
  actions,
57
62
  class: className
@@ -106,6 +111,8 @@
106
111
  {#snippet itemContent()}
107
112
  {#if icon}
108
113
  <Icon {icon} class="h-6 w-auto" />
114
+ {:else if hasBullet}
115
+ <span class="item-bullet"></span>
109
116
  {/if}
110
117
  {#if src}
111
118
  <Avatar {src} {status} {size} variant="soft" />
@@ -121,6 +128,11 @@
121
128
  {@render actions()}
122
129
  </div>
123
130
  {/if}
131
+ {#if hasIndicator}
132
+ <span class="item-indicator">
133
+ <Icon icon={ChevronRight24RegularIcon} />
134
+ </span>
135
+ {/if}
124
136
  {/snippet}
125
137
 
126
138
  {#if href && !isDisabled}
@@ -17,6 +17,8 @@ type Props = {
17
17
  isCompact?: boolean;
18
18
  hasDivider?: boolean;
19
19
  hasShadow?: boolean;
20
+ hasBullet?: boolean;
21
+ hasIndicator?: boolean;
20
22
  onclick?: (id: string | number) => void;
21
23
  actions?: Snippet;
22
24
  class?: string;
@@ -77,7 +77,6 @@
77
77
  checkOverflow();
78
78
  });
79
79
 
80
- // Observer para detectar cambios en el tamaño
81
80
  const resizeObserver = new ResizeObserver(() => {
82
81
  checkOverflow();
83
82
  });
@@ -142,7 +141,6 @@
142
141
  </div>
143
142
 
144
143
  {#if shouldAnimate}
145
- <!-- Duplicado para el efecto infinito -->
146
144
  <div
147
145
  class={cn('marquee-content', isVertical && 'is-vertical')}
148
146
  aria-hidden="true"
@@ -18,7 +18,7 @@
18
18
  | 'warning'
19
19
  | 'danger'
20
20
  | 'surface'
21
- | 'default';
21
+ | 'background';
22
22
  variant?: 'solid' | 'soft' | 'ghost';
23
23
  isBoxed?: boolean;
24
24
  };
@@ -29,7 +29,7 @@
29
29
  coverClass,
30
30
  overlayClass,
31
31
  cover,
32
- color = 'default',
32
+ color = 'background',
33
33
  variant = 'ghost',
34
34
  children,
35
35
  isBoxed
@@ -44,7 +44,7 @@
44
44
  danger: 'is-danger',
45
45
  warning: 'is-warning',
46
46
  surface: 'is-surface',
47
- default: 'is-default'
47
+ background: 'is-background'
48
48
  };
49
49
 
50
50
  const variants = {
@@ -6,7 +6,7 @@ type Props = {
6
6
  overlayClass?: string;
7
7
  children: Snippet;
8
8
  cover?: string;
9
- color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'default';
9
+ color?: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'warning' | 'danger' | 'surface' | 'background';
10
10
  variant?: 'solid' | 'soft' | 'ghost';
11
11
  isBoxed?: boolean;
12
12
  };
@@ -131,12 +131,12 @@
131
131
  @apply text-on-surface;
132
132
  }
133
133
  }
134
- &.is-default .accordion-item {
134
+ &.is-background .accordion-item {
135
135
  .accordion-header:hover {
136
- @apply text-on-muted;
136
+ @apply text-on-background;
137
137
  }
138
138
  .accordion-header.is-open {
139
- @apply text-on-muted;
139
+ @apply text-on-background;
140
140
  }
141
141
  }
142
142
  }
@@ -218,13 +218,13 @@
218
218
  @apply bg-surface text-on-surface;
219
219
  }
220
220
  }
221
- &.is-default .accordion-item {
222
- @apply bg-muted/20;
221
+ &.is-background .accordion-item {
222
+ @apply bg-background/20;
223
223
  .accordion-header:hover {
224
- @apply bg-muted/30;
224
+ @apply bg-background/30;
225
225
  }
226
226
  .accordion-header.is-open {
227
- @apply bg-muted/50;
227
+ @apply bg-background;
228
228
  }
229
229
  }
230
230
  }
@@ -298,12 +298,12 @@
298
298
  @apply bg-surface text-on-surface;
299
299
  }
300
300
  }
301
- &.is-default .accordion-item {
301
+ &.is-background .accordion-item {
302
302
  .accordion-header:hover {
303
- @apply bg-muted/50;
303
+ @apply bg-background/50;
304
304
  }
305
305
  .accordion-header.is-open {
306
- @apply bg-on-background text-background;
306
+ @apply bg-background text-on-background;
307
307
  }
308
308
  }
309
309
  }
@@ -381,13 +381,13 @@
381
381
  @apply bg-surface text-on-surface;
382
382
  }
383
383
  }
384
- &.is-default .accordion-item {
385
- @apply border border-muted;
384
+ &.is-background .accordion-item {
385
+ @apply border border-background;
386
386
  .accordion-header:hover {
387
- @apply bg-muted/30;
387
+ @apply bg-background/30;
388
388
  }
389
389
  .accordion-header.is-open {
390
- @apply bg-muted/20;
390
+ @apply bg-background/20;
391
391
  }
392
392
  }
393
393
  }
@@ -3,26 +3,53 @@
3
3
  @apply flex rounded-box text-sm w-full px-4 py-2 md:px-6 md:py-4 gap-4;
4
4
 
5
5
  &.is-soft {
6
- &.is-primary { @apply bg-on-primary text-primary; }
7
- &.is-secondary { @apply bg-on-secondary text-secondary; }
8
- &.is-muted { @apply bg-muted text-on-muted; }
9
- &.is-success { @apply bg-on-success text-success; }
10
- &.is-info { @apply bg-on-info text-info; }
11
- &.is-warning { @apply bg-on-warning text-warning; }
12
- &.is-danger { @apply bg-on-danger text-danger; }
6
+ &.is-primary {
7
+ @apply bg-soft-primary text-primary;
8
+ }
9
+ &.is-secondary {
10
+ @apply bg-soft-secondary text-secondary;
11
+ }
12
+ &.is-muted {
13
+ @apply bg-muted text-on-muted;
14
+ }
15
+ &.is-success {
16
+ @apply bg-soft-success text-success;
17
+ }
18
+ &.is-info {
19
+ @apply bg-soft-info text-info;
20
+ }
21
+ &.is-warning {
22
+ @apply bg-soft-warning text-warning;
23
+ }
24
+ &.is-danger {
25
+ @apply bg-soft-danger text-danger;
26
+ }
13
27
  }
14
28
 
15
29
  &.is-solid {
16
- &.is-primary { @apply bg-primary text-on-primary; }
17
- &.is-secondary { @apply bg-secondary text-on-secondary; }
18
- &.is-muted { @apply bg-on-muted text-muted; }
19
- &.is-success { @apply bg-success text-on-success; }
20
- &.is-info { @apply bg-info text-on-info; }
21
- &.is-warning { @apply bg-warning text-on-warning; }
22
- &.is-danger { @apply bg-danger text-on-danger; }
30
+ &.is-primary {
31
+ @apply bg-primary text-on-primary;
32
+ }
33
+ &.is-secondary {
34
+ @apply bg-secondary text-on-secondary;
35
+ }
36
+ &.is-muted {
37
+ @apply bg-muted text-on-muted;
38
+ }
39
+ &.is-success {
40
+ @apply bg-success text-on-success;
41
+ }
42
+ &.is-info {
43
+ @apply bg-info text-on-info;
44
+ }
45
+ &.is-warning {
46
+ @apply bg-warning text-on-warning;
47
+ }
48
+ &.is-danger {
49
+ @apply bg-danger text-on-danger;
50
+ }
23
51
  }
24
52
 
25
-
26
53
  .alert-start {
27
54
  @apply flex items-center justify-start;
28
55