@justanarthur/modo-ui 0.2.0 → 0.4.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 (90) hide show
  1. package/README.md +20 -16
  2. package/dist/blocks/sidebar-app/index.js +7 -7
  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 +8 -7
  13. package/dist/components/inputs/combobox/index.js +3 -3
  14. package/dist/components/inputs/date-time/calendar/index.js +3 -3
  15. package/dist/components/inputs/date-time/date-picker/index.d.ts +7 -3
  16. package/dist/components/inputs/date-time/date-picker/index.js +8 -8
  17. package/dist/components/inputs/date-time/date-range-picker/index.d.ts +7 -3
  18. package/dist/components/inputs/date-time/date-range-picker/index.js +7 -7
  19. package/dist/components/inputs/date-time/duration-picker/index.d.ts +7 -3
  20. package/dist/components/inputs/date-time/duration-picker/index.js +7 -7
  21. package/dist/components/inputs/date-time/month-picker/index.d.ts +7 -3
  22. package/dist/components/inputs/date-time/month-picker/index.js +6 -6
  23. package/dist/components/inputs/date-time/time-picker/index.d.ts +7 -3
  24. package/dist/components/inputs/date-time/time-picker/index.js +7 -7
  25. package/dist/components/inputs/input/index.d.ts +5 -1
  26. package/dist/components/inputs/input/index.js +2 -2
  27. package/dist/components/inputs/{radio-group → radio}/index.d.ts +30 -30
  28. package/dist/components/inputs/{radio-group → radio}/index.js +7 -6
  29. package/dist/components/inputs/search/index.js +3 -3
  30. package/dist/components/inputs/select/index.js +2 -2
  31. package/dist/components/inputs/switch/index.d.ts +27 -6
  32. package/dist/components/inputs/switch/index.js +8 -1
  33. package/dist/components/inputs/textarea/index.d.ts +46 -0
  34. package/dist/components/inputs/textarea/index.js +13 -0
  35. package/dist/components/navigation/sidebar/index.js +4 -4
  36. package/dist/components/navigation/tabs/index.js +2 -2
  37. package/dist/components/navigation/tabs-subtle/index.js +2 -2
  38. package/dist/components/overlays/command/index.js +2 -2
  39. package/dist/components/overlays/context-menu/index.js +3 -3
  40. package/dist/components/overlays/dropdown/index.d.ts +2 -2
  41. package/dist/components/overlays/dropdown/index.js +2 -2
  42. package/dist/components/table/index.js +2 -2
  43. package/dist/index.d.ts +896 -808
  44. package/dist/index.js +57 -50
  45. package/dist/primitives/fluid-hover/index.js +2 -2
  46. package/dist/primitives/morph/index.d.ts +2 -2
  47. package/dist/primitives/sizes/index.d.ts +2 -2
  48. package/dist/shared/{components-1rfwbyyc.js → components-1z6tdadk.js} +1 -1
  49. package/dist/shared/{components-7x9kawxv.js → components-27nnvrwe.js} +1 -1
  50. package/dist/shared/{components-mhd39z7x.js → components-3myrw7ne.js} +36 -1
  51. package/dist/shared/{components-gvr9w41t.js → components-50m950y9.js} +19 -23
  52. package/dist/shared/{components-asr5pg50.js → components-8snj490h.js} +106 -9
  53. package/dist/shared/{components-1xekx2hx.js → components-ar66gnt0.js} +1 -1
  54. package/dist/shared/{components-3wk0w46f.js → components-b3c5et5b.js} +1 -1
  55. package/dist/shared/{components-yh3kwdhr.js → components-d6xtjht3.js} +3 -3
  56. package/dist/shared/{components-ytb2tefr.js → components-hyq23phv.js} +39 -20
  57. package/dist/shared/{components-q4daerx0.js → components-mjthm1kf.js} +1 -1
  58. package/dist/shared/{components-ca2c898n.js → components-mqyvvh8k.js} +1 -1
  59. package/dist/shared/{components-4cnjmgex.js → components-nsjec21k.js} +4 -2
  60. package/dist/shared/{components-7ans7ce5.js → components-nyq0rym2.js} +5 -3
  61. package/dist/shared/{components-ny774h8p.js → components-pbmqctfa.js} +15 -8
  62. package/dist/shared/{components-7btqt08d.js → components-qtqxgfrb.js} +17 -20
  63. package/dist/shared/components-rd9tbsqv.js +89 -0
  64. package/dist/shared/{components-1j9791sn.js → components-s083f38z.js} +5 -5
  65. package/dist/shared/components-ta7shw28.js +19 -0
  66. package/dist/shared/{components-3gae8nta.js → components-tcee5k0s.js} +22 -24
  67. package/dist/shared/{components-ez65vtbq.js → components-wshd8f3n.js} +5 -3
  68. package/dist/shared/{components-v7wtz8hk.js → components-wtbesgdp.js} +6 -4
  69. package/dist/shared/{components-66mv71kx.js → components-xxvdw7k1.js} +1 -1
  70. package/dist/shared/{components-njzgqdwy.js → components-ye0ze0h8.js} +2 -2
  71. package/dist/shared/{components-cbxjn9p8.js → components-zwhtxm15.js} +5 -3
  72. package/dist/styles.css +1 -1
  73. package/package.json +1 -1
  74. package/dist/components/inputs/checkbox-group/index.d.ts +0 -50
  75. package/dist/components/inputs/input-copy/index.js +0 -16
  76. package/dist/components/navigation/accordion/index.js +0 -28
  77. package/dist/components/thinking-indicator/index.js +0 -13
  78. /package/dist/components/{inputs → AI}/input-message/index.d.ts +0 -0
  79. /package/dist/components/{thinking-indicator → AI/thinking-indicator}/index.d.ts +0 -0
  80. /package/dist/components/{navigation/accordion → accordion}/index.d.ts +0 -0
  81. /package/dist/shared/{components-0ke6xada.js → components-1434p1mh.js} +0 -0
  82. /package/dist/shared/{components-h2dpcwgc.js → components-2dxkv6zm.js} +0 -0
  83. /package/dist/shared/{components-8fpr3s4p.js → components-39vmfq9s.js} +0 -0
  84. /package/dist/shared/{components-nh8tma1n.js → components-a86dytt0.js} +0 -0
  85. /package/dist/shared/{components-v6xp325t.js → components-dk0gjr5a.js} +0 -0
  86. /package/dist/shared/{components-62ybc7t2.js → components-frw34b65.js} +0 -0
  87. /package/dist/shared/{components-9jvzzvt1.js → components-gz8zf3ec.js} +0 -0
  88. /package/dist/shared/{components-tqvarbfv.js → components-hw9yk32z.js} +0 -0
  89. /package/dist/shared/{components-apdwtweq.js → components-jbbmdr74.js} +0 -0
  90. /package/dist/shared/{components-3k8xpnpq.js → components-jthe1pwb.js} +0 -0
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  DateRangePicker2,
3
3
  date_range_picker_default
