@spear-ai/spectral 1.6.17 → 1.8.0

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 (149) hide show
  1. package/dist/.js +201 -200
  2. package/dist/Accordion.d.ts +13 -15
  3. package/dist/Accordion.js +184 -179
  4. package/dist/Alert/AlertBase.d.ts +7 -7
  5. package/dist/Alert/AlertBase.js +21 -21
  6. package/dist/Alert.d.ts +2 -2
  7. package/dist/Alert.js +31 -31
  8. package/dist/Avatar.d.ts +2 -2
  9. package/dist/Avatar.js +30 -22
  10. package/dist/Badge.d.ts +1 -1
  11. package/dist/Badge.js +3 -2
  12. package/dist/Button.d.ts +3 -3
  13. package/dist/Button.js +108 -46
  14. package/dist/ButtonGroup/ButtonGroupButton.d.ts +1 -1
  15. package/dist/ButtonGroup/ButtonGroupButton.js +5 -5
  16. package/dist/ButtonGroup.d.ts +5 -5
  17. package/dist/ButtonGroup.js +21 -21
  18. package/dist/ButtonIcon.d.ts +2 -2
  19. package/dist/ButtonIcon.js +30 -31
  20. package/dist/Checkbox/CheckboxBase.d.ts +2 -2
  21. package/dist/Checkbox/CheckboxBase.js +50 -57
  22. package/dist/Checkbox.js +15 -19
  23. package/dist/DataCard/Card.d.ts +1 -1
  24. package/dist/DataCard/Card.js +1 -1
  25. package/dist/DataCard.js +1 -1
  26. package/dist/DateTimePicker/Calendar.d.ts +4 -4
  27. package/dist/DateTimePicker/Calendar.js +3 -3
  28. package/dist/DateTimePicker/DateTimeDisplayInput.js +126 -136
  29. package/dist/DateTimePicker/DateTimeInput.js +4 -4
  30. package/dist/DateTimePicker/DateTimeUtils.d.ts +31 -31
  31. package/dist/DateTimePicker/DateTimeUtils.js +139 -197
  32. package/dist/DateTimePicker/TimePicker.d.ts +4 -4
  33. package/dist/DateTimePicker/TimePicker.js +3 -3
  34. package/dist/DateTimePicker.d.ts +5 -5
  35. package/dist/DateTimePicker.js +90 -70
  36. package/dist/Dialog.d.ts +13 -13
  37. package/dist/Dialog.js +57 -84
  38. package/dist/Drawer.d.ts +2 -2
  39. package/dist/Drawer.js +8 -8
  40. package/dist/HoverCard.d.ts +6 -5
  41. package/dist/HoverCard.js +64 -64
  42. package/dist/Icons/PolygonIcon.d.ts +5 -0
  43. package/dist/Icons/PolygonIcon.js +40 -0
  44. package/dist/Icons/index.d.ts +1 -1
  45. package/dist/Icons.js +34 -34
  46. package/dist/IconsAnimated/PanelLeftCloseIcon.js +2 -2
  47. package/dist/IconsAnimated/PanelLeftOpenIcon.js +2 -2
  48. package/dist/Input/InputUtils.d.ts +2 -2
  49. package/dist/Input/InputUtils.js +4 -4
  50. package/dist/Input.d.ts +1 -1
  51. package/dist/Input.js +19 -19
  52. package/dist/InputOTP.d.ts +10 -10
  53. package/dist/InputOTP.js +114 -114
  54. package/dist/Kbd.d.ts +8 -5
  55. package/dist/Kbd.js +85 -20
  56. package/dist/Label.d.ts +4 -2
  57. package/dist/Label.js +3 -3
  58. package/dist/MultiSelect/MultiSelectBase.d.ts +1 -1
  59. package/dist/MultiSelect/MultiSelectBase.js +278 -202
  60. package/dist/MultiSelect.d.ts +6 -6
  61. package/dist/MultiSelect.js +9 -9
  62. package/dist/Popover.js +22 -237
  63. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +11 -11
  64. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +28 -28
  65. package/dist/RadioButtonGroup.d.ts +1 -1
  66. package/dist/RadioGroup.d.ts +15 -15
  67. package/dist/RadioGroup.js +253 -236
  68. package/dist/Select.d.ts +3 -1
  69. package/dist/Select.js +91 -88
  70. package/dist/Separator.js +4 -4
  71. package/dist/Skeleton.d.ts +1 -2
  72. package/dist/Skeleton.js +2 -4
  73. package/dist/Slider.d.ts +6 -6
  74. package/dist/Slider.js +78 -78
  75. package/dist/Switch/SwitchBase.d.ts +4 -4
  76. package/dist/Switch/SwitchBase.js +75 -111
  77. package/dist/Switch.d.ts +4 -4
  78. package/dist/Switch.js +122 -33
  79. package/dist/Tabs/TabsBase.js +39 -38
  80. package/dist/Tabs/tabsUtils.js +7 -7
  81. package/dist/Tabs.d.ts +0 -4
  82. package/dist/Tabs.js +62 -66
  83. package/dist/Textarea/TextareaUtils.d.ts +7 -7
  84. package/dist/Textarea/TextareaUtils.js +13 -13
  85. package/dist/Textarea.js +28 -18
  86. package/dist/Toast.d.ts +43 -0
  87. package/dist/Toast.js +883 -0
  88. package/dist/Toggle/ToggleBase.d.ts +4 -4
  89. package/dist/Toggle/ToggleBase.js +32 -33
  90. package/dist/Toggle.d.ts +1 -1
  91. package/dist/Toggle.js +7 -12
  92. package/dist/ToggleGroup/ToggleGroupBase.d.ts +5 -5
  93. package/dist/ToggleGroup/ToggleGroupBase.js +30 -30
  94. package/dist/ToggleGroup.d.ts +1 -1
  95. package/dist/ToggleGroup.js +27 -30
  96. package/dist/Tooltip.d.ts +1 -1
  97. package/dist/Tooltip.js +97 -97
  98. package/dist/Tray.d.ts +9 -9
  99. package/dist/Tray.js +71 -70
  100. package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
  101. package/dist/hooks/useAccordionAutoScroll.js +42 -39
  102. package/dist/hooks/useControllableState.d.ts +2 -2
  103. package/dist/hooks/useControllableState.d.ts.map +1 -1
  104. package/dist/hooks/useControllableState.js +2 -2
  105. package/dist/index-C12FUuIW.js +13 -0
  106. package/dist/{index-yU8jOTzS.js → index-CpovUAO-.js} +1 -1
  107. package/dist/{index-BdS7Ix8W.js → index-CqbPiOid.js} +1 -1
  108. package/dist/{index-B3UpsZ2x.js → index-CrjD9cAD.js} +1 -1
  109. package/dist/index-DEYs15GP.js +66 -0
  110. package/dist/index-DdFoGvON.js +146 -0
  111. package/dist/index-Q3N6lgwg.js +225 -0
  112. package/dist/index.d.ts +3 -3
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/primitives/button.d.ts +1 -1
  115. package/dist/primitives/button.js +4 -4
  116. package/dist/primitives/input.d.ts.map +1 -1
  117. package/dist/primitives/input.js +8 -5
  118. package/dist/primitives/select.d.ts +12 -13
  119. package/dist/primitives/select.d.ts.map +1 -1
  120. package/dist/primitives/select.js +59 -88
  121. package/dist/primitives/slot.d.ts +5 -5
  122. package/dist/primitives/slot.d.ts.map +1 -1
  123. package/dist/primitives/slot.js +24 -33
  124. package/dist/primitives/textarea.d.ts.map +1 -1
  125. package/dist/primitives/textarea.js +4 -3
  126. package/dist/{proxy-Cukf-VVj.js → proxy-CgaCj1WQ.js} +7 -3
  127. package/dist/styles/base-colors.css +30 -30
  128. package/dist/styles/horizon/base-colors.css +30 -30
  129. package/dist/styles/horizon/colors.css +43 -13
  130. package/dist/styles/horizon/utilities.css +26 -3
  131. package/dist/styles/main.css +1 -1
  132. package/dist/styles/spectral.css +2 -2
  133. package/dist/styles/theme.css +99 -46
  134. package/dist/{use-animation-zNd5Nq85.js → use-animation-CR-SdV2l.js} +1 -1
  135. package/dist/utils/formFieldUtils.d.ts +2 -2
  136. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  137. package/dist/utils/formFieldUtils.js +14 -11
  138. package/dist/utils/sharedUtils.d.ts +3 -3
  139. package/dist/utils/sharedUtils.d.ts.map +1 -1
  140. package/dist/utils/sharedUtils.js +1 -4
  141. package/dist/utils/twUtils.d.ts +1 -1
  142. package/dist/utils/twUtils.d.ts.map +1 -1
  143. package/dist/utils/twUtils.js +1 -4
  144. package/package.json +6 -1
  145. package/dist/Icons/LineToolIcon2.d.ts +0 -5
  146. package/dist/Icons/LineToolIcon2.js +0 -49
  147. package/dist/createLucideIcon-D4r5Phnh.js +0 -70
  148. package/dist/index-CeP1E2kK.js +0 -209
  149. package/dist/index-Dy-Hzr7y.js +0 -13
