@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.
Files changed (149) hide show
  1. package/dist/.js +201 -200
  2. package/dist/Accordion.d.ts +13 -15
  3. package/dist/Accordion.js +184 -179
  4. package/dist/Alert/AlertBase.d.ts +7 -7
  5. package/dist/Alert/AlertBase.js +21 -21
  6. package/dist/Alert.d.ts +2 -2
  7. package/dist/Alert.js +31 -31
  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 +30 -31
  20. package/dist/Checkbox/CheckboxBase.d.ts +2 -2
  21. package/dist/Checkbox/CheckboxBase.js +50 -57
  22. package/dist/Checkbox.js +15 -19
  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 +3 -3
  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 +90 -70
  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/PolygonIcon.d.ts +5 -0
  43. package/dist/Icons/PolygonIcon.js +40 -0
  44. package/dist/Icons/index.d.ts +1 -1
  45. package/dist/Icons.js +34 -34
  46. package/dist/IconsAnimated/PanelLeftCloseIcon.js +2 -2
  47. package/dist/IconsAnimated/PanelLeftOpenIcon.js +2 -2
  48. package/dist/Input/InputUtils.d.ts +2 -2
  49. package/dist/Input/InputUtils.js +4 -4
  50. package/dist/Input.d.ts +1 -1
  51. package/dist/Input.js +19 -19
  52. package/dist/InputOTP.d.ts +10 -10
  53. package/dist/InputOTP.js +114 -114
  54. package/dist/Kbd.d.ts +8 -5
  55. package/dist/Kbd.js +85 -20
  56. package/dist/Label.d.ts +4 -2
  57. package/dist/Label.js +3 -3
  58. package/dist/MultiSelect/MultiSelectBase.d.ts +1 -1
  59. package/dist/MultiSelect/MultiSelectBase.js +278 -202
  60. package/dist/MultiSelect.d.ts +6 -6
  61. package/dist/MultiSelect.js +9 -9
  62. package/dist/Popover.js +22 -237
  63. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +11 -11
  64. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +28 -28
  65. package/dist/RadioButtonGroup.d.ts +1 -1
  66. package/dist/RadioGroup.d.ts +15 -15
  67. package/dist/RadioGroup.js +253 -236
  68. package/dist/Select.d.ts +3 -1
  69. package/dist/Select.js +91 -88
  70. package/dist/Separator.js +4 -4
  71. package/dist/Skeleton.d.ts +1 -2
  72. package/dist/Skeleton.js +2 -4
  73. package/dist/Slider.d.ts +6 -6
  74. package/dist/Slider.js +78 -78
  75. package/dist/Switch/SwitchBase.d.ts +4 -4
  76. package/dist/Switch/SwitchBase.js +75 -111
  77. package/dist/Switch.d.ts +4 -4
  78. package/dist/Switch.js +122 -33
  79. package/dist/Tabs/TabsBase.js +39 -38
  80. package/dist/Tabs/tabsUtils.js +7 -7
  81. package/dist/Tabs.d.ts +0 -4
  82. package/dist/Tabs.js +62 -66
  83. package/dist/Textarea/TextareaUtils.d.ts +7 -7
  84. package/dist/Textarea/TextareaUtils.js +13 -13
  85. package/dist/Textarea.js +28 -18
  86. package/dist/Toast.d.ts +43 -0
  87. package/dist/Toast.js +883 -0
  88. package/dist/Toggle/ToggleBase.d.ts +4 -4
  89. package/dist/Toggle/ToggleBase.js +32 -33
  90. package/dist/Toggle.d.ts +1 -1
  91. package/dist/Toggle.js +7 -12
  92. package/dist/ToggleGroup/ToggleGroupBase.d.ts +5 -5
  93. package/dist/ToggleGroup/ToggleGroupBase.js +30 -30
  94. package/dist/ToggleGroup.d.ts +1 -1
  95. package/dist/ToggleGroup.js +27 -30
  96. package/dist/Tooltip.d.ts +1 -1
  97. package/dist/Tooltip.js +97 -97
  98. package/dist/Tray.d.ts +9 -9
  99. package/dist/Tray.js +71 -70
  100. package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
  101. package/dist/hooks/useAccordionAutoScroll.js +42 -39
  102. package/dist/hooks/useControllableState.d.ts +2 -2
  103. package/dist/hooks/useControllableState.d.ts.map +1 -1
  104. package/dist/hooks/useControllableState.js +2 -2
  105. package/dist/index-C12FUuIW.js +13 -0
  106. package/dist/{index-yU8jOTzS.js → index-CpovUAO-.js} +1 -1
  107. package/dist/{index-BdS7Ix8W.js → index-CqbPiOid.js} +1 -1
  108. package/dist/{index-B3UpsZ2x.js → index-CrjD9cAD.js} +1 -1
  109. package/dist/index-DEYs15GP.js +66 -0
  110. package/dist/index-DdFoGvON.js +146 -0
  111. package/dist/index-Q3N6lgwg.js +225 -0
  112. package/dist/index.d.ts +3 -3
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/primitives/button.d.ts +1 -1
  115. package/dist/primitives/button.js +4 -4
  116. package/dist/primitives/input.d.ts.map +1 -1
  117. package/dist/primitives/input.js +8 -5
  118. package/dist/primitives/select.d.ts +12 -13
  119. package/dist/primitives/select.d.ts.map +1 -1
  120. package/dist/primitives/select.js +59 -88
  121. package/dist/primitives/slot.d.ts +5 -5
  122. package/dist/primitives/slot.d.ts.map +1 -1
  123. package/dist/primitives/slot.js +24 -33
  124. package/dist/primitives/textarea.d.ts.map +1 -1
  125. package/dist/primitives/textarea.js +4 -3
  126. package/dist/{proxy-Cukf-VVj.js → proxy-CgaCj1WQ.js} +7 -3
  127. package/dist/styles/base-colors.css +30 -30
  128. package/dist/styles/horizon/base-colors.css +30 -30
  129. package/dist/styles/horizon/colors.css +43 -13
  130. package/dist/styles/horizon/utilities.css +26 -3
  131. package/dist/styles/main.css +1 -1
  132. package/dist/styles/spectral.css +2 -2
  133. package/dist/styles/theme.css +99 -46
  134. package/dist/{use-animation-zNd5Nq85.js → use-animation-CR-SdV2l.js} +1 -1
  135. package/dist/utils/formFieldUtils.d.ts +2 -2
  136. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  137. package/dist/utils/formFieldUtils.js +14 -11
  138. package/dist/utils/sharedUtils.d.ts +3 -3
  139. package/dist/utils/sharedUtils.d.ts.map +1 -1
  140. package/dist/utils/sharedUtils.js +1 -4
  141. package/dist/utils/twUtils.d.ts +1 -1
  142. package/dist/utils/twUtils.d.ts.map +1 -1
  143. package/dist/utils/twUtils.js +1 -4
  144. package/package.json +6 -1
  145. package/dist/Icons/LineToolIcon2.d.ts +0 -5
  146. package/dist/Icons/LineToolIcon2.js +0 -49
  147. package/dist/createLucideIcon-D4r5Phnh.js +0 -70
  148. package/dist/index-CeP1E2kK.js +0 -209
  149. 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
