@povio/ui 3.4.0-rc.10 → 3.4.0-rc.11

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 (316) hide show
  1. package/dist/assets/icons/Account.d.ts +2 -0
  2. package/dist/assets/icons/AlignCenter.d.ts +2 -0
  3. package/dist/assets/icons/AlignCenter.js +30 -0
  4. package/dist/assets/icons/AlignLeft.d.ts +2 -0
  5. package/dist/assets/icons/AlignLeft.js +30 -0
  6. package/dist/assets/icons/AlignLeftRight.d.ts +2 -0
  7. package/dist/assets/icons/AlignLeftRight.js +30 -0
  8. package/dist/assets/icons/AlignRight.d.ts +2 -0
  9. package/dist/assets/icons/AlignRight.js +30 -0
  10. package/dist/assets/icons/ArrowDropDown.d.ts +2 -0
  11. package/dist/assets/icons/ArrowDropDown.js +30 -0
  12. package/dist/assets/icons/ArrowDropUp.d.ts +2 -0
  13. package/dist/assets/icons/ArrowDropUp.js +30 -0
  14. package/dist/assets/icons/ArrowLeft.d.ts +2 -0
  15. package/dist/assets/icons/ArrowLeft.js +30 -0
  16. package/dist/assets/icons/ArrowRight.d.ts +2 -0
  17. package/dist/assets/icons/ArrowRight.js +30 -0
  18. package/dist/assets/icons/Board.d.ts +2 -0
  19. package/dist/assets/icons/Bold.d.ts +2 -0
  20. package/dist/assets/icons/Bold.js +30 -0
  21. package/dist/assets/icons/BulletedList.d.ts +2 -0
  22. package/dist/assets/icons/BulletedList.js +30 -0
  23. package/dist/assets/icons/Calendar.d.ts +2 -0
  24. package/dist/assets/icons/Calendar.js +32 -0
  25. package/dist/assets/icons/Check.d.ts +2 -0
  26. package/dist/assets/icons/Check.js +32 -0
  27. package/dist/assets/icons/CheckCircle.d.ts +2 -0
  28. package/dist/assets/icons/CheckCircle.js +30 -0
  29. package/dist/assets/icons/CheckboxCheckmark.d.ts +2 -0
  30. package/dist/assets/icons/CheckboxCheckmark.js +33 -0
  31. package/dist/assets/icons/CheckboxIndeterminate.d.ts +2 -0
  32. package/dist/assets/icons/CheckboxIndeterminate.js +33 -0
  33. package/dist/assets/icons/ChevronDown.d.ts +2 -0
  34. package/dist/assets/icons/ChevronDown.js +32 -0
  35. package/dist/assets/icons/ChevronLeft.d.ts +2 -0
  36. package/dist/assets/icons/ChevronLeft.js +32 -0
  37. package/dist/assets/icons/ChevronRight.d.ts +2 -0
  38. package/dist/assets/icons/ChevronRight.js +32 -0
  39. package/dist/assets/icons/ChevronUp.d.ts +2 -0
  40. package/dist/assets/icons/ChevronUp.js +32 -0
  41. package/dist/assets/icons/ChevronsLeft.d.ts +2 -0
  42. package/dist/assets/icons/ChevronsLeft.js +32 -0
  43. package/dist/assets/icons/ChevronsRight.d.ts +2 -0
  44. package/dist/assets/icons/ChevronsRight.js +32 -0
  45. package/dist/assets/icons/Clock.d.ts +2 -0
  46. package/dist/assets/icons/Clock.js +30 -0
  47. package/dist/assets/icons/Close.d.ts +2 -0
  48. package/dist/assets/icons/Close.js +30 -0
  49. package/dist/assets/icons/DateTime.d.ts +2 -0
  50. package/dist/assets/icons/DateTime.js +39 -0
  51. package/dist/assets/icons/DragIndicator.d.ts +2 -0
  52. package/dist/assets/icons/DragIndicator.js +30 -0
  53. package/dist/assets/icons/Edit.d.ts +2 -0
  54. package/dist/assets/icons/Emoji.d.ts +2 -0
  55. package/dist/assets/icons/File.d.ts +2 -0
  56. package/dist/assets/icons/File.js +32 -0
  57. package/dist/assets/icons/Grid.d.ts +2 -0
  58. package/dist/assets/icons/Highlight.d.ts +2 -0
  59. package/dist/assets/icons/Highlight.js +30 -0
  60. package/dist/assets/icons/HighlightOn.d.ts +6 -0
  61. package/dist/assets/icons/HighlightOn.js +55 -0
  62. package/dist/assets/icons/Home.d.ts +2 -0
  63. package/dist/assets/icons/Home.js +30 -0
  64. package/dist/assets/icons/Image.d.ts +2 -0
  65. package/dist/assets/icons/ImageError.d.ts +2 -0
  66. package/dist/assets/icons/Info.d.ts +2 -0
  67. package/dist/assets/icons/Info.js +41 -0
  68. package/dist/assets/icons/Italic.d.ts +2 -0
  69. package/dist/assets/icons/Italic.js +30 -0
  70. package/dist/assets/icons/Link.d.ts +2 -0
  71. package/dist/assets/icons/Link.js +30 -0
  72. package/dist/assets/icons/Loader.d.ts +2 -0
  73. package/dist/assets/icons/MapPin.d.ts +2 -0
  74. package/dist/assets/icons/Menu.d.ts +2 -0
  75. package/dist/assets/icons/Menu.js +30 -0
  76. package/dist/assets/icons/Minus.d.ts +2 -0
  77. package/dist/assets/icons/MoreHoriz.d.ts +2 -0
  78. package/dist/assets/icons/NumberedList.d.ts +2 -0
  79. package/dist/assets/icons/NumberedList.js +30 -0
  80. package/dist/assets/icons/Pause.d.ts +2 -0
  81. package/dist/assets/icons/Plus.d.ts +2 -0
  82. package/dist/assets/icons/PointerHorizontal.d.ts +2 -0
  83. package/dist/assets/icons/PointerHorizontal.js +30 -0
  84. package/dist/assets/icons/PointerVertical.d.ts +2 -0
  85. package/dist/assets/icons/PointerVertical.js +30 -0
  86. package/dist/assets/icons/Retry.d.ts +2 -0
  87. package/dist/assets/icons/Search.d.ts +2 -0
  88. package/dist/assets/icons/Search.js +30 -0
  89. package/dist/assets/icons/Send.d.ts +2 -0
  90. package/dist/assets/icons/Send.js +32 -0
  91. package/dist/assets/icons/Share.d.ts +2 -0
  92. package/dist/assets/icons/Slash.d.ts +2 -0
  93. package/dist/assets/icons/Strikethrough.d.ts +2 -0
  94. package/dist/assets/icons/Strikethrough.js +30 -0
  95. package/dist/assets/icons/TextColor.d.ts +6 -0
  96. package/dist/assets/icons/TextColor.js +52 -0
  97. package/dist/assets/icons/Today.d.ts +2 -0
  98. package/dist/assets/icons/Today.js +30 -0
  99. package/dist/assets/icons/Trash.d.ts +2 -0
  100. package/dist/assets/icons/Underlined.d.ts +2 -0
  101. package/dist/assets/icons/Underlined.js +32 -0
  102. package/dist/assets/icons/Upload.d.ts +2 -0
  103. package/dist/assets/icons/Upload.js +39 -0
  104. package/dist/assets/icons/User.d.ts +2 -0
  105. package/dist/assets/icons/Visibility.d.ts +2 -0
  106. package/dist/assets/icons/Visibility.js +30 -0
  107. package/dist/assets/icons/VisibilityOff.d.ts +2 -0
  108. package/dist/assets/icons/VisibilityOff.js +30 -0
  109. package/dist/assets/icons/WarningFilled.d.ts +2 -0
  110. package/dist/assets/icons/WarningFilled.js +32 -0
  111. package/dist/assets/icons/WarningOutlined.d.ts +2 -0
  112. package/dist/components/Breadcrumbs/Breadcrumbs.js +7 -7
  113. package/dist/components/Menu/MenuDesktop.js +1 -1
  114. package/dist/components/Menu/MenuItem.js +4 -4
  115. package/dist/components/Menu/MenuMobile.js +5 -5
  116. package/dist/components/Menu/MenuPopover.js +2 -2
  117. package/dist/components/buttons/Button/Button.js +1 -1
  118. package/dist/components/buttons/PillButton/PillButton.js +4 -4
  119. package/dist/components/buttons/PillButton/pillButton.cva.d.ts +1 -1
  120. package/dist/components/buttons/SplitButton/SplitButton.js +3 -3
  121. package/dist/components/buttons/shared/ButtonContent.js +2 -2
  122. package/dist/components/buttons/shared/buttonContent.cva.d.ts +1 -1
  123. package/dist/components/inputs/Checkbox/Checkbox.d.ts +2 -1
  124. package/dist/components/inputs/Checkbox/Checkbox.js +102 -95
  125. package/dist/components/inputs/Checkbox/CheckboxCheckmark.js +3 -2
  126. package/dist/components/inputs/Checkbox/CheckboxGroup.d.ts +2 -1
  127. package/dist/components/inputs/Checkbox/CheckboxGroup.js +115 -111
  128. package/dist/components/inputs/DateTime/DatePicker/DatePicker.d.ts +2 -2
  129. package/dist/components/inputs/DateTime/DatePicker/DatePicker.js +22 -17
  130. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.d.ts +2 -2
  131. package/dist/components/inputs/DateTime/DateRangePicker/DateRangePicker.js +23 -17
  132. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.d.ts +2 -2
  133. package/dist/components/inputs/DateTime/DateTimePicker/DateTimePicker.js +25 -21
  134. package/dist/components/inputs/DateTime/TimePicker/TimePicker.d.ts +2 -2
  135. package/dist/components/inputs/DateTime/TimePicker/TimePicker.js +238 -225
  136. package/dist/components/inputs/DateTime/shared/Calendar.js +1 -1
  137. package/dist/components/inputs/DateTime/shared/CalendarCell.js +1 -1
  138. package/dist/components/inputs/DateTime/shared/CalendarGrid.js +1 -1
  139. package/dist/components/inputs/DateTime/shared/CalendarHeader.js +10 -7
  140. package/dist/components/inputs/DateTime/shared/CalendarSelectHeader.js +12 -8
  141. package/dist/components/inputs/DateTime/shared/DateField.d.ts +1 -2
  142. package/dist/components/inputs/DateTime/shared/DateField.js +4 -4
  143. package/dist/components/inputs/DateTime/shared/DatePickerInput.d.ts +2 -2
  144. package/dist/components/inputs/DateTime/shared/DatePickerInput.js +16 -8
  145. package/dist/components/inputs/DateTime/shared/DateSegmentItem.js +3 -3
  146. package/dist/components/inputs/DateTime/shared/DateTimeDialog.js +2 -2
  147. package/dist/components/inputs/DateTime/shared/DateTimeDialogFooter.js +1 -1
  148. package/dist/components/inputs/DateTime/shared/MonthPicker.js +2 -2
  149. package/dist/components/inputs/DateTime/shared/RangeCalendar.js +2 -2
  150. package/dist/components/inputs/DateTime/shared/TimePickerForm.js +5 -4
  151. package/dist/components/inputs/DateTime/shared/TimePickerInput.d.ts +2 -2
  152. package/dist/components/inputs/DateTime/shared/TimePickerInput.js +11 -10
  153. package/dist/components/inputs/DateTime/shared/YearPicker.js +2 -2
  154. package/dist/components/inputs/DateTime/shared/datePickerTodayIcon.js +1 -46
  155. package/dist/components/inputs/DateTime/shared/useFirefoxDateSegmentSelectionGuard.js +1 -1
  156. package/dist/components/inputs/File/FileUpload.d.ts +1 -1
  157. package/dist/components/inputs/File/FileUpload.js +20 -20
  158. package/dist/components/inputs/File/InputUpload.d.ts +1 -1
  159. package/dist/components/inputs/File/InputUpload.js +19 -19
  160. package/dist/components/inputs/File/fileUpload.types.d.ts +1 -1
  161. package/dist/components/inputs/File/inputUpload.types.d.ts +1 -1
  162. package/dist/components/inputs/File/shared/FileCard.js +1 -1
  163. package/dist/components/inputs/File/shared/FileCardList.js +1 -1
  164. package/dist/components/inputs/File/shared/FileUploadContent.js +1 -1
  165. package/dist/components/inputs/File/shared/FileUploadContentEmpty.js +3 -3
  166. package/dist/components/inputs/File/shared/FileUploadContentError.js +6 -5
  167. package/dist/components/inputs/File/shared/FileUploadContentFilled.js +6 -5
  168. package/dist/components/inputs/File/shared/FileUploadContentLoading.js +5 -4
  169. package/dist/components/inputs/File/shared/InputUploadContent.js +4 -4
  170. package/dist/components/inputs/File/shared/InputUploadFilled.js +3 -3
  171. package/dist/components/inputs/FormField/FormFieldError.js +1 -1
  172. package/dist/components/inputs/FormField/FormFieldHeader.js +4 -4
  173. package/dist/components/inputs/FormField/FormFieldHeaderClose.js +3 -3
  174. package/dist/components/inputs/FormField/FormFieldHelper.js +1 -1
  175. package/dist/components/inputs/FormField/FormFieldLabel.js +2 -2
  176. package/dist/components/inputs/Input/NumberInput/NumberInput.d.ts +1 -1
  177. package/dist/components/inputs/Input/NumberInput/NumberInput.js +107 -109
  178. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.d.ts +1 -2
  179. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeField.js +254 -265
  180. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.d.ts +1 -2
  181. package/dist/components/inputs/Input/NumberRangeInput/NumberRangeInput.js +24 -25
  182. package/dist/components/inputs/Input/PasswordInput/PasswordInput.d.ts +1 -1
  183. package/dist/components/inputs/Input/PasswordInput/PasswordInput.js +4 -3
  184. package/dist/components/inputs/Input/TextArea/TextArea.d.ts +1 -2
  185. package/dist/components/inputs/Input/TextArea/TextArea.js +117 -118
  186. package/dist/components/inputs/Input/TextInput/TextInput.d.ts +2 -2
  187. package/dist/components/inputs/Input/TextInput/TextInput.js +129 -129
  188. package/dist/components/inputs/Input/shared/InputContent.d.ts +1 -2
  189. package/dist/components/inputs/Input/shared/InputContent.js +48 -50
  190. package/dist/components/inputs/Inputs/Form.d.ts +4 -4
  191. package/dist/components/inputs/Inputs/Form.js +1 -1
  192. package/dist/components/inputs/Inputs/InputItem.d.ts +22 -22
  193. package/dist/components/inputs/Inputs/InputItem.js +37 -36
  194. package/dist/components/inputs/Inputs/Inputs.d.ts +2 -2
  195. package/dist/components/inputs/RadioGroup/RadioGroup.d.ts +2 -1
  196. package/dist/components/inputs/RadioGroup/RadioGroup.js +113 -109
  197. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.d.ts +1 -1
  198. package/dist/components/inputs/Selection/Autocomplete/Autocomplete.js +16 -16
  199. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.d.ts +1 -1
  200. package/dist/components/inputs/Selection/Autocomplete/QueryAutocomplete.js +20 -20
  201. package/dist/components/inputs/Selection/Autocomplete/queryAutocomplete.types.d.ts +1 -1
  202. package/dist/components/inputs/Selection/Select/QuerySelect.d.ts +1 -1
  203. package/dist/components/inputs/Selection/Select/QuerySelect.js +20 -20
  204. package/dist/components/inputs/Selection/Select/Select.d.ts +1 -1
  205. package/dist/components/inputs/Selection/Select/Select.js +23 -23
  206. package/dist/components/inputs/Selection/shared/SelectBase.d.ts +1 -1
  207. package/dist/components/inputs/Selection/shared/SelectBase.js +37 -34
  208. package/dist/components/inputs/Selection/shared/SelectDesktop.js +56 -58
  209. package/dist/components/inputs/Selection/shared/SelectInput.d.ts +2 -2
  210. package/dist/components/inputs/Selection/shared/SelectInput.js +56 -57
  211. package/dist/components/inputs/Selection/shared/SelectListBox.js +1 -1
  212. package/dist/components/inputs/Selection/shared/SelectListBoxItem.js +2 -2
  213. package/dist/components/inputs/Selection/shared/SelectListBoxItemSelectAll.js +2 -2
  214. package/dist/components/inputs/Selection/shared/SelectListBoxLoadingItem.js +1 -1
  215. package/dist/components/inputs/Selection/shared/SelectListBoxSelectionBar.js +1 -1
  216. package/dist/components/inputs/Selection/shared/SelectMobile.js +4 -5
  217. package/dist/components/inputs/Selection/shared/StaticSelectTrailingContent.js +3 -3
  218. package/dist/components/inputs/Selection/shared/select.context.d.ts +2 -2
  219. package/dist/components/inputs/Selection/shared/select.context.js +9 -5
  220. package/dist/components/inputs/Selection/shared/select.types.d.ts +1 -1
  221. package/dist/components/inputs/Skeleton/InputFrame.d.ts +0 -1
  222. package/dist/components/inputs/Skeleton/InputFrame.js +7 -10
  223. package/dist/components/inputs/Slider/Slider.d.ts +1 -1
  224. package/dist/components/inputs/Slider/Slider.js +20 -20
  225. package/dist/components/inputs/TextEditor/TextEditor.d.ts +1 -1
  226. package/dist/components/inputs/TextEditor/TextEditor.js +20 -20
  227. package/dist/components/inputs/TextEditor/Toolbar/ColorPicker.js +2 -2
  228. package/dist/components/inputs/TextEditor/Toolbar/ColorPickerDropdown.js +4 -4
  229. package/dist/components/inputs/TextEditor/Toolbar/HyperlinkAction.js +4 -4
  230. package/dist/components/inputs/TextEditor/Toolbar/TextAlignSelect.js +8 -5
  231. package/dist/components/inputs/TextEditor/Toolbar/TextColorSelect.js +3 -3
  232. package/dist/components/inputs/TextEditor/Toolbar/TextHighlightSelect.js +5 -4
  233. package/dist/components/inputs/TextEditor/Toolbar/TextListActions.js +5 -4
  234. package/dist/components/inputs/TextEditor/Toolbar/TextMarksActions.js +9 -6
  235. package/dist/components/inputs/Toggle/Toggle.d.ts +2 -1
  236. package/dist/components/inputs/Toggle/Toggle.js +65 -61
  237. package/dist/components/inputs/shared/CheckContent.js +1 -1
  238. package/dist/components/inputs/shared/InputClear.js +28 -45
  239. package/dist/components/inputs/shared/TooltipWrapper.d.ts +1 -1
  240. package/dist/components/inputs/shared/form.types.d.ts +8 -9
  241. package/dist/components/inputs/shared/input.cva.js +1 -1
  242. package/dist/components/inputs/shared/useStaticInputHandoff.js +38 -64
  243. package/dist/components/navigation/Accordion/Accordion.js +1 -1
  244. package/dist/components/navigation/Accordion/AccordionItem.js +3 -3
  245. package/dist/components/navigation/Stepper/Stepper.js +2 -2
  246. package/dist/components/navigation/Stepper/StepperItem.js +4 -4
  247. package/dist/components/overlays/ActionModal/ActionModal.js +1 -1
  248. package/dist/components/overlays/BottomSheet/BottomSheet.js +3 -3
  249. package/dist/components/overlays/BottomSheet/BottomSheetHeader.js +4 -4
  250. package/dist/components/overlays/Drawer/Drawer.js +2 -2
  251. package/dist/components/overlays/Modal/Modal.js +3 -3
  252. package/dist/components/overlays/ResponsivePopover/ResponsivePopover.js +1 -1
  253. package/dist/components/overlays/Tooltip/Tooltip.js +8 -15
  254. package/dist/components/overlays/Tooltip/TooltipEllipsis.js +1 -1
  255. package/dist/components/segment/Segment.d.ts +1 -1
  256. package/dist/components/segment/Segment.js +21 -21
  257. package/dist/components/segment/SegmentItem.js +1 -1
  258. package/dist/components/segment/segment.types.d.ts +1 -1
  259. package/dist/components/shared/pagination/Pagination.js +1 -1
  260. package/dist/components/shared/pagination/PaginationList.js +9 -6
  261. package/dist/components/table/ColumnConfig.js +1 -1
  262. package/dist/components/table/InfiniteTable.js +1 -1
  263. package/dist/components/table/Table.js +8 -6
  264. package/dist/components/text/Link/Link.js +1 -1
  265. package/dist/components/text/Pill/Pill.js +3 -3
  266. package/dist/components/text/Tag/Tag.js +3 -3
  267. package/dist/config/confirmation.context.js +1 -1
  268. package/dist/config/link.context.js +1 -1
  269. package/dist/config/router.context.js +1 -1
  270. package/dist/config/theme.context.js +1 -1
  271. package/dist/config/uiConfig.context.d.ts +5 -14
  272. package/dist/config/uiConfig.context.js +11 -9
  273. package/dist/config/uiOverrides.context.js +2 -2
  274. package/dist/helpers/dynamicColumns.d.ts +1 -1
  275. package/dist/helpers/dynamicInputs.d.ts +7 -7
  276. package/dist/hooks/useAutosave.d.ts +4 -4
  277. package/dist/hooks/useAutosave.js +49 -64
  278. package/dist/hooks/useFilters.js +1 -1
  279. package/dist/hooks/useForm.d.ts +15 -39
  280. package/dist/hooks/useForm.js +43 -96
  281. package/dist/hooks/useFormAutosave.d.ts +9 -8
  282. package/dist/hooks/useFormAutosave.js +9 -23
  283. package/dist/hooks/useIntersectionObserver.js +1 -1
  284. package/dist/hooks/useLocalStorage.js +1 -1
  285. package/dist/hooks/usePagination.js +1 -1
  286. package/dist/hooks/useScrollableListBox.js +1 -1
  287. package/dist/hooks/useSorting.js +1 -1
  288. package/dist/hooks/useStateAndRef.js +1 -1
  289. package/dist/hooks/useTableColumnConfig.js +1 -1
  290. package/dist/index.d.ts +263 -1
  291. package/dist/index.js +71 -11
  292. package/package.json +3 -15
  293. package/dist/assets/locales/en/translation.json.d.ts +0 -158
  294. package/dist/assets/locales/sl/translation.json.d.ts +0 -154
  295. package/dist/components/inputs/shared/form.binding.d.ts +0 -27
  296. package/dist/components/inputs/shared/form.binding.js +0 -57
  297. package/dist/components/inputs/shared/form.types.js +0 -8
  298. package/dist/rhf/Inputs.d.ts +0 -60
  299. package/dist/rhf/Inputs.js +0 -148
  300. package/dist/rhf/components.d.ts +0 -80
  301. package/dist/rhf/components.js +0 -101
  302. package/dist/rhf/dynamicInputs.d.ts +0 -18
  303. package/dist/rhf/dynamicInputs.js +0 -5
  304. package/dist/rhf/fieldAdapter.d.ts +0 -7
  305. package/dist/rhf/fieldAdapter.js +0 -40
  306. package/dist/rhf/form.types.d.ts +0 -12
  307. package/dist/rhf/useAutosave.d.ts +0 -10
  308. package/dist/rhf/useAutosave.js +0 -71
  309. package/dist/rhf/useForm.d.ts +0 -18
  310. package/dist/rhf/useForm.js +0 -48
  311. package/dist/rhf/useFormAutosave.d.ts +0 -15
  312. package/dist/rhf/useFormAutosave.js +0 -59
  313. package/dist/rhf.d.ts +0 -225
  314. package/dist/tanstack.d.ts +0 -224
  315. package/dist/tanstack.js +0 -141
  316. /package/dist/{rhf/entrypoints.type-test.d.ts → hooks/useAutosave.spec.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { ReactElement } from 'react';
2
- import { FormInstance } from '../components/inputs/shared/form.binding';
2
+ import { Control, UseFormReturn } from 'react-hook-form';
3
3
  import { z } from 'zod';
4
4
  import { InputComponentProps, InputComponentType, InputDef, InputDefBaseProps, InputWrapperType } from '../components/inputs/Inputs/InputItem';
5
5
  import { ZodUtils } from '../utils/zod.utils';
@@ -47,17 +47,17 @@ type UnknownInputDef<TSchema extends z.ZodObject<any>, K extends keyof z.infer<T
47
47
  } & DynamicInputDefBase<InputDefBaseProps<InputComponentProps<T>>>;
