@startdownnotez404/ui 1.3.5 → 1.3.6

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 (254) hide show
  1. package/dist/AutocompleteField-653233JU.mjs +203 -0
  2. package/dist/AutocompleteField-653233JU.mjs.map +1 -0
  3. package/dist/AvatarField-KFASMVZU.mjs +378 -0
  4. package/dist/AvatarField-KFASMVZU.mjs.map +1 -0
  5. package/dist/{DateField-ZYMZFHL4.mjs → DateField-CDJ6W6XF.mjs} +19 -7
  6. package/dist/DateField-CDJ6W6XF.mjs.map +1 -0
  7. package/dist/DateRangeField-ZWSFT5KV.mjs +118 -0
  8. package/dist/DateRangeField-ZWSFT5KV.mjs.map +1 -0
  9. package/dist/{DateTimeField-TPTJ7YIZ.mjs → DateTimeField-SFAF4I6A.mjs} +36 -11
  10. package/dist/DateTimeField-SFAF4I6A.mjs.map +1 -0
  11. package/dist/FileUploadField-TSNCSLXX.mjs +101 -0
  12. package/dist/FileUploadField-TSNCSLXX.mjs.map +1 -0
  13. package/dist/{JSONEditorField-TMRWGXVR.mjs → JSONEditorField-3KXC2GOG.mjs} +7 -6
  14. package/dist/{JSONEditorField-TMRWGXVR.mjs.map → JSONEditorField-3KXC2GOG.mjs.map} +1 -1
  15. package/dist/{PopperMenu-LJ36RPBW.mjs → PopperMenu-PSHLKIEZ.mjs} +26 -12
  16. package/dist/{PopperMenu-LJ36RPBW.mjs.map → PopperMenu-PSHLKIEZ.mjs.map} +1 -1
  17. package/dist/{TelField-LOGRVZ4I.mjs → TelField-FRQT2UBJ.mjs} +8 -7
  18. package/dist/{TelField-LOGRVZ4I.mjs.map → TelField-FRQT2UBJ.mjs.map} +1 -1
  19. package/dist/TimeField-XVWXBJID.mjs +94 -0
  20. package/dist/TimeField-XVWXBJID.mjs.map +1 -0
  21. package/dist/alert.d.mts +148 -18
  22. package/dist/alert.d.ts +148 -18
  23. package/dist/alert.js +698 -254
  24. package/dist/alert.js.map +1 -1
  25. package/dist/alert.mjs +46 -10
  26. package/dist/autocomplete.d.mts +438 -4
  27. package/dist/autocomplete.d.ts +438 -4
  28. package/dist/autocomplete.js +632 -21
  29. package/dist/autocomplete.js.map +1 -1
  30. package/dist/autocomplete.mjs +26 -7
  31. package/dist/avatar.js +2 -1
  32. package/dist/avatar.js.map +1 -1
  33. package/dist/avatar.mjs +12 -11
  34. package/dist/box.mjs +2 -1
  35. package/dist/button.mjs +3 -2
  36. package/dist/chart.mjs +3 -2
  37. package/dist/checkbox.mjs +3 -2
  38. package/dist/chunk-2FK24ZPJ.mjs +78 -0
  39. package/dist/chunk-2FK24ZPJ.mjs.map +1 -0
  40. package/dist/{chunk-V26V2S3W.mjs → chunk-3O3N6X6D.mjs} +3 -3
  41. package/dist/{chunk-Y74ALKBL.mjs → chunk-4MSPA7U7.mjs} +11 -9
  42. package/dist/{chunk-Y74ALKBL.mjs.map → chunk-4MSPA7U7.mjs.map} +1 -1
  43. package/dist/{chunk-24XDGNJ6.mjs → chunk-4P45Z5LR.mjs} +63 -41
  44. package/dist/chunk-4P45Z5LR.mjs.map +1 -0
  45. package/dist/chunk-4SSJY32J.mjs +1182 -0
  46. package/dist/chunk-4SSJY32J.mjs.map +1 -0
  47. package/dist/{chunk-XJ2SXC2Q.mjs → chunk-6B6I27TT.mjs} +18 -16
  48. package/dist/{chunk-XJ2SXC2Q.mjs.map → chunk-6B6I27TT.mjs.map} +1 -1
  49. package/dist/chunk-6JKMEH2L.mjs +205 -0
  50. package/dist/chunk-6JKMEH2L.mjs.map +1 -0
  51. package/dist/{chunk-IN3O4R7Q.mjs → chunk-7O526A2D.mjs} +6 -4
  52. package/dist/{chunk-IN3O4R7Q.mjs.map → chunk-7O526A2D.mjs.map} +1 -1
  53. package/dist/chunk-AFLEG5ZC.mjs +28 -0
  54. package/dist/chunk-AFLEG5ZC.mjs.map +1 -0
  55. package/dist/{chunk-UGMRJMFZ.mjs → chunk-BO5CU4ZM.mjs} +4 -4
  56. package/dist/{chunk-JIU5GVM7.mjs → chunk-D4XPNSSI.mjs} +5 -3
  57. package/dist/{chunk-JIU5GVM7.mjs.map → chunk-D4XPNSSI.mjs.map} +1 -1
  58. package/dist/chunk-DPIMA5IO.mjs +72 -0
  59. package/dist/chunk-DPIMA5IO.mjs.map +1 -0
  60. package/dist/chunk-F2CGFVIZ.mjs +83 -0
  61. package/dist/chunk-F2CGFVIZ.mjs.map +1 -0
  62. package/dist/{chunk-R5MKQN6D.mjs → chunk-FBLSJQWK.mjs} +3 -3
  63. package/dist/{chunk-BGB7JHIU.mjs → chunk-FMGZCOJC.mjs} +5 -3
  64. package/dist/{chunk-BGB7JHIU.mjs.map → chunk-FMGZCOJC.mjs.map} +1 -1
  65. package/dist/{chunk-UTVSYS6S.mjs → chunk-FNSIQ2B7.mjs} +18 -6
  66. package/dist/chunk-FNSIQ2B7.mjs.map +1 -0
  67. package/dist/{chunk-JWANK42G.mjs → chunk-FUZ2JNTZ.mjs} +3 -3
  68. package/dist/{chunk-CRYIEYZZ.mjs → chunk-HAJWE62X.mjs} +66 -42
  69. package/dist/chunk-HAJWE62X.mjs.map +1 -0
  70. package/dist/{chunk-CWFWRZWU.mjs → chunk-KSN33A6I.mjs} +3 -2
  71. package/dist/{chunk-CWFWRZWU.mjs.map → chunk-KSN33A6I.mjs.map} +1 -1
  72. package/dist/chunk-KYTHGFFY.mjs +866 -0
  73. package/dist/chunk-KYTHGFFY.mjs.map +1 -0
  74. package/dist/{chunk-QKGCW37O.mjs → chunk-LDFM46LV.mjs} +5 -3
  75. package/dist/{chunk-QKGCW37O.mjs.map → chunk-LDFM46LV.mjs.map} +1 -1
  76. package/dist/chunk-LQNDBPHU.mjs +142 -0
  77. package/dist/chunk-LQNDBPHU.mjs.map +1 -0
  78. package/dist/{chunk-E3I2VDHZ.mjs → chunk-M2PYXSAF.mjs} +6 -4
  79. package/dist/{chunk-E3I2VDHZ.mjs.map → chunk-M2PYXSAF.mjs.map} +1 -1
  80. package/dist/{chunk-DELCADNF.mjs → chunk-ODVKRIVN.mjs} +30 -30
  81. package/dist/{chunk-HR3A4H4E.mjs → chunk-PEJL2T2K.mjs} +13 -11
  82. package/dist/{chunk-HR3A4H4E.mjs.map → chunk-PEJL2T2K.mjs.map} +1 -1
  83. package/dist/{chunk-OGNGPI3M.mjs → chunk-PL55YKT4.mjs} +2 -2
  84. package/dist/{chunk-S6EZVRZC.mjs → chunk-PNSJC6PC.mjs} +5 -28
  85. package/dist/chunk-PNSJC6PC.mjs.map +1 -0
  86. package/dist/{chunk-TDRA5EZI.mjs → chunk-PUREEN2J.mjs} +7 -7
  87. package/dist/chunk-QFS5CENY.mjs +659 -0
  88. package/dist/chunk-QFS5CENY.mjs.map +1 -0
  89. package/dist/chunk-RSN7NH2J.mjs +250 -0
  90. package/dist/chunk-RSN7NH2J.mjs.map +1 -0
  91. package/dist/{chunk-UDREPVEY.mjs → chunk-RVSMEZE3.mjs} +12 -78
  92. package/dist/chunk-RVSMEZE3.mjs.map +1 -0
  93. package/dist/{chunk-SRWPHN2N.mjs → chunk-S64IYJ6Y.mjs} +2 -2
  94. package/dist/{chunk-ZG3NQI77.mjs → chunk-SMD7OEUW.mjs} +6 -4
  95. package/dist/{chunk-ZG3NQI77.mjs.map → chunk-SMD7OEUW.mjs.map} +1 -1
  96. package/dist/{chunk-NJYNJLT7.mjs → chunk-SWFB3A3G.mjs} +2 -2
  97. package/dist/{chunk-RXBQ7KXF.mjs → chunk-USXGNKWJ.mjs} +98 -44
  98. package/dist/chunk-USXGNKWJ.mjs.map +1 -0
  99. package/dist/{chunk-OJV6V7YZ.mjs → chunk-VL7V52YD.mjs} +27 -20
  100. package/dist/chunk-VL7V52YD.mjs.map +1 -0
  101. package/dist/{chunk-2ZZJTBTE.mjs → chunk-WJZ3IYET.mjs} +2 -2
  102. package/dist/chunk-XAJAMVAG.mjs +1720 -0
  103. package/dist/chunk-XAJAMVAG.mjs.map +1 -0
  104. package/dist/chunk-YIJ5QVJ6.mjs +277 -0
  105. package/dist/chunk-YIJ5QVJ6.mjs.map +1 -0
  106. package/dist/{chunk-T6AMRENK.mjs → chunk-YRW5NKD7.mjs} +148 -112
  107. package/dist/chunk-YRW5NKD7.mjs.map +1 -0
  108. package/dist/chunk-ZMJKG2UI.mjs +71 -0
  109. package/dist/chunk-ZMJKG2UI.mjs.map +1 -0
  110. package/dist/confirm.d.mts +48 -0
  111. package/dist/confirm.d.ts +48 -0
  112. package/dist/confirm.js +334 -0
  113. package/dist/confirm.js.map +1 -0
  114. package/dist/confirm.mjs +20 -0
  115. package/dist/datePicker.d.mts +256 -14
  116. package/dist/datePicker.d.ts +256 -14
  117. package/dist/datePicker.js +1624 -145
  118. package/dist/datePicker.js.map +1 -1
  119. package/dist/datePicker.mjs +19 -6
  120. package/dist/dialog.d.mts +166 -0
  121. package/dist/dialog.d.ts +166 -0
  122. package/dist/dialog.js +362 -0
  123. package/dist/dialog.js.map +1 -0
  124. package/dist/dialog.mjs +45 -0
  125. package/dist/emptyState.d.mts +17 -0
  126. package/dist/emptyState.d.ts +17 -0
  127. package/dist/emptyState.js +253 -0
  128. package/dist/emptyState.js.map +1 -0
  129. package/dist/emptyState.mjs +12 -0
  130. package/dist/emptyState.mjs.map +1 -0
  131. package/dist/errorState.d.mts +18 -0
  132. package/dist/errorState.d.ts +18 -0
  133. package/dist/{displayFile.js → errorState.js} +107 -156
  134. package/dist/errorState.js.map +1 -0
  135. package/dist/errorState.mjs +15 -0
  136. package/dist/errorState.mjs.map +1 -0
  137. package/dist/fileUpload.d.mts +197 -0
  138. package/dist/fileUpload.d.ts +197 -0
  139. package/dist/fileUpload.js +1483 -0
  140. package/dist/fileUpload.js.map +1 -0
  141. package/dist/fileUpload.mjs +65 -0
  142. package/dist/fileUpload.mjs.map +1 -0
  143. package/dist/flowMap.mjs +7 -6
  144. package/dist/flowMap.mjs.map +1 -1
  145. package/dist/image.js +1195 -429
  146. package/dist/image.js.map +1 -1
  147. package/dist/image.mjs +8 -6
  148. package/dist/index.d.ts +7 -2
  149. package/dist/index.js +8606 -4087
  150. package/dist/index.js.map +1 -1
  151. package/dist/index.mjs +314 -152
  152. package/dist/inlineError.d.mts +16 -0
  153. package/dist/inlineError.d.ts +16 -0
  154. package/dist/inlineError.js +297 -0
  155. package/dist/inlineError.js.map +1 -0
  156. package/dist/inlineError.mjs +15 -0
  157. package/dist/inlineError.mjs.map +1 -0
  158. package/dist/input.mjs +8 -7
  159. package/dist/jsonEditor.mjs +3 -2
  160. package/dist/list.mjs +7 -6
  161. package/dist/loading.mjs +8 -6
  162. package/dist/markdown.mjs +7 -6
  163. package/dist/markdown.mjs.map +1 -1
  164. package/dist/menu.mjs +9 -8
  165. package/dist/modal.js +2 -1
  166. package/dist/modal.js.map +1 -1
  167. package/dist/modal.mjs +7 -5
  168. package/dist/process.d.mts +33 -75
  169. package/dist/process.d.ts +33 -75
  170. package/dist/process.js +1275 -203
  171. package/dist/process.js.map +1 -1
  172. package/dist/process.mjs +12 -9
  173. package/dist/scrollToLoad.mjs +4 -3
  174. package/dist/select.mjs +10 -9
  175. package/dist/skeleton.d.mts +15 -1
  176. package/dist/skeleton.d.ts +15 -1
  177. package/dist/skeleton.js +114 -2
  178. package/dist/skeleton.js.map +1 -1
  179. package/dist/skeleton.mjs +6 -3
  180. package/dist/stepper.mjs +4 -3
  181. package/dist/tab.mjs +10 -9
  182. package/dist/table.d.mts +269 -85
  183. package/dist/table.d.ts +269 -85
  184. package/dist/table.js +5102 -3153
  185. package/dist/table.js.map +1 -1
  186. package/dist/table.mjs +21 -19
  187. package/dist/theme.js +1766 -432
  188. package/dist/theme.js.map +1 -1
  189. package/dist/theme.mjs +32 -25
  190. package/dist/timeline.mjs +4 -3
  191. package/dist/toast.d.mts +49 -0
  192. package/dist/toast.d.ts +49 -0
  193. package/dist/toast.js +175 -0
  194. package/dist/toast.js.map +1 -0
  195. package/dist/toast.mjs +9 -0
  196. package/dist/toast.mjs.map +1 -0
  197. package/dist/toggleButtonGroup.mjs +3 -2
  198. package/dist/useForm.d.mts +270 -86
  199. package/dist/useForm.d.ts +270 -86
  200. package/dist/useForm.js +4672 -2727
  201. package/dist/useForm.js.map +1 -1
  202. package/dist/useForm.mjs +18 -16
  203. package/dist/useSearch.mjs +13 -12
  204. package/dist/variablesRenderer.mjs +8 -7
  205. package/package.json +3 -3
  206. package/dist/AutocompleteField-ZKNU2IRR.mjs +0 -181
  207. package/dist/AutocompleteField-ZKNU2IRR.mjs.map +0 -1
  208. package/dist/AvatarField-SAODT3CZ.mjs +0 -275
  209. package/dist/AvatarField-SAODT3CZ.mjs.map +0 -1
  210. package/dist/DateField-ZYMZFHL4.mjs.map +0 -1
  211. package/dist/DateTimeField-TPTJ7YIZ.mjs.map +0 -1
  212. package/dist/FileUploadField-NTMWBJER.mjs +0 -78
  213. package/dist/FileUploadField-NTMWBJER.mjs.map +0 -1
  214. package/dist/chunk-24XDGNJ6.mjs.map +0 -1
  215. package/dist/chunk-27KYFU7R.mjs +0 -30
  216. package/dist/chunk-27KYFU7R.mjs.map +0 -1
  217. package/dist/chunk-AAH2O24U.mjs +0 -325
  218. package/dist/chunk-AAH2O24U.mjs.map +0 -1
  219. package/dist/chunk-CRYIEYZZ.mjs.map +0 -1
  220. package/dist/chunk-EEH7HACG.mjs +0 -249
  221. package/dist/chunk-EEH7HACG.mjs.map +0 -1
  222. package/dist/chunk-EKPULYPU.mjs +0 -497
  223. package/dist/chunk-EKPULYPU.mjs.map +0 -1
  224. package/dist/chunk-OJV6V7YZ.mjs.map +0 -1
  225. package/dist/chunk-RXBQ7KXF.mjs.map +0 -1
  226. package/dist/chunk-S6EZVRZC.mjs.map +0 -1
  227. package/dist/chunk-SGCUDWO3.mjs +0 -396
  228. package/dist/chunk-SGCUDWO3.mjs.map +0 -1
  229. package/dist/chunk-T6AMRENK.mjs.map +0 -1
  230. package/dist/chunk-UDREPVEY.mjs.map +0 -1
  231. package/dist/chunk-UTVSYS6S.mjs.map +0 -1
  232. package/dist/chunk-XIMFP6RB.mjs +0 -161
  233. package/dist/chunk-XIMFP6RB.mjs.map +0 -1
  234. package/dist/displayFile.d.mts +0 -95
  235. package/dist/displayFile.d.ts +0 -95
  236. package/dist/displayFile.js.map +0 -1
  237. package/dist/displayFile.mjs +0 -19
  238. package/dist/fileUploader.d.mts +0 -86
  239. package/dist/fileUploader.d.ts +0 -86
  240. package/dist/fileUploader.js +0 -722
  241. package/dist/fileUploader.js.map +0 -1
  242. package/dist/fileUploader.mjs +0 -16
  243. /package/dist/{chunk-V26V2S3W.mjs.map → chunk-3O3N6X6D.mjs.map} +0 -0
  244. /package/dist/{chunk-UGMRJMFZ.mjs.map → chunk-BO5CU4ZM.mjs.map} +0 -0
  245. /package/dist/{chunk-R5MKQN6D.mjs.map → chunk-FBLSJQWK.mjs.map} +0 -0
  246. /package/dist/{chunk-JWANK42G.mjs.map → chunk-FUZ2JNTZ.mjs.map} +0 -0
  247. /package/dist/{chunk-DELCADNF.mjs.map → chunk-ODVKRIVN.mjs.map} +0 -0
  248. /package/dist/{chunk-OGNGPI3M.mjs.map → chunk-PL55YKT4.mjs.map} +0 -0
  249. /package/dist/{chunk-TDRA5EZI.mjs.map → chunk-PUREEN2J.mjs.map} +0 -0
  250. /package/dist/{chunk-SRWPHN2N.mjs.map → chunk-S64IYJ6Y.mjs.map} +0 -0
  251. /package/dist/{chunk-NJYNJLT7.mjs.map → chunk-SWFB3A3G.mjs.map} +0 -0
  252. /package/dist/{chunk-2ZZJTBTE.mjs.map → chunk-WJZ3IYET.mjs.map} +0 -0
  253. /package/dist/{displayFile.mjs.map → confirm.mjs.map} +0 -0
  254. /package/dist/{fileUploader.mjs.map → dialog.mjs.map} +0 -0
