@spear-ai/spectral 1.11.3 → 1.12.1
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.
- package/README.md +4 -0
- package/dist/.js +124 -121
- package/dist/{Accordion-CDXdSAST.js → Accordion-Cyrb2byI.js} +1 -1
- package/dist/Accordion.js +1 -1
- package/dist/Alert/AlertBase.js +1 -1
- package/dist/Alert.js +3 -3
- package/dist/{AnimatePresence-D-9jXfgI.js → AnimatePresence-D9FLxIGV.js} +1 -1
- package/dist/Avatar.js +46 -48
- package/dist/Badge.js +1 -1
- package/dist/Button.js +1 -1
- package/dist/ButtonGroup/ButtonGroupButton.js +1 -1
- package/dist/ButtonGroup.js +1 -1
- package/dist/ButtonIcon.js +1 -1
- package/dist/{Calendar-s4lyijkn.js → Calendar-2UVWeLYp.js} +4 -4
- package/dist/Checkbox/CheckboxBase.js +1 -1
- package/dist/Checkbox.d.ts +10 -3
- package/dist/Checkbox.js +55 -35
- package/dist/{es2015-YHaMV-St.js → Combination-9q50p_Vu.js} +251 -254
- package/dist/Combobox/ComboboxBase.js +492 -3
- package/dist/Combobox-Ch5Rxk5v.js +6360 -0
- package/dist/Combobox.d.ts +5 -3
- package/dist/Combobox.js +3 -143
- package/dist/ControlGroup/ControlGroupSelect.d.ts +5 -2
- package/dist/ControlGroup/ControlGroupSelect.js +32 -29
- package/dist/ControlGroup.d.ts +3 -2
- package/dist/ControlGroup.js +41 -33
- package/dist/DataCard/Card.js +1 -1
- package/dist/DataCard.js +1 -1
- package/dist/DateTimePicker/Calendar.js +1 -1
- package/dist/DateTimePicker/DateTimeDisplayInput.js +84 -83
- package/dist/DateTimePicker/DateTimeInput.js +2 -2
- package/dist/DateTimePicker/DateTimeUtils.js +1 -1
- package/dist/DateTimePicker/TimePeriodSelect.js +32 -35
- package/dist/DateTimePicker/TimePicker.js +2 -2
- package/dist/DateTimePicker.d.ts +1 -1
- package/dist/DateTimePicker.js +55 -52
- package/dist/{DateTimeUtils-DVvG6H-p.js → DateTimeUtils-DrR2JWoU.js} +1 -1
- package/dist/Dialog.js +3 -3
- package/dist/Drawer.js +1 -1
- package/dist/DropdownMenu.d.ts +61 -0
- package/dist/DropdownMenu.js +869 -0
- package/dist/{HoverCard-CYDsIiVK.js → HoverCard-BGpW6LnA.js} +3 -3
- package/dist/HoverCard.js +1 -1
- package/dist/Icons/AdjustmentsIcon.d.ts +5 -0
- package/dist/Icons/AdjustmentsIcon.js +78 -0
- package/dist/Icons/MenuDotsIcon.d.ts +5 -0
- package/dist/Icons/MenuDotsIcon.js +36 -0
- package/dist/Icons/MenuIcon.d.ts +5 -0
- package/dist/Icons/MenuIcon.js +36 -0
- package/dist/Icons/index.d.ts +3 -0
- package/dist/Icons.js +81 -78
- package/dist/IconsAnimated/PanelLeftCloseIcon.js +3 -3
- package/dist/IconsAnimated/PanelLeftOpenIcon.js +3 -3
- package/dist/Input.js +1 -1
- package/dist/InputNumeric.js +1 -1
- package/dist/{InputOTP-cVn5Bzyp.js → InputOTP-BkSw_KIB.js} +12 -10
- package/dist/InputOTP.js +1 -1
- package/dist/Kbd.js +1 -1
- package/dist/Label.js +1 -1
- package/dist/MultiSelect/MultiSelectBase.d.ts +6 -4
- package/dist/MultiSelect/MultiSelectBase.js +222 -201
- package/dist/MultiSelect.d.ts +2 -1
- package/dist/MultiSelect.js +14 -12
- package/dist/Popover.js +2 -2
- package/dist/RadioButton.js +1 -1
- package/dist/RadioButtonGroup/RadioButtonGroupBase.js +1 -1
- package/dist/RadioButtonGroup.js +1 -1
- package/dist/RadioGroup-CfjhpW5o.js +328 -0
- package/dist/RadioGroup.d.ts +7 -0
- package/dist/RadioGroup.js +1 -1
- package/dist/Select.d.ts +5 -2
- package/dist/Select.js +97 -85
- package/dist/Separator.js +1 -1
- package/dist/Skeleton.js +1 -1
- package/dist/{Slider-BzzZT3Zm.js → Slider-mODhqkCs.js} +4 -4
- package/dist/Slider.js +1 -1
- package/dist/Switch-Wj_zov--.js +144 -0
- package/dist/Switch.d.ts +12 -3
- package/dist/Switch.js +1 -1
- package/dist/Tabs/TabsBase.js +4 -4
- package/dist/Tabs.js +1 -1
- package/dist/Textarea.d.ts +3 -2
- package/dist/Textarea.js +50 -45
- package/dist/{Toast-9zqXxKKO.js → Toast-CJvzLlMD.js} +1 -1
- package/dist/Toast.js +1 -1
- package/dist/Toggle.js +1 -1
- package/dist/ToggleGroup.js +1 -1
- package/dist/{Tooltip-D1K8kY1y.js → Tooltip-DH_BzFye.js} +5 -5
- package/dist/Tooltip.js +1 -1
- package/dist/Tray.js +5 -5
- package/dist/{chunk-h9knIhTc.js → chunk-C4rFPcKS.js} +1 -1
- package/dist/dist-BMu6Dgh_.js +149 -0
- package/dist/{dist-fW81qjVl.js → dist-C9fJjxxB.js} +41 -41
- package/dist/{dist-C0Hifjgh.js → dist-Cv8I-d2q.js} +2 -2
- package/dist/{dist-B9tup-4O.js → dist-D6QANKSj.js} +5 -5
- package/dist/{dist-3Af8168y.js → dist-Tbzy5UFA.js} +1 -1
- package/dist/{dist-B2k1iWFp.js → dist-jQ7HawWM.js} +1 -1
- package/dist/{dist-BtdmHAzK.js → dist-nYKAWiy4.js} +6 -6
- package/dist/main.js +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/input-group.js +1 -1
- package/dist/primitives/input.js +1 -1
- package/dist/primitives/popover.js +2 -2
- package/dist/primitives/select.js +40 -40
- package/dist/primitives/textarea.js +1 -1
- package/dist/{proxy-Dn10Pl_g.js → proxy-CCB7C4Pu.js} +10 -10
- package/dist/styles/spectral.css +1 -1
- package/dist/{twUtils-VNWgstKL.js → twUtils-D_qzdiwM.js} +1 -1
- package/dist/{use-animation-CBUDycyW.js → use-animation-C-qL83hj.js} +1 -1
- package/dist/utils/formFieldUtils.d.ts +15 -1
- package/dist/utils/formFieldUtils.d.ts.map +1 -1
- package/dist/utils/formFieldUtils.js +35 -19
- package/dist/utils/twUtils.js +1 -1
- package/package.json +27 -22
- package/dist/ComboboxBase-qX-mQhT6.js +0 -491
- package/dist/RadioGroup-w_q6RGEK.js +0 -447
- package/dist/Switch-CVzRJ-0n.js +0 -126
- /package/dist/{dist-Bfjk-jx9.js → dist-ChNh3U3S.js} +0 -0
- /package/dist/{dist-B4FgboI8.js → dist-Cujfuel1.js} +0 -0
- /package/dist/{dist-D8Wb_MX9.js → dist-DDjUcieO.js} +0 -0
- /package/dist/{dist-s1uWaZYZ.js → dist-DFT13f_s.js} +0 -0
- /package/dist/{dist-ClmepHp4.js → dist-DIt8FP2G.js} +0 -0
- /package/dist/{dist-BK1K0g9W.js → dist-K0_i37VL.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KeyboardEvent, ReactNode } from 'react';
|
|
1
|
+
import { CSSProperties, KeyboardEvent, ReactNode } from 'react';
|
|
2
2
|
export type FormFieldState = 'default' | 'error' | 'warning' | 'disabled' | 'loading' | 'success';
|
|
3
3
|
export interface BaseFormFieldProps {
|
|
4
4
|
disabled?: boolean;
|
|
@@ -22,6 +22,19 @@ export interface BaseOption {
|
|
|
22
22
|
value: string;
|
|
23
23
|
}
|
|
24
24
|
export type DropdownWidth = 'trigger' | 'content' | (string & {});
|
|
25
|
+
export type DropdownWidthMode = 'trigger' | 'content' | 'custom';
|
|
26
|
+
interface DropdownWidthStyleConfig {
|
|
27
|
+
dropdownWidth: DropdownWidth;
|
|
28
|
+
triggerStyleWidth?: string;
|
|
29
|
+
triggerWidth: string;
|
|
30
|
+
viewportMaxWidth?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const getDropdownWidthStyles: ({ dropdownWidth, triggerStyleWidth, triggerWidth, viewportMaxWidth, }: DropdownWidthStyleConfig) => {
|
|
33
|
+
dropdownOverflowStyle: CSSProperties;
|
|
34
|
+
dropdownWidthMode: DropdownWidthMode;
|
|
35
|
+
dropdownWidthStyle: CSSProperties;
|
|
36
|
+
resolvedDropdownWidth: string;
|
|
37
|
+
};
|
|
25
38
|
export declare const getStateClasses: (state: FormFieldState) => string;
|
|
26
39
|
export declare const getTriggerClasses: (isOpen: boolean | undefined, state: FormFieldState, className?: string) => string;
|
|
27
40
|
export declare const getDropdownClasses: (isOpen: boolean, position?: "top" | "bottom") => string;
|
|
@@ -79,4 +92,5 @@ export declare const WarningMessage: ({ className, id, dataTestId, message }: {
|
|
|
79
92
|
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
80
93
|
export declare const getOptionClasses: (isDisabled: boolean | undefined, isFocused: boolean, isSelected: boolean) => string;
|
|
81
94
|
export declare const scrollIntoView: (element: HTMLElement | null) => void;
|
|
95
|
+
export {};
|
|
82
96
|
//# sourceMappingURL=formFieldUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"formFieldUtils.d.ts","sourceRoot":"","sources":["../../src/utils/formFieldUtils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,53 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "../twUtils-
|
|
2
|
+
import { t as e } from "../twUtils-D_qzdiwM.js";
|
|
3
3
|
import { useCallback as t, useEffect as n, useId as r, useRef as i, useState as a } from "react";
|
|
4
4
|
import { jsx as o } from "react/jsx-runtime";
|
|
5
5
|
//#region src/utils/formFieldUtils.tsx
|
|
6
|
-
var s = (e) =>
|
|
6
|
+
var s = ({ dropdownWidth: e, triggerStyleWidth: t, triggerWidth: n, viewportMaxWidth: r = "calc(100vw - 2rem)" }) => {
|
|
7
|
+
let i = e === "trigger" ? "trigger" : e === "content" ? "content" : "custom", a = e === "trigger" ? n : e === "content" ? "max-content" : e, o = {
|
|
8
|
+
maxWidth: r,
|
|
9
|
+
overflowX: "auto",
|
|
10
|
+
overflowY: "auto"
|
|
11
|
+
};
|
|
12
|
+
return {
|
|
13
|
+
dropdownOverflowStyle: o,
|
|
14
|
+
dropdownWidthMode: i,
|
|
15
|
+
dropdownWidthStyle: e === "trigger" ? { width: t ?? n } : {
|
|
16
|
+
width: a,
|
|
17
|
+
...e === "content" ? { minWidth: "max-content" } : {},
|
|
18
|
+
...o
|
|
19
|
+
},
|
|
20
|
+
resolvedDropdownWidth: a
|
|
21
|
+
};
|
|
22
|
+
}, c = (e) => ({
|
|
7
23
|
success: "border-success-400 hover:border-success-500 focus-visible:border-success-400 focus-visible:outline-success-400",
|
|
8
24
|
error: "border-danger-400 hover:border-danger-500 focus-visible:border-danger-400 focus-visible:outline-danger-400",
|
|
9
25
|
warning: "border-warning-400 hover:border-warning-400 focus-visible:border-warning-400 focus-visible:outline-warning-400",
|
|
10
26
|
loading: "cursor-wait border-input-border--disabled pointer-events-none",
|
|
11
27
|
disabled: "cursor-not-allowed opacity-50 border-input-border--disabled text-input-text--disabled",
|
|
12
28
|
default: ""
|
|
13
|
-
})[e],
|
|
29
|
+
})[e], l = (t = !1, n, r) => e("h-12 rounded-lg px-4 text-base flex w-full items-center justify-between border-2 border-input-border bg-input-bg", "text-input-text transition duration-200 hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:cursor-not-allowed disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:opacity-50", t && "border-input-border--focus outline outline-2 outline-offset-2 outline-input-border--focus", c(n), r), u = (t, n = "bottom") => {
|
|
14
30
|
let r = n === "bottom" ? "top-full mt-1 origin-top" : "bottom-full mb-1 origin-bottom", i = n === "bottom" ? t ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 -translate-y-1 pointer-events-none" : t ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 translate-y-1 pointer-events-none";
|
|
15
|
-
return e("left-0 right-0 absolute z-50",
|
|
16
|
-
},
|
|
31
|
+
return e("left-0 right-0 absolute z-50", d(), "transition-[opacity,transform] duration-150 motion-reduce:transform-none motion-reduce:transition-none", "will-change-[opacity,transform]", r, i);
|
|
32
|
+
}, d = () => "rounded-lg border border-input-border bg-input-bg shadow-md", f = (t, n) => e("peer h-12 rounded-md ps-3 pe-12 text-base flex w-full border-2 border-input-border bg-input-bg transition duration-200", "placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled", c(t), n), p = (t, n) => e("peer h-24 rounded-md p-3 text-base flex w-full resize-none border-2 border-input-border bg-input-bg transition duration-200", "placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled", c(t), n), m = (e, t) => {
|
|
17
33
|
let n = r();
|
|
18
34
|
if (e) return e;
|
|
19
35
|
let i = t?.trim().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9\-_.:]/g, "");
|
|
20
36
|
return i ? `${i}-${n}` : n;
|
|
21
|
-
},
|
|
37
|
+
}, h = (e) => `${e}-error`, g = (t, n, r, i) => ({
|
|
22
38
|
"aria-invalid": t === "error",
|
|
23
39
|
"aria-required": r,
|
|
24
40
|
"aria-describedby": e((t === "error" || t === "warning") && i, n) || void 0
|
|
25
|
-
}),
|
|
41
|
+
}), _ = (e = {}) => ({
|
|
26
42
|
"--field-border-radius": "0.5rem",
|
|
27
43
|
"--field-height": "3rem",
|
|
28
44
|
"--field-padding": "1rem",
|
|
29
45
|
...e
|
|
30
|
-
}),
|
|
46
|
+
}), v = (e, t = "default") => ({
|
|
31
47
|
isDisabled: e ?? t === "disabled",
|
|
32
48
|
isLoading: t === "loading",
|
|
33
49
|
isInvalid: t === "error"
|
|
34
|
-
}),
|
|
50
|
+
}), y = (e) => {
|
|
35
51
|
let t = i(null);
|
|
36
52
|
return n(() => {
|
|
37
53
|
let n = (n) => {
|
|
@@ -39,7 +55,7 @@ var s = (e) => ({
|
|
|
39
55
|
};
|
|
40
56
|
return document.addEventListener("mousedown", n), () => document.removeEventListener("mousedown", n);
|
|
41
57
|
}, [e]), t;
|
|
42
|
-
},
|
|
58
|
+
}, b = (e, r = !1, i, o, s, c) => {
|
|
43
59
|
let [l, u] = a(-1);
|
|
44
60
|
n(() => {
|
|
45
61
|
if (e) if (r) u(0);
|
|
@@ -103,7 +119,7 @@ var s = (e) => ({
|
|
|
103
119
|
]),
|
|
104
120
|
isOpen: e
|
|
105
121
|
};
|
|
106
|
-
},
|
|
122
|
+
}, x = (e) => {
|
|
107
123
|
let t = {}, n = [];
|
|
108
124
|
return e.forEach((e) => {
|
|
109
125
|
e.group ? (t[e.group] || (t[e.group] = []), t[e.group].push(e)) : n.push(e);
|
|
@@ -112,17 +128,17 @@ var s = (e) => ({
|
|
|
112
128
|
ungrouped: n,
|
|
113
129
|
hasGroups: Object.keys(t).length > 0
|
|
114
130
|
};
|
|
115
|
-
},
|
|
131
|
+
}, S = ({ className: t, message: n = "Loading…" }) => /* @__PURE__ */ o("div", {
|
|
116
132
|
"aria-live": "polite",
|
|
117
133
|
className: e("gap-2 py-6 text-base text-input-text-secondary flex items-center justify-center", t),
|
|
118
134
|
role: "status",
|
|
119
135
|
children: n
|
|
120
|
-
}),
|
|
136
|
+
}), C = ({ className: t, message: n = "No options found" }) => /* @__PURE__ */ o("div", {
|
|
121
137
|
className: e("py-6 text-base text-center text-text-secondary", t),
|
|
122
138
|
role: "status",
|
|
123
139
|
children: n
|
|
124
|
-
}),
|
|
125
|
-
let a =
|
|
140
|
+
}), w = (e) => e ? typeof e == "string" ? e : Array.isArray(e) ? e.join(", ") : typeof e == "object" ? e.message ? e.message : e.error ? e.error : e.details ? e.details : JSON.stringify(e) : String(e) : null, T = ({ className: t, id: n, dataTestId: r, message: i }) => {
|
|
141
|
+
let a = w(i);
|
|
126
142
|
return a ? /* @__PURE__ */ o("p", {
|
|
127
143
|
"aria-atomic": "true",
|
|
128
144
|
"aria-live": "assertive",
|
|
@@ -132,8 +148,8 @@ var s = (e) => ({
|
|
|
132
148
|
role: "alert",
|
|
133
149
|
children: a
|
|
134
150
|
}) : null;
|
|
135
|
-
},
|
|
136
|
-
let a =
|
|
151
|
+
}, E = ({ className: t, id: n, dataTestId: r, message: i }) => {
|
|
152
|
+
let a = w(i);
|
|
137
153
|
return a ? /* @__PURE__ */ o("p", {
|
|
138
154
|
"aria-atomic": "true",
|
|
139
155
|
"aria-live": "polite",
|
|
@@ -143,11 +159,11 @@ var s = (e) => ({
|
|
|
143
159
|
role: "status",
|
|
144
160
|
children: a
|
|
145
161
|
}) : null;
|
|
146
|
-
},
|
|
162
|
+
}, D = (t = !1, n, r) => e("rounded-sm py-1.5 pl-2 pr-8 text-base relative flex w-full cursor-pointer items-center outline-none select-none hover:bg-input-bg--hover", n && "bg-input-bg--hover", r && "bg-input-bg--selected text-input-text", t && "pointer-events-none text-input-text--disabled"), O = (e) => {
|
|
147
163
|
e && e.scrollIntoView({
|
|
148
164
|
block: "nearest",
|
|
149
165
|
behavior: "smooth"
|
|
150
166
|
});
|
|
151
167
|
};
|
|
152
168
|
//#endregion
|
|
153
|
-
export {
|
|
169
|
+
export { C as EmptyState, T as ErrorMessage, S as LoadingState, E as WarningMessage, g as getAriaProps, u as getDropdownClasses, d as getDropdownSurfaceClasses, s as getDropdownWidthStyles, h as getErrorMessageId, _ as getFormFieldCSSProperties, f as getInputClasses, D as getOptionClasses, c as getStateClasses, p as getTextareaClasses, l as getTriggerClasses, x as groupOptions, O as scrollIntoView, y as useClickOutside, m as useFormFieldId, v as useFormFieldState, b as useKeyboardNavigation };
|
package/dist/utils/twUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../twUtils-
|
|
1
|
+
import { t as e } from "../twUtils-D_qzdiwM.js";
|
|
2
2
|
export { e as cn };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spear-ai/spectral",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"repository": {
|
|
@@ -50,8 +50,10 @@
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
+
"@base-ui/react": "^1.4.1",
|
|
53
54
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
54
55
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
56
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
55
57
|
"@radix-ui/react-hover-card": "^1.1.15",
|
|
56
58
|
"@radix-ui/react-popover": "^1.1.15",
|
|
57
59
|
"@radix-ui/react-radio-group": "^1.3.8",
|
|
@@ -68,7 +70,7 @@
|
|
|
68
70
|
"motion": "^12.38.0",
|
|
69
71
|
"react-day-picker": "^9.14.0",
|
|
70
72
|
"react-remove-scroll": "^2.7.2",
|
|
71
|
-
"react-router": "^7.
|
|
73
|
+
"react-router": "^7.14.2",
|
|
72
74
|
"react-use-measure": "^2.1.7",
|
|
73
75
|
"sonner": "^2.0.7",
|
|
74
76
|
"tailwind-merge": "^3.5.0",
|
|
@@ -78,45 +80,45 @@
|
|
|
78
80
|
"zod": "^4.3.6"
|
|
79
81
|
},
|
|
80
82
|
"devDependencies": {
|
|
81
|
-
"@changesets/cli": "^2.
|
|
83
|
+
"@changesets/cli": "^2.31.0",
|
|
82
84
|
"@chromatic-com/storybook": "^4.1.3",
|
|
83
85
|
"@github-ui/storybook-addon-performance-panel": "^1.1.4",
|
|
84
|
-
"@sentry/react": "^10.
|
|
86
|
+
"@sentry/react": "^10.50.0",
|
|
85
87
|
"@sentry/vite-plugin": "^4.9.1",
|
|
86
|
-
"@storybook/addon-docs": "^10.3.
|
|
87
|
-
"@storybook/addon-themes": "^10.3.
|
|
88
|
-
"@storybook/addon-vitest": "^10.3.
|
|
89
|
-
"@storybook/builder-vite": "^10.3.
|
|
90
|
-
"@storybook/react-vite": "^10.3.
|
|
91
|
-
"@tailwindcss/vite": "^4.2.
|
|
88
|
+
"@storybook/addon-docs": "^10.3.5",
|
|
89
|
+
"@storybook/addon-themes": "^10.3.5",
|
|
90
|
+
"@storybook/addon-vitest": "^10.3.5",
|
|
91
|
+
"@storybook/builder-vite": "^10.3.5",
|
|
92
|
+
"@storybook/react-vite": "^10.3.5",
|
|
93
|
+
"@tailwindcss/vite": "^4.2.4",
|
|
92
94
|
"@testing-library/jest-dom": "^6.9.1",
|
|
93
95
|
"@testing-library/react": "^16.3.2",
|
|
94
96
|
"@testing-library/user-event": "^14.6.1",
|
|
95
|
-
"@types/node": "^24.12.
|
|
97
|
+
"@types/node": "^24.12.2",
|
|
96
98
|
"@types/react": "^19.2.14",
|
|
97
99
|
"@types/react-dom": "^19.2.3",
|
|
98
100
|
"@vitejs/plugin-react": "^6.0.1",
|
|
99
|
-
"@vitest/browser": "^4.1.
|
|
100
|
-
"@vitest/browser-playwright": "^4.1.
|
|
101
|
-
"@vitest/coverage-v8": "^4.1.
|
|
102
|
-
"@vitest/ui": "^4.1.
|
|
101
|
+
"@vitest/browser": "^4.1.5",
|
|
102
|
+
"@vitest/browser-playwright": "^4.1.5",
|
|
103
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
104
|
+
"@vitest/ui": "^4.1.5",
|
|
103
105
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
104
106
|
"glob": "^13.0.6",
|
|
105
107
|
"http-server": "^14.1.1",
|
|
106
|
-
"
|
|
108
|
+
"oxfmt": "^0.43.0",
|
|
109
|
+
"oxlint": "^1.61.0",
|
|
107
110
|
"oxlint-tsgolint": "^0.11.5",
|
|
108
111
|
"playwright": "^1.58.2",
|
|
109
|
-
"
|
|
110
|
-
"storybook": "^10.2.14",
|
|
112
|
+
"storybook": "^10.3.5",
|
|
111
113
|
"stylelint": "^16.26.1",
|
|
112
114
|
"stylelint-config-standard": "^39.0.1",
|
|
113
|
-
"tailwindcss": "^4.2.
|
|
115
|
+
"tailwindcss": "^4.2.4",
|
|
114
116
|
"typescript": "^5.9.3",
|
|
115
|
-
"vite": "^8.0.
|
|
117
|
+
"vite": "^8.0.10",
|
|
116
118
|
"vite-bundle-visualizer": "^1.2.1",
|
|
117
119
|
"vite-plugin-dts": "^4.5.4",
|
|
118
|
-
"vitest": "^4.1.
|
|
119
|
-
"vitest-browser-react": "^2.
|
|
120
|
+
"vitest": "^4.1.5",
|
|
121
|
+
"vitest-browser-react": "^2.2.0"
|
|
120
122
|
},
|
|
121
123
|
"peerDependencies": {
|
|
122
124
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -151,10 +153,13 @@
|
|
|
151
153
|
"changeset": "changeset",
|
|
152
154
|
"changeset:version": "changeset version",
|
|
153
155
|
"changeset:publish": "changeset publish",
|
|
156
|
+
"changelog:generate": "node scripts/generate-storybook-changelog.js",
|
|
157
|
+
"release:version": "pnpm run changeset:version && pnpm run changelog:generate",
|
|
154
158
|
"clean": "rm -rf $(find dist -maxdepth 1 ! -name \"node_modules\") && rm pnpm-lock.yaml",
|
|
155
159
|
"clean:build-artifacts": "find .storybook -name '*.js' -not -name '*.config.js' -delete && find .storybook -name '*.d.ts' -delete && find . -name '*.d.ts' -path './vite.config.d.ts' -delete && rm -rf storybook-static",
|
|
156
160
|
"icons:update": "node scripts/update-icons-index.js",
|
|
157
161
|
"test": "vitest run",
|
|
162
|
+
"test:form-fields": "vitest run src/components/Select/Select.test.tsx src/components/Combobox/Combobox.test.tsx src/components/MultiSelect/MultiSelect.test.tsx src/components/Textarea/Textarea.test.tsx src/components/DateTimePicker/DateTimePicker.test.tsx src/components/InputOTP/InputOTP.test.tsx src/components/Checkbox/Checkbox.test.tsx src/components/Switch/Switch.test.tsx src/components/RadioGroup/RadioGroup.test.tsx src/components/ControlGroup/ControlGroupSelect.test.tsx",
|
|
158
163
|
"test:watch": "vitest",
|
|
159
164
|
"test:ui": "vitest --ui",
|
|
160
165
|
"test:coverage": "vitest run --coverage"
|