48
48
  }[DefaultComponentType<TSchema["shape"][K]>];
49
49
  type RenderInputDef<TSchema extends z.ZodObject<any>, K extends keyof z.infer<TSchema>> = {
50
- render: (field: {
51
- form: FormInstance<z.infer<TSchema>>;
50
+ render: (formControl: {
51
+ control: Control<z.infer<TSchema>>;
52
52
  name: K;
53
- }, form: FormInstance<z.infer<TSchema>>) => ReactElement;
53
+ }, form: UseFormReturn<z.infer<TSchema>>) => ReactElement;
54
54
  } & DynamicInputDefBase<Record<string, never>>;
55
55
  type DynamicInputDef<TSchema extends z.ZodObject<any>, K extends keyof z.infer<TSchema>> = ConfigInputDef<TSchema, K> | UnknownInputDef<TSchema, K> | RenderInputDef<TSchema, K>;
56
56
  type InputsConfig<TSchema extends z.ZodObject<any>> = {
57
- [K in keyof z.infer<TSchema>]?: DynamicInputDef<TSchema, K> | ((field: {
58
- form: FormInstance<z.infer<TSchema>>;
57
+ [K in keyof z.infer<TSchema>]?: DynamicInputDef<TSchema, K> | ((formControl: {
58
+ control: Control<z.infer<TSchema>>;
59
59
  name: K;
60
- }, form: FormInstance<z.infer<TSchema>>) => ReactElement) | boolean;
60
+ }, form: UseFormReturn<z.infer<TSchema>>) => ReactElement) | boolean;
61
61
  };