package/dist/table.d.mts CHANGED
@@ -7,12 +7,11 @@ import { SelectProps } from '@mui/material/Select';
7
7
  import FormControl, { FormControlProps } from '@mui/material/FormControl';
8
8
  import _mui_material_MenuItem from '@mui/material/MenuItem';
9
9
  import { SliderProps } from '@mui/material/Slider';
10
- import { DatePicker } from '@mui/x-date-pickers/DatePicker';
11
- import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
10
+ import { Dayjs } from 'dayjs';
11
+ import Box from '@mui/material/Box';
12
12
  import { FormLabelProps } from '@mui/material/FormLabel';
13
13
  import { FormGroupProps } from '@mui/material/FormGroup';
14
14
  import MuiCheckBox from '@mui/material/Checkbox';
15
- import { DropzoneOptions } from 'react-dropzone';
16
15
  import { SwitchProps } from '@mui/material/Switch';
17
16
  import { CountryCode } from 'libphonenumber-js';
18
17
  import { ButtonProps } from '@mui/material/Button';
@@ -30,6 +29,8 @@ declare const FIELD_TYPEs: {
30
29
  readonly check: "check-field";
31
30
  readonly date: "date-field";
32
31
  readonly dateTime: "date-time-field";
32
+ readonly time: "time-field";
33
+ readonly dateRange: "date-range-field";
33
34
  readonly toggleButton: "toggle-button";
34
35
  readonly autocomplete: "autocomplete-field";
35
36
  readonly switch: "switch-field";
@@ -76,9 +77,213 @@ type MuiSelectProps = {
76
77
  };
77
78
  } & Omit<SelectProps, "label">;