@@ -11,7 +11,7 @@
11
11
  --horizon-color-transparent: oklch(0 0 0 / 0%);
12
12
  --horizon-color-accent: oklch(92.53% 0.1976 123.38);
13
13
 
14
- --horizon-color-neutral-50: oklch(97.64% 0.001 286.38);
14
+ --horizon-color-neutral-50: oklch(98.5% 0 0);
15
15
  --horizon-color-neutral-100: oklch(92.19% 0 0);
16
16
  --horizon-color-neutral-200: oklch(86.99% 0 0);
17
17
  --horizon-color-neutral-300: oklch(79.03% 0 0);
@@ -23,17 +23,17 @@
23
23
  --horizon-color-neutral-900: oklch(26.86% 0 0);
24
24
  --horizon-color-neutral-950: oklch(21.78% 0 0);
25
25
 
26
- --horizon-color-primary-50: oklch(86.49% 0.057 257.62);
27
- --horizon-color-primary-100: oklch(80.86% 0.0808 257.62);
28
- --horizon-color-primary-200: oklch(75.06% 0.105 257.62);
29
- --horizon-color-primary-300: oklch(70.52% 0.1303 257.62);
30
- --horizon-color-primary-400: oklch(63.46% 0.1376 257.62);
31
- --horizon-color-primary-500: oklch(56.4% 0.1372 257.6);
32
- --horizon-color-primary-600: oklch(48.67% 0.1372 257.6);
33
- --horizon-color-primary-700: oklch(42.85% 0.1372 257.6);
34
- --horizon-color-primary-800: oklch(37.8% 0.1372 257.6);
35
- --horizon-color-primary-900: oklch(33.76% 0.1213 257.3);
36
- --horizon-color-primary-950: oklch(27.61% 0.101 257.73);
26
+ --horizon-color-primary-50: oklch(97.37% 0.01 238.00);
27
+ --horizon-color-primary-100: oklch(93.88% 0.03 242.35);
28
+ --horizon-color-primary-200: oklch(89.30% 0.06 242.83);
29
+ --horizon-color-primary-300: oklch(83.05% 0.09 240.33);
30
+ --horizon-color-primary-400: oklch(74.57% 0.14 245.84);
31
+ --horizon-color-primary-500: oklch(66.23% 0.18 254.28);
32
+ --horizon-color-primary-600: oklch(58.57% 0.21 259.12);
33
+ --horizon-color-primary-700: oklch(52.25% 0.21 261.44);
34
+ --horizon-color-primary-800: oklch(42.44% 0.17 262.29);
35
+ --horizon-color-primary-900: oklch(39.88% 0.14 261.51);
36
+ --horizon-color-primary-950: oklch(29.27% 0.09 263.49);
37
37
 
