@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
@@ -1,20 +1,27 @@
1
1
  import {
2
2
  MuiXDatePicker_default
3
- } from "./chunk-EEH7HACG.mjs";
3
+ } from "./chunk-XAJAMVAG.mjs";
4
4
  import {
5
5
  Explanation_default,
6
6
  getFieldExplanation,
7
7
  mergeFieldSx
8
- } from "./chunk-UTVSYS6S.mjs";
8
+ } from "./chunk-FNSIQ2B7.mjs";
9
+ import "./chunk-SMD7OEUW.mjs";
10
+ import "./chunk-PL55YKT4.mjs";
11
+ import "./chunk-3DQINB57.mjs";
12
+ import "./chunk-3VUAM2GY.mjs";
13
+ import "./chunk-VYD3PDBB.mjs";
9
14
  import "./chunk-MDAUF7IL.mjs";
10
- import "./chunk-JIU5GVM7.mjs";
15
+ import "./chunk-ZVFYOXDE.mjs";
16
+ import "./chunk-D4XPNSSI.mjs";
11
17
  import "./chunk-4Q54P737.mjs";
12
18
  import "./chunk-OP6LKXPA.mjs";
13
- import "./chunk-ZVFYOXDE.mjs";
14
19
  import {
15
- default as default2,
20
+ default as default2
21
+ } from "./chunk-PNSJC6PC.mjs";
22
+ import {
16
23
  mergeSx
17
- } from "./chunk-S6EZVRZC.mjs";
24
+ } from "./chunk-AFLEG5ZC.mjs";
18
25
  import "./chunk-FJ6ZGZIA.mjs";
19
26
 
20
27
  // src/components/compound/UseForm/src/Fields/DateField.tsx
