ui-svelte 0.2.11 → 0.2.12

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 (204) hide show
  1. package/dist/charts/ArcChart.svelte +9 -13
  2. package/dist/charts/ArcChart.svelte.d.ts +3 -3
  3. package/dist/charts/AreaChart.svelte +347 -118
  4. package/dist/charts/AreaChart.svelte.d.ts +33 -4
  5. package/dist/charts/BarChart.svelte +288 -66
  6. package/dist/charts/BarChart.svelte.d.ts +26 -1
  7. package/dist/charts/Candlestick.svelte +53 -50
  8. package/dist/charts/Candlestick.svelte.d.ts +8 -8
  9. package/dist/charts/LineChart.svelte +391 -91
  10. package/dist/charts/LineChart.svelte.d.ts +26 -3
  11. package/dist/charts/PieChart.svelte +333 -92
  12. package/dist/charts/PieChart.svelte.d.ts +33 -5
  13. package/dist/charts/css/arc-chart.css +3 -3
  14. package/dist/charts/css/area-chart.css +127 -29
  15. package/dist/charts/css/bar-chart.css +114 -8
  16. package/dist/charts/css/candlestick.css +2 -0
  17. package/dist/charts/css/line-chart.css +111 -13
  18. package/dist/charts/css/pie-chart.css +92 -20
  19. package/dist/control/Audio.svelte +86 -44
  20. package/dist/control/Audio.svelte.d.ts +4 -1
  21. package/dist/control/Button.svelte +18 -27
  22. package/dist/control/Button.svelte.d.ts +3 -2
  23. package/dist/control/IconButton.svelte +17 -27
  24. package/dist/control/IconButton.svelte.d.ts +3 -3
  25. package/dist/control/Image.svelte +123 -0
  26. package/dist/control/Image.svelte.d.ts +13 -0
  27. package/dist/control/Record.svelte +144 -98
  28. package/dist/control/Record.svelte.d.ts +2 -1
  29. package/dist/control/ToggleGroup.svelte +22 -8
  30. package/dist/control/ToggleGroup.svelte.d.ts +2 -1
  31. package/dist/control/ToggleTheme.svelte +13 -11
  32. package/dist/control/ToggleTheme.svelte.d.ts +3 -2
  33. package/dist/control/Video.svelte +55 -29
  34. package/dist/control/Video.svelte.d.ts +1 -0
  35. package/dist/control/css/btn.css +200 -152
  36. package/dist/control/css/image.css +56 -0
  37. package/dist/control/css/media.css +95 -30
  38. package/dist/control/css/toggle-group.css +269 -84
  39. package/dist/control/css/video.css +1 -14
  40. package/dist/css/animations.css +5 -9
  41. package/dist/css/base.css +13 -347
  42. package/dist/css/decorations.css +402 -0
  43. package/dist/css/rich-text.css +485 -0
  44. package/dist/css/transitions.css +158 -0
  45. package/dist/css/typography.css +291 -0
  46. package/dist/display/Accordion.svelte +28 -4
  47. package/dist/display/Accordion.svelte.d.ts +2 -1
  48. package/dist/display/Alert.svelte +32 -12
  49. package/dist/display/Alert.svelte.d.ts +2 -3
  50. package/dist/display/Avatar.svelte +23 -18
  51. package/dist/display/Avatar.svelte.d.ts +4 -1
  52. package/dist/display/AvatarGroup.svelte +20 -18
  53. package/dist/display/AvatarGroup.svelte.d.ts +6 -3
  54. package/dist/display/Badge.svelte +11 -4
  55. package/dist/display/Badge.svelte.d.ts +2 -1
  56. package/dist/display/Card.svelte +15 -14
  57. package/dist/display/Card.svelte.d.ts +2 -3
  58. package/dist/display/Carousel.svelte +130 -99
  59. package/dist/display/Carousel.svelte.d.ts +6 -4
  60. package/dist/display/ChatBox.svelte +245 -106
  61. package/dist/display/ChatBox.svelte.d.ts +32 -5
  62. package/dist/display/Chip.svelte +31 -17
  63. package/dist/display/Chip.svelte.d.ts +3 -2
  64. package/dist/display/Code.svelte +6 -3
  65. package/dist/display/Code.svelte.d.ts +1 -0
  66. package/dist/display/Collapsible.svelte +30 -4
  67. package/dist/display/Collapsible.svelte.d.ts +2 -1
  68. package/dist/display/Empty.svelte +37 -3
  69. package/dist/display/Empty.svelte.d.ts +3 -0
  70. package/dist/display/Item.svelte +30 -11
  71. package/dist/display/Item.svelte.d.ts +2 -2
  72. package/dist/display/Map.svelte +488 -0
  73. package/dist/display/Map.svelte.d.ts +44 -0
  74. package/dist/display/Section.svelte +14 -12
  75. package/dist/display/Section.svelte.d.ts +2 -3
  76. package/dist/display/Skeleton.svelte +32 -0
  77. package/dist/display/Skeleton.svelte.d.ts +10 -0
  78. package/dist/display/Table.svelte +94 -132
  79. package/dist/display/Table.svelte.d.ts +10 -1
  80. package/dist/display/css/accordion.css +349 -52
  81. package/dist/display/css/alert.css +18 -25
  82. package/dist/display/css/avatar-group.css +38 -75
  83. package/dist/display/css/avatar.css +139 -121
  84. package/dist/display/css/badge.css +50 -27
  85. package/dist/display/css/card.css +51 -71
  86. package/dist/display/css/carousel.css +25 -5
  87. package/dist/display/css/chat-box.css +158 -26
  88. package/dist/display/css/chip.css +142 -68
  89. package/dist/display/css/code.css +2 -6
  90. package/dist/display/css/collapsible.css +349 -45
  91. package/dist/display/css/divider.css +8 -6
  92. package/dist/display/css/empty.css +7 -0
  93. package/dist/display/css/item.css +311 -89
  94. package/dist/display/css/map.css +164 -0
  95. package/dist/display/css/section.css +78 -33
  96. package/dist/display/css/skeleton.css +58 -0
  97. package/dist/display/css/table.css +320 -189
  98. package/dist/form/Checkbox.svelte +11 -5
  99. package/dist/form/Checkbox.svelte.d.ts +2 -1
  100. package/dist/form/ColorField.svelte +543 -0
  101. package/dist/form/ColorField.svelte.d.ts +29 -0
  102. package/dist/form/ComboBox.svelte +24 -9
  103. package/dist/form/ComboBox.svelte.d.ts +2 -2
  104. package/dist/form/CsvField.svelte +62 -136
  105. package/dist/form/CsvField.svelte.d.ts +2 -2
  106. package/dist/form/DateField.svelte +33 -15
  107. package/dist/form/DateField.svelte.d.ts +2 -1
  108. package/dist/form/DateRange.svelte +436 -0
  109. package/dist/form/DateRange.svelte.d.ts +24 -0
  110. package/dist/form/DragDrop.svelte +348 -0
  111. package/dist/form/DragDrop.svelte.d.ts +32 -0
  112. package/dist/form/Dropzone.svelte +28 -8
  113. package/dist/form/Dropzone.svelte.d.ts +2 -2
  114. package/dist/form/Editor.svelte +626 -0
  115. package/dist/form/Editor.svelte.d.ts +50 -0
  116. package/dist/form/ImageCropper.svelte +291 -61
  117. package/dist/form/ImageCropper.svelte.d.ts +15 -1
  118. package/dist/form/{PasswordStrength.svelte → PasswordField.svelte} +58 -24
  119. package/dist/form/{PasswordStrength.svelte.d.ts → PasswordField.svelte.d.ts} +6 -5
  120. package/dist/form/PhoneField.svelte +26 -14
  121. package/dist/form/PhoneField.svelte.d.ts +4 -3
  122. package/dist/form/PinField.svelte +39 -31
  123. package/dist/form/PinField.svelte.d.ts +3 -3
  124. package/dist/form/RadioGroup.svelte +4 -4
  125. package/dist/form/RadioGroup.svelte.d.ts +1 -1
  126. package/dist/form/Select.svelte +20 -19
  127. package/dist/form/Select.svelte.d.ts +2 -2
  128. package/dist/form/Slider.svelte +4 -2
  129. package/dist/form/Slider.svelte.d.ts +1 -0
  130. package/dist/form/TextField.svelte +16 -7
  131. package/dist/form/TextField.svelte.d.ts +2 -2
  132. package/dist/form/Textarea.svelte +15 -6
  133. package/dist/form/Textarea.svelte.d.ts +2 -2
  134. package/dist/form/Toggle.svelte +1 -1
  135. package/dist/form/css/checkbox.css +18 -2
  136. package/dist/form/css/color-field.css +141 -0
  137. package/dist/form/css/control.css +193 -82
  138. package/dist/form/css/csv-field.css +226 -0
  139. package/dist/form/css/date-range.css +122 -0
  140. package/dist/form/css/date.css +24 -2
  141. package/dist/form/css/drag-drop.css +271 -0
  142. package/dist/form/css/dropzone.css +153 -34
  143. package/dist/form/css/editor.css +367 -0
  144. package/dist/form/css/field.css +4 -0
  145. package/dist/form/css/image-cropper.css +223 -22
  146. package/dist/form/css/radio-group.css +1 -1
  147. package/dist/form/css/select.css +2 -2
  148. package/dist/form/css/slider.css +1 -0
  149. package/dist/form/css/textarea.css +178 -75
  150. package/dist/form/css/toggle.css +3 -3
  151. package/dist/hooks/use-table.svelte.d.ts +1 -0
  152. package/dist/hooks/use-table.svelte.js +6 -0
  153. package/dist/icons/index.d.ts +30 -2
  154. package/dist/icons/index.js +32 -4
  155. package/dist/index.css +16 -1
  156. package/dist/index.d.ts +12 -4
  157. package/dist/index.js +11 -3
  158. package/dist/layout/AppBar.svelte +22 -14
  159. package/dist/layout/AppBar.svelte.d.ts +2 -1
  160. package/dist/layout/Footer.svelte +19 -11
  161. package/dist/layout/Footer.svelte.d.ts +2 -1
  162. package/dist/layout/Provider.svelte +27 -4
  163. package/dist/layout/Provider.svelte.d.ts +3 -1
  164. package/dist/layout/css/app-bar.css +63 -66
  165. package/dist/layout/css/footer.css +62 -65
  166. package/dist/navigation/BottomNav.svelte +41 -13
  167. package/dist/navigation/FooterGroup.svelte +1 -1
  168. package/dist/navigation/NavMenu.svelte +47 -23
  169. package/dist/navigation/NavMenu.svelte.d.ts +29 -0
  170. package/dist/navigation/Pagination.svelte +158 -0
  171. package/dist/navigation/Pagination.svelte.d.ts +18 -0
  172. package/dist/navigation/SideNav.svelte +30 -25
  173. package/dist/navigation/SideNav.svelte.d.ts +2 -3
  174. package/dist/navigation/Tabs.svelte +17 -7
  175. package/dist/navigation/Tabs.svelte.d.ts +2 -2
  176. package/dist/navigation/css/bottom-nav.css +279 -257
  177. package/dist/navigation/css/footer-group.css +1 -1
  178. package/dist/navigation/css/footer-nav.css +1 -1
  179. package/dist/navigation/css/nav-menu.css +332 -106
  180. package/dist/navigation/css/pagination.css +74 -0
  181. package/dist/navigation/css/side-nav.css +515 -75
  182. package/dist/navigation/css/tabs.css +246 -52
  183. package/dist/overlay/Command.svelte +340 -0
  184. package/dist/overlay/Command.svelte.d.ts +24 -25
  185. package/dist/overlay/Drawer.svelte +49 -21
  186. package/dist/overlay/Drawer.svelte.d.ts +2 -2
  187. package/dist/overlay/Dropdown.svelte +3 -3
  188. package/dist/overlay/Modal.svelte +51 -16
  189. package/dist/overlay/Modal.svelte.d.ts +3 -3
  190. package/dist/overlay/Toast.svelte +41 -17
  191. package/dist/overlay/Toast.svelte.d.ts +1 -1
  192. package/dist/overlay/Tooltip.svelte +40 -26
  193. package/dist/overlay/Tooltip.svelte.d.ts +2 -2
  194. package/dist/overlay/css/command.css +80 -0
  195. package/dist/overlay/css/drawer.css +63 -24
  196. package/dist/overlay/css/dropdown.css +1 -1
  197. package/dist/overlay/css/hovercard.css +1 -1
  198. package/dist/overlay/css/modal.css +27 -27
  199. package/dist/overlay/css/toast.css +17 -29
  200. package/dist/overlay/css/tooltip.css +83 -66
  201. package/dist/stores/theme.svelte.js +26 -1
  202. package/dist/stores/toast.svelte.d.ts +4 -4
  203. package/dist/stores/toast.svelte.js +2 -2
  204. package/package.json +1 -1
