@spear-ai/spectral 1.6.16 → 1.7.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 (150) hide show
  1. package/dist/.js +196 -191
  2. package/dist/Accordion.d.ts +13 -15
  3. package/dist/Accordion.js +172 -165
  4. package/dist/Alert/AlertBase.d.ts +7 -7
  5. package/dist/Alert/AlertBase.js +23 -21
  6. package/dist/Alert.d.ts +2 -2
  7. package/dist/Alert.js +32 -30
  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 +31 -30
  20. package/dist/Checkbox/CheckboxBase.d.ts +2 -2
  21. package/dist/Checkbox/CheckboxBase.js +50 -57
  22. package/dist/Checkbox.js +16 -18
  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 +4 -2
  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 +96 -74
  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/LineToolIcon.js +37 -10
  43. package/dist/Icons/MeasureIcon.d.ts +5 -0
  44. package/dist/Icons/MeasureIcon.js +26 -0
  45. package/dist/Icons/SearchIcon.d.ts +5 -0
  46. package/dist/Icons/SearchIcon.js +10 -0
  47. package/dist/Icons/index.d.ts +2 -0
  48. package/dist/Icons.js +76 -72
  49. package/dist/IconsAnimated/PanelLeftCloseIcon.js +2 -2
  50. package/dist/IconsAnimated/PanelLeftOpenIcon.js +2 -2
  51. package/dist/Input/InputUtils.d.ts +2 -2
  52. package/dist/Input/InputUtils.js +4 -4
  53. package/dist/Input.d.ts +1 -1
  54. package/dist/Input.js +31 -29
  55. package/dist/InputOTP.d.ts +10 -10
  56. package/dist/InputOTP.js +125 -123
  57. package/dist/Kbd.d.ts +8 -5
  58. package/dist/Kbd.js +85 -20
  59. package/dist/Label.d.ts +4 -2
  60. package/dist/Label.js +3 -3
  61. package/dist/MultiSelect/MultiSelectBase.d.ts +1 -1
  62. package/dist/MultiSelect/MultiSelectBase.js +278 -200
  63. package/dist/MultiSelect.d.ts +6 -6
  64. package/dist/MultiSelect.js +9 -9
  65. package/dist/Popover.js +22 -237
  66. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +11 -11
  67. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +28 -28
  68. package/dist/RadioButtonGroup.d.ts +1 -1
  69. package/dist/RadioGroup.d.ts +15 -15
  70. package/dist/RadioGroup.js +253 -236
  71. package/dist/Select.d.ts +3 -1
  72. package/dist/Select.js +92 -87
  73. package/dist/Separator.js +4 -4
  74. package/dist/Skeleton.d.ts +1 -2
  75. package/dist/Skeleton.js +2 -4
  76. package/dist/Slider.d.ts +6 -6
  77. package/dist/Slider.js +78 -78
  78. package/dist/Switch/SwitchBase.d.ts +4 -4
  79. package/dist/Switch/SwitchBase.js +68 -68
  80. package/dist/Switch.d.ts +3 -3
  81. package/dist/Switch.js +9 -9
  82. package/dist/Tabs/TabsBase.js +39 -38
  83. package/dist/Tabs/tabsUtils.js +7 -7
  84. package/dist/Tabs.d.ts +0 -4
  85. package/dist/Tabs.js +62 -66
  86. package/dist/Textarea/TextareaUtils.d.ts +7 -7
  87. package/dist/Textarea/TextareaUtils.js +13 -13
  88. package/dist/Textarea.js +34 -22
  89. package/dist/Toast.d.ts +43 -0
  90. package/dist/Toast.js +883 -0
  91. package/dist/Toggle/ToggleBase.d.ts +4 -4
  92. package/dist/Toggle/ToggleBase.js +32 -33
  93. package/dist/Toggle.d.ts +1 -1
  94. package/dist/Toggle.js +7 -12
  95. package/dist/ToggleGroup/ToggleGroupBase.d.ts +5 -5
  96. package/dist/ToggleGroup/ToggleGroupBase.js +30 -30
  97. package/dist/ToggleGroup.d.ts +1 -1
  98. package/dist/ToggleGroup.js +27 -30
  99. package/dist/Tooltip.d.ts +1 -1
  100. package/dist/Tooltip.js +97 -97
  101. package/dist/Tray.d.ts +9 -9
  102. package/dist/Tray.js +77 -74
  103. package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
  104. package/dist/hooks/useAccordionAutoScroll.js +42 -39
  105. package/dist/hooks/useControllableState.d.ts +2 -2
  106. package/dist/hooks/useControllableState.d.ts.map +1 -1
  107. package/dist/hooks/useControllableState.js +2 -2
  108. package/dist/index-C12FUuIW.js +13 -0
  109. package/dist/{index-yU8jOTzS.js → index-CpovUAO-.js} +1 -1
  110. package/dist/{index-BdS7Ix8W.js → index-CqbPiOid.js} +1 -1
  111. package/dist/{index-B3UpsZ2x.js → index-CrjD9cAD.js} +1 -1
  112. package/dist/index-DEYs15GP.js +66 -0
  113. package/dist/index-DdFoGvON.js +146 -0
  114. package/dist/index-Q3N6lgwg.js +225 -0
  115. package/dist/index.d.ts +3 -3
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/primitives/button.d.ts +1 -1
  118. package/dist/primitives/button.js +4 -4
  119. package/dist/primitives/input.d.ts.map +1 -1
  120. package/dist/primitives/input.js +8 -5
  121. package/dist/primitives/select.d.ts +12 -13
  122. package/dist/primitives/select.d.ts.map +1 -1
  123. package/dist/primitives/select.js +68 -95
  124. package/dist/primitives/slot.d.ts +5 -5
  125. package/dist/primitives/slot.d.ts.map +1 -1
  126. package/dist/primitives/slot.js +24 -33
  127. package/dist/primitives/textarea.d.ts.map +1 -1
  128. package/dist/primitives/textarea.js +4 -3
  129. package/dist/{proxy-Cukf-VVj.js → proxy-CgaCj1WQ.js} +7 -3
  130. package/dist/styles/base-colors.css +30 -30
  131. package/dist/styles/horizon/base-colors.css +30 -30
  132. package/dist/styles/horizon/colors.css +40 -11
  133. package/dist/styles/horizon/utilities.css +26 -3
  134. package/dist/styles/main.css +1 -1
  135. package/dist/styles/spectral.css +1 -1
  136. package/dist/styles/theme.css +96 -44
  137. package/dist/{use-animation-zNd5Nq85.js → use-animation-CR-SdV2l.js} +1 -1
  138. package/dist/utils/formFieldUtils.d.ts +2 -2
  139. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  140. package/dist/utils/formFieldUtils.js +14 -11
  141. package/dist/utils/sharedUtils.d.ts +3 -3
  142. package/dist/utils/sharedUtils.d.ts.map +1 -1
  143. package/dist/utils/sharedUtils.js +1 -4
  144. package/dist/utils/twUtils.d.ts +1 -1
  145. package/dist/utils/twUtils.d.ts.map +1 -1
  146. package/dist/utils/twUtils.js +1 -4
  147. package/package.json +5 -1
  148. package/dist/createLucideIcon-D4r5Phnh.js +0 -70
  149. package/dist/index-CeP1E2kK.js +0 -209
  150. 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);