4
- } from "../../../../shared/components-cbxjn9p8.js";
5
- import"../../../../shared/components-1rfwbyyc.js";
6
- import"../../../../shared/components-7btqt08d.js";
7
- import"../../../../shared/components-gvr9w41t.js";
8
- import"../../../../shared/components-9jvzzvt1.js";
4
+ } from "../../../../shared/components-zwhtxm15.js";
5
+ import"../../../../shared/components-1z6tdadk.js";
6
+ import"../../../../shared/components-qtqxgfrb.js";
7
+ import"../../../../shared/components-50m950y9.js";
8
+ import"../../../../shared/components-gz8zf3ec.js";
9
9
  import"../../../../shared/components-c6s6b43g.js";
10
- import"../../../../shared/components-mhd39z7x.js";
10
+ import"../../../../shared/components-3myrw7ne.js";
11
11
  import"../../../../shared/components-rr7a6ja9.js";
12
12
  import"../../../../shared/components-zfnmn5d4.js";
13
13
  import"../../../../shared/components-3ky44908.js";
14
14
  import"../../../../shared/components-zrkzcayz.js";
15
15
  import"../../../../shared/components-0q0sqfh4.js";
16
16
  import"../../../../shared/components-kvr7f9hy.js";
17
- import"../../../../shared/components-59efxjd9.js";
18
17
  import"../../../../shared/components-chacnk61.js";
18
+ import"../../../../shared/components-59efxjd9.js";
19
19
  import"../../../../shared/components-hqeq3w9q.js";
20
20
  import"../../../../shared/components-jjw69c4c.js";
21
21
  import"../../../../shared/components-b2wyq2cq.js";
@@ -1,6 +1,8 @@
1
1
  import { Duration, Locale } from "date-fns";
2
- import { RefObject } from "react";
2
+ import { RefObject as RefObject2 } from "react";
3
3
  type SizeVariant = "default" | "compact";
4
+ /** Framed at rest (`bordered`), or invisible until hovered or focused (`borderless`). */
5
+ type FieldVariant = "bordered" | "borderless";
4
6
  import { JSX as JSX_1kxb } from "react";