@@ -7,7 +7,7 @@
7
7
  @apply absolute inset-0 bg-overlay;
8
8
  }
9
9
  .drawer {
10
- @apply absolute bg-surface flex flex-col;
10
+ @apply absolute flex flex-col;
11
11
  @apply transition-all duration-300 ease-in-out;
12
12
 
13
13
  &.is-start {
@@ -34,33 +34,68 @@
34
34
  @apply transform translate-x-0! translate-y-0!;
35
35
  }
36
36
 
37
- &.is-ghost {
38
- @apply bg-background text-on-background;
37
+ &.is-soft {
38
+ &.is-primary {
39
+ @apply bg-on-primary text-primary;
40
+ }
41
+ &.is-secondary {
42
+ @apply bg-on-secondary text-secondary;
43
+ }
44
+ &.is-muted {
45
+ @apply bg-muted text-on-muted;
46
+ }
47
+ &.is-success {
48
+ @apply bg-on-success text-success;
49
+ }
50
+ &.is-info {
51
+ @apply bg-on-info text-info;
52
+ }
53
+ &.is-warning {
54
+ @apply bg-on-warning text-warning;
55
+ }
56
+ &.is-danger {
57
+ @apply bg-on-danger text-danger;
58
+ }
59
+ &.is-default {
60
+ @apply bg-background text-on-background;
61
+ }
62
+ &.is-surface {
63
+ @apply bg-surface text-on-surface;
64
+ }
39
65
  }
40
- &.is-surface {
41
- @apply bg-surface text-on-surface;
42
- }
43
- &.is-primary {
44
- @apply bg-on-primary text-primary;
45
- }
46
- &.is-secondary {
47
- @apply bg-on-secondary text-secondary;
48
- }
49
- &.is-muted {
50
- @apply bg-muted text-on-muted;
51
- }
52
- &.is-primary.is-solid {
53
- @apply bg-primary text-on-primary;
54
- }
55
- &.is-secondary.is-solid {
56
- @apply bg-secondary text-on-secondary;
57
- }
58
- &.is-muted.is-solid {
59
- @apply bg-on-muted text-muted;
66
+
67
+ &.is-solid {
68
+ &.is-primary {
69
+ @apply bg-primary text-on-primary;
70
+ }
71
+ &.is-secondary {
72
+ @apply bg-secondary text-on-secondary;
73
+ }
74
+ &.is-muted {
75
+ @apply bg-on-muted text-muted;
76
+ }
77
+ &.is-success {
78
+ @apply bg-success text-on-success;
79
+ }
80
+ &.is-info {
81
+ @apply bg-info text-on-info;
82
+ }
83
+ &.is-warning {
84
+ @apply bg-warning text-on-warning;
85
+ }
86
+ &.is-danger {
87
+ @apply bg-danger text-on-danger;
88
+ }
89
+ &.is-default {
90
+ @apply bg-background text-on-background;
91
+ }
92
+ &.is-surface {
93
+ @apply bg-surface text-on-surface;
94
+ }
60
95
  }
61
96
 
62
97
  .drawer-header {
63
- @apply row gap-3 p-3;
98
+ @apply row gap-3 p-3 pr-12;
64
99
  }
65
100
 
66
101
  .drawer-footer {
@@ -70,6 +105,10 @@
70
105
  .drawer-body {
71
106
  @apply flex min-h-0 flex-1 flex-col gap-3 p-3 overflow-auto;
72
107
  }
108
+
109
+ .drawer-btn-close {
110
+ @apply absolute right-2 top-2;
111
+ }
73
112
  }
74
113
  }
75
114
  }
@@ -4,7 +4,7 @@
4
4
  }