78
79
 
79
- declare const MuiXDatePicker: React__default.FC<React__default.ComponentProps<typeof DatePicker>>;
80
+ type MuiXDatePickerProps = {
81
+ /** Controlled value (Dayjs, Date, or null). Prefer this in forms/stories. */
82
+ value?: Dayjs | Date | string | null;
83
+ /** Uncontrolled initial value when `value` is omitted. */
84
+ defaultValue?: Dayjs | Date | string | null;
85
+ /**
86
+ * Called with Dayjs | null (same shape as MUI DatePicker) so UseForm DateField
87
+ * can keep using `d?.toDate?.()`.
88
+ */
89
+ onChange?: (value: Dayjs | null) => void;
90
+ label?: string;
91
+ disabled?: boolean;
92
+ /** Override display format (default `MM/DD/YYYY`). */
93
+ format?: string;
94
+ /** Optional sx for the outer field wrapper. */
95
+ sx?: React__default.ComponentProps<typeof Box>['sx'];
96
+ /**
97
+ * When true, the trigger field stays read-only (calendar-only).
98
+ * Default false — user can type a date string and commit on blur/Enter.
99
+ */
100
+ disableTyping?: boolean;
101
+ /**
102
+ * Legacy passthrough kept for UseForm slotProps compatibility.
103
+ * `textField` bits are applied to the trigger field.
104
+ */
105
+ slotProps?: {
106
+ textField?: Record<string, unknown>;
107
+ openPickerIcon?: Record<string, unknown>;
108
+ actionBar?: Record<string, unknown>;
109
+ };
110
+ };
111
+ /**
112
+ * Soft/quiet DatePicker with a typeable trigger field.
113
+ *
114
+ * Trigger text is editable by default (commit on blur/Enter). Calendar icon
115
+ * opens the DateCalendar popover; focusing/typing the field does not.
116
+ * Pass `disableTyping` for read-only calendar-only mode.
117
+ *
118
+ * Invalid typed input reverts to the last committed label.
119
+ * Escape cancels the edit without committing.
120
+ */
121
+ declare const MuiXDatePicker: React__default.FC<MuiXDatePickerProps>;
122
+
123
+ type MuiXDateTimePickerProps = {
124
+ /** Controlled value (Dayjs, Date, or null). Prefer this in forms/stories. */
125
+ value?: Dayjs | Date | string | null;
126
+ /** Uncontrolled initial value when `value` is omitted. */
127
+ defaultValue?: Dayjs | Date | string | null;
128
+ /**
129
+ * Called with Dayjs | null (same shape as MUI DateTimePicker) so UseForm
130
+ * DateTimeField can keep using `d?.toDate?.()`.
131
+ */
132
+ onChange?: (value: Dayjs | null) => void;
133
+ label?: string;
134
+ disabled?: boolean;
135
+ /** 12h + am/pm when true (default). When false, display/parse as `HH:mm`. */
136
+ ampm?: boolean;
137
+ /** Override display format (default `MM/DD/YYYY hh:mm a` or 24h variant). */
138
+ format?: string;
139
+ /** Optional sx for the outer field wrapper. */
140
+ sx?: React__default.ComponentProps<typeof Box>['sx'];
141
+ /**
142
+ * When true, the trigger field stays read-only (calendar-only).
143
+ * Default false — user can type a datetime string and commit on blur/Enter.
144
+ */
145
+ disableTyping?: boolean;
146
+ /**
147
+ * Legacy passthrough kept for UseForm slotProps compatibility.
148
+ * `textField` bits are applied to the trigger field.
149
+ */
150
+ slotProps?: {
151
+ textField?: Record<string, unknown>;
152
+ openPickerIcon?: Record<string, unknown>;
153
+ actionBar?: Record<string, unknown>;
154
+ };
155
+ };
156
+ /**
157
+ * Soft/quiet DateTimePicker with a typeable trigger field.
158
+ *
159
+ * Trigger text is editable by default (commit on blur/Enter). Calendar icon
160
+ * opens the date+time popover; focusing/typing the field does not.
161
+ * Pass `disableTyping` for read-only calendar-only mode.
162
+ *
163
+ * Invalid typed input reverts to the last committed label.
164
+ * Escape cancels the edit without committing.
165
+ */
166
+ declare const MuiXDateTimePicker: React__default.FC<MuiXDateTimePickerProps>;
80
167
 
