@justanarthur/modo-ui 0.2.0 → 0.3.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 (77) hide show
  1. package/README.md +18 -15
  2. package/dist/blocks/sidebar-app/index.js +6 -6
  3. package/dist/components/{inputs → AI}/input-message/index.js +2 -2
  4. package/dist/components/AI/thinking-indicator/index.js +13 -0
  5. package/dist/components/accordion/index.js +28 -0
  6. package/dist/components/card/index.js +2 -2
  7. package/dist/components/{inputs/input-copy → copy}/index.d.ts +7 -7
  8. package/dist/components/copy/index.js +16 -0
  9. package/dist/components/inputs/checkbox/index.d.ts +62 -0
  10. package/dist/components/inputs/{checkbox-group → checkbox}/index.js +7 -6
  11. package/dist/components/inputs/color-picker/index.js +2 -2
  12. package/dist/components/inputs/combobox/index.d.ts +1 -1
  13. package/dist/components/inputs/combobox/index.js +2 -2
  14. package/dist/components/inputs/date-time/calendar/index.js +3 -3
  15. package/dist/components/inputs/date-time/date-picker/index.js +5 -5
  16. package/dist/components/inputs/date-time/date-range-picker/index.js +4 -4
  17. package/dist/components/inputs/date-time/duration-picker/index.js +4 -4
  18. package/dist/components/inputs/date-time/month-picker/index.js +3 -3
  19. package/dist/components/inputs/date-time/time-picker/index.js +4 -4
  20. package/dist/components/inputs/{radio-group → radio}/index.d.ts +30 -30
  21. package/dist/components/inputs/{radio-group → radio}/index.js +7 -6
  22. package/dist/components/inputs/search/index.js +3 -3
  23. package/dist/components/inputs/select/index.js +2 -2
  24. package/dist/components/inputs/switch/index.d.ts +27 -6
  25. package/dist/components/inputs/switch/index.js +8 -1
  26. package/dist/components/navigation/sidebar/index.js +3 -3
  27. package/dist/components/navigation/tabs/index.js +2 -2
  28. package/dist/components/navigation/tabs-subtle/index.js +2 -2
  29. package/dist/components/overlays/command/index.js +2 -2
  30. package/dist/components/overlays/context-menu/index.js +3 -3
  31. package/dist/components/overlays/dropdown/index.d.ts +2 -2
  32. package/dist/components/overlays/dropdown/index.js +2 -2
  33. package/dist/components/table/index.js +2 -2
  34. package/dist/index.d.ts +807 -774
  35. package/dist/index.js +51 -48
  36. package/dist/primitives/fluid-hover/index.js +2 -2
  37. package/dist/primitives/morph/index.d.ts +2 -2
  38. package/dist/primitives/sizes/index.d.ts +2 -2
  39. package/dist/shared/{components-1rfwbyyc.js → components-1z6tdadk.js} +1 -1
  40. package/dist/shared/{components-7x9kawxv.js → components-27nnvrwe.js} +1 -1
  41. package/dist/shared/{components-njzgqdwy.js → components-2n3whx7z.js} +2 -2
  42. package/dist/shared/{components-v7wtz8hk.js → components-2nhgyh31.js} +3 -3
  43. package/dist/shared/{components-4cnjmgex.js → components-3fbbvq5j.js} +1 -1
  44. package/dist/shared/{components-asr5pg50.js → components-8snj490h.js} +106 -9
  45. package/dist/shared/{components-1xekx2hx.js → components-ar66gnt0.js} +1 -1
  46. package/dist/shared/{components-3wk0w46f.js → components-b3c5et5b.js} +1 -1
  47. package/dist/shared/{components-ez65vtbq.js → components-bshdmf75.js} +2 -2
  48. package/dist/shared/{components-yh3kwdhr.js → components-d6xtjht3.js} +3 -3
  49. package/dist/shared/{components-ytb2tefr.js → components-hyq23phv.js} +39 -20
  50. package/dist/shared/{components-cbxjn9p8.js → components-k809mbn0.js} +2 -2
  51. package/dist/shared/{components-q4daerx0.js → components-mjthm1kf.js} +1 -1
  52. package/dist/shared/{components-ny774h8p.js → components-pbmqctfa.js} +15 -8
  53. package/dist/shared/{components-7ans7ce5.js → components-re6rs21k.js} +2 -2
  54. package/dist/shared/{components-1j9791sn.js → components-s083f38z.js} +5 -5
  55. package/dist/shared/components-ta7shw28.js +19 -0
  56. package/dist/shared/{components-66mv71kx.js → components-xxvdw7k1.js} +1 -1
  57. package/dist/styles.css +1 -1
  58. package/package.json +1 -1
  59. package/dist/components/inputs/checkbox-group/index.d.ts +0 -50
  60. package/dist/components/inputs/input-copy/index.js +0 -16
  61. package/dist/components/navigation/accordion/index.js +0 -28
  62. package/dist/components/thinking-indicator/index.js +0 -13
  63. /package/dist/components/{inputs → AI}/input-message/index.d.ts +0 -0
  64. /package/dist/components/{thinking-indicator → AI/thinking-indicator}/index.d.ts +0 -0
  65. /package/dist/components/{navigation/accordion → accordion}/index.d.ts +0 -0
  66. /package/dist/shared/{components-0ke6xada.js → components-1434p1mh.js} +0 -0
  67. /package/dist/shared/{components-h2dpcwgc.js → components-2dxkv6zm.js} +0 -0
  68. /package/dist/shared/{components-8fpr3s4p.js → components-39vmfq9s.js} +0 -0
  69. /package/dist/shared/{components-3gae8nta.js → components-8ey44d79.js} +0 -0
  70. /package/dist/shared/{components-nh8tma1n.js → components-a86dytt0.js} +0 -0
  71. /package/dist/shared/{components-v6xp325t.js → components-dk0gjr5a.js} +0 -0
  72. /package/dist/shared/{components-62ybc7t2.js → components-frw34b65.js} +0 -0
  73. /package/dist/shared/{components-9jvzzvt1.js → components-gz8zf3ec.js} +0 -0
  74. /package/dist/shared/{components-tqvarbfv.js → components-hw9yk32z.js} +0 -0
  75. /package/dist/shared/{components-apdwtweq.js → components-jbbmdr74.js} +0 -0
  76. /package/dist/shared/{components-3k8xpnpq.js → components-jthe1pwb.js} +0 -0
  77. /package/dist/shared/{components-ca2c898n.js → components-nb87fjy4.js} +0 -0