5
7
  interface DurationPickerProps {
6
8
  /** The picked duration, a date-fns `Duration` (`{ hours, minutes }`); `null` when empty. */
@@ -19,6 +21,8 @@ interface DurationPickerProps {
19
21
  placeholder?: string;
20
22
  /** Disables the field. Defaults to `false`. */
21
23
  disabled?: boolean;
24
+ /** Framed at rest, or invisible until hovered or focused. Defaults to `"bordered"`. */
25
+ variant?: FieldVariant;
22
26
  /** Marks the field invalid. Defaults to `false`. */
23
27
  invalid?: boolean;
24
28
  /** Pins the field and its panel to one step of the size ladder. Defaults to the surrounding SizeProvider. */
@@ -32,7 +36,7 @@ interface DurationPickerProps {
32
36
  /** Id of the field, for a `Label`'s `htmlFor`. */
33
37
  id?: string;
34
38
  /** Where the panel grows from (see Morph): the field, the press point, its own center, a viewport edge, or a ref to any element. Defaults to `'trigger'` (the field). */
35
- from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject<HTMLElement | null>;
39
+ from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject2<HTMLElement | null>;
36
40
  /** How the panel grows (see Morph), as Combobox's list does: with the liquid goo neck, a plain morph, a slide or a fade. `'morph'` with `hideSource` opens it in place over the field. Defaults to `'goo'`. */
37
41
  effect?: "goo" | "morph" | "slide" | "fade";
38
42
  /** Hide the field while open, so it reads as turning into the panel. Defaults to `false`. */
@@ -53,5 +57,5 @@ type Element_12xgc = JSX_1kxb["Element"];
53
57
  *
54
58
  * @example {@include ./examples.mdx}
55
59
  */
56
- declare function DurationPicker({ value: valueProp, defaultValue, onValueChange, maxHours, minuteStep, locale, placeholder, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: DurationPickerProps): Element_12xgc;
60
+ declare function DurationPicker({ value: valueProp, defaultValue, onValueChange, maxHours, minuteStep, locale, placeholder, disabled, variant, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: DurationPickerProps): Element_12xgc;
57
61
  export { DurationPicker, DurationPickerProps, DurationPicker as default };
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  DurationPicker2,
3
3
  duration_picker_default
4
- } from "../../../../shared/components-7ans7ce5.js";
5
- import"../../../../shared/components-q4daerx0.js";
6
- import"../../../../shared/components-7btqt08d.js";
7
- import"../../../../shared/components-gvr9w41t.js";
8
- import"../../../../shared/components-9jvzzvt1.js";
4
+ } from "../../../../shared/components-nyq0rym2.js";
5
+ import"../../../../shared/components-mjthm1kf.js";
6
+ import"../../../../shared/components-qtqxgfrb.js";
7
+ import"../../../../shared/components-50m950y9.js";
8
+ import"../../../../shared/components-gz8zf3ec.js";
9
9
  import"../../../../shared/components-c6s6b43g.js";
10
- import"../../../../shared/components-mhd39z7x.js";
10
+ import"../../../../shared/components-3myrw7ne.js";
11
11
  import"../../../../shared/components-rr7a6ja9.js";
12
12
  import"../../../../shared/components-zfnmn5d4.js";
13
13
  import"../../../../shared/components-3ky44908.js";
14
14
  import"../../../../shared/components-zrkzcayz.js";
15
15
  import"../../../../shared/components-0q0sqfh4.js";
16
16
  import"../../../../shared/components-kvr7f9hy.js";
17
- import"../../../../shared/components-59efxjd9.js";
18
17
  import"../../../../shared/components-chacnk61.js";
18
+ import"../../../../shared/components-59efxjd9.js";
19
19
  import"../../../../shared/components-hqeq3w9q.js";
20
20
  import"../../../../shared/components-jjw69c4c.js";
21
21
  import"../../../../shared/components-b2wyq2cq.js";
@@ -1,6 +1,8 @@
1
1
  import { Locale } from "date-fns";
2
- import { RefObject } from "react";
2
+ import { RefObject as RefObject2 } from "react";
3
3
  type SizeVariant = "default" | "compact";
4
+ /** Framed at rest (`bordered`), or invisible until hovered or focused (`borderless`). */
5
+ type FieldVariant = "bordered" | "borderless";
4
6
  import { JSX as JSX_1kxb } from "react";
5
7
  interface MonthPickerProps {
6
8
  /** The picked month as its first day; `null` when empty. */
@@ -19,6 +21,8 @@ interface MonthPickerProps {
19
21
  endMonth?: Date;
20
22
  /** Disables the field. Defaults to `false`. */
21
23
  disabled?: boolean;
24
+ /** Framed at rest, or invisible until hovered or focused. Defaults to `"bordered"`. */
25
+ variant?: FieldVariant;
22
26
  /** Marks the field invalid. Defaults to `false`. */
23
27
  invalid?: boolean;
24
28
  /** Pins the field and its panel to one step of the size ladder. Defaults to the surrounding SizeProvider. */
@@ -32,7 +36,7 @@ interface MonthPickerProps {
32
36
  /** Id of the field, for a `Label`'s `htmlFor`. */
33
37
  id?: string;
34
38
  /** Where the panel grows from (see Morph): the field, the press point, its own center, a viewport edge, or a ref to any element. Defaults to `'trigger'` (the field). */
35
- from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject<HTMLElement | null>;
39
+ from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject2<HTMLElement | null>;
36
40
  /** How the panel grows (see Morph), as Combobox's list does: with the liquid goo neck, a plain morph, a slide or a fade. `'morph'` with `hideSource` opens it in place over the field. Defaults to `'goo'`. */
37
41
  effect?: "goo" | "morph" | "slide" | "fade";
38
42
  /** Hide the field while open, so it reads as turning into the panel. Defaults to `false`. */
@@ -53,5 +57,5 @@ type Element_12xgc = JSX_1kxb["Element"];
53
57
  *
54
58
  * @example {@include ./examples.mdx}
55
59
  */
56
- declare function MonthPicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, startMonth, endMonth, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: MonthPickerProps): Element_12xgc;
60
+ declare function MonthPicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, startMonth, endMonth, disabled, variant, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: MonthPickerProps): Element_12xgc;
57
61
  export { MonthPicker, MonthPickerProps, MonthPicker as default };
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  MonthPicker2,
3
3
  month_picker_default
4
- } from "../../../../shared/components-4cnjmgex.js";
5
- import"../../../../shared/components-7btqt08d.js";
6
- import"../../../../shared/components-gvr9w41t.js";
7
- import"../../../../shared/components-9jvzzvt1.js";
4
+ } from "../../../../shared/components-nsjec21k.js";
5
+ import"../../../../shared/components-qtqxgfrb.js";
6
+ import"../../../../shared/components-50m950y9.js";
7
+ import"../../../../shared/components-gz8zf3ec.js";
8
8
  import"../../../../shared/components-c6s6b43g.js";
9
- import"../../../../shared/components-mhd39z7x.js";
9
+ import"../../../../shared/components-3myrw7ne.js";
10
10
  import"../../../../shared/components-rr7a6ja9.js";
11
11
  import"../../../../shared/components-zfnmn5d4.js";
12
12
  import"../../../../shared/components-3ky44908.js";
13
13
  import"../../../../shared/components-zrkzcayz.js";
14
14
  import"../../../../shared/components-0q0sqfh4.js";
15
15
  import"../../../../shared/components-kvr7f9hy.js";
16
- import"../../../../shared/components-59efxjd9.js";
17
16
  import"../../../../shared/components-chacnk61.js";
17
+ import"../../../../shared/components-59efxjd9.js";
18
18
  import"../../../../shared/components-hqeq3w9q.js";
19
19
  import"../../../../shared/components-jjw69c4c.js";
20
20
  import"../../../../shared/components-b2wyq2cq.js";
@@ -1,7 +1,9 @@
1
1
  import { Locale as Locale2 } from "date-fns";
2
- import { RefObject } from "react";
2
+ import { RefObject as RefObject2 } from "react";
3
3
  type HourCycle = "h11" | "h12" | "h23" | "h24";
4
4
  type SizeVariant = "default" | "compact";
5
+ /** Framed at rest (`bordered`), or invisible until hovered or focused (`borderless`). */
6
+ type FieldVariant = "bordered" | "borderless";
5
7
  import { JSX as JSX_1kxb } from "react";
6
8
  interface TimePickerProps {
7
9
  /** The picked time as `"HH:mm"` on a 24-hour clock (an `<input type="time">`'s value); `null` when empty. */
@@ -20,6 +22,8 @@ interface TimePickerProps {
20
22
  placeholder?: string;
21
23
  /** Disables the field. Defaults to `false`. */
22
24
  disabled?: boolean;
25
+ /** Framed at rest, or invisible until hovered or focused. Defaults to `"bordered"`. */
26
+ variant?: FieldVariant;
23
27
  /** Marks the field invalid. Defaults to `false`. */
24
28
  invalid?: boolean;
25
29
  /** Pins the field and its panel to one step of the size ladder. Defaults to the surrounding SizeProvider. */
@@ -33,7 +37,7 @@ interface TimePickerProps {
33
37
  /** Id of the field, for a `Label`'s `htmlFor`. */
34
38
  id?: string;
35
39
  /** Where the panel grows from (see Morph): the field, the press point, its own center, a viewport edge, or a ref to any element. Defaults to `'trigger'` (the field). */
36
- from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject<HTMLElement | null>;
40
+ from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject2<HTMLElement | null>;
37
41
  /** How the panel grows (see Morph), as Combobox's list does: with the liquid goo neck, a plain morph, a slide or a fade. `'morph'` with `hideSource` opens it in place over the field. Defaults to `'goo'`. */
38
42
  effect?: "goo" | "morph" | "slide" | "fade";
39
43
  /** Hide the field while open, so it reads as turning into the panel. Defaults to `false`. */
@@ -55,5 +59,5 @@ type Element_12xgc = JSX_1kxb["Element"];
55
59
  *
56
60
  * @example {@include ./examples.mdx}
57
61
  */
58
- declare function TimePicker({ value: valueProp, defaultValue, onValueChange, hourCycle, minuteStep, locale, placeholder, disabled, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: TimePickerProps): Element_12xgc;
62
+ declare function TimePicker({ value: valueProp, defaultValue, onValueChange, hourCycle, minuteStep, locale, placeholder, disabled, variant, invalid, size, open: openProp, defaultOpen, onOpenChange, id, from, effect, hideSource, tier, className }: TimePickerProps): Element_12xgc;
59
63
  export { TimePicker, TimePickerProps, TimePicker as default };
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  TimePicker2,
3
3
  time_picker_default
4
- } from "../../../../shared/components-ez65vtbq.js";
5
- import"../../../../shared/components-q4daerx0.js";
6
- import"../../../../shared/components-7btqt08d.js";
7
- import"../../../../shared/components-gvr9w41t.js";
8
- import"../../../../shared/components-9jvzzvt1.js";
4
+ } from "../../../../shared/components-wshd8f3n.js";
5
+ import"../../../../shared/components-mjthm1kf.js";
6
+ import"../../../../shared/components-qtqxgfrb.js";
7
+ import"../../../../shared/components-50m950y9.js";
8
+ import"../../../../shared/components-gz8zf3ec.js";
9
9
  import"../../../../shared/components-c6s6b43g.js";
10
- import"../../../../shared/components-mhd39z7x.js";
10
+ import"../../../../shared/components-3myrw7ne.js";
11
11
  import"../../../../shared/components-rr7a6ja9.js";
12
12
  import"../../../../shared/components-zfnmn5d4.js";
13
13
  import"../../../../shared/components-3ky44908.js";
14
14
  import"../../../../shared/components-zrkzcayz.js";
15
15
  import"../../../../shared/components-0q0sqfh4.js";
16
16
  import"../../../../shared/components-kvr7f9hy.js";
17
- import"../../../../shared/components-59efxjd9.js";
18
17
  import"../../../../shared/components-chacnk61.js";
18
+ import"../../../../shared/components-59efxjd9.js";
19
19
  import"../../../../shared/components-hqeq3w9q.js";
20
20
  import"../../../../shared/components-jjw69c4c.js";
21
21
  import"../../../../shared/components-b2wyq2cq.js";
@@ -1,4 +1,7 @@
1
1
  import { ForwardRefExoticComponent, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, ReactNode as ReactNode2, RefAttributes } from "react";
2
+ type SizeVariant = "default" | "compact";
3
+ /** Framed at rest (`bordered`), or invisible until hovered or focused (`borderless`). */
4
+ type FieldVariant = "bordered" | "borderless";
2
5
  import { ComponentType } from "react";
3
6
  interface IconComponentProps {
4
7
  size?: number | string;
@@ -6,7 +9,6 @@ interface IconComponentProps {
6
9
  className?: string;
7
10
  }
8
11
  type IconComponent = ComponentType<IconComponentProps>;
9
- type SizeVariant = "default" | "compact";
10
12
  interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "defaultValue" | "size"> {
11
13
  /** Placeholder text. */
12
14
  placeholder?: string;
@@ -18,6 +20,8 @@ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChan
18
20
  defaultValue?: string;
19
21
  /** Called when the input value changes. */
20
22
  onChange?: (value: string) => void;
23
+ /** Framed at rest, or invisible until hovered or focused. Defaults to `"borderless"`. */
24
+ variant?: FieldVariant;
21
25
  /** Marks the value invalid: the field turns destructive and sets `aria-invalid`. Defaults to `false`. */
22
26
  invalid?: boolean;
23
27
  /** Disables the input. Defaults to `false`. */
@@ -3,8 +3,8 @@ import {
3
3
  Label2,
4
4
  InputGroup2,
5
5
  input_default
6
- } from "../../../shared/components-gvr9w41t.js";
7
- import"../../../shared/components-mhd39z7x.js";
6
+ } from "../../../shared/components-50m950y9.js";
7
+ import"../../../shared/components-3myrw7ne.js";
8
8
  import"../../../shared/components-59efxjd9.js";
9
9
  import"../../../shared/components-jjw69c4c.js";
10
10
  import"../../../shared/components-n7mjr357.js";
@@ -1,7 +1,7 @@
1
1
  import { ForwardRefExoticComponent, HTMLAttributes, ReactNode, RefAttributes } from "react";
2
2
  type SizeVariant = "default" | "compact";
3
3
  interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect" | "defaultValue"> {
4
- /** RadioGroup.Item children. */
4
+ /** `Radio` rows. */
5
5
  children: ReactNode;
6
6
  /** Index of the currently selected item. Controlled — pair it with `onSelectedIndexChange` (or per-item `onSelect`). */
7
7
  selectedIndex?: number;
@@ -18,35 +18,12 @@ interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect
18
18
  /** Pins the group's rows to one step of the size ladder (default 36px, compact 28px). Defaults to the surrounding SizeProvider. */
19
19
  size?: SizeVariant;
20
20
  }
21
- type RadioGroupComponent = ForwardRefExoticComponent<RadioGroupProps & RefAttributes<HTMLDivElement>> & {
22
- Item: typeof RadioItem;
23
- };
24
- /**
25
- * Radio button group with fluid hover and animated selection.
26
- *
27
- * Each row is a `RadioGroup.Item` with a stable `index`. The selected
28
- * background melts to the chosen row, a fluid hover highlight melts between
29
- * rows (the liquid indicators in Morph), the dot scales in, and the label animates to semibold without shifting
30
- * its width. Arrow keys, Home and End move focus and select, with a roving
31
- * tabindex on the selected row. Select by index — uncontrolled with
32
- * `defaultSelectedIndex`, controlled with `selectedIndex` +
33
- * `onSelectedIndexChange` — or by item `value` (`defaultValue` / `value` +
34
- * `onValueChange`), which also renders Base UI radios for form integration.
35
- * FF's per-item `selected` / `onSelect` still work and override the group for
36
- * their row.
37
- *
38
- * Statics:
39
- * - `RadioGroup.Item` — one radio row: `label`, `index`, and optional `value`,
40
- * `selected`, `onSelect`.
41
- *
42
- * @example {@include ./examples.mdx}
43
- */
44
- declare const RadioGroup: RadioGroupComponent;
45
- interface RadioItemProps extends HTMLAttributes<HTMLDivElement> {
21
+ declare const RadioGroup: ForwardRefExoticComponent<RadioGroupProps & RefAttributes<HTMLDivElement>>;
22
+ interface RadioProps extends HTMLAttributes<HTMLDivElement> {
46
23
  /** Text label for the radio item. */
47
24
  label: string;
48
- /** Position index within the group. */
49
- index: number;
25
+ /** Position within the `Radio.Group`: the row's `selectedIndex`. Defaults to its order among the group's rows. */
26
+ index?: number;
50
27
  /** Whether this item is selected. Defaults to the group's selection. */
51
28
  selected?: boolean;
52
29
  /** Called when this item is selected (the group's change callbacks fire too). */
@@ -54,5 +31,28 @@ interface RadioItemProps extends HTMLAttributes<HTMLDivElement> {
54
31
  /** Optional value forwarded to the underlying Base UI primitive for form integration. */
55
32
  value?: string;
56
33
  }
57
- declare const RadioItem: ForwardRefExoticComponent<RadioItemProps & RefAttributes<HTMLDivElement>>;
58
- export { RadioGroup, RadioGroupProps, RadioItem, RadioItemProps, RadioGroup as default };
34
+ type RadioComponent = ForwardRefExoticComponent<RadioProps & RefAttributes<HTMLDivElement>> & {
35
+ Group: typeof RadioGroup;
36
+ };
37
+ /**
38
+ * Radio buttons with fluid hover and animated selection.
39
+ *
40
+ * Each `Radio` is one row of a `Radio.Group`. The selected background melts
41
+ * to the chosen row, a fluid hover highlight melts between rows (the liquid
42
+ * indicators in Morph), the dot scales in, and the label animates to
43
+ * semibold without shifting its width. Arrow keys, Home and End move focus
44
+ * and select, with a roving tabindex on the selected row. The group numbers
45
+ * its rows in order, so they need no `index`. FF's per-row `selected` /
46
+ * `onSelect` still work and override the group for their row.
47
+ *
48
+ * Statics:
49
+ * - `Radio.Group` — the list. Select by index — uncontrolled with
50
+ * `defaultSelectedIndex`, controlled with `selectedIndex` +
51
+ * `onSelectedIndexChange` — or by row `value` (`defaultValue` / `value` +
52
+ * `onValueChange`), which also renders Base UI radios for form
53
+ * integration; `size` pins every row to one step of the size ladder.
54
+ *
55
+ * @example {@include ./examples.mdx}
56
+ */
57
+ declare const Radio: RadioComponent;
58
+ export { Radio, RadioGroup, RadioGroupProps, RadioProps, Radio as default };
@@ -1,11 +1,12 @@
1
1
  import {
2
2
  RadioGroup2,
3
- RadioItem2,
4
- radio_group_default
5
- } from "../../../shared/components-ny774h8p.js";
3
+ Radio2,
4
+ radio_default
5
+ } from "../../../shared/components-pbmqctfa.js";
6
+ import"../../../shared/components-ta7shw28.js";
6
7
  import"../../../shared/components-kvr7f9hy.js";
7
- import"../../../shared/components-59efxjd9.js";
8
8
  import"../../../shared/components-chacnk61.js";
9
+ import"../../../shared/components-59efxjd9.js";
9
10
  import"../../../shared/components-hqeq3w9q.js";
10
11
  import"../../../shared/components-jjw69c4c.js";
11
12
  import"../../../shared/components-n7mjr357.js";
@@ -14,7 +15,7 @@ import"../../../shared/components-0sn7ypjw.js";
14
15
  import"../../../shared/components-cv16mryv.js";
15
16
  import"../../../shared/components-ezxhrmer.js";
16
17
  export {
18
+ Radio2 as Radio,
17
19
  RadioGroup2 as RadioGroup,
18
- RadioItem2 as RadioItem,
19
- radio_group_default as default
20
+ radio_default as default
20
21
  };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Search2,
3
3
  search_default
4
- } from "../../../shared/components-66mv71kx.js";
5
- import"../../../shared/components-8fpr3s4p.js";
4
+ } from "../../../shared/components-xxvdw7k1.js";
5
+ import"../../../shared/components-39vmfq9s.js";
6
6
  import"../../../shared/components-zfnmn5d4.js";
7
7
  import"../../../shared/components-3ky44908.js";
8
8
  import"../../../shared/components-zrkzcayz.js";
9
9
  import"../../../shared/components-0q0sqfh4.js";
10
10
  import"../../../shared/components-kvr7f9hy.js";
11
- import"../../../shared/components-59efxjd9.js";
12
11
  import"../../../shared/components-chacnk61.js";
12
+ import"../../../shared/components-59efxjd9.js";
13
13
  import"../../../shared/components-hqeq3w9q.js";
14
14
  import"../../../shared/components-b2wyq2cq.js";
15
15
  import"../../../shared/components-n7mjr357.js";
@@ -8,11 +8,11 @@ import {
8
8
  SelectLabel2,
9
9
  SelectSeparator2,
10
10
  select_default
11
- } from "../../../shared/components-62ybc7t2.js";
11
+ } from "../../../shared/components-frw34b65.js";
12
12
  import"../../../shared/components-0q0sqfh4.js";
13
13
  import"../../../shared/components-kvr7f9hy.js";
14
- import"../../../shared/components-59efxjd9.js";
15
14
  import"../../../shared/components-chacnk61.js";
15
+ import"../../../shared/components-59efxjd9.js";
16
16
  import"../../../shared/components-hqeq3w9q.js";
17
17
  import"../../../shared/components-jjw69c4c.js";
18
18
  import"../../../shared/components-men63rwj.js";
@@ -1,11 +1,13 @@
1
1
  import { Transition } from "motion/react";
2
- import { HTMLAttributes } from "react";
2
+ import { ForwardRefExoticComponent, HTMLAttributes, ReactNode, RefAttributes } from "react";
3
3
  type SizeVariant = "default" | "compact";
4
- import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn } from "react";
5
- import { RefAttributes as RefAttributes_miuf56 } from "react";
6
4
  interface SwitchProps extends HTMLAttributes<HTMLDivElement> {
7
5
  /** Text label displayed next to the switch. */
8
6
  label: string;
7
+ /** Secondary text under the label: what turning the switch on does. With one, the label stays at full contrast. */
8
+ description?: ReactNode;
9
+ /** The side of the label the track sits on; `"end"` pushes it to the row's far edge, as in a settings list (always, inside a `Switch.Group`). Defaults to `"start"`. */
10
+ trackSide?: "start" | "end";
9
11
  /** Whether the switch is on (controlled). Omit it to let the switch keep its own state, seeded from `defaultChecked`. */
10
12
  checked?: boolean;
11
13
  /** Whether the switch starts on when uncontrolled. Defaults to `false`. */
@@ -21,6 +23,9 @@ interface SwitchProps extends HTMLAttributes<HTMLDivElement> {
21
23
  /** Pins the switch to one step of the size ladder (see Sizes). Defaults to the surrounding SizeProvider, else `"default"`. */
22
24
  size?: SizeVariant;
23
25
  }
26
+ type SwitchComponent = ForwardRefExoticComponent<SwitchProps & RefAttributes<HTMLDivElement>> & {
27
+ Group: typeof SwitchGroup;
28
+ };
24
29
  /**
25
30
  * Toggle switch with animated thumb and label.
26
31
  *
@@ -35,9 +40,25 @@ interface SwitchProps extends HTMLAttributes<HTMLDivElement> {
35
40
  * Works controlled (`checked` + `onToggle`, exactly as upstream) or
36
41
  * uncontrolled (`defaultChecked`, with `onCheckedChange` reporting each
37
42
  * change). `size` pins it to one step of the size ladder; otherwise it
38
- * follows the surrounding SizeProvider.
43
+ * follows the surrounding SizeProvider. `description` adds a muted line under
44
+ * the label and `trackSide="end"` moves the track to the row's far edge.
45
+ *
46
+ * Statics:
47
+ * - `Switch.Group` — switches as a settings list in one outlined frame: each
48
+ * `Switch` inside becomes a row with its track at the far edge, hairlines
49
+ * divide the rows and a fluid hover highlight melts between them, dropping
50
+ * the hairlines it touches (as in an outlined Card.Group); a disabled row
51
+ * gets no highlight. Every switch keeps its own state. `size` pins every
52
+ * row; name the group with `aria-label` or `aria-labelledby`.
39
53
  *
40
54
  * @example {@include ./examples.mdx}
41
55
  */
42
- declare const Switch: ForwardRefExoticComponent_tcubfn<SwitchProps & RefAttributes_miuf56<HTMLDivElement>>;
43
- export { Switch, SwitchProps, Switch as default };
56
+ declare const Switch: SwitchComponent;
57
+ interface SwitchGroupProps extends HTMLAttributes<HTMLFieldSetElement> {
58
+ /** `Switch` rows. */
59
+ children: ReactNode;
60
+ /** Pins every row to one step of the size ladder (see Sizes). Defaults to the surrounding SizeProvider. */
61
+ size?: SizeVariant;
62
+ }
63
+ declare const SwitchGroup: ForwardRefExoticComponent<SwitchGroupProps & RefAttributes<HTMLFieldSetElement>>;
64
+ export { Switch, SwitchGroup, SwitchGroupProps, SwitchProps, Switch as default };
@@ -1,14 +1,21 @@
1
1
  import {
2
2
  Switch2,
3
+ SwitchGroup2,
3
4
  switch_default
4
- } from "../../../shared/components-asr5pg50.js";
5
+ } from "../../../shared/components-8snj490h.js";
6
+ import"../../../shared/components-ta7shw28.js";
7
+ import"../../../shared/components-kvr7f9hy.js";
5
8
  import"../../../shared/components-chacnk61.js";
9
+ import"../../../shared/components-59efxjd9.js";
6
10
  import"../../../shared/components-hqeq3w9q.js";
11
+ import"../../../shared/components-jjw69c4c.js";
7
12
  import"../../../shared/components-n7mjr357.js";
8
13
  import"../../../shared/components-men63rwj.js";
9
14
  import"../../../shared/components-0sn7ypjw.js";
15
+ import"../../../shared/components-cv16mryv.js";
10
16
  import"../../../shared/components-ezxhrmer.js";
11
17
  export {
12
18
  Switch2 as Switch,
19
+ SwitchGroup2 as SwitchGroup,
13
20
  switch_default as default
14
21
  };
@@ -0,0 +1,46 @@
1
+ import { TextareaHTMLAttributes } from "react";
2
+ type SizeVariant = "default" | "compact";
3
+ /** Framed at rest (`bordered`), or invisible until hovered or focused (`borderless`). */
4
+ type FieldVariant = "bordered" | "borderless";
5
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn } from "react";
6
+ import { RefAttributes as RefAttributes_miuf56 } from "react";
7
+ interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "onChange" | "value" | "defaultValue" | "rows"> {
8
+ /** Placeholder text. */
9
+ placeholder?: string;
10
+ /** Controlled value. Pair with `onChange`. */
11
+ value?: string;
12
+ /** Initial value when uncontrolled. Defaults to `''`. */
13
+ defaultValue?: string;
14
+ /** Called with the new value on every change. */
15
+ onChange?: (value: string) => void;
16
+ /** Rows shown when empty; the box never gets shorter. Defaults to `3`. */
17
+ minRows?: number;
18
+ /** Rows the box grows to before it scrolls. Set it to `minRows` for a fixed height. Defaults to `8`. */
19
+ maxRows?: number;
20
+ /** Framed at rest, or invisible until hovered or focused. Defaults to `"borderless"`. */
21
+ variant?: FieldVariant;
22
+ /** Marks the value invalid: the field turns destructive and sets `aria-invalid`. Defaults to `false`. */
23
+ invalid?: boolean;
24
+ /** Disables the textarea. Defaults to `false`. */
25
+ disabled?: boolean;
26
+ /** Pins the textarea to one step of the size ladder (36px default, 28px compact): its text and padding follow, so one row matches an Input. Defaults to the surrounding SizeProvider. */
27
+ size?: SizeVariant;
28
+ /** Classes for the ringed box around the textarea. */
29
+ className?: string;
30
+ }
31
+ /**
32
+ * Multi-line text field that grows with what you type.
33
+ *
34
+ * It sits on the same ground as Input: bare text at rest (or framed, with
35
+ * `variant="bordered"`), a muted fill with a hairline ring on hover, the
36
+ * card ground on focus, a destructive ring when `invalid`. The box starts at `minRows`, grows line by line as text wraps,
37
+ * and scrolls once it reaches `maxRows`. One row lines up with an Input of
38
+ * the same size, so the two stack in a form without a seam. It is
39
+ * uncontrolled with `defaultValue`, or controlled with `value` + `onChange`,
40
+ * fills the width of its container, and joins a Base UI `Field` when placed
41
+ * inside one. Pair it with a `Label` (see Input) through `htmlFor` / `id`.
42
+ *
43
+ * @example {@include ./examples.mdx}
44
+ */
45
+ declare const Textarea: ForwardRefExoticComponent_tcubfn<TextareaProps & RefAttributes_miuf56<HTMLTextAreaElement>>;
46
+ export { Textarea, TextareaProps, Textarea as default };
@@ -0,0 +1,13 @@
1
+ import {
2
+ Textarea2,
3
+ textarea_default
4
+ } from "../../../shared/components-rd9tbsqv.js";
5
+ import"../../../shared/components-3myrw7ne.js";
6
+ import"../../../shared/components-n7mjr357.js";
7
+ import"../../../shared/components-0sn7ypjw.js";
8
+ import"../../../shared/components-cv16mryv.js";
9
+ import"../../../shared/components-ezxhrmer.js";
10
+ export {
11
+ Textarea2 as Textarea,
12
+ textarea_default as default
13
+ };
@@ -36,18 +36,18 @@ import {
36
36
  Sidebar2,
37
37
  SidebarContent2,
38
38
  sidebar_default
39
- } from "../../../shared/components-ca2c898n.js";
39
+ } from "../../../shared/components-mqyvvh8k.js";
40
40
  import"../../../shared/components-c6s6b43g.js";