@@ -247,21 +249,48 @@
247
249
  --color-tabs-enclosed-indicator: var(--horizon-color-level-two);
248
250
  --color-tabs-border: var(--horizon-color-level-four);
249
251
 
252
+ --color-toast-bg: var(--horizon-color-level-one);
253
+ --color-toast-border: var(--horizon-color-level-four);
254
+ --color-toast-text: var(--horizon-color-neutral-50);
255
+ --color-toast-icon: var(--horizon-color-neutral-50);
256
+
257
+ --color-toast-success-bg: color-mix(in oklab, var(--horizon-color-success-400) 10%, var(--horizon-color-neutral-950));
258
+ --color-toast-success-border: var(--horizon-color-success-400);
259
+ --color-toast-success-text: var(--horizon-color-success-400);
260
+ --color-toast-success-icon: var(--horizon-color-success-400);
261
+
262
+ --color-toast-warning-bg: color-mix(in oklab, var(--horizon-color-warning-400) 10%, var(--horizon-color-neutral-950));
263
+ --color-toast-warning-border: var(--horizon-color-warning-400);
264
+ --color-toast-warning-text: var(--horizon-color-warning-400);
265
+ --color-toast-warning-icon: var(--horizon-color-warning-400);
266
+
267
+ --color-toast-danger-bg: color-mix(in oklab, var(--horizon-color-danger-400) 10%, var(--horizon-color-neutral-950));
268
+ --color-toast-danger-border: var(--horizon-color-danger-400);
269
+ --color-toast-danger-text: var(--horizon-color-danger-400);
270
+ --color-toast-danger-icon: var(--horizon-color-danger-400);
271
+
272
+ --color-toast-info-bg: color-mix(in oklab, var(--horizon-color-primary-400) 10%, var(--horizon-color-neutral-950));
273
+ --color-toast-info-border: var(--horizon-color-primary-400);
274
+ --color-toast-info-text: var(--horizon-color-primary-400);
275
+ --color-toast-info-icon: var(--horizon-color-primary-400);
276
+
250
277
  --color-toggle-bg: var(--horizon-color-level-two);