5
5
  .dropdown-popover {
6
6
  @apply overflow-y-auto flex flex-col gap-2 p-2 my-1;
7
- @apply bg-background text-on-background rounded-ui;
7
+ @apply bg-background text-on-background rounded-box;
8
8
  @apply invisible opacity-0 transition-opacity duration-300 ease-in-out;
9
9
  @apply shadow shadow-muted;
10
10
  position: fixed;
@@ -4,7 +4,7 @@
4
4
  }
5
5
  .hovercard-content {
6
6
  @apply overflow-y-auto drop-shadow-sm flex flex-col gap-2 my-1;
7
- @apply bg-background text-on-background border border-muted rounded-ui;
7
+ @apply bg-background text-on-background border border-muted rounded-box;
8
8
  position: fixed;
9
9
  z-index: 9999;
10
10
  }
@@ -6,42 +6,42 @@
6
6
  @apply absolute inset-0 bg-overlay;
7
7
  }
8
8
  .modal {
9
- @apply relative flex flex-col gap-4 md:gap-6 rounded-ui py-4 md:py-6 max-w-[95vw] max-h-[95vh];
9
+ @apply relative flex flex-col rounded-box max-w-[95vw] max-h-[95vh];
10
10
 
11
- &.is-ghost {
12
- @apply bg-background text-on-background;
11
+ &.is-soft {
12
+ &.is-primary { @apply bg-on-primary text-primary; }
13
+ &.is-secondary { @apply bg-on-secondary text-secondary; }
14
+ &.is-muted { @apply bg-muted text-on-muted; }
15
+ &.is-success { @apply bg-on-success text-success; }
16
+ &.is-info { @apply bg-on-info text-info; }
17
+ &.is-warning { @apply bg-on-warning text-warning; }
18
+ &.is-danger { @apply bg-on-danger text-danger; }
19
+ &.is-default { @apply bg-background text-on-background; }
20
+ &.is-surface { @apply bg-surface text-on-surface; }
13
21
  }
14
- &.is-surface {
15
- @apply bg-surface text-on-surface;
16
- }
17
- &.is-primary {
18
- @apply bg-on-primary text-primary;
19
- }
20
- &.is-secondary {
21
- @apply bg-on-secondary text-secondary;
22
- }
23
- &.is-muted {
24
- @apply bg-muted text-on-muted;
25
- }
26
- &.is-primary.is-solid {
27
- @apply bg-primary text-on-primary;
28
- }
29
- &.is-secondary.is-solid {
30
- @apply bg-secondary text-on-secondary;
31
- }
32
- &.is-muted.is-solid {
33
- @apply bg-on-muted text-muted;
22
+
23
+ &.is-solid {
24
+ &.is-primary { @apply bg-primary text-on-primary; }
25
+ &.is-secondary { @apply bg-secondary text-on-secondary; }
26
+ &.is-muted { @apply bg-on-muted text-muted; }
27
+ &.is-success { @apply bg-success text-on-success; }
28
+ &.is-info { @apply bg-info text-on-info; }
29
+ &.is-warning { @apply bg-warning text-on-warning; }
30
+ &.is-danger { @apply bg-danger text-on-danger; }
31
+ &.is-default { @apply bg-background text-on-background; }
32
+ &.is-surface { @apply bg-surface text-on-surface; }
34
33
  }
35
- .modal-content {
36
- @apply px-4 md:px-6 overflow-hidden overflow-y-auto;
34
+
35
+ .modal-body {
36
+ @apply column gap-4 md:gap-6 p-4 md:p-6 overflow-hidden overflow-y-auto;
37
37
  }
38
38
 
39
39
  .modal-header {
40
- @apply grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-4 md:px-6;
40
+ @apply w-full flex justify-between items-center px-4 pt-4 gap-4 md:px-6 md:pt-6 md:gap-6;
41
41
  }
42
42
 
43
43
  .modal-footer {
44
- @apply [.border-t]:pt-4 md:[.border-t]:pt-6 flex items-center px-4 md:px-6;
44
+ @apply w-full flex justify-between items-center px-4 pb-4 gap-4 md:px-6 md:pb-6 md:gap-6;
45
45
  }
46
46
  }
47
47
  .modal-btn-close {
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  .toast {
26
- @apply absolute inset-x-0 flex items-center gap-3 p-4 pointer-events-auto rounded-ui;
26
+ @apply absolute inset-x-0 flex items-center gap-3 p-4 pointer-events-auto rounded-box;
27
27
  @apply transition-all duration-300 ease-out shadow-sm;
28
28
 
29
29
  transform: translateY(calc((var(--toast-total) - var(--toast-index) - 1) * -8px))
@@ -31,36 +31,24 @@
31
31
  opacity: calc(1 - (var(--toast-total) - var(--toast-index) - 1) * 0.2);
32
32
  z-index: calc(50 + var(--toast-index));
33
33
 
34
- &.is-success {
35
- @apply bg-on-success text-success;
36
-
37
- &.is-solid {
38
- @apply bg-success text-on-success;
39
- }
40
- }
41
-
42
- &.is-danger {
43
- @apply bg-on-danger text-danger;
44
-
45
- &.is-solid {
46
- @apply bg-danger text-on-danger;
47
- }
34
+ &.is-soft {
35
+ &.is-primary { @apply bg-on-primary text-primary; }
36
+ &.is-secondary { @apply bg-on-secondary text-secondary; }
37
+ &.is-muted { @apply bg-muted text-on-muted; }
38
+ &.is-success { @apply bg-on-success text-success; }
39
+ &.is-info { @apply bg-on-info text-info; }
40
+ &.is-warning { @apply bg-on-warning text-warning; }
41
+ &.is-danger { @apply bg-on-danger text-danger; }
48
42
  }
49
43
 
50
- &.is-warning {
51
- @apply bg-on-warning text-warning;
52
-
53
- &.is-solid {
54
- @apply bg-warning text-on-warning;
55
- }
56
- }
57
-
58
- &.is-info {
59
- @apply bg-on-info text-info;
60
-
61
- &.is-solid {
62
- @apply bg-info text-on-info;
63
- }
44
+ &.is-solid {
45
+ &.is-primary { @apply bg-primary text-on-primary; }
46
+ &.is-secondary { @apply bg-secondary text-on-secondary; }
47
+ &.is-muted { @apply bg-on-muted text-muted; }
48
+ &.is-success { @apply bg-success text-on-success; }
49
+ &.is-info { @apply bg-info text-on-info; }
50
+ &.is-warning { @apply bg-warning text-on-warning; }
51
+ &.is-danger { @apply bg-danger text-on-danger; }
64
52
  }
65
53
 
66
54
  .toast-icon {
@@ -1,89 +1,106 @@
1
1
  @layer components {
2
+
2
3
  .tooltip {
3
4
  @apply relative w-fit;
4
5
  }
5
6
 
6
7
  .tooltip-popover {
7
8
  @apply flex items-center gap-2 px-3 py-2;
8
- @apply rounded-ui text-sm;
9
+ @apply rounded-box text-sm;
9
10
  @apply invisible opacity-0 transition-opacity duration-300 ease-in-out;
10
11
  @apply shadow shadow-muted;
11
12
  @apply whitespace-nowrap;
12
13
  position: fixed;
13
14
  z-index: 9999;
14
15
  pointer-events: none;
15
- }
16
-
17
- .tooltip-popover.is-active {
18
- @apply visible opacity-100;
19
- }
20
-
21
- .tooltip-popover.is-primary {
22
- @apply bg-on-primary text-primary;
23
- }
24
-
25
- .tooltip-popover.is-solid.is-primary {
26
- @apply bg-primary text-on-primary;
27
- }
28
16
 
29
- .tooltip-popover.is-secondary {
30
- @apply bg-on-secondary text-secondary;
17
+ &.is-active {
18
+ @apply visible opacity-100;
19
+ }
31
20
  }
32
21
 
33
- .tooltip-popover.is-solid.is-secondary {
34
- @apply bg-secondary text-on-secondary;
35
- }
36
-
37
- .tooltip-popover.is-muted {
38
- @apply bg-muted text-on-muted;
39
- }
40
-
41
- .tooltip-popover.is-solid.is-muted {
42
- @apply bg-on-muted text-muted;
43
- }
44
22
 
45
23
  .tooltip-arrow {
46
24
  @apply absolute w-2 h-2 rotate-45;
47
- position: absolute;
48
- }
49
-
50
- .tooltip-arrow.is-primary {
51
- @apply bg-on-primary;
52
- }
53
-
54
- .tooltip-arrow.is-solid.is-primary {
55
- @apply bg-primary;
56
- }
57
-
58
- .tooltip-arrow.is-secondary {
59
- @apply bg-on-secondary;
60
- }
61
-
62
- .tooltip-arrow.is-solid.is-secondary {
63
- @apply bg-secondary;
64
- }
65
-
66
- .tooltip-arrow.is-muted {
67
- @apply bg-muted;
68
- }
69
-
70
- .tooltip-arrow.is-solid.is-muted {
71
- @apply bg-on-muted;
72
- }
73
-
74
- .tooltip-popover.position-top .tooltip-arrow {
75
- @apply -bottom-1 left-1/2 -translate-x-1/2;
76
- }
77
-
78
- .tooltip-popover.position-bottom .tooltip-arrow {
79
- @apply -top-1 left-1/2 -translate-x-1/2;
80
- }
81
-
82
- .tooltip-popover.position-start .tooltip-arrow {
83
- @apply -right-1 top-1/2 -translate-y-1/2;
84
25
  }
85
26
 
86
- .tooltip-popover.position-end .tooltip-arrow {
87
- @apply -left-1 top-1/2 -translate-y-1/2;
27
+ .tooltip-popover {
28
+ &.position-top .tooltip-arrow {
29
+ @apply -bottom-1 left-1/2 -translate-x-1/2;
30
+ }
31
+
32
+ &.position-bottom .tooltip-arrow {
33
+ @apply -top-1 left-1/2 -translate-x-1/2;
34
+ }
35
+
36
+ &.position-start .tooltip-arrow {
37
+ @apply -right-1 top-1/2 -translate-y-1/2;
38
+ }
39
+
40
+ &.position-end .tooltip-arrow {
41
+ @apply -left-1 top-1/2 -translate-y-1/2;
42
+ }
43
+ }
44
+
45
+ .tooltip-popover.is-soft {
46
+ &.is-primary {
47
+ @apply bg-on-primary text-primary;
48
+ & .tooltip-arrow { @apply bg-on-primary; }
49
+ }
50
+ &.is-secondary {
51
+ @apply bg-on-secondary text-secondary;
52
+ & .tooltip-arrow { @apply bg-on-secondary; }
53
+ }
54
+ &.is-muted {
55
+ @apply bg-muted text-on-muted;
56
+ & .tooltip-arrow { @apply bg-muted; }
57
+ }
58
+ &.is-success {
59
+ @apply bg-on-success text-success;
60
+ & .tooltip-arrow { @apply bg-on-success; }
61
+ }
62
+ &.is-info {
63
+ @apply bg-on-info text-info;
64
+ & .tooltip-arrow { @apply bg-on-info; }
65
+ }
66
+ &.is-warning {
67
+ @apply bg-on-warning text-warning;
68
+ & .tooltip-arrow { @apply bg-on-warning; }
69
+ }
70
+ &.is-danger {
71
+ @apply bg-on-danger text-danger;
72
+ & .tooltip-arrow { @apply bg-on-danger; }
73
+ }
74
+ }
75
+
76
+ .tooltip-popover.is-solid {
77
+ &.is-primary {
78
+ @apply bg-primary text-on-primary;
79
+ & .tooltip-arrow { @apply bg-primary; }
80
+ }
81
+ &.is-secondary {
82
+ @apply bg-secondary text-on-secondary;
83
+ & .tooltip-arrow { @apply bg-secondary; }
84
+ }
85
+ &.is-muted {
86
+ @apply bg-on-muted text-muted;
87
+ & .tooltip-arrow { @apply bg-on-muted; }
88
+ }
89
+ &.is-success {
90
+ @apply bg-success text-on-success;
91
+ & .tooltip-arrow { @apply bg-success; }
92
+ }
93
+ &.is-info {
94
+ @apply bg-info text-on-info;
95
+ & .tooltip-arrow { @apply bg-info; }
96
+ }
97
+ &.is-warning {
98
+ @apply bg-warning text-on-warning;
99
+ & .tooltip-arrow { @apply bg-warning; }
100
+ }
101
+ &.is-danger {
102
+ @apply bg-danger text-on-danger;
103
+ & .tooltip-arrow { @apply bg-danger; }
104
+ }
88
105
  }
89
106
  }
@@ -30,7 +30,7 @@ const initializeTheme = () => {
30
30
  }
31
31
  };
32
32
  initializeTheme();
33
- const toggleTheme = () => {
33
+ const switchTheme = () => {
34
34
  themeState = themeState === 'light' ? 'dark' : 'light';
35
35
  isDark = themeState === 'dark';
36
36
  const htmlElement = document.documentElement;
@@ -44,6 +44,31 @@ const toggleTheme = () => {
44
44
  localStorage.setItem(THEME_STORAGE_KEY, themeState);
45
45
  }
46
46
  };
47
+ const toggleTheme = () => {
48
+ if (!document.startViewTransition) {
49
+ switchTheme();
50
+ }
51
+ else {
52
+ document.documentElement.classList.add('theme-transitioning');
53
+ const transition = document.startViewTransition(() => {
54
+ themeState = themeState === 'light' ? 'dark' : 'light';
55
+ isDark = themeState === 'dark';
56
+ const htmlElement = document.documentElement;
57
+ if (isDark) {
58
+ htmlElement.classList.add(DARK_CLASS);
59
+ }
60
+ else {
61
+ htmlElement.classList.remove(DARK_CLASS);
62
+ }
63
+ if (typeof window !== 'undefined') {
64
+ localStorage.setItem(THEME_STORAGE_KEY, themeState);
65
+ }
66
+ });
67
+ transition.finished.finally(() => {
68
+ document.documentElement.classList.remove('theme-transitioning');
69
+ });
70
+ }
71
+ };
47
72
  export const theme = {
48
73
  get state() {
49
74
  return themeState;
@@ -1,13 +1,13 @@
1
- import type { IconName } from '../types.js';
1
+ import type { IconData } from "../index.js";
2
2
  export interface ToastMessage {
3
3
  id: string;
4
- icon?: IconName;
4
+ icon?: IconData;
5
5
  title?: string;
6
6
  description: string;
7
7
  duration?: number;
8
8
  position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
9
- isSolid?: boolean;
10
- status: 'success' | 'danger' | 'info' | 'warning';
9
+ variant?: 'solid' | 'soft';
10
+ color: 'primary' | 'secondary' | 'muted' | 'success' | 'info' | 'danger' | 'warning';
11
11
  }
12
12
  export declare const toast: {
13
13
  readonly messages: ToastMessage[];
@@ -8,11 +8,11 @@ const toastShow = (message) => {
8
8
  id,
9
9
  title: message.title,
10
10
  description: message.description,
11
- status: message.status || 'info',
11
+ color: message.color || 'info',
12
12
  duration: message.duration || 0,
13
13
  icon: message.icon,
14
14
  position: message.position,
15
- isSolid: message.isSolid
15
+ variant: message.variant || 'soft'
16
16
  };
17
17
  toastMessages = [...toastMessages, newMessage];
18
18
  if (newMessage.duration && newMessage.duration > 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ui-svelte",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
4
4
  "author": {
5
5
  "name": "SappsDev",
6
6
  "email": "info@sappsdev.com"