41
- import"../../../shared/components-mhd39z7x.js";
42
- import"../../../shared/components-ng72k97e.js";
41
+ import"../../../shared/components-3myrw7ne.js";
43
42
  import"../../../shared/components-rr7a6ja9.js";
43
+ import"../../../shared/components-ng72k97e.js";
44
44
  import"../../../shared/components-zfnmn5d4.js";
45
45
  import"../../../shared/components-3ky44908.js";
46
46
  import"../../../shared/components-zrkzcayz.js";
47
47
  import"../../../shared/components-0q0sqfh4.js";
48
48
  import"../../../shared/components-kvr7f9hy.js";
49
- import"../../../shared/components-59efxjd9.js";
50
49
  import"../../../shared/components-chacnk61.js";
50
+ import"../../../shared/components-59efxjd9.js";
51
51
  import"../../../shared/components-hqeq3w9q.js";
52
52
  import"../../../shared/components-jjw69c4c.js";
53
53
  import"../../../shared/components-b2wyq2cq.js";
@@ -4,9 +4,9 @@ import {
4
4
  TabItem2,
5
5
  TabPanel2,
6
6
  tabs_default
7
- } from "../../../shared/components-tqvarbfv.js";
8
- import"../../../shared/components-59efxjd9.js";
7
+ } from "../../../shared/components-hw9yk32z.js";
9
8
  import"../../../shared/components-chacnk61.js";
