@datum-cloud/datum-ui 0.6.0-alpha.b8a44ac → 0.6.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 (69) hide show
  1. package/README.md +1 -0
  2. package/dist/autocomplete/index.mjs +1 -1
  3. package/dist/{autocomplete-V5-qslzS.mjs → autocomplete-CkYJueBL.mjs} +2 -2
  4. package/dist/autosearch/index.mjs +199 -0
  5. package/dist/{calendar-date-picker-DWK94_DC.mjs → calendar-date-picker-CDT-8Ha8.mjs} +2 -1
  6. package/dist/combobox/index.mjs +1 -1
  7. package/dist/{combobox-cKTFK4uN.mjs → combobox-B-C9lJeD.mjs} +3 -2
  8. package/dist/components/features/autocomplete/autocomplete.d.ts +1 -1
  9. package/dist/components/features/autocomplete/autocomplete.d.ts.map +1 -1
  10. package/dist/components/features/autocomplete/autocomplete.types.d.ts +2 -0
  11. package/dist/components/features/autocomplete/autocomplete.types.d.ts.map +1 -1
  12. package/dist/components/features/autosearch/autosearch.d.ts +35 -0
  13. package/dist/components/features/autosearch/autosearch.d.ts.map +1 -0
  14. package/dist/components/features/autosearch/autosearch.types.d.ts +51 -0
  15. package/dist/components/features/autosearch/autosearch.types.d.ts.map +1 -0
  16. package/dist/components/features/autosearch/index.d.ts +3 -0
  17. package/dist/components/features/autosearch/index.d.ts.map +1 -0
  18. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts +2 -1
  19. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts.map +1 -1
  20. package/dist/components/features/combobox/combobox.d.ts +1 -1
  21. package/dist/components/features/combobox/combobox.d.ts.map +1 -1
  22. package/dist/components/features/combobox/types.d.ts +6 -0
  23. package/dist/components/features/combobox/types.d.ts.map +1 -1
  24. package/dist/components/features/date-time-picker/date-time-picker.d.ts +1 -1
  25. package/dist/components/features/date-time-picker/date-time-picker.d.ts.map +1 -1
  26. package/dist/components/features/date-time-picker/types.d.ts +6 -0
  27. package/dist/components/features/date-time-picker/types.d.ts.map +1 -1
  28. package/dist/components/features/form/adapter-types.d.ts +6 -0
  29. package/dist/components/features/form/adapter-types.d.ts.map +1 -1
  30. package/dist/components/features/form/adapters/conform/conform-adapter.d.ts.map +1 -1
  31. package/dist/components/features/form/adapters/rhf/rhf-adapter.d.ts.map +1 -1
  32. package/dist/components/features/form/components/form-autocomplete.d.ts.map +1 -1
  33. package/dist/components/features/form/components/form-autosearch.d.ts +23 -11
  34. package/dist/components/features/form/components/form-autosearch.d.ts.map +1 -1
  35. package/dist/components/features/form/components/form-checkbox.d.ts.map +1 -1
  36. package/dist/components/features/form/components/form-combobox.d.ts +5 -1
  37. package/dist/components/features/form/components/form-combobox.d.ts.map +1 -1
  38. package/dist/components/features/form/components/form-date-picker.d.ts +3 -1
  39. package/dist/components/features/form/components/form-date-picker.d.ts.map +1 -1
  40. package/dist/components/features/form/components/form-date-time-picker.d.ts +3 -1
  41. package/dist/components/features/form/components/form-date-time-picker.d.ts.map +1 -1
  42. package/dist/components/features/form/components/form-field.d.ts.map +1 -1
  43. package/dist/components/features/form/components/form-radio-group.d.ts.map +1 -1
  44. package/dist/components/features/form/components/form-root.d.ts.map +1 -1
  45. package/dist/components/features/form/components/form-switch.d.ts.map +1 -1
  46. package/dist/components/features/form/components/form-time-picker.d.ts.map +1 -1
  47. package/dist/components/features/form/components/form-transfer.d.ts.map +1 -1
  48. package/dist/components/features/form/components/stepper/form-stepper.d.ts +3 -1
  49. package/dist/components/features/form/components/stepper/form-stepper.d.ts.map +1 -1
  50. package/dist/components/features/form/hooks/use-display-touched.d.ts +20 -0
  51. package/dist/components/features/form/hooks/use-display-touched.d.ts.map +1 -0
  52. package/dist/components/features/form/hooks/use-field.d.ts +4 -0
  53. package/dist/components/features/form/hooks/use-field.d.ts.map +1 -1
  54. package/dist/components/features/form/types/index.d.ts +10 -0
  55. package/dist/components/features/form/types/index.d.ts.map +1 -1
  56. package/dist/data-table/index.mjs +1 -1
  57. package/dist/date-picker/index.mjs +1 -1
  58. package/dist/date-time-picker/index.mjs +1 -1
  59. package/dist/{date-time-picker-Dy2jrJoN.mjs → date-time-picker-BomrW07W.mjs} +49 -46
  60. package/dist/form/adapters/conform/index.mjs +10 -3
  61. package/dist/form/adapters/rhf/index.mjs +11 -8
  62. package/dist/form/index.mjs +1 -1
  63. package/dist/form/stepper/index.mjs +19 -41
  64. package/dist/{form-mlNLKaB5.mjs → form-B3rQ4CH9.mjs} +130 -46
  65. package/dist/index.mjs +3 -3
  66. package/dist/transfer/index.mjs +1 -1
  67. package/dist/{transfer-B2n8pgEQ.mjs → transfer-46C-rFFW.mjs} +12 -8
  68. package/dist/{get-field-constraints-BicgDkfH.mjs → use-display-touched-I39aXEBD.mjs} +33 -1
  69. package/package.json +6 -1