@@ -4,6 +4,10 @@ import {
4
4
  import {
5
5
  FluidHoverHighlight2
6
6
  } from "./components-kvr7f9hy.js";
7
+ import {
8
+ IndexedRows,
9
+ useRowIndex
10
+ } from "./components-ta7shw28.js";
7
11
  import {
8
12
  useShape
9
13
  } from "./components-cv16mryv.js";
@@ -29,7 +33,7 @@ import {
29
33
  spring2
30
34
  } from "./components-1v7rxytx.js";
31
35
 
32
- // components/inputs/checkbox-group/index.tsx
36
+ // components/inputs/checkbox/index.tsx
33
37
  import { Checkbox as CheckboxPrimitive } from "@base-ui/react/checkbox";
34
38
  import { AnimatePresence, motion } from "motion/react";
35
39
  import {
@@ -43,12 +47,6 @@ import {
43
47
  } from "react";
44
48
  import { jsx, jsxs } from "react/jsx-runtime";
45
49
  var CheckboxGroupContext = createContext(null);
46
- function useCheckboxGroup() {
47
- const ctx = useContext(CheckboxGroupContext);
48
- if (!ctx)
49
- throw new Error("useCheckboxGroup must be used within a CheckboxGroup");
50
- return ctx;
51
- }
52
50
  var CheckboxGroup2 = forwardRef(({
53
51
  children,
54
52
  checkedIndices: checkedIndicesProp,
@@ -152,7 +150,9 @@ var CheckboxGroup2 = forwardRef(({
152
150
  }
153
151
  })
154
152
  }),
155
- children
153
+ /* @__PURE__ */ jsx(IndexedRows, {
154
+ children
155
+ })
156
156
  ]
157
157
  })