38
38
  --horizon-color-level-zero: oklch(23.78% 0 0);
39
39
  --horizon-color-level-one: oklch(26.94% 0 0);
@@ -42,26 +42,26 @@
42
42
  --horizon-color-level-four: oklch(35.71% 0 0);
43
43
  --horizon-color-level-five: oklch(38.62% 0 0);
44
44
 
45
- --horizon-color-success-50: oklch(99% 0.1049 144);
46
- --horizon-color-success-100: oklch(94% 0.1649 144);
47
- --horizon-color-success-200: oklch(92% 0.2424 144);
48
- --horizon-color-success-300: oklch(82% 0.2424 144);
49
- --horizon-color-success-400: oklch(76% 0.2424 144);
50
- --horizon-color-success-500: oklch(66% 0.2424 144);
45
+ --horizon-color-success-50: oklch(96.2% 0.044 156.743);
46
+ --horizon-color-success-100: oklch(92.5% 0.084 155.995);
47
+ --horizon-color-success-200: oklch(87.1% 0.15 154.449);
48
+ --horizon-color-success-300: oklch(79.2% 0.209 151.711);
49
+ --horizon-color-success-400: oklch(72.3% 0.219 149.579);
50
+ --horizon-color-success-500: oklch(62.7% 0.194 149.214);
51
51
 
52
- --horizon-color-warning-50: oklch(94% 0.0442 56.91);
53
- --horizon-color-warning-100: oklch(91% 0.095 52.355);
54
- --horizon-color-warning-200: oklch(84.9% 0.144 52.438);
55
- --horizon-color-warning-300: oklch(75% 0.2036 56.91);
56
- --horizon-color-warning-400: oklch(71.06% 0.19 46.76);
57
- --horizon-color-warning-500: oklch(70.5% 0.213 47.604);
52
+ --horizon-color-warning-50: oklch(95.4% 0.038 75.164);
53
+ --horizon-color-warning-100: oklch(90.1% 0.076 70.697);
54
+ --horizon-color-warning-200: oklch(83.7% 0.128 66.29);
55
+ --horizon-color-warning-300: oklch(75% 0.183 55.934);
56
+ --horizon-color-warning-400: oklch(70.5% 0.213 47.604);
57
+ --horizon-color-warning-500: oklch(64.6% 0.222 41.116);
58
58
 
59
- --horizon-color-danger-50: oklch(88.5% 0.0603 18.334);
60
- --horizon-color-danger-100: oklch(80.53% 0.1109 19.78);
61
- --horizon-color-danger-200: oklch(63.94% 0.2459 28.47);
62
- --horizon-color-danger-300: oklch(58.3% 0.2383 28.47);
63
- --horizon-color-danger-400: oklch(53.39% 0.2181 28.47);
64
- --horizon-color-danger-500: oklch(48.54% 0.1986 28.47);
59
+ --horizon-color-danger-50: oklch(93.6% 0.032 17.717);
60
+ --horizon-color-danger-100: oklch(88.5% 0.062 18.334);
61
+ --horizon-color-danger-200: oklch(80.8% 0.114 19.571);
62
+ --horizon-color-danger-300: oklch(70.4% 0.191 22.216);
63
+ --horizon-color-danger-400: oklch(57.7% 0.245 27.325);
64
+ --horizon-color-danger-500: oklch(50.5% 0.213 27.518);
65
65
  }
66
66
 