9
+ import"../../../shared/components-59efxjd9.js";
10
10
  import"../../../shared/components-hqeq3w9q.js";
11
11
  import"../../../shared/components-jjw69c4c.js";
12
12
  import"../../../shared/components-men63rwj.js";
@@ -3,9 +3,9 @@ import {
3
3
  TabsSubtleItem2,
4
4
  TabsSubtlePanel2,
5
5
  tabs_subtle_default
6
- } from "../../../shared/components-v6xp325t.js";
7
- import"../../../shared/components-59efxjd9.js";
6
+ } from "../../../shared/components-dk0gjr5a.js";
8
7
  import"../../../shared/components-chacnk61.js";
8
+ import"../../../shared/components-59efxjd9.js";
9
9
  import"../../../shared/components-hqeq3w9q.js";
10
10
  import"../../../shared/components-jjw69c4c.js";
11
11
  import"../../../shared/components-n7mjr357.js";
@@ -7,14 +7,14 @@ import {
7
7
  CommandContent2,
8
8
  Command2,
9
9
  command_default
10
- } from "../../../shared/components-8fpr3s4p.js";
10
+ } from "../../../shared/components-39vmfq9s.js";
11
11
  import"../../../shared/components-zfnmn5d4.js";
12
12
  import"../../../shared/components-3ky44908.js";
13
13
  import"../../../shared/components-zrkzcayz.js";
14
14
  import"../../../shared/components-0q0sqfh4.js";
15
15
  import"../../../shared/components-kvr7f9hy.js";
16
- import"../../../shared/components-59efxjd9.js";
17
16
  import"../../../shared/components-chacnk61.js";
17
+ import"../../../shared/components-59efxjd9.js";
18
18
  import"../../../shared/components-hqeq3w9q.js";
19
19
  import"../../../shared/components-b2wyq2cq.js";
20
20
  import"../../../shared/components-n7mjr357.js";