158
158
  });
@@ -162,23 +162,37 @@ var CheckboxGroup2 = forwardRef(({
162
162
  }) : group;
163
163
  });
164
164
  CheckboxGroup2.displayName = "CheckboxGroup";
165
- var CheckboxItem2 = forwardRef(({ label, index, checked: checkedProp, onToggle: onToggleProp, className, ...props }, ref) => {
165
+ var Checkbox2 = forwardRef(({
166
+ label,
167
+ checked: checkedProp,
168
+ defaultChecked = false,
169
+ onCheckedChange,
170
+ onToggle: onToggleProp,
171
+ index: indexProp,
172
+ size,
173
+ className,
174
+ ...props
175
+ }, ref) => {
166
176
  const internalRef = useRef(null);
167
177
  const hasMounted = useRef(false);
168
- const { registerItem, activeIndex, checkedIndices, setItemChecked } = useCheckboxGroup();
169
- const checked = checkedProp ?? checkedIndices.has(index);
178
+ const group = useContext(CheckboxGroupContext);
179
+ const index = useRowIndex(indexProp);
180
+ const [ownChecked, setOwnChecked] = useControllableState(checkedProp, defaultChecked, onCheckedChange);
181
+ const [hovered, setHovered] = useState(false);
182
+ const checked = checkedProp ?? (group ? group.checkedIndices.has(index) : ownChecked);
170
183
  const onToggle = () => {
171
184
  onToggleProp?.();
172
- setItemChecked(index, !checked);
185
+ group?.setItemChecked(index, !checked);
186
+ setOwnChecked(!checked);
173
187
  };
174
- useRegisterFluidHoverItem2(registerItem, index, internalRef);
188
+ useRegisterFluidHoverItem2(group?.registerItem, index, internalRef);
175
189
  useEffect(() => {
176
190
  hasMounted.current = true;
177
191
  }, []);
178
- const isActive = activeIndex === index;
192
+ const isActive = group ? group.activeIndex === index : hovered;
179
193
  const skipAnimation = !hasMounted.current;
180
194
  const shape = useShape();
181
- const sizeClasses = useSize2();
195
+ const sizeClasses = useSize2(size);
182
196
  const compact = sizeClasses.variant === "compact";
183
197
  return /* @__PURE__ */ jsxs("div", {
184
198
  ref: (node) => {
@@ -194,6 +208,11 @@ var CheckboxItem2 = forwardRef(({ label, index, checked: checkedProp, onToggle:
194
208
  "aria-checked": checked,
195
209
  "aria-label": label,
196
210
  onClick: onToggle,
211
+ onPointerEnter: (e) => {
212
+ if (e.pointerType === "mouse")
213
+ setHovered(true);
214
+ },
215
+ onPointerLeave: () => setHovered(false),
197
216
  onMouseDown: (e) => {
198
217
  const interactive = e.target.closest('button:not([tabindex="-1"]), a[href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
199
218
  if (interactive && interactive !== e.currentTarget)
@@ -207,7 +226,7 @@ var CheckboxItem2 = forwardRef(({ label, index, checked: checkedProp, onToggle:
207
226
  onToggle();
208
227
  }
209
228
  },
210
- className: cn2(`relative z-10 flex ${sizeClasses.control} items-center ${sizeClasses.gap} ${shape.item} ${sizeClasses.px} cursor-pointer outline-none`, className),
229
+ className: cn2(`relative z-10 flex ${sizeClasses.control} items-center ${sizeClasses.gap} ${shape.item} ${sizeClasses.px} cursor-pointer outline-none`, !group && "focus-visible:ring-1 focus-visible:ring-focus-ring", className),
211
230
  ...props,
212
231
  children: [
213
232
  /* @__PURE__ */ jsxs(CheckboxPrimitive.Root, {
@@ -284,8 +303,8 @@ var CheckboxItem2 = forwardRef(({ label, index, checked: checkedProp, onToggle:
284
303
  ]
285
304
  });
286
305
  });
287
- CheckboxItem2.displayName = "CheckboxItem";
288
- Object.assign(CheckboxGroup2, { Item: CheckboxItem2 });
289
- var checkbox_group_default = CheckboxGroup2;
306
+ Checkbox2.displayName = "Checkbox";
307
+ Object.assign(Checkbox2, { Group: CheckboxGroup2 });
308
+ var checkbox_default = Checkbox2;
290
309
 
291
- export { CheckboxGroup2, CheckboxItem2, checkbox_group_default };
310
+ export { CheckboxGroup2, Checkbox2, checkbox_default };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  defaultLocale,
3
3
  parseDateText
4
- } from "./components-9jvzzvt1.js";
4
+ } from "./components-gz8zf3ec.js";
5
5
  import {
6
6
  useControllableState
7
7
  } from "./components-n7mjr357.js";
8
8
  import {
9
9
  calendar_default
10
- } from "./components-1rfwbyyc.js";
10
+ } from "./components-1z6tdadk.js";
11
11
  import {
12
12
  PickerShell,
13
13
  PickerInput
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fieldLabel,
3
3
  ScrollColumn
4
- } from "./components-9jvzzvt1.js";
4
+ } from "./components-gz8zf3ec.js";
5
5
  import {
6
6
  cn2
7
7
  } from "./components-ezxhrmer.js";
@@ -7,6 +7,10 @@ import {
7
7
  import {
8
8
  FluidHoverHighlight2
9
9
  } from "./components-kvr7f9hy.js";
10
+ import {
11
+ IndexedRows,
12
+ useRowIndex
13
+ } from "./components-ta7shw28.js";
10
14
  import {
11
15
  useShape
12
16
  } from "./components-cv16mryv.js";
@@ -27,7 +31,7 @@ import {
27
31
  spring2
28
32
  } from "./components-1v7rxytx.js";
29
33
 
30
- // components/inputs/radio-group/index.tsx
34
+ // components/inputs/radio/index.tsx
31
35
  import { Radio as RadioPrimitive } from "@base-ui/react/radio";
32
36
  import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group";
33
37
  import { AnimatePresence, motion } from "motion/react";
@@ -46,7 +50,7 @@ var RadioGroupContext = createContext(null);
46
50
  function useRadioGroupContext() {
47
51
  const ctx = useContext(RadioGroupContext);
48
52
  if (!ctx)
49
- throw new Error("useRadioGroup must be used within a RadioGroup");
53
+ throw new Error("Radio must be used within a Radio.Group");
50
54
  return ctx;
51
55
  }
52
56
  var RadioGroup2 = forwardRef(({
@@ -152,7 +156,9 @@ var RadioGroup2 = forwardRef(({
152
156
  }
153
157
  })
154
158
  }),
155
- children
159
+ /* @__PURE__ */ jsx(IndexedRows, {
160
+ children
161
+ })
156
162
  ]
157
163
  });
158
164
  const withSize = (node) => size ? /* @__PURE__ */ jsx(SizeProvider2, {
@@ -189,10 +195,11 @@ var RadioGroup2 = forwardRef(({
189
195
  }));
190
196
  });
191
197
  RadioGroup2.displayName = "RadioGroup";
192
- var RadioItem2 = forwardRef(({ label, index, selected, onSelect, value, className, ...props }, ref) => {
198
+ var Radio2 = forwardRef(({ label, index: indexProp, selected, onSelect, value, className, ...props }, ref) => {
193
199
  const internalRef = useRef(null);
194
200
  const hasMounted = useRef(false);
195
201
  const { registerItem, activeIndex, selectedIndex, selectedValue, onValueChange, hasSelection, selectIndex } = useRadioGroupContext();
202
+ const index = useRowIndex(indexProp);
196
203
  useRegisterFluidHoverItem2(registerItem, index, internalRef);
197
204
  useEffect(() => {
198
205
  hasMounted.current = true;
@@ -286,8 +293,8 @@ var RadioItem2 = forwardRef(({ label, index, selected, onSelect, value, classNam
286
293
  ]
287
294
  });
288
295
  });
289
- RadioItem2.displayName = "RadioItem";
290
- Object.assign(RadioGroup2, { Item: RadioItem2 });
291
- var radio_group_default = RadioGroup2;
296
+ Radio2.displayName = "Radio";
297
+ Object.assign(Radio2, { Group: RadioGroup2 });
298
+ var radio_default = Radio2;
292
299
 
293
- export { RadioGroup2, RadioItem2, radio_group_default };
300
+ export { RadioGroup2, Radio2, radio_default };
@@ -3,7 +3,7 @@ import {
3
3
  fieldLabel,
4
4
  dividedColumns,
5
5
  ScrollColumn
6
- } from "./components-9jvzzvt1.js";
6
+ } from "./components-gz8zf3ec.js";
7
7
  import {
8
8
  cn2
9
9
  } from "./components-ezxhrmer.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./components-7btqt08d.js";
17
17
  import {
18
18
  pad
19
- } from "./components-q4daerx0.js";
19
+ } from "./components-mjthm1kf.js";
20
20
 
21
21
  // components/inputs/date-time/duration-picker/index.tsx
22
22
  import { formatDuration } from "date-fns";
@@ -26,7 +26,7 @@ import {
26
26
  spring2
27
27
  } from "./components-1v7rxytx.js";
28
28
 
29
- // components/inputs/input-copy/index.tsx
29
+ // components/copy/index.tsx
30
30
  import { AnimatePresence, animate, motion, useMotionValue } from "motion/react";
31
31
  import {
32
32
  forwardRef,
@@ -176,7 +176,7 @@ function CopyGlyph({
176
176
  ]
177
177
  });
178
178
  }
179
- var InputCopy2 = forwardRef(({ value, label, onCopy, disabled, variant = "icon", align = "right", size, className, ...props }, ref) => {
179
+ var Copy2 = forwardRef(({ value, label, onCopy, disabled, variant = "icon", align = "right", size, className, ...props }, ref) => {
180
180
  const CopyIcon = useIcon("copy");
181
181
  const [status, setStatus] = useState("idle");
182
182
  const [copyCount, setCopyCount] = useState(0);
@@ -339,7 +339,7 @@ var InputCopy2 = forwardRef(({ value, label, onCopy, disabled, variant = "icon",
339
339
  ]
340
340
  });
341
341
  });
342
- InputCopy2.displayName = "InputCopy";
343
- var input_copy_default = InputCopy2;
342
+ Copy2.displayName = "Copy";
343
+ var copy_default = Copy2;
344
344
 
345
- export { InputCopy2, input_copy_default };
345
+ export { Copy2, copy_default };
@@ -0,0 +1,19 @@
1
+ // lib/row-index.tsx
2
+ import { Children, createContext, isValidElement, useContext } from "react";
3
+ import { jsx, Fragment } from "react/jsx-runtime";
4
+ var RowIndexContext = createContext(0);
5
+ function IndexedRows({ children }) {
6
+ let index = 0;
7
+ return /* @__PURE__ */ jsx(Fragment, {
8
+ children: Children.map(children, (child) => isValidElement(child) ? /* @__PURE__ */ jsx(RowIndexContext.Provider, {
9
+ value: index++,
10
+ children: child
11
+ }) : child)
12
+ });
13
+ }
14
+ function useRowIndex(own) {
15
+ const position = useContext(RowIndexContext);
16
+ return own ?? position;
17
+ }
18
+
19
+ export { IndexedRows, useRowIndex };
@@ -33,7 +33,7 @@ import {
33
33
  CommandListRoot2,
34
34
  CommandShortcut2,
35
35
  CommandList2
36
- } from "./components-8fpr3s4p.js";
36
+ } from "./components-39vmfq9s.js";
37
37
  import {
38
38
  spring2
39
39
  } from "./components-1v7rxytx.js";
package/dist/styles.css CHANGED
@@ -59,7 +59,7 @@
59
59
  }
60
60
  /* layer: theme */
61
61
  @layer theme{
62
- :root, :host { --default-transition-timingFunction: cubic-bezier(0.4, 0, 0.2, 1); --default-transition-duration: 150ms; --spacing: 0.25rem; --ease-DEFAULT: cubic-bezier(0.4, 0, 0.2, 1); --font-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace; --font-sans: 'Inter Variable', ui-sans-serif, system-ui, sans-serif; --radius-md: 0.375rem; --radius-DEFAULT: 0.25rem; --radius-none: 0; --radius-2xl: 1rem; --radius-lg: 0.5rem; --leading-snug: 1.375; --leading-normal: 1.5; --radius-xs: 0.125rem; --tracking-wide: 0.025em; --leading-relaxed: 1.625; --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --ease-out: cubic-bezier(0, 0, 0.2, 1); --radius-3xl: 1.5rem; --radius-xl: 0.75rem; --leading-none: 1; --radius-sm: 0.25rem; --leading-tight: 1.25; --default-font-family: var(--font-sans); --default-monoFont-family: var(--font-mono); }
62
+ :root, :host { --default-transition-timingFunction: cubic-bezier(0.4, 0, 0.2, 1); --default-transition-duration: 150ms; --spacing: 0.25rem; --ease-DEFAULT: cubic-bezier(0.4, 0, 0.2, 1); --font-sans: 'Inter Variable', ui-sans-serif, system-ui, sans-serif; --radius-md: 0.375rem; --radius-DEFAULT: 0.25rem; --radius-none: 0; --leading-relaxed: 1.625; --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-lg: 0.5rem; --radius-xl: 0.75rem; --leading-none: 1; --ease-out: cubic-bezier(0, 0, 0.2, 1); --radius-sm: 0.25rem; --leading-snug: 1.375; --leading-normal: 1.5; --radius-xs: 0.125rem; --tracking-wide: 0.025em; --font-mono: ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Consolas, monospace; --leading-tight: 1.25; --default-font-family: var(--font-sans); --default-monoFont-family: var(--font-mono); }
63
63
  }
64
64
  /* layer: base */
65
65
  @layer base{
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@justanarthur/modo-ui",
3
3
  "type": "module",
4
- "version": "0.2.0",
4
+ "version": "0.3.0",
5
5
  "description": "Fluid Functionalism (Base UI flavor, MIT © 2026 Micka Touillaud) ported to UnoCSS: motion springs, fluid hover, a two-step size ladder and an eight-level elevated surface system. Documented with modo.",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -1,50 +0,0 @@
1
- import { ForwardRefExoticComponent, HTMLAttributes, ReactNode, RefAttributes } from "react";
2
- type SizeVariant = "default" | "compact";
3
- interface CheckboxGroupProps extends HTMLAttributes<HTMLDivElement> {
4
- /** CheckboxGroup.Item children. */
5
- children: ReactNode;
6
- /** Set of checked item indices; drives the merged background across contiguous picks. Controlled — pair it with `onCheckedIndicesChange` (or per-item `onToggle`). */
7
- checkedIndices?: Set<number>;
8
- /** Checked indices on first render when uncontrolled (a Set or an array). Defaults to none. */
9
- defaultCheckedIndices?: Set<number> | number[];
10
- /** Called with the next checked set whenever an item is toggled. */
11
- onCheckedIndicesChange?: (checkedIndices: Set<number>) => void;
12
- /** Pins the group's rows to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
13
- size?: SizeVariant;
14
- }
15
- type CheckboxGroupComponent = ForwardRefExoticComponent<CheckboxGroupProps & RefAttributes<HTMLDivElement>> & {
16
- Item: typeof CheckboxItem;
17
- };
18
- /**
19
- * Checkbox group with merged backgrounds for contiguous selections.
20
- *
21
- * Each row is a `CheckboxGroup.Item` with a stable `index`. Contiguous checked
22
- * rows share one background: a checked row's background grows out of its
23
- * center and melts into its neighbours, an unchecked one pinches off and
24
- * shrinks away (the liquid indicators in Morph). A fluid hover highlight melts
25
- * from row to row, and Arrow Up/Down,
26
- * Home and End move focus while Space or Enter toggles. The checked label
27
- * animates to semibold without shifting its width. The group is uncontrolled
28
- * with `defaultCheckedIndices`, or controlled with `checkedIndices` plus
29
- * `onCheckedIndicesChange` — FF's per-item `checked` / `onToggle` still work
30
- * and override the group state for their row.
31
- *
32
- * Statics:
33
- * - `CheckboxGroup.Item` — one checkbox row: `label`, `index`, and optional
34
- * `checked` / `onToggle`.
35
- *
36
- * @example {@include ./examples.mdx}
37
- */
38
- declare const CheckboxGroup: CheckboxGroupComponent;
39
- interface CheckboxItemProps extends HTMLAttributes<HTMLDivElement> {
40
- /** Text label for the checkbox. */
41
- label: string;
42
- /** Position index within the group. */
43
- index: number;
44
- /** Whether this item is checked. Defaults to the group's checked set. */
45
- checked?: boolean;
46
- /** Called when this item is toggled (the group's `onCheckedIndicesChange` fires too). */
47
- onToggle?: () => void;
48
- }
49
- declare const CheckboxItem: ForwardRefExoticComponent<CheckboxItemProps & RefAttributes<HTMLDivElement>>;
50
- export { CheckboxGroup, CheckboxGroupProps, CheckboxItem, CheckboxItemProps, CheckboxGroup as default };
@@ -1,16 +0,0 @@
1
- import {
2
- InputCopy2,
3
- input_copy_default
4
- } from "../../../shared/components-1j9791sn.js";
5
- import"../../../shared/components-ng72k97e.js";
6
- import"../../../shared/components-zrkzcayz.js";
7
- import"../../../shared/components-0q0sqfh4.js";
8
- import"../../../shared/components-hqeq3w9q.js";
9
- import"../../../shared/components-men63rwj.js";
10
- import"../../../shared/components-0sn7ypjw.js";
11
- import"../../../shared/components-cv16mryv.js";
12
- import"../../../shared/components-ezxhrmer.js";
13
- export {
14
- InputCopy2 as InputCopy,
15
- input_copy_default as default
16
- };
@@ -1,28 +0,0 @@
1
- import {
2
- AccordionGroup2,
3
- Accordion2,
4
- AccordionItem2,
5
- AccordionTrigger2,
6
- AccordionContent2,
7
- accordion_default
8
- } from "../../../shared/components-3wk0w46f.js";
9
- import"../../../shared/components-zrkzcayz.js";
10
- import"../../../shared/components-0q0sqfh4.js";
11
- import"../../../shared/components-kvr7f9hy.js";
12
- import"../../../shared/components-59efxjd9.js";
13
- import"../../../shared/components-chacnk61.js";
14
- import"../../../shared/components-hqeq3w9q.js";
15
- import"../../../shared/components-jjw69c4c.js";
16
- import"../../../shared/components-n7mjr357.js";
17
- import"../../../shared/components-men63rwj.js";
18
- import"../../../shared/components-0sn7ypjw.js";
19
- import"../../../shared/components-cv16mryv.js";
20
- import"../../../shared/components-ezxhrmer.js";
21
- export {
22
- Accordion2 as Accordion,
23
- AccordionContent2 as AccordionContent,
24
- AccordionGroup2 as AccordionGroup,
25
- AccordionItem2 as AccordionItem,
26
- AccordionTrigger2 as AccordionTrigger,
27
- accordion_default as default
28
- };
@@ -1,13 +0,0 @@
1
- import {
2
- ThinkingIndicator2,
3
- thinking_indicator_default
4
- } from "../../shared/components-7x9kawxv.js";
5
- import"../../shared/components-0q0sqfh4.js";
6
- import"../../shared/components-hqeq3w9q.js";
7
- import"../../shared/components-men63rwj.js";
8
- import"../../shared/components-0sn7ypjw.js";
9
- import"../../shared/components-ezxhrmer.js";
10
- export {
11
- ThinkingIndicator2 as ThinkingIndicator,
12
- thinking_indicator_default as default
13
- };