67
67
  :root[data-theme='light'] {
@@ -72,7 +72,7 @@
72
72
  /* ============================================
73
73
  * Semantic Color Tokens (@theme for Tailwind)
74
74
  * ============================================ */
75
- /* dark default */
75
+ /* dark (default) */
76
76
  @theme {
77
77
  --color-background: var(--horizon-color-neutral-950);
78
78
 
@@ -80,14 +80,12 @@
80
80
  --color-text-inverted: var(--horizon-color-neutral-950);
81
81
  --color-text-secondary: var(--horizon-color-neutral-300);
82
82
  --color-text-disabled: var(--horizon-color-neutral-600);
83
- --color-text-accent-primary: var(--horizon-color-primary-500);
84
- --color-text-accent-secondary: var(--horizon-color-primary-300);
85
83
 
86
84
  --color-border-primary: var(--horizon-color-neutral-900);
87
85
  --color-border-secondary: var(--horizon-color-neutral-700);
88
86
 
89
87
  --color-accent: var(--horizon-color-accent);
90
- --color-selected-primary: var(--horizon-color-primary-700);
88
+ --color-selected-primary: var(--horizon-color-primary-600);
91
89
  --color-divider-primary: var(--horizon-color-level-four);
92
90
  --color-overlay: color-mix(in oklab, var(--horizon-color-neutral-950) 40%, transparent);
93
91
 
@@ -131,13 +129,13 @@
131
129
  --color-alert-danger-bg: var(--horizon-color-danger-50);
132
130
  --color-alert-danger-border: var(--horizon-color-danger-500);
133
131
  --color-alert-danger-text: var(--horizon-color-danger-500);
134
- --color-alert-info-bg: var(--horizon-color-primary-100);
132
+ --color-alert-info-bg: var(--horizon-color-primary-50);
135
133
  --color-alert-info-border: var(--horizon-color-primary-700);
136
134
  --color-alert-info-text: var(--horizon-color-primary-700);
137
135
 
138
136
  --color-badge-primary-bg: var(--horizon-color-level-five);
139
137
  --color-badge-primary-bg--hover: var(--horizon-color-level-four);
140
- --color-badge-primary-bg--active: var(--horizon-color-primary-800);
138
+ --color-badge-primary-bg--active: var(--horizon-color-primary-600);
141
139
  --color-badge-primary-border: var(--horizon-color-level-five);
142
140
  --color-badge-secondary-bg: var(--horizon-color-accent);
143
141
  --color-badge-secondary-border: var(--horizon-color-accent);
@@ -229,6 +227,10 @@
229
227
  --color-radio-border--hover: var(--horizon-color-accent);
230
228
  --color-radio-border--selected: var(--horizon-color-accent);
231
229
 
230
+ --color-radio-tile-border: color-mix(in oklab, var(--horizon-color-white) 10%, transparent);
231
+ --color-radio-tile-border--hover: var(--horizon-color-neutral-300);
232
+ --color-radio-tile-border--selected: var(--horizon-color-accent);
233
+
232
234
  --color-select-item-bg--hover: var(--horizon-color-level-four);
233
235
 
234
236
  --color-slider-track: var(--horizon-color-neutral-700);
@@ -237,9 +239,10 @@
237
239
  --color-slider-thumb-bg: var(--horizon-color-neutral-50);
238
240
  --color-slider-thumb-ring: var(--horizon-color-neutral-50);
239
241
 
240
- --color-switch-bg: var(--horizon-color-neutral-500);
241
- --color-switch-bg--checked: var(--horizon-color-success-500);
242
+ --color-switch-bg: var(--horizon-color-neutral-700);
243
+ --color-switch-bg--checked: var(--horizon-color-white);
242
244
  --color-switch-thumb: var(--horizon-color-neutral-950);
245
+ --color-switch-thumb--checked: var(--horizon-color-white);
243
246
 
244
247
  --color-tabs-bg: var(--horizon-color-level-one);
245
248
  --color-tabs-group-bg: var(--horizon-color-level-one);
@@ -247,21 +250,48 @@
247
250
  --color-tabs-enclosed-indicator: var(--horizon-color-level-two);
248
251
  --color-tabs-border: var(--horizon-color-level-four);
249
252
 
253
+ --color-toast-bg: var(--horizon-color-level-one);
254
+ --color-toast-border: var(--horizon-color-level-four);
255
+ --color-toast-text: var(--horizon-color-neutral-50);
256
+ --color-toast-icon: var(--horizon-color-neutral-50);
257
+
258
+ --color-toast-success-bg: color-mix(in oklab, var(--horizon-color-success-400) 10%, var(--horizon-color-neutral-950));
259
+ --color-toast-success-border: var(--horizon-color-success-400);
260
+ --color-toast-success-text: var(--horizon-color-success-400);
261
+ --color-toast-success-icon: var(--horizon-color-success-400);
262
+
263
+ --color-toast-warning-bg: color-mix(in oklab, var(--horizon-color-warning-400) 10%, var(--horizon-color-neutral-950));
264
+ --color-toast-warning-border: var(--horizon-color-warning-400);
265
+ --color-toast-warning-text: var(--horizon-color-warning-400);
266
+ --color-toast-warning-icon: var(--horizon-color-warning-400);
267
+
268
+ --color-toast-danger-bg: color-mix(in oklab, var(--horizon-color-danger-400) 10%, var(--horizon-color-neutral-950));
269
+ --color-toast-danger-border: var(--horizon-color-danger-400);
270
+ --color-toast-danger-text: var(--horizon-color-danger-400);
271
+ --color-toast-danger-icon: var(--horizon-color-danger-400);
272
+
273
+ --color-toast-info-bg: color-mix(in oklab, var(--horizon-color-primary-400) 10%, var(--horizon-color-neutral-950));
274
+ --color-toast-info-border: var(--horizon-color-primary-400);
275
+ --color-toast-info-text: var(--horizon-color-primary-400);
276
+ --color-toast-info-icon: var(--horizon-color-primary-400);
277
+
250
278
  --color-toggle-bg: var(--horizon-color-level-two);
251
- --color-toggle-bg--active: var(--horizon-color-primary-700);
279
+ --color-toggle-bg--active: var(--horizon-color-primary-500);
252
280
  --color-toggle-bg--hover: var(--horizon-color-level-four);
253
281
  --color-toggle-border: var(--horizon-color-transparent);
254
282
  --color-toggle-border--hover: var(--horizon-color-level-four);
255
- --color-toggle-border--active: var(--horizon-color-primary-700);
283
+ --color-toggle-border--active: var(--horizon-color-primary-500);
256
284
  --color-toggle-text: var(--horizon-color-neutral-50);
257
285
  --color-toggle-text--hover: var(--horizon-color-neutral-200);
258
286
  --color-toggle-text--active: var(--horizon-color-neutral-50);
259
- --color-toggle-outline-border: var(--horizon-color-transparent);
287
+ --color-toggle-outline-border: var(--horizon-color-neutral-600);
288
+ --color-toggle-outline-border--hover: var(--horizon-color-neutral-400);
260
289
  --color-toggle-group-bg: var(--horizon-color-level-five);
261
290
 
262
291
  --color-tooltip-bg: var(--horizon-color-level-one);
263
- --color-tooltip-border: var(--horizon-color-white);
264
- --color-tooltip-arrow: var(--horizon-color-level-zero);
292
+ --color-tooltip-arrow: var(--horizon-color-level-one);
293
+ --color-tooltip-outline-border: var(--horizon-color-level-four);
294
+ --color-tooltip-outline-arrow: var(--horizon-color-level-four);
265
295
  }
266
296
 
267
297
  /* light theme variant */
@@ -524,6 +554,31 @@
524
554
 
525
555
  @layer utilities {
526
556
 
557
+ a {
558
+ color: var(--color-accent);
559
+ cursor: pointer;
560
+ position: relative;
561
+ text-decoration: none;
562
+ width: max-content;
563
+
564
+ &::before {
565
+ background-color: var(--color-accent);
566
+ border-radius: 0.1rem;
567
+ bottom: -0.2rem;
568
+ content: '';
569
+ height: 0.1rem;
570
+ left: 0;
571
+ position: absolute;
572
+ transform: scaleX(0);
573
+ transition: transform 0.3s ease-in-out;
574
+ width: 100%;
575
+ }
576
+
577
+ &:hover::before {
578
+ transform: scaleX(1);
579
+ }
580
+ }
581
+
527
582
  /* This wrapper class can be used to boost specificity if needed */
528
583
  .spectral-root {
529
584
  isolation: isolate;
@@ -580,9 +635,7 @@
580
635
  }
581
636
 
582
637
  .tooltip-effects {
583
- background: linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0.00) 100%), rgba(38, 38, 38, 0.50);
584
- backdrop-filter: blur(12px);
585
- box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.10) inset, 0 20px 40px 0 rgba(0, 0, 0, 0.25), 0 15px 30px 0 rgba(0, 0, 0, 0.15), 0 5px 10px 0 rgba(0, 0, 0, 0.05);
638
+ box-shadow: 3px 3px 6px 3px rgba(0,0,0,0.3);
586
639
  }
