@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.
- package/dist/.js +201 -200
- package/dist/Accordion.d.ts +13 -15
- package/dist/Accordion.js +184 -179
- package/dist/Alert/AlertBase.d.ts +7 -7
- package/dist/Alert/AlertBase.js +21 -21
- package/dist/Alert.d.ts +2 -2
- package/dist/Alert.js +31 -31
- package/dist/Avatar.d.ts +2 -2
- package/dist/Avatar.js +30 -22
- package/dist/Badge.d.ts +1 -1
- package/dist/Badge.js +3 -2
- package/dist/Button.d.ts +3 -3
- package/dist/Button.js +108 -46
- package/dist/ButtonGroup/ButtonGroupButton.d.ts +1 -1
- package/dist/ButtonGroup/ButtonGroupButton.js +5 -5
- package/dist/ButtonGroup.d.ts +5 -5
- package/dist/ButtonGroup.js +21 -21
- package/dist/ButtonIcon.d.ts +2 -2
- package/dist/ButtonIcon.js +30 -31
- package/dist/Checkbox/CheckboxBase.d.ts +2 -2
- package/dist/Checkbox/CheckboxBase.js +50 -57
- package/dist/Checkbox.js +15 -19
- package/dist/DataCard/Card.d.ts +1 -1
- package/dist/DataCard/Card.js +1 -1
- package/dist/DataCard.js +1 -1
- package/dist/DateTimePicker/Calendar.d.ts +4 -4
- package/dist/DateTimePicker/Calendar.js +3 -3
- package/dist/DateTimePicker/DateTimeDisplayInput.js +126 -136
- package/dist/DateTimePicker/DateTimeInput.js +4 -4
- package/dist/DateTimePicker/DateTimeUtils.d.ts +31 -31
- package/dist/DateTimePicker/DateTimeUtils.js +139 -197
- package/dist/DateTimePicker/TimePicker.d.ts +4 -4
- package/dist/DateTimePicker/TimePicker.js +3 -3
- package/dist/DateTimePicker.d.ts +5 -5
- package/dist/DateTimePicker.js +90 -70
- package/dist/Dialog.d.ts +13 -13
- package/dist/Dialog.js +57 -84
- package/dist/Drawer.d.ts +2 -2
- package/dist/Drawer.js +8 -8
- package/dist/HoverCard.d.ts +6 -5
- package/dist/HoverCard.js +64 -64
- package/dist/Icons/PolygonIcon.d.ts +5 -0
- package/dist/Icons/PolygonIcon.js +40 -0
- package/dist/Icons/index.d.ts +1 -1
- package/dist/Icons.js +34 -34
- package/dist/IconsAnimated/PanelLeftCloseIcon.js +2 -2
- package/dist/IconsAnimated/PanelLeftOpenIcon.js +2 -2
- package/dist/Input/InputUtils.d.ts +2 -2
- package/dist/Input/InputUtils.js +4 -4
- package/dist/Input.d.ts +1 -1
- package/dist/Input.js +19 -19
- package/dist/InputOTP.d.ts +10 -10
- package/dist/InputOTP.js +114 -114
- package/dist/Kbd.d.ts +8 -5
- package/dist/Kbd.js +85 -20
- package/dist/Label.d.ts +4 -2
- package/dist/Label.js +3 -3
- package/dist/MultiSelect/MultiSelectBase.d.ts +1 -1
- package/dist/MultiSelect/MultiSelectBase.js +278 -202
- package/dist/MultiSelect.d.ts +6 -6
- package/dist/MultiSelect.js +9 -9
- package/dist/Popover.js +22 -237
- package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +11 -11
- package/dist/RadioButtonGroup/RadioButtonGroupBase.js +28 -28
- package/dist/RadioButtonGroup.d.ts +1 -1
- package/dist/RadioGroup.d.ts +15 -15
- package/dist/RadioGroup.js +253 -236
- package/dist/Select.d.ts +3 -1
- package/dist/Select.js +91 -88
- package/dist/Separator.js +4 -4
- package/dist/Skeleton.d.ts +1 -2
- package/dist/Skeleton.js +2 -4
- package/dist/Slider.d.ts +6 -6
- package/dist/Slider.js +78 -78
- package/dist/Switch/SwitchBase.d.ts +4 -4
- package/dist/Switch/SwitchBase.js +75 -111
- package/dist/Switch.d.ts +4 -4
- package/dist/Switch.js +122 -33
- package/dist/Tabs/TabsBase.js +39 -38
- package/dist/Tabs/tabsUtils.js +7 -7
- package/dist/Tabs.d.ts +0 -4
- package/dist/Tabs.js +62 -66
- package/dist/Textarea/TextareaUtils.d.ts +7 -7
- package/dist/Textarea/TextareaUtils.js +13 -13
- package/dist/Textarea.js +28 -18
- package/dist/Toast.d.ts +43 -0
- package/dist/Toast.js +883 -0
- package/dist/Toggle/ToggleBase.d.ts +4 -4
- package/dist/Toggle/ToggleBase.js +32 -33
- package/dist/Toggle.d.ts +1 -1
- package/dist/Toggle.js +7 -12
- package/dist/ToggleGroup/ToggleGroupBase.d.ts +5 -5
- package/dist/ToggleGroup/ToggleGroupBase.js +30 -30
- package/dist/ToggleGroup.d.ts +1 -1
- package/dist/ToggleGroup.js +27 -30
- package/dist/Tooltip.d.ts +1 -1
- package/dist/Tooltip.js +97 -97
- package/dist/Tray.d.ts +9 -9
- package/dist/Tray.js +71 -70
- package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
- package/dist/hooks/useAccordionAutoScroll.js +42 -39
- package/dist/hooks/useControllableState.d.ts +2 -2
- package/dist/hooks/useControllableState.d.ts.map +1 -1
- package/dist/hooks/useControllableState.js +2 -2
- package/dist/index-C12FUuIW.js +13 -0
- package/dist/{index-yU8jOTzS.js → index-CpovUAO-.js} +1 -1
- package/dist/{index-BdS7Ix8W.js → index-CqbPiOid.js} +1 -1
- package/dist/{index-B3UpsZ2x.js → index-CrjD9cAD.js} +1 -1
- package/dist/index-DEYs15GP.js +66 -0
- package/dist/index-DdFoGvON.js +146 -0
- package/dist/index-Q3N6lgwg.js +225 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/primitives/button.d.ts +1 -1
- package/dist/primitives/button.js +4 -4
- package/dist/primitives/input.d.ts.map +1 -1
- package/dist/primitives/input.js +8 -5
- package/dist/primitives/select.d.ts +12 -13
- package/dist/primitives/select.d.ts.map +1 -1
- package/dist/primitives/select.js +59 -88
- package/dist/primitives/slot.d.ts +5 -5
- package/dist/primitives/slot.d.ts.map +1 -1
- package/dist/primitives/slot.js +24 -33
- package/dist/primitives/textarea.d.ts.map +1 -1
- package/dist/primitives/textarea.js +4 -3
- package/dist/{proxy-Cukf-VVj.js → proxy-CgaCj1WQ.js} +7 -3
- package/dist/styles/base-colors.css +30 -30
- package/dist/styles/horizon/base-colors.css +30 -30
- package/dist/styles/horizon/colors.css +43 -13
- package/dist/styles/horizon/utilities.css +26 -3
- package/dist/styles/main.css +1 -1
- package/dist/styles/spectral.css +2 -2
- package/dist/styles/theme.css +99 -46
- package/dist/{use-animation-zNd5Nq85.js → use-animation-CR-SdV2l.js} +1 -1
- package/dist/utils/formFieldUtils.d.ts +2 -2
- package/dist/utils/formFieldUtils.d.ts.map +1 -1
- package/dist/utils/formFieldUtils.js +14 -11
- package/dist/utils/sharedUtils.d.ts +3 -3
- package/dist/utils/sharedUtils.d.ts.map +1 -1
- package/dist/utils/sharedUtils.js +1 -4
- package/dist/utils/twUtils.d.ts +1 -1
- package/dist/utils/twUtils.d.ts.map +1 -1
- package/dist/utils/twUtils.js +1 -4
- package/package.json +6 -1
- package/dist/Icons/LineToolIcon2.d.ts +0 -5
- package/dist/Icons/LineToolIcon2.js +0 -49
- package/dist/createLucideIcon-D4r5Phnh.js +0 -70
- package/dist/index-CeP1E2kK.js +0 -209
- package/dist/index-Dy-Hzr7y.js +0 -13
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AsChildProp } from '../primitives/slot';
|
|
2
2
|
import { ButtonHTMLAttributes, Ref } from 'react';
|
|
3
3
|
export type ToggleProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> & Omit<AsChildProp, 'asChild'> & {
|
|
4
|
-
|
|
4
|
+
asChild?: boolean;
|
|
5
5
|
defaultPressed?: boolean;
|
|
6
|
-
onPressedChange?: (pressed: boolean) => void;
|
|
7
6
|
disabled?: boolean;
|
|
8
|
-
|
|
7
|
+
onPressedChange?: (pressed: boolean) => void;
|
|
8
|
+
pressed?: boolean;
|
|
9
9
|
};
|
|
10
|
-
export declare const ToggleBase: ({
|
|
10
|
+
export declare const ToggleBase: ({ asChild, children, className, defaultPressed, disabled, onClick, onKeyDown, onPressedChange, pressed: pressedProp, ref, ...rest }: ToggleProps & {
|
|
11
11
|
ref?: Ref<HTMLButtonElement>;
|
|
12
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
//# sourceMappingURL=ToggleBase.d.ts.map
|
|
@@ -1,60 +1,59 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import "../styles/main.css";
|
|
3
3
|
import { jsx as s } from "react/jsx-runtime";
|
|
4
|
-
import { useControllableState as
|
|
5
|
-
import { Slot as
|
|
4
|
+
import { useControllableState as k } from "../hooks/useControllableState.js";
|
|
5
|
+
import { Slot as x } from "../primitives/slot.js";
|
|
6
6
|
import { useCallback as f } from "react";
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const B = function({
|
|
8
|
+
asChild: c = !1,
|
|
9
|
+
children: l,
|
|
10
|
+
className: m,
|
|
11
|
+
defaultPressed: g = !1,
|
|
12
12
|
disabled: t,
|
|
13
|
-
|
|
14
|
-
onKeyDown:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
children: u,
|
|
13
|
+
onClick: n,
|
|
14
|
+
onKeyDown: a,
|
|
15
|
+
onPressedChange: v,
|
|
16
|
+
pressed: h,
|
|
17
|
+
ref: u,
|
|
19
18
|
...i
|
|
20
19
|
}) {
|
|
21
|
-
const [r, d] =
|
|
22
|
-
defaultValue:
|
|
23
|
-
onChange:
|
|
24
|
-
value:
|
|
20
|
+
const [r, d] = k({
|
|
21
|
+
defaultValue: g,
|
|
22
|
+
onChange: v,
|
|
23
|
+
value: h
|
|
25
24
|
}), o = f(() => {
|
|
26
25
|
t || d(!r);
|
|
27
|
-
}, [t, r, d]),
|
|
26
|
+
}, [t, r, d]), P = f(
|
|
28
27
|
(e) => {
|
|
29
|
-
|
|
28
|
+
a && a(e), !e.defaultPrevented && (e.key === " " || e.key === "Enter") && (e.preventDefault(), o());
|
|
30
29
|
},
|
|
31
|
-
[o,
|
|
32
|
-
),
|
|
30
|
+
[o, a]
|
|
31
|
+
), b = f(
|
|
33
32
|
(e) => {
|
|
34
|
-
|
|
33
|
+
n && n(e), !e.defaultPrevented && o();
|
|
35
34
|
},
|
|
36
|
-
[o,
|
|
35
|
+
[o, n]
|
|
37
36
|
), p = {
|
|
38
|
-
|
|
37
|
+
className: m,
|
|
38
|
+
onClick: b,
|
|
39
|
+
onKeyDown: P,
|
|
40
|
+
"aria-disabled": t ?? void 0,
|
|
39
41
|
"aria-pressed": r,
|
|
40
42
|
"data-state": r ? "on" : "off",
|
|
41
|
-
"data-disabled": t
|
|
42
|
-
className: v,
|
|
43
|
-
onClick: k,
|
|
44
|
-
onKeyDown: b
|
|
43
|
+
"data-disabled": t ?? void 0
|
|
45
44
|
};
|
|
46
|
-
return
|
|
45
|
+
return c ? /* @__PURE__ */ s(
|
|
47
46
|
"div",
|
|
48
47
|
{
|
|
49
|
-
ref:
|
|
48
|
+
ref: u,
|
|
50
49
|
role: "button",
|
|
51
50
|
tabIndex: t ? -1 : 0,
|
|
52
51
|
...i,
|
|
53
52
|
...p,
|
|
54
|
-
children: /* @__PURE__ */ s(
|
|
53
|
+
children: /* @__PURE__ */ s(x, { children: l })
|
|
55
54
|
}
|
|
56
|
-
) : /* @__PURE__ */ s("button", {
|
|
55
|
+
) : /* @__PURE__ */ s("button", { ...i, ...p, disabled: t, ref: u, type: "button", children: l });
|
|
57
56
|
};
|
|
58
57
|
export {
|
|
59
|
-
|
|
58
|
+
B as ToggleBase
|
|
60
59
|
};
|
package/dist/Toggle.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ToggleBase } from './ToggleBase';
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import { ComponentProps, CSSProperties, Ref } from 'react';
|
|
4
4
|
export type ActiveColor = string;
|
|
5
|
-
export declare
|
|
5
|
+
export declare const getActiveColorStyle: (activeColor: ActiveColor | undefined, activeTextColor?: ActiveColor) => CSSProperties | undefined;
|
|
6
6
|
export type ToggleProps = ComponentProps<typeof ToggleBase> & VariantProps<typeof toggleVariants> & {
|
|
7
7
|
activeColor?: ActiveColor;
|
|
8
8
|
activeTextColor?: ActiveColor;
|
package/dist/Toggle.js
CHANGED
|
@@ -4,11 +4,7 @@ import { ToggleBase as v } from "./Toggle/ToggleBase.js";
|
|
|
4
4
|
import { cn as b } from "./utils/twUtils.js";
|
|
5
5
|
import { c as u } from "./index-D29mdTf5.js";
|
|
6
6
|
import "react";
|
|
7
|
-
const h = /^(#|rgb|hsl|oklch|oklab|lab|lch|color|var\(|transparent|currentcolor)/i, f = /^(success|warning|danger|primary|neutral|secondary)-\d
|
|
8
|
-
function o(e) {
|
|
9
|
-
return h.test(e) ? e : f.test(e) ? `var(--horizon-color-${e})` : `var(--color-${e})`;
|
|
10
|
-
}
|
|
11
|
-
function p(e, t) {
|
|
7
|
+
const h = /^(#|rgb|hsl|oklch|oklab|lab|lch|color|var\(|transparent|currentcolor)/i, f = /^(success|warning|danger|primary|neutral|secondary)-\d+$/, o = (e) => h.test(e) ? e : f.test(e) ? `var(--horizon-color-${e})` : `var(--color-${e})`, p = (e, t) => {
|
|
12
8
|
if (!(!e && !t))
|
|
13
9
|
return {
|
|
14
10
|
...e && {
|
|
@@ -19,10 +15,9 @@ function p(e, t) {
|
|
|
19
15
|
"--color-toggle-text--active": o(t)
|
|
20
16
|
}
|
|
21
17
|
};
|
|
22
|
-
}
|
|
23
|
-
const m = u(
|
|
18
|
+
}, m = u(
|
|
24
19
|
`
|
|
25
|
-
bg-toggle-bg inline-flex items-center justify-center gap-2 border rounded-md text-sm shadow-sm font-medium w-fit text-toggle-text whitespace-nowrap outline-none transition-
|
|
20
|
+
bg-toggle-bg inline-flex items-center justify-center gap-2 border rounded-md text-sm shadow-sm font-medium w-fit text-toggle-text whitespace-nowrap outline-none transition-colors
|
|
26
21
|
[&_svg]:pointer-events-none [&_svg]:shrink-0 active:bg-toggle-bg--active hover:cursor-pointer hover:bg-toggle-bg--hover hover:border-toggle-border--hover hover:text-toggle-text--hover
|
|
27
22
|
data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed data-[state=on]:bg-toggle-bg--active data-[state=on]:text-toggle-text--active
|
|
28
23
|
data-[state=on]:border-toggle-border--active focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] focus:outline-none aria-invalid:ring-danger-200/20
|
|
@@ -32,12 +27,12 @@ const m = u(
|
|
|
32
27
|
variants: {
|
|
33
28
|
variant: {
|
|
34
29
|
default: "border-toggle-border hover:border-toggle-border--hover",
|
|
35
|
-
outline: "border-toggle-outline-border hover:bg-toggle-bg--hover"
|
|
30
|
+
outline: "border-toggle-outline-border hover:bg-toggle-bg--hover hover:border-toggle-outline-border--hover"
|
|
36
31
|
},
|
|
37
32
|
size: {
|
|
38
|
-
default: "h-9 px-3 min-w-9 [&_svg:not([class*='size-']:not([width]):not([height])]:size-4",
|
|
39
|
-
sm: "h-8 px-1.5 min-w-8 [&_svg:not([class*='size-']:not([width]):not([height])]:size-3",
|
|
40
|
-
lg: "h-10 px-2.5 min-w-10 [&_svg:not([class*='size-']:not([width]):not([height])]:size-5"
|
|
33
|
+
default: "h-9 px-3 min-w-9 [&_svg:not([class*='size-']):not([width]):not([height])]:size-4",
|
|
34
|
+
sm: "h-8 px-1.5 min-w-8 [&_svg:not([class*='size-']):not([width]):not([height])]:size-3",
|
|
35
|
+
lg: "h-10 px-2.5 min-w-10 [&_svg:not([class*='size-']):not([width]):not([height])]:size-5"
|
|
41
36
|
},
|
|
42
37
|
layout: {
|
|
43
38
|
default: "w-fit",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes, HTMLAttributes, ReactNode, Ref } from 'react';
|
|
2
2
|
type Orientation = 'horizontal' | 'vertical';
|
|
3
|
-
export
|
|
3
|
+
export interface CommonGroupProps {
|
|
4
4
|
className?: string;
|
|
5
5
|
defaultValue?: string | string[];
|
|
6
6
|
disabled?: boolean;
|
|
@@ -9,7 +9,7 @@ export type CommonGroupProps = {
|
|
|
9
9
|
onValueChange?: (v: string | string[]) => void;
|
|
10
10
|
orientation?: Orientation;
|
|
11
11
|
value?: string | string[];
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
export type SingleProps = CommonGroupProps & {
|
|
14
14
|
type?: 'single';
|
|
15
15
|
};
|
|
@@ -17,13 +17,13 @@ export type MultipleProps = CommonGroupProps & {
|
|
|
17
17
|
type: 'multiple';
|
|
18
18
|
};
|
|
19
19
|
export type ToggleGroupProps = (SingleProps | MultipleProps) & Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>;
|
|
20
|
-
export
|
|
20
|
+
export interface ItemRenderProps {
|
|
21
21
|
children?: ReactNode;
|
|
22
22
|
className?: string;
|
|
23
23
|
disabled?: boolean;
|
|
24
24
|
value: string;
|
|
25
|
-
}
|
|
26
|
-
export declare const ToggleGroupBase: (props: ToggleGroupProps & Record<`data-${string}`,
|
|
25
|
+
}
|
|
26
|
+
export declare const ToggleGroupBase: (props: ToggleGroupProps & Record<`data-${string}`, unknown>) => import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
export type ToggleGroupItemProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'onPressedChange' | 'pressed' | 'defaultPressed'> & ItemRenderProps & {
|
|
28
28
|
/** @deprecated This prop is ignored - pressed state is managed by ToggleGroup */
|
|
29
29
|
pressed?: boolean;
|
|
@@ -9,7 +9,7 @@ const T = j(null), Q = (C) => {
|
|
|
9
9
|
className: z,
|
|
10
10
|
defaultValue: r,
|
|
11
11
|
disabled: l = !1,
|
|
12
|
-
loop:
|
|
12
|
+
loop: p = !0,
|
|
13
13
|
name: x,
|
|
14
14
|
onValueChange: v,
|
|
15
15
|
orientation: u = "horizontal",
|
|
@@ -17,46 +17,46 @@ const T = j(null), Q = (C) => {
|
|
|
17
17
|
value: a,
|
|
18
18
|
"data-variant": D,
|
|
19
19
|
"data-size": b,
|
|
20
|
-
"data-slot":
|
|
20
|
+
"data-slot": m,
|
|
21
21
|
"data-layout": w,
|
|
22
22
|
...G
|
|
23
|
-
} = C,
|
|
24
|
-
defaultValue: typeof r < "u" ? r :
|
|
23
|
+
} = C, g = d === "multiple", [n, y] = M({
|
|
24
|
+
defaultValue: typeof r < "u" ? r : g ? [] : "",
|
|
25
25
|
onChange: v,
|
|
26
26
|
value: a
|
|
27
|
-
}), o = S([]),
|
|
27
|
+
}), o = S([]), c = i((t, s) => {
|
|
28
28
|
const P = { val: t, el: s, disabled: !!s?.disabled };
|
|
29
29
|
return o.current = [...o.current.filter((A) => A.val !== t), P], () => {
|
|
30
30
|
o.current = o.current.filter((A) => A.val !== t);
|
|
31
31
|
};
|
|
32
32
|
}, []), V = i(() => o.current.slice(), []), k = i(
|
|
33
|
-
(t) =>
|
|
34
|
-
[
|
|
35
|
-
), e = i((t) =>
|
|
33
|
+
(t) => g ? Array.isArray(n) && n.includes(t) : n === t,
|
|
34
|
+
[g, n]
|
|
35
|
+
), e = i((t) => y(t), [y]), f = i(
|
|
36
36
|
(t) => {
|
|
37
37
|
const s = o.current;
|
|
38
38
|
if (s.length === 0) return;
|
|
39
|
-
const P = s.length - 1, A =
|
|
39
|
+
const P = s.length - 1, A = p ? (t % s.length + s.length) % s.length : R(t, 0, P);
|
|
40
40
|
s[A]?.el?.focus();
|
|
41
41
|
},
|
|
42
|
-
[
|
|
42
|
+
[p]
|
|
43
43
|
), h = H(
|
|
44
44
|
() => ({
|
|
45
|
-
focusItemByIndex:
|
|
45
|
+
focusItemByIndex: f,
|
|
46
46
|
groupDisabled: l,
|
|
47
47
|
isItemPressed: k,
|
|
48
48
|
itemsSnapshot: V,
|
|
49
|
-
loop:
|
|
49
|
+
loop: p,
|
|
50
50
|
name: x,
|
|
51
51
|
orientation: u,
|
|
52
|
-
register:
|
|
52
|
+
register: c,
|
|
53
53
|
setValue: e,
|
|
54
54
|
type: d,
|
|
55
55
|
value: n
|
|
56
56
|
}),
|
|
57
|
-
[l, k, V,
|
|
57
|
+
[f, l, k, V, p, x, u, c, e, d, n]
|
|
58
58
|
), I = x;
|
|
59
|
-
return /* @__PURE__ */ E("div", { className: z, "data-disabled": l ? "" : void 0, "data-layout": w, "data-orientation": u, "data-size": b, "data-slot":
|
|
59
|
+
return /* @__PURE__ */ E("div", { className: z, "data-disabled": l ? "" : void 0, "data-layout": w, "data-orientation": u, "data-size": b, "data-slot": m, "data-variant": D, role: "group", ...G, children: [
|
|
60
60
|
/* @__PURE__ */ B(T.Provider, { value: h, children: C.children }),
|
|
61
61
|
I && d === "single" && typeof n == "string" ? /* @__PURE__ */ B("input", { type: "hidden", name: I, value: n }) : null,
|
|
62
62
|
I && d === "multiple" && Array.isArray(n) ? n.map((t) => /* @__PURE__ */ B("input", { type: "hidden", name: I + "[]", value: t }, t)) : null
|
|
@@ -65,7 +65,7 @@ const T = j(null), Q = (C) => {
|
|
|
65
65
|
ref: z,
|
|
66
66
|
value: r,
|
|
67
67
|
disabled: l,
|
|
68
|
-
className:
|
|
68
|
+
className: p,
|
|
69
69
|
children: x,
|
|
70
70
|
onKeyDown: v,
|
|
71
71
|
onClick: u,
|
|
@@ -73,33 +73,33 @@ const T = j(null), Q = (C) => {
|
|
|
73
73
|
}) {
|
|
74
74
|
const a = K(T);
|
|
75
75
|
if (!a) throw new Error("ToggleGroupItem must be used within ToggleGroup");
|
|
76
|
-
const { type: D, orientation: b, groupDisabled:
|
|
77
|
-
L(z, () =>
|
|
78
|
-
const o = G(r),
|
|
79
|
-
if (!(
|
|
76
|
+
const { type: D, orientation: b, groupDisabled: m, setValue: w, isItemPressed: G, itemsSnapshot: g, register: n } = a, y = S(null);
|
|
77
|
+
L(z, () => y.current), N(() => n(r, y.current), [n, r]);
|
|
78
|
+
const o = G(r), c = i(() => {
|
|
79
|
+
if (!(m || l))
|
|
80
80
|
if (D === "single") w(o ? "" : r);
|
|
81
81
|
else {
|
|
82
|
-
const e = a.value,
|
|
83
|
-
w(
|
|
82
|
+
const e = a.value, f = o ? e.filter((h) => h !== r) : [...e, r];
|
|
83
|
+
w(f);
|
|
84
84
|
}
|
|
85
|
-
}, [a.value, l,
|
|
85
|
+
}, [a.value, l, m, o, w, D, r]), V = i(
|
|
86
86
|
(e) => {
|
|
87
87
|
if (v && v(e), e.defaultPrevented) return;
|
|
88
88
|
if (e.key === " " || e.key === "Enter") {
|
|
89
|
-
e.preventDefault(),
|
|
89
|
+
e.preventDefault(), c();
|
|
90
90
|
return;
|
|
91
91
|
}
|
|
92
|
-
const
|
|
93
|
-
e.key === I ? (e.preventDefault(), a.focusItemByIndex(h - 1)) : e.key === t ? (e.preventDefault(), a.focusItemByIndex(h + 1)) : e.key === "Home" ? (e.preventDefault(), a.focusItemByIndex(0)) : e.key === "End" && (e.preventDefault(), a.focusItemByIndex(
|
|
92
|
+
const f = g(), h = f.findIndex((s) => s.val === r), I = b === "horizontal" ? "ArrowLeft" : "ArrowUp", t = b === "horizontal" ? "ArrowRight" : "ArrowDown";
|
|
93
|
+
e.key === I ? (e.preventDefault(), a.focusItemByIndex(h - 1)) : e.key === t ? (e.preventDefault(), a.focusItemByIndex(h + 1)) : e.key === "Home" ? (e.preventDefault(), a.focusItemByIndex(0)) : e.key === "End" && (e.preventDefault(), a.focusItemByIndex(f.length - 1));
|
|
94
94
|
},
|
|
95
|
-
[a,
|
|
95
|
+
[a, g, v, b, c, r]
|
|
96
96
|
), k = i(
|
|
97
97
|
(e) => {
|
|
98
|
-
u && u(e), !e.defaultPrevented &&
|
|
98
|
+
u && u(e), !e.defaultPrevented && c();
|
|
99
99
|
},
|
|
100
|
-
[u,
|
|
100
|
+
[u, c]
|
|
101
101
|
);
|
|
102
|
-
return /* @__PURE__ */ B("button", { "aria-pressed": o, className:
|
|
102
|
+
return /* @__PURE__ */ B("button", { "aria-pressed": o, className: p, "data-disabled": m || l ? "" : void 0, "data-state": o ? "on" : "off", disabled: m || l, onClick: k, onKeyDown: V, ref: y, type: "button", ...d, children: x });
|
|
103
103
|
};
|
|
104
104
|
export {
|
|
105
105
|
Q as ToggleGroupBase,
|
package/dist/ToggleGroup.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export type ToggleGroupProps = ComponentProps<typeof ToggleGroupBase> & VariantP
|
|
|
12
12
|
};
|
|
13
13
|
export declare const ToggleGroup: ({ className, variant, size, layout, activeColor, activeTextColor, children, ...props }: ToggleGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
14
|
export declare const ToggleGroupItem: {
|
|
15
|
-
({
|
|
15
|
+
({ activeColor, activeTextColor, children, className, layout, ref, size, style, value, variant, ...props }: ToggleGroupItemProps & {
|
|
16
16
|
ref?: Ref<HTMLButtonElement>;
|
|
17
17
|
}): import("react/jsx-runtime").JSX.Element;
|
|
18
18
|
displayName: string;
|
package/dist/ToggleGroup.js
CHANGED
|
@@ -6,58 +6,55 @@ import { getActiveColorStyle as z, toggleVariants as G } from "./Toggle.js";
|
|
|
6
6
|
import { cn as c } from "./utils/twUtils.js";
|
|
7
7
|
import { createContext as h, useContext as w } from "react";
|
|
8
8
|
const m = h({
|
|
9
|
+
layout: "default",
|
|
9
10
|
size: "default",
|
|
10
|
-
variant: "default"
|
|
11
|
-
layout: "default"
|
|
11
|
+
variant: "default"
|
|
12
12
|
}), _ = ({ className: r, variant: o, size: e, layout: a, activeColor: l, activeTextColor: d, children: n, ...i }) => /* @__PURE__ */ s(
|
|
13
13
|
C,
|
|
14
14
|
{
|
|
15
|
+
className: c("group/toggle-group flex h-fit w-fit items-center rounded-md data-[layout='expanded']:w-full data-[variant='outline']:gap-0.5 [&_button:first-of-type]:rounded-l-md [&_button:last-of-type]:rounded-r-md", r),
|
|
16
|
+
"data-layout": a,
|
|
17
|
+
"data-size": e,
|
|
15
18
|
"data-slot": "toggle-group",
|
|
16
19
|
"data-testid": "spectral-toggle-group",
|
|
17
20
|
"data-variant": o,
|
|
18
|
-
"data-size": e,
|
|
19
|
-
"data-layout": a,
|
|
20
|
-
className: c(
|
|
21
|
-
"group/toggle-group [&[data-variant='outline']]:bg-toggle-group-bg flex h-fit w-fit items-center rounded-md [&_button:first-of-type]:rounded-l-md [&_button:last-of-type]:rounded-r-md [&[data-layout='expanded']]:w-full [&[data-variant='outline']]:gap-0.25",
|
|
22
|
-
r
|
|
23
|
-
),
|
|
24
21
|
...i,
|
|
25
22
|
children: /* @__PURE__ */ s(m.Provider, { value: { variant: o, size: e, layout: a, activeColor: l, activeTextColor: d }, children: n })
|
|
26
23
|
}
|
|
27
24
|
), A = ({
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
activeColor: r,
|
|
26
|
+
activeTextColor: o,
|
|
30
27
|
children: e,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
className: a,
|
|
29
|
+
layout: l,
|
|
30
|
+
ref: d,
|
|
31
|
+
size: n,
|
|
32
|
+
style: i,
|
|
33
|
+
value: v,
|
|
34
|
+
variant: f,
|
|
38
35
|
...y
|
|
39
36
|
}) => {
|
|
40
|
-
const t = w(m),
|
|
37
|
+
const t = w(m), u = t.variant ?? f, g = t.size ?? n, p = t.layout ?? l, x = r ?? t.activeColor, b = o ?? t.activeTextColor;
|
|
41
38
|
return /* @__PURE__ */ s(
|
|
42
39
|
T,
|
|
43
40
|
{
|
|
44
|
-
ref: r,
|
|
45
|
-
"data-slot": "toggle-group-item",
|
|
46
|
-
"data-testid": "spectral-toggle-group-item",
|
|
47
|
-
"data-variant": g,
|
|
48
|
-
"data-size": u,
|
|
49
|
-
"data-layout": p,
|
|
50
|
-
value: d,
|
|
51
41
|
className: c(
|
|
52
42
|
G({
|
|
53
|
-
variant:
|
|
54
|
-
size:
|
|
43
|
+
variant: u,
|
|
44
|
+
size: g,
|
|
55
45
|
layout: p
|
|
56
46
|
}),
|
|
57
|
-
"group data-[variant=outline]:border-togglegroup-border rounded-none shadow-none focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0",
|
|
58
|
-
|
|
47
|
+
"group data-[variant=outline]:border-toggle-outline-border data-[variant=outline]:hover:border-togglegroup-border rounded-none shadow-none focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0",
|
|
48
|
+
a
|
|
59
49
|
),
|
|
60
|
-
|
|
50
|
+
"data-layout": p,
|
|
51
|
+
"data-size": g,
|
|
52
|
+
"data-slot": "toggle-group-item",
|
|
53
|
+
"data-testid": "spectral-toggle-group-item",
|
|
54
|
+
"data-variant": u,
|
|
55
|
+
ref: d,
|
|
56
|
+
style: { ...z(x, b), ...i },
|
|
57
|
+
value: v,
|
|
61
58
|
...y,
|
|
62
59
|
children: e
|
|
63
60
|
}
|
package/dist/Tooltip.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const TooltipTrigger: ({ asChild, children, ...props }: Component
|
|
|
7
7
|
declare const tooltipVariants: (props?: ({
|
|
8
8
|
variant?: "default" | "outline" | null | undefined;
|
|
9
9
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
10
|
-
export declare const TooltipContent: ({ children, className, showArrow, sideOffset, variant,
|
|
10
|
+
export declare const TooltipContent: ({ children, className, showArrow, side, sideOffset, variant, ...props }: ComponentProps<typeof TooltipPrimitive.Content> & VariantProps<typeof tooltipVariants> & {
|
|
11
11
|
showArrow?: boolean;
|
|
12
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|