81
- declare const MuiXDateTimePicker: React__default.FC<React__default.ComponentProps<typeof DateTimePicker>>;
168
+ type MuiXTimePickerProps = {
169
+ /** Controlled value (Dayjs, Date, or null). Prefer this in forms/stories. */
170
+ value?: Dayjs | Date | string | null;
171
+ /** Uncontrolled initial value when `value` is omitted. */
172
+ defaultValue?: Dayjs | Date | string | null;
173
+ /**
174
+ * Called with Dayjs | null (same shape as MUI TimePicker) so UseForm TimeField
175
+ * can keep using `d?.toDate?.()`.
176
+ */
177
+ onChange?: (value: Dayjs | null) => void;
178
+ label?: string;
179
+ disabled?: boolean;
180
+ /** 12h + am/pm when true (default). When false, display/parse as `HH:mm`. */
181
+ ampm?: boolean;
182
+ /** Override display format (default `hh:mm a` or `HH:mm` when ampm=false). */
183
+ format?: string;
184
+ /** Optional sx for the outer field wrapper. */
185
+ sx?: React__default.ComponentProps<typeof Box>['sx'];
186
+ /**
187
+ * When true, the trigger field stays read-only (clock-only).
188
+ * Default false — user can type a time string and commit on blur/Enter.
189
+ */
190
+ disableTyping?: boolean;
191
+ /**
192
+ * Legacy passthrough kept for UseForm slotProps compatibility.
193
+ * `textField` bits are applied to the trigger field.
194
+ */
195
+ slotProps?: {
196
+ textField?: Record<string, unknown>;
197
+ openPickerIcon?: Record<string, unknown>;
198
+ actionBar?: Record<string, unknown>;
199
+ };
200
+ };
201
+ /**
202
+ * Soft/quiet TimePicker with a typeable trigger field.
203
+ *
204
+ * Trigger text is editable by default (commit on blur/Enter). Clock icon opens
205
+ * the multi-section digital clock popover; focusing/typing the field does not.
206
+ * Pass `disableTyping` for read-only clock-only mode.
207
+ *
208
+ * Invalid typed input (e.g. `04:15 aa`) reverts to the last committed label.
209
+ * Escape cancels the edit without committing.
210
+ */
211
+ declare const MuiXTimePicker: React__default.FC<MuiXTimePickerProps>;
212
+
213
+ type DateRangeValue = {
214
+ start: Date | null;
215
+ end: Date | null;
216
+ };
217
+ type MuiXDateRangePickerProps = {
218
+ /** Controlled value. Prefer this in forms/stories. */
219
+ value?: DateRangeValue;
220
+ /** Uncontrolled initial value when `value` is omitted. */
221
+ defaultValue?: DateRangeValue;
222
+ onChange?: (value: DateRangeValue) => void;
223
+ /** Combined field label (defaults to start/end labels joined). */
224
+ label?: string;
225
+ startLabel?: string;
226
+ endLabel?: string;
227
+ disabled?: boolean;
228
+ /** Optional sx for the outer field wrapper. */
229
+ sx?: React__default.ComponentProps<typeof Box>['sx'];
230
+ /**
231
+ * Show the Trip.com-style endorsement chip when both ends are set.
232
+ * Defaults to true (chip appears once start + end are non-null).
233
+ * Pass false to hide entirely.
234
+ */
235
+ showEndorsement?: boolean;
236
+ /**
237
+ * Custom chip label. String always shows that text when both ends are set.
238
+ * Function receives `{ start, end }` and may return `string | null` (`null` hides).
239
+ * When omitted, uses the built-in night/day formatter (`endorsementUnit`).
240
+ */
241
+ endorsement?: string | ((range: {
242
+ start: Date;
243
+ end: Date;
244
+ }) => string | null);
245
+ /**
246
+ * Unit for the default formatter.
247
+ * - `nights` (default): `end.diff(start, 'day')` -> "N night(s)" (hotel-style)
248
+ * - `days`: `end.diff(start, 'day') + 1` -> "N day(s)" (inclusive calendar days)
249
+ */
250
+ endorsementUnit?: 'nights' | 'days';
251
+ /**
252
+ * Legacy passthrough kept for UseForm slotProps compatibility.
253
+ * `start` / `end` textField bits are lightly applied to the single trigger field.
254
+ */
255
+ slotProps?: {
256
+ start?: {
257
+ slotProps?: {
258
+ textField?: Record<string, unknown>;
259
+ };
260
+ disabled?: boolean;
261
+ };
262
+ end?: {
263
+ slotProps?: {
264
+ textField?: Record<string, unknown>;
265
+ };
266
+ disabled?: boolean;
267
+ };
268
+ };
269
+ /**
270
+ * When true, the trigger field stays read-only (calendar-only).
271
+ * Default false — user can type a range string and commit on blur/Enter.
272
+ */
273
+ disableTyping?: boolean;
274
+ };
275
+ /**
276
+ * Free (non-Pro) date range: single field + dual-month booking calendar popover.
277
+ *
278
+ * Value shape: `{ start: Date | null; end: Date | null }` — null halves are OK.
279
+ * When both halves are set and start > end, they are swapped so the range is
280
+ * always ordered (start ≤ end).
281
+ *
282
+ * Trigger text is editable by default (commit on blur/Enter). Calendar icon
283
+ * opens the popover; focusing/typing the field does not. Pass `disableTyping`
284
+ * for read-only calendar-only mode.
285
+ */
286
+ declare const MuiXDateRangePicker: React__default.FC<MuiXDateRangePickerProps>;
82
287
 
83
288
  interface CheckOptionType {
84
289
  id: string;
@@ -103,79 +308,6 @@ declare function CheckboxGroup({ error, required, options, setCheckedIds, title,
103
308
  };
104
309
  }): react_jsx_runtime.JSX.Element;
105
310
 
106
- type ValueOf<T> = T[keyof T];
107
-
108
- declare const FILE_STATUSs: {
109
- readonly uploadingToLocal: "local-uploading";
110
- readonly uploadedToLocal: "local-uploaded";
111
- readonly localError: "local-error";
112
- readonly pending: "pending";
113
- readonly uploadPending: "upload-pending";
114
- readonly gettingSignedURL: "upload-gettingSignedURL";
115
- readonly beginUploadToS3: "upload-beginUploadToS3";
116
- readonly uploadedToCloud: "upload-uploadedToCloud";
117
- readonly error: "upload-error";
118
- readonly downloadPending: "download-pending";
119
- readonly downloading: "download-in-progress";
120
- readonly downloaded: "download-completed";
121
- readonly downloadError: "download-error";
122
- };
123
- type FileStatusType = ValueOf<typeof FILE_STATUSs>;
124
- type Attachment = {
125
- url: string;
126
- keyPath: string;
127
- filename: string;
128
- fileType: string;
129
- hostname: string;
130
- };
131
-
132
- interface PreviewableFileProps {
133
- path?: string;
134
- blobUrl?: string;
135
- filename?: string;
136
- randomName?: string;
137
- fileType?: string;
138
- mimeType?: Blob["type"];
139
- size?: number;
140
- displaySize?: string;
141
- url?: string;
142
- fetchOptions?: object;
143
- putUrl?: string;
144
- getUrl?: string;
145
- status?: FileStatusType;
146
- revokeable?: boolean;
147
- imageProps?: {
148
- width: number;
149
- height: number;
150
- };
151
- }
152
- declare class PreviewableFile {
153
- path: NonNullable<PreviewableFileProps["path"]>;
154
- blobUrl: NonNullable<PreviewableFileProps["blobUrl"]>;
155
- filename: NonNullable<PreviewableFileProps["filename"]>;
156
- randomName: NonNullable<PreviewableFileProps["randomName"]>;
157
- fileType: NonNullable<PreviewableFileProps["fileType"]>;
158
- mimeType: NonNullable<PreviewableFileProps["mimeType"]>;
159
- size: NonNullable<PreviewableFileProps["size"]>;
160
- displaySize: NonNullable<PreviewableFileProps["displaySize"]>;
161
- url: NonNullable<PreviewableFileProps["url"]>;
162
- fetchOptions: NonNullable<PreviewableFileProps["fetchOptions"]>;
163
- putUrl: NonNullable<PreviewableFileProps["putUrl"]>;
164
- getUrl: NonNullable<PreviewableFileProps["getUrl"]>;
165
- status: NonNullable<PreviewableFileProps["status"]>;
166
- revokeable: NonNullable<PreviewableFileProps["revokeable"]>;
167
- imageProps: NonNullable<PreviewableFileProps["imageProps"]>;
168
- constructor(props?: PreviewableFileProps);
169
- toPlainObj(): this;
170
- updateFile(file: PreviewableFile | undefined): void;
171
- updateStatus(status: FileStatusType): void;
172
- downloadFile(): Promise<this>;
173
- _displayFileSize(): string;
174
- getUploadFormat(): Attachment;
175
- }
176
-
177
- type DropzoneType = "box" | "button";
178
-
179
311
  type OptionId = string;
180
312
  interface OptionParams {
181
313
  id?: OptionId;
@@ -223,15 +355,34 @@ type SliderSlotProps = Partial<SliderProps>;
223
355
 
224
356
  type DateTimeSlotProps = Partial<React__default.ComponentProps<typeof MuiXDateTimePicker>>;
225
357
  type DateSlotProps = Partial<React__default.ComponentProps<typeof MuiXDatePicker>>;
358
+ type TimeSlotProps = Partial<React__default.ComponentProps<typeof MuiXTimePicker>>;
359
+ type DateRangeSlotProps = {
360
+ startLabel?: string;
361
+ endLabel?: string;
362
+ /** Optional label override for the single dual-month trigger field. */
363
+ label?: string;
364
+ /** Legacy passthrough — applied lightly to the single trigger field. */
365
+ start?: Partial<React__default.ComponentProps<typeof MuiXDatePicker>>;
366
+ end?: Partial<React__default.ComponentProps<typeof MuiXDatePicker>>;
367
+ } & Partial<Pick<React__default.ComponentProps<typeof MuiXDateRangePicker>, 'sx' | 'showEndorsement' | 'endorsement' | 'endorsementUnit'>>;
226
368
 
369
+ /** Mime→extensions accept map, or a plain HTML accept string. */
370
+ type FileAcceptMap = Record<string, string[]>;
227
371
  type FileUploadSlotProps = {
228
- accept?: DropzoneOptions['accept'];
372
+ /** HTML accept string or mime→extensions map. */
373
+ accept?: FileAcceptMap | string;
229
374
  maxFiles?: number;
230
- dropzoneType?: DropzoneType;
375
+ /**
376
+ * Trigger chrome. `button` → FileUpload variant="button";
377
+ * `box` / `dropzone` → variant="dropzone" (default).
378
+ */
379
+ dropzoneType?: 'box' | 'button' | 'dropzone';
380
+ /** Optional FileUpload item layout. */
381
+ itemVariant?: 'row' | 'tile';
231
382
  };
232
383
  type AvatarSlotProps = {
233
- /** File accept config. Supports react-dropzone's accept shape or a plain input accept string. */
234
- accept?: DropzoneOptions['accept'] | string;
384
+ /** File accept config. Mime→extensions map or a plain input accept string. */
385
+ accept?: FileAcceptMap | string;
235
386
  /** Avatar size preset from the elemental Avatar package */
236
387
  size?: Size;
237
388
  /** Override avatar dimensions (in px or css units) */
@@ -275,8 +426,14 @@ type ToggleButtonSlotProps = {
275
426
  type AutocompleteSlotProps = {
276
427
  options: OptionParams[];
277
428
  multiple?: boolean;
278
- /** `field` is the full selector. `icon` is a compact IconButton with a badge. */
429
+ /** Soft Autocomplete input placeholder (defaults to Select options / Select an option). */
430
+ placeholder?: string;
431
+ /**
432
+ * @deprecated UseForm AutocompleteField now renders soft Autocomplete (TextField-like).
433
+ * GitHubPicker `variant` / `color` are ignored by the form field.
434
+ */
279
435
  variant?: GitHubPickerVariant;
436
+ /** @deprecated Ignored — see `variant`. */
280
437
  color?: GitHubPickerColor;
281
438
  useOptions?: () => {
282
439
  options: OptionParams[];
@@ -329,6 +486,24 @@ type JsonSlotProps = {
329
486
  editorProps?: Record<string, unknown>;
330
487
  };
331
488
 
489
+ /** Per-file upload lifecycle for progress UI driven from outside. */
490
+ type FileUploadStatus = 'idle' | 'uploading' | 'success' | 'error';
491
+ /**
492
+ * Controlled item shape — UseForm-friendly.
493
+ *
494
+ * Store `FileUploadItem[]` in form state; submit with `.map((i) => i.file)`.
495
+ * Drive progress from the parent by updating `progress` / `status` / `error`
496
+ * on the same items (keep stable `id`s).
497
+ */
498
+ type FileUploadItem = {
499
+ id: string;
500
+ file: File;
501
+ /** 0–100. Shown when status is uploading or when explicitly set. */
502
+ progress?: number;
503
+ error?: string;
504
+ status?: FileUploadStatus;
505
+ };
506
+
332
507
  type FormFieldType = typeof FIELD_TYPEs[keyof typeof FIELD_TYPEs];
333
508
  type Explanation = {
334
509
  title?: string;
@@ -370,6 +545,8 @@ type SliderFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typ
370
545
  type CheckFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.check, CheckSlotProps, T>;
371
546
  type DateFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.date, DateSlotProps, T>;
372
547
  type DateTimeFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.dateTime, DateTimeSlotProps, T>;
548
+ type TimeFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.time, TimeSlotProps, T>;
549
+ type DateRangeFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.dateRange, DateRangeSlotProps, T>;
373
550
  type ToggleButtonFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.toggleButton, ToggleButtonSlotProps, T>;
374
551
  type AutocompleteFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.autocomplete, AutocompleteSlotProps, T>;
375
552
  type SwitchFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.switch, SwitchSlotProps, T>;
@@ -380,7 +557,7 @@ type CustomFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typ
380
557
  type TextArrayFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.textArray, TextArraySlotProps, T>;
381
558
  type FileUploadFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.fileUpload, FileUploadSlotProps, T>;
382
559
  type AvatarFieldConfig<T extends FormTypeMap = FormTypeMap> = FieldWithSlots<typeof FIELD_TYPEs.avatar, AvatarSlotProps, T>;
383
- type FieldConfig<T extends FormTypeMap = FormTypeMap> = TextFieldConfig<T> | SelectFieldConfig<T> | SliderFieldConfig<T> | CheckFieldConfig<T> | DateFieldConfig<T> | DateTimeFieldConfig<T> | ToggleButtonFieldConfig<T> | AutocompleteFieldConfig<T> | SwitchFieldConfig<T> | NumberFieldConfig<T> | JsonFieldConfig<T> | TextArrayFieldConfig<T> | CustomFieldConfig<T> | FileUploadFieldConfig<T> | AvatarFieldConfig<T> | TelFieldConfig<T>;
560
+ type FieldConfig<T extends FormTypeMap = FormTypeMap> = TextFieldConfig<T> | SelectFieldConfig<T> | SliderFieldConfig<T> | CheckFieldConfig<T> | DateFieldConfig<T> | DateTimeFieldConfig<T> | TimeFieldConfig<T> | DateRangeFieldConfig<T> | ToggleButtonFieldConfig<T> | AutocompleteFieldConfig<T> | SwitchFieldConfig<T> | NumberFieldConfig<T> | JsonFieldConfig<T> | TextArrayFieldConfig<T> | CustomFieldConfig<T> | FileUploadFieldConfig<T> | AvatarFieldConfig<T> | TelFieldConfig<T>;
384
561
  type RowConfig<T extends FormTypeMap = FormTypeMap> = {
385
562
  row: number | string;
386
563
  fields: FieldConfig<T>[];
@@ -399,7 +576,10 @@ type FormConfig<T extends FormTypeMap = FormTypeMap> = {
399
576
  mode?: 'onSubmit' | 'onBlur' | 'onChange' | 'onTouched' | 'all';
400
577
  };
401
578
  type FormTypeMap = Record<string, FormFieldType>;
402
- type GetDataType<T extends FormFieldType> = T extends typeof FIELD_TYPEs.text ? string : T extends typeof FIELD_TYPEs.select ? string | string[] : T extends typeof FIELD_TYPEs.slider ? number : T extends typeof FIELD_TYPEs.check ? string[] : T extends typeof FIELD_TYPEs.date ? string | Date : T extends typeof FIELD_TYPEs.dateTime ? string | Date : T extends typeof FIELD_TYPEs.toggleButton ? string : T extends typeof FIELD_TYPEs.autocomplete ? string | string[] : T extends typeof FIELD_TYPEs.switch ? boolean : T extends typeof FIELD_TYPEs.number ? number : T extends typeof FIELD_TYPEs.tel ? string : T extends typeof FIELD_TYPEs.json ? unknown : T extends typeof FIELD_TYPEs.textArray ? string[] : T extends typeof FIELD_TYPEs.custom ? unknown : T extends typeof FIELD_TYPEs.fileUpload ? PreviewableFile[] : T extends typeof FIELD_TYPEs.avatar ? PreviewableFile | null : unknown;
579
+ type GetDataType<T extends FormFieldType> = T extends typeof FIELD_TYPEs.text ? string : T extends typeof FIELD_TYPEs.select ? string | string[] : T extends typeof FIELD_TYPEs.slider ? number : T extends typeof FIELD_TYPEs.check ? string[] : T extends typeof FIELD_TYPEs.date ? string | Date : T extends typeof FIELD_TYPEs.dateTime ? string | Date : T extends typeof FIELD_TYPEs.time ? string | Date : T extends typeof FIELD_TYPEs.dateRange ? {
580
+ start: Date | null;
581
+ end: Date | null;
582
+ } : T extends typeof FIELD_TYPEs.toggleButton ? string : T extends typeof FIELD_TYPEs.autocomplete ? string | string[] : T extends typeof FIELD_TYPEs.switch ? boolean : T extends typeof FIELD_TYPEs.number ? number : T extends typeof FIELD_TYPEs.tel ? string : T extends typeof FIELD_TYPEs.json ? unknown : T extends typeof FIELD_TYPEs.textArray ? string[] : T extends typeof FIELD_TYPEs.custom ? unknown : T extends typeof FIELD_TYPEs.fileUpload ? FileUploadItem[] : T extends typeof FIELD_TYPEs.avatar ? File | null : unknown;
403
583
  type InferFormDataType<T extends FormTypeMap> = {
404
584
  [K in keyof T]: GetDataType<T[K]>;
405
585
  };
@@ -415,6 +595,10 @@ type StrictFieldConfig<T extends FormTypeMap, K extends keyof T = keyof T> = K e
415
595
  name: K;
416
596
  } : T[K] extends typeof FIELD_TYPEs.dateTime ? DateTimeFieldConfig<T> & {
417
597
  name: K;
598
+ } : T[K] extends typeof FIELD_TYPEs.time ? TimeFieldConfig<T> & {
599
+ name: K;
600
+ } : T[K] extends typeof FIELD_TYPEs.dateRange ? DateRangeFieldConfig<T> & {
601
+ name: K;
418
602
  } : T[K] extends typeof FIELD_TYPEs.toggleButton ? ToggleButtonFieldConfig<T> & {
419
603
  name: K;
420
604
  } : T[K] extends typeof FIELD_TYPEs.autocomplete ? AutocompleteFieldConfig<T> & {