587
640
 
588
641
  .map-card-effects {
@@ -1,4 +1,4 @@
1
- import { a as f, s as u, i as c, u as l, b as h } from "./proxy-Cukf-VVj.js";
1
+ import { a as f, s as u, i as c, u as l, b as h } from "./proxy-CgaCj1WQ.js";
2
2
  function d(t) {
3
3
  t.values.forEach((o) => o.stop());
4
4
  }
@@ -2,7 +2,7 @@ import { KeyboardEvent, ReactNode } from 'react';
2
2
  export type FormFieldState = 'default' | 'error' | 'disabled' | 'loading' | 'success';
3
3
  export interface BaseFormFieldProps {
4
4
  disabled?: boolean;
5
- errorMessage?: string | string[] | Record<string, any> | null;
5
+ errorMessage?: string | string[] | Record<string, unknown> | null;
6
6
  id?: string;
7
7
  label?: string;
8
8
  name?: string;
@@ -67,7 +67,7 @@ export declare const ErrorMessage: ({ className, id, dataTestId, message }: {
67
67
  className?: string;
68
68
  dataTestId?: string;
69
69
  id: string;
70
- message: string | string[] | Record<string, any> | null;
70
+ message: string | string[] | Record<string, unknown> | null;
71
71
  }) => import("react/jsx-runtime").JSX.Element | null;
72
72
  export declare const getOptionClasses: (isDisabled: boolean | undefined, isFocused: boolean, isSelected: boolean) => string;
73
73
  export declare const scrollIntoView: (element: HTMLElement | null) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"formFieldUtils.d.ts","sourceRoot":"","sources":["../../src/utils/formFieldUtils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formFieldUtils.d.ts","sourceRoot":"","sources":["../../src/utils/formFieldUtils.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAmD,MAAM,OAAO,CAAA;AAE3G,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAErF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACjE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,cAAc,KAAG,MASvD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,QAAQ,OAAO,YAAQ,EAAE,OAAO,cAAc,EAAE,YAAY,MAAM,KAAG,MAUtG,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,EAAE,WAAU,KAAK,GAAG,QAAmB,KAAG,MAM3F,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,cAAc,EAAE,YAAY,MAAM,KAAG,MAS3E,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,EAAE,YAAY,MAAM,KAAG,MAS9E,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,MAS3D,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAA4B,CAAA;AAEhF,eAAO,MAAM,YAAY,GAAI,OAAO,cAAc,EAAE,kBAAkB,MAAM,GAAG,SAAS,EAAE,eAAe,OAAO,GAAG,SAAS,EAAE,iBAAiB,MAAM,GAAG,SAAS;;;;CAI/J,CAAA;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;;;;CAKhF,CAAA;AAEF,eAAO,MAAM,iBAAiB,GAAI,WAAW,OAAO,EAAE,QAAO,cAA0B;;;;CAKrF,CAAA;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,WAAW,EAAE,UAAU,MAAM,IAAI,wCAe1E,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,UAAU,EAAE,QAAQ,OAAO,EAAE,aAAa,OAAO,YAAQ,EAAE,SAAS,MAAM,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,eAAe,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;;;2BAwCjN,aAAa,CAAC,WAAW,CAAC,KAAG,MAAM,GAAG,IAAI;;CA2DrD,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,UAAU,EAAE,SAAS,CAAC,EAAE;;;;CAoB9D,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,wBAAqC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,4CAIzG,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,wBAA6C;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,4CAIlH,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,wCAAwC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,mDAmCxL,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,YAAY,OAAO,YAAQ,EAAE,WAAW,OAAO,EAAE,YAAY,OAAO,KAAG,MAOvG,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,GAAG,IAAI,SAIzD,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as p } from "react/jsx-runtime";
3
3
  import { cn as u } from "./twUtils.js";
4
- import { useId as h, useRef as m, useEffect as v, useState as y, useCallback as w } from "react";
4
+ import { useId as m, useRef as y, useEffect as x, useState as w, useCallback as v } from "react";
5
5
  const g = (e) => ({
6
6
  success: "border-success-400 hover:border-success-500 focus-visible:border-success-400 focus-visible:outline-success-400",
7
7
  error: "border-danger-400 hover:border-danger-500 focus-visible:border-danger-400 focus-visible:outline-danger-400",
@@ -31,7 +31,7 @@ const g = (e) => ({
31
31
  g(e),
32
32
  r
33
33
  ), j = (e, r) => {
34
- const o = h();
34
+ const o = m();
35
35
  if (e) return e;
36
36
  const t = r?.trim().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9\-_.:]/g, "");
37
37
  return t ? `${t}-${o}` : o;
@@ -50,16 +50,16 @@ const g = (e) => ({
50
50
  isInvalid: r === "error"
51
51
  // isSuccess: state === 'success', // For future use
52
52
  }), O = (e) => {
53
- const r = m(null);
54
- return v(() => {
53
+ const r = y(null);
54
+ return x(() => {
55
55
  const o = (t) => {
56
56
  r.current && !r.current.contains(t.target) && e();
57
57
  };
58
58
  return document.addEventListener("mousedown", o), () => document.removeEventListener("mousedown", o);
59
59
  }, [e]), r;
60
60
  }, S = (e, r = !1, o, t, s, b) => {
61
- const [d, a] = y(-1);
62
- v(() => {
61
+ const [d, a] = w(-1);
62
+ x(() => {
63
63
  if (e)
64
64
  if (r)
65
65
  a(0);
@@ -70,10 +70,13 @@ const g = (e) => ({
70
70
  else
71
71
  a(-1);
72
72
  }, [e, b, s, r]);
73
- const c = (n, l) => {
74
- let i = n + (l === "down" ? 1 : -1);
75
- return l === "down" ? i = Math.min(i, s.length - 1) : i = Math.max(i, 0), s[i]?.disabled && i !== n ? c(i, l) : i;
76
- }, x = w(
73
+ const c = v(
74
+ (n, l) => {
75
+ let i = n + (l === "down" ? 1 : -1);
76
+ return l === "down" ? i = Math.min(i, s.length - 1) : i = Math.max(i, 0), s[i]?.disabled && i !== n ? c(i, l) : i;
77
+ },
78
+ [s]
79
+ ), h = v(
77
80
  (n) => {
78
81
  if (!e)
79
82
  return ["ArrowDown", "ArrowUp", " ", "Enter"].includes(n.key) ? (n.preventDefault(), "open") : void 0;
@@ -104,7 +107,7 @@ const g = (e) => ({
104
107
  },
105
108
  [s, d, t, o, e, r, c]
106
109
  );
107
- return { focusedIndex: d, setFocusedIndex: a, handleKeyDown: x, isOpen: e };
110
+ return { focusedIndex: d, setFocusedIndex: a, handleKeyDown: h, isOpen: e };
108
111
  }, $ = (e) => {
109
112
  const r = {}, o = [];
110
113
  return e.forEach((t) => {
@@ -1,8 +1,8 @@
1
- export declare function clamp(n: number, min: number, max: number): number;
2
- export type PasswordStrength = {
1
+ export declare const clamp: (n: number, min: number, max: number) => number;
2
+ export interface PasswordStrength {
3
3
  score: number;
4
4
  label: string;
5
5
  color: string;
6
- };
6
+ }
7
7
  export declare const calculatePasswordStrength: (password: string) => PasswordStrength;
8
8
  //# sourceMappingURL=sharedUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sharedUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sharedUtils.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,KAAG,gBAc5D,CAAA"}
1
+ {"version":3,"file":"sharedUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sharedUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE3D,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,KAAG,gBAc5D,CAAA"}
@@ -1,7 +1,4 @@
1
- function r(t, e, l) {
2
- return Math.min(l, Math.max(e, t));
3
- }
4
- const c = (t) => {
1
+ const r = (t, e, l) => Math.min(l, Math.max(e, t)), c = (t) => {
5
2
  let e = 0;
6
3
  return t.length >= 8 && (e += 1), t.length >= 12 && (e += 1), /[a-z]/u.test(t) && /[A-Z]/u.test(t) && (e += 1), /\d/u.test(t) && (e += 1), /[^\da-z]/i.test(t) && (e += 1), e <= 1 ? { score: 1, label: "Weak", color: "#ef4444" } : e === 2 ? { score: 2, label: "Fair", color: "#f97316" } : e === 3 ? { score: 3, label: "Good", color: "#eab308" } : e === 4 ? { score: 4, label: "Strong", color: "#22c55e" } : { score: 5, label: "Excellent", color: "#CDFB50" };
7
4
  };
@@ -1,3 +1,3 @@
1
1
  import { ClassValue } from 'clsx';
2
- export declare function cn(...inputs: ClassValue[]): string;
2
+ export declare const cn: (...inputs: ClassValue[]) => string;
3
3
  //# sourceMappingURL=twUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"twUtils.d.ts","sourceRoot":"","sources":["../../src/utils/twUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
1
+ {"version":3,"file":"twUtils.d.ts","sourceRoot":"","sources":["../../src/utils/twUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,eAAO,MAAM,EAAE,GAAI,GAAG,QAAQ,UAAU,EAAE,KAAG,MAE5C,CAAA"}
@@ -2754,10 +2754,7 @@ const Ge = (e, t) => {
2754
2754
  },
2755
2755
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2756
2756
  };
2757
- }, wo = /* @__PURE__ */ Ke(xo);
2758
- function yo(...e) {
2759
- return wo(Pe(e));
2760
- }
2757
+ }, wo = /* @__PURE__ */ Ke(xo), yo = (...e) => wo(Pe(e));
2761
2758
  export {
2762
2759
  yo as cn
2763
2760
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spear-ai/spectral",
3
- "version": "1.6.17",
3
+ "version": "1.8.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "repository": {
@@ -72,12 +72,14 @@
72
72
  "react-use-measure": "^2.1.7",
73
73
  "sonner": "^2.0.7",
74
74
  "tailwind-merge": "^3.4.0",
75
+ "tailwindcss-animate": "^1.0.7",
75
76
  "unicornstudio-react": "^1.5.2",
76
77
  "vaul": "^1.1.2",
77
78
  "zod": "^4.3.4"
78
79
  },
79
80
  "devDependencies": {
80
81
  "@changesets/cli": "^2.29.8",
82
+ "@github-ui/storybook-addon-performance-panel": "^1.0.1",
81
83
  "@chromatic-com/storybook": "^4.1.3",
82
84
  "@prettier/plugin-oxc": "^0.1.3",
83
85
  "@sentry/react": "^10.32.1",
@@ -104,6 +106,7 @@
104
106
  "glob": "^13.0.0",
105
107
  "http-server": "^14.1.1",
106
108
  "oxlint": "^1.36.0",
109
+ "oxlint-tsgolint": "^0.11.1",
107
110
  "playwright": "^1.57.0",
108
111
  "prettier": "^3.7.4",
109
112
  "prettier-plugin-sort-imports": "^1.8.9",
@@ -134,6 +137,8 @@
134
137
  "build:lib": "pnpm run icons:update && vite build && pnpm run build:css && pnpm run fix:types && pnpm run clean:build-artifacts",
135
138
  "build:css": "node scripts/build-css.js",
136
139
  "pack:dryrun": "pnpm pack --dry-run",
140
+ "check": "tsc --noEmit && pnpm run format && pnpm run lint",
141
+ "fix": "pnpm run format:fix && pnpm run lint:fix",
137
142
  "fix:types": "node scripts/fix-type-paths.js",
138
143
  "analyze:visual": "vite-bundle-visualizer -c vite.config.ts -o ./analyzer/visual.html",
139
144
  "analyze:network": "vite-bundle-visualizer -c vite.config.ts -t network -o ./analyzer/network.html",
@@ -1,5 +0,0 @@
1
- import { IconProps } from './iconTypes';
2
- export declare const LineToolIcon2: (({ ref, className, ariaHidden, title, description, size, ...rest }: IconProps) => import("react/jsx-runtime").JSX.Element) & {
3
- displayName: string;
4
- };
5
- //# sourceMappingURL=LineToolIcon2.d.ts.map
@@ -1,49 +0,0 @@
1
- import "../styles/main.css";
2
- import { jsxs as d, jsx as o } from "react/jsx-runtime";
3
- import k from "./IconBase.js";
4
- const c = ({ ref: r, className: e, ariaHidden: n, title: t, description: C, size: s = 24, ...i }) => /* @__PURE__ */ d(k, { size: s, className: e, title: t, description: C, ariaHidden: n, ref: r, ...i, children: [
5
- /* @__PURE__ */ o(
6
- "path",
7
- {
8
- d: "M2.95239 4.84212C2.95239 5.34464 3.15307 5.82657 3.51028 6.18191C3.8675 6.53724 4.35198 6.73686 4.85715 6.73686C5.36233 6.73686 5.84681 6.53724 6.20402 6.18191C6.56124 5.82657 6.76192 5.34464 6.76192 4.84212C6.76192 4.33961 6.56124 3.85768 6.20402 3.50234C5.84681 3.14701 5.36233 2.94739 4.85715 2.94739C4.35198 2.94739 3.8675 3.14701 3.51028 3.50234C3.15307 3.85768 2.95239 4.33961 2.95239 4.84212Z",
9
- stroke: "currentColor",
10
- strokeWidth: "2",
11
- strokeLinecap: "round",
12
- strokeLinejoin: "round"
13
- }
14
- ),
15
- /* @__PURE__ */ o(
16
- "path",
17
- {
18
- d: "M17.238 17.1579C17.238 17.6604 17.4387 18.1424 17.7959 18.4977C18.1531 18.853 18.6376 19.0527 19.1428 19.0527C19.648 19.0527 20.1325 18.853 20.4897 18.4977C20.8469 18.1424 21.0476 17.6604 21.0476 17.1579C21.0476 16.6554 20.8469 16.1735 20.4897 15.8181C20.1325 15.4628 19.648 15.2632 19.1428 15.2632C18.6376 15.2632 18.1531 15.4628 17.7959 15.8181C17.4387 16.1735 17.238 16.6554 17.238 17.1579Z",
19
- stroke: "currentColor",
20
- strokeWidth: "2",
21
- strokeLinecap: "round",
22
- strokeLinejoin: "round"
23
- }
24
- ),
25
- /* @__PURE__ */ o(
26
- "path",
27
- {
28
- d: "M13.4286 4.84212C13.4286 5.34464 13.6293 5.82657 13.9865 6.18191C14.3437 6.53724 14.8282 6.73686 15.3334 6.73686C15.8385 6.73686 16.323 6.53724 16.6802 6.18191C17.0374 5.82657 17.2381 5.34464 17.2381 4.84212C17.2381 4.33961 17.0374 3.85768 16.6802 3.50234C16.323 3.14701 15.8385 2.94739 15.3334 2.94739C14.8282 2.94739 14.3437 3.14701 13.9865 3.50234C13.6293 3.85768 13.4286 4.33961 13.4286 4.84212Z",
29
- stroke: "currentColor",
30
- strokeWidth: "2",
31
- strokeLinecap: "round",
32
- strokeLinejoin: "round"
33
- }
34
- ),
35
- /* @__PURE__ */ o(
36
- "path",
37
- {
38
- d: "M6.74841 14.6602C6.74841 15.1628 6.94909 15.6447 7.3063 16C7.66352 16.3554 8.148 16.555 8.65317 16.555C9.15835 16.555 9.64283 16.3554 10 16C10.3573 15.6447 10.5579 15.1628 10.5579 14.6602C10.5579 14.1577 10.3573 13.6758 10 13.3205C9.64283 12.9651 9.15835 12.7655 8.65317 12.7655C8.148 12.7655 7.66352 12.9651 7.3063 13.3205C6.94909 13.6758 6.74841 14.1577 6.74841 14.6602Z",
39
- stroke: "currentColor",
40
- strokeWidth: "2",
41
- strokeLinecap: "round",
42
- strokeLinejoin: "round"
43
- }
44
- ),
45
- /* @__PURE__ */ o("path", { d: "M10 13L15.3334 6.73682L19.1429 15.2631M5.80957 7.2105L8 12.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
46
- ] }), a = Object.assign(c, { displayName: "LineToolIcon2" });
47
- export {
48
- a as LineToolIcon2
49
- };
@@ -1,70 +0,0 @@
1
- import { forwardRef as l, createElement as n } from "react";
2
- const w = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), h = (t) => t.replace(
3
- /^([A-Z])|[\s-_]+(\w)/g,
4
- (e, r, o) => o ? o.toUpperCase() : r.toLowerCase()
5
- ), i = (t) => {
6
- const e = h(t);
7
- return e.charAt(0).toUpperCase() + e.slice(1);
8
- }, u = (...t) => t.filter((e, r, o) => !!e && e.trim() !== "" && o.indexOf(e) === r).join(" ").trim(), f = (t) => {
9
- for (const e in t)
10
- if (e.startsWith("aria-") || e === "role" || e === "title")
11
- return !0;
12
- };
13
- var g = {
14
- xmlns: "http://www.w3.org/2000/svg",
15
- width: 24,
16
- height: 24,
17
- viewBox: "0 0 24 24",
18
- fill: "none",
19
- stroke: "currentColor",
20
- strokeWidth: 2,
21
- strokeLinecap: "round",
22
- strokeLinejoin: "round"
23
- };
24
- const A = l(
25
- ({
26
- color: t = "currentColor",
27
- size: e = 24,
28
- strokeWidth: r = 2,
29
- absoluteStrokeWidth: o,
30
- className: s = "",
31
- children: a,
32
- iconNode: p,
33
- ...c
34
- }, m) => n(
35
- "svg",
36
- {
37
- ref: m,
38
- ...g,
39
- width: e,
40
- height: e,
41
- stroke: t,
42
- strokeWidth: o ? Number(r) * 24 / Number(e) : r,
43
- className: u("lucide", s),
44
- ...!a && !f(c) && { "aria-hidden": "true" },
45
- ...c
46
- },
47
- [
48
- ...p.map(([C, d]) => n(C, d)),
49
- ...Array.isArray(a) ? a : [a]
50
- ]
51
- )
52
- );
53
- const k = (t, e) => {
54
- const r = l(
55
- ({ className: o, ...s }, a) => n(A, {
56
- ref: a,
57
- iconNode: e,
58
- className: u(
59
- `lucide-${w(i(t))}`,
60
- `lucide-${t}`,
61
- o
62
- ),
63
- ...s
64
- })
65
- );
66
- return r.displayName = i(t), r;
67
- };
68
- export {
69
- k as c
70
- };