package/README.md CHANGED
@@ -139,6 +139,7 @@ Complex, fully-customized components with significant business logic.
139
139
  | Component | Additional Dependencies | Description |
140
140
  | -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ------------------------------------------ |
141
141
  | `Autocomplete` | — | Search autocomplete input |
142
+ | `Autosearch` | — | Search-first input with async results |
142
143
  | `AvatarStack` | — | Stacked avatar display |
143
144
  | `CalendarDatePicker` | `react-day-picker`, `date-fns` | Date/range picker with presets |
144
145
  | `Combobox` | — | Searchable single-select dropdown |
@@ -1,2 +1,2 @@
1
- import { t as Autocomplete } from "../autocomplete-V5-qslzS.mjs";
1
+ import { t as Autocomplete } from "../autocomplete-CkYJueBL.mjs";
2
2
  export { Autocomplete };
@@ -159,7 +159,7 @@ function VirtualizedOptions({ options, selectedValue, onSelect, renderOption, it
159
159
  * />
160
160
  * ```
161
161
  */
162
- function Autocomplete({ options, value, onValueChange, onSearchChange, searchPlaceholder = "Search...", disableSearch = false, renderOption, renderValue, placeholder = "Select...", emptyContent = "No results found", footer, creatable = false, creatableLabel, virtualize = false, itemSize = 36, loading = false, disabled = false, name, id, className, triggerClassName, contentClassName, listClassName }) {
162
+ function Autocomplete({ options, value, onValueChange, onSearchChange, searchPlaceholder = "Search...", disableSearch = false, renderOption, renderValue, placeholder = "Select...", emptyContent = "No results found", footer, creatable = false, creatableLabel, virtualize = false, itemSize = 36, loading = false, modal = false, disabled = false, name, id, className, triggerClassName, contentClassName, listClassName }) {
163
163
  const [open, setOpen] = React$1.useState(false);
164
164
  const [search, setSearch] = React$1.useState("");
165
165
  const flatOptions = React$1.useMemo(() => flattenOptions(options), [options]);
@@ -212,7 +212,7 @@ function Autocomplete({ options, value, onValueChange, onSearchChange, searchPla
212
212
  children: [/* @__PURE__ */ jsxs(Popover, {
213
213
  open,
214
214
  onOpenChange: handleOpenChange,
215
- modal: true,
215
+ modal,
216
216
  children: [/* @__PURE__ */ jsx(PopoverTrigger, {
217
217
  asChild: true,
218
218
  children: /* @__PURE__ */ jsx(Trigger, {
@@ -0,0 +1,199 @@
1
+ import { t as cn } from "../cn-D2KYQ917.mjs";
2
+ import { t as Button } from "../button-BllvE9Lm.mjs";
3
+ import { i as CommandGroup, o as CommandItem, r as CommandEmpty, s as CommandList, t as Command } from "../command-DqHWukGK.mjs";
4
+ import { t as Input } from "../input-FKGqZypx.mjs";
5
+ import { i as PopoverTrigger, r as PopoverContent, t as Popover } from "../popover-FJAcbYoH.mjs";
6
+ import { t as Tooltip } from "../tooltip-Cruvl5F6.mjs";
7
+ import { AlertCircle, Check, Loader2, X } from "lucide-react";
8
+ import * as React$1 from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ //#region src/components/features/autosearch/autosearch.types.ts
11
+ /**
12
+ * Default function to extract searchable text from an option.
13
+ * Combines label, description, and value for comprehensive searching.
14
+ */
15
+ function defaultAutosearchValue(option) {
16
+ return [
17
+ option.label,
18
+ option.description,
19
+ option.value
20
+ ].filter(Boolean).join(" ");
21
+ }
22
+ //#endregion
23
+ //#region src/components/features/autosearch/autosearch.tsx
24
+ /**
25
+ * Autosearch - Search-first input with dropdown results
26
+ *
27
+ * A text input that opens a popover with search results as you type.
28
+ * Different from Autocomplete which shows all options upfront.
29
+ *
30
+ * @example Basic usage
31
+ * ```tsx
32
+ * <Autosearch
33
+ * options={users}
34
+ * value={selectedUser}
35
+ * onValueChange={setSelectedUser}
36
+ * onSearch={handleSearch}
37
+ * placeholder="Search users..."
38
+ * />
39
+ * ```
40
+ *
41
+ * @example With loading state
42
+ * ```tsx
43
+ * <Autosearch
44
+ * options={searchResults}
45
+ * value={selected}
46
+ * onValueChange={setSelected}
47
+ * onSearch={debouncedSearch}
48
+ * loading={isSearching}
49
+ * placeholder="Type to search..."
50
+ * />
51
+ * ```
52
+ */
53
+ function Autosearch({ options = [], value, onValueChange, onSearch, searchDebounceMs = 300, getValue = defaultAutosearchValue, placeholder = "Search for an option", emptyMessage = "No results found.", emptyContent, loading = false, modal = false, disabled = false, name, id, className, inputClassName, contentClassName, selectedClassName }) {
54
+ const [searchQuery, setSearchQuery] = React$1.useState("");
55
+ const [open, setOpen] = React$1.useState(false);
56
+ const [persistedOption, setPersistedOption] = React$1.useState(null);
57
+ const [searchExecuted, setSearchExecuted] = React$1.useState(false);
58
+ const searchDebounceRef = React$1.useRef(null);
59
+ const handleSearchChange = (inputValue) => {
60
+ setSearchQuery(inputValue);
61
+ const normalized = inputValue.trim();
62
+ if (searchDebounceRef.current) {
63
+ clearTimeout(searchDebounceRef.current);
64
+ searchDebounceRef.current = null;
65
+ }
66
+ if (!normalized) {
67
+ onSearch?.("");
68
+ setOpen(false);
69
+ setSearchExecuted(false);
70
+ return;
71
+ }
72
+ setOpen(true);
73
+ searchDebounceRef.current = setTimeout(() => {
74
+ setSearchExecuted(true);
75
+ onSearch?.(normalized);
76
+ searchDebounceRef.current = null;
77
+ }, searchDebounceMs);
78
+ };
79
+ React$1.useEffect(() => {
80
+ return () => {
81
+ if (searchDebounceRef.current) {
82
+ clearTimeout(searchDebounceRef.current);
83
+ searchDebounceRef.current = null;
84
+ }
85
+ };
86
+ }, []);
87
+ const handleSelect = React$1.useCallback((option) => {
88
+ setPersistedOption(option);
89
+ onValueChange?.(option.value);
90
+ setSearchQuery("");
91
+ onSearch?.("");
92
+ setOpen(false);
93
+ setSearchExecuted(false);
94
+ }, [onValueChange, onSearch]);
95
+ const handleClear = React$1.useCallback(() => {
96
+ setPersistedOption(null);
97
+ setSearchQuery("");
98
+ onSearch?.("");
99
+ setOpen(false);
100
+ setSearchExecuted(false);
101
+ onValueChange?.("");
102
+ }, [onValueChange, onSearch]);
103
+ React$1.useEffect(() => {
104
+ const normalized = searchQuery.trim();
105
+ if (value || !normalized) return;
106
+ if (options.length === 1 && !options[0].disabled) handleSelect(options[0]);
107
+ }, [
108
+ searchQuery,
109
+ options,
110
+ value,
111
+ handleSelect
112
+ ]);
113
+ const normalizedQuery = searchQuery.trim();
114
+ const hasSearch = Boolean(normalizedQuery);
115
+ const showResults = hasSearch && !value && options.length > 1;
116
+ const selectedOption = options.find((opt) => opt.value === value) ?? persistedOption;
117
+ const selectedLabel = selectedOption?.label ?? "";
118
+ const selectedDescription = selectedOption?.description ?? "";
119
+ const showNoResults = hasSearch && !loading && options.length === 0 && searchExecuted;
120
+ return /* @__PURE__ */ jsxs("div", {
121
+ className: cn("relative", className),
122
+ children: [name && /* @__PURE__ */ jsx("input", {
123
+ type: "hidden",
124
+ name,
125
+ value: value ?? ""
126
+ }), value ? /* @__PURE__ */ jsxs("div", {
127
+ className: cn("bg-muted/10 border-border flex items-center justify-between gap-2 rounded-md border px-3 py-1 pr-1", selectedClassName),
128
+ children: [/* @__PURE__ */ jsxs("div", {
129
+ className: "flex flex-col",
130
+ children: [/* @__PURE__ */ jsx("span", {
131
+ className: "text-sm font-medium",
132
+ children: selectedLabel
133
+ }), selectedDescription && /* @__PURE__ */ jsx("span", {
134
+ className: "text-muted-foreground text-xs",
135
+ children: selectedDescription
136
+ })]
137
+ }), /* @__PURE__ */ jsx(Button, {
138
+ size: "small",
139
+ type: "tertiary",
140
+ theme: "borderless",
141
+ onClick: handleClear,
142
+ disabled,
143
+ children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
144
+ })]
145
+ }) : /* @__PURE__ */ jsxs(Popover, {
146
+ open: open && showResults,
147
+ onOpenChange: setOpen,
148
+ modal,
149
+ children: [/* @__PURE__ */ jsx(PopoverTrigger, {
150
+ asChild: true,
151
+ children: /* @__PURE__ */ jsxs("div", {
152
+ className: "relative",
153
+ children: [
154
+ /* @__PURE__ */ jsx(Input, {
155
+ id,
156
+ placeholder,
157
+ value: searchQuery,
158
+ onChange: (e) => handleSearchChange(e.target.value),
159
+ disabled,
160
+ autoComplete: "off",
161
+ className: cn("w-full pr-10", inputClassName)
162
+ }),
163
+ loading && /* @__PURE__ */ jsx(Loader2, { className: "text-muted-foreground pointer-events-none absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2 animate-spin" }),
164
+ showNoResults && /* @__PURE__ */ jsx(Tooltip, {
165
+ message: emptyMessage,
166
+ children: /* @__PURE__ */ jsx("span", {
167
+ className: "absolute top-1/2 right-3 h-4 w-4 -translate-y-1/2",
168
+ children: /* @__PURE__ */ jsx(AlertCircle, { className: "text-destructive h-4 w-4" })
169
+ })
170
+ })
171
+ ]
172
+ })
173
+ }), /* @__PURE__ */ jsx(PopoverContent, {
174
+ className: cn("popover-content-width-full p-0", contentClassName),
175
+ side: "bottom",
176
+ align: "start",
177
+ onOpenAutoFocus: (event) => event.preventDefault(),
178
+ children: /* @__PURE__ */ jsx(Command, { children: /* @__PURE__ */ jsx(CommandList, { children: loading ? /* @__PURE__ */ jsx(CommandEmpty, { children: "Searching..." }) : options.length === 0 ? /* @__PURE__ */ jsx(CommandEmpty, { children: emptyContent ?? emptyMessage }) : /* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs(CommandItem, {
179
+ value: getValue(option),
180
+ onSelect: () => handleSelect(option),
181
+ disabled: option.disabled,
182
+ children: [/* @__PURE__ */ jsxs("div", {
183
+ className: "flex flex-col",
184
+ children: [/* @__PURE__ */ jsx("span", {
185
+ className: "font-medium",
186
+ children: option.label
187
+ }), option.description && /* @__PURE__ */ jsx("span", {
188
+ className: "text-muted-foreground text-xs",
189
+ children: option.description
190
+ })]
191
+ }), /* @__PURE__ */ jsx(Check, { className: cn("ml-auto h-4 w-4", value === option.value ? "opacity-100" : "opacity-0") })]
192
+ }, option.value)) }) }) })
193
+ })]
194
+ })]
195
+ });
196
+ }
197
+ Autosearch.displayName = "Autosearch";
198
+ //#endregion
199
+ export { Autosearch, defaultAutosearchValue };
@@ -35,7 +35,7 @@ const multiSelectVariants = cva("flex font-normal shadow-none items-center justi
35
35
  } },
36
36
  defaultVariants: { variant: "default" }
37
37
  });
38
- function CalendarDatePicker({ ref, id = "calendar-date-picker", className, triggerClassName, date, closeOnSelect = false, numberOfMonths = 2, yearsRange = 10, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture = false, disablePast = false, maxRange, popoverClassName, disabled, ...props }) {
38
+ function CalendarDatePicker({ ref, id = "calendar-date-picker", className, triggerClassName, date, closeOnSelect = false, numberOfMonths = 2, yearsRange = 10, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture = false, disablePast = false, maxRange, popoverClassName, disabled, modal = false, ...props }) {
39
39
  const [isPopoverOpen, setIsPopoverOpen] = React$1.useState(false);
40
40
  const [selectedRange, setSelectedRange] = React$1.useState(numberOfMonths === 2 ? "This Year" : "Today");
41
41
  const [monthFrom, setMonthFrom] = React$1.useState(date?.from);
@@ -421,6 +421,7 @@ function CalendarDatePicker({ ref, id = "calendar-date-picker", className, trigg
421
421
  ` }), /* @__PURE__ */ jsxs(Popover, {
422
422
  open: isPopoverOpen,
423
423
  onOpenChange: setIsPopoverOpen,
424
+ modal,
424
425
  children: [/* @__PURE__ */ jsx(PopoverTrigger, {
425
426
  asChild: true,
426
427
  children: /* @__PURE__ */ jsx(Button, {
@@ -1,2 +1,2 @@
1
- import { t as Combobox } from "../combobox-cKTFK4uN.mjs";
1
+ import { t as Combobox } from "../combobox-B-C9lJeD.mjs";
2
2
  export { Combobox };
@@ -26,7 +26,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
26
26
  * />
27
27
  * ```
28
28
  */
29
- function Combobox({ options, value, onChange, placeholder = "Select option...", searchPlaceholder = "Search...", emptyMessage = "No options found.", disabled = false, className, triggerClassName, contentClassName, searchable = true, showDropdownArrow = true, clearable = false, id, "data-testid": testId }) {
29
+ function Combobox({ options, value, onChange, placeholder = "Select option...", searchPlaceholder = "Search...", emptyMessage = "No options found.", disabled = false, className, triggerClassName, contentClassName, searchable = true, showDropdownArrow = true, clearable = false, id, "data-testid": testId, modal = true }) {
30
30
  const [open, setOpen] = React$1.useState(false);
31
31
  const isGrouped = options.length > 0 && "options" in options[0];
32
32
  const selectedOption = React$1.useMemo(() => {
@@ -44,6 +44,7 @@ function Combobox({ options, value, onChange, placeholder = "Select option...",
44
44
  return /* @__PURE__ */ jsxs(Popover, {
45
45
  open,
46
46
  onOpenChange: setOpen,
47
+ modal,
47
48
  children: [/* @__PURE__ */ jsx(PopoverTrigger, {
48
49
  asChild: true,
49
50
  children: /* @__PURE__ */ jsxs("button", {
@@ -66,7 +67,7 @@ function Combobox({ options, value, onChange, placeholder = "Select option...",
66
67
  })]
67
68
  })
68
69
  }), /* @__PURE__ */ jsx(PopoverContent, {
69
- className: cn("w-[--radix-popover-trigger-width] p-0", contentClassName),
70
+ className: cn("popover-content-width-full p-0", contentClassName),
70
71
  align: "start",
71
72
  children: /* @__PURE__ */ jsxs(Command, { children: [searchable && /* @__PURE__ */ jsx(CommandInput, {
72
73
  placeholder: searchPlaceholder,
@@ -27,7 +27,7 @@ import type { AutocompleteOption, AutocompleteProps } from './autocomplete.types
27
27
  * />
28
28
  * ```
29
29
  */
30
- export declare function Autocomplete<T extends AutocompleteOption = AutocompleteOption>({ options, value, onValueChange, onSearchChange, searchPlaceholder, disableSearch, renderOption, renderValue, placeholder, emptyContent, footer, creatable, creatableLabel, virtualize, itemSize, loading, disabled, name, id, className, triggerClassName, contentClassName, listClassName, }: AutocompleteProps<T>): import("react/jsx-runtime").JSX.Element;
30
+ export declare function Autocomplete<T extends AutocompleteOption = AutocompleteOption>({ options, value, onValueChange, onSearchChange, searchPlaceholder, disableSearch, renderOption, renderValue, placeholder, emptyContent, footer, creatable, creatableLabel, virtualize, itemSize, loading, modal, disabled, name, id, className, triggerClassName, contentClassName, listClassName, }: AutocompleteProps<T>): import("react/jsx-runtime").JSX.Element;
31
31
  export declare namespace Autocomplete {
32
32
  var displayName: string;
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autocomplete/autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAkP7B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,EAC9E,OAAO,EACP,KAAK,EACL,aAAa,EACb,cAAc,EACd,iBAA+B,EAC/B,aAAqB,EACrB,YAAY,EACZ,WAAW,EACX,WAAyB,EACzB,YAAiC,EACjC,MAAM,EACN,SAAiB,EACjB,cAAc,EACd,UAAkB,EAClB,QAAa,EACb,OAAe,EACf,QAAgB,EAChB,IAAI,EACJ,EAAE,EACF,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA8JtB;yBAtLe,YAAY"}
1
+ {"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autocomplete/autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAkP7B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,EAC9E,OAAO,EACP,KAAK,EACL,aAAa,EACb,cAAc,EACd,iBAA+B,EAC/B,aAAqB,EACrB,YAAY,EACZ,WAAW,EACX,WAAyB,EACzB,YAAiC,EACjC,MAAM,EACN,SAAiB,EACjB,cAAc,EACd,UAAkB,EAClB,QAAa,EACb,OAAe,EACf,KAAa,EACb,QAAgB,EAChB,IAAI,EACJ,EAAE,EACF,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA8JtB;yBAvLe,YAAY"}
@@ -48,6 +48,8 @@ export interface AutocompleteProps<T extends AutocompleteOption = AutocompleteOp
48
48
  itemSize?: number;
49
49
  /** External loading state */
50
50
  loading?: boolean;
51
+ /** Popover modal mode - required when using inside a Dialog/Modal component (default: true) */
52
+ modal?: boolean;
51
53
  /** Disable the component */
52
54
  disabled?: boolean;
53
55
  /** HTML name attribute for hidden input */
@@ -1 +1 @@
1
- {"version":3,"file":"autocomplete.types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autocomplete/autocomplete.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAMnC,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAClF,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,OAAO,EAAE,CAAC,EAAE,CAAA;CACb;AAMD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAElF,4EAA4E;IAC5E,OAAO,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IAGrC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAGvC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAA;IAClE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5C,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,oEAAoE;IACpE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAGxB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IACnD,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IAGjB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IAGX,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAMD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CACzF,iBAAiB,CAAC,CAAC,CAAC,EACpB,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,CAC1C,CAAA"}
1
+ {"version":3,"file":"autocomplete.types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autocomplete/autocomplete.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAMnC,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAClF,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,OAAO,EAAE,CAAC,EAAE,CAAA;CACb;AAMD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAElF,4EAA4E;IAC5E,OAAO,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IAGrC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAGvC,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAA;IAClE,0DAA0D;IAC1D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAC5C,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,oEAAoE;IACpE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAGxB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IACnD,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,CAAA;IAGf,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IAGX,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAMD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CACzF,iBAAiB,CAAC,CAAC,CAAC,EACpB,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,CAC1C,CAAA"}
@@ -0,0 +1,35 @@
1
+ import type { AutosearchProps } from './autosearch.types';
2
+ /**
3
+ * Autosearch - Search-first input with dropdown results
4
+ *
5
+ * A text input that opens a popover with search results as you type.
6
+ * Different from Autocomplete which shows all options upfront.
7
+ *
8
+ * @example Basic usage
9
+ * ```tsx
10
+ * <Autosearch
11
+ * options={users}
12
+ * value={selectedUser}
13
+ * onValueChange={setSelectedUser}
14
+ * onSearch={handleSearch}
15
+ * placeholder="Search users..."
16
+ * />
17
+ * ```
18
+ *
19
+ * @example With loading state
20
+ * ```tsx
21
+ * <Autosearch
22
+ * options={searchResults}
23
+ * value={selected}
24
+ * onValueChange={setSelected}
25
+ * onSearch={debouncedSearch}
26
+ * loading={isSearching}
27
+ * placeholder="Type to search..."
28
+ * />
29
+ * ```
30
+ */
31
+ export declare function Autosearch({ options, value, onValueChange, onSearch, searchDebounceMs, getValue, placeholder, emptyMessage, emptyContent, loading, modal, disabled, name, id, className, inputClassName, contentClassName, selectedClassName, }: AutosearchProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare namespace Autosearch {
33
+ var displayName: string;
34
+ }
35
+ //# sourceMappingURL=autosearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autosearch.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autosearch/autosearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAiBzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,UAAU,CAAC,EAEzB,OAAY,EAGZ,KAAK,EACL,aAAa,EAGb,QAAQ,EACR,gBAAsB,EACtB,QAAiC,EAGjC,WAAoC,EACpC,YAAkC,EAClC,YAAY,EAGZ,OAAe,EACf,KAAa,EAGb,QAAgB,EAChB,IAAI,EACJ,EAAE,EAGF,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,EAAE,eAAe,2CA2MjB;yBA3Oe,UAAU"}
@@ -0,0 +1,51 @@
1
+ import type * as React from 'react';
2
+ import type { AutocompleteOption } from '../autocomplete/autocomplete.types';
3
+ /**
4
+ * Default function to extract searchable text from an option.
5
+ * Combines label, description, and value for comprehensive searching.
6
+ */
7
+ export declare function defaultAutosearchValue(option: AutocompleteOption): string;
8
+ export interface AutosearchProps {
9
+ /** Options to display in search results */
10
+ options: AutocompleteOption[];
11
+ /** Currently selected option value */
12
+ value?: string;
13
+ /** Called when selection changes */
14
+ onValueChange?: (value: string) => void;
15
+ /** Callback when search query changes (debounced) */
16
+ onSearch?: (query: string) => void;
17
+ /** Debounce delay in ms (default: 300) */
18
+ searchDebounceMs?: number;
19
+ /** Extract searchable text from option for Command filtering */
20
+ getValue?: (option: AutocompleteOption) => string;
21
+ /** Placeholder text for search input */
22
+ placeholder?: string;
23
+ /** Message shown when no results found */
24
+ emptyMessage?: string;
25
+ /** Content shown when no options match after search */
26
+ emptyContent?: React.ReactNode;
27
+ /** External loading state */
28
+ loading?: boolean;
29
+ /** Popover modal mode */
30
+ modal?: boolean;
31
+ /** Disable the component */
32
+ disabled?: boolean;
33
+ /** HTML name attribute for hidden input */
34
+ name?: string;
35
+ /** HTML id attribute */
36
+ id?: string;
37
+ /** Additional CSS classes for the root wrapper */
38
+ className?: string;
39
+ /** Additional CSS classes for the input */
40
+ inputClassName?: string;
41
+ /** Additional CSS classes for the popover content */
42
+ contentClassName?: string;
43
+ /** Additional CSS classes for the selected value card */
44
+ selectedClassName?: string;
45
+ }
46
+ /**
47
+ * Props for Form.Autosearch - same as the primitive but without
48
+ * value/onValueChange/name/id which come from FieldContext.
49
+ */
50
+ export type FormAutosearchProps = Omit<AutosearchProps, 'value' | 'onValueChange' | 'name' | 'id'>;
51
+ //# sourceMappingURL=autosearch.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autosearch.types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autosearch/autosearch.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAM5E;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,UAEhE;AAMD,MAAM,WAAW,eAAe;IAE9B,2CAA2C;IAC3C,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAG7B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAGvC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAA;IAGjD,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAG9B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yBAAyB;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IAGf,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IAGX,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAMD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,eAAe,EACf,OAAO,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,CAC1C,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './autosearch';
2
+ export * from './autosearch.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/autosearch/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
@@ -32,8 +32,9 @@ interface CalendarDatePickerProps extends React.HTMLAttributes<HTMLButtonElement
32
32
  maxRange?: number;
33
33
  popoverClassName?: string;
34
34
  disabled?: boolean;
35
+ modal?: boolean;
35
36
  }
36
- export declare function CalendarDatePicker({ ref, id, className, triggerClassName, date, closeOnSelect, numberOfMonths, yearsRange, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture, disablePast, maxRange, popoverClassName, disabled, ...props }: CalendarDatePickerProps & {
37
+ export declare function CalendarDatePicker({ ref, id, className, triggerClassName, date, closeOnSelect, numberOfMonths, yearsRange, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture, disablePast, maxRange, popoverClassName, disabled, modal, ...props }: CalendarDatePickerProps & {
37
38
  ref?: React.RefObject<HTMLButtonElement | null>;
38
39
  }): import("react/jsx-runtime").JSX.Element;
39
40
  export declare namespace CalendarDatePicker {
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/calendar-date-picker/calendar-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,QAAA,MAAM,mBAAmB;;8EAiBxB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;CACV;AAED,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IAEjC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAA2B,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAqB,EAAE,cAAkB,EAAE,UAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,aAAqB,EAAE,WAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAAE,2CAgyBra;yBAhyBe,kBAAkB"}
1
+ {"version":3,"file":"calendar-date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/calendar-date-picker/calendar-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,QAAA,MAAM,mBAAmB;;8EAiBxB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;CACV;AAED,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IAEjC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAA2B,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAqB,EAAE,cAAkB,EAAE,UAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,aAAqB,EAAE,WAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAa,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAAE,2CAgyBpb;yBAhyBe,kBAAkB"}
@@ -20,7 +20,7 @@ import type { ComboboxProps } from './types';
20
20
  * />
21
21
  * ```
22
22
  */
23
- export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, emptyMessage, disabled, className, triggerClassName, contentClassName, searchable, showDropdownArrow, clearable, id, 'data-testid': testId, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function Combobox({ options, value, onChange, placeholder, searchPlaceholder, emptyMessage, disabled, className, triggerClassName, contentClassName, searchable, showDropdownArrow, clearable, id, 'data-testid': testId, modal, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
24
24
  export declare namespace Combobox {
25
25
  var displayName: string;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,SAAS,CAAA;AAc3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAgC,EAChC,iBAA+B,EAC/B,YAAkC,EAClC,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,UAAiB,EACjB,iBAAwB,EACxB,SAAiB,EACjB,EAAE,EACF,aAAa,EAAE,MAAM,GACtB,EAAE,aAAa,2CAgIf;yBAhJe,QAAQ"}
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,SAAS,CAAA;AAc3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAK,EACL,QAAQ,EACR,WAAgC,EAChC,iBAA+B,EAC/B,YAAkC,EAClC,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,UAAiB,EACjB,iBAAwB,EACxB,SAAiB,EACjB,EAAE,EACF,aAAa,EAAE,MAAM,EACrB,KAAY,GACb,EAAE,aAAa,2CAgIf;yBAjJe,QAAQ"}
@@ -74,5 +74,11 @@ export interface ComboboxProps {
74
74
  * Test ID
75
75
  */
76
76
  'data-testid'?: string;
77
+ /**
78
+ * Whether the popover is modal (prevents interaction with elements outside)
79
+ * Required when using inside a Dialog/Modal component
80
+ * @default true
81
+ */
82
+ 'modal'?: boolean;
77
83
  }
78
84
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;IAE7C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAEhD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/combobox/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAA;IAE7C;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAEhD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
@@ -1,6 +1,6 @@
1
1
  import type { DateTimePickerProps } from './types';
2
2
  import * as React from 'react';
3
- export declare function DateTimePicker({ ref, value, onChange, minDate, maxDate, disabledDates, timezone, showTimezoneIndicator, placeholder, disabled, className }: DateTimePickerProps & {
3
+ export declare function DateTimePicker({ ref, value, onChange, minDate, maxDate, disabledDates, timezone, showTimezoneIndicator, placeholder, disabled, className, modal }: DateTimePickerProps & {
4
4
  ref?: React.RefObject<HTMLDivElement | null>;
5
5
  }): import("react/jsx-runtime").JSX.Element;
6
6
  export declare namespace DateTimePicker {
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/date-time-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,SAAS,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAA2B,EAAE,qBAA6B,EAAE,WAAoC,EAAE,QAAgB,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAAE,2CAkH9R;yBAlHe,cAAc"}
1
+ {"version":3,"file":"date-time-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/date-time-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,SAAS,CAAA;AAIjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAA2B,EAAE,qBAA6B,EAAE,WAAoC,EAAE,QAAgB,EAAE,SAAS,EAAE,KAAa,EAAE,EAAE,mBAAmB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAAE,2CAkH7S;yBAlHe,cAAc"}
@@ -42,6 +42,12 @@ export interface DateTimePickerProps {
42
42
  * Additional CSS class
43
43
  */
44
44
  className?: string;
45
+ /**
46
+ * Whether the popover is modal (prevents interaction with elements outside)
47
+ * Required when using inside a Dialog/Modal component
48
+ * @default true
49
+ */
50
+ modal?: boolean;
45
51
  }
46
52
  /**
47
53
  * Internal state for date + time selection
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAA;IAElD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/date-time-picker/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAA;IAElD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -72,6 +72,12 @@ export interface NormalizedFormInstance {
72
72
  reset: () => void;
73
73
  /** Get all current form values (for stepper prev() save-without-validate) */
74
74
  getValues: () => Record<string, unknown>;
75
+ /** Array of field names that have been touched (focused and blurred or modified) */
76
+ touchedFields: string[];
77
+ /** Mark a field as touched */
78
+ markFieldTouched: (fieldName: string) => void;
79
+ /** Mark all fields as touched (used when submit is clicked with validation errors) */
80
+ markAllFieldsTouched: () => void;
75
81
  /** The raw underlying library instance (opaque - never read by shared components) */
76
82
  raw: unknown;
77
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/form/adapter-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../../../../src/components/features/form/adapter-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAM5B,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAA;IACjB,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAA;IAChB,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAA;IACd,6BAA6B;IAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,iEAAiE;IACjE,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,sBAAsB;IACtB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvD,qCAAqC;IACrC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACxD,wCAAwC;IACxC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,6CAA6C;IAC7C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAA;IAChB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAA;IAChB,wDAAwD;IACxD,WAAW,EAAE,OAAO,CAAA;IACpB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,2DAA2D;IAC3D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc;IACd,EAAE,EAAE,MAAM,CAAA;IACV,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC3C,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,gEAAgE;IAChE,SAAS,EAAE,mBAAmB,CAAA;IAC9B,uCAAuC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,uCAAuC;IACvC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,oFAAoF;IACpF,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,8BAA8B;IAC9B,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,sFAAsF;IACtF,oBAAoB,EAAE,MAAM,IAAI,CAAA;IAChC,qFAAqF;IACrF,GAAG,EAAE,OAAO,CAAA;CACb;AAMD,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAA;IACjB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,sBAAsB;IACtB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;IACxC,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,kEAAkE;IAClE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;CAClD;AAMD,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IAEZ,mEAAmE;IACnE,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,sBAAsB,CAAA;IAEjE;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,oBAAoB,CAAA;IAEhD,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IAEnC,gDAAgD;IAChD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEzD,4DAA4D;IAC5D,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,oBAAoB,CAAA;IAErD;;;OAGG;IACH,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;CACnG"}
@@ -1 +1 @@
1
- {"version":3,"file":"conform-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/features/form/adapters/conform/conform-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAMZ,MAAM,qBAAqB,CAAA;AA4c5B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,WAQ5B,CAAA"}
1
+ {"version":3,"file":"conform-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/features/form/adapters/conform/conform-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAMZ,MAAM,qBAAqB,CAAA;AAod5B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,WAQ5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rhf-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/features/form/adapters/rhf/rhf-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAMZ,MAAM,qBAAqB,CAAA;AA2N5B;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,WAQxB,CAAA"}
1
+ {"version":3,"file":"rhf-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/components/features/form/adapters/rhf/rhf-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAMZ,MAAM,qBAAqB,CAAA;AA6N5B;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,WAQxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/components/form-autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAKtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,EAClF,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,CAAC,CAAC,2CAmB1B;yBAvBe,gBAAgB"}
1
+ {"version":3,"file":"form-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/form/components/form-autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAKtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,EAClF,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,qBAAqB,CAAC,CAAC,CAAC,2CAsB1B;yBA1Be,gBAAgB"}
@@ -1,24 +1,36 @@
1
- import type { FormAutocompleteProps } from '../../autocomplete/autocomplete.types';
1
+ import type { FormAutosearchProps } from '../../autosearch/autosearch.types';
2
2
  /**
3
- * Form.Autosearch - Alias to Form.Autocomplete with search-first focus
3
+ * Form.Autosearch - Search-first input with dropdown results
4
4
  *
5
- * This is a convenience wrapper around Form.Autocomplete that emphasizes
6
- * the search functionality. It's functionally identical to Form.Autocomplete.
5
+ * Automatically wired to the parent Form.Field context.
6
+ * Shows a text input that triggers search and displays results in a popover.
7
+ * Different from Form.Autocomplete which shows all options upfront.
7
8
  *
8
9
  * @example Basic usage
9
10
  * ```tsx
10
- * <Form.Field name="search" label="Search">
11
+ * <Form.Field name="userId" label="User" required>
11
12
  * <Form.Autosearch
12
- * options={options}
13
- * placeholder="Type to search..."
13
+ * options={users}
14
+ * onSearch={handleSearch}
15
+ * loading={isSearching}
16
+ * placeholder="Search users..."
17
+ * />
18
+ * </Form.Field>
19
+ * ```
20
+ *
21
+ * @example With debounce control
22
+ * ```tsx
23
+ * <Form.Field name="email" label="Email">
24
+ * <Form.Autosearch
25
+ * options={searchResults}
26
+ * onSearch={debouncedSearch}
27
+ * searchDebounceMs={500}
28
+ * placeholder="Type email to search..."
14
29
  * />
15
30
  * </Form.Field>
16
31
  * ```
17
32
  */
18
- export declare function FormAutosearch<T extends {
19
- value: string;
20
- label: string;
21
- }>(props: FormAutocompleteProps<T>): import("react/jsx-runtime").JSX.Element;
33
+ export declare function FormAutosearch({ disabled, className, inputClassName, ...props }: FormAutosearchProps): import("react/jsx-runtime").JSX.Element;
22
34
  export declare namespace FormAutosearch {
23
35
  var displayName: string;
24
36
  }