- pressed?: boolean;
4
+ asChild?: boolean;
5
5
  defaultPressed?: boolean;
6
- onPressedChange?: (pressed: boolean) => void;
7
6
  disabled?: boolean;
8
- asChild?: boolean;
7
+ onPressedChange?: (pressed: boolean) => void;
8
+ pressed?: boolean;
9
9
  };
10
- export declare const ToggleBase: ({ ref, pressed: pressedProp, defaultPressed, onPressedChange, disabled, className, onKeyDown, onClick, type, asChild, children, ...rest }: ToggleProps & {
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 x } from "../hooks/useControllableState.js";
5
- import { Slot as C } from "../primitives/slot.js";
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 D = function({
8
- ref: l,
9
- pressed: c,
10
- defaultPressed: m = !1,
11
- onPressedChange: g,
7
+ const B = function({
8
+ asChild: c = !1,
9
+ children: l,
10
+ className: m,
11
+ defaultPressed: g = !1,
12
12
  disabled: t,
13
- className: v,
14
- onKeyDown: n,
15
- onClick: a,
16
- type: h = "button",
17
- asChild: P = !1,
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] = x({
22
- defaultValue: m,
23
- onChange: g,
24
- value: c
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]), b = f(
26
+ }, [t, r, d]), P = f(
28
27
  (e) => {
29
- n && n(e), !e.defaultPrevented && (e.key === " " || e.key === "Enter") && (e.preventDefault(), o());
28
+ a && a(e), !e.defaultPrevented && (e.key === " " || e.key === "Enter") && (e.preventDefault(), o());
30
29
  },
31
- [o, n]
32
- ), k = f(
30
+ [o, a]
31
+ ), b = f(
33
32
  (e) => {
34
- a && a(e), !e.defaultPrevented && o();
33
+ n && n(e), !e.defaultPrevented && o();
35
34
  },
36
- [o, a]
35
+ [o, n]
37
36
  ), p = {
38
- "aria-disabled": t || void 0,
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 || void 0,
42
- className: v,
43
- onClick: k,
44
- onKeyDown: b
43
+ "data-disabled": t ?? void 0
45
44
  };
46
- return P ? /* @__PURE__ */ s(
45
+ return c ? /* @__PURE__ */ s(
47
46
  "div",
48
47
  {
49
- ref: l,
48
+ ref: u,
50
49
  role: "button",
51
50
  tabIndex: t ? -1 : 0,
52
51
  ...i,
53
52
  ...p,
54
- children: /* @__PURE__ */ s(C, { children: u })
53
+ children: /* @__PURE__ */ s(x, { children: l })
55
54
  }
56
- ) : /* @__PURE__ */ s("button", { ref: l, disabled: t, type: h, ...i, ...p, children: u });
55
+ ) : /* @__PURE__ */ s("button", { ...i, ...p, disabled: t, ref: u, type: "button", children: l });
57
56
  };
58
57
  export {
59
- D as ToggleBase
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 function getActiveColorStyle(activeColor: ActiveColor | undefined, activeTextColor?: ActiveColor): CSSProperties | undefined;
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-[colors]
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 type CommonGroupProps = {
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 type ItemRenderProps = {
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}`, any>) => import("react/jsx-runtime").JSX.Element;
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: c = !0,
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": f,
20
+ "data-slot": m,
21
21
  "data-layout": w,
22
22
  ...G
23
- } = C, p = d === "multiple", [n, m] = M({
24
- defaultValue: typeof r < "u" ? r : p ? [] : "",
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([]), g = i((t, 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) => p ? Array.isArray(n) && n.includes(t) : n === t,
34
- [p, n]
35
- ), e = i((t) => m(t), [m]), y = i(
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 = c ? (t % s.length + s.length) % s.length : R(t, 0, P);
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
- [c]
42
+ [p]
43
43
  ), h = H(
44
44
  () => ({
45
- focusItemByIndex: y,
45
+ focusItemByIndex: f,
46
46
  groupDisabled: l,
47
47
  isItemPressed: k,
48
48
  itemsSnapshot: V,
49
- loop: c,
49
+ loop: p,
50
50
  name: x,
51
51
  orientation: u,
52
- register: g,
52
+ register: c,
53
53
  setValue: e,
54
54
  type: d,
55
55
  value: n
56
56
  }),
57
- [l, k, V, c, x, u, e, d, n]
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": f, "data-variant": D, role: "group", ...G, children: [
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: c,
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: f, setValue: w, isItemPressed: G, itemsSnapshot: p, register: n } = a, m = S(null);
77
- L(z, () => m.current), N(() => n(r, m.current), [n, r]);
78
- const o = G(r), g = i(() => {
79
- if (!(f || l))
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, y = o ? e.filter((h) => h !== r) : [...e, r];
83
- w(y);
82
+ const e = a.value, f = o ? e.filter((h) => h !== r) : [...e, r];
83
+ w(f);
84
84
  }
85
- }, [a.value, l, f, o, w, D, r]), V = i(
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(), g();
89
+ e.preventDefault(), c();
90
90
  return;
91
91
  }
92
- const y = p(), h = y.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(y.length - 1));
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, p, v, b, g, r]
95
+ [a, g, v, b, c, r]
96
96
  ), k = i(
97
97
  (e) => {
98
- u && u(e), !e.defaultPrevented && g();
98
+ u && u(e), !e.defaultPrevented && c();
99
99
  },
100
- [u, g]
100
+ [u, c]
101
101
  );
102
- return /* @__PURE__ */ B("button", { "aria-pressed": o, className: c, "data-disabled": f || l ? "" : void 0, "data-state": o ? "on" : "off", disabled: f || l, onClick: k, onKeyDown: V, ref: m, type: "button", ...d, children: x });
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,
@@ -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
- ({ ref, className, children, variant, size, value, layout, activeColor, activeTextColor, style, ...props }: ToggleGroupItemProps & {
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;
@@ -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
- ref: r,
29
- className: o,
25
+ activeColor: r,
26
+ activeTextColor: o,
30
27
  children: e,
31
- variant: a,
32
- size: l,
33
- value: d,
34
- layout: n,
35
- activeColor: i,
36
- activeTextColor: v,
37
- style: f,
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), g = t.variant ?? a, u = t.size ?? l, p = t.layout ?? n, x = i ?? t.activeColor, b = v ?? t.activeTextColor;
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: g,
54
- size: u,
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
- o
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
- style: { ...z(x, b), ...f },
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, side, ...props }: ComponentProps<typeof TooltipPrimitive.Content> & VariantProps<typeof tooltipVariants> & {
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 {};