62
62
  type GlobalProps = {
63
63
  [T in Exclude<InputComponentType, "unknown">]: InputDefBaseProps<InputComponentProps<T>>;
@@ -1,10 +1,10 @@
1
- import { UIForm } from './useForm';
2
- export interface UseAutosaveProps<TFieldValues extends Record<string, unknown>, TTransformedValues = TFieldValues, TResponse = unknown> {
3
- form: UIForm<TFieldValues>;
1
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
2
+ export interface UseAutosaveProps<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues, TResponse = unknown> {
3
+ form: UseFormReturn<TFieldValues, TContext, TTransformedValues>;
4
4
  delay?: number;
5
5
  enabled?: boolean;
6
6
  trigger?: "change" | "blur";
7
7
  onSave: (data: Partial<TTransformedValues>) => Promise<TResponse>;
8
8
  onSaveSuccess?: () => void;
9
9
  }
10
- export declare function useAutosave<TFieldValues extends Record<string, unknown>, TTransformedValues = TFieldValues, TResponse = unknown>({ form, delay, enabled, trigger, onSave, onSaveSuccess, }: UseAutosaveProps<TFieldValues, TTransformedValues, TResponse>): void;
10
+ export declare function useAutosave<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues, TResponse = unknown>({ form, delay, enabled, trigger, onSave, onSaveSuccess, }: UseAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>): void;
@@ -1,85 +1,70 @@
1
1
  import { ObjectUtils } from "../utils/object.utils.js";
2
2
  import { isEqual } from "../utils/isEqual.js";
3
3
  import { useEffect, useRef } from "react";
4
+ import { useFormState, useWatch } from "react-hook-form";
4
5
  //#region src/hooks/useAutosave.ts
5
- function diffLeftOnly(left, right) {
6
- if (!ObjectUtils.isObject(left) || ObjectUtils.isDate(left) || ObjectUtils.isRegExp(left)) return isEqual(left, right) ? void 0 : left;
7
- if (Array.isArray(left)) return isEqual(left, right) ? void 0 : left;
6
+ function isNilOrEqual(left, right) {
7
+ if (ObjectUtils.isNil(left) && ObjectUtils.isNil(right)) return true;
8
+ return isEqual(left, right);
9
+ }
10
+ function diffLeftOnly(left, right, shallowKeys) {
11
+ if (!ObjectUtils.isObject(left) || ObjectUtils.isDate(left) || ObjectUtils.isRegExp(left)) return !isNilOrEqual(left, right) ? left : void 0;
12
+ if (Array.isArray(left)) return !isNilOrEqual(left, right) ? left : void 0;
8
13
  const result = Object.entries(left).reduce((acc, [key, value]) => {
9
- const diff = diffLeftOnly(value, right?.[key]);
14
+ const shallowSubtree = shallowKeys?.[key];
15
+ if (shallowSubtree === true) {
16
+ if (!isNilOrEqual(value, right?.[key])) acc[key] = value;
17
+ return acc;
18
+ }
19
+ const diff = diffLeftOnly(value, right?.[key], shallowSubtree);
10
20
  if (diff !== void 0 && (!ObjectUtils.isObject(diff) || !ObjectUtils.isEmpty(diff))) acc[key] = diff;
11
21
  return acc;
12
22
  }, {});
13
23
  return ObjectUtils.isEmpty(result) ? void 0 : result;
14
24
  }
15
- var snapshot = (value) => structuredClone(value);
16
- function pickChangedValues(source, changes) {
17
- if (!ObjectUtils.isObject(changes) || Array.isArray(changes)) return source;
18
- return Object.entries(changes).reduce((result, [key, value]) => {
19
- result[key] = pickChangedValues(source?.[key], value);
20
- return result;
21
- }, {});
22
- }
23
25
  function useAutosave({ form, delay = 500, enabled = true, trigger = "change", onSave, onSaveSuccess }) {
24
26
  const timeoutRef = useRef(void 0);
25
- const savedSnapshotRef = useRef(snapshot(form.state.values));
26
- const saveQueueRef = useRef(Promise.resolve());
27
- const latestSaveRef = useRef({
28
- onSave,
29
- onSaveSuccess
30
- });
31
- latestSaveRef.current = {
32
- onSave,
33
- onSaveSuccess
34
- };
27
+ const previousBlurTriggerFieldsRef = useRef(void 0);
28
+ const { control, reset, handleSubmit } = form;
29
+ const { dirtyFields, touchedFields, defaultValues } = useFormState({ control });
30
+ const formData = useWatch({ control });
35
31
  useEffect(() => {
36
- const clearPending = () => {
37
- if (timeoutRef.current) {
38
- clearTimeout(timeoutRef.current);
39
- timeoutRef.current = void 0;
40
- }
41
- };
42
- const queueSave = () => {
43
- if (!enabled) return;
44
- clearPending();
45
- timeoutRef.current = setTimeout(() => {
46
- saveQueueRef.current = saveQueueRef.current.then(async () => {
47
- const valuesAtSaveTime = snapshot(form.state.values);
48
- const changedValues = diffLeftOnly(valuesAtSaveTime, savedSnapshotRef.current);
49
- if (!changedValues) return;
50
- let transformedValues;
51
- try {
52
- transformedValues = form.parseValues(valuesAtSaveTime);
53
- } catch {
54
- return;
55
- }
56
- const payload = pickChangedValues(transformedValues, changedValues);
57
- if (ObjectUtils.isEmpty(payload)) return;
58
- try {
59
- await latestSaveRef.current.onSave(payload);
60
- savedSnapshotRef.current = valuesAtSaveTime;
61
- for (const name of Object.keys(payload)) form.setFieldMeta(name, (meta) => ({
62
- ...meta,
63
- isDirty: false
64
- }));
65
- latestSaveRef.current.onSaveSuccess?.();
66
- } catch {}
67
- });
68
- }, delay);
69
- };
70
- const unsubscribeStore = trigger === "change" ? form.store.subscribe(() => {
71
- if (!isEqual(form.state.values, savedSnapshotRef.current)) queueSave();
72
- }) : void 0;
73
- const unsubscribeBlur = trigger === "blur" ? form.subscribeBlur(queueSave) : void 0;
32
+ if (!enabled || Object.keys(dirtyFields).length === 0) return;
33
+ if (trigger === "blur") {
34
+ const blurTriggerFields = JSON.stringify(touchedFields);
35
+ if (Object.keys(touchedFields).length === 0 || previousBlurTriggerFieldsRef.current === blurTriggerFields) return;
36
+ previousBlurTriggerFieldsRef.current = blurTriggerFields;
37
+ }
38
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
39
+ timeoutRef.current = setTimeout(() => {
40
+ handleSubmit(async (data) => {
41
+ const changedData = diffLeftOnly(Object.entries(dirtyFields).filter(([, value]) => value).reduce((acc, [key]) => {
42
+ acc[key] = data[key];
43
+ return acc;
44
+ }, {}), defaultValues, dirtyFields) ?? {};
45
+ if (Object.keys(changedData).length === 0) return;
46
+ try {
47
+ reset(void 0, { keepValues: true });
48
+ await onSave(changedData);
49
+ onSaveSuccess?.();
50
+ } catch {
51
+ reset(defaultValues);
52
+ return;
53
+ }
54
+ })();
55
+ }, delay);
74
56
  return () => {
75
- clearPending();
76
- unsubscribeStore?.unsubscribe();
77
- unsubscribeBlur?.();
57
+ if (timeoutRef.current) clearTimeout(timeoutRef.current);
78
58
  };
79
59
  }, [
60
+ defaultValues,
61
+ dirtyFields,
62
+ trigger === "change" ? formData : touchedFields,
80
63
  delay,
64
+ onSave,
65
+ handleSubmit,
81
66
  enabled,
82
- form,
67
+ reset,
83
68
  trigger
84
69
  ]);
85
70
  }
@@ -1,7 +1,7 @@
1
1
  import { UIRouter } from "../config/router.context.js";
2
2
  import { RoutingUtils } from "../utils/routing.utils.js";
3
- import { useEffect, useState } from "react";
4
3
  import { c } from "react/compiler-runtime";
4
+ import { useEffect, useState } from "react";
5
5
  import { z } from "zod";
6
6
  //#region src/hooks/useFilters.ts
7
7
  function getFieldType(schema, fieldKey) {
@@ -1,42 +1,18 @@
1
- import { AnyFormApi, DeepKeys, DeepValue, ReactFormExtendedApi } from '@tanstack/react-form';
1
+ import { BrowserNativeObject, ExtractObjects, FieldValues, NestedValue, UseFormProps as UseReactHookFormProps } from 'react-hook-form';
2
2
  import { z } from 'zod';
3
- type FormMode = "all" | "onBlur" | "onChange" | "onSubmit" | "onTouched";
4
- type FieldValidators = {
5
- onBlur?: ({ value }: {
6
- value: unknown;
7
- }) => string | undefined;
8
- onChange?: ({ value }: {
9
- value: unknown;
10
- }) => string | undefined;
11
- };
12
- export type FormSubmitHandler<TValues> = (values: TValues) => void | Promise<void>;
13
- export type FormSubmitErrorHandler<TValues> = (errors: unknown, values: TValues) => unknown;
14
- type TanStackForm<TFieldValues> = ReactFormExtendedApi<TFieldValues, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, never>;
15
- export type UIForm<TFieldValues extends Record<string, unknown> = Record<string, unknown>> = Omit<TanStackForm<TFieldValues>, "handleSubmit"> & {
16
- readonly disabled: boolean;
17
- getFieldValidators: (name: DeepKeys<TFieldValues>) => FieldValidators | undefined;
18
- notifyBlur: (name: DeepKeys<TFieldValues>) => void;
19
- parseValues: (values: TFieldValues) => unknown;
20
- subscribeBlur: (listener: (name: DeepKeys<TFieldValues>) => void) => () => void;
21
- handleSubmit: (onValid: FormSubmitHandler<any>, onInvalid?: FormSubmitErrorHandler<TFieldValues>) => (event?: {
22
- preventDefault?: () => void;
23
- stopPropagation?: () => void;
24
- }) => Promise<void>;
3
+ type DeepNullablePartial<T> = T extends BrowserNativeObject | NestedValue ? T : {
4
+ [K in keyof T]?: ExtractObjects<T[K]> extends never ? T[K] | null : DeepNullablePartial<T[K]>;
25
5
  };
26
6
  type AsyncDefaultValues<TFieldValues> = (payload?: unknown) => Promise<TFieldValues>;
27
- type NullableDefaults<T> = T extends Date | File | Blob ? T : T extends Array<infer TItem> ? Array<NullableDefaults<TItem>> : T extends object ? {
28
- [K in keyof T]?: NullableDefaults<T[K]> | null;
29
- } : T | null;
30
- export interface UseFormProps<TFieldValues, TTransformedValues = TFieldValues> {
31
- defaultValues?: NullableDefaults<TFieldValues> | AsyncDefaultValues<TFieldValues>;
32
- disabled?: boolean;
33
- mode?: FormMode;
34
- onSubmitAsync?: (props: {
35
- value: TFieldValues;
36
- }) => Promise<unknown>;
37
- zodSchema?: z.ZodType<TTransformedValues, TFieldValues>;
38
- }
39
- export declare function useForm<TFieldValues extends Record<string, unknown> = Record<string, unknown>, _TContext = unknown, TTransformedValues = TFieldValues>({ defaultValues, disabled, mode, onSubmitAsync, zodSchema, }?: UseFormProps<TFieldValues, TTransformedValues>): UIForm<TFieldValues>;
40
- export declare const useFormValue: <TFieldValues extends Record<string, unknown>, TSelected>(form: UIForm<TFieldValues>, selector: (values: TFieldValues) => TSelected) => TSelected;
41
- export declare const useFormState: <TFieldValues extends Record<string, unknown>, TSelected>(form: UIForm<TFieldValues>, selector: (state: UIForm<TFieldValues>["state"]) => TSelected) => TSelected;
42
- export type { AnyFormApi, DeepKeys, DeepValue };
7
+ type NullableDefaultValues<TFieldValues> = TFieldValues extends AsyncDefaultValues<TFieldValues> ? DeepNullablePartial<Awaited<TFieldValues>> : DeepNullablePartial<TFieldValues>;
8
+ export type UseFormResolverProps<TFieldValues extends FieldValues, TTransformedValues = TFieldValues> = {
9
+ zodSchema: z.ZodType<TTransformedValues, TFieldValues>;
10
+ resolver?: never;
11
+ } | {
12
+ zodSchema?: never;
13
+ };
14
+ export type UseFormProps<TFieldValues extends FieldValues, TContext, TTransformedValues = TFieldValues> = Omit<UseReactHookFormProps<TFieldValues, TContext, TTransformedValues>, "defaultValues"> & {
15
+ defaultValues?: NullableDefaultValues<TFieldValues> | AsyncDefaultValues<TFieldValues>;
16
+ };
17
+ export declare function useForm<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues>({ resolver, zodSchema, defaultValues, ...props }: UseFormProps<TFieldValues, TContext, TTransformedValues> & UseFormResolverProps<TFieldValues, TTransformedValues>): import('react-hook-form').UseFormReturn<TFieldValues, TContext, TTransformedValues>;
18
+ export {};
@@ -1,101 +1,48 @@
1
- import { useEffect, useMemo, useRef } from "react";
2
1
  import { c } from "react/compiler-runtime";
3
- import { useForm, useStore } from "@tanstack/react-form";
2
+ import { useForm } from "react-hook-form";
3
+ import { zodResolver } from "@hookform/resolvers/zod";
4
4
  //#region src/hooks/useForm.ts
5
- function useForm$1({ defaultValues, disabled = false, mode = "onSubmit", onSubmitAsync, zodSchema } = {}) {
6
- const submitHandlerRef = useRef(() => void 0);
7
- const submitErrorHandlerRef = useRef(void 0);
8
- const blurListenersRef = useRef(/* @__PURE__ */ new Set());
9
- const fieldValidators = useMemo(() => {
10
- return /* @__PURE__ */ new Map();
11
- }, [mode, zodSchema]);
12
- const formValidator = useMemo(() => {
13
- if (!zodSchema) return;
14
- return ({ value }) => {
15
- const result = zodSchema.safeParse(value);
16
- if (result.success) return;
17
- return { fields: Object.fromEntries(result.error.issues.map((issue) => [pathToString(issue.path), issue.message])) };
18
- };
19
- }, [zodSchema]);
20
- const form = useForm({
21
- defaultValues: (typeof defaultValues === "function" ? {} : defaultValues) ?? {},
22
- validators: formValidator || onSubmitAsync ? {
23
- onSubmit: formValidator,
24
- onSubmitAsync
25
- } : void 0,
26
- onSubmit: async ({ value: value_0 }) => {
27
- const transformed = zodSchema ? zodSchema.parse(value_0) : value_0;
28
- await submitHandlerRef.current(transformed);
29
- },
30
- onSubmitInvalid: ({ value: value_1, formApi }) => {
31
- submitErrorHandlerRef.current?.(formApi.state.errors, value_1);
32
- }
33
- });
34
- const originalHandleSubmit = useMemo(() => form.handleSubmit.bind(form), [form]);
35
- const uiForm = form;
36
- Object.defineProperties(uiForm, { disabled: {
37
- configurable: true,
38
- get: () => disabled
39
- } });
40
- uiForm.getFieldValidators = (name) => {
41
- const cached = fieldValidators.get(name);
42
- if (cached || fieldValidators.has(name)) return cached;
43
- const schema = zodSchema ? getSchemaAtPath(zodSchema, name) : void 0;
44
- if (!schema || mode === "onSubmit") {
45
- fieldValidators.set(name, void 0);
46
- return;
47
- }
48
- const validate = ({ value: value_2 }) => {
49
- const result_0 = schema.safeParse(value_2);
50
- return result_0.success ? void 0 : result_0.error.issues[0]?.message;
5
+ function useForm$1(t0) {
6
+ const $ = c(12);
7
+ let defaultValues;
8
+ let props;
9
+ let resolver;
10
+ let zodSchema;
11
+ if ($[0] !== t0) {
12
+ ({resolver, zodSchema, defaultValues, ...props} = t0);
13
+ $[0] = t0;
14
+ $[1] = defaultValues;
15
+ $[2] = props;
16
+ $[3] = resolver;
17
+ $[4] = zodSchema;
18
+ } else {
19
+ defaultValues = $[1];
20
+ props = $[2];
21
+ resolver = $[3];
22
+ zodSchema = $[4];
23
+ }
24
+ let t1;
25
+ if ($[5] !== resolver || $[6] !== zodSchema) {
26
+ t1 = resolver ?? (zodSchema ? zodResolver(zodSchema) : void 0);
27
+ $[5] = resolver;
28
+ $[6] = zodSchema;
29
+ $[7] = t1;
30
+ } else t1 = $[7];
31
+ const formResolver = t1;
32
+ const t2 = defaultValues;
33
+ let t3;
34
+ if ($[8] !== formResolver || $[9] !== props || $[10] !== t2) {
35
+ t3 = {
36
+ ...props,
37
+ resolver: formResolver,
38
+ defaultValues: t2
51
39
  };
52
- const validators = mode === "onChange" || mode === "all" ? { onChange: validate } : { onBlur: validate };
53
- fieldValidators.set(name, validators);
54
- return validators;
55
- };
56
- uiForm.notifyBlur = (name_0) => {
57
- for (const listener of blurListenersRef.current) listener(name_0);
58
- };
59
- uiForm.parseValues = (values) => zodSchema ? zodSchema.parse(values) : values;
60
- uiForm.subscribeBlur = (listener_0) => {
61
- blurListenersRef.current.add(listener_0);
62
- return () => blurListenersRef.current.delete(listener_0);
63
- };
64
- uiForm.handleSubmit = (onValid, onInvalid) => async (event) => {
65
- event?.preventDefault?.();
66
- event?.stopPropagation?.();
67
- submitHandlerRef.current = onValid;
68
- submitErrorHandlerRef.current = onInvalid;
69
- await originalHandleSubmit();
70
- };
71
- useEffect(() => {
72
- if (typeof defaultValues === "function") defaultValues().then((values_0) => form.reset(values_0));
73
- }, [defaultValues, form]);
74
- return uiForm;
40
+ $[8] = formResolver;
41
+ $[9] = props;
42
+ $[10] = t2;
43
+ $[11] = t3;
44
+ } else t3 = $[11];
45
+ return useForm(t3);
75
46
  }
76
- var useFormValue = (form, selector) => {
77
- const $ = c(2);
78
- let t0;
79
- if ($[0] !== selector) {
80
- t0 = (state) => selector(state.values);
81
- $[0] = selector;
82
- $[1] = t0;
83
- } else t0 = $[1];
84
- return useStore(form.store, t0);
85
- };
86
- var useFormState = (form, selector) => {
87
- return useStore(form.store, selector);
88
- };
89
- var getSchemaAtPath = (rootSchema, path) => {
90
- let schema = rootSchema;
91
- for (const segment of parsePath(path)) {
92
- while (schema?.unwrap && !schema.shape && !schema.element && !schema.items) schema = schema.unwrap();
93
- schema = typeof segment === "number" ? schema?.element ?? schema?.items?.[segment] : schema?.shape?.[segment];
94
- if (!schema) return;
95
- }
96
- return schema;
97
- };
98
- var parsePath = (path) => path.replaceAll("[", ".").replaceAll("]", "").split(".").filter(Boolean).map((segment) => /^\d+$/.test(segment) ? Number(segment) : segment);
99
- var pathToString = (path) => path.reduce((result, segment) => typeof segment === "number" ? `${result}[${segment}]` : result ? `${result}.${String(segment)}` : String(segment), "");
100
47
  //#endregion
101
- export { useForm$1 as useForm, useFormState, useFormValue };
48
+ export { useForm$1 as useForm };
@@ -1,14 +1,15 @@
1
1
  import { DependencyList } from 'react';
2
+ import { FieldValues } from 'react-hook-form';
2
3
  import { UseAutosaveProps } from './useAutosave';
3
- import { UseFormProps } from './useForm';
4
- export type UseFormAutosaveProps<TFieldValues extends Record<string, unknown> = Record<string, unknown>, _TContext = any, TTransformedValues = TFieldValues, TResponse = unknown> = Omit<UseFormProps<TFieldValues, TTransformedValues>, "defaultValues"> & {
5
- autosaveDelay?: UseAutosaveProps<TFieldValues, TTransformedValues, TResponse>["delay"];
6
- enableAutosave?: UseAutosaveProps<TFieldValues, TTransformedValues, TResponse>["enabled"];
7
- autosaveOn?: UseAutosaveProps<TFieldValues, TTransformedValues, TResponse>["trigger"];
4
+ import { UseFormProps, UseFormResolverProps } from './useForm';
5
+ export type UseFormAutosaveProps<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues, TResponse = unknown> = Omit<UseFormProps<TFieldValues, TContext, TTransformedValues>, "defaultValues"> & UseFormResolverProps<TFieldValues, TTransformedValues> & {
6
+ autosaveDelay?: UseAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>["delay"];
7
+ enableAutosave?: UseAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>["enabled"];
8
+ autosaveOn?: UseAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>["trigger"];
8
9
  normalizeAutosaveData?: (data: Partial<TTransformedValues>) => Partial<TTransformedValues> | undefined;
9
- onAutosave: UseAutosaveProps<TFieldValues, TTransformedValues, TResponse>["onSave"];
10
- getResetValues: () => UseFormProps<TFieldValues, TTransformedValues>["defaultValues"];
10
+ onAutosave: UseAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>["onSave"];
11
+ getResetValues: () => UseFormProps<TFieldValues, TContext, TTransformedValues>["defaultValues"];
11
12
  resetDeps: DependencyList;
12
13
  resetTimeout?: number;
13
14
  };
14
- export declare function useFormAutosave<TFieldValues extends Record<string, unknown> = Record<string, unknown>, TContext = any, TTransformedValues = TFieldValues, TResponse = any>({ autosaveDelay, enableAutosave, autosaveOn, normalizeAutosaveData, onAutosave, getResetValues, resetDeps, resetTimeout, ...props }: UseFormAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>): import('./useForm').UIForm<TFieldValues>;
15
+ export declare function useFormAutosave<TFieldValues extends FieldValues = FieldValues, TContext = any, TTransformedValues = TFieldValues, TResponse = any>({ autosaveDelay, enableAutosave, autosaveOn, normalizeAutosaveData, onAutosave, getResetValues, resetDeps, resetTimeout, ...props }: UseFormAutosaveProps<TFieldValues, TContext, TTransformedValues, TResponse>): import('react-hook-form').UseFormReturn<TFieldValues, TContext, TTransformedValues>;
@@ -26,19 +26,15 @@ function useFormAutosave({ autosaveDelay, enableAutosave, autosaveOn = "change",
26
26
  const resetValues = getResetValues();
27
27
  if (resetValues === void 0) return;
28
28
  const resetFormValues = async () => {
29
- const keepCurrentValues = shouldResetFormValuesRef.current;
29
+ const keepStateOptions = shouldResetFormValuesRef.current ? { keepDirtyValues: true } : void 0;
30
30
  shouldResetFormValuesRef.current = false;
31
- let values;
31
+ let values = resetValues;
32
32
  if (ObjectUtils.isFunction(resetValues)) values = await resetValues();
33
- else values = resetValues;
34
- form.reset(keepCurrentValues ? {
35
- ...values,
36
- ...form.state.values
37
- } : values);
33
+ form.reset(values, keepStateOptions);
38
34
  };
39
35
  resetFormValues();
40
36
  }, [...resetDeps]);
41
- const prepareForSaveReset = () => {
37
+ const onSaveSuccess = () => {
42
38
  shouldResetFormValuesRef.current = true;
43
39
  if (resetFormValuesTimeoutRef.current) clearTimeout(resetFormValuesTimeoutRef.current);
44
40
  resetFormValuesTimeoutRef.current = setTimeout(() => {
@@ -50,22 +46,12 @@ function useFormAutosave({ autosaveDelay, enableAutosave, autosaveOn = "change",
50
46
  delay: autosaveDelay,
51
47
  enabled: enableAutosave,
52
48
  trigger: autosaveOn,
53
- onSave: useCallback(async (data) => {
49
+ onSave: useCallback((data) => {
54
50
  const normalizedData = normalizeAutosaveData ? normalizeAutosaveData(data) : data;
55
- if (!normalizedData || ObjectUtils.isEmpty(normalizedData)) return;
56
- prepareForSaveReset();
57
- try {
58
- return await onAutosave(normalizedData);
59
- } catch (error) {
60
- shouldResetFormValuesRef.current = false;
61
- if (resetFormValuesTimeoutRef.current) clearTimeout(resetFormValuesTimeoutRef.current);
62
- throw error;
63
- }
64
- }, [
65
- normalizeAutosaveData,
66
- onAutosave,
67
- resetTimeout
68
- ])
51
+ if (!normalizedData || ObjectUtils.isEmpty(normalizedData)) return Promise.resolve(void 0);
52
+ return onAutosave(normalizedData);
53
+ }, [normalizeAutosaveData, onAutosave]),
54
+ onSaveSuccess
69
55
  });
70
56
  return form;
71
57
  }
@@ -1,5 +1,5 @@
1
- import { useEffect, useRef } from "react";
2
1
  import { c } from "react/compiler-runtime";
2
+ import { useEffect, useRef } from "react";
3
3
  //#region src/hooks/useIntersectionObserver.ts
4
4
  var useIntersectionObserver = (t0) => {
5
5
  const $ = c(13);
@@ -1,5 +1,5 @@
1
- import { useState } from "react";
2
1
  import { c } from "react/compiler-runtime";
2
+ import { useState } from "react";
3
3
  //#region src/hooks/useLocalStorage.ts
4
4
  var getValue = (key, schema) => {
5
5
  if (!localStorage) return null;
@@ -1,7 +1,7 @@
1
1
  import { UIRouter } from "../config/router.context.js";
2
2
  import { RoutingUtils } from "../utils/routing.utils.js";
3
- import { useEffect, useState } from "react";
4
3
  import { c } from "react/compiler-runtime";
4
+ import { useEffect, useState } from "react";
5
5
  //#region src/hooks/usePagination.ts
6
6
  var DEFAULT_STATE = {
7
7
  pageIndex: 1,
@@ -1,6 +1,6 @@
1
1
  import { useBreakpoint } from "./useBreakpoint.js";
2
- import { useEffect, useRef } from "react";
3
2
  import { c } from "react/compiler-runtime";
3
+ import { useEffect, useRef } from "react";
4
4
  //#region src/hooks/useScrollableListBox.ts
5
5
  function useScrollableListBox() {
6
6
  const $ = c(4);
@@ -1,7 +1,7 @@
1
1
  import { UIRouter } from "../config/router.context.js";
2
2
  import { RoutingUtils } from "../utils/routing.utils.js";
3
- import { useEffect, useState } from "react";
4
3
  import { c } from "react/compiler-runtime";
4
+ import { useEffect, useState } from "react";
5
5
  //#region src/hooks/useSorting.ts
6
6
  function useSorting(defaultSorting, t0) {
7
7
  const $ = c(16);
@@ -1,6 +1,6 @@
1
1
  import { ObjectUtils } from "../utils/object.utils.js";
2
- import { useRef, useState } from "react";
3
2
  import { c } from "react/compiler-runtime";
3
+ import { useRef, useState } from "react";
4
4
  //#region src/hooks/useStateAndRef.ts
5
5
  var useStateAndRef = (initialState) => {
6
6
  const $ = c(3);
@@ -1,5 +1,5 @@
1
- import { useEffect, useState } from "react";
2
1
  import { c } from "react/compiler-runtime";
2
+ import { useEffect, useState } from "react";
3
3
  //#region src/hooks/useTableColumnConfig.ts
4
4
  function sortByKeyOrder(data, orderedKeys = []) {
5
5
  return [...data].sort((a, b) => {