251
- --color-toggle-bg--active: var(--horizon-color-primary-700);
278
+ --color-toggle-bg--active: var(--horizon-color-primary-500);
252
279
  --color-toggle-bg--hover: var(--horizon-color-level-four);
253
280
  --color-toggle-border: var(--horizon-color-transparent);
254
281
  --color-toggle-border--hover: var(--horizon-color-level-four);
255
- --color-toggle-border--active: var(--horizon-color-primary-700);
282
+ --color-toggle-border--active: var(--horizon-color-primary-500);
256
283
  --color-toggle-text: var(--horizon-color-neutral-50);
257
284
  --color-toggle-text--hover: var(--horizon-color-neutral-200);
258
285
  --color-toggle-text--active: var(--horizon-color-neutral-50);
259
- --color-toggle-outline-border: var(--horizon-color-transparent);
286
+ --color-toggle-outline-border: var(--horizon-color-neutral-600);
287
+ --color-toggle-outline-border--hover: var(--horizon-color-neutral-400);
260
288
  --color-toggle-group-bg: var(--horizon-color-level-five);
261
289
 
262
290
  --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);
291
+ --color-tooltip-arrow: var(--horizon-color-level-one);
292
+ --color-tooltip-outline-border: var(--horizon-color-level-four);
293
+ --color-tooltip-outline-arrow: var(--horizon-color-level-four);
265
294
  }
266
295
 
267
296
  /* light theme variant */
@@ -524,6 +553,31 @@
524
553
 
525
554
  @layer utilities {
526
555
 
556
+ a {
557
+ color: var(--color-accent);
558
+ cursor: pointer;
559
+ position: relative;
560
+ text-decoration: none;
561
+ width: max-content;
562
+
563
+ &::before {
564
+ background-color: var(--color-accent);
565
+ border-radius: 0.1rem;
566
+ bottom: -0.2rem;
567
+ content: '';
568
+ height: 0.1rem;
569
+ left: 0;
570
+ position: absolute;
571
+ transform: scaleX(0);
572
+ transition: transform 0.3s ease-in-out;
573
+ width: 100%;
574
+ }
575
+
576
+ &:hover::before {
577
+ transform: scaleX(1);
578
+ }
579
+ }
580
+
527
581
  /* This wrapper class can be used to boost specificity if needed */
528
582
  .spectral-root {
529
583
  isolation: isolate;
@@ -580,9 +634,7 @@
580
634
  }
581
635
 
582
636
  .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);
637
+ box-shadow: 3px 3px 6px 3px rgba(0,0,0,0.3);
586
638
  }
587
639
 
588
640
  .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":"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"}
@@ -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.16",
3
+ "version": "1.7.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "repository": {
@@ -72,6 +72,7 @@
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"
@@ -104,6 +105,7 @@
104
105
  "glob": "^13.0.0",
105
106
  "http-server": "^14.1.1",
106
107
  "oxlint": "^1.36.0",
108
+ "oxlint-tsgolint": "^0.11.1",
107
109
  "playwright": "^1.57.0",
108
110
  "prettier": "^3.7.4",
109
111
  "prettier-plugin-sort-imports": "^1.8.9",
@@ -134,6 +136,8 @@
134
136
  "build:lib": "pnpm run icons:update && vite build && pnpm run build:css && pnpm run fix:types && pnpm run clean:build-artifacts",
135
137
  "build:css": "node scripts/build-css.js",
136
138
  "pack:dryrun": "pnpm pack --dry-run",
139
+ "check": "tsc --noEmit && pnpm run format && pnpm run lint",
140
+ "fix": "pnpm run format:fix && pnpm run lint:fix",
137
141
  "fix:types": "node scripts/fix-type-paths.js",
138
142
  "analyze:visual": "vite-bundle-visualizer -c vite.config.ts -o ./analyzer/visual.html",
139
143
  "analyze:network": "vite-bundle-visualizer -c vite.config.ts -t network -o ./analyzer/network.html",
@@ -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
- };