@@ -26,6 +33,8 @@ var DateField = ({ field }) => {
26
33
  const {
27
34
  name,
28
35
  label,
36
+ required,
37
+ disabled,
29
38
  sx,
30
39
  size,
31
40
  slotProps,
@@ -45,6 +54,7 @@ var DateField = ({ field }) => {
45
54
  {
46
55
  ...slotProps,
47
56
  label,
57
+ disabled,
48
58
  value: value ? dayjs(value) : null,
49
59
  onChange: (d) => {
50
60
  if (!d) {
@@ -60,6 +70,8 @@ var DateField = ({ field }) => {
60
70
  ...slotProps?.slotProps,
61
71
  textField: {
62
72
  ...slotProps?.slotProps?.textField,
73
+ required,
74
+ disabled,
63
75
  error: !!error,
64
76
  helperText: error ? errorMsg || error.message : void 0
65
77
  },
@@ -79,4 +91,4 @@ export {
79
91
  DateField,
80
92
  DateField_default as default
81
93
  };
82
- //# sourceMappingURL=DateField-ZYMZFHL4.mjs.map
94
+ //# sourceMappingURL=DateField-CDJ6W6XF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/compound/UseForm/src/Fields/DateField.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport dayjs from 'dayjs';\nimport { Box } from '@/ele/Box';\nimport { MuiXDatePicker } from '@/ele/DatePicker';\nimport { FieldConfig, FormTypeMap, InferFormDataType } from '../_utils';\nimport { FIELD_TYPEs } from '../_utils/constants';\nimport Explanation from './Explanation';\nimport { getFieldExplanation, mergeFieldSx } from '../_utils/helpers';\nimport { mergeSx } from '@/_utils/_func';\n\ninterface DateFieldProps<T extends FormTypeMap = FormTypeMap> {\n field: Extract<FieldConfig<T>, { type: typeof FIELD_TYPEs.date }>;\n}\n\nexport const DateField = <T extends FormTypeMap = FormTypeMap>({ field }: DateFieldProps<T>) => {\n const { control, getValues } = useFormContext();\n const {\n name,\n label,\n required,\n disabled,\n sx,\n size,\n slotProps,\n errorMsg,\n defaultValue,\n } = field;\n\n const defaultVal = defaultValue as string | Date | undefined;\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultVal ?? null}\n render={({ field: { onChange, value }, fieldState: { error } }) => (\n <Box sx={mergeSx({ display: 'flex', alignItems: 'flex-start', gap: 1 }, mergeFieldSx(size, sx))}>\n <MuiXDatePicker\n {...slotProps}\n label={label}\n disabled={disabled}\n value={value ? dayjs(value) : null}\n onChange={(d) => {\n if (!d) {\n onChange(null);\n field.onChange?.(null, getValues() as InferFormDataType<T>);\n return;\n }\n const maybeDate = typeof d.toDate === 'function' ? d.toDate() : (d);\n onChange(maybeDate as Date);\n field.onChange?.(maybeDate as Date, getValues() as InferFormDataType<T>);\n }}\n\n slotProps={{\n ...(slotProps?.slotProps),\n textField: {\n ...(slotProps?.slotProps?.textField),\n required,\n disabled,\n error: !!error,\n helperText: error ? (errorMsg || error.message) : undefined,\n },\n openPickerIcon: {\n sx: { fontSize: '1.25rem' }\n }\n }}\n />\n <Explanation alignToInput explanation={getFieldExplanation(field)} />\n </Box>\n )}\n />\n );\n};\n\nexport default DateField;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY,sBAAsB;AAC3C,OAAO,WAAW;AAmCV,SACE,KADF;AAtBD,IAAM,YAAY,CAAsC,EAAE,MAAM,MAAyB;AAC9F,QAAM,EAAE,SAAS,UAAU,IAAI,eAAe;AAC9C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,aAAa;AAEnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAc,cAAc;AAAA,MAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D,qBAACA,UAAA,EAAI,IAAI,QAAQ,EAAE,SAAS,QAAQ,YAAY,cAAc,KAAK,EAAE,GAAG,aAAa,MAAM,EAAE,CAAC,GAC5F;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACJ;AAAA,YACA;AAAA,YACA,OAAO,QAAQ,MAAM,KAAK,IAAI;AAAA,YAC9B,UAAU,CAAC,MAAM;AACf,kBAAI,CAAC,GAAG;AACN,yBAAS,IAAI;AACb,sBAAM,WAAW,MAAM,UAAU,CAAyB;AAC1D;AAAA,cACF;AACA,oBAAM,YAAY,OAAO,EAAE,WAAW,aAAa,EAAE,OAAO,IAAK;AACjE,uBAAS,SAAiB;AAC1B,oBAAM,WAAW,WAAmB,UAAU,CAAyB;AAAA,YACzE;AAAA,YAEA,WAAW;AAAA,cACT,GAAI,WAAW;AAAA,cACf,WAAW;AAAA,gBACT,GAAI,WAAW,WAAW;AAAA,gBAC1B;AAAA,gBACA;AAAA,gBACA,OAAO,CAAC,CAAC;AAAA,gBACT,YAAY,QAAS,YAAY,MAAM,UAAW;AAAA,cACpD;AAAA,cACA,gBAAgB;AAAA,gBACd,IAAI,EAAE,UAAU,UAAU;AAAA,cAC5B;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,uBAAY,cAAY,MAAC,aAAa,oBAAoB,KAAK,GAAG;AAAA,SACrE;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,oBAAQ;","names":["default"]}
@@ -0,0 +1,118 @@
1
+ import {
2
+ MuiXDateRangePicker_default
3
+ } from "./chunk-XAJAMVAG.mjs";
4
+ import {
5
+ Explanation_default,
6
+ getFieldExplanation,
7
+ mergeFieldSx
8
+ } from "./chunk-FNSIQ2B7.mjs";
9
+ import "./chunk-SMD7OEUW.mjs";
10
+ import "./chunk-PL55YKT4.mjs";
11
+ import "./chunk-3DQINB57.mjs";
12
+ import "./chunk-3VUAM2GY.mjs";
13
+ import {
14
+ default2 as default3
15
+ } from "./chunk-T4X375IG.mjs";
16
+ import "./chunk-VYD3PDBB.mjs";
17
+ import "./chunk-MDAUF7IL.mjs";
18
+ import "./chunk-ZVFYOXDE.mjs";
19
+ import "./chunk-D4XPNSSI.mjs";
20
+ import "./chunk-4Q54P737.mjs";
21
+ import "./chunk-OP6LKXPA.mjs";
22
+ import {
23
+ default as default2
24
+ } from "./chunk-PNSJC6PC.mjs";
25
+ import {
26
+ mergeSx
27
+ } from "./chunk-AFLEG5ZC.mjs";
28
+ import "./chunk-FJ6ZGZIA.mjs";
29
+
30
+ // src/components/compound/UseForm/src/Fields/DateRangeField.tsx
31
+ import { Controller, useFormContext } from "react-hook-form";
32
+ import { jsx, jsxs } from "react/jsx-runtime";
33
+ var EMPTY_RANGE = { start: null, end: null };
34
+ var DateRangeField = ({ field }) => {
35
+ const { control, getValues } = useFormContext();
36
+ const {
37
+ name,
38
+ label,
39
+ required,
40
+ disabled,
41
+ sx,
42
+ size,
43
+ slotProps,
44
+ errorMsg,
45
+ defaultValue
46
+ } = field;
47
+ const rangeSlotProps = slotProps;
48
+ const defaultVal = defaultValue ?? EMPTY_RANGE;
49
+ const startLabel = rangeSlotProps?.startLabel ?? (label ? `${label} (start)` : "Start");
50
+ const endLabel = rangeSlotProps?.endLabel ?? (label ? `${label} (end)` : "End");
51
+ return /* @__PURE__ */ jsx(
52
+ Controller,
53
+ {
54
+ control,
55
+ name,
56
+ defaultValue: defaultVal,
57
+ render: ({ field: { onChange, value }, fieldState: { error } }) => {
58
+ const current = value && typeof value === "object" ? { start: value.start ?? null, end: value.end ?? null } : EMPTY_RANGE;
59
+ return /* @__PURE__ */ jsxs(default2, { sx: mergeSx({ display: "flex", alignItems: "flex-start", gap: 1 }, mergeFieldSx(size, sx)), children: [
60
+ /* @__PURE__ */ jsxs(default2, { sx: { display: "flex", flexDirection: "column", gap: 0.5, flex: 1 }, children: [
61
+ /* @__PURE__ */ jsx(
62
+ MuiXDateRangePicker_default,
63
+ {
64
+ value: current,
65
+ disabled,
66
+ label: rangeSlotProps?.label ?? label,
67
+ startLabel,
68
+ endLabel,
69
+ showEndorsement: rangeSlotProps?.showEndorsement,
70
+ endorsement: rangeSlotProps?.endorsement,
71
+ endorsementUnit: rangeSlotProps?.endorsementUnit,
72
+ slotProps: {
73
+ start: {
74
+ ...rangeSlotProps?.start,
75
+ slotProps: {
76
+ ...rangeSlotProps?.start?.slotProps,
77
+ textField: {
78
+ ...rangeSlotProps?.start?.slotProps?.textField,
79
+ required,
80
+ disabled,
81
+ error: !!error
82
+ }
83
+ }
84
+ },
85
+ end: {
86
+ ...rangeSlotProps?.end,
87
+ slotProps: {
88
+ ...rangeSlotProps?.end?.slotProps,
89
+ textField: {
90
+ ...rangeSlotProps?.end?.slotProps?.textField,
91
+ required,
92
+ disabled,
93
+ error: !!error
94
+ }
95
+ }
96
+ }
97
+ },
98
+ onChange: (next) => {
99
+ onChange(next);
100
+ field.onChange?.(next, getValues());
101
+ },
102
+ sx: rangeSlotProps?.sx
103
+ }
104
+ ),
105
+ error ? /* @__PURE__ */ jsx(default3, { error: true, children: errorMsg || error.message }) : null
106
+ ] }),
107
+ /* @__PURE__ */ jsx(Explanation_default, { alignToInput: true, explanation: getFieldExplanation(field) })
108
+ ] });
109
+ }
110
+ }
111
+ );
112
+ };
113
+ var DateRangeField_default = DateRangeField;
114
+ export {
115
+ DateRangeField,
116
+ DateRangeField_default as default
117
+ };
118
+ //# sourceMappingURL=DateRangeField-ZWSFT5KV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/compound/UseForm/src/Fields/DateRangeField.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport { Box } from '@/ele/Box';\nimport { MuiXDateRangePicker, type DateRangeValue } from '@/ele/DatePicker';\nimport { FieldConfig, FormTypeMap, InferFormDataType } from '../_utils';\nimport { FIELD_TYPEs } from '../_utils/constants';\nimport Explanation from './Explanation';\nimport { getFieldExplanation, mergeFieldSx } from '../_utils/helpers';\nimport { mergeSx } from '@/_utils/_func';\nimport { FormHelperText } from '@/ele/Form';\n\ninterface DateRangeFieldProps<T extends FormTypeMap = FormTypeMap> {\n field: Extract<FieldConfig<T>, { type: typeof FIELD_TYPEs.dateRange }>;\n}\n\nconst EMPTY_RANGE: DateRangeValue = { start: null, end: null };\n\nexport const DateRangeField = <T extends FormTypeMap = FormTypeMap>({ field }: DateRangeFieldProps<T>) => {\n const { control, getValues } = useFormContext();\n const {\n name,\n label,\n required,\n disabled,\n sx,\n size,\n slotProps,\n errorMsg,\n defaultValue,\n } = field;\n\n const rangeSlotProps = slotProps as import('../_utils/slotProps').DateRangeSlotProps | undefined;\n const defaultVal = (defaultValue as DateRangeValue | undefined) ?? EMPTY_RANGE;\n const startLabel = rangeSlotProps?.startLabel ?? (label ? `${label} (start)` : 'Start');\n const endLabel = rangeSlotProps?.endLabel ?? (label ? `${label} (end)` : 'End');\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultVal}\n render={({ field: { onChange, value }, fieldState: { error } }) => {\n const current: DateRangeValue = value && typeof value === 'object'\n ? { start: value.start ?? null, end: value.end ?? null }\n : EMPTY_RANGE;\n\n return (\n <Box sx={mergeSx({ display: 'flex', alignItems: 'flex-start', gap: 1 }, mergeFieldSx(size, sx))}>\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 0.5, flex: 1 }}>\n <MuiXDateRangePicker\n value={current}\n disabled={disabled}\n label={rangeSlotProps?.label ?? label}\n startLabel={startLabel}\n endLabel={endLabel}\n showEndorsement={rangeSlotProps?.showEndorsement}\n endorsement={rangeSlotProps?.endorsement}\n endorsementUnit={rangeSlotProps?.endorsementUnit}\n slotProps={{\n start: {\n ...rangeSlotProps?.start,\n slotProps: {\n ...(rangeSlotProps?.start?.slotProps),\n textField: {\n ...(rangeSlotProps?.start?.slotProps as { textField?: object } | undefined)?.textField,\n required,\n disabled,\n error: !!error,\n },\n },\n },\n end: {\n ...rangeSlotProps?.end,\n slotProps: {\n ...(rangeSlotProps?.end?.slotProps),\n textField: {\n ...(rangeSlotProps?.end?.slotProps as { textField?: object } | undefined)?.textField,\n required,\n disabled,\n error: !!error,\n },\n },\n },\n }}\n onChange={(next) => {\n onChange(next);\n field.onChange?.(next, getValues() as InferFormDataType<T>);\n }}\n sx={rangeSlotProps?.sx}\n />\n {error ? (\n <FormHelperText error>{errorMsg || error.message}</FormHelperText>\n ) : null}\n </Box>\n <Explanation alignToInput explanation={getFieldExplanation(field)} />\n </Box>\n );\n }}\n />\n );\n};\n\nexport default DateRangeField;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY,sBAAsB;AA+C/B,SACE,KADF;AAjCZ,IAAM,cAA8B,EAAE,OAAO,MAAM,KAAK,KAAK;AAEtD,IAAM,iBAAiB,CAAsC,EAAE,MAAM,MAA8B;AACxG,QAAM,EAAE,SAAS,UAAU,IAAI,eAAe;AAC9C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,iBAAiB;AACvB,QAAM,aAAc,gBAA+C;AACnE,QAAM,aAAa,gBAAgB,eAAe,QAAQ,GAAG,KAAK,aAAa;AAC/E,QAAM,WAAW,gBAAgB,aAAa,QAAQ,GAAG,KAAK,WAAW;AAEzE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM;AACjE,cAAM,UAA0B,SAAS,OAAO,UAAU,WACtD,EAAE,OAAO,MAAM,SAAS,MAAM,KAAK,MAAM,OAAO,KAAK,IACrD;AAEJ,eACE,qBAACA,UAAA,EAAI,IAAI,QAAQ,EAAE,SAAS,QAAQ,YAAY,cAAc,KAAK,EAAE,GAAG,aAAa,MAAM,EAAE,CAAC,GAC5F;AAAA,+BAACA,UAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,KAAK,MAAM,EAAE,GACrE;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,gBACP;AAAA,gBACA,OAAO,gBAAgB,SAAS;AAAA,gBAChC;AAAA,gBACA;AAAA,gBACA,iBAAiB,gBAAgB;AAAA,gBACjC,aAAa,gBAAgB;AAAA,gBAC7B,iBAAiB,gBAAgB;AAAA,gBACjC,WAAW;AAAA,kBACT,OAAO;AAAA,oBACL,GAAG,gBAAgB;AAAA,oBACnB,WAAW;AAAA,sBACT,GAAI,gBAAgB,OAAO;AAAA,sBAC3B,WAAW;AAAA,wBACT,GAAI,gBAAgB,OAAO,WAAkD;AAAA,wBAC7E;AAAA,wBACA;AAAA,wBACA,OAAO,CAAC,CAAC;AAAA,sBACX;AAAA,oBACF;AAAA,kBACF;AAAA,kBACA,KAAK;AAAA,oBACH,GAAG,gBAAgB;AAAA,oBACnB,WAAW;AAAA,sBACT,GAAI,gBAAgB,KAAK;AAAA,sBACzB,WAAW;AAAA,wBACT,GAAI,gBAAgB,KAAK,WAAkD;AAAA,wBAC3E;AAAA,wBACA;AAAA,wBACA,OAAO,CAAC,CAAC;AAAA,sBACX;AAAA,oBACF;AAAA,kBACF;AAAA,gBACF;AAAA,gBACA,UAAU,CAAC,SAAS;AAClB,2BAAS,IAAI;AACb,wBAAM,WAAW,MAAM,UAAU,CAAyB;AAAA,gBAC5D;AAAA,gBACA,IAAI,gBAAgB;AAAA;AAAA,YACtB;AAAA,YACC,QACC,oBAACA,UAAA,EAAe,OAAK,MAAE,sBAAY,MAAM,SAAQ,IAC/C;AAAA,aACN;AAAA,UACA,oBAAC,uBAAY,cAAY,MAAC,aAAa,oBAAoB,KAAK,GAAG;AAAA,WACrE;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,yBAAQ;","names":["default"]}
@@ -1,20 +1,27 @@
1
1
  import {
2
2
  MuiXDateTimePicker_default
3
- } from "./chunk-EEH7HACG.mjs";
3
+ } from "./chunk-XAJAMVAG.mjs";
4
4
  import {
5
5
  Explanation_default,
6
6
  getFieldExplanation,
7
7
  mergeFieldSx
8
- } from "./chunk-UTVSYS6S.mjs";
8
+ } from "./chunk-FNSIQ2B7.mjs";
9
+ import "./chunk-SMD7OEUW.mjs";
10
+ import "./chunk-PL55YKT4.mjs";
11
+ import "./chunk-3DQINB57.mjs";
12
+ import "./chunk-3VUAM2GY.mjs";
13
+ import "./chunk-VYD3PDBB.mjs";
9
14
  import "./chunk-MDAUF7IL.mjs";
10
- import "./chunk-JIU5GVM7.mjs";
15
+ import "./chunk-ZVFYOXDE.mjs";
16
+ import "./chunk-D4XPNSSI.mjs";
11
17
  import "./chunk-4Q54P737.mjs";
12
18
  import "./chunk-OP6LKXPA.mjs";
13
- import "./chunk-ZVFYOXDE.mjs";
14
19
  import {
15
- default as default2,
20
+ default as default2
21
+ } from "./chunk-PNSJC6PC.mjs";
22
+ import {
16
23
  mergeSx
17
- } from "./chunk-S6EZVRZC.mjs";
24
+ } from "./chunk-AFLEG5ZC.mjs";
18
25
  import "./chunk-FJ6ZGZIA.mjs";
19
26
 
20
27
  // src/components/compound/UseForm/src/Fields/DateTimeField.tsx
@@ -22,8 +29,18 @@ import { Controller, useFormContext } from "react-hook-form";
22
29
  import dayjs from "dayjs";
23
30
  import { jsx, jsxs } from "react/jsx-runtime";
24
31
  var DateTimeField = ({ field }) => {
25
- const { control } = useFormContext();
26
- const { name, label, sx, size, errorMsg, defaultValue, slotProps } = field;
32
+ const { control, getValues } = useFormContext();
33
+ const {
34
+ name,
35
+ label,
36
+ required,
37
+ disabled,
38
+ sx,
39
+ size,
40
+ errorMsg,
41
+ defaultValue,
42
+ slotProps
43
+ } = field;
27
44
  return /* @__PURE__ */ jsx(
28
45
  Controller,
29
46
  {
@@ -36,16 +53,24 @@ var DateTimeField = ({ field }) => {
36
53
  {
37
54
  ...slotProps,
38
55
  label,
56
+ disabled,
39
57
  value: value ? dayjs(value) : null,
40
58
  onChange: (d) => {
41
- if (!d) return onChange(null);
59
+ if (!d) {
60
+ onChange(null);
61
+ field.onChange?.(null, getValues());
62
+ return;
63
+ }
42
64
  const maybeDate = typeof d.toDate === "function" ? d.toDate() : d;
43
65
  onChange(maybeDate);
66
+ field.onChange?.(maybeDate, getValues());
44
67
  },
45
68
  slotProps: {
46
- ...slotProps,
69
+ ...slotProps?.slotProps,
47
70
  textField: {
48
71
  ...slotProps?.slotProps?.textField,
72
+ required,
73
+ disabled,
49
74
  error: !!error,
50
75
  helperText: error ? errorMsg || error.message : void 0
51
76
  }
@@ -62,4 +87,4 @@ export {
62
87
  DateTimeField,
63
88
  DateTimeField_default as default
64
89
  };
65
- //# sourceMappingURL=DateTimeField-TPTJ7YIZ.mjs.map
90
+ //# sourceMappingURL=DateTimeField-SFAF4I6A.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/compound/UseForm/src/Fields/DateTimeField.tsx"],"sourcesContent":["import { Controller, useFormContext } from 'react-hook-form'\nimport dayjs from 'dayjs'\nimport { Box } from '@/ele/Box'\nimport { MuiXDateTimePicker } from '@/ele/DatePicker'\nimport { FieldConfig, FormTypeMap, InferFormDataType } from '../_utils'\nimport { FIELD_TYPEs } from '../_utils/constants'\nimport Explanation from './Explanation'\nimport { getFieldExplanation, mergeFieldSx } from '../_utils/helpers';\nimport { mergeSx } from '@/_utils/_func'\n\ninterface DateTimeFieldProps<T extends FormTypeMap = FormTypeMap> {\n field: Extract<FieldConfig<T>, { type: typeof FIELD_TYPEs.dateTime }>;\n}\n\nexport const DateTimeField = <T extends FormTypeMap = FormTypeMap>({ field }: DateTimeFieldProps<T>) => {\n const { control, getValues } = useFormContext()\n const {\n name,\n label,\n required,\n disabled,\n sx,\n size,\n errorMsg,\n defaultValue,\n slotProps,\n } = field\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field: { onChange, value }, fieldState: { error } }) => (\n <Box sx={mergeSx({ display: 'flex', alignItems: 'flex-start', gap: 1 }, mergeFieldSx(size, sx))}>\n <MuiXDateTimePicker\n {...(slotProps)}\n label={label}\n disabled={disabled}\n value={value ? dayjs(value) : null}\n onChange={(d) => {\n if (!d) {\n onChange(null)\n field.onChange?.(null, getValues() as InferFormDataType<T>)\n return\n }\n const maybeDate = typeof d.toDate === 'function' ? d.toDate() : (d)\n onChange(maybeDate)\n field.onChange?.(maybeDate as Date, getValues() as InferFormDataType<T>)\n }}\n slotProps={{\n ...(slotProps?.slotProps),\n textField: {\n ...((slotProps?.slotProps)?.textField),\n required,\n disabled,\n error: !!error,\n helperText: error ? (errorMsg || error.message) : undefined,\n }\n }}\n />\n <Explanation alignToInput explanation={getFieldExplanation(field)} />\n </Box>\n )}\n />\n )\n}\n\nexport default DateTimeField\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAAY,sBAAsB;AAC3C,OAAO,WAAW;AAiCV,SACE,KADF;AApBD,IAAM,gBAAgB,CAAsC,EAAE,MAAM,MAA6B;AACtG,QAAM,EAAE,SAAS,UAAU,IAAI,eAAe;AAC9C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D,qBAACA,UAAA,EAAI,IAAI,QAAQ,EAAE,SAAS,QAAQ,YAAY,cAAc,KAAK,EAAE,GAAG,aAAa,MAAM,EAAE,CAAC,GAC5F;AAAA;AAAA,UAAC;AAAA;AAAA,YACE,GAAI;AAAA,YACL;AAAA,YACA;AAAA,YACA,OAAO,QAAQ,MAAM,KAAK,IAAI;AAAA,YAC9B,UAAU,CAAC,MAAM;AACf,kBAAI,CAAC,GAAG;AACN,yBAAS,IAAI;AACb,sBAAM,WAAW,MAAM,UAAU,CAAyB;AAC1D;AAAA,cACF;AACA,oBAAM,YAAY,OAAO,EAAE,WAAW,aAAa,EAAE,OAAO,IAAK;AACjE,uBAAS,SAAS;AAClB,oBAAM,WAAW,WAAmB,UAAU,CAAyB;AAAA,YACzE;AAAA,YACA,WAAW;AAAA,cACT,GAAI,WAAW;AAAA,cACf,WAAW;AAAA,gBACT,GAAK,WAAW,WAAY;AAAA,gBAC5B;AAAA,gBACA;AAAA,gBACA,OAAO,CAAC,CAAC;AAAA,gBACT,YAAY,QAAS,YAAY,MAAM,UAAW;AAAA,cACpD;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QACA,oBAAC,uBAAY,cAAY,MAAC,aAAa,oBAAoB,KAAK,GAAG;AAAA,SACrE;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,wBAAQ;","names":["default"]}
@@ -0,0 +1,101 @@
1
+ import {
2
+ FileUpload
3
+ } from "./chunk-4SSJY32J.mjs";
4
+ import {
5
+ FieldHelperText
6
+ } from "./chunk-MI64T62E.mjs";
7
+ import {
8
+ Explanation_default,
9
+ getFieldExplanation
10
+ } from "./chunk-FNSIQ2B7.mjs";
11
+ import {
12
+ MuiFormLabel,
13
+ default as default3
14
+ } from "./chunk-T4X375IG.mjs";
15
+ import "./chunk-WYYP3Y34.mjs";
16
+ import "./chunk-MDAUF7IL.mjs";
17
+ import "./chunk-ZVFYOXDE.mjs";
18
+ import "./chunk-D4XPNSSI.mjs";
19
+ import "./chunk-4Q54P737.mjs";
20
+ import "./chunk-OP6LKXPA.mjs";
21
+ import "./chunk-4RPFRNXG.mjs";
22
+ import {
23
+ default as default2
24
+ } from "./chunk-PNSJC6PC.mjs";
25
+ import "./chunk-AFLEG5ZC.mjs";
26
+ import "./chunk-FJ6ZGZIA.mjs";
27
+
28
+ // src/components/compound/UseForm/src/Fields/FileUploadField.tsx
29
+ import { useFormContext, Controller } from "react-hook-form";
30
+ import { jsx, jsxs } from "react/jsx-runtime";
31
+ function acceptToInputAccept(accept) {
32
+ if (!accept) return void 0;
33
+ if (typeof accept === "string") return accept;
34
+ const parts = [];
35
+ Object.entries(accept).forEach(([mime, exts]) => {
36
+ parts.push(mime);
37
+ if (Array.isArray(exts)) parts.push(...exts);
38
+ });
39
+ return parts.length ? parts.join(",") : void 0;
40
+ }
41
+ function mapDropzoneType(dropzoneType) {
42
+ if (dropzoneType === "button") return "button";
43
+ return "dropzone";
44
+ }
45
+ var FileUploadField = ({
46
+ field
47
+ }) => {
48
+ const { control } = useFormContext();
49
+ const { name, label, required, slotProps = {}, errorMsg } = field;
50
+ const {
51
+ maxFiles = 1,
52
+ accept,
53
+ dropzoneType,
54
+ itemVariant
55
+ } = slotProps;
56
+ const variant = mapDropzoneType(dropzoneType);
57
+ const inputAccept = acceptToInputAccept(accept);
58
+ const multiple = maxFiles !== 1;
59
+ return /* @__PURE__ */ jsx(
60
+ Controller,
61
+ {
62
+ control,
63
+ name,
64
+ render: ({ field: { value, onChange }, fieldState: { error } }) => {
65
+ const files = value ?? [];
66
+ return /* @__PURE__ */ jsx(default2, { children: /* @__PURE__ */ jsxs(default3, { error: !!error, fullWidth: true, required, children: [
67
+ /* @__PURE__ */ jsxs(
68
+ MuiFormLabel,
69
+ {
70
+ sx: { display: "flex", alignItems: "center", gap: 1, mb: 1 },
71
+ required,
72
+ children: [
73
+ label,
74
+ getFieldExplanation(field) ? /* @__PURE__ */ jsx(Explanation_default, { explanation: getFieldExplanation(field) }) : null
75
+ ]
76
+ }
77
+ ),
78
+ /* @__PURE__ */ jsx(
79
+ FileUpload,
80
+ {
81
+ value: files,
82
+ onChange,
83
+ maxFiles,
84
+ multiple,
85
+ accept: inputAccept,
86
+ variant,
87
+ itemVariant: itemVariant ?? "row",
88
+ error: !!error
89
+ }
90
+ ),
91
+ /* @__PURE__ */ jsx(FieldHelperText, { error, errorMsg })
92
+ ] }) });
93
+ }
94
+ }
95
+ );
96
+ };
97
+ export {
98
+ FileUploadField,
99
+ acceptToInputAccept
100
+ };
101
+ //# sourceMappingURL=FileUploadField-TSNCSLXX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/compound/UseForm/src/Fields/FileUploadField.tsx"],"sourcesContent":["import { useFormContext, Controller } from 'react-hook-form'\nimport { Box } from '@/ele/Box'\nimport { FormControl, FormLabel } from '@/ele/Form'\nimport {\n FileUpload,\n type FileUploadItem,\n type FileUploadProps,\n} from '@/ele/FileUpload'\nimport { FieldHelperText } from '../_utils/helperText'\nimport { FieldConfig, FormTypeMap, FIELD_TYPEs } from '../_utils'\nimport Explanation from './Explanation'\nimport {\n FileUploadSlotProps,\n type FileAcceptMap,\n} from '../_utils/slotProps'\nimport { getFieldExplanation } from '../_utils/helpers'\n\ninterface FileUploadFieldProps<T extends FormTypeMap> {\n field: Extract<FieldConfig<T>, { type: typeof FIELD_TYPEs.fileUpload }>\n}\n\n/** Convert legacy dropzone accept map or string → HTML accept. */\nexport function acceptToInputAccept(\n accept: FileUploadSlotProps['accept'],\n): string | undefined {\n if (!accept) return undefined\n if (typeof accept === 'string') return accept\n const parts: string[] = []\n Object.entries(accept as FileAcceptMap).forEach(([mime, exts]) => {\n parts.push(mime)\n if (Array.isArray(exts)) parts.push(...exts)\n })\n return parts.length ? parts.join(',') : undefined\n}\n\nfunction mapDropzoneType(\n dropzoneType: FileUploadSlotProps['dropzoneType'],\n): NonNullable<FileUploadProps['variant']> {\n if (dropzoneType === 'button') return 'button'\n return 'dropzone'\n}\n\nexport const FileUploadField = <T extends FormTypeMap>({\n field,\n}: FileUploadFieldProps<T>) => {\n const { control } = useFormContext()\n const { name, label, required, slotProps = {}, errorMsg } = field\n\n const {\n maxFiles = 1,\n accept,\n dropzoneType,\n itemVariant,\n } = slotProps as FileUploadSlotProps\n\n const variant = mapDropzoneType(dropzoneType)\n const inputAccept = acceptToInputAccept(accept)\n const multiple = maxFiles !== 1\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { value, onChange }, fieldState: { error } }) => {\n const files = (value as FileUploadItem[] | null | undefined) ?? []\n\n return (\n <Box>\n <FormControl error={!!error} fullWidth required={required}>\n <FormLabel\n sx={{ display: 'flex', alignItems: 'center', gap: 1, mb: 1 }}\n required={required}\n >\n {label}\n {getFieldExplanation(field) ? (\n <Explanation explanation={getFieldExplanation(field)} />\n ) : null}\n </FormLabel>\n <FileUpload\n value={files}\n onChange={onChange}\n maxFiles={maxFiles}\n multiple={multiple}\n accept={inputAccept}\n variant={variant}\n itemVariant={itemVariant ?? 'row'}\n error={!!error}\n />\n <FieldHelperText error={error} errorMsg={errorMsg} />\n </FormControl>\n </Box>\n )\n }}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB,kBAAkB;AAqE7B,SAMI,KANJ;AA/CP,SAAS,oBACd,QACoB;AACpB,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,OAAO,WAAW,SAAU,QAAO;AACvC,QAAM,QAAkB,CAAC;AACzB,SAAO,QAAQ,MAAuB,EAAE,QAAQ,CAAC,CAAC,MAAM,IAAI,MAAM;AAChE,UAAM,KAAK,IAAI;AACf,QAAI,MAAM,QAAQ,IAAI,EAAG,OAAM,KAAK,GAAG,IAAI;AAAA,EAC7C,CAAC;AACD,SAAO,MAAM,SAAS,MAAM,KAAK,GAAG,IAAI;AAC1C;AAEA,SAAS,gBACP,cACyC;AACzC,MAAI,iBAAiB,SAAU,QAAO;AACtC,SAAO;AACT;AAEO,IAAM,kBAAkB,CAAwB;AAAA,EACrD;AACF,MAA+B;AAC7B,QAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,QAAM,EAAE,MAAM,OAAO,UAAU,YAAY,CAAC,GAAG,SAAS,IAAI;AAE5D,QAAM;AAAA,IACJ,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,UAAU,gBAAgB,YAAY;AAC5C,QAAM,cAAc,oBAAoB,MAAM;AAC9C,QAAM,WAAW,aAAa;AAE9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,SAAS,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM;AACjE,cAAM,QAAS,SAAiD,CAAC;AAEjE,eACE,oBAACA,UAAA,EACC,+BAACA,UAAA,EAAY,OAAO,CAAC,CAAC,OAAO,WAAS,MAAC,UACrC;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,GAAG,IAAI,EAAE;AAAA,cAC3D;AAAA,cAEC;AAAA;AAAA,gBACA,oBAAoB,KAAK,IACxB,oBAAC,uBAAY,aAAa,oBAAoB,KAAK,GAAG,IACpD;AAAA;AAAA;AAAA,UACN;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO;AAAA,cACP;AAAA,cACA;AAAA,cACA;AAAA,cACA,QAAQ;AAAA,cACR;AAAA,cACA,aAAa,eAAe;AAAA,cAC5B,OAAO,CAAC,CAAC;AAAA;AAAA,UACX;AAAA,UACA,oBAAC,mBAAgB,OAAc,UAAoB;AAAA,WACrD,GACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;","names":["default"]}
@@ -1,26 +1,27 @@
1
1
  "use client";
2
2
  import {
3
3
  JsonEditor_default
4
- } from "./chunk-NJYNJLT7.mjs";
4
+ } from "./chunk-SWFB3A3G.mjs";
5
5
  import {
6
6
  FieldHelperText
7
7
  } from "./chunk-MI64T62E.mjs";
8
8
  import {
9
9
  Explanation_default,
10
10
  getFieldExplanation
11
- } from "./chunk-UTVSYS6S.mjs";
11
+ } from "./chunk-FNSIQ2B7.mjs";
12
12
  import {
13
13
  MuiFormLabel,
14
14
  default as default3
15
15
  } from "./chunk-T4X375IG.mjs";
16
16
  import "./chunk-MDAUF7IL.mjs";
17
- import "./chunk-JIU5GVM7.mjs";
17
+ import "./chunk-ZVFYOXDE.mjs";
18
+ import "./chunk-D4XPNSSI.mjs";
18
19
  import "./chunk-4Q54P737.mjs";
19
20
  import "./chunk-OP6LKXPA.mjs";
20
- import "./chunk-ZVFYOXDE.mjs";
21
21
  import {
22
22
  default as default2
23
- } from "./chunk-S6EZVRZC.mjs";
23
+ } from "./chunk-PNSJC6PC.mjs";
24
+ import "./chunk-AFLEG5ZC.mjs";
24
25
  import "./chunk-FJ6ZGZIA.mjs";
25
26
 
26
27
  // src/components/compound/UseForm/src/Fields/JSONEditorField.tsx
@@ -61,4 +62,4 @@ var JSONEditorField = ({ field }) => {
61
62
  export {
62
63
  JSONEditorField
63
64
  };
64
- //# sourceMappingURL=JSONEditorField-TMRWGXVR.mjs.map
65
+ //# sourceMappingURL=JSONEditorField-3KXC2GOG.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/compound/UseForm/src/Fields/JSONEditorField.tsx"],"sourcesContent":["'use client'\nimport { Controller, useFormContext } from 'react-hook-form'\nimport { Box } from '@/ele/Box'\nimport { FormControl, FormLabel } from '@/ele/Form'\nimport { FieldHelperText } from '../_utils/helperText' \nimport { JsonEditor } from '@/ele/JsonEditor'\nimport Explanation from './Explanation'\nimport { FieldConfig, FormTypeMap, FIELD_TYPEs } from '../_utils';\nimport { getFieldExplanation } from '../_utils/helpers';\n\ninterface JSONEditorFieldProps<T extends FormTypeMap> {\n field: Extract<FieldConfig<T>, { type: typeof FIELD_TYPEs.json }>;\n}\n\nexport const JSONEditorField= <T extends FormTypeMap = FormTypeMap>({ field }: JSONEditorFieldProps<T>) => {\n const { control } = useFormContext()\n const { name, label, required, errorMsg } = field\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { value, onChange }, fieldState: { error } }) => {\n // slot props remain available for other customization; helperText no longer used\n\n return (\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <FormControl error={!!error} required={required} sx={{ width: '-webkit-fill-available', gap: 1 }}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <FormLabel component=\"legend\">{label}</FormLabel>\n {(getFieldExplanation(field)) && <Box sx={{ display: 'inline-flex' }}><Explanation explanation={getFieldExplanation(field)} /></Box>}\n </Box>\n <JsonEditor\n error={!!error}\n data={value}\n setData={(v: unknown) => {\n if (typeof v === 'function') return onChange(value)\n onChange(v as Record<string, unknown> | null | undefined)\n }}\n {...(field.slotProps?.editorProps || {})}\n />\n\n <FieldHelperText error={error} errorMsg={errorMsg} helpers={[field.helperText]} />\n </FormControl>\n </Box>\n )\n }}\n />\n )\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,YAAY,sBAAsB;AA2B7B,SACE,KADF;AAdP,IAAM,kBAAiB,CAAsC,EAAE,MAAM,MAA+B;AACzG,QAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,QAAM,EAAE,MAAM,OAAO,UAAU,SAAS,IAAI;AAE5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,SAAS,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM;AAGjE,eACE,oBAACA,UAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,SAAS,GAC/C,+BAACA,UAAA,EAAY,OAAO,CAAC,CAAC,OAAO,UAAoB,IAAI,EAAE,OAAO,0BAA0B,KAAK,EAAE,GAC7F;AAAA,+BAACA,UAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAE,GACvD;AAAA,gCAAC,gBAAU,WAAU,UAAU,iBAAM;AAAA,YACnC,oBAAoB,KAAK,KAAM,oBAACA,UAAA,EAAI,IAAI,EAAE,SAAS,cAAc,GAAG,8BAAC,uBAAY,aAAa,oBAAoB,KAAK,GAAG,GAAE;AAAA,aAChI;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO,CAAC,CAAC;AAAA,cACT,MAAM;AAAA,cACN,SAAS,CAAC,MAAe;AACvB,oBAAI,OAAO,MAAM,WAAY,QAAO,SAAS,KAAK;AAClD,yBAAS,CAA+C;AAAA,cAC1D;AAAA,cACC,GAAI,MAAM,WAAW,eAAe,CAAC;AAAA;AAAA,UACxC;AAAA,UAEA,oBAAC,mBAAgB,OAAc,UAAoB,SAAS,CAAC,MAAM,UAAU,GAAG;AAAA,WAClF,GACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;","names":["default"]}
1
+ {"version":3,"sources":["../src/components/compound/UseForm/src/Fields/JSONEditorField.tsx"],"sourcesContent":["'use client'\nimport { Controller, useFormContext } from 'react-hook-form'\nimport { Box } from '@/ele/Box'\nimport { FormControl, FormLabel } from '@/ele/Form'\nimport { FieldHelperText } from '../_utils/helperText' \nimport { JsonEditor } from '@/ele/JsonEditor'\nimport Explanation from './Explanation'\nimport { FieldConfig, FormTypeMap, FIELD_TYPEs } from '../_utils';\nimport { getFieldExplanation } from '../_utils/helpers';\n\ninterface JSONEditorFieldProps<T extends FormTypeMap> {\n field: Extract<FieldConfig<T>, { type: typeof FIELD_TYPEs.json }>;\n}\n\nexport const JSONEditorField= <T extends FormTypeMap = FormTypeMap>({ field }: JSONEditorFieldProps<T>) => {\n const { control } = useFormContext()\n const { name, label, required, errorMsg } = field\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field: { value, onChange }, fieldState: { error } }) => {\n // slot props remain available for other customization; helperText no longer used\n\n return (\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <FormControl error={!!error} required={required} sx={{ width: '-webkit-fill-available', gap: 1 }}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <FormLabel component=\"legend\">{label}</FormLabel>\n {(getFieldExplanation(field)) && <Box sx={{ display: 'inline-flex' }}><Explanation explanation={getFieldExplanation(field)} /></Box>}\n </Box>\n <JsonEditor\n error={!!error}\n data={value}\n setData={(v: unknown) => {\n if (typeof v === 'function') return onChange(value)\n onChange(v as Record<string, unknown> | null | undefined)\n }}\n {...(field.slotProps?.editorProps || {})}\n />\n\n <FieldHelperText error={error} errorMsg={errorMsg} helpers={[field.helperText]} />\n </FormControl>\n </Box>\n )\n }}\n />\n )\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,YAAY,sBAAsB;AA2B7B,SACE,KADF;AAdP,IAAM,kBAAiB,CAAsC,EAAE,MAAM,MAA+B;AACzG,QAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,QAAM,EAAE,MAAM,OAAO,UAAU,SAAS,IAAI;AAE5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,SAAS,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM;AAGjE,eACE,oBAACA,UAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,SAAS,GAC/C,+BAACA,UAAA,EAAY,OAAO,CAAC,CAAC,OAAO,UAAoB,IAAI,EAAE,OAAO,0BAA0B,KAAK,EAAE,GAC7F;AAAA,+BAACA,UAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAE,GACvD;AAAA,gCAAC,gBAAU,WAAU,UAAU,iBAAM;AAAA,YACnC,oBAAoB,KAAK,KAAM,oBAACA,UAAA,EAAI,IAAI,EAAE,SAAS,cAAc,GAAG,8BAAC,uBAAY,aAAa,oBAAoB,KAAK,GAAG,GAAE;AAAA,aAChI;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO,CAAC,CAAC;AAAA,cACT,MAAM;AAAA,cACN,SAAS,CAAC,MAAe;AACvB,oBAAI,OAAO,MAAM,WAAY,QAAO,SAAS,KAAK;AAClD,yBAAS,CAA+C;AAAA,cAC1D;AAAA,cACC,GAAI,MAAM,WAAW,eAAe,CAAC;AAAA;AAAA,UACxC;AAAA,UAEA,oBAAC,mBAAgB,OAAc,UAAoB,SAAS,CAAC,MAAM,UAAU,GAAG;AAAA,WAClF,GACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;","names":["default"]}
@@ -1,4 +1,7 @@
1
1
  "use client";
2
+ import {
3
+ MuiPaper
4
+ } from "./chunk-3VUAM2GY.mjs";
2
5
  import {
3
6
  DISABLED_GROUP,
4
7
  MY_LOCAL_DISABLE_GROUP,
@@ -6,30 +9,28 @@ import {
6
9
  gitHubPickerRootStyle,
7
10
  useSelector,
8
11
  useStateContext
9
- } from "./chunk-OJV6V7YZ.mjs";
10
- import {
11
- MuiPaper
12
- } from "./chunk-3VUAM2GY.mjs";
12
+ } from "./chunk-VL7V52YD.mjs";
13
13
  import {
14
14
  default2 as default4
15
15
  } from "./chunk-MDAUF7IL.mjs";
16
16
  import "./chunk-QFF3HTHL.mjs";
17
- import {
18
- Button
19
- } from "./chunk-JIU5GVM7.mjs";
20
- import "./chunk-4Q54P737.mjs";
21
- import "./chunk-OP6LKXPA.mjs";
22
17
  import {
23
18
  default26 as default5,
24
19
  default33 as default6,
25
20
  default53 as default7
26
21
  } from "./chunk-ZVFYOXDE.mjs";
22
+ import {
23
+ Button
24
+ } from "./chunk-D4XPNSSI.mjs";
25
+ import "./chunk-4Q54P737.mjs";
26
+ import "./chunk-OP6LKXPA.mjs";
27
27
  import {
28
28
  default as default3
29
29
  } from "./chunk-4RPFRNXG.mjs";
30
30
  import {
31
31
  default as default2
32
- } from "./chunk-S6EZVRZC.mjs";
32
+ } from "./chunk-PNSJC6PC.mjs";
33
+ import "./chunk-AFLEG5ZC.mjs";
33
34
  import "./chunk-FJ6ZGZIA.mjs";
34
35
 
35
36
  // src/components/elemental/Autocomplete/src/GitHubPicker/PopperMenu.tsx
@@ -130,6 +131,10 @@ var pickerSearchSx = {
130
131
  }
131
132
  };
132
133
  var pickerGroupLabelSx = {
134
+ position: "sticky",
135
+ // Align with Autocomplete: quiet solid fill, Paper top radius, no backdrop-filter.
136
+ top: -8,
137
+ zIndex: 2,
133
138
  px: 1.75,
134
139
  pt: 1.25,
135
140
  pb: 0.5,
@@ -138,7 +143,16 @@ var pickerGroupLabelSx = {
138
143
  letterSpacing: "0.08em",
139
144
  textTransform: "uppercase",
140
145
  lineHeight: 1.4,
141
- color: "var(--picker-text-secondary)"
146
+ color: "var(--picker-text-secondary)",
147
+ // Quieter than opaque paper — closer to glass paper; still covers scroll. No blur.
148
+ background: "color-mix(in lab, var(--mui-palette-background-paper), var(--picker-paper-bg) 36%)",
149
+ backgroundColor: "color-mix(in lab, var(--mui-palette-background-paper), var(--picker-paper-bg) 36%)",
150
+ backdropFilter: "none",
151
+ WebkitBackdropFilter: "none",
152
+ borderTopLeftRadius: 14,
153
+ borderTopRightRadius: 14,
154
+ borderBottom: "1px solid color-mix(in lab, var(--picker-border), transparent 28%)",
155
+ boxShadow: "none"
142
156
  };
143
157
 
144
158
  // src/components/elemental/Autocomplete/src/GitHubPicker/PopperMenu.tsx
@@ -413,4 +427,4 @@ function PopperComponent(props) {
413
427
  export {
414
428
  MyPopper as default
415
429
  };
416
- //# sourceMappingURL=PopperMenu-LJ36RPBW.mjs.map
430
+ //# sourceMappingURL=PopperMenu-PSHLKIEZ.mjs.map