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
@@ -1,258 +1,280 @@
1
1
  @layer components {
2
- .bottomnav {
3
- @apply flex items-center justify-around;
4
- @apply bg-background text-on-background;
5
- @apply border-t border-muted;
6
- @apply shadow-lg;
7
-
8
- &.is-fixed {
9
- @apply fixed bottom-0 left-0 right-0 z-50;
10
- padding-bottom: env(safe-area-inset-bottom);
11
- }
12
-
13
- .bottomnav-item {
14
- @apply flex flex-col items-center justify-center gap-1;
15
- @apply flex-1 py-3 px-2;
16
- @apply cursor-pointer select-none outline-none;
17
- @apply transition-all duration-200;
18
- @apply relative;
19
-
20
- .bottomnav-icon-wrapper {
21
- @apply relative inline-flex;
22
- }
23
-
24
- .bottomnav-icon {
25
- @apply h-6 w-6 shrink-0;
26
- @apply transition-all duration-200;
27
- }
28
-
29
- .bottomnav-label {
30
- @apply text-xs font-medium whitespace-nowrap;
31
- @apply transition-all duration-200;
32
- }
33
-
34
- .bottomnav-badge {
35
- @apply absolute -top-1.5 -right-2;
36
- @apply min-w-4 h-4 px-1;
37
- @apply flex items-center justify-center;
38
- @apply text-[10px] font-bold;
39
- @apply bg-danger text-on-danger;
40
- @apply rounded-full;
41
- }
42
-
43
- &:hover {
44
- @apply bg-muted/50;
45
- }
46
-
47
- /* FAB Style */
48
- &.is-fab {
49
- @apply flex-none;
50
-
51
- &:hover {
52
- @apply bg-transparent;
53
- }
54
-
55
- .bottomnav-icon-wrapper {
56
- @apply w-12 h-12 -mt-6;
57
- @apply flex items-center justify-center;
58
- @apply bg-primary text-on-primary;
59
- @apply rounded-full shadow-lg;
60
- @apply transition-all duration-200;
61
- }
62
-
63
- .bottomnav-icon {
64
- @apply h-6 w-6 text-on-primary;
65
- }
66
-
67
- &:hover .bottomnav-icon-wrapper {
68
- @apply shadow-xl shadow-primary/30;
69
- transform: translateY(-2px);
70
- }
71
-
72
- &:active .bottomnav-icon-wrapper {
73
- transform: translateY(0);
74
- @apply shadow-md;
75
- }
76
- }
77
- }
78
-
79
- /* Size Variants */
80
- &.is-sm {
81
- .bottomnav-item {
82
- @apply gap-0.5 py-2 px-1;
83
-
84
- .bottomnav-icon {
85
- @apply h-5 w-5;
86
- }
87
-
88
- .bottomnav-label {
89
- @apply text-[10px];
90
- }
91
-
92
- &.is-fab .bottomnav-icon-wrapper {
93
- @apply w-10 h-10 -mt-5;
94
- }
95
- }
96
- }
97
-
98
- &.is-md {
99
- .bottomnav-item {
100
- @apply gap-1 py-3 px-2;
101
-
102
- .bottomnav-icon {
103
- @apply h-6 w-6;
104
- }
105
-
106
- .bottomnav-label {
107
- @apply text-xs;
108
- }
109
- }
110
- }
111
-
112
- &.is-lg {
113
- .bottomnav-item {
114
- @apply gap-1.5 py-4 px-3;
115
-
116
- .bottomnav-icon {
117
- @apply h-7 w-7;
118
- }
119
-
120
- .bottomnav-label {
121
- @apply text-sm;
122
- }
123
-
124
- &.is-fab .bottomnav-icon-wrapper {
125
- @apply w-14 h-14 -mt-7;
126
-
127
- .bottomnav-icon {
128
- @apply h-7 w-7;
129
- }
130
- }
131
- }
132
- }
133
-
134
- &.is-icon-only {
135
- .bottomnav-item {
136
- @apply gap-0;
137
-
138
- .bottomnav-icon {
139
- @apply h-7 w-7;
140
- }
141
- }
142
- }
143
-
144
- /* Variant: Primary */
145
- &.is-primary {
146
- .bottomnav-item.is-active {
147
- @apply text-primary;
148
-
149
- .bottomnav-icon {
150
- @apply text-primary;
151
- }
152
-
153
- .bottomnav-label {
154
- @apply text-primary;
155
- }
156
- }
157
-
158
- .bottomnav-item.is-fab .bottomnav-icon-wrapper {
159
- @apply bg-primary;
160
- }
161
- }
162
-
163
- /* Variant: Secondary */
164
- &.is-secondary {
165
- .bottomnav-item.is-active {
166
- @apply text-secondary;
167
-
168
- .bottomnav-icon {
169
- @apply text-secondary;
170
- }
171
-
172
- .bottomnav-label {
173
- @apply text-secondary;
174
- }
175
- }
176
-
177
- .bottomnav-item.is-fab .bottomnav-icon-wrapper {
178
- @apply bg-secondary;
179
- }
180
- }
181
-
182
- /* Variant: Ghost - just color change, no indicator */
183
- &.is-ghost {
184
- .bottomnav-item.is-active {
185
- @apply text-on-surface;
186
-
187
- .bottomnav-icon {
188
- @apply text-on-surface;
189
- }
190
-
191
- .bottomnav-label {
192
- @apply text-on-surface font-semibold;
193
- }
194
- }
195
- }
196
-
197
- /* Variant: Line - underline indicator */
198
- &.is-line {
199
- .bottomnav-item {
200
- &::after {
201
- content: '';
202
- @apply absolute bottom-0 left-1/2 -translate-x-1/2;
203
- @apply w-0 h-0.5 rounded-full;
204
- @apply bg-primary;
205
- @apply transition-all duration-200;
206
- }
207
-
208
- &.is-active {
209
- @apply text-primary;
210
-
211
- .bottomnav-icon {
212
- @apply text-primary;
213
- }
214
-
215
- .bottomnav-label {
216
- @apply text-primary;
217
- }
218
-
219
- &::after {
220
- @apply w-8;
221
- }
222
- }
223
- }
224
- }
225
-
226
- /* Solid modifier - adds background pill on active */
227
- &.is-solid {
228
- .bottomnav-item {
229
- @apply relative isolate;
230
-
231
- &::before {
232
- content: '';
233
- @apply absolute inset-x-2 top-1 bottom-1;
234
- @apply rounded-xl;
235
- @apply bg-transparent;
236
- @apply transition-all duration-200;
237
- z-index: -1;
238
- }
239
- }
240
-
241
- &.is-primary .bottomnav-item.is-active:not(.is-fab)::before {
242
- @apply bg-primary/10;
243
- }
244
-
245
- &.is-secondary .bottomnav-item.is-active:not(.is-fab)::before {
246
- @apply bg-secondary/10;
247
- }
248
-
249
- &.is-ghost .bottomnav-item.is-active:not(.is-fab)::before {
250
- @apply bg-muted;
251
- }
252
-
253
- &.is-line .bottomnav-item.is-active:not(.is-fab)::before {
254
- @apply bg-primary/10;
255
- }
256
- }
257
- }
258
- }
2
+ .bottomnav {
3
+ @apply flex items-center justify-around;
4
+ @apply shadow-lg;
5
+
6
+ &.is-fixed {
7
+ @apply fixed bottom-0 left-0 right-0 z-50;
8
+ padding-bottom: env(safe-area-inset-bottom);
9
+ }
10
+
11
+ &.is-bordered {
12
+ @apply border-t border-muted;
13
+ }
14
+
15
+ &.is-soft {
16
+ &.is-primary {
17
+ @apply bg-on-primary text-primary;
18
+ }
19
+ &.is-secondary {
20
+ @apply bg-on-secondary text-secondary;
21
+ }
22
+ &.is-muted {
23
+ @apply bg-muted text-on-muted;
24
+ }
25
+ &.is-success {
26
+ @apply bg-on-success text-success;
27
+ }
28
+ &.is-info {
29
+ @apply bg-on-info text-info;
30
+ }
31
+ &.is-warning {
32
+ @apply bg-on-warning text-warning;
33
+ }
34
+ &.is-danger {
35
+ @apply bg-on-danger text-danger;
36
+ }
37
+ &.is-default {
38
+ @apply bg-background text-on-background;
39
+ }
40
+ &.is-surface {
41
+ @apply bg-surface text-on-surface;
42
+ }
43
+ }
44
+
45
+ &.is-solid {
46
+ &.is-primary {
47
+ @apply bg-primary text-on-primary;
48
+ }
49
+ &.is-secondary {
50
+ @apply bg-secondary text-on-secondary;
51
+ }
52
+ &.is-muted {
53
+ @apply bg-on-muted text-muted;
54
+ }
55
+ &.is-success {
56
+ @apply bg-success text-on-success;
57
+ }
58
+ &.is-info {
59
+ @apply bg-info text-on-info;
60
+ }
61
+ &.is-warning {
62
+ @apply bg-warning text-on-warning;
63
+ }
64
+ &.is-danger {
65
+ @apply bg-danger text-on-danger;
66
+ }
67
+ &.is-default {
68
+ @apply bg-background text-on-background;
69
+ }
70
+ &.is-surface {
71
+ @apply bg-surface text-on-surface;
72
+ }
73
+ }
74
+
75
+ &.is-blur {
76
+ @apply backdrop-blur-lg;
77
+
78
+ &.is-primary {
79
+ @apply bg-on-primary/80 text-primary;
80
+ }
81
+ &.is-secondary {
82
+ @apply bg-on-secondary/80 text-secondary;
83
+ }
84
+ &.is-muted {
85
+ @apply bg-muted/80 text-on-muted;
86
+ }
87
+ &.is-success {
88
+ @apply bg-on-success/80 text-success;
89
+ }
90
+ &.is-info {
91
+ @apply bg-on-info/80 text-info;
92
+ }
93
+ &.is-warning {
94
+ @apply bg-on-warning/80 text-warning;
95
+ }
96
+ &.is-danger {
97
+ @apply bg-on-danger/80 text-danger;
98
+ }
99
+ &.is-default {
100
+ @apply bg-background/80 text-on-background;
101
+ }
102
+ &.is-surface {
103
+ @apply bg-surface/80 text-on-surface;
104
+ }
105
+ }
106
+
107
+ .bottomnav-item {
108
+ @apply flex flex-col items-center justify-center gap-1;
109
+ @apply flex-1 py-3 px-2;
110
+ @apply cursor-pointer select-none outline-none;
111
+ @apply transition-all duration-300;
112
+ @apply relative;
113
+ @apply text-current opacity-60;
114
+
115
+ &.is-active {
116
+ @apply opacity-100;
117
+ }
118
+
119
+ .bottomnav-icon-wrapper {
120
+ @apply relative inline-flex;
121
+ }
122
+
123
+ .bottomnav-icon {
124
+ @apply h-6 w-6 shrink-0;
125
+ @apply transition-all duration-300;
126
+ }
127
+
128
+ .bottomnav-label {
129
+ @apply text-xs font-medium whitespace-nowrap;
130
+ @apply transition-all duration-300;
131
+ }
132
+
133
+ .bottomnav-badge {
134
+ @apply absolute -top-1.5 -right-2;
135
+ @apply min-w-4 h-4 px-1;
136
+ @apply flex items-center justify-center;
137
+ @apply text-[10px] font-bold;
138
+ @apply bg-danger text-on-danger;
139
+ @apply rounded-full;
140
+ }
141
+
142
+ &:hover {
143
+ @apply opacity-80;
144
+ }
145
+
146
+ &.is-fab {
147
+ @apply flex-none opacity-100;
148
+
149
+ &:hover {
150
+ @apply bg-transparent;
151
+ }
152
+
153
+ .bottomnav-icon-wrapper {
154
+ @apply w-12 h-12 -mt-6;
155
+ @apply flex items-center justify-center;
156
+ @apply bg-primary text-on-primary;
157
+ @apply rounded-full shadow-lg;
158
+ @apply transition-all duration-300;
159
+ }
160
+
161
+ .bottomnav-icon {
162
+ @apply h-6 w-6 text-on-primary;
163
+ }
164
+
165
+ &:hover .bottomnav-icon-wrapper {
166
+ @apply shadow-xl shadow-primary/30;
167
+ transform: translateY(-2px);
168
+ }
169
+
170
+ &:active .bottomnav-icon-wrapper {
171
+ transform: translateY(0);
172
+ @apply shadow-md;
173
+ }
174
+ }
175
+ }
176
+
177
+ &.active-line {
178
+ .bottomnav-item {
179
+ &::after {
180
+ content: '';
181
+ @apply absolute bottom-0 left-1/2 -translate-x-1/2;
182
+ @apply w-0 h-0.5 rounded-full;
183
+ @apply bg-current;
184
+ @apply transition-all duration-300;
185
+ }
186
+
187
+ &.is-active::after {
188
+ @apply w-8;
189
+ }
190
+ }
191
+ }
192
+
193
+ &.active-pill {
194
+ .bottomnav-item {
195
+ @apply relative isolate;
196
+
197
+ &::before {
198
+ content: '';
199
+ @apply absolute inset-x-2 top-1 bottom-1;
200
+ @apply rounded-xl;
201
+ @apply bg-transparent;
202
+ @apply transition-all duration-300;
203
+ z-index: -1;
204
+ }
205
+
206
+ &.is-active:not(.is-fab)::before {
207
+ @apply bg-current/10;
208
+ }
209
+ }
210
+
211
+ &.is-solid .bottomnav-item.is-active:not(.is-fab)::before {
212
+ @apply bg-white/20;
213
+ }
214
+ }
215
+
216
+ &.is-sm {
217
+ .bottomnav-item {
218
+ @apply gap-0.5 py-2 px-1;
219
+
220
+ .bottomnav-icon {
221
+ @apply h-5 w-5;
222
+ }
223
+
224
+ .bottomnav-label {
225
+ @apply text-[10px];
226
+ }
227
+
228
+ &.is-fab .bottomnav-icon-wrapper {
229
+ @apply w-10 h-10 -mt-5;
230
+ }
231
+ }
232
+ }
233
+
234
+ &.is-md {
235
+ .bottomnav-item {
236
+ @apply gap-1 py-3 px-2;
237
+
238
+ .bottomnav-icon {
239
+ @apply h-6 w-6;
240
+ }
241
+
242
+ .bottomnav-label {
243
+ @apply text-xs;
244
+ }
245
+ }
246
+ }
247
+
248
+ &.is-lg {
249
+ .bottomnav-item {
250
+ @apply gap-1.5 py-4 px-3;
251
+
252
+ .bottomnav-icon {
253
+ @apply h-7 w-7;
254
+ }
255
+
256
+ .bottomnav-label {
257
+ @apply text-sm;
258
+ }
259
+
260
+ &.is-fab .bottomnav-icon-wrapper {
261
+ @apply w-14 h-14 -mt-7;
262
+
263
+ .bottomnav-icon {
264
+ @apply h-7 w-7;
265
+ }
266
+ }
267
+ }
268
+ }
269
+
270
+ &.is-icon-only {
271
+ .bottomnav-item {
272
+ @apply gap-0;
273
+
274
+ .bottomnav-icon {
275
+ @apply h-7 w-7;
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
@@ -13,7 +13,7 @@
13
13
 
14
14
  .footer-group-link {
15
15
  @apply text-sm;
16
- @apply transition-colors duration-200;
16
+ @apply transition-colors duration-300;
17
17
  @apply hover:underline;
18
18
  @apply inline-flex items-center gap-1;
19
19
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  .footer-nav-link {
6
6
  @apply text-sm opacity-70;
7
- @apply transition-all duration-200;
7
+ @apply transition-all duration-300;
8
8
  @apply hover:underline;
9
9
  @apply focus:outline-none;
10
10
  @apply cursor-pointer select-none;