@justanarthur/modo-ui 0.0.0-stage → 0.1.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 (172) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSE.beui +21 -0
  3. package/LICENSE.fluid-functionalism +21 -0
  4. package/LICENSE.motion-primitives +21 -0
  5. package/LICENSE.sileo +21 -0
  6. package/README.md +608 -2
  7. package/dist/base.css +994 -0
  8. package/dist/blocks/sidebar-app/index.d.ts +34 -0
  9. package/dist/blocks/sidebar-app/index.js +34 -0
  10. package/dist/components/badge/index.d.ts +59 -0
  11. package/dist/components/badge/index.js +18 -0
  12. package/dist/components/button/index.d.ts +59 -0
  13. package/dist/components/button/index.js +16 -0
  14. package/dist/components/card/index.d.ts +141 -0
  15. package/dist/components/card/index.js +44 -0
  16. package/dist/components/inputs/checkbox-group/index.d.ts +50 -0
  17. package/dist/components/inputs/checkbox-group/index.js +23 -0
  18. package/dist/components/inputs/color-picker/index.d.ts +137 -0
  19. package/dist/components/inputs/color-picker/index.js +37 -0
  20. package/dist/components/inputs/combobox/index.d.ts +161 -0
  21. package/dist/components/inputs/combobox/index.js +41 -0
  22. package/dist/components/inputs/date-time/calendar/index.d.ts +45 -0
  23. package/dist/components/inputs/date-time/calendar/index.js +20 -0
  24. package/dist/components/inputs/date-time/date-picker/index.d.ts +82 -0
  25. package/dist/components/inputs/date-time/date-picker/index.js +34 -0
  26. package/dist/components/inputs/date-time/date-range-picker/index.d.ts +64 -0
  27. package/dist/components/inputs/date-time/date-range-picker/index.js +33 -0
  28. package/dist/components/inputs/date-time/duration-picker/index.d.ts +57 -0
  29. package/dist/components/inputs/date-time/duration-picker/index.js +33 -0
  30. package/dist/components/inputs/date-time/month-picker/index.d.ts +57 -0
  31. package/dist/components/inputs/date-time/month-picker/index.js +32 -0
  32. package/dist/components/inputs/date-time/time-picker/index.d.ts +59 -0
  33. package/dist/components/inputs/date-time/time-picker/index.js +33 -0
  34. package/dist/components/inputs/input/index.d.ts +84 -0
  35. package/dist/components/inputs/input/index.js +20 -0
  36. package/dist/components/inputs/input-copy/index.d.ts +44 -0
  37. package/dist/components/inputs/input-copy/index.js +18 -0
  38. package/dist/components/inputs/input-message/index.d.ts +125 -0
  39. package/dist/components/inputs/input-message/index.js +27 -0
  40. package/dist/components/inputs/radio-group/index.d.ts +58 -0
  41. package/dist/components/inputs/radio-group/index.js +22 -0
  42. package/dist/components/inputs/search/index.d.ts +83 -0
  43. package/dist/components/inputs/search/index.js +28 -0
  44. package/dist/components/inputs/select/index.d.ts +105 -0
  45. package/dist/components/inputs/select/index.js +37 -0
  46. package/dist/components/inputs/slider/index.d.ts +108 -0
  47. package/dist/components/inputs/slider/index.js +16 -0
  48. package/dist/components/inputs/switch/index.d.ts +43 -0
  49. package/dist/components/inputs/switch/index.js +16 -0
  50. package/dist/components/navigation/accordion/index.d.ts +117 -0
  51. package/dist/components/navigation/accordion/index.js +30 -0
  52. package/dist/components/navigation/sidebar/index.d.ts +388 -0
  53. package/dist/components/navigation/sidebar/index.js +101 -0
  54. package/dist/components/navigation/tabs/index.d.ts +70 -0
  55. package/dist/components/navigation/tabs/index.js +25 -0
  56. package/dist/components/navigation/tabs-subtle/index.d.ts +73 -0
  57. package/dist/components/navigation/tabs-subtle/index.js +23 -0
  58. package/dist/components/overlays/alert-dialog/index.d.ts +67 -0
  59. package/dist/components/overlays/alert-dialog/index.js +24 -0
  60. package/dist/components/overlays/command/index.d.ts +121 -0
  61. package/dist/components/overlays/command/index.js +39 -0
  62. package/dist/components/overlays/context-menu/index.d.ts +97 -0
  63. package/dist/components/overlays/context-menu/index.js +32 -0
  64. package/dist/components/overlays/dialog/index.d.ts +130 -0
  65. package/dist/components/overlays/dialog/index.js +39 -0
  66. package/dist/components/overlays/dropdown/index.d.ts +222 -0
  67. package/dist/components/overlays/dropdown/index.js +47 -0
  68. package/dist/components/overlays/popover/index.d.ts +87 -0
  69. package/dist/components/overlays/popover/index.js +28 -0
  70. package/dist/components/overlays/preview-card/index.d.ts +75 -0
  71. package/dist/components/overlays/preview-card/index.js +21 -0
  72. package/dist/components/overlays/sheet/index.d.ts +67 -0
  73. package/dist/components/overlays/sheet/index.js +26 -0
  74. package/dist/components/overlays/toast/index.d.ts +107 -0
  75. package/dist/components/overlays/toast/index.js +23 -0
  76. package/dist/components/overlays/tooltip/index.d.ts +75 -0
  77. package/dist/components/overlays/tooltip/index.js +19 -0
  78. package/dist/components/table/index.d.ts +44 -0
  79. package/dist/components/table/index.js +28 -0
  80. package/dist/components/thinking-indicator/index.d.ts +32 -0
  81. package/dist/components/thinking-indicator/index.js +15 -0
  82. package/dist/index.d.ts +3926 -0
  83. package/dist/index.js +513 -0
  84. package/dist/preset.d.ts +104 -0
  85. package/dist/preset.js +124 -0
  86. package/dist/primitives/code/index.d.ts +23 -0
  87. package/dist/primitives/code/index.js +12 -0
  88. package/dist/primitives/craft/index.d.ts +31 -0
  89. package/dist/primitives/craft/index.js +13 -0
  90. package/dist/primitives/fluid-hover/index.d.ts +233 -0
  91. package/dist/primitives/fluid-hover/index.js +27 -0
  92. package/dist/primitives/morph/index.d.ts +127 -0
  93. package/dist/primitives/morph/index.js +21 -0
  94. package/dist/primitives/motion/index.d.ts +115 -0
  95. package/dist/primitives/motion/index.js +20 -0
  96. package/dist/primitives/scroll-area/index.d.ts +41 -0
  97. package/dist/primitives/scroll-area/index.js +13 -0
  98. package/dist/primitives/sizes/index.d.ts +128 -0
  99. package/dist/primitives/sizes/index.js +22 -0
  100. package/dist/primitives/surface/index.d.ts +69 -0
  101. package/dist/primitives/surface/index.js +18 -0
  102. package/dist/shared/components-0f0as45n.js +17 -0
  103. package/dist/shared/components-40j34hdb.js +986 -0
  104. package/dist/shared/components-4hh0gm0v.js +292 -0
  105. package/dist/shared/components-4xxddc44.js +15 -0
  106. package/dist/shared/components-4xxtggzp.js +110 -0
  107. package/dist/shared/components-54nf2x99.js +293 -0
  108. package/dist/shared/components-5pkcfprd.js +232 -0
  109. package/dist/shared/components-5vxtcp88.js +9 -0
  110. package/dist/shared/components-5zry9te1.js +152 -0
  111. package/dist/shared/components-61ckf42z.js +220 -0
  112. package/dist/shared/components-6hzwfmfd.js +58 -0
  113. package/dist/shared/components-6phwsry6.js +361 -0
  114. package/dist/shared/components-6t6nr33r.js +86 -0
  115. package/dist/shared/components-6y1th6k4.js +111 -0
  116. package/dist/shared/components-74c20v2f.js +32 -0
  117. package/dist/shared/components-7cqq1sqy.js +193 -0
  118. package/dist/shared/components-7gv95yfy.js +496 -0
  119. package/dist/shared/components-7nww01w4.js +375 -0
  120. package/dist/shared/components-7zp99w5d.js +62 -0
  121. package/dist/shared/components-8hk9ve3r.js +1200 -0
  122. package/dist/shared/components-8hzbsfbd.js +123 -0
  123. package/dist/shared/components-9p8s8n5q.js +171 -0
  124. package/dist/shared/components-aaq3yk4f.js +304 -0
  125. package/dist/shared/components-bf2d9k02.js +484 -0
  126. package/dist/shared/components-bkvb6nem.js +63 -0
  127. package/dist/shared/components-brnzrp2t.js +262 -0
  128. package/dist/shared/components-csxz9f52.js +42 -0
  129. package/dist/shared/components-de8xsm9y.js +22 -0
  130. package/dist/shared/components-dg0w8g5p.js +26 -0
  131. package/dist/shared/components-dphg9gjr.js +42 -0
  132. package/dist/shared/components-e46kf6cp.js +298 -0
  133. package/dist/shared/components-ed7cmssr.js +105 -0
  134. package/dist/shared/components-ess3ch6w.js +137 -0
  135. package/dist/shared/components-gjfrycb5.js +984 -0
  136. package/dist/shared/components-gndm6am4.js +128 -0
  137. package/dist/shared/components-hjkrv00c.js +191 -0
  138. package/dist/shared/components-hzfp4tjb.js +270 -0
  139. package/dist/shared/components-j65qt1mq.js +719 -0
  140. package/dist/shared/components-jw16snbn.js +19 -0
  141. package/dist/shared/components-jxgznftn.js +146 -0
  142. package/dist/shared/components-kf2ehztc.js +216 -0
  143. package/dist/shared/components-kpbcms10.js +9 -0
  144. package/dist/shared/components-m5br529r.js +141 -0
  145. package/dist/shared/components-nn6xezy2.js +1828 -0
  146. package/dist/shared/components-nnnd2xef.js +9 -0
  147. package/dist/shared/components-p2vmyfe1.js +345 -0
  148. package/dist/shared/components-peg09pzs.js +79 -0
  149. package/dist/shared/components-r22vtgqc.js +45 -0
  150. package/dist/shared/components-r2gke5p6.js +1759 -0
  151. package/dist/shared/components-r43mqnd6.js +160 -0
  152. package/dist/shared/components-r4jt6hgd.js +58 -0
  153. package/dist/shared/components-rc63qsy6.js +159 -0
  154. package/dist/shared/components-s3yfvfkr.js +149 -0
  155. package/dist/shared/components-s5pkbjx1.js +445 -0
  156. package/dist/shared/components-tad5h7ta.js +346 -0
  157. package/dist/shared/components-taxmgbnh.js +120 -0
  158. package/dist/shared/components-tm88ghva.js +215 -0
  159. package/dist/shared/components-v7es8aan.js +144 -0
  160. package/dist/shared/components-vb033rns.js +28 -0
  161. package/dist/shared/components-vc1k7yv2.js +30 -0
  162. package/dist/shared/components-vktws5r6.js +667 -0
  163. package/dist/shared/components-x2xyckd5.js +198 -0
  164. package/dist/shared/components-x3rz4cyn.js +61 -0
  165. package/dist/shared/components-xszag63d.js +141 -0
  166. package/dist/shared/components-y3cqdrgy.js +291 -0
  167. package/dist/shared/components-zvb11ker.js +288 -0
  168. package/dist/shared/components-zx2hr57f.js +124 -0
  169. package/dist/styles.css +1949 -0
  170. package/dist/tailwind.css +219 -0
  171. package/dist/tokens.css +345 -0
  172. package/package.json +102 -3
@@ -0,0 +1,37 @@
1
+ import {
2
+ ColorPicker,
3
+ ColorPickerPopover,
4
+ ColorPickerPortalContainer,
5
+ ColorSwatch,
6
+ ColorTile,
7
+ buildParsed,
8
+ color_picker_default,
9
+ parseColor
10
+ } from "../../../shared/components-r2gke5p6.js";
11
+ import"../../../shared/components-8hk9ve3r.js";
12
+ import"../../../shared/components-gndm6am4.js";
13
+ import"../../../shared/components-vb033rns.js";
14
+ import"../../../shared/components-m5br529r.js";
15
+ import"../../../shared/components-csxz9f52.js";
16
+ import"../../../shared/components-jxgznftn.js";
17
+ import"../../../shared/components-r22vtgqc.js";
18
+ import"../../../shared/components-e46kf6cp.js";
19
+ import"../../../shared/components-7zp99w5d.js";
20
+ import"../../../shared/components-dg0w8g5p.js";
21
+ import"../../../shared/components-kf2ehztc.js";
22
+ import"../../../shared/components-7nww01w4.js";
23
+ import"../../../shared/components-nnnd2xef.js";
24
+ import"../../../shared/components-vc1k7yv2.js";
25
+ import"../../../shared/components-x3rz4cyn.js";
26
+ import"../../../shared/components-0f0as45n.js";
27
+ import"../../../shared/components-kpbcms10.js";
28
+ export {
29
+ parseColor,
30
+ color_picker_default as default,
31
+ buildParsed,
32
+ ColorTile,
33
+ ColorSwatch,
34
+ ColorPickerPortalContainer,
35
+ ColorPickerPopover,
36
+ ColorPicker
37
+ };
@@ -0,0 +1,161 @@
1
+ import { VariantProps } from "class-variance-authority";
2
+ import { HTMLAttributes, InputHTMLAttributes, ReactNode as ReactNode2, RefObject } from "react";
3
+ import { ClassProp as ClassProp_wz9o0r } from "class-variance-authority/types";
4
+ /**
5
+ * The ringed box of a text field. It steps from rest to a muted fill when lit
6
+ * (hovered, or `data-active` from a group's fluid hover) to the card fill
7
+ * when focused. `data-invalid` keeps a destructive ring in every state and
8
+ * tints the lit fill; `data-disabled` frames and dims it. Put it on the
9
+ * element around the control and stamp the data attributes; Base UI parts
10
+ * stamp `data-invalid` / `data-disabled` themselves.
11
+ */
12
+ declare const fieldVariants: (props?: ({
13
+ variant?: "borderless" | "bordered" | null | undefined;
14
+ } & ClassProp_wz9o0r) | undefined) => string;
15
+ import { ComponentType } from "react";
16
+ interface IconComponentProps {
17
+ size?: number | string;
18
+ strokeWidth?: number | string;
19
+ className?: string;
20
+ }
21
+ type IconComponent = ComponentType<IconComponentProps>;
22
+ type SizeVariant = "default" | "compact";
23
+ import { JSX as JSX_1kxb2 } from "react";
24
+ import { ForwardRefExoticComponent as ForwardRefExoticComponent_tcubfn } from "react";
25
+ import { RefAttributes as RefAttributes_miuf56 } from "react";
26
+ /** An object item: `value` and `label`, plus whatever the rows need. */
27
+ interface ComboboxItemObject {
28
+ value: string;
29
+ label: string;
30
+ [key: string]: unknown;
31
+ }
32
+ type ComboboxItemData = string | ComboboxItemObject;
33
+ type ComboboxValue<Multiple extends boolean> = Multiple extends true ? string[] : string;
34
+ interface ComboboxProps {
35
+ /** `Combobox.Input` or `Combobox.Chips`, plus `Combobox.Content`. */
36
+ children: ReactNode2;
37
+ /** The options. A string is its own value and label; an object carries `value`, `label`, and whatever your rows need. */
38
+ items: readonly ComboboxItemData[];
39
+ /** Any number of picks. Values become `string[]`; use `Combobox.Chips` for the field. Defaults to `false`. */
40
+ multiple?: boolean;
41
+ /** Selected value. `""` means none; an array when `multiple`. Controlled — pair it with `onValueChange`. */
42
+ value?: string | string[];
43
+ /** Selection on first render when uncontrolled. Defaults to none. */
44
+ defaultValue?: string | string[];
45
+ /** Called with the pick, `""` when cleared, or the array when `multiple`. */
46
+ onValueChange?: ((value: string) => void) | ((value: string[]) => void);
47
+ /** Match an item against the query. Defaults to a case-insensitive "contains" on the label. */
48
+ filter?: (item: ComboboxItemData, query: string) => boolean;
49
+ /** Adds a last row that creates the trimmed query whenever no label matches it exactly. Add the item to `items` and return it to select it. */
50
+ onCreate?: (query: string) => ComboboxItemData | void;
51
+ /** The create row's label. Defaults to ``(query) => `Create “${query}”` ``. */
52
+ createLabel?: (query: string) => ReactNode2;
53
+ /** Local addition: offer the create row with no callback — the component keeps the items it makes, so nothing outside has to hold the list. Defaults to `false`. */
54
+ creatable?: boolean;
55
+ /** Multiple only. Picked items leave the list, so it reads as what is left to add. Deselect from the chips. Defaults to `false`. */
56
+ hideSelected?: boolean;
57
+ /** Disables the field and the popup. Defaults to `false`. */
58
+ disabled?: boolean;
59
+ /** Form field name; a hidden input carries the value. */
60
+ name?: string;
61
+ /** Marks the hidden form input required. */
62
+ required?: boolean;
63
+ /** Pins field and popup to one step of the size ladder (default 36px, compact 28px — see the Sizes primitive). Omitted, both follow the surrounding SizeProvider. */
64
+ size?: SizeVariant;
65
+ }
66
+ type Element_12xgc2 = JSX_1kxb2["Element"];
67
+ /**
68
+ * Type to filter a list. 1 pick, or chips.
69
+ *
70
+ * Items are data on the root: strings, which are their own value and label,
71
+ * or `{ value, label, … }` objects. `Combobox.List` takes a function child and
72
+ * renders one `Combobox.Item` per match, so the filtering, the ARIA wiring
73
+ * (the input keeps focus while the arrows move a highlight through the rows),
74
+ * the positioning and the hidden form input stay with Base UI. On top of that
75
+ * sit the fluid-hover highlight, the merged selection background of
76
+ * `CheckboxGroup`, and a list that oozes out of the field and back through the
77
+ * shared morph (see Morph), goo by default. `multiple` turns the picks into a
78
+ * `string[]` and pairs with `Combobox.Chips`: one chip per pick, Backspace in
79
+ * an empty field drops the last one. Uncontrolled with `defaultValue`, or
80
+ * controlled with `value` plus `onValueChange`.
81
+ *
82
+ * Statics:
83
+ * - `Combobox.Input` — the single-pick field: icon, text input, clear ✕, chevron.
84
+ * - `Combobox.Chips` — the multiple field: one chip per pick ahead of the input.
85
+ * - `Combobox.Content` — the popup surface, holding `Combobox.Empty` and `Combobox.List`:
86
+ * `side`, `align`, `sideOffset` and the morph options `from`, `effect`, `hideSource`, `tier`.
87
+ * - `Combobox.List` — a row per match, from a `(item, index) => ReactNode` child.
88
+ * - `Combobox.Item` — one row: `value`, optional `icon` and `disabled`.
89
+ * - `Combobox.Empty` — what shows when nothing matches.
90
+ *
91
+ * @example {@include ./examples.mdx}
92
+ */
93
+ declare function Combobox({ children, items, multiple, value, defaultValue, onValueChange, filter, onCreate, createLabel, creatable, hideSelected, disabled, name, required, size }: ComboboxProps): Element_12xgc2;
94
+ interface ComboboxFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "value" | "defaultValue" | "onChange">, VariantProps<typeof fieldVariants> {
95
+ /** Framed at rest, or invisible until hovered or focused. Defaults to `"bordered"`. */
96
+ variant?: "bordered" | "borderless" | null;
97
+ /** Leading icon inside the field. */
98
+ icon?: IconComponent;
99
+ /** Shown while nothing is typed or selected. Defaults to `"Search…"`. */
100
+ placeholder?: string;
101
+ /** Error message under the field; tints the ring and sets `aria-invalid`. */
102
+ error?: string;
103
+ /** Render a ✕ that clears the selection and query. Its slot is always
104
+ * reserved so the field never changes width. Defaults to `false`. */
105
+ clearable?: boolean;
106
+ /** Size override for the field alone. Prefer the `size` prop on <Combobox>
107
+ * (or a surrounding SizeProvider) so the popup matches. */
108
+ size?: SizeVariant;
109
+ }
110
+ type ComboboxInputProps = ComboboxFieldProps;
111
+ declare const ComboboxInput: ForwardRefExoticComponent_tcubfn<ComboboxFieldProps & RefAttributes_miuf56<HTMLInputElement>>;
112
+ type ComboboxChipsProps = ComboboxFieldProps;
113
+ declare const ComboboxChips: ForwardRefExoticComponent_tcubfn<ComboboxFieldProps & RefAttributes_miuf56<HTMLInputElement>>;
114
+ interface ComboboxContentProps {
115
+ /** Classes for the popup surface — merged after the radius and max-height. */
116
+ className?: string;
117
+ /** `Combobox.Empty` and `Combobox.List`. */
118
+ children: ReactNode2;
119
+ /** Side of the field the popup prefers. Defaults to `"bottom"`. */
120
+ side?: "top" | "bottom" | "left" | "right";
121
+ /** Alignment against the field. Defaults to `"start"`. */
122
+ align?: "start" | "center" | "end";
123
+ /** Gap to the field, in px. Ignored when the list opens in place over the field (`effect="morph"` with `hideSource`). Defaults to `6`. */
124
+ sideOffset?: number;
125
+ /** Where the list 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). */
126
+ from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject<HTMLElement | null>;
127
+ /** How it grows (see Morph): with the liquid goo neck, a plain morph, a slide or a fade. Defaults to `'goo'`. */
128
+ effect?: "goo" | "morph" | "slide" | "fade";
129
+ /** Hide the field while open, so it reads as turning into the list. Defaults to `false`. */
130
+ hideSource?: boolean;
131
+ /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
132
+ tier?: "moderate" | "slow";
133
+ }
134
+ declare const ComboboxContent: ForwardRefExoticComponent_tcubfn<ComboboxContentProps & RefAttributes_miuf56<HTMLDivElement>>;
135
+ interface ComboboxListProps {
136
+ /** Classes for the rows' container. */
137
+ className?: string;
138
+ /** Render one row per matching item: `(item, index) => <Combobox.Item …/>`. Rows get their index from the list. */
139
+ children: (item: ComboboxItemData, index: number) => ReactNode2;
140
+ }
141
+ declare const ComboboxList: ForwardRefExoticComponent_tcubfn<ComboboxListProps & RefAttributes_miuf56<HTMLDivElement>>;
142
+ interface ComboboxItemProps extends HTMLAttributes<HTMLDivElement> {
143
+ /** Leading icon in the row. */
144
+ icon?: IconComponent;
145
+ /** The item's value — a string item itself, or an object item's `value`. */
146
+ value: string;
147
+ /** Disables the row. Defaults to `false`. */
148
+ disabled?: boolean;
149
+ /** The row label. */
150
+ children?: ReactNode2;
151
+ }
152
+ declare const ComboboxItem: ForwardRefExoticComponent_tcubfn<ComboboxItemProps & RefAttributes_miuf56<HTMLDivElement>>;
153
+ interface ComboboxEmptyProps extends HTMLAttributes<HTMLDivElement> {
154
+ /** Shown instead of the children when `hideSelected` has emptied the
155
+ * list with nothing typed: every item is a chip already. */
156
+ allSelected?: ReactNode2;
157
+ /** Shown when nothing matches the query. */
158
+ children?: ReactNode2;
159
+ }
160
+ declare const ComboboxEmpty: ForwardRefExoticComponent_tcubfn<ComboboxEmptyProps & RefAttributes_miuf56<HTMLDivElement>>;
161
+ export { Combobox as default, fieldVariants as comboboxFieldVariants, ComboboxValue, ComboboxProps, ComboboxListProps, ComboboxList, ComboboxItemProps, ComboboxItemObject, ComboboxItemData, ComboboxItem, ComboboxInputProps, ComboboxInput, ComboboxEmptyProps, ComboboxEmpty, ComboboxContentProps, ComboboxContent, ComboboxChipsProps, ComboboxChips, Combobox };
@@ -0,0 +1,41 @@
1
+ import {
2
+ Combobox,
3
+ ComboboxChips,
4
+ ComboboxContent,
5
+ ComboboxEmpty,
6
+ ComboboxInput,
7
+ ComboboxItem,
8
+ ComboboxList,
9
+ combobox_default
10
+ } from "../../../shared/components-j65qt1mq.js";
11
+ import {
12
+ fieldVariants
13
+ } from "../../../shared/components-de8xsm9y.js";
14
+ import"../../../shared/components-rc63qsy6.js";
15
+ import"../../../shared/components-vb033rns.js";
16
+ import"../../../shared/components-m5br529r.js";
17
+ import"../../../shared/components-jw16snbn.js";
18
+ import"../../../shared/components-ed7cmssr.js";
19
+ import"../../../shared/components-csxz9f52.js";
20
+ import"../../../shared/components-jxgznftn.js";
21
+ import"../../../shared/components-r22vtgqc.js";
22
+ import"../../../shared/components-e46kf6cp.js";
23
+ import"../../../shared/components-7zp99w5d.js";
24
+ import"../../../shared/components-kf2ehztc.js";
25
+ import"../../../shared/components-7nww01w4.js";
26
+ import"../../../shared/components-nnnd2xef.js";
27
+ import"../../../shared/components-vc1k7yv2.js";
28
+ import"../../../shared/components-x3rz4cyn.js";
29
+ import"../../../shared/components-0f0as45n.js";
30
+ import"../../../shared/components-kpbcms10.js";
31
+ export {
32
+ combobox_default as default,
33
+ fieldVariants as comboboxFieldVariants,
34
+ ComboboxList,
35
+ ComboboxItem,
36
+ ComboboxInput,
37
+ ComboboxEmpty,
38
+ ComboboxContent,
39
+ ComboboxChips,
40
+ Combobox
41
+ };
@@ -0,0 +1,45 @@
1
+ import { Locale } from "date-fns";
2
+ import { ReactNode } from "react";
3
+ import { DayPickerProps } from "react-day-picker";
4
+ type SizeVariant = "default" | "compact";
5
+ import { JSX as JSX_1kxb } from "react";
6
+ type Element_12xgc = JSX_1kxb["Element"];
7
+ /**
8
+ * A calendar that scrolls through the months instead of paging, with month
9
+ * and year columns to jump by.
10
+ *
11
+ * Months run on in one list, each under its name, with the weekday row pinned
12
+ * above them; weekends step back to the muted text and today carries a dot. The month column
13
+ * marks the month being read and the year column its year, so either works
14
+ * as a scrollbar you can click: a month or a year scrolls the calendar there.
15
+ * The picked day, month and year show a filled pill or a dot. The columns
16
+ * stand after the days by default; `columnsSide="start"` puts them before
17
+ * (and `extraColumnsSide` places any extra ones). When the calendar is too
18
+ * narrow for them, they turn into strips above it. The list renders a window of months and moves it as you scroll, so the
19
+ * range is as long as `startMonth` / `endMonth` allow (100 years back and 50
20
+ * ahead by default).
21
+ *
22
+ * It is react-day-picker's DayPicker underneath: `mode` (`'single'`,
23
+ * `'range'`), `selected` / `onSelect`, `disabled` and `hidden` matchers,
24
+ * `modifiers`, `weekStartsOn`, `dir` and the other DayPicker props pass
25
+ * through. Its navigation props don't apply: the calendar scrolls.
26
+ * DatePicker and DateRangePicker put it in a field.
27
+ *
28
+ * @example {@include ./examples.mdx}
29
+ */
30
+ declare function Calendar({ locale, size, columnsSide, extraColumns, extraColumnsSide, className,...props }: DayPickerProps & {
31
+ /** The locale: a react-day-picker / date-fns locale (`import { de } from 'react-day-picker/locale'`). Names months and weekdays, picks the first day of the week. Defaults to `enUS`. */
32
+ locale?: Locale;
33
+ /** Pins the calendar to one step of the size ladder (36px days, compact 28px). Defaults to the surrounding SizeProvider. */
34
+ size?: SizeVariant;
35
+ /** Which side of the days the month and year columns stand on; the month column keeps next to the days. Defaults to `'end'`. */
36
+ columnsSide?: "start" | "end";
37
+ /** More columns, given the layout's orientation — the date picker's hours and minutes. */
38
+ extraColumns?: (orientation: "vertical" | "horizontal") => ReactNode;
39
+ /** Which side of the days the extra columns stand on, outside the month and year columns when they share it. Defaults to `'end'`. */
40
+ extraColumnsSide?: "start" | "end";
41
+ /** Classes for the calendar's box. */
42
+ className?: string;
43
+ }): Element_12xgc;
44
+ type CalendarProps = Parameters<typeof Calendar>[0];
45
+ export { Calendar as default, CalendarProps, Calendar };
@@ -0,0 +1,20 @@
1
+ import {
2
+ Calendar,
3
+ calendar_default
4
+ } from "../../../../shared/components-6phwsry6.js";
5
+ import"../../../../shared/components-x2xyckd5.js";
6
+ import"../../../../shared/components-vb033rns.js";
7
+ import"../../../../shared/components-r22vtgqc.js";
8
+ import"../../../../shared/components-e46kf6cp.js";
9
+ import"../../../../shared/components-7zp99w5d.js";
10
+ import"../../../../shared/components-kf2ehztc.js";
11
+ import"../../../../shared/components-7nww01w4.js";
12
+ import"../../../../shared/components-nnnd2xef.js";
13
+ import"../../../../shared/components-vc1k7yv2.js";
14
+ import"../../../../shared/components-x3rz4cyn.js";
15
+ import"../../../../shared/components-0f0as45n.js";
16
+ import"../../../../shared/components-kpbcms10.js";
17
+ export {
18
+ calendar_default as default,
19
+ Calendar
20
+ };
@@ -0,0 +1,82 @@
1
+ import { Locale as Locale2 } from "date-fns";
2
+ import { RefObject } from "react";
3
+ import { Matcher } from "react-day-picker";
4
+ type HourCycle = "h11" | "h12" | "h23" | "h24";
5
+ type SizeVariant = "default" | "compact";
6
+ import { JSX as JSX_1kxb } from "react";
7
+ interface DatePickerProps {
8
+ /** The picked date (and time, with `withTime`); `null` when empty. */
9
+ value?: Date | null;
10
+ /** Initial date, for an uncontrolled picker. Defaults to `null`. */
11
+ defaultValue?: Date | null;
12
+ /** Called with the new date, or `null` when the field is cleared. */
13
+ onValueChange?: (value: Date | null) => void;
14
+ /** Adds hour and minute columns, and the time to the field. Defaults to `false`. */
15
+ withTime?: boolean;
16
+ /** The clock for the time: on `'h12'` / `'h11'` the hours read with AM/PM. Defaults to the locale's. */
17
+ hourCycle?: HourCycle;
18
+ /** Steps between the minute column's options. Defaults to `1`. */
19
+ minuteStep?: number;
20
+ /** A react-day-picker / date-fns locale (`import { de } from 'react-day-picker/locale'`): names, formats, the week's first day and what typing reads. Defaults to `enUS`. */
21
+ locale?: Locale2;
22
+ /** Shown while empty. */
23
+ placeholder?: string;
24
+ /** `true` disables the field; any other react-day-picker matcher (a date, `{ before }`, `{ dayOfWeek }`, a function…) disables the days it matches. */
25
+ disabled?: Matcher | Matcher[];
26
+ /** The first month the calendar reaches. Defaults to 100 years back. */
27
+ startMonth?: Date;
28
+ /** The last month the calendar reaches. Defaults to 50 years ahead. */
29
+ endMonth?: Date;
30
+ /** Marks the field invalid. Defaults to `false`. */
31
+ invalid?: boolean;
32
+ /** Pins the field and its panel to one step of the size ladder. Defaults to the surrounding SizeProvider. */
33
+ size?: SizeVariant;
34
+ /** Controlled open state. */
35
+ open?: boolean;
36
+ /** Initial open state, for an uncontrolled panel. Defaults to `false`. */
37
+ defaultOpen?: boolean;
38
+ /** Called when the panel opens or closes. */
39
+ onOpenChange?: (open: boolean) => void;
40
+ /** Text direction of the panel; `'rtl'` mirrors it. */
41
+ dir?: "ltr" | "rtl";
42
+ /** Which side of the days the month and year columns stand on. Defaults to `'end'`. */
43
+ columnsSide?: "start" | "end";
44
+ /** Which side of the days the hour and minute columns stand on, outside the month and year columns when they share it. Defaults to `'end'`. */
45
+ timeColumnsSide?: "start" | "end";
46
+ /** Id of the field, for a `Label`'s `htmlFor`. */
47
+ id?: string;
48
+ /** 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). */
49
+ from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject<HTMLElement | null>;
50
+ /** 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'`. */
51
+ effect?: "goo" | "morph" | "slide" | "fade";
52
+ /** Hide the field while open, so it reads as turning into the panel. Defaults to `false`. */
53
+ hideSource?: boolean;
54
+ /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
55
+ tier?: "moderate" | "slow";
56
+ /** Classes for the field. */
57
+ className?: string;
58
+ }
59
+ type Element_12xgc = JSX_1kxb["Element"];
60
+ /**
61
+ * A date field that opens a scrolling calendar, with an optional time.
62
+ *
63
+ * Pressing the field opens its panel the way Combobox opens its list (goo out
64
+ * of the field; `effect="morph"` with `hideSource` turns the field into it in
65
+ * place): the date as text, selected and ready to type over, above a Calendar
66
+ * whose months scroll past with month and year columns beside them. Typing
67
+ * reads the date in the locale's own formats ("9.10.2026", "9 Oct 2026",
68
+ * "October 9, 2026") and scrolls the calendar to it; picking a day commits it
69
+ * and closes the panel. `withTime` adds the time beside the date and hour and
70
+ * minute columns (the hours read with AM/PM on a 12-hour clock), and keeps the
71
+ * panel open while you set both. `columnsSide` and `timeColumnsSide` stand
72
+ * either set of columns before or after the days. On a phone the panel is a
73
+ * bottom sheet, its columns turned into strips above the days.
74
+ *
75
+ * Localized through `locale`, a react-day-picker locale: month and weekday
76
+ * names, the formats shown and read, the week's first day and the clock all
77
+ * follow it, and `dir="rtl"` mirrors the panel.
78
+ *
79
+ * @example {@include ./examples.mdx}
80
+ */
81
+ declare function DatePicker({ value: valueProp, defaultValue, onValueChange, withTime, hourCycle, minuteStep, locale, placeholder, disabled, startMonth, endMonth, invalid, size, open: openProp, defaultOpen, onOpenChange, dir, columnsSide, timeColumnsSide, id, from, effect, hideSource, tier, className }: DatePickerProps): Element_12xgc;
82
+ export { DatePicker as default, DatePickerProps, DatePicker };
@@ -0,0 +1,34 @@
1
+ import {
2
+ DatePicker,
3
+ date_picker_default
4
+ } from "../../../../shared/components-v7es8aan.js";
5
+ import"../../../../shared/components-r4jt6hgd.js";
6
+ import"../../../../shared/components-6phwsry6.js";
7
+ import"../../../../shared/components-hzfp4tjb.js";
8
+ import"../../../../shared/components-x2xyckd5.js";
9
+ import"../../../../shared/components-4xxddc44.js";
10
+ import"../../../../shared/components-r43mqnd6.js";
11
+ import"../../../../shared/components-7cqq1sqy.js";
12
+ import"../../../../shared/components-de8xsm9y.js";
13
+ import"../../../../shared/components-vb033rns.js";
14
+ import"../../../../shared/components-61ckf42z.js";
15
+ import"../../../../shared/components-5vxtcp88.js";
16
+ import"../../../../shared/components-5pkcfprd.js";
17
+ import"../../../../shared/components-m5br529r.js";
18
+ import"../../../../shared/components-csxz9f52.js";
19
+ import"../../../../shared/components-jxgznftn.js";
20
+ import"../../../../shared/components-r22vtgqc.js";
21
+ import"../../../../shared/components-e46kf6cp.js";
22
+ import"../../../../shared/components-7zp99w5d.js";
23
+ import"../../../../shared/components-dg0w8g5p.js";
24
+ import"../../../../shared/components-kf2ehztc.js";
25
+ import"../../../../shared/components-7nww01w4.js";
26
+ import"../../../../shared/components-nnnd2xef.js";
27
+ import"../../../../shared/components-vc1k7yv2.js";
28
+ import"../../../../shared/components-x3rz4cyn.js";
29
+ import"../../../../shared/components-0f0as45n.js";
30
+ import"../../../../shared/components-kpbcms10.js";
31
+ export {
32
+ date_picker_default as default,
33
+ DatePicker
34
+ };
@@ -0,0 +1,64 @@
1
+ import { Locale } from "date-fns";
2
+ import { RefObject } from "react";
3
+ import { DateRange, Matcher } from "react-day-picker";
4
+ type SizeVariant = "default" | "compact";
5
+ import { JSX as JSX_1kxb } from "react";
6
+ interface DateRangePickerProps {
7
+ /** The picked range, react-day-picker's `{ from, to }`; `null` when empty. */
8
+ value?: DateRange | null;
9
+ /** Initial range, for an uncontrolled picker. Defaults to `null`. */
10
+ defaultValue?: DateRange | null;
11
+ /** Called with the new range: `{ from }` alone after the first click, `null` when cleared. */
12
+ onValueChange?: (value: DateRange | null) => void;
13
+ /** A react-day-picker / date-fns locale (`import { de } from 'react-day-picker/locale'`). Defaults to `enUS`. */
14
+ locale?: Locale;
15
+ /** Shown while empty. */
16
+ placeholder?: string;
17
+ /** `true` disables the field; any other react-day-picker matcher disables the days it matches. */
18
+ disabled?: Matcher | Matcher[];
19
+ /** The first month the calendar reaches. Defaults to 100 years back. */
20
+ startMonth?: Date;
21
+ /** The last month the calendar reaches. Defaults to 50 years ahead. */
22
+ endMonth?: Date;
23
+ /** Marks the field invalid. Defaults to `false`. */
24
+ invalid?: boolean;
25
+ /** Pins the field and its panel to one step of the size ladder. Defaults to the surrounding SizeProvider. */
26
+ size?: SizeVariant;
27
+ /** Controlled open state. */
28
+ open?: boolean;
29
+ /** Initial open state, for an uncontrolled panel. Defaults to `false`. */
30
+ defaultOpen?: boolean;
31
+ /** Called when the panel opens or closes. */
32
+ onOpenChange?: (open: boolean) => void;
33
+ /** Text direction of the panel; `'rtl'` mirrors it. */
34
+ dir?: "ltr" | "rtl";
35
+ /** Which side of the days the month and year columns stand on. Defaults to `'end'`. */
36
+ columnsSide?: "start" | "end";
37
+ /** Id of the field, for a `Label`'s `htmlFor`. */
38
+ id?: string;
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). */
40
+ from?: "trigger" | "pointer" | "center" | "top" | "right" | "bottom" | "left" | RefObject<HTMLElement | null>;
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'`. */
42
+ effect?: "goo" | "morph" | "slide" | "fade";
43
+ /** Hide the field while open, so it reads as turning into the panel. Defaults to `false`. */
44
+ hideSource?: boolean;
45
+ /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
46
+ tier?: "moderate" | "slow";
47
+ /** Classes for the field. */
48
+ className?: string;
49
+ }
50
+ type Element_12xgc = JSX_1kxb["Element"];
51
+ /**
52
+ * A field for a span of days, picked with two clicks on a scrolling calendar.
53
+ *
54
+ * The first click starts the range and the days under the pointer preview it;
55
+ * the second ends it (either way round) and closes the panel. The header
56
+ * holds both ends as text, each read in the locale's formats as you type, and
57
+ * the field shows the range the way the locale writes one ("9 – 15 Oct
58
+ * 2026"). Everything else — the month and year columns, the bottom sheet on a
59
+ * phone, the locale — works as in DatePicker.
60
+ *
61
+ * @example {@include ./examples.mdx}
62
+ */
63
+ declare function DateRangePicker({ value: valueProp, defaultValue, onValueChange, locale, placeholder, disabled, startMonth, endMonth, invalid, size, open: openProp, defaultOpen, onOpenChange, dir, columnsSide, id, from: growFrom, effect, hideSource, tier, className }: DateRangePickerProps): Element_12xgc;
64
+ export { DateRangePicker as default, DateRangePickerProps, DateRangePicker };
@@ -0,0 +1,33 @@
1
+ import {
2
+ DateRangePicker,
3
+ date_range_picker_default
4
+ } from "../../../../shared/components-xszag63d.js";
5
+ import"../../../../shared/components-6phwsry6.js";
6
+ import"../../../../shared/components-hzfp4tjb.js";
7
+ import"../../../../shared/components-x2xyckd5.js";
8
+ import"../../../../shared/components-4xxddc44.js";
9
+ import"../../../../shared/components-r43mqnd6.js";
10
+ import"../../../../shared/components-7cqq1sqy.js";
11
+ import"../../../../shared/components-de8xsm9y.js";
12
+ import"../../../../shared/components-vb033rns.js";
13
+ import"../../../../shared/components-61ckf42z.js";
14
+ import"../../../../shared/components-5vxtcp88.js";
15
+ import"../../../../shared/components-5pkcfprd.js";
16
+ import"../../../../shared/components-m5br529r.js";
17
+ import"../../../../shared/components-csxz9f52.js";
18
+ import"../../../../shared/components-jxgznftn.js";
19
+ import"../../../../shared/components-r22vtgqc.js";
20
+ import"../../../../shared/components-e46kf6cp.js";
21
+ import"../../../../shared/components-7zp99w5d.js";
22
+ import"../../../../shared/components-dg0w8g5p.js";
23
+ import"../../../../shared/components-kf2ehztc.js";
24
+ import"../../../../shared/components-7nww01w4.js";
25
+ import"../../../../shared/components-nnnd2xef.js";
26
+ import"../../../../shared/components-vc1k7yv2.js";
27
+ import"../../../../shared/components-x3rz4cyn.js";
28
+ import"../../../../shared/components-0f0as45n.js";
29
+ import"../../../../shared/components-kpbcms10.js";
30
+ export {
31
+ date_range_picker_default as default,
32
+ DateRangePicker
33
+ };
@@ -0,0 +1,57 @@
1
+ import { Duration, Locale } from "date-fns";
2
+ import { RefObject } from "react";
3
+ type SizeVariant = "default" | "compact";
4
+ import { JSX as JSX_1kxb } from "react";
5
+ interface DurationPickerProps {
6
+ /** The picked duration, a date-fns `Duration` (`{ hours, minutes }`); `null` when empty. */
7
+ value?: Duration | null;
8
+ /** Initial duration, for an uncontrolled picker. Defaults to `null`. */
9
+ defaultValue?: Duration | null;
10
+ /** Called with the new duration, or `null` when the field is cleared. */
11
+ onValueChange?: (value: Duration | null) => void;
12
+ /** The longest duration's hours: the hour column runs from 0 to it. Defaults to `99`. */
13
+ maxHours?: number;
14
+ /** Steps between the minute column's options. Defaults to `1`. */
15
+ minuteStep?: number;
16
+ /** A react-day-picker / date-fns locale: the field spells the duration out in it ("1 Stunde 30 Minuten"). Defaults to `enUS`. */
17
+ locale?: Locale;
18
+ /** Shown while empty. */
19
+ placeholder?: string;
20
+ /** Disables the field. Defaults to `false`. */
21
+ disabled?: boolean;
22
+ /** Marks the field invalid. Defaults to `false`. */
23
+ invalid?: boolean;
24
+ /** Pins the field and its panel to one step of the size ladder. Defaults to the surrounding SizeProvider. */
25
+ size?: SizeVariant;
26
+ /** Controlled open state. */
27
+ open?: boolean;
28
+ /** Initial open state, for an uncontrolled panel. Defaults to `false`. */
29
+ defaultOpen?: boolean;
30
+ /** Called when the panel opens or closes. */
31
+ onOpenChange?: (open: boolean) => void;
32
+ /** Id of the field, for a `Label`'s `htmlFor`. */
33
+ id?: string;
34
+ /** 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>;
36
+ /** 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
+ effect?: "goo" | "morph" | "slide" | "fade";
38
+ /** Hide the field while open, so it reads as turning into the panel. Defaults to `false`. */
39
+ hideSource?: boolean;
40
+ /** Spring tier of a plain morph, slide or fade; goo runs on its own `spring.goo`. Defaults to `'moderate'`. */
41
+ tier?: "moderate" | "slow";
42
+ /** Classes for the field. */
43
+ className?: string;
44
+ }
45
+ type Element_12xgc = JSX_1kxb["Element"];
46
+ /**
47
+ * A field for a length of time, in hours and minutes.
48
+ *
49
+ * The field spells the duration out in the locale ("1 hour 30 minutes"); its
50
+ * panel has it as `H:mm` to type over, above an hour column (0 to `maxHours`)
51
+ * and a minute column stepping by `minuteStep`. The value is a date-fns
52
+ * `Duration`, `{ hours, minutes }`, ready for `formatDuration` or date math.
53
+ *
54
+ * @example {@include ./examples.mdx}
55
+ */
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;
57
+ export { DurationPicker as default, DurationPickerProps, DurationPicker };
@@ -0,0 +1,33 @@
1
+ import {
2
+ DurationPicker,
3
+ duration_picker_default
4
+ } from "../../../../shared/components-taxmgbnh.js";
5
+ import"../../../../shared/components-r4jt6hgd.js";
6
+ import"../../../../shared/components-hzfp4tjb.js";
7
+ import"../../../../shared/components-x2xyckd5.js";
8
+ import"../../../../shared/components-4xxddc44.js";
9
+ import"../../../../shared/components-r43mqnd6.js";
10
+ import"../../../../shared/components-7cqq1sqy.js";
11
+ import"../../../../shared/components-de8xsm9y.js";
12
+ import"../../../../shared/components-vb033rns.js";
13
+ import"../../../../shared/components-61ckf42z.js";
14
+ import"../../../../shared/components-5vxtcp88.js";
15
+ import"../../../../shared/components-5pkcfprd.js";
16
+ import"../../../../shared/components-m5br529r.js";
17
+ import"../../../../shared/components-csxz9f52.js";
18
+ import"../../../../shared/components-jxgznftn.js";
19
+ import"../../../../shared/components-r22vtgqc.js";
20
+ import"../../../../shared/components-e46kf6cp.js";
21
+ import"../../../../shared/components-7zp99w5d.js";
22
+ import"../../../../shared/components-dg0w8g5p.js";
23
+ import"../../../../shared/components-kf2ehztc.js";
24
+ import"../../../../shared/components-7nww01w4.js";
25
+ import"../../../../shared/components-nnnd2xef.js";
26
+ import"../../../../shared/components-vc1k7yv2.js";
27
+ import"../../../../shared/components-x3rz4cyn.js";
28
+ import"../../../../shared/components-0f0as45n.js";
29
+ import"../../../../shared/components-kpbcms10.js";
30
+ export {
31
+ duration_picker_default as default,
32
+ DurationPicker
33
+ };