@spear-ai/spectral 1.4.2 → 1.4.3
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/dist/Accordion.d.ts +7 -7
- package/dist/Accordion.js +53 -51
- package/dist/Alert/AlertBase.js +6 -6
- package/dist/Alert.js +1 -1
- package/dist/Avatar.d.ts +2 -2
- package/dist/Avatar.js +46 -46
- package/dist/Badge.js +3 -3
- package/dist/Button.js +19 -12
- package/dist/ButtonGroup/ButtonGroupButton.d.ts +1 -1
- package/dist/ButtonGroup/ButtonGroupButton.js +10 -10
- package/dist/ButtonGroup.d.ts +8 -5
- package/dist/ButtonGroup.js +22 -14
- package/dist/ButtonIcon.d.ts +1 -1
- package/dist/ButtonIcon.js +5 -5
- package/dist/Card.d.ts +1 -1
- package/dist/Card.js +10 -10
- package/dist/Checkbox/CheckboxBase.d.ts +6 -6
- package/dist/Checkbox/CheckboxBase.js +65 -63
- package/dist/Checkbox.js +16 -14
- package/dist/Dialog/DialogBase.d.ts +37 -25
- package/dist/Dialog/DialogBase.js +130 -104
- package/dist/Dialog.d.ts +8 -8
- package/dist/Dialog.js +46 -36
- package/dist/Drawer.js +17 -17
- package/dist/HoverCard.d.ts +4 -4
- package/dist/HoverCard.js +34 -33
- package/dist/Input.js +58 -58
- package/dist/InputOTP.d.ts +1 -1
- package/dist/InputOTP.js +113 -112
- package/dist/MultiSelect/MultiSelectBase.d.ts +16 -16
- package/dist/MultiSelect/MultiSelectBase.js +236 -177
- package/dist/MultiSelect/MutiSelect.d.ts +6 -4
- package/dist/MultiSelect/MutiSelect.js +13 -12
- package/dist/Popover.js +2 -1
- package/dist/RadioButtonGroup/RadioButtonGroupBase.js +18 -17
- package/dist/RadioGroup.js +5 -3
- package/dist/Select.js +70 -51
- package/dist/Slider.js +8 -4
- package/dist/Switch/SwitchBase.d.ts +6 -6
- package/dist/Switch/SwitchBase.js +39 -38
- package/dist/Switch.js +17 -16
- package/dist/Tabs/TabsBase.js +40 -25
- package/dist/Tabs.js +18 -21
- package/dist/Textarea.d.ts +1 -0
- package/dist/Textarea.js +33 -33
- package/dist/Toggle.js +4 -4
- package/dist/ToggleGroup/ToggleGroupBase.d.ts +7 -7
- package/dist/ToggleGroup/ToggleGroupBase.js +64 -64
- package/dist/ToggleGroup.js +19 -17
- package/dist/Tooltip/TooltipBase.d.ts +8 -8
- package/dist/Tooltip/TooltipBase.js +76 -74
- package/dist/Tooltip.d.ts +1 -1
- package/dist/Tooltip.js +12 -11
- package/dist/Tray.d.ts +1 -1
- package/dist/Tray.js +4910 -117
- package/dist/primitives/input.js +4 -4
- package/dist/primitives/select.d.ts +11 -11
- package/dist/primitives/select.d.ts.map +1 -1
- package/dist/primitives/select.js +28 -21
- package/dist/styles/main.css +1 -1
- package/dist/utils/{refs.d.ts → createForwardRef.d.ts} +1 -1
- package/dist/utils/createForwardRef.d.ts.map +1 -0
- package/dist/utils/formFieldUtils.d.ts +22 -18
- package/dist/utils/formFieldUtils.d.ts.map +1 -1
- package/dist/utils/formFieldUtils.js +46 -46
- package/package.json +9 -3
- package/dist/analyzer/list.yml.webp +0 -0
- package/dist/analyzer/network.webp +0 -0
- package/dist/analyzer/sunburst.webp +0 -0
- package/dist/analyzer/visual.webp +0 -0
- package/dist/auth-background.json +0 -90
- package/dist/favicon-invert.svg +0 -5
- package/dist/favicon.svg +0 -5
- package/dist/features/AuthCard/AuthCard.d.ts +0 -3
- package/dist/features/AuthCard/AuthCard.d.ts.map +0 -1
- package/dist/features/AuthCard/AuthToggle.d.ts +0 -9
- package/dist/features/AuthCard/AuthToggle.d.ts.map +0 -1
- package/dist/features/AuthCard/AuthToggle.js +0 -20
- package/dist/features/AuthCard/ForgotPasswordEmailForm.d.ts +0 -11
- package/dist/features/AuthCard/ForgotPasswordEmailForm.d.ts.map +0 -1
- package/dist/features/AuthCard/ForgotPasswordEmailForm.js +0 -86
- package/dist/features/AuthCard/ForgotPasswordResetForm.d.ts +0 -11
- package/dist/features/AuthCard/ForgotPasswordResetForm.d.ts.map +0 -1
- package/dist/features/AuthCard/ForgotPasswordResetForm.js +0 -21
- package/dist/features/AuthCard/OTPInput.d.ts +0 -12
- package/dist/features/AuthCard/OTPInput.d.ts.map +0 -1
- package/dist/features/AuthCard/OTPInput.js +0 -12
- package/dist/features/AuthCard/PasswordInput.d.ts +0 -13
- package/dist/features/AuthCard/PasswordInput.d.ts.map +0 -1
- package/dist/features/AuthCard/PasswordInput.js +0 -93
- package/dist/features/AuthCard/SignInForm.d.ts +0 -9
- package/dist/features/AuthCard/SignInForm.d.ts.map +0 -1
- package/dist/features/AuthCard/SignInForm.js +0 -86
- package/dist/features/AuthCard/SignUpForm.d.ts +0 -8
- package/dist/features/AuthCard/SignUpForm.d.ts.map +0 -1
- package/dist/features/AuthCard/SignUpForm.js +0 -100
- package/dist/features/AuthCard.js +0 -202
- package/dist/features/ClearDialog/ClearDialog.d.ts +0 -2
- package/dist/features/ClearDialog/ClearDialog.d.ts.map +0 -1
- package/dist/features/ClearDialog.js +0 -31
- package/dist/features/LabelingToolbar/LabelingToolbar.d.ts +0 -8
- package/dist/features/LabelingToolbar/LabelingToolbar.d.ts.map +0 -1
- package/dist/features/LabelingToolbar.js +0 -13
- package/dist/features/LabelingTools/LabelingTools.d.ts +0 -2
- package/dist/features/LabelingTools/LabelingTools.d.ts.map +0 -1
- package/dist/features/LabelingTools.js +0 -134
- package/dist/features/SensorMetadata/SensorMetadata.d.ts +0 -2
- package/dist/features/SensorMetadata/SensorMetadata.d.ts.map +0 -1
- package/dist/features/SensorMetadata.js +0 -117
- package/dist/features/SettingsPopover/SettingsPopover.d.ts +0 -2
- package/dist/features/SettingsPopover/SettingsPopover.d.ts.map +0 -1
- package/dist/features/SettingsPopover.js +0 -204
- package/dist/index-BIpuW_o8.js +0 -146
- package/dist/linear-cursor-small.png +0 -0
- package/dist/loader-circle-CdRVlFhN.js +0 -11
- package/dist/logo/wordmark-dark-side-by-side.svg +0 -6
- package/dist/logo/wordmark-light-side-by-side.svg +0 -6
- package/dist/message-alert-matte-glass-gradient.webp +0 -0
- package/dist/proxy-C9AqCss6.js +0 -4670
- package/dist/speech-bubble-fluid-glass-gradient.webp +0 -0
- package/dist/themes/grayscale-theme.webp +0 -0
- package/dist/themes/green-black-theme.webp +0 -0
- package/dist/themes/reverse-grayscale-theme.webp +0 -0
- package/dist/themes/viridis-theme.webp +0 -0
- package/dist/utils/refs.d.ts.map +0 -1
- package/dist/x-Dl66o_vF.js +0 -14
- /package/dist/utils/{refs.js → createForwardRef.js} +0 -0
package/dist/HoverCard.js
CHANGED
|
@@ -3,7 +3,7 @@ import "./styles/main.css";
|
|
|
3
3
|
import { jsx as i } from "react/jsx-runtime";
|
|
4
4
|
import * as s from "react";
|
|
5
5
|
import { createContext as F, useContext as I } from "react";
|
|
6
|
-
import { u as B, c as U, b as
|
|
6
|
+
import { u as B, c as U, b as h, P as $, a as W } from "./index-BhufZRa2.js";
|
|
7
7
|
import { c as O, R as z, A as G, C as K, a as j } from "./index-NzygPVvJ.js";
|
|
8
8
|
import { P as V, D as q } from "./index-B2oBi8ng.js";
|
|
9
9
|
import { P as T } from "./index-6Abv_Flm.js";
|
|
@@ -19,7 +19,7 @@ var H, x = "HoverCard", [E] = U(x, [
|
|
|
19
19
|
onOpenChange: c,
|
|
20
20
|
openDelay: u = 700,
|
|
21
21
|
closeDelay: p = 300
|
|
22
|
-
} = e, d = R(o), l = s.useRef(0), f = s.useRef(0), m = s.useRef(!1), v = s.useRef(!1), [
|
|
22
|
+
} = e, d = R(o), l = s.useRef(0), f = s.useRef(0), m = s.useRef(!1), v = s.useRef(!1), [C, t] = B({
|
|
23
23
|
prop: a,
|
|
24
24
|
defaultProp: n ?? !1,
|
|
25
25
|
onChange: c,
|
|
@@ -35,7 +35,7 @@ var H, x = "HoverCard", [E] = U(x, [
|
|
|
35
35
|
Q,
|
|
36
36
|
{
|
|
37
37
|
scope: o,
|
|
38
|
-
open:
|
|
38
|
+
open: C,
|
|
39
39
|
onOpenChange: t,
|
|
40
40
|
onOpen: g,
|
|
41
41
|
onClose: S,
|
|
@@ -56,11 +56,11 @@ var _ = "HoverCardTrigger", D = s.forwardRef(
|
|
|
56
56
|
"data-state": n.open ? "open" : "closed",
|
|
57
57
|
...a,
|
|
58
58
|
ref: o,
|
|
59
|
-
onPointerEnter:
|
|
60
|
-
onPointerLeave:
|
|
61
|
-
onFocus:
|
|
62
|
-
onBlur:
|
|
63
|
-
onTouchStart:
|
|
59
|
+
onPointerEnter: h(e.onPointerEnter, w(n.onOpen)),
|
|
60
|
+
onPointerLeave: h(e.onPointerLeave, w(n.onClose)),
|
|
61
|
+
onFocus: h(e.onFocus, n.onOpen),
|
|
62
|
+
onBlur: h(e.onBlur, n.onClose),
|
|
63
|
+
onTouchStart: h(e.onTouchStart, (u) => u.preventDefault())
|
|
64
64
|
}
|
|
65
65
|
) });
|
|
66
66
|
}
|
|
@@ -81,8 +81,8 @@ var P = "HoverCardContent", L = s.forwardRef(
|
|
|
81
81
|
{
|
|
82
82
|
"data-state": c.open ? "open" : "closed",
|
|
83
83
|
...n,
|
|
84
|
-
onPointerEnter:
|
|
85
|
-
onPointerLeave:
|
|
84
|
+
onPointerEnter: h(e.onPointerEnter, w(c.onOpen)),
|
|
85
|
+
onPointerLeave: h(e.onPointerLeave, w(c.onClose)),
|
|
86
86
|
ref: o
|
|
87
87
|
}
|
|
88
88
|
) });
|
|
@@ -97,7 +97,7 @@ var Z = s.forwardRef((e, o) => {
|
|
|
97
97
|
onFocusOutside: c,
|
|
98
98
|
onInteractOutside: u,
|
|
99
99
|
...p
|
|
100
|
-
} = e, d = b(P, r), l = R(r), f = s.useRef(null), m = W(o, f), [v,
|
|
100
|
+
} = e, d = b(P, r), l = R(r), f = s.useRef(null), m = W(o, f), [v, C] = s.useState(!1);
|
|
101
101
|
return s.useEffect(() => {
|
|
102
102
|
if (v) {
|
|
103
103
|
const t = document.body;
|
|
@@ -108,7 +108,7 @@ var Z = s.forwardRef((e, o) => {
|
|
|
108
108
|
}, [v]), s.useEffect(() => {
|
|
109
109
|
if (f.current) {
|
|
110
110
|
const t = () => {
|
|
111
|
-
|
|
111
|
+
C(!1), d.isPointerDownOnContentRef.current = !1, setTimeout(() => {
|
|
112
112
|
document.getSelection()?.toString() !== "" && (d.hasSelectionRef.current = !0);
|
|
113
113
|
});
|
|
114
114
|
};
|
|
@@ -126,7 +126,7 @@ var Z = s.forwardRef((e, o) => {
|
|
|
126
126
|
onInteractOutside: u,
|
|
127
127
|
onEscapeKeyDown: a,
|
|
128
128
|
onPointerDownOutside: n,
|
|
129
|
-
onFocusOutside:
|
|
129
|
+
onFocusOutside: h(c, (t) => {
|
|
130
130
|
t.preventDefault();
|
|
131
131
|
}),
|
|
132
132
|
onDismiss: d.onDismiss,
|
|
@@ -135,8 +135,8 @@ var Z = s.forwardRef((e, o) => {
|
|
|
135
135
|
{
|
|
136
136
|
...l,
|
|
137
137
|
...p,
|
|
138
|
-
onPointerDown:
|
|
139
|
-
t.currentTarget.contains(t.target) &&
|
|
138
|
+
onPointerDown: h(p.onPointerDown, (t) => {
|
|
139
|
+
t.currentTarget.contains(t.target) && C(!0), d.hasSelectionRef.current = !1, d.isPointerDownOnContentRef.current = !0;
|
|
140
140
|
}),
|
|
141
141
|
ref: m,
|
|
142
142
|
style: {
|
|
@@ -172,38 +172,39 @@ function oe(e) {
|
|
|
172
172
|
return o;
|
|
173
173
|
}
|
|
174
174
|
var re = N, ne = D, ae = A, se = L;
|
|
175
|
-
const M = F({}), ie = ({
|
|
175
|
+
const M = F({}), ie = ({ align: e, alignOffset: o, collisionBoundary: r, collisionPadding: a, side: n, sideOffset: c, width: u, ...p }) => /* @__PURE__ */ i(M.Provider, { value: { side: n, sideOffset: c, align: e, alignOffset: o, collisionBoundary: r, collisionPadding: a, width: u }, children: /* @__PURE__ */ i(re, { "data-slot": "hover-card", "data-testid": "spectral-hover-card", ...p }) });
|
|
176
176
|
ie.displayName = "HoverCard";
|
|
177
|
-
const ce = ({ ...e }) => /* @__PURE__ */ i(ne, { "data-slot": "hover-card-trigger", ...e });
|
|
177
|
+
const ce = ({ ...e }) => /* @__PURE__ */ i(ne, { "data-slot": "hover-card-trigger", "data-testid": "spectral-hover-card-trigger", ...e });
|
|
178
178
|
ce.displayName = "HoverCardTrigger";
|
|
179
179
|
const de = ({
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
180
|
+
align: e,
|
|
181
|
+
alignOffset: o,
|
|
182
|
+
className: r,
|
|
183
|
+
collisionBoundary: a,
|
|
184
|
+
collisionPadding: n,
|
|
185
|
+
side: c,
|
|
186
|
+
sideOffset: u,
|
|
187
|
+
width: p,
|
|
188
188
|
...d
|
|
189
189
|
}) => {
|
|
190
|
-
const l = I(M), f =
|
|
190
|
+
const l = I(M), f = e ?? l.align ?? "center", m = u ?? l.sideOffset ?? 4, v = c ?? l.side ?? "bottom", C = p ?? l.width ?? 380, t = o ?? l.alignOffset, g = a ?? l.collisionBoundary, S = n ?? l.collisionPadding;
|
|
191
191
|
return /* @__PURE__ */ i(ae, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ i(
|
|
192
192
|
se,
|
|
193
193
|
{
|
|
194
|
-
"data-slot": "hover-card-content",
|
|
195
194
|
align: f,
|
|
196
|
-
side: v,
|
|
197
|
-
sideOffset: m,
|
|
198
195
|
alignOffset: t,
|
|
199
|
-
collisionBoundary: g,
|
|
200
|
-
collisionPadding: S,
|
|
201
196
|
className: J(
|
|
202
197
|
"bg-popover-bg text-text-primary data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 origin-[--radix-hover-card-content-transform-origin] rounded-lg shadow-lg p-5 outline-none",
|
|
203
|
-
|
|
198
|
+
r
|
|
204
199
|
),
|
|
200
|
+
collisionBoundary: g,
|
|
201
|
+
collisionPadding: S,
|
|
202
|
+
"data-slot": "hover-card-content",
|
|
203
|
+
"data-testid": "spectral-hover-card-content",
|
|
204
|
+
side: v,
|
|
205
|
+
sideOffset: m,
|
|
205
206
|
style: {
|
|
206
|
-
width: typeof
|
|
207
|
+
width: typeof C == "number" ? `${C}px` : C === "trigger-width" ? "var(--radix-hover-card-trigger-width)" : "fit-content"
|
|
207
208
|
},
|
|
208
209
|
...d
|
|
209
210
|
}
|
package/dist/Input.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import "./styles/main.css";
|
|
3
|
-
import { jsxs as
|
|
4
|
-
import { usePasswordVisibility as tt, usePrefixWidth as
|
|
3
|
+
import { jsxs as u, jsx as t } from "react/jsx-runtime";
|
|
4
|
+
import { usePasswordVisibility as tt, usePrefixWidth as et, useClearOnFocus as rt } from "./Input/InputUtils.js";
|
|
5
5
|
import "./Icons/AnalyzeIcon.js";
|
|
6
6
|
import "./Icons/AnnotationsIcon.js";
|
|
7
7
|
import "./Icons/ApprovedIcon.js";
|
|
@@ -23,7 +23,7 @@ import "./Icons/EraserIcon.js";
|
|
|
23
23
|
import { ErrorIcon as st } from "./Icons/ErrorIcon.js";
|
|
24
24
|
import { EyeClosedIcon as at } from "./Icons/EyeClosedIcon.js";
|
|
25
25
|
import "./Icons/EyeClosedIcon2.js";
|
|
26
|
-
import { EyeOpenIcon as
|
|
26
|
+
import { EyeOpenIcon as pt } from "./Icons/EyeOpenIcon.js";
|
|
27
27
|
import "./Icons/GoToFirstIcon.js";
|
|
28
28
|
import "./Icons/GoToLastIcon.js";
|
|
29
29
|
import "./Icons/HarmonicCursorsIcon.js";
|
|
@@ -33,7 +33,7 @@ import "./Icons/LassoIcon.js";
|
|
|
33
33
|
import "./Icons/LineToolIcon.js";
|
|
34
34
|
import "./Icons/LineToolIcon2.js";
|
|
35
35
|
import "./Icons/LiveViewIcon.js";
|
|
36
|
-
import { LoaderIcon as
|
|
36
|
+
import { LoaderIcon as nt } from "./Icons/LoaderIcon.js";
|
|
37
37
|
import "./Icons/LocationIcon.js";
|
|
38
38
|
import "./Icons/LogoutIcon.js";
|
|
39
39
|
import "./Icons/MessagesIcon.js";
|
|
@@ -60,7 +60,7 @@ import "./Icons/ZoomAllIcon.js";
|
|
|
60
60
|
import "./Icons/ZoomXIcon.js";
|
|
61
61
|
import "./Icons/ZoomYIcon.js";
|
|
62
62
|
import { Label as lt } from "./Label.js";
|
|
63
|
-
import { useFormFieldId as ct, getAriaProps as mt, getInputClasses as
|
|
63
|
+
import { useFormFieldId as ct, getAriaProps as mt, getInputClasses as dt, useFormFieldState as ut, getFormFieldCSSProperties as ft, ErrorMessage as ht } from "./utils/formFieldUtils.js";
|
|
64
64
|
import { cn as f } from "./utils/twUtils.js";
|
|
65
65
|
import { forwardRef as bt, useRef as xt, useCallback as c } from "react";
|
|
66
66
|
const gt = (m) => ({
|
|
@@ -77,92 +77,92 @@ const gt = (m) => ({
|
|
|
77
77
|
className: m,
|
|
78
78
|
clearOnFocus: h = !1,
|
|
79
79
|
disabled: k,
|
|
80
|
-
|
|
80
|
+
endIcon: b,
|
|
81
|
+
errorMessage: x,
|
|
81
82
|
id: P,
|
|
82
|
-
label:
|
|
83
|
+
label: r,
|
|
83
84
|
labelClassName: R,
|
|
84
|
-
name:
|
|
85
|
-
onBlur:
|
|
85
|
+
name: g,
|
|
86
|
+
onBlur: C,
|
|
86
87
|
onChange: a,
|
|
87
|
-
onFocus:
|
|
88
|
+
onFocus: w,
|
|
88
89
|
placeholder: S,
|
|
89
|
-
prefix:
|
|
90
|
-
showClearButton: V = !1,
|
|
91
|
-
suppressHydrationWarning: $ = !0,
|
|
92
|
-
state: i = "default",
|
|
93
|
-
type: p = "text",
|
|
94
|
-
value: w = "",
|
|
90
|
+
prefix: p,
|
|
95
91
|
required: v,
|
|
92
|
+
showClearButton: V = !1,
|
|
96
93
|
startIcon: y,
|
|
97
|
-
|
|
94
|
+
state: i = "default",
|
|
95
|
+
suppressHydrationWarning: $ = !0,
|
|
96
|
+
type: n = "text",
|
|
97
|
+
value: I = "",
|
|
98
98
|
"aria-label": L,
|
|
99
99
|
"aria-describedby": M,
|
|
100
100
|
...O
|
|
101
101
|
}, j) => {
|
|
102
|
-
const l = ct(P,
|
|
103
|
-
(
|
|
104
|
-
|
|
102
|
+
const l = ct(P, g), N = `${l}-error`, { isDisabled: F, isLoading: A, isInvalid: B } = ut(k, i), H = mt(i, M, v, N), T = xt(null), s = j || T, { isVisible: d, toggleVisibility: W, inputType: D } = tt(), { prefixWidth: G, prefixRef: J } = et(p), { handleFocus: E } = rt(h, a ? (e) => a(e.target.value) : void 0), K = c(
|
|
103
|
+
(e) => {
|
|
104
|
+
C?.(e);
|
|
105
105
|
},
|
|
106
|
-
[
|
|
106
|
+
[C]
|
|
107
107
|
), Q = c(
|
|
108
|
-
(
|
|
109
|
-
E(
|
|
108
|
+
(e) => {
|
|
109
|
+
E(e, w);
|
|
110
110
|
},
|
|
111
|
-
[E,
|
|
111
|
+
[E, w]
|
|
112
112
|
), U = c(
|
|
113
|
-
(
|
|
114
|
-
const o =
|
|
113
|
+
(e) => {
|
|
114
|
+
const o = e.target.value;
|
|
115
115
|
a?.(o);
|
|
116
116
|
},
|
|
117
117
|
[a]
|
|
118
118
|
), X = c(() => {
|
|
119
119
|
s.current && (s.current.value = "", s.current.dispatchEvent(new Event("input", { bubbles: !0 })), s.current.focus());
|
|
120
|
-
}, [s]), z = V &&
|
|
121
|
-
const
|
|
122
|
-
password: () => /* @__PURE__ */ t("button", {
|
|
123
|
-
clear: () => /* @__PURE__ */ t("button", {
|
|
124
|
-
loading: () => /* @__PURE__ */ t("div", { className: "absolute right-4 top-1/2 -translate-y-1/2", "data-testid": "input-loading-icon", children: /* @__PURE__ */ t(
|
|
125
|
-
error: () => /* @__PURE__ */ t("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 text-danger-400", "data-testid": "input-error-icon", children: /* @__PURE__ */ t(st, { size: 24 }) }),
|
|
126
|
-
success: () => /* @__PURE__ */ t("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 text-success-400", "data-testid": "input-success-icon", children: /* @__PURE__ */ t(ot, { size: 24 }) })
|
|
120
|
+
}, [s]), z = V && I.length > 0, Y = () => {
|
|
121
|
+
const e = "absolute right-4 top-1/2 -translate-y-1/2 text-input-icon hover:text-input-icon--hover focus:outline-none cursor-pointer", o = {
|
|
122
|
+
password: () => /* @__PURE__ */ t("button", { "aria-controls": l, "aria-label": d ? `Hide ${r}` : `Show ${r}`, "aria-pressed": d, className: e, "data-testid": "spectral-input-password-toggle", onClick: W, type: "button", children: d ? /* @__PURE__ */ t(at, { size: 22 }) : /* @__PURE__ */ t(pt, { size: 22 }) }),
|
|
123
|
+
clear: () => /* @__PURE__ */ t("button", { "aria-label": `Clear ${r}`, "aria-pressed": !1, className: e, "data-testid": "spectral-input-clear-button", onClick: X, type: "button", children: /* @__PURE__ */ t(it, { size: 24 }) }),
|
|
124
|
+
loading: () => /* @__PURE__ */ t("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 text-input-icon", "data-testid": "spectral-input-loading-icon", children: /* @__PURE__ */ t(nt, { size: 24 }) }),
|
|
125
|
+
error: () => /* @__PURE__ */ t("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 text-danger-400", "data-testid": "spectral-input-error-icon", children: /* @__PURE__ */ t(st, { size: 24 }) }),
|
|
126
|
+
success: () => /* @__PURE__ */ t("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 text-success-400", "data-testid": "spectral-input-success-icon", children: /* @__PURE__ */ t(ot, { size: 24 }) })
|
|
127
127
|
};
|
|
128
|
-
return
|
|
129
|
-
}, Z = () => y || null, _ = f(
|
|
130
|
-
return /* @__PURE__ */
|
|
131
|
-
|
|
132
|
-
/* @__PURE__ */
|
|
133
|
-
/* @__PURE__ */
|
|
128
|
+
return b || (n === "password" ? o.password() : z ? o.clear() : A ? o.loading() : i === "success" ? o.success() : i === "error" ? o.error() : null);
|
|
129
|
+
}, Z = () => y || null, _ = f(dt(i, m), "[text-indent:var(--prefix-width)]", z && "pr-10"), q = f("pointer-events-none absolute inset-y-0 left-4 flex items-center text-base text-input-text-prefix opacity-100 peer-disabled:opacity-50");
|
|
130
|
+
return /* @__PURE__ */ u("div", { className: "w-full space-y-1.5", "data-testid": "spectral-input-container", children: [
|
|
131
|
+
r && /* @__PURE__ */ t(lt, { className: f("block mb-2", R, F && "text-input-text--disabled placeholder:text-input-text-placeholder cursor-not-allowed"), "data-testid": "spectral-input-label", htmlFor: l, children: r }),
|
|
132
|
+
/* @__PURE__ */ u("div", { className: "relative", "data-testid": "spectral-input-wrapper", children: [
|
|
133
|
+
/* @__PURE__ */ u("div", { className: "relative", children: [
|
|
134
134
|
Z(),
|
|
135
|
-
|
|
135
|
+
p && /* @__PURE__ */ t("span", { ref: J, className: q, children: p }),
|
|
136
136
|
/* @__PURE__ */ t(
|
|
137
137
|
"input",
|
|
138
138
|
{
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
ref: s,
|
|
142
|
-
type: p === "password" ? T : p,
|
|
143
|
-
value: w,
|
|
144
|
-
disabled: F,
|
|
145
|
-
required: v,
|
|
146
|
-
autoComplete: gt(p),
|
|
139
|
+
"aria-label": L || r,
|
|
140
|
+
autoComplete: gt(n),
|
|
147
141
|
className: _,
|
|
142
|
+
"data-state": i,
|
|
143
|
+
"data-testid": "spectral-input",
|
|
144
|
+
disabled: F,
|
|
145
|
+
id: l,
|
|
146
|
+
name: g,
|
|
147
|
+
onBlur: K,
|
|
148
148
|
onChange: U,
|
|
149
149
|
onFocus: Q,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
...H,
|
|
154
|
-
...O,
|
|
155
|
-
"data-testid": "input-input",
|
|
156
|
-
"data-state": i,
|
|
150
|
+
placeholder: S || r,
|
|
151
|
+
ref: s,
|
|
152
|
+
required: v,
|
|
157
153
|
style: ft({
|
|
158
|
-
"--prefix-width":
|
|
154
|
+
"--prefix-width": p ? `${G}px` : "0px"
|
|
159
155
|
}),
|
|
160
|
-
|
|
156
|
+
suppressHydrationWarning: $,
|
|
157
|
+
type: n === "password" ? D : n,
|
|
158
|
+
value: I,
|
|
159
|
+
...H,
|
|
160
|
+
...O
|
|
161
161
|
}
|
|
162
162
|
),
|
|
163
163
|
Y()
|
|
164
164
|
] }),
|
|
165
|
-
B &&
|
|
165
|
+
B && x && /* @__PURE__ */ t(ht, { dataTestId: "spectral-input-error-message", id: N, message: x })
|
|
166
166
|
] })
|
|
167
167
|
] });
|
|
168
168
|
}
|
package/dist/InputOTP.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OTPInputProps } from 'input-otp';
|
|
2
2
|
type InputOTPRootProps = Omit<OTPInputProps, 'textAlign' | 'pushPasswordManagerStrategy' | 'pasteTransformer' | 'noScriptCSSFallback' | 'placeholder' | 'containerClassName' | 'render'> & {
|
|
3
3
|
onComplete?: (...args: unknown[]) => void;
|
|
4
|
-
inputMode?: 'numeric' | 'text' | 'decimal' | 'tel' | 'search' | 'email' | 'url';
|
|
5
4
|
className?: string;
|
|
5
|
+
inputMode?: 'numeric' | 'text' | 'decimal' | 'tel' | 'search' | 'email' | 'url';
|
|
6
6
|
separator?: boolean;
|
|
7
7
|
variant?: 'outlined' | 'filled';
|
|
8
8
|
};
|