@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
package/dist/Textarea.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import "./styles/main.css";
3
- import { jsxs as n, jsx as e } from "react/jsx-runtime";
3
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
4
4
  import { useTextarea as z } from "./Textarea/TextareaUtils.js";
5
5
  import "./Icons/AnalyzeIcon.js";
6
6
  import "./Icons/AnnotationsIcon.js";
@@ -40,6 +40,7 @@ import "./Icons/LiveViewIcon.js";
40
40
  import { LoaderIcon as B } from "./Icons/LoaderIcon.js";
41
41
  import "./Icons/LocationIcon.js";
42
42
  import "./Icons/LogoutIcon.js";
43
+ import "./Icons/MeasureIcon.js";
43
44
  import "./Icons/MessagesIcon.js";
44
45
  import "./Icons/MetadataIcon.js";
45
46
  import "./Icons/MinusIcon.js";
@@ -51,6 +52,7 @@ import "./Icons/PlusIcon.js";
51
52
  import "./Icons/ResetIcon.js";
52
53
  import "./Icons/ReviewedIcon.js";
53
54
  import "./Icons/ScissorsIcon.js";
55
+ import "./Icons/SearchIcon.js";
54
56
  import "./Icons/SettingsIcon.js";
55
57
  import "./Icons/SortAscendingIcon.js";
56
58
  import "./Icons/SortAtoZIcon.js";
@@ -67,13 +69,13 @@ import "./Icons/ZoomAllIcon.js";
67
69
  import "./Icons/ZoomXIcon.js";
68
70
  import "./Icons/ZoomYIcon.js";
69
71
  import { Label as D } from "./Label.js";
70
- import { useFormFieldId as M, useFormFieldState as O, getAriaProps as _, getTextareaClasses as $, ErrorMessage as G, getErrorMessageId as V } from "./utils/formFieldUtils.js";
72
+ import { useFormFieldId as M, useFormFieldState as O, getAriaProps as _, getTextareaClasses as G, ErrorMessage as V, getErrorMessageId as H } from "./utils/formFieldUtils.js";
71
73
  import { cn as C } from "./utils/twUtils.js";
72
- import { useRef as H } from "react";
73
- const J = "absolute right-4 top-4", K = (t) => t || "off", Q = (t, i) => {
74
+ import { useRef as J } from "react";
75
+ const K = "absolute right-4 top-4", Q = (t) => t || "off", U = (t, i) => {
74
76
  const a = "absolute bottom-2 right-3 text-xs pointer-events-none z-10 tabular-nums", m = t >= i ? "text-danger-400" : "text-text-secondary";
75
77
  return C(a, m);
76
- }, U = ({
78
+ }, W = ({
77
79
  ref: t,
78
80
  autoComplete: i,
79
81
  className: a,
@@ -82,7 +84,7 @@ const J = "absolute right-4 top-4", K = (t) => t || "off", Q = (t, i) => {
82
84
  id: b,
83
85
  label: d,
84
86
  labelClassName: N,
85
- maxLength: o = 280,
87
+ maxLength: e = 280,
86
88
  name: u,
87
89
  onBlur: I,
88
90
  onChange: F,
@@ -93,26 +95,26 @@ const J = "absolute right-4 top-4", K = (t) => t || "off", Q = (t, i) => {
93
95
  value: s = "",
94
96
  ...h
95
97
  }) => {
96
- const p = M(b, u), g = V(p), y = H(null), P = t || y, { handleFocus: T, handleBlur: A, handleChange: E, handlePaste: L } = z({
97
- maxLength: o,
98
+ const p = M(b, u), g = H(p), y = J(null), P = t ?? y, { handleFocus: T, handleBlur: A, handleChange: E, handlePaste: L } = z({
99
+ maxLength: e,
98
100
  value: s,
99
- onChange: F || (() => {
101
+ onChange: F ?? (() => {
100
102
  }),
101
103
  onFocus: S,
102
104
  onBlur: I
103
- }), { isDisabled: f, isLoading: R } = O(m, r), j = _(r, g, x, h["aria-describedby"]), l = s?.length || 0, k = $(r, a), w = () => ({
105
+ }), { isDisabled: f, isLoading: R } = O(m, r), j = _(r, g, x, h["aria-describedby"]), l = s?.length || 0, k = G(r, a), w = () => ({
104
106
  "--textarea-min-height": "6rem",
105
107
  "--textarea-max-height": "12rem",
106
108
  "--textarea-border-radius": "0.5rem"
107
109
  });
108
110
  return /* @__PURE__ */ n("div", { className: "w-full", children: [
109
- d && /* @__PURE__ */ e(D, { "data-testid": "spectral-textarea-label", htmlFor: p, className: C("mb-2 block", f && "cursor-not-allowed opacity-50", N), children: d }),
111
+ d && /* @__PURE__ */ o(D, { "data-testid": "spectral-textarea-label", htmlFor: p, className: C("mb-2 block", f && "cursor-not-allowed opacity-50", N), children: d }),
110
112
  /* @__PURE__ */ n("div", { className: "relative", children: [
111
- /* @__PURE__ */ e(
113
+ /* @__PURE__ */ o(
112
114
  "textarea",
113
115
  {
114
116
  "aria-multiline": "true",
115
- autoComplete: K(i),
117
+ autoComplete: Q(i),
116
118
  className: k,
117
119
  "data-state": r,
118
120
  "data-testid": "spectral-textarea",
@@ -133,17 +135,27 @@ const J = "absolute right-4 top-4", K = (t) => t || "off", Q = (t, i) => {
133
135
  ...h
134
136
  }
135
137
  ),
136
- R && /* @__PURE__ */ e("div", { className: J, "data-testid": "spectral-textarea-loading-icon", children: /* @__PURE__ */ e(B, { size: 24 }) }),
137
- /* @__PURE__ */ n("div", { "aria-label": `${l} of ${o} characters used`, "aria-live": "polite", className: Q(l, o), "data-testid": "spectral-textarea-counter", role: "status", children: [
138
- l,
139
- "/",
140
- o
141
- ] })
138
+ R && /* @__PURE__ */ o("div", { className: K, "data-testid": "spectral-textarea-loading-icon", children: /* @__PURE__ */ o(B, { size: 24 }) }),
139
+ /* @__PURE__ */ n(
140
+ "div",
141
+ {
142
+ "aria-label": l + " of " + e + " characters used",
143
+ "aria-live": "polite",
144
+ className: U(l, e),
145
+ "data-testid": "spectral-textarea-counter",
146
+ role: "status",
147
+ children: [
148
+ l,
149
+ "/",
150
+ e
151
+ ]
152
+ }
153
+ )
142
154
  ] }),
143
- r === "error" && c && /* @__PURE__ */ e(G, { dataTestId: "spectral-textarea-error-message", id: g, message: c })
155
+ r === "error" && c && /* @__PURE__ */ o(V, { dataTestId: "spectral-textarea-error-message", id: g, message: c })
144
156
  ] });
145
157
  };
146
- U.displayName = "Textarea";
158
+ W.displayName = "Textarea";
147
159
  export {
148
- U as Textarea
160
+ W as Textarea
149
161
  };
@@ -0,0 +1,43 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { ReactNode } from 'react';
3
+ import { ToasterProps as SonnerToasterProps } from 'sonner';
4
+ type ToastVariant = 'default' | 'success' | 'error' | 'info' | 'warning';
5
+ type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
6
+ export interface ToastProps extends VariantProps<typeof toastVariants> {
7
+ className?: string;
8
+ containerAriaLabel?: string;
9
+ dataTestId?: string;
10
+ message?: string | ReactNode;
11
+ duration?: number;
12
+ icon?: ReactNode;
13
+ id?: string | number;
14
+ onAutoClose?: () => void;
15
+ position?: ToastPosition;
16
+ variant?: ToastVariant;
17
+ }
18
+ export interface ToasterProps extends Omit<SonnerToasterProps, 'toastOptions'> {
19
+ gap?: number;
20
+ offset?: number | string;
21
+ position?: ToastPosition;
22
+ visibleToasts?: number;
23
+ }
24
+ declare const toastVariants: (props?: ({
25
+ variant?: "default" | "success" | "warning" | "info" | "error" | null | undefined;
26
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
27
+ export declare const Toast: {
28
+ ({ className, containerAriaLabel, dataTestId, icon, message, variant }: ToastProps): import("react/jsx-runtime").JSX.Element;
29
+ displayName: string;
30
+ } & {
31
+ Provider: {
32
+ ({ gap, offset, position, visibleToasts, ...props }: ToasterProps): import("react/jsx-runtime").JSX.Element;
33
+ displayName: string;
34
+ };
35
+ };
36
+ export declare const toast: (({ className, containerAriaLabel, dataTestId, duration, icon, message, onAutoClose, position, variant }: ToastProps) => string | number) & {
37
+ success: (options: Omit<ToastProps, "variant">) => string | number;
38
+ error: (options: Omit<ToastProps, "variant">) => string | number;
39
+ info: (options: Omit<ToastProps, "variant">) => string | number;
40
+ warning: (options: Omit<ToastProps, "variant">) => string | number;
41
+ };
42
+ export {};
43
+ //# sourceMappingURL=Toast.d.ts.map