linear-react-components-ui 1.1.26-beta.14 → 1.1.26-beta.16

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 (781) hide show
  1. package/lib/@types/ColorStyles.d.ts +1 -0
  2. package/lib/@types/Position.d.ts +1 -0
  3. package/lib/_virtual/compiler-runtime.js +6 -0
  4. package/lib/_virtual/compiler-runtime.js.map +1 -0
  5. package/lib/_virtual/compiler-runtime2.js +5 -0
  6. package/lib/_virtual/compiler-runtime2.js.map +1 -0
  7. package/lib/_virtual/memoize.js +8 -0
  8. package/lib/_virtual/memoize.js.map +1 -0
  9. package/lib/_virtual/react-compiler-runtime.development.js +5 -0
  10. package/lib/_virtual/react-compiler-runtime.development.js.map +1 -0
  11. package/lib/_virtual/react-compiler-runtime.production.js +5 -0
  12. package/lib/_virtual/react-compiler-runtime.production.js.map +1 -0
  13. package/lib/alerts/AlertProvider.js.map +1 -1
  14. package/lib/alerts/BaseAlert.js +1 -1
  15. package/lib/alerts/Message.js +29 -29
  16. package/lib/alerts/Message.js.map +1 -1
  17. package/lib/alerts/withAlert.d.ts +2 -2
  18. package/lib/alerts/withAlert.js +9 -9
  19. package/lib/alerts/withAlert.js.map +1 -1
  20. package/lib/{styles/assets → assets}/styles/button.css +1 -1
  21. package/lib/assets/styles/calendar.css +1 -0
  22. package/lib/{styles/assets → assets}/styles/checkbox.css +1 -1
  23. package/lib/assets/styles/checkbox2.css +1 -0
  24. package/lib/assets/styles/colorpicker.css +1 -0
  25. package/lib/assets/styles/datepicker2.css +1 -0
  26. package/lib/{styles/assets → assets}/styles/drawers.css +1 -1
  27. package/lib/{styles/assets → assets}/styles/fieldset.css +1 -1
  28. package/lib/assets/styles/file.css +1 -0
  29. package/lib/{styles/assets/styles/file.css → assets/styles/filefield.css} +1 -1
  30. package/lib/{styles/assets → assets}/styles/floatMenu.css +1 -1
  31. package/lib/assets/styles/gridlayout.css +1 -0
  32. package/lib/{styles/assets → assets}/styles/label.css +1 -1
  33. package/lib/{styles/assets → assets}/styles/multiSelect.css +1 -1
  34. package/lib/assets/styles/numberfield.css +1 -0
  35. package/lib/assets/styles/radiofield.css +1 -0
  36. package/lib/assets/styles/select.css +1 -0
  37. package/lib/assets/styles/selectfield.css +1 -0
  38. package/lib/{styles/assets → assets}/styles/sidenav.css +1 -1
  39. package/lib/assets/styles/slot.css +1 -0
  40. package/lib/{styles/assets → assets}/styles/table.css +1 -1
  41. package/lib/assets/styles/tabs.css +1 -0
  42. package/lib/assets/styles/textfield.css +1 -0
  43. package/lib/avatar/index.js +9 -9
  44. package/lib/avatar/index.js.map +1 -1
  45. package/lib/badge/index.js +4 -4
  46. package/lib/badge/index.js.map +1 -1
  47. package/lib/buttons/ActivateButton.js +6 -6
  48. package/lib/buttons/ActivateButton.js.map +1 -1
  49. package/lib/buttons/AddButton.js +6 -6
  50. package/lib/buttons/AddButton.js.map +1 -1
  51. package/lib/buttons/Button.js +8 -8
  52. package/lib/buttons/Button.js.map +1 -1
  53. package/lib/buttons/ButtonGroups.js +4 -4
  54. package/lib/buttons/ButtonGroups.js.map +1 -1
  55. package/lib/buttons/CancelButton.js +6 -6
  56. package/lib/buttons/CancelButton.js.map +1 -1
  57. package/lib/buttons/DangerButton.js +8 -8
  58. package/lib/buttons/DangerButton.js.map +1 -1
  59. package/lib/buttons/DefaultButton.js +85 -77
  60. package/lib/buttons/DefaultButton.js.map +1 -1
  61. package/lib/buttons/DestroyButton.d.ts +1 -1
  62. package/lib/buttons/DestroyButton.js +11 -16
  63. package/lib/buttons/DestroyButton.js.map +1 -1
  64. package/lib/buttons/EditButton.js +4 -4
  65. package/lib/buttons/EditButton.js.map +1 -1
  66. package/lib/buttons/InactivateButton.js +6 -6
  67. package/lib/buttons/InactivateButton.js.map +1 -1
  68. package/lib/buttons/InfoButton.js +7 -7
  69. package/lib/buttons/InfoButton.js.map +1 -1
  70. package/lib/buttons/PrimaryButton.js +5 -5
  71. package/lib/buttons/PrimaryButton.js.map +1 -1
  72. package/lib/buttons/RestoreButton.js +4 -4
  73. package/lib/buttons/RestoreButton.js.map +1 -1
  74. package/lib/buttons/SaveButton.js +6 -6
  75. package/lib/buttons/SaveButton.js.map +1 -1
  76. package/lib/buttons/SuccessButton.js +6 -6
  77. package/lib/buttons/SuccessButton.js.map +1 -1
  78. package/lib/buttons/WarningButton.js +7 -7
  79. package/lib/buttons/WarningButton.js.map +1 -1
  80. package/lib/buttons/button_container/index.js +9 -9
  81. package/lib/buttons/button_container/index.js.map +1 -1
  82. package/lib/buttons/index.js +1 -1
  83. package/lib/buttons/split_button/index.d.ts +2 -2
  84. package/lib/buttons/split_button/index.js +42 -41
  85. package/lib/buttons/split_button/index.js.map +1 -1
  86. package/lib/buttons/types.d.ts +6 -6
  87. package/lib/calendar/DangerCalendar.d.ts +1 -1
  88. package/lib/calendar/DangerCalendar.js +10 -15
  89. package/lib/calendar/DangerCalendar.js.map +1 -1
  90. package/lib/calendar/InfoCalendar.d.ts +1 -1
  91. package/lib/calendar/InfoCalendar.js +12 -17
  92. package/lib/calendar/InfoCalendar.js.map +1 -1
  93. package/lib/calendar/PrimaryCalendar.d.ts +1 -1
  94. package/lib/calendar/PrimaryCalendar.js +11 -16
  95. package/lib/calendar/PrimaryCalendar.js.map +1 -1
  96. package/lib/calendar/SuccessCalendar.d.ts +1 -1
  97. package/lib/calendar/SuccessCalendar.js +11 -16
  98. package/lib/calendar/SuccessCalendar.js.map +1 -1
  99. package/lib/calendar/WarningCalendar.d.ts +1 -1
  100. package/lib/calendar/WarningCalendar.js +10 -15
  101. package/lib/calendar/WarningCalendar.js.map +1 -1
  102. package/lib/calendar/base/helpers.d.ts +1 -2
  103. package/lib/calendar/base/helpers.js +2 -2
  104. package/lib/calendar/base/helpers.js.map +1 -1
  105. package/lib/calendar/base/index.js +160 -125
  106. package/lib/calendar/base/index.js.map +1 -1
  107. package/lib/checkbox/index.d.ts +1 -2
  108. package/lib/checkbox/index.js +43 -38
  109. package/lib/checkbox/index.js.map +1 -1
  110. package/lib/checkbox/types.d.ts +1 -0
  111. package/lib/dialog/Alert.js +13 -12
  112. package/lib/dialog/Alert.js.map +1 -1
  113. package/lib/dialog/Custom.js +17 -17
  114. package/lib/dialog/Custom.js.map +1 -1
  115. package/lib/dialog/Error.js +8 -7
  116. package/lib/dialog/Error.js.map +1 -1
  117. package/lib/dialog/Information.js +10 -9
  118. package/lib/dialog/Information.js.map +1 -1
  119. package/lib/dialog/Question.js +26 -26
  120. package/lib/dialog/Question.js.map +1 -1
  121. package/lib/dialog/Warning.js +14 -13
  122. package/lib/dialog/Warning.js.map +1 -1
  123. package/lib/dialog/base/Content.js +8 -9
  124. package/lib/dialog/base/Content.js.map +1 -1
  125. package/lib/dialog/base/Footer.js +2 -2
  126. package/lib/dialog/base/Footer.js.map +1 -1
  127. package/lib/dialog/base/Header.js +7 -7
  128. package/lib/dialog/base/Header.js.map +1 -1
  129. package/lib/dialog/base/index.d.ts +1 -2
  130. package/lib/dialog/base/index.js +140 -123
  131. package/lib/dialog/base/index.js.map +1 -1
  132. package/lib/dialog/form/index.d.ts +1 -2
  133. package/lib/dialog/form/index.js +105 -62
  134. package/lib/dialog/form/index.js.map +1 -1
  135. package/lib/dialog/types.d.ts +10 -5
  136. package/lib/dialog/wizard/index.d.ts +1 -2
  137. package/lib/dialog/wizard/index.js +39 -39
  138. package/lib/dialog/wizard/index.js.map +1 -1
  139. package/lib/dialog/wizard/progressbar.js +7 -7
  140. package/lib/dialog/wizard/progressbar.js.map +1 -1
  141. package/lib/dialog/wizard/step.js +4 -4
  142. package/lib/dialog/wizard/step.js.map +1 -1
  143. package/lib/dialog/wizard/useWizard.js +29 -29
  144. package/lib/dialog/wizard/useWizard.js.map +1 -1
  145. package/lib/drawer/Content.js +10 -10
  146. package/lib/drawer/Content.js.map +1 -1
  147. package/lib/drawer/Drawer.d.ts +1 -2
  148. package/lib/drawer/Drawer.js +49 -48
  149. package/lib/drawer/Drawer.js.map +1 -1
  150. package/lib/drawer/Header.js +22 -22
  151. package/lib/drawer/Header.js.map +1 -1
  152. package/lib/drawer/helpers.d.ts +1 -2
  153. package/lib/drawer/helpers.js +2 -2
  154. package/lib/drawer/helpers.js.map +1 -1
  155. package/lib/drawer/index.js +1 -1
  156. package/lib/drawer/types.d.ts +4 -3
  157. package/lib/dropdown/Popup.js +4 -4
  158. package/lib/dropdown/Popup.js.map +1 -1
  159. package/lib/dropdown/withDropdown.d.ts +3 -3
  160. package/lib/dropdown/withDropdown.js +22 -22
  161. package/lib/dropdown/withDropdown.js.map +1 -1
  162. package/lib/fieldset/index.js +29 -29
  163. package/lib/fieldset/index.js.map +1 -1
  164. package/lib/form/Field.js +94 -76
  165. package/lib/form/Field.js.map +1 -1
  166. package/lib/form/FieldArray.js +43 -45
  167. package/lib/form/FieldArray.js.map +1 -1
  168. package/lib/form/FieldNumber.js +46 -36
  169. package/lib/form/FieldNumber.js.map +1 -1
  170. package/lib/form/FieldPeriod.js +72 -75
  171. package/lib/form/FieldPeriod.js.map +1 -1
  172. package/lib/form/helpers.d.ts +2 -3
  173. package/lib/form/helpers.js +22 -22
  174. package/lib/form/helpers.js.map +1 -1
  175. package/lib/form/index.d.ts +1 -1
  176. package/lib/form/index.js +119 -98
  177. package/lib/form/index.js.map +1 -1
  178. package/lib/form/types.d.ts +14 -2
  179. package/lib/form/withFieldHOC.d.ts +2 -2
  180. package/lib/form/withFieldHOC.js +26 -25
  181. package/lib/form/withFieldHOC.js.map +1 -1
  182. package/lib/form/withFormSecurity.d.ts +3 -3
  183. package/lib/form/withFormSecurity.js +2 -2
  184. package/lib/form/withFormSecurity.js.map +1 -1
  185. package/lib/form2/helpers.d.ts +5 -0
  186. package/lib/form2/helpers.js +24 -0
  187. package/lib/form2/helpers.js.map +1 -0
  188. package/lib/form2/index.d.ts +7 -0
  189. package/lib/form2/index.js +23 -0
  190. package/lib/form2/index.js.map +1 -0
  191. package/lib/form2/types.d.ts +128 -0
  192. package/lib/form2/useForm/index.d.ts +3 -0
  193. package/lib/form2/useForm/index.js +117 -0
  194. package/lib/form2/useForm/index.js.map +1 -0
  195. package/lib/gridlayout/GridCol.js +10 -10
  196. package/lib/gridlayout/GridCol.js.map +1 -1
  197. package/lib/gridlayout/GridRow.js +7 -7
  198. package/lib/gridlayout/GridRow.js.map +1 -1
  199. package/lib/hint/helpers.js.map +1 -1
  200. package/lib/hint/index.js +9 -9
  201. package/lib/hint/index.js.map +1 -1
  202. package/lib/icons/helper.d.ts +20 -0
  203. package/lib/icons/helper.js +20 -0
  204. package/lib/icons/helper.js.map +1 -1
  205. package/lib/icons/index.d.ts +2 -5
  206. package/lib/icons/index.js +58 -50
  207. package/lib/icons/index.js.map +1 -1
  208. package/lib/icons/types.d.ts +2 -6
  209. package/lib/index.js +22 -19
  210. package/lib/index.js.map +1 -1
  211. package/lib/inputs/base/InputTextBase.js +101 -97
  212. package/lib/inputs/base/InputTextBase.js.map +1 -1
  213. package/lib/inputs/base/helpers.js +5 -5
  214. package/lib/inputs/base/helpers.js.map +1 -1
  215. package/lib/inputs/base/types.d.ts +6 -16
  216. package/lib/inputs/color/index.js +32 -30
  217. package/lib/inputs/color/index.js.map +1 -1
  218. package/lib/inputs/color/types.d.ts +1 -1
  219. package/lib/inputs/date/Dialog.js +9 -9
  220. package/lib/inputs/date/Dialog.js.map +1 -1
  221. package/lib/inputs/date/helpers.d.ts +30 -1
  222. package/lib/inputs/date/helpers.js +48 -7
  223. package/lib/inputs/date/helpers.js.map +1 -1
  224. package/lib/inputs/date/index.js +89 -85
  225. package/lib/inputs/date/index.js.map +1 -1
  226. package/lib/inputs/date/types.d.ts +3 -2
  227. package/lib/inputs/errorMessage/index.d.ts +1 -2
  228. package/lib/inputs/errorMessage/index.js +9 -9
  229. package/lib/inputs/errorMessage/index.js.map +1 -1
  230. package/lib/inputs/file/DefaultFile.js +48 -49
  231. package/lib/inputs/file/DefaultFile.js.map +1 -1
  232. package/lib/inputs/file/DragDropFile.js +5 -4
  233. package/lib/inputs/file/DragDropFile.js.map +1 -1
  234. package/lib/inputs/file/File.js +16 -15
  235. package/lib/inputs/file/File.js.map +1 -1
  236. package/lib/inputs/file/FileButtonSettings.js +8 -8
  237. package/lib/inputs/file/FileButtonSettings.js.map +1 -1
  238. package/lib/inputs/file/index.js +4 -5
  239. package/lib/inputs/file/index.js.map +1 -1
  240. package/lib/inputs/inputHOC.d.ts +2 -2
  241. package/lib/inputs/inputHOC.js +20 -20
  242. package/lib/inputs/inputHOC.js.map +1 -1
  243. package/lib/inputs/mask/BaseMask.d.ts +1 -1
  244. package/lib/inputs/mask/BaseMask.js +81 -71
  245. package/lib/inputs/mask/BaseMask.js.map +1 -1
  246. package/lib/inputs/mask/Cnpj.js +27 -27
  247. package/lib/inputs/mask/Cnpj.js.map +1 -1
  248. package/lib/inputs/mask/Cpf.js +19 -19
  249. package/lib/inputs/mask/Cpf.js.map +1 -1
  250. package/lib/inputs/mask/Phone.js +6 -6
  251. package/lib/inputs/mask/Phone.js.map +1 -1
  252. package/lib/inputs/mask/ZipCode.js +4 -4
  253. package/lib/inputs/mask/ZipCode.js.map +1 -1
  254. package/lib/inputs/mask/helpers.d.ts +2 -49
  255. package/lib/inputs/mask/helpers.js +57 -52
  256. package/lib/inputs/mask/helpers.js.map +1 -1
  257. package/lib/inputs/mask/types.d.ts +2 -1
  258. package/lib/inputs/multiSelect/ActionButtons.js +21 -19
  259. package/lib/inputs/multiSelect/ActionButtons.js.map +1 -1
  260. package/lib/inputs/multiSelect/Dropdown.js +59 -58
  261. package/lib/inputs/multiSelect/Dropdown.js.map +1 -1
  262. package/lib/inputs/multiSelect/index.js +163 -149
  263. package/lib/inputs/multiSelect/index.js.map +1 -1
  264. package/lib/inputs/multiSelect/types.d.ts +3 -1
  265. package/lib/inputs/number/BaseNumber.js +28 -28
  266. package/lib/inputs/number/BaseNumber.js.map +1 -1
  267. package/lib/inputs/number/Currency.js +14 -14
  268. package/lib/inputs/number/Currency.js.map +1 -1
  269. package/lib/inputs/number/Decimal.js +4 -4
  270. package/lib/inputs/number/Decimal.js.map +1 -1
  271. package/lib/inputs/number/format_number.d.ts +1 -1
  272. package/lib/inputs/number/format_number.js +7 -7
  273. package/lib/inputs/number/format_number.js.map +1 -1
  274. package/lib/inputs/number/index.js +14 -14
  275. package/lib/inputs/number/index.js.map +1 -1
  276. package/lib/inputs/number/types.d.ts +3 -3
  277. package/lib/inputs/period/Dialog.js +10 -10
  278. package/lib/inputs/period/Dialog.js.map +1 -1
  279. package/lib/inputs/period/PeriodList.js +16 -16
  280. package/lib/inputs/period/PeriodList.js.map +1 -1
  281. package/lib/inputs/period/index.js +145 -159
  282. package/lib/inputs/period/index.js.map +1 -1
  283. package/lib/inputs/period/types.d.ts +4 -1
  284. package/lib/inputs/search/index.js +67 -62
  285. package/lib/inputs/search/index.js.map +1 -1
  286. package/lib/inputs/select/ActionButtons.js +11 -11
  287. package/lib/inputs/select/ActionButtons.js.map +1 -1
  288. package/lib/inputs/select/Dropdown.js +33 -33
  289. package/lib/inputs/select/Dropdown.js.map +1 -1
  290. package/lib/inputs/select/index.js +9 -9
  291. package/lib/inputs/select/index.js.map +1 -1
  292. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  293. package/lib/inputs/select/multiple/Selecteds.js +18 -17
  294. package/lib/inputs/select/multiple/Selecteds.js.map +1 -1
  295. package/lib/inputs/select/multiple/index.js +76 -74
  296. package/lib/inputs/select/multiple/index.js.map +1 -1
  297. package/lib/inputs/select/simple/index.js +85 -83
  298. package/lib/inputs/select/simple/index.js.map +1 -1
  299. package/lib/inputs/select/types.d.ts +2 -0
  300. package/lib/inputs/text/index.js +6 -6
  301. package/lib/inputs/text/index.js.map +1 -1
  302. package/lib/inputs/text/types.d.ts +1 -4
  303. package/lib/inputs/textarea/index.js +9 -9
  304. package/lib/inputs/textarea/index.js.map +1 -1
  305. package/lib/inputs/types.d.ts +3 -2
  306. package/lib/inputs2/checkboxfield/index.d.ts +32 -0
  307. package/lib/inputs2/checkboxfield/index.js +115 -0
  308. package/lib/inputs2/checkboxfield/index.js.map +1 -0
  309. package/lib/inputs2/colorfield/index.d.ts +8 -0
  310. package/lib/inputs2/colorfield/index.js +92 -0
  311. package/lib/inputs2/colorfield/index.js.map +1 -0
  312. package/lib/inputs2/date/base/constants.d.ts +4 -0
  313. package/lib/inputs2/date/base/constants.js +39 -0
  314. package/lib/inputs2/date/base/constants.js.map +1 -0
  315. package/lib/inputs2/date/base/index.d.ts +6 -0
  316. package/lib/inputs2/date/base/index.js +134 -0
  317. package/lib/inputs2/date/base/index.js.map +1 -0
  318. package/lib/inputs2/date/datefield/calendarbox.d.ts +6 -0
  319. package/lib/inputs2/date/datefield/calendarbox.js +77 -0
  320. package/lib/inputs2/date/datefield/calendarbox.js.map +1 -0
  321. package/lib/inputs2/date/datefield/context.d.ts +4 -0
  322. package/lib/inputs2/date/datefield/context.js +12 -0
  323. package/lib/inputs2/date/datefield/context.js.map +1 -0
  324. package/lib/inputs2/date/datefield/index.d.ts +4 -0
  325. package/lib/inputs2/date/datefield/index.js +318 -0
  326. package/lib/inputs2/date/datefield/index.js.map +1 -0
  327. package/lib/inputs2/date/datefield/triggers.d.ts +8 -0
  328. package/lib/inputs2/date/datefield/triggers.js +30 -0
  329. package/lib/inputs2/date/datefield/triggers.js.map +1 -0
  330. package/lib/inputs2/date/datefield/types.d.ts +61 -0
  331. package/lib/inputs2/date/dateperiodfield/calendarbox.d.ts +6 -0
  332. package/lib/inputs2/date/dateperiodfield/calendarbox.js +97 -0
  333. package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -0
  334. package/lib/inputs2/date/dateperiodfield/context.d.ts +4 -0
  335. package/lib/inputs2/date/dateperiodfield/context.js +12 -0
  336. package/lib/inputs2/date/dateperiodfield/context.js.map +1 -0
  337. package/lib/inputs2/date/dateperiodfield/index.d.ts +4 -0
  338. package/lib/inputs2/date/dateperiodfield/index.js +523 -0
  339. package/lib/inputs2/date/dateperiodfield/index.js.map +1 -0
  340. package/lib/inputs2/date/dateperiodfield/triggers.d.ts +5 -0
  341. package/lib/inputs2/date/dateperiodfield/triggers.js +65 -0
  342. package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -0
  343. package/lib/inputs2/date/dateperiodfield/types.d.ts +99 -0
  344. package/lib/inputs2/date/helpers.d.ts +10 -0
  345. package/lib/inputs2/date/helpers.js +53 -0
  346. package/lib/inputs2/date/helpers.js.map +1 -0
  347. package/lib/inputs2/date/types.d.ts +59 -0
  348. package/lib/inputs2/date/types.js +5 -0
  349. package/lib/inputs2/date/types.js.map +1 -0
  350. package/lib/inputs2/filefield/index.d.ts +11 -0
  351. package/lib/inputs2/filefield/index.js +123 -0
  352. package/lib/inputs2/filefield/index.js.map +1 -0
  353. package/lib/inputs2/index.d.ts +16 -0
  354. package/lib/inputs2/index.js +33 -0
  355. package/lib/inputs2/index.js.map +1 -0
  356. package/lib/inputs2/mask/BaseMask.d.ts +13 -0
  357. package/lib/inputs2/mask/BaseMask.js +79 -0
  358. package/lib/inputs2/mask/BaseMask.js.map +1 -0
  359. package/lib/inputs2/mask/Cnpj.d.ts +6 -0
  360. package/lib/inputs2/mask/Cnpj.js +48 -0
  361. package/lib/inputs2/mask/Cnpj.js.map +1 -0
  362. package/lib/inputs2/mask/Cpf.d.ts +6 -0
  363. package/lib/inputs2/mask/Cpf.js +44 -0
  364. package/lib/inputs2/mask/Cpf.js.map +1 -0
  365. package/lib/inputs2/mask/Phone.d.ts +6 -0
  366. package/lib/inputs2/mask/Phone.js +22 -0
  367. package/lib/inputs2/mask/Phone.js.map +1 -0
  368. package/lib/inputs2/mask/ZipCode.d.ts +3 -0
  369. package/lib/inputs2/mask/ZipCode.js +20 -0
  370. package/lib/inputs2/mask/ZipCode.js.map +1 -0
  371. package/lib/inputs2/mask/helpers.d.ts +2 -0
  372. package/lib/inputs2/mask/helpers.js +34 -0
  373. package/lib/inputs2/mask/helpers.js.map +1 -0
  374. package/lib/inputs2/numberfield/currency.d.ts +3 -0
  375. package/lib/inputs2/numberfield/currency.js +116 -0
  376. package/lib/inputs2/numberfield/currency.js.map +1 -0
  377. package/lib/inputs2/numberfield/decimal.d.ts +3 -0
  378. package/lib/inputs2/numberfield/decimal.js +108 -0
  379. package/lib/inputs2/numberfield/decimal.js.map +1 -0
  380. package/lib/inputs2/numberfield/helpers.d.ts +28 -0
  381. package/lib/inputs2/numberfield/helpers.js +19 -0
  382. package/lib/inputs2/numberfield/helpers.js.map +1 -0
  383. package/lib/inputs2/numberfield/index.d.ts +7 -0
  384. package/lib/inputs2/numberfield/index.js +105 -0
  385. package/lib/inputs2/numberfield/index.js.map +1 -0
  386. package/lib/inputs2/numberfield/types.d.ts +26 -0
  387. package/lib/inputs2/radiofield/index.d.ts +4 -0
  388. package/lib/inputs2/radiofield/index.js +115 -0
  389. package/lib/inputs2/radiofield/index.js.map +1 -0
  390. package/lib/inputs2/radiofield/types.d.ts +31 -0
  391. package/lib/inputs2/selectfield/context.d.ts +38 -0
  392. package/lib/inputs2/selectfield/context.js +12 -0
  393. package/lib/inputs2/selectfield/context.js.map +1 -0
  394. package/lib/inputs2/selectfield/helpers.d.ts +5 -0
  395. package/lib/inputs2/selectfield/helpers.js +17 -0
  396. package/lib/inputs2/selectfield/helpers.js.map +1 -0
  397. package/lib/inputs2/selectfield/index.d.ts +7 -0
  398. package/lib/inputs2/selectfield/index.js +409 -0
  399. package/lib/inputs2/selectfield/index.js.map +1 -0
  400. package/lib/inputs2/selectfield/item.d.ts +11 -0
  401. package/lib/inputs2/selectfield/item.js +57 -0
  402. package/lib/inputs2/selectfield/item.js.map +1 -0
  403. package/lib/inputs2/selectfield/listbox.d.ts +6 -0
  404. package/lib/inputs2/selectfield/listbox.js +78 -0
  405. package/lib/inputs2/selectfield/listbox.js.map +1 -0
  406. package/lib/inputs2/selectfield/options.d.ts +8 -0
  407. package/lib/inputs2/selectfield/options.js +20 -0
  408. package/lib/inputs2/selectfield/options.js.map +1 -0
  409. package/lib/inputs2/selectfield/search.d.ts +6 -0
  410. package/lib/inputs2/selectfield/search.js +58 -0
  411. package/lib/inputs2/selectfield/search.js.map +1 -0
  412. package/lib/inputs2/selectfield/selections.d.ts +9 -0
  413. package/lib/inputs2/selectfield/selections.js +66 -0
  414. package/lib/inputs2/selectfield/selections.js.map +1 -0
  415. package/lib/inputs2/selectfield/triggers.d.ts +8 -0
  416. package/lib/inputs2/selectfield/triggers.js +82 -0
  417. package/lib/inputs2/selectfield/triggers.js.map +1 -0
  418. package/lib/inputs2/selectfield/types.d.ts +52 -0
  419. package/lib/inputs2/selectfield/types.js +6 -0
  420. package/lib/inputs2/selectfield/types.js.map +1 -0
  421. package/lib/inputs2/slot/index.d.ts +17 -0
  422. package/lib/inputs2/slot/index.js +50 -0
  423. package/lib/inputs2/slot/index.js.map +1 -0
  424. package/lib/inputs2/textareafield/index.d.ts +30 -0
  425. package/lib/inputs2/textareafield/index.js +137 -0
  426. package/lib/inputs2/textareafield/index.js.map +1 -0
  427. package/lib/inputs2/textfield/index.d.ts +30 -0
  428. package/lib/inputs2/textfield/index.js +110 -0
  429. package/lib/inputs2/textfield/index.js.map +1 -0
  430. package/lib/internals/constants.d.ts +3 -0
  431. package/lib/internals/constants.js +6 -3
  432. package/lib/internals/constants.js.map +1 -1
  433. package/lib/internals/types.d.ts +0 -15
  434. package/lib/labelMessages/index.js +20 -20
  435. package/lib/labelMessages/index.js.map +1 -1
  436. package/lib/labels/DangerLabel.d.ts +1 -1
  437. package/lib/labels/DangerLabel.js +11 -16
  438. package/lib/labels/DangerLabel.js.map +1 -1
  439. package/lib/labels/DefaultLabel.d.ts +2 -5
  440. package/lib/labels/DefaultLabel.js +49 -42
  441. package/lib/labels/DefaultLabel.js.map +1 -1
  442. package/lib/labels/InfoLabel.d.ts +1 -1
  443. package/lib/labels/InfoLabel.js +10 -15
  444. package/lib/labels/InfoLabel.js.map +1 -1
  445. package/lib/labels/PrimaryLabel.d.ts +1 -1
  446. package/lib/labels/PrimaryLabel.js +11 -16
  447. package/lib/labels/PrimaryLabel.js.map +1 -1
  448. package/lib/labels/SuccessLabel.d.ts +1 -1
  449. package/lib/labels/SuccessLabel.js +11 -16
  450. package/lib/labels/SuccessLabel.js.map +1 -1
  451. package/lib/labels/WarningLabel.d.ts +1 -1
  452. package/lib/labels/WarningLabel.js +11 -16
  453. package/lib/labels/WarningLabel.js.map +1 -1
  454. package/lib/labels/index.js +1 -1
  455. package/lib/labels/label_container/index.js +7 -7
  456. package/lib/labels/label_container/index.js.map +1 -1
  457. package/lib/labels/types.d.ts +4 -7
  458. package/lib/list/Header.js +5 -5
  459. package/lib/list/Header.js.map +1 -1
  460. package/lib/list/Item.d.ts +2 -5
  461. package/lib/list/Item.js +106 -103
  462. package/lib/list/Item.js.map +1 -1
  463. package/lib/list/Separator.js +4 -4
  464. package/lib/list/Separator.js.map +1 -1
  465. package/lib/list/helpers.d.ts +1 -2
  466. package/lib/list/helpers.js +2 -2
  467. package/lib/list/helpers.js.map +1 -1
  468. package/lib/list/index.js +5 -5
  469. package/lib/list/index.js.map +1 -1
  470. package/lib/list/types.d.ts +5 -8
  471. package/lib/menus/float/MenuItem.js +7 -7
  472. package/lib/menus/float/MenuItem.js.map +1 -1
  473. package/lib/menus/float/SubMenuContainer.js +15 -15
  474. package/lib/menus/float/SubMenuContainer.js.map +1 -1
  475. package/lib/menus/float/helpers.d.ts +1 -2
  476. package/lib/menus/float/helpers.js +2 -2
  477. package/lib/menus/float/helpers.js.map +1 -1
  478. package/lib/menus/float/index.js +9 -9
  479. package/lib/menus/float/index.js.map +1 -1
  480. package/lib/menus/sidenav/ExpandMenu.js +4 -4
  481. package/lib/menus/sidenav/ExpandMenu.js.map +1 -1
  482. package/lib/menus/sidenav/MenuLink.d.ts +2 -5
  483. package/lib/menus/sidenav/MenuLink.js +24 -17
  484. package/lib/menus/sidenav/MenuLink.js.map +1 -1
  485. package/lib/menus/sidenav/NavMenuGroup.js +9 -9
  486. package/lib/menus/sidenav/NavMenuGroup.js.map +1 -1
  487. package/lib/menus/sidenav/NavMenuItem.d.ts +2 -5
  488. package/lib/menus/sidenav/NavMenuItem.js +115 -111
  489. package/lib/menus/sidenav/NavMenuItem.js.map +1 -1
  490. package/lib/menus/sidenav/NavSubMenuItem.js +14 -14
  491. package/lib/menus/sidenav/NavSubMenuItem.js.map +1 -1
  492. package/lib/menus/sidenav/helpers.d.ts +2 -3
  493. package/lib/menus/sidenav/helpers.js +6 -6
  494. package/lib/menus/sidenav/helpers.js.map +1 -1
  495. package/lib/menus/sidenav/index.js +33 -33
  496. package/lib/menus/sidenav/index.js.map +1 -1
  497. package/lib/menus/sidenav/popup_menu_search/EmptyList.js +2 -2
  498. package/lib/menus/sidenav/popup_menu_search/EmptyList.js.map +1 -1
  499. package/lib/menus/sidenav/popup_menu_search/index.d.ts +1 -2
  500. package/lib/menus/sidenav/popup_menu_search/index.js +3 -3
  501. package/lib/menus/sidenav/popup_menu_search/index.js.map +1 -1
  502. package/lib/menus/sidenav/types.d.ts +5 -5
  503. package/lib/noPermission/index.js +5 -5
  504. package/lib/noPermission/index.js.map +1 -1
  505. package/lib/node_modules/imask/esm/masked/enum.js +24 -24
  506. package/lib/node_modules/imask/esm/masked/enum.js.map +1 -1
  507. package/lib/node_modules/imask/esm/masked/factory.js +1 -1
  508. package/lib/node_modules/lodash/_Hash.js +23 -0
  509. package/lib/node_modules/lodash/_Hash.js.map +1 -0
  510. package/lib/node_modules/lodash/_ListCache.js +23 -0
  511. package/lib/node_modules/lodash/_ListCache.js.map +1 -0
  512. package/lib/node_modules/lodash/_Map.js +13 -0
  513. package/lib/node_modules/lodash/_Map.js.map +1 -0
  514. package/lib/node_modules/lodash/_MapCache.js +23 -0
  515. package/lib/node_modules/lodash/_MapCache.js.map +1 -0
  516. package/lib/node_modules/lodash/_Symbol.js +12 -0
  517. package/lib/node_modules/lodash/_Symbol.js.map +1 -0
  518. package/lib/node_modules/lodash/_assocIndexOf.js +18 -0
  519. package/lib/node_modules/lodash/_assocIndexOf.js.map +1 -0
  520. package/lib/node_modules/lodash/_baseGetTag.js +17 -0
  521. package/lib/node_modules/lodash/_baseGetTag.js.map +1 -0
  522. package/lib/node_modules/lodash/_baseIsNative.js +23 -0
  523. package/lib/node_modules/lodash/_baseIsNative.js.map +1 -0
  524. package/lib/node_modules/lodash/_coreJsData.js +12 -0
  525. package/lib/node_modules/lodash/_coreJsData.js.map +1 -0
  526. package/lib/node_modules/lodash/_freeGlobal.js +12 -0
  527. package/lib/node_modules/lodash/_freeGlobal.js.map +1 -0
  528. package/lib/node_modules/lodash/_getMapData.js +16 -0
  529. package/lib/node_modules/lodash/_getMapData.js.map +1 -0
  530. package/lib/node_modules/lodash/_getNative.js +17 -0
  531. package/lib/node_modules/lodash/_getNative.js.map +1 -0
  532. package/lib/node_modules/lodash/_getRawTag.js +22 -0
  533. package/lib/node_modules/lodash/_getRawTag.js.map +1 -0
  534. package/lib/node_modules/lodash/_getValue.js +13 -0
  535. package/lib/node_modules/lodash/_getValue.js.map +1 -0
  536. package/lib/node_modules/lodash/_hashClear.js +15 -0
  537. package/lib/node_modules/lodash/_hashClear.js.map +1 -0
  538. package/lib/node_modules/lodash/_hashDelete.js +14 -0
  539. package/lib/node_modules/lodash/_hashDelete.js.map +1 -0
  540. package/lib/node_modules/lodash/_hashGet.js +20 -0
  541. package/lib/node_modules/lodash/_hashGet.js.map +1 -0
  542. package/lib/node_modules/lodash/_hashHas.js +16 -0
  543. package/lib/node_modules/lodash/_hashHas.js.map +1 -0
  544. package/lib/node_modules/lodash/_hashSet.js +16 -0
  545. package/lib/node_modules/lodash/_hashSet.js.map +1 -0
  546. package/lib/node_modules/lodash/_isKeyable.js +14 -0
  547. package/lib/node_modules/lodash/_isKeyable.js.map +1 -0
  548. package/lib/node_modules/lodash/_isMasked.js +18 -0
  549. package/lib/node_modules/lodash/_isMasked.js.map +1 -0
  550. package/lib/node_modules/lodash/_listCacheClear.js +13 -0
  551. package/lib/node_modules/lodash/_listCacheClear.js.map +1 -0
  552. package/lib/node_modules/lodash/_listCacheDelete.js +19 -0
  553. package/lib/node_modules/lodash/_listCacheDelete.js.map +1 -0
  554. package/lib/node_modules/lodash/_listCacheGet.js +16 -0
  555. package/lib/node_modules/lodash/_listCacheGet.js.map +1 -0
  556. package/lib/node_modules/lodash/_listCacheHas.js +15 -0
  557. package/lib/node_modules/lodash/_listCacheHas.js.map +1 -0
  558. package/lib/node_modules/lodash/_listCacheSet.js +16 -0
  559. package/lib/node_modules/lodash/_listCacheSet.js.map +1 -0
  560. package/lib/node_modules/lodash/_mapCacheClear.js +21 -0
  561. package/lib/node_modules/lodash/_mapCacheClear.js.map +1 -0
  562. package/lib/node_modules/lodash/_mapCacheDelete.js +16 -0
  563. package/lib/node_modules/lodash/_mapCacheDelete.js.map +1 -0
  564. package/lib/node_modules/lodash/_mapCacheGet.js +15 -0
  565. package/lib/node_modules/lodash/_mapCacheGet.js.map +1 -0
  566. package/lib/node_modules/lodash/_mapCacheHas.js +15 -0
  567. package/lib/node_modules/lodash/_mapCacheHas.js.map +1 -0
  568. package/lib/node_modules/lodash/_mapCacheSet.js +16 -0
  569. package/lib/node_modules/lodash/_mapCacheSet.js.map +1 -0
  570. package/lib/node_modules/lodash/_nativeCreate.js +12 -0
  571. package/lib/node_modules/lodash/_nativeCreate.js.map +1 -0
  572. package/lib/node_modules/lodash/_objectToString.js +14 -0
  573. package/lib/node_modules/lodash/_objectToString.js.map +1 -0
  574. package/lib/node_modules/lodash/_root.js +12 -0
  575. package/lib/node_modules/lodash/_root.js.map +1 -0
  576. package/lib/node_modules/lodash/_toSource.js +24 -0
  577. package/lib/node_modules/lodash/_toSource.js.map +1 -0
  578. package/lib/node_modules/lodash/eq.js +13 -0
  579. package/lib/node_modules/lodash/eq.js.map +1 -0
  580. package/lib/node_modules/lodash/isFunction.js +19 -0
  581. package/lib/node_modules/lodash/isFunction.js.map +1 -0
  582. package/lib/node_modules/lodash/isObject.js +14 -0
  583. package/lib/node_modules/lodash/isObject.js.map +1 -0
  584. package/lib/node_modules/lodash/memoize.js +24 -0
  585. package/lib/node_modules/lodash/memoize.js.map +1 -0
  586. package/lib/node_modules/react/cjs/react-compiler-runtime.development.js +31 -0
  587. package/lib/node_modules/react/cjs/react-compiler-runtime.development.js.map +1 -0
  588. package/lib/node_modules/react/cjs/react-compiler-runtime.production.js +24 -0
  589. package/lib/node_modules/react/cjs/react-compiler-runtime.production.js.map +1 -0
  590. package/lib/node_modules/react/compiler-runtime.js +11 -0
  591. package/lib/node_modules/react/compiler-runtime.js.map +1 -0
  592. package/lib/panel/Content.js +32 -29
  593. package/lib/panel/Content.js.map +1 -1
  594. package/lib/panel/DangerPanel.js +4 -4
  595. package/lib/panel/DangerPanel.js.map +1 -1
  596. package/lib/panel/Default.js +27 -27
  597. package/lib/panel/Default.js.map +1 -1
  598. package/lib/panel/Header.js +31 -37
  599. package/lib/panel/Header.js.map +1 -1
  600. package/lib/panel/InfoPanel.js +5 -5
  601. package/lib/panel/InfoPanel.js.map +1 -1
  602. package/lib/panel/PrimaryPanel.js +4 -4
  603. package/lib/panel/PrimaryPanel.js.map +1 -1
  604. package/lib/panel/SuccessPanel.js +6 -6
  605. package/lib/panel/SuccessPanel.js.map +1 -1
  606. package/lib/panel/ToolBar.js +5 -5
  607. package/lib/panel/ToolBar.js.map +1 -1
  608. package/lib/panel/WarningPanel.js +4 -4
  609. package/lib/panel/WarningPanel.js.map +1 -1
  610. package/lib/panel/helpers.d.ts +1 -2
  611. package/lib/panel/helpers.js +4 -4
  612. package/lib/panel/helpers.js.map +1 -1
  613. package/lib/panel/index.js +1 -1
  614. package/lib/popover/PopoverText.d.ts +1 -2
  615. package/lib/popover/PopoverText.js +12 -11
  616. package/lib/popover/PopoverText.js.map +1 -1
  617. package/lib/popover/PopoverTitle.js +2 -2
  618. package/lib/popover/PopoverTitle.js.map +1 -1
  619. package/lib/popover/index.js +14 -14
  620. package/lib/popover/index.js.map +1 -1
  621. package/lib/popover/types.d.ts +1 -0
  622. package/lib/progress/Bar.js +6 -6
  623. package/lib/progress/Bar.js.map +1 -1
  624. package/lib/progress/index.js +11 -11
  625. package/lib/progress/index.js.map +1 -1
  626. package/lib/radio/index.d.ts +4 -1
  627. package/lib/radio/index.js +41 -40
  628. package/lib/radio/index.js.map +1 -1
  629. package/lib/shortcuts/index.js +8 -8
  630. package/lib/shortcuts/index.js.map +1 -1
  631. package/lib/skeleton/SkeletonContainer.js +4 -4
  632. package/lib/skeleton/SkeletonContainer.js.map +1 -1
  633. package/lib/skeleton/index.js +5 -5
  634. package/lib/skeleton/index.js.map +1 -1
  635. package/lib/spinner/SpinnerLoading.js +23 -23
  636. package/lib/spinner/SpinnerLoading.js.map +1 -1
  637. package/lib/spinner/index.js +25 -25
  638. package/lib/spinner/index.js.map +1 -1
  639. package/lib/spinner/types.d.ts +2 -2
  640. package/lib/split/Split.js.map +1 -1
  641. package/lib/split/SplitSide.js +2 -2
  642. package/lib/split/SplitSide.js.map +1 -1
  643. package/lib/split/helpers.d.ts +1 -2
  644. package/lib/split/helpers.js +2 -2
  645. package/lib/split/helpers.js.map +1 -1
  646. package/lib/split/index.js +1 -1
  647. package/lib/table/Body.js +25 -23
  648. package/lib/table/Body.js.map +1 -1
  649. package/lib/table/Header.js +11 -11
  650. package/lib/table/Header.js.map +1 -1
  651. package/lib/table/HeaderColumn.js +24 -24
  652. package/lib/table/HeaderColumn.js.map +1 -1
  653. package/lib/table/Row.js +19 -19
  654. package/lib/table/Row.js.map +1 -1
  655. package/lib/table/RowColumn.js +19 -19
  656. package/lib/table/RowColumn.js.map +1 -1
  657. package/lib/table/helpers.d.ts +2 -3
  658. package/lib/table/helpers.js +7 -7
  659. package/lib/table/helpers.js.map +1 -1
  660. package/lib/table/index.js +82 -84
  661. package/lib/table/index.js.map +1 -1
  662. package/lib/table/types.d.ts +1 -0
  663. package/lib/tabs/DropdownTabs.js +30 -30
  664. package/lib/tabs/DropdownTabs.js.map +1 -1
  665. package/lib/tabs/Menu.d.ts +1 -1
  666. package/lib/tabs/Menu.js +29 -28
  667. package/lib/tabs/Menu.js.map +1 -1
  668. package/lib/tabs/MenuTabs.d.ts +1 -2
  669. package/lib/tabs/MenuTabs.js +68 -58
  670. package/lib/tabs/MenuTabs.js.map +1 -1
  671. package/lib/tabs/Panel.js +29 -29
  672. package/lib/tabs/Panel.js.map +1 -1
  673. package/lib/tabs/context.d.ts +2 -3
  674. package/lib/tabs/context.js +20 -18
  675. package/lib/tabs/context.js.map +1 -1
  676. package/lib/tabs/index.d.ts +1 -1
  677. package/lib/tabs/index.js +73 -63
  678. package/lib/tabs/index.js.map +1 -1
  679. package/lib/tabs/tabHelpers.d.ts +20 -2
  680. package/lib/tabs/tabHelpers.js +21 -22
  681. package/lib/tabs/tabHelpers.js.map +1 -1
  682. package/lib/tabs/types.d.ts +10 -3
  683. package/lib/textContent/index.d.ts +7 -11
  684. package/lib/textContent/index.js +38 -29
  685. package/lib/textContent/index.js.map +1 -1
  686. package/lib/toolbar/ButtonBar.js +26 -26
  687. package/lib/toolbar/ButtonBar.js.map +1 -1
  688. package/lib/toolbar/LabelBar.js +19 -19
  689. package/lib/toolbar/LabelBar.js.map +1 -1
  690. package/lib/toolbar/Separator.js +2 -2
  691. package/lib/toolbar/Separator.js.map +1 -1
  692. package/lib/toolbar/ToolBarGroup.js +4 -4
  693. package/lib/toolbar/ToolBarGroup.js.map +1 -1
  694. package/lib/toolbar/index.js +17 -17
  695. package/lib/toolbar/index.js.map +1 -1
  696. package/lib/toolbar/types.d.ts +1 -1
  697. package/lib/tooltip/TooltipContent.d.ts +3 -0
  698. package/lib/tooltip/TooltipContent.js +40 -0
  699. package/lib/tooltip/TooltipContent.js.map +1 -0
  700. package/lib/tooltip/index.d.ts +2 -3
  701. package/lib/tooltip/index.js +38 -38
  702. package/lib/tooltip/index.js.map +1 -1
  703. package/lib/tooltip/types.d.ts +25 -3
  704. package/lib/tooltip/useTooltip.d.ts +27 -0
  705. package/lib/tooltip/useTooltip.js +96 -0
  706. package/lib/tooltip/useTooltip.js.map +1 -0
  707. package/lib/treetable/Body.js +24 -22
  708. package/lib/treetable/Body.js.map +1 -1
  709. package/lib/treetable/Header.js +9 -9
  710. package/lib/treetable/Header.js.map +1 -1
  711. package/lib/treetable/Row.js +51 -51
  712. package/lib/treetable/Row.js.map +1 -1
  713. package/lib/treetable/helpers.d.ts +5 -4
  714. package/lib/treetable/helpers.js.map +1 -1
  715. package/lib/treetable/index.js +10 -10
  716. package/lib/treetable/index.js.map +1 -1
  717. package/lib/treeview/Header.js +7 -7
  718. package/lib/treeview/Header.js.map +1 -1
  719. package/lib/treeview/Node.js +62 -62
  720. package/lib/treeview/Node.js.map +1 -1
  721. package/lib/treeview/constants.d.ts +1 -2
  722. package/lib/treeview/constants.js +2 -2
  723. package/lib/treeview/constants.js.map +1 -1
  724. package/lib/treeview/index.js +52 -52
  725. package/lib/treeview/index.js.map +1 -1
  726. package/lib/uitour/index.d.ts +1 -2
  727. package/lib/uitour/index.js +23 -22
  728. package/lib/uitour/index.js.map +1 -1
  729. package/package.json +42 -21
  730. package/lib/calendar/base/Day.d.ts +0 -3
  731. package/lib/calendar/base/Day.js +0 -38
  732. package/lib/calendar/base/Day.js.map +0 -1
  733. package/lib/calendar/base/Month.d.ts +0 -3
  734. package/lib/calendar/base/Month.js +0 -29
  735. package/lib/calendar/base/Month.js.map +0 -1
  736. package/lib/calendar/base/Week.d.ts +0 -3
  737. package/lib/calendar/base/Week.js +0 -25
  738. package/lib/calendar/base/Week.js.map +0 -1
  739. package/lib/inputs/base/Label.d.ts +0 -6
  740. package/lib/inputs/base/Label.js +0 -31
  741. package/lib/inputs/base/Label.js.map +0 -1
  742. package/lib/internals/withTooltip.d.ts +0 -8
  743. package/lib/internals/withTooltip.js +0 -123
  744. package/lib/internals/withTooltip.js.map +0 -1
  745. package/lib/styles/assets/styles/calendar.css +0 -1
  746. package/lib/styles/assets/styles/colorpicker.css +0 -1
  747. package/lib/styles/assets/styles/gridlayout.css +0 -1
  748. package/lib/styles/assets/styles/select.css +0 -1
  749. package/lib/styles/assets/styles/tabs.css +0 -1
  750. /package/lib/{styles/assets → assets}/styles/alerts.css +0 -0
  751. /package/lib/{styles/assets → assets}/styles/avatar.css +0 -0
  752. /package/lib/{styles/assets → assets}/styles/badge.css +0 -0
  753. /package/lib/{styles/assets → assets}/styles/datepicker.css +0 -0
  754. /package/lib/{styles/assets → assets}/styles/dialog.css +0 -0
  755. /package/lib/{styles/assets → assets}/styles/dropdown.css +0 -0
  756. /package/lib/{styles/assets → assets}/styles/error.css +0 -0
  757. /package/lib/{styles/assets → assets}/styles/form.css +0 -0
  758. /package/lib/{styles/assets → assets}/styles/hint.css +0 -0
  759. /package/lib/{styles/assets → assets}/styles/icon.css +0 -0
  760. /package/lib/{styles/assets → assets}/styles/input.css +0 -0
  761. /package/lib/{styles/assets → assets}/styles/labelMessages.css +0 -0
  762. /package/lib/{styles/assets → assets}/styles/list.css +0 -0
  763. /package/lib/{styles/assets → assets}/styles/noPermission.css +0 -0
  764. /package/lib/{styles/assets → assets}/styles/numbers.css +0 -0
  765. /package/lib/{styles/assets → assets}/styles/panel.css +0 -0
  766. /package/lib/{styles/assets → assets}/styles/periodpicker.css +0 -0
  767. /package/lib/{styles/assets → assets}/styles/popover.css +0 -0
  768. /package/lib/{styles/assets → assets}/styles/progress.css +0 -0
  769. /package/lib/{styles/assets → assets}/styles/radio.css +0 -0
  770. /package/lib/{styles/assets → assets}/styles/search.css +0 -0
  771. /package/lib/{styles/assets → assets}/styles/shortcuts.css +0 -0
  772. /package/lib/{styles/assets → assets}/styles/skeleton.css +0 -0
  773. /package/lib/{styles/assets → assets}/styles/spinner.css +0 -0
  774. /package/lib/{styles/assets → assets}/styles/split.css +0 -0
  775. /package/lib/{styles/assets → assets}/styles/textContent.css +0 -0
  776. /package/lib/{styles/assets → assets}/styles/toolbar.css +0 -0
  777. /package/lib/{styles/assets → assets}/styles/tooltip.css +0 -0
  778. /package/lib/{styles/assets → assets}/styles/treetable.css +0 -0
  779. /package/lib/{styles/assets → assets}/styles/treeview.css +0 -0
  780. /package/lib/{styles/assets → assets}/styles/uitour.css +0 -0
  781. /package/lib/{styles/assets → assets}/styles/wizard.css +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/lib/form/index.tsx"],"sourcesContent":["import React, { Fragment, useState, useEffect, useContext, useRef, FormEvent, useCallback, KeyboardEvent } from 'react';\nimport { v1 } from 'uuid';\nimport _ from 'lodash';\nimport { changeValue, FormContext } from './helpers';\nimport Field from './Field';\nimport FieldNumber from './FieldNumber';\nimport FieldArray from './FieldArray';\nimport FieldPeriod from './FieldPeriod';\nimport '../assets/styles/form.scss';\nimport { DialogQuestion } from '../dialog';\nimport { FormSecurityContext } from './withFormSecurity';\nimport { FieldErrors, FieldValidator, FormContextProps, FormProps, OnFielChangeEvent, Validator } from './types';\n\nconst Form = ({\n submitOnPressEnterKey = true, dataSource, securityBeforeUnload, handlerReset, handlerSubmit,\n handlerValidates, style, customClass, securityTitle, securityText, securityData, onDataChange,\n onValidateForm, externalFieldErrors, onSubmit, skeletonize, disabled, children,\n useInternalState = false,\n}: FormProps) => {\n const formId = v1();\n const [data, setData] = useState(dataSource);\n const [originalData, setOriginalData] = useState(dataSource);\n const [submitFormOnEnter, setSubmitFormOnEnter] = useState(submitOnPressEnterKey);\n const [fieldErrors, setFieldErrors] = useState<FieldErrors>({});\n const [oldFieldsValidatorsQuantity, setOldFieldsValidatorsQuantity] = useState(0);\n const [isValid, setIsValid] = useState(false);\n const context = useContext(FormSecurityContext);\n const formRef = useRef<HTMLFormElement | null>(null);\n const fieldsValidators = useRef<FieldValidator>({});\n const usedData = useInternalState ? data : dataSource;\n\n const getValidatesErrorMessages = (validators: Validator | Validator[], fieldValue: string) => {\n const validatorsArray = (!(validators instanceof Array)) ? [validators] : validators;\n let errors: string[] = [];\n validatorsArray.forEach((validator: Validator) => {\n if (typeof validator === 'function') {\n const result = validator(fieldValue);\n if (result) errors = [...errors, result];\n }\n });\n return errors;\n };\n\n const getErrorMessages = (\n currentData: object,\n currentValidators: Validator | Validator[] | FieldValidator,\n ) => {\n const dataValidate = currentData || usedData;\n let currentFieldErrors: FieldErrors = _.pickBy(fieldErrors, (error, fieldName) => {\n const fieldValidatorsNames = Object.keys(currentValidators);\n return fieldValidatorsNames.includes(fieldName);\n }) as FieldErrors;\n _.forEach(currentValidators, (validators, fieldName) => {\n const fieldValue = _.get(dataValidate, fieldName);\n const messages = getValidatesErrorMessages(validators, fieldValue);\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: messages };\n });\n\n return currentFieldErrors;\n };\n\n const checkIsValid = (\n currentData: object,\n updateState = true,\n currentValidators: Validator | Validator[] | FieldValidator | null = null,\n ): boolean => {\n const currentFieldErrors =\n getErrorMessages(currentData, currentValidators || fieldsValidators.current);\n const isValidNow = Object.values(currentFieldErrors).every(value => value.length === 0);\n if (updateState) setIsValid(isValidNow);\n return isValidNow;\n };\n\n const onFieldChange = useCallback((event: OnFielChangeEvent) => {\n const { target } = event;\n if (!useInternalState && onDataChange) {\n onDataChange((prevState: object) => changeValue(prevState, target));\n } else {\n setData(prevState => changeValue(prevState, target));\n }\n }, []);\n\n const onValidate = (\n fieldName: string,\n fieldValue: string,\n validators: Validator | Validator[],\n ) => {\n if (validators) {\n let currentFieldErrors = fieldErrors;\n const errors = getValidatesErrorMessages(validators, fieldValue);\n if (errors.length === 0) {\n currentFieldErrors = _.omit(currentFieldErrors, fieldName);\n } else {\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: errors };\n }\n setFieldErrors(currentFieldErrors);\n }\n };\n\n const onFormSubmit = useCallback((event?: Event) => {\n if (event) { event.preventDefault(); event.stopPropagation(); }\n if (checkIsValid(usedData)) onSubmit(usedData);\n }, [usedData]);\n\n const onResetField = (\n cb: React.Dispatch<React.SetStateAction<object>>,\n fields?: string | string[],\n ) => {\n const fieldsArray = !fields ? [] : (fields instanceof Array ? fields : [fields]);\n if (fieldsArray.length > 0) {\n cb((state: any) => {\n const newState = JSON.parse(JSON.stringify(state));\n fieldsArray.forEach((field) => {\n if (field)\n _.set(newState, field, _.get(originalData, field));\n });\n return newState;\n });\n\n setFieldErrors((state) => {\n fieldsArray.forEach((field) => {\n delete state[field];\n });\n return state;\n });\n } else {\n cb(JSON.parse(JSON.stringify(originalData)));\n setFieldErrors({});\n }\n };\n\n const onReset = (fields?: string | string[]) => {\n if (!useInternalState && onDataChange) {\n onResetField(onDataChange, fields);\n } else {\n onResetField(setData, fields);\n }\n };\n\n const onRemoveFieldValidators = (fieldName: string) => {\n const newFieldsValidators = _.omit(fieldsValidators, fieldName);\n fieldsValidators.current = newFieldsValidators;\n };\n\n const onBeforeUnload = (e: Event) => {\n const event = e as Event;\n event.preventDefault();\n if (_.isEqual(usedData, originalData)) return;\n };\n\n const formProps = () => {\n let propsForm = null;\n\n if (!disabled) {\n propsForm = {\n onSubmit: (event: FormEvent<HTMLFormElement>) => event.preventDefault(),\n onKeyPress: (event: KeyboardEvent<HTMLFormElement>) => {\n if (event && event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n if (submitFormOnEnter) onFormSubmit();\n }\n },\n };\n }\n return propsForm;\n };\n\n const updateFormState = () => {\n if (!_.isEmpty(context)) {\n const { onChangedData } = context;\n if (securityData && !_.isEqual(usedData, securityData)) {\n onChangedData(true);\n } else {\n onChangedData(false);\n }\n }\n\n if (onDataChange && useInternalState) onDataChange(usedData);\n\n // TODO - Usar debounce para evitar chamada a cada letra digitada\n if (onValidateForm) onValidateForm(checkIsValid(usedData, true));\n\n if (!disabled) {\n handlerSubmit(onFormSubmit);\n if (handlerReset) handlerReset(onReset);\n if (handlerValidates) handlerValidates(() => checkIsValid(usedData));\n }\n if (_.isEmpty(usedData)) setOriginalData(usedData);\n };\n\n useEffect(() => {\n if (useInternalState) updateFormState();\n }, [JSON.stringify(data), useInternalState]);\n\n useEffect(() => {\n if (!useInternalState && onDataChange) updateFormState();\n }, [JSON.stringify(dataSource), useInternalState]);\n\n useEffect(() => {\n if (securityBeforeUnload) {\n if (context) context.setSecurityBeforeUnload(true);\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => window.removeEventListener('beforeunload', onBeforeUnload);\n }, [securityBeforeUnload, onBeforeUnload]);\n\n useEffect(() => {\n if (!disabled && submitOnPressEnterKey !== submitFormOnEnter) {\n setSubmitFormOnEnter(submitOnPressEnterKey);\n }\n }, [submitOnPressEnterKey]);\n\n useEffect(() => {\n const validatorsQuantity = Object.values(fieldsValidators.current)\n .reduce((acc, currentValue) => acc + (currentValue?.length || 0), 0);\n\n if (fieldsValidators.current && onValidateForm\n && oldFieldsValidatorsQuantity !== validatorsQuantity) {\n setOldFieldsValidatorsQuantity(validatorsQuantity);\n onValidateForm(checkIsValid(usedData, true, fieldsValidators.current));\n }\n }, [\n fieldsValidators.current, oldFieldsValidatorsQuantity, onValidateForm, JSON.stringify(usedData),\n ]);\n\n const contextValues: FormContextProps = {\n skeletonize,\n handlerFieldChange: onFieldChange,\n handlerFieldValidate: onValidate,\n handlerStoreValidators: (fieldName, fieldValidates) => {\n fieldsValidators.current = { ...fieldsValidators.current, [fieldName]: fieldValidates };\n },\n handlerRemoveValidators: onRemoveFieldValidators,\n data: useInternalState ? data : dataSource,\n originalData,\n fieldErrors,\n externalFieldErrors,\n isFormValid: isValid,\n };\n\n return (\n <Fragment>\n <FormContext.Provider value={contextValues}>\n <form\n id={formId}\n ref={formRef}\n style={style}\n {...formProps()}\n role=\"presentation\"\n className={`form-component ${customClass}`}>\n {children}\n </form>\n </FormContext.Provider>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle || 'Dados Alterados'}\n text={securityText || 'Você possui dados alterados, confirma o fechamento?'}\n visible={!_.isEmpty(context) && context.showQuestion}\n onConfirmClick={context ? context.onConfirmClick : () => { }}\n onUnconfirmClick={context ? context.onUnconfirmClick : () => { }} />\n </Fragment>\n );\n};\n\nexport default Form;\nexport {\n Field,\n FieldNumber,\n FieldArray,\n FieldPeriod,\n};\n"],"names":["Form","submitOnPressEnterKey","dataSource","securityBeforeUnload","handlerReset","handlerSubmit","handlerValidates","style","customClass","securityTitle","securityText","securityData","onDataChange","onValidateForm","externalFieldErrors","onSubmit","skeletonize","disabled","children","useInternalState","formId","v1","data","setData","useState","originalData","setOriginalData","submitFormOnEnter","setSubmitFormOnEnter","fieldErrors","setFieldErrors","oldFieldsValidatorsQuantity","setOldFieldsValidatorsQuantity","isValid","setIsValid","context","useContext","FormSecurityContext","formRef","useRef","fieldsValidators","usedData","getValidatesErrorMessages","validators","fieldValue","validatorsArray","Array","errors","forEach","validator","result","getErrorMessages","currentData","currentValidators","dataValidate","currentFieldErrors","_","pickBy","error","fieldName","Object","keys","includes","get","messages","checkIsValid","updateState","current","isValidNow","values","every","value","length","onFieldChange","useCallback","event","target","prevState","changeValue","onValidate","omit","onFormSubmit","preventDefault","stopPropagation","onResetField","cb","fields","fieldsArray","state","newState","JSON","parse","stringify","field","set","onReset","onRemoveFieldValidators","newFieldsValidators","onBeforeUnload","e","isEqual","formProps","propsForm","onKeyPress","key","updateFormState","isEmpty","onChangedData","useEffect","setSecurityBeforeUnload","window","addEventListener","removeEventListener","validatorsQuantity","reduce","acc","currentValue","contextValues","handlerFieldChange","handlerFieldValidate","handlerStoreValidators","fieldValidates","handlerRemoveValidators","isFormValid","Fragment","jsx","FormContext","DialogQuestion","showQuestion","onConfirmClick","onUnconfirmClick"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/lib/form/index.tsx"],"sourcesContent":["import { Fragment, useState, useEffect, useContext, useRef, FormEvent, useCallback, KeyboardEvent, Dispatch, SetStateAction } from 'react';\nimport { v1 } from 'uuid';\nimport _ from 'lodash';\nimport { changeValue, FormContext } from './helpers';\nimport Field from './Field';\nimport FieldNumber from './FieldNumber';\nimport FieldArray from './FieldArray';\nimport FieldPeriod from './FieldPeriod';\nimport '../assets/styles/form.scss';\nimport { DialogQuestion } from '../dialog';\nimport { FormSecurityContext } from './withFormSecurity';\nimport { FieldErrors, FieldValidator, FormContextProps, FormProps, OnFielChangeEvent, Validator, type PropsValidateTabErrors } from './types';\n\nconst Form = ({\n submitOnPressEnterKey = true, dataSource, securityBeforeUnload, handlerReset, handlerSubmit,\n handlerValidates, style, customClass, securityTitle, securityText, securityData, onDataChange,\n onValidateForm, externalFieldErrors, onSubmit, skeletonize, disabled, children,\n useInternalState = false, onValidateErrorsOnTab,\n}: FormProps) => {\n const formId = v1();\n const [data, setData] = useState(dataSource);\n const [originalData, setOriginalData] = useState(dataSource);\n const [submitFormOnEnter, setSubmitFormOnEnter] = useState(submitOnPressEnterKey);\n const [fieldErrors, setFieldErrors] = useState<FieldErrors>({});\n const [oldFieldsValidatorsQuantity, setOldFieldsValidatorsQuantity] = useState(0);\n const [isValid, setIsValid] = useState(false);\n const context = useContext(FormSecurityContext);\n const formRef = useRef<HTMLFormElement | null>(null);\n const fieldsValidators = useRef<FieldValidator>({});\n const tabsWithErrorRef = useRef<PropsValidateTabErrors[]>([]);\n const usedData = useInternalState ? data : dataSource;\n\n const getValidatesErrorMessages = (validators: Validator | Validator[], fieldValue: string) => {\n const validatorsArray = (!(validators instanceof Array)) ? [validators] : validators;\n let errors: string[] = [];\n validatorsArray.forEach((validator: Validator) => {\n if (typeof validator === 'function') {\n const result = validator(fieldValue);\n if (result) errors = [...errors, result];\n }\n });\n return errors;\n };\n\n const getErrorMessages = (\n currentData: object,\n currentValidators: Validator | Validator[] | FieldValidator,\n ) => {\n const dataValidate = currentData || usedData;\n let currentFieldErrors: FieldErrors = _.pickBy(fieldErrors, (__, fieldName) => {\n const fieldValidatorsNames = Object.keys(currentValidators);\n return fieldValidatorsNames.includes(fieldName);\n }) as FieldErrors;\n _.forEach(currentValidators, (validators, fieldName) => {\n const fieldValue = _.get(dataValidate, fieldName);\n const messages = getValidatesErrorMessages(validators, fieldValue);\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: messages };\n });\n return currentFieldErrors;\n };\n\n const checkIsValid = (\n currentData: object,\n updateState = true,\n currentValidators: Validator | Validator[] | FieldValidator | null = null,\n ): boolean => {\n const currentFieldErrors =\n getErrorMessages(currentData, currentValidators || fieldsValidators.current);\n const isValidNow = Object.values(currentFieldErrors).every(value => value.length === 0);\n if (updateState) setIsValid(isValidNow);\n return isValidNow;\n };\n\n const onFieldChange = useCallback((event: OnFielChangeEvent) => {\n const { target } = event;\n if (!useInternalState && onDataChange) {\n onDataChange((prevState: object) => changeValue(prevState, target));\n } else {\n setData(prevState => changeValue(prevState, target));\n }\n }, []);\n\n const onValidate = (\n fieldName: string,\n fieldValue: string,\n validators: Validator | Validator[],\n ) => {\n if (validators) {\n let currentFieldErrors = fieldErrors;\n const errors = getValidatesErrorMessages(validators, fieldValue);\n if (errors.length === 0) {\n currentFieldErrors = _.omit(currentFieldErrors, fieldName);\n } else {\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: errors };\n }\n setFieldErrors(currentFieldErrors);\n }\n };\n\n const onFormSubmit = useCallback((event?: Event) => {\n if (event) { event.preventDefault(); event.stopPropagation(); }\n if (checkIsValid(usedData)) onSubmit(usedData);\n }, [usedData]);\n\n const onResetField = (\n cb: Dispatch<SetStateAction<object>>,\n fields?: string | string[],\n ) => {\n const fieldsArray = !fields ? [] : (fields instanceof Array ? fields : [fields]);\n if (fieldsArray.length > 0) {\n cb((state: any) => {\n const newState = JSON.parse(JSON.stringify(state));\n fieldsArray.forEach((field) => {\n if (field)\n _.set(newState, field, _.get(originalData, field));\n });\n return newState;\n });\n\n setFieldErrors((state) => {\n fieldsArray.forEach((field) => {\n delete state[field];\n });\n return state;\n });\n } else {\n cb(JSON.parse(JSON.stringify(originalData)));\n setFieldErrors({});\n }\n };\n\n const onReset = (fields?: string | string[]) => {\n if (!useInternalState && onDataChange) {\n onResetField(onDataChange, fields);\n } else {\n onResetField(setData, fields);\n }\n };\n\n const onRemoveFieldValidators = (fieldName: string) => {\n const newFieldsValidators = _.omit(fieldsValidators, fieldName);\n fieldsValidators.current = newFieldsValidators;\n };\n\n const onBeforeUnload = (e: Event) => {\n const event = e as Event;\n event.preventDefault();\n if (_.isEqual(usedData, originalData)) return;\n };\n\n const onValidateTabErrors = useCallback((props: PropsValidateTabErrors) => {\n if (!props.tabId) return;\n\n const tabIndex = [...tabsWithErrorRef.current].findIndex(tab => tab.name === props.name);\n\n if (tabIndex !== -1) {\n const novasTabs = [...tabsWithErrorRef.current];\n novasTabs[tabIndex] = props;\n tabsWithErrorRef.current = [...novasTabs];\n } else {\n tabsWithErrorRef.current = [...tabsWithErrorRef.current, props];\n }\n\n if (onValidateErrorsOnTab) {\n const tabIdsWithErrors = _.uniq(\n _.compact(\n tabsWithErrorRef.current.map((tab) => {\n if (tab.hasErrors) return String(tab.tabId);\n }),\n ),\n );\n onValidateErrorsOnTab(tabIdsWithErrors);\n }\n }, [onValidateErrorsOnTab]);\n\n const formProps = () => {\n let propsForm = null;\n\n if (!disabled) {\n propsForm = {\n onSubmit: (event: FormEvent<HTMLFormElement>) => event.preventDefault(),\n onKeyPress: (event: KeyboardEvent<HTMLFormElement>) => {\n if (event && event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n if (submitFormOnEnter) onFormSubmit();\n }\n },\n };\n }\n return propsForm;\n };\n\n const updateFormState = () => {\n if (!_.isEmpty(context)) {\n const { onChangedData } = context;\n if (securityData && !_.isEqual(usedData, securityData)) {\n onChangedData(true);\n } else {\n onChangedData(false);\n }\n }\n\n if (onDataChange && useInternalState) onDataChange(usedData);\n\n // TODO - Usar debounce para evitar chamada a cada letra digitada\n if (onValidateForm) {\n onValidateForm(checkIsValid(usedData, true));\n }\n\n if (!disabled) {\n handlerSubmit(onFormSubmit);\n if (handlerReset) handlerReset(onReset);\n if (handlerValidates) handlerValidates(() => checkIsValid(usedData));\n }\n if (_.isEmpty(usedData)) setOriginalData(usedData);\n };\n\n useEffect(() => {\n if (useInternalState) updateFormState();\n }, [JSON.stringify(data), useInternalState]);\n\n useEffect(() => {\n if (!useInternalState && onDataChange) updateFormState();\n }, [JSON.stringify(dataSource), useInternalState]);\n\n useEffect(() => {\n if (securityBeforeUnload) {\n if (Object.entries(context).length) context.setSecurityBeforeUnload(true);\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n if (securityBeforeUnload && Object.entries(context).length) \n context.setSecurityBeforeUnload(false);\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload, onBeforeUnload]);\n\n useEffect(() => {\n if (!disabled && submitOnPressEnterKey !== submitFormOnEnter) {\n setSubmitFormOnEnter(submitOnPressEnterKey);\n }\n }, [submitOnPressEnterKey]);\n\n useEffect(() => {\n const validatorsQuantity = Object.values(fieldsValidators.current)\n .reduce((acc, currentValue) => acc + (currentValue?.length || 0), 0);\n\n if (fieldsValidators.current && onValidateForm\n && oldFieldsValidatorsQuantity !== validatorsQuantity) {\n setOldFieldsValidatorsQuantity(validatorsQuantity);\n onValidateForm(checkIsValid(usedData, true, fieldsValidators.current));\n }\n }, [\n fieldsValidators.current, oldFieldsValidatorsQuantity, onValidateForm, JSON.stringify(usedData),\n ]);\n\n const contextValues: FormContextProps = {\n skeletonize,\n handlerFieldChange: onFieldChange,\n handlerFieldValidate: onValidate,\n handleValidationErrorsOnTab: onValidateTabErrors,\n handlerStoreValidators: (fieldName, fieldValidates) => {\n fieldsValidators.current = { ...fieldsValidators.current, [fieldName]: fieldValidates };\n },\n handlerRemoveValidators: onRemoveFieldValidators,\n data: useInternalState ? data : dataSource,\n originalData,\n fieldErrors,\n externalFieldErrors,\n isFormValid: isValid,\n };\n\n return (\n <Fragment>\n <FormContext.Provider value={contextValues}>\n <form\n id={formId}\n ref={formRef}\n style={style}\n {...formProps()}\n role=\"presentation\"\n className={`form-component ${customClass}`}>\n {children}\n </form>\n </FormContext.Provider>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle || 'Dados Alterados'}\n text={securityText || 'Você possui dados alterados, confirma o fechamento?'}\n visible={!_.isEmpty(context) && context.showQuestion}\n onConfirmClick={context ? context.onConfirmClick : () => {}}\n onUnconfirmClick={context ? context.onUnconfirmClick : () => {}} />\n </Fragment>\n );\n};\n\nexport default Form;\nexport {\n Field,\n FieldNumber,\n FieldArray,\n FieldPeriod,\n};\n"],"names":["Form","submitOnPressEnterKey","dataSource","securityBeforeUnload","handlerReset","handlerSubmit","handlerValidates","style","customClass","securityTitle","securityText","securityData","onDataChange","onValidateForm","externalFieldErrors","onSubmit","skeletonize","disabled","children","useInternalState","onValidateErrorsOnTab","formId","v1","data","setData","useState","originalData","setOriginalData","submitFormOnEnter","setSubmitFormOnEnter","fieldErrors","setFieldErrors","oldFieldsValidatorsQuantity","setOldFieldsValidatorsQuantity","isValid","setIsValid","context","useContext","FormSecurityContext","formRef","useRef","fieldsValidators","tabsWithErrorRef","usedData","getValidatesErrorMessages","validators","fieldValue","validatorsArray","Array","errors","forEach","validator","result","getErrorMessages","currentData","currentValidators","dataValidate","currentFieldErrors","_","pickBy","__","fieldName","Object","keys","includes","get","messages","checkIsValid","updateState","current","isValidNow","values","every","value","length","onFieldChange","useCallback","event","target","prevState","changeValue","onValidate","omit","onFormSubmit","preventDefault","stopPropagation","onResetField","cb","fields","fieldsArray","state","newState","JSON","parse","stringify","field","set","onReset","onRemoveFieldValidators","newFieldsValidators","onBeforeUnload","e","isEqual","onValidateTabErrors","props","tabId","tabIndex","findIndex","tab","name","novasTabs","tabIdsWithErrors","uniq","compact","map","hasErrors","String","formProps","propsForm","onKeyPress","key","updateFormState","isEmpty","onChangedData","useEffect","entries","setSecurityBeforeUnload","window","addEventListener","removeEventListener","validatorsQuantity","reduce","acc","currentValue","contextValues","handlerFieldChange","handlerFieldValidate","handleValidationErrorsOnTab","handlerStoreValidators","fieldValidates","handlerRemoveValidators","isFormValid","Fragment","jsx","FormContext","DialogQuestion","showQuestion","onConfirmClick","onUnconfirmClick"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ChangeEvent, ComponentType, CSSProperties, MouseEventHandler, ReactNode } from 'react';
1
+ import { ChangeEvent, ComponentType, CSSProperties, Dispatch, MouseEventHandler, ReactNode, SetStateAction } from 'react';
2
2
  import { AllOptions } from '../inputs/select/types';
3
3
  export type Validator = (value: string) => string | undefined;
4
4
  export type PeriodValidator = (value: {
@@ -11,6 +11,11 @@ export type OnFielChangeEvent = Event & {
11
11
  export type CustomKeyboardEvent = ChangeEvent<HTMLInputElement> & {
12
12
  keyCode: number;
13
13
  };
14
+ export type PropsValidateTabErrors = {
15
+ name: string;
16
+ tabId?: string | number;
17
+ hasErrors: boolean;
18
+ };
14
19
  type BaseFormProps = {
15
20
  dataSource: object;
16
21
  children: ReactNode;
@@ -19,6 +24,7 @@ type BaseFormProps = {
19
24
  handlerReset?: (value: () => void) => void;
20
25
  handlerValidates?: (value: any) => void;
21
26
  onValidateForm?: (value: boolean) => void;
27
+ onValidateErrorsOnTab?: (tabIds: Array<string | number>) => void;
22
28
  submitOnPressEnterKey?: boolean;
23
29
  style?: CSSProperties;
24
30
  customClass?: string;
@@ -30,7 +36,7 @@ type BaseFormProps = {
30
36
  skeletonize?: boolean;
31
37
  disabled?: boolean;
32
38
  };
33
- type OnDataChange = React.Dispatch<React.SetStateAction<object>>;
39
+ type OnDataChange = Dispatch<SetStateAction<object>>;
34
40
  export type FormProps = BaseFormProps & ({
35
41
  useInternalState?: false;
36
42
  onDataChange: OnDataChange;
@@ -87,6 +93,8 @@ export interface IFieldProps extends WithFieldProps {
87
93
  disabled?: boolean;
88
94
  currencySymbol?: string;
89
95
  checked?: boolean;
96
+ tabId?: string | number;
97
+ handleValidationErrorsOnTab?: (props: PropsValidateTabErrors) => void;
90
98
  }
91
99
  export interface CustomEvent {
92
100
  target: {
@@ -126,6 +134,7 @@ export interface IFieldArrayProps extends WithFieldProps {
126
134
  hintPosition?: 'below' | 'onLabelRight';
127
135
  themePopover?: 'light' | 'dark';
128
136
  popoverAlign?: 'right' | 'left';
137
+ tabId?: string | number;
129
138
  }
130
139
  export type PeriodChangeEvent = {
131
140
  initial: string;
@@ -162,6 +171,7 @@ export interface IFieldPeriodProps extends WithFieldProps {
162
171
  hintPosition?: 'below' | 'onLabelRight';
163
172
  themePopover?: 'light' | 'dark';
164
173
  popoverAlign?: 'right' | 'left';
174
+ tabId?: string | number;
165
175
  }
166
176
  export interface FormContextProps {
167
177
  skeletonize?: boolean;
@@ -174,6 +184,7 @@ export interface FormContextProps {
174
184
  fieldErrors: object;
175
185
  externalFieldErrors?: object;
176
186
  isFormValid?: boolean;
187
+ handleValidationErrorsOnTab?: (props: PropsValidateTabErrors) => void;
177
188
  }
178
189
  export interface WithFieldProps {
179
190
  name: string;
@@ -182,6 +193,7 @@ export interface WithFieldProps {
182
193
  handlerRemoveValidators?: (name: string) => void;
183
194
  validators?: Validator | Validator[] | PeriodValidator | PeriodValidator[];
184
195
  customClass?: string;
196
+ handleValidationErrorsOnTab?: (props: PropsValidateTabErrors) => void;
185
197
  component: ComponentType<any>;
186
198
  }
187
199
  export interface IWithFieldContext {
@@ -1,4 +1,4 @@
1
- import { default as React } from 'react';
1
+ import { ComponentType } from 'react';
2
2
  import { WithFieldProps } from './types';
3
- declare const withFieldHOC: <ComponentProps extends WithFieldProps>(WrappedComponent: React.ComponentType<ComponentProps>) => any;
3
+ declare const withFieldHOC: <ComponentProps extends WithFieldProps>(WrappedComponent: ComponentType<ComponentProps>) => any;
4
4
  export default withFieldHOC;
@@ -1,61 +1,62 @@
1
- import { jsx as F } from "react/jsx-runtime";
2
- import { c as _ } from "react/compiler-runtime";
3
- import b, { useState as A, useEffect as R } from "react";
4
- import { FormContext as E, getValidatorsArray as g, withFieldContext as j } from "./helpers.js";
5
- const k = (S) => {
6
- const p = (a) => {
7
- const e = _(23), {
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { c as _ } from "../_virtual/compiler-runtime.js";
3
+ import { forwardRef as E, useState as b, useEffect as w } from "react";
4
+ import { FormContext as A, withFieldContext as g, getValidatorsArray as j } from "./helpers.js";
5
+ const k = (R) => {
6
+ const S = (a) => {
7
+ const e = _.c(23), {
8
8
  name: o,
9
9
  validators: t,
10
10
  handlerStoreValidators: n,
11
11
  handlerRemoveValidators: i
12
- } = a, [r, w] = A(void 0);
12
+ } = a, [r, x] = b(void 0);
13
13
  let s;
14
14
  e[0] !== n || e[1] !== o || e[2] !== r || e[3] !== t ? (s = () => {
15
- const V = g(t, r);
15
+ const V = j(t, r);
16
16
  V && n && n(o, V);
17
17
  }, e[0] = n, e[1] = o, e[2] = r, e[3] = t, e[4] = s) : s = e[4];
18
18
  const l = s;
19
- let d;
20
- e[5] !== i || e[6] !== o || e[7] !== l || e[8] !== t ? (d = () => (l(), () => {
19
+ let f;
20
+ e[5] !== i || e[6] !== o || e[7] !== l || e[8] !== t ? (f = () => (l(), () => {
21
21
  t && i && i(o);
22
- }), e[5] = i, e[6] = o, e[7] = l, e[8] = t, e[9] = d) : d = e[9];
23
- let m;
24
- e[10] === Symbol.for("react.memo_cache_sentinel") ? (m = [], e[10] = m) : m = e[10], R(d, m);
22
+ }), e[5] = i, e[6] = o, e[7] = l, e[8] = t, e[9] = f) : f = e[9];
23
+ let d;
24
+ e[10] === Symbol.for("react.memo_cache_sentinel") ? (d = [], e[10] = d) : d = e[10], w(f, d);
25
25
  let c;
26
26
  e[11] !== l ? (c = () => {
27
27
  l();
28
28
  }, e[11] = l, e[12] = c) : c = e[12];
29
29
  let u;
30
- e[13] !== t ? (u = [t], e[13] = t, e[14] = u) : u = e[14], R(c, u);
30
+ e[13] !== t ? (u = [t], e[13] = t, e[14] = u) : u = e[14], w(c, u);
31
31
  let h;
32
32
  e[15] === Symbol.for("react.memo_cache_sentinel") ? (h = (V) => {
33
- w(V);
33
+ x(V);
34
34
  }, e[15] = h) : h = e[15];
35
35
  let C;
36
36
  e[16] !== r ? (C = {
37
37
  validatorFromComponent: r,
38
38
  handlerSetValidatorFromComponent: h
39
39
  }, e[16] = r, e[17] = C) : C = e[17];
40
- const x = C;
41
- let f;
42
- e[18] !== a ? (f = /* @__PURE__ */ F(S, { ...a }), e[18] = a, e[19] = f) : f = e[19];
40
+ const F = C;
41
+ let m;
42
+ e[18] !== a ? (m = /* @__PURE__ */ p(R, { ...a }), e[18] = a, e[19] = m) : m = e[19];
43
43
  let v;
44
- return e[20] !== x || e[21] !== f ? (v = /* @__PURE__ */ F(j.Provider, { value: x, children: f }), e[20] = x, e[21] = f, e[22] = v) : v = e[22], v;
44
+ return e[20] !== F || e[21] !== m ? (v = /* @__PURE__ */ p(g.Provider, { value: F, children: m }), e[20] = F, e[21] = m, e[22] = v) : v = e[22], v;
45
45
  };
46
46
  function y(a, e) {
47
- return /* @__PURE__ */ F(E.Consumer, { children: ({
47
+ return /* @__PURE__ */ p(A.Consumer, { children: ({
48
48
  handlerFieldChange: o,
49
49
  handlerFieldValidate: t,
50
50
  data: n,
51
51
  fieldErrors: i,
52
52
  externalFieldErrors: r,
53
- handlerStoreValidators: w,
53
+ handlerStoreValidators: x,
54
54
  handlerRemoveValidators: s,
55
- skeletonize: l
56
- }) => /* @__PURE__ */ F(p, { ...a, skeletonize: l, handlerFieldChange: o, handlerFieldValidate: t, handlerStoreValidators: w, handlerRemoveValidators: s, data: n, fieldErrors: i, externalFieldErrors: r, forwardedRef: e }) });
55
+ skeletonize: l,
56
+ handleValidationErrorsOnTab: f
57
+ }) => /* @__PURE__ */ p(S, { ...a, skeletonize: l, handlerFieldChange: o, handlerFieldValidate: t, handlerStoreValidators: x, handlerRemoveValidators: s, data: n, fieldErrors: i, externalFieldErrors: r, forwardedRef: e, handleValidationErrorsOnTab: f }) });
57
58
  }
58
- return b.forwardRef(y);
59
+ return E(y);
59
60
  };
60
61
  export {
61
62
  k as default
@@ -1 +1 @@
1
- {"version":3,"file":"withFieldHOC.js","sources":["../../src/lib/form/withFieldHOC.tsx"],"sourcesContent":["import React, { Ref, useEffect, useState } from 'react';\nimport { FormContext, withFieldContext, getValidatorsArray } from './helpers';\nimport { IWithFieldContext, Validator, WithFieldProps } from './types';\n\nconst withFieldHOC = <ComponentProps extends WithFieldProps>(\n WrappedComponent: React.ComponentType<ComponentProps>,\n) => {\n const EnhancedComponent = (props: ComponentProps) => {\n const { name, validators, handlerStoreValidators, handlerRemoveValidators, component } = props;\n const [validatorFromComponent, setValidatorFromComponent] =\n useState<Validator | Validator[] | undefined>(undefined);\n\n const updateValidators = () => {\n const validatorsArray = getValidatorsArray(validators as Validator, validatorFromComponent);\n if (validatorsArray && handlerStoreValidators) handlerStoreValidators(name, validatorsArray);\n };\n\n useEffect(() => {\n updateValidators();\n\n return () => {\n if (validators && handlerRemoveValidators) handlerRemoveValidators(name);\n };\n }, []);\n\n useEffect(() => {\n updateValidators();\n }, [validators]);\n\n const contextValues: IWithFieldContext = {\n validatorFromComponent,\n handlerSetValidatorFromComponent: (validator: Validator | Validator[]) => {\n setValidatorFromComponent(validator);\n },\n };\n\n return (\n <withFieldContext.Provider value={contextValues}>\n <WrappedComponent {...props} />\n </withFieldContext.Provider>\n );\n };\n\n function forwardRef(props: ComponentProps, ref: Ref<HTMLElement>) {\n return (\n <FormContext.Consumer>\n {({\n handlerFieldChange,\n handlerFieldValidate: handlerFieldValidate,\n data,\n fieldErrors,\n externalFieldErrors,\n handlerStoreValidators,\n handlerRemoveValidators,\n skeletonize,\n }) => (\n <EnhancedComponent\n {...props}\n skeletonize={skeletonize}\n handlerFieldChange={handlerFieldChange}\n handlerFieldValidate={handlerFieldValidate}\n handlerStoreValidators={handlerStoreValidators}\n handlerRemoveValidators={handlerRemoveValidators}\n data={data}\n fieldErrors={fieldErrors}\n externalFieldErrors={externalFieldErrors}\n forwardedRef={ref} />\n )}\n </FormContext.Consumer>\n );\n }\n return React.forwardRef(forwardRef as any) as any;\n};\n\nexport default withFieldHOC;\n"],"names":["withFieldHOC","WrappedComponent","EnhancedComponent","props","$","_c","name","validators","handlerStoreValidators","handlerRemoveValidators","validatorFromComponent","setValidatorFromComponent","useState","undefined","t0","validatorsArray","getValidatorsArray","updateValidators","t1","t2","Symbol","for","useEffect","t3","t4","t5","validator","t6","handlerSetValidatorFromComponent","contextValues","t7","jsx","t8","withFieldContext","forwardRef","ref","FormContext","handlerFieldChange","handlerFieldValidate","data","fieldErrors","externalFieldErrors","skeletonize","React"],"mappings":"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"}
1
+ {"version":3,"file":"withFieldHOC.js","sources":["../../src/lib/form/withFieldHOC.tsx"],"sourcesContent":["import { ComponentType, forwardRef, Ref, useEffect, useState } from 'react';\nimport { FormContext, withFieldContext, getValidatorsArray } from './helpers';\nimport { IWithFieldContext, Validator, WithFieldProps } from './types';\n\nconst withFieldHOC = <ComponentProps extends WithFieldProps>(\n WrappedComponent: ComponentType<ComponentProps>,\n) => {\n const EnhancedComponent = (props: ComponentProps) => {\n const { name, validators, handlerStoreValidators, handlerRemoveValidators } = props;\n const [validatorFromComponent, setValidatorFromComponent] =\n useState<Validator | Validator[] | undefined>(undefined);\n\n const updateValidators = () => {\n const validatorsArray = getValidatorsArray(validators as Validator, validatorFromComponent);\n if (validatorsArray && handlerStoreValidators) handlerStoreValidators(name, validatorsArray);\n };\n\n useEffect(() => {\n updateValidators();\n\n return () => {\n if (validators && handlerRemoveValidators) handlerRemoveValidators(name);\n };\n }, []);\n\n useEffect(() => {\n updateValidators();\n }, [validators]);\n\n const contextValues: IWithFieldContext = {\n validatorFromComponent,\n handlerSetValidatorFromComponent: (validator: Validator | Validator[]) => {\n setValidatorFromComponent(validator);\n },\n };\n\n return (\n <withFieldContext.Provider value={contextValues}>\n <WrappedComponent {...props} />\n </withFieldContext.Provider>\n );\n };\n\n function forwardedRef(props: ComponentProps, ref: Ref<HTMLElement>) {\n return (\n <FormContext.Consumer>\n {({\n handlerFieldChange,\n handlerFieldValidate: handlerFieldValidate,\n data,\n fieldErrors,\n externalFieldErrors,\n handlerStoreValidators,\n handlerRemoveValidators,\n skeletonize,\n handleValidationErrorsOnTab,\n }) => (\n <EnhancedComponent\n {...props}\n skeletonize={skeletonize}\n handlerFieldChange={handlerFieldChange}\n handlerFieldValidate={handlerFieldValidate}\n handlerStoreValidators={handlerStoreValidators}\n handlerRemoveValidators={handlerRemoveValidators}\n data={data}\n fieldErrors={fieldErrors}\n externalFieldErrors={externalFieldErrors}\n forwardedRef={ref}\n handleValidationErrorsOnTab={handleValidationErrorsOnTab} />\n )}\n </FormContext.Consumer>\n );\n }\n return forwardRef(forwardedRef as any) as any;\n};\n\nexport default withFieldHOC;\n"],"names":["withFieldHOC","WrappedComponent","EnhancedComponent","props","$","_c","name","validators","handlerStoreValidators","handlerRemoveValidators","validatorFromComponent","setValidatorFromComponent","useState","undefined","t0","validatorsArray","getValidatorsArray","updateValidators","t1","t2","Symbol","for","useEffect","t3","t4","t5","validator","t6","handlerSetValidatorFromComponent","contextValues","t7","jsx","t8","withFieldContext","forwardedRef","ref","FormContext","handlerFieldChange","handlerFieldValidate","data","fieldErrors","externalFieldErrors","skeletonize","handleValidationErrorsOnTab","forwardRef"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { default as React } from 'react';
1
+ import { ComponentType } from 'react';
2
2
  import { IFormSecurityContext, IWithFormSecurity } from './types';
3
- declare const FormSecurityContext: React.Context<IFormSecurityContext>;
4
- declare const withFormSecurity: <ComponentProps extends IWithFormSecurity>(WrappedComponent: React.ComponentType<ComponentProps>) => (props: ComponentProps) => import("react/jsx-runtime").JSX.Element;
3
+ declare const FormSecurityContext: import('react').Context<IFormSecurityContext>;
4
+ declare const withFormSecurity: <ComponentProps extends IWithFormSecurity>(WrappedComponent: ComponentType<ComponentProps>) => (props: ComponentProps) => import("react/jsx-runtime").JSX.Element;
5
5
  export default withFormSecurity;
6
6
  export { FormSecurityContext };
@@ -1,6 +1,6 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import d, { useRef as i, useState as h } from "react";
3
- const m = d.createContext({}), w = (l) => (r) => {
2
+ import { createContext as d, useRef as i, useState as h } from "react";
3
+ const m = d({}), w = (l) => (r) => {
4
4
  const {
5
5
  onOpenChange: e,
6
6
  handlerClose: n
@@ -1 +1 @@
1
- {"version":3,"file":"withFormSecurity.js","sources":["../../src/lib/form/withFormSecurity.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { IFormSecurityContext, IWithFormSecurity } from './types';\n\nconst FormSecurityContext = React.createContext({} as IFormSecurityContext);\n\nconst withFormSecurity = <ComponentProps extends IWithFormSecurity>(\n WrappedComponent: React.ComponentType<ComponentProps>,\n) => {\n const EnhancedComponent = (props: ComponentProps) => {\n const { onOpenChange, handlerClose } = props;\n const changedData = useRef(false);\n const securityBeforeUnload = useRef(false);\n const [showQuestion, setShowQuestion] = useState(false);\n\n const newHandlerClose = () => {\n if (changedData.current && securityBeforeUnload.current) {\n setShowQuestion(true);\n } else if (onOpenChange) onOpenChange(false);\n else if (handlerClose) handlerClose();\n };\n\n const onConfirmClick = () => {\n if (onOpenChange) onOpenChange(false);\n if (handlerClose) handlerClose();\n };\n\n const onUnconfirmClick = () => {\n setShowQuestion(false);\n };\n\n const onChangedData = (value: boolean) => {\n changedData.current = value;\n };\n\n const setSecurityBeforeUnload = (value: boolean) => {\n securityBeforeUnload.current = value;\n };\n\n const contextValues: IFormSecurityContext = {\n onChangedData,\n showQuestion,\n onConfirmClick,\n onUnconfirmClick,\n setSecurityBeforeUnload,\n securityBeforeUnload: securityBeforeUnload.current,\n };\n\n return (\n <FormSecurityContext.Provider value={contextValues}>\n <WrappedComponent\n {...props}\n handlerClose={newHandlerClose} />\n </FormSecurityContext.Provider>\n );\n };\n\n return EnhancedComponent;\n};\n\nexport default withFormSecurity;\nexport { FormSecurityContext };\n"],"names":["FormSecurityContext","React","createContext","withFormSecurity","WrappedComponent","EnhancedComponent","props","onOpenChange","handlerClose","changedData","useRef","securityBeforeUnload","showQuestion","setShowQuestion","useState","newHandlerClose","current","contextValues","onChangedData","value","onConfirmClick","onUnconfirmClick","setSecurityBeforeUnload","jsx"],"mappings":";;AAGA,MAAMA,IAAsBC,EAAMC,cAAc,CAAA,CAA0B,GAEpEC,IAAmB,CACvBC,MAE0BC,CAACC,MAA0B;AACnD,QAAM;AAAA,IAAEC,cAAAA;AAAAA,IAAcC,cAAAA;AAAAA,EAAAA,IAAiBF,GACjCG,IAAcC,EAAO,EAAK,GAC1BC,IAAuBD,EAAO,EAAK,GACnC,CAACE,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAkBA,MAAM;AAC5B,IAAIN,EAAYO,WAAWL,EAAqBK,UAC9CH,EAAgB,EAAI,IACXN,IAAcA,EAAa,EAAK,IAClCC,KAAcA,EAAAA;AAAAA,EACzB,GAmBMS,IAAsC;AAAA,IAC1CC,eAToBA,CAACC,MAAmB;AACxCV,MAAAA,EAAYO,UAAUG;AAAAA,IACxB;AAAA,IAQEP,cAAAA;AAAAA,IACAQ,gBApBqBA,MAAM;AAC3B,MAAIb,OAA2B,EAAK,GAChCC,KAAcA,EAAAA;AAAAA,IACpB;AAAA,IAkBEa,kBAhBuBA,MAAM;AAC7BR,MAAAA,EAAgB,EAAK;AAAA,IACvB;AAAA,IAeES,yBAT8BA,CAACH,MAAmB;AAClDR,MAAAA,EAAqBK,UAAUG;AAAAA,IACjC;AAAA,IAQER,sBAAsBA,EAAqBK;AAAAA,EAAAA;AAG7C,SACE,gBAAAO,EAACvB,EAAoB,UAApB,EAA6B,OAAOiB,GACnC,UAAA,gBAAAM,EAACnB,GAAA,EACC,GAAIE,GACJ,cAAcS,EAAAA,CAAgB,EAAA,CAClC;AAEJ;"}
1
+ {"version":3,"file":"withFormSecurity.js","sources":["../../src/lib/form/withFormSecurity.tsx"],"sourcesContent":["import { ComponentType, createContext, useRef, useState } from 'react';\nimport { IFormSecurityContext, IWithFormSecurity } from './types';\n\nconst FormSecurityContext = createContext({} as IFormSecurityContext);\n\nconst withFormSecurity = <ComponentProps extends IWithFormSecurity>(\n WrappedComponent: ComponentType<ComponentProps>,\n) => {\n const EnhancedComponent = (props: ComponentProps) => {\n const { onOpenChange, handlerClose } = props;\n const changedData = useRef(false);\n const securityBeforeUnload = useRef(false);\n const [showQuestion, setShowQuestion] = useState(false);\n\n const newHandlerClose = () => {\n if (changedData.current && securityBeforeUnload.current) {\n setShowQuestion(true);\n } else if (onOpenChange) onOpenChange(false);\n else if (handlerClose) handlerClose();\n };\n\n const onConfirmClick = () => {\n if (onOpenChange) onOpenChange(false);\n if (handlerClose) handlerClose();\n };\n\n const onUnconfirmClick = () => {\n setShowQuestion(false);\n };\n\n const onChangedData = (value: boolean) => {\n changedData.current = value;\n };\n\n const setSecurityBeforeUnload = (value: boolean) => {\n securityBeforeUnload.current = value;\n };\n\n const contextValues: IFormSecurityContext = {\n onChangedData,\n showQuestion,\n onConfirmClick,\n onUnconfirmClick,\n setSecurityBeforeUnload,\n securityBeforeUnload: securityBeforeUnload.current,\n };\n\n return (\n <FormSecurityContext.Provider value={contextValues}>\n <WrappedComponent\n {...props}\n handlerClose={newHandlerClose} />\n </FormSecurityContext.Provider>\n );\n };\n\n return EnhancedComponent;\n};\n\nexport default withFormSecurity;\nexport { FormSecurityContext };\n"],"names":["FormSecurityContext","createContext","withFormSecurity","WrappedComponent","EnhancedComponent","props","onOpenChange","handlerClose","changedData","useRef","securityBeforeUnload","showQuestion","setShowQuestion","useState","newHandlerClose","current","contextValues","onChangedData","value","onConfirmClick","onUnconfirmClick","setSecurityBeforeUnload","jsx"],"mappings":";;AAGA,MAAMA,IAAsBC,EAAc,CAAA,CAA0B,GAE9DC,IAAmB,CACvBC,MAE0BC,CAACC,MAA0B;AACnD,QAAM;AAAA,IAAEC,cAAAA;AAAAA,IAAcC,cAAAA;AAAAA,EAAAA,IAAiBF,GACjCG,IAAcC,EAAO,EAAK,GAC1BC,IAAuBD,EAAO,EAAK,GACnC,CAACE,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAEhDC,IAAkBA,MAAM;AAC5B,IAAIN,EAAYO,WAAWL,EAAqBK,UAC9CH,EAAgB,EAAI,IACXN,IAAcA,EAAa,EAAK,IAClCC,KAAcA,EAAAA;AAAAA,EACzB,GAmBMS,IAAsC;AAAA,IAC1CC,eAToBA,CAACC,MAAmB;AACxCV,MAAAA,EAAYO,UAAUG;AAAAA,IACxB;AAAA,IAQEP,cAAAA;AAAAA,IACAQ,gBApBqBA,MAAM;AAC3B,MAAIb,OAA2B,EAAK,GAChCC,KAAcA,EAAAA;AAAAA,IACpB;AAAA,IAkBEa,kBAhBuBA,MAAM;AAC7BR,MAAAA,EAAgB,EAAK;AAAA,IACvB;AAAA,IAeES,yBAT8BA,CAACH,MAAmB;AAClDR,MAAAA,EAAqBK,UAAUG;AAAAA,IACjC;AAAA,IAQER,sBAAsBA,EAAqBK;AAAAA,EAAAA;AAG7C,SACE,gBAAAO,EAACtB,EAAoB,UAApB,EAA6B,OAAOgB,GACnC,UAAA,gBAAAM,EAACnB,GAAA,EACC,GAAIE,GACJ,cAAcS,EAAAA,CAAgB,EAAA,CAClC;AAEJ;"}
@@ -0,0 +1,5 @@
1
+ import { Ref } from 'react';
2
+ import { DeepPartial } from './types';
3
+ export declare const mergeRefs: <T>(...refs: (Ref<T> | undefined)[]) => (fieldElement: T) => void;
4
+ export declare const deepMergeValues: <T>(current: T, incoming: DeepPartial<T>) => T;
5
+ export declare const flattenValidators: (validators: Record<string, any>, prefix?: string) => Record<string, any>;
@@ -0,0 +1,24 @@
1
+ import s from "../_virtual/lodash.js";
2
+ const b = (...o) => (e) => {
3
+ o.forEach((t) => {
4
+ s.isFunction(t) ? t(e) : t && s.isObject(t) && (t.current = e);
5
+ });
6
+ }, f = (o, e) => s.mergeWith(s.cloneDeep(o), e, (t, c) => s.isPlainObject(t) && s.isPlainObject(c) ? void 0 : c), a = (o, e = "") => {
7
+ const t = {};
8
+ return Object.entries(o).forEach(([c, n]) => {
9
+ const i = e ? `${e}.${c}` : c;
10
+ if (Array.isArray(n))
11
+ t[i] = n;
12
+ else if (typeof n == "object" && n !== null) {
13
+ const r = a(n, i);
14
+ Object.assign(t, r);
15
+ } else
16
+ t[i] = [n];
17
+ }), t;
18
+ };
19
+ export {
20
+ f as deepMergeValues,
21
+ a as flattenValidators,
22
+ b as mergeRefs
23
+ };
24
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../src/lib/form2/helpers.ts"],"sourcesContent":["import _ from 'lodash';\nimport { Ref, RefObject } from 'react';\nimport { DeepPartial } from './types';\n\nexport const mergeRefs = <T>(...refs: (Ref<T> | undefined)[]) => {\n return (fieldElement: T) => {\n refs.forEach((ref) => {\n if (_.isFunction(ref)) ref(fieldElement);\n else if (ref && _.isObject(ref)) (ref as RefObject<T | null>).current = fieldElement;\n });\n };\n};\n\nexport const deepMergeValues = <T>(current: T, incoming: DeepPartial<T>): T => {\n return _.mergeWith(_.cloneDeep(current), incoming, (objValue, srcValue) =>\n _.isPlainObject(objValue) && _.isPlainObject(srcValue) ? undefined : srcValue);\n};\n\nexport const flattenValidators = (validators: Record<string, any>, prefix = ''): Record<string, any> => {\n const flattened: Record<string, any> = {};\n Object.entries(validators).forEach(([key, value]) => {\n const fullPath = prefix ? `${prefix}.${key}` : key;\n if (Array.isArray(value)) {\n flattened[fullPath] = value;\n } else if (typeof value === 'object' && value !== null) {\n const nestedFlattened = flattenValidators(value, fullPath);\n Object.assign(flattened, nestedFlattened);\n } else {\n flattened[fullPath] = [value];\n }\n });\n\n return flattened;\n};\n"],"names":["mergeRefs","refs","fieldElement","forEach","ref","_","isFunction","isObject","current","deepMergeValues","incoming","mergeWith","cloneDeep","objValue","srcValue","isPlainObject","undefined","flattenValidators","validators","prefix","flattened","Object","entries","key","value","fullPath","Array","isArray","nestedFlattened","assign"],"mappings":";AAIO,MAAMA,IAAY,IAAOC,MACvB,CAACC,MAAoB;AAC1BD,EAAAA,EAAKE,QAASC,CAAAA,MAAQ;AACpB,IAAIC,EAAEC,WAAWF,CAAG,MAAOF,CAAY,IAC9BE,KAAOC,EAAEE,SAASH,CAAG,MAAIA,EAA4BI,UAAUN;AAAAA,EAC1E,CAAC;AACH,GAGWO,IAAkB,CAAID,GAAYE,MACtCL,EAAEM,UAAUN,EAAEO,UAAUJ,CAAO,GAAGE,GAAU,CAACG,GAAUC,MAC5DT,EAAEU,cAAcF,CAAQ,KAAKR,EAAEU,cAAcD,CAAQ,IAAIE,SAAYF,CAAQ,GAGpEG,IAAoBA,CAACC,GAAiCC,IAAS,OAA4B;AACtG,QAAMC,IAAiC,CAAA;AACvCC,gBAAOC,QAAQJ,CAAU,EAAEf,QAAQ,CAAC,CAACoB,GAAKC,CAAK,MAAM;AACnD,UAAMC,IAAWN,IAAS,GAAGA,CAAM,IAAII,CAAG,KAAKA;AAC/C,QAAIG,MAAMC,QAAQH,CAAK;AACrBJ,MAAAA,EAAUK,CAAQ,IAAID;AAAAA,aACb,OAAOA,KAAU,YAAYA,MAAU,MAAM;AACtD,YAAMI,IAAkBX,EAAkBO,GAAOC,CAAQ;AACzDJ,aAAOQ,OAAOT,GAAWQ,CAAe;AAAA,IAC1C;AACER,MAAAA,EAAUK,CAAQ,IAAI,CAACD,CAAK;AAAA,EAEhC,CAAC,GAEMJ;AACT;"}
@@ -0,0 +1,7 @@
1
+ import { ComponentProps } from 'react';
2
+ import { default as useForm } from './useForm';
3
+ interface FormElementProps extends ComponentProps<'form'> {
4
+ }
5
+ declare const Form: import('react').ForwardRefExoticComponent<Omit<FormElementProps, "ref"> & import('react').RefAttributes<HTMLFormElement>>;
6
+ export default Form;
7
+ export { useForm };
@@ -0,0 +1,23 @@
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { c as d } from "../_virtual/compiler-runtime.js";
3
+ import { forwardRef as u } from "react";
4
+ import { default as R } from "./useForm/index.js";
5
+ const p = u((m, s) => {
6
+ const t = d.c(11);
7
+ let o, e, a, r;
8
+ t[0] !== m ? ({
9
+ noValidate: e,
10
+ autoComplete: a,
11
+ translate: r,
12
+ ...o
13
+ } = m, t[0] = m, t[1] = o, t[2] = e, t[3] = a, t[4] = r) : (o = t[1], e = t[2], a = t[3], r = t[4]);
14
+ const i = e === void 0 ? !0 : e, n = a === void 0 ? "off" : a, f = r === void 0 ? "no" : r;
15
+ let l;
16
+ return t[5] !== n || t[6] !== i || t[7] !== s || t[8] !== o || t[9] !== f ? (l = /* @__PURE__ */ c("form", { ref: s, className: "form-container", translate: f, noValidate: i, autoComplete: n, ...o }), t[5] = n, t[6] = i, t[7] = s, t[8] = o, t[9] = f, t[10] = l) : l = t[10], l;
17
+ });
18
+ p.displayName = "Form";
19
+ export {
20
+ p as default,
21
+ R as useForm
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/lib/form2/index.tsx"],"sourcesContent":["import { ComponentProps, forwardRef } from 'react';\nimport useForm from './useForm';\n\ninterface FormElementProps extends ComponentProps<'form'> { }\n\nconst Form = forwardRef<HTMLFormElement, FormElementProps>((props, ref) => {\n const { noValidate = true, autoComplete = 'off', translate = 'no', ...rest } = props;\n\n return (\n <form\n ref={ref}\n className=\"form-container\"\n translate={translate}\n noValidate={noValidate}\n autoComplete={autoComplete}\n {...rest} />\n );\n});\n\nForm.displayName = 'Form';\n\nexport default Form;\nexport { useForm };\n"],"names":["Form","forwardRef","props","ref","$","_c","rest","t0","t1","t2","noValidate","autoComplete","translate","undefined","t3","jsx","displayName"],"mappings":";;;;AAKA,MAAMA,IAAOC,EAA8C,CAAAC,GAAAC,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAL,SAAAF,KACzD;AAAA,IAAAQ,YAAAH;AAAAA,IAAAI,cAAAH;AAAAA,IAAAI,WAAAH;AAAAA,IAAA,GAAAH;AAAAA,EAAAA,IAA+EJ,GAAME,OAAAF,GAAAE,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,MAAAH,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA;AAA7E,QAAAM,IAAAH,MAAAM,SAAA,KAAAN,GAAmBI,IAAAH,MAAAK,SAAA,QAAAL,GAAsBI,IAAAH,MAAAI,SAAA,OAAAJ;AAAgB,MAAAK;AAAA,SAAAV,EAAA,CAAA,MAAAO,KAAAP,EAAA,CAAA,MAAAM,KAAAN,EAAA,CAAA,MAAAD,KAAAC,EAAA,CAAA,MAAAE,KAAAF,SAAAQ,KAG/DE,IAAA,gBAAAC,EAAA,UACOZ,KAAAA,GACK,WAAA,kBACCS,WAAAA,GACCF,YAAAA,GACEC,cAAAA,GAAY,GACtBL,EAAAA,CAAI,GAAIF,OAAAO,GAAAP,OAAAM,GAAAN,OAAAD,GAAAC,OAAAE,GAAAF,OAAAQ,GAAAR,QAAAU,KAAAA,IAAAV,EAAA,EAAA,GANdU;AAMc,CAEjB;AAEDd,EAAKgB,cAAc;"}
@@ -0,0 +1,128 @@
1
+ import { ChangeEvent, FormEvent, Ref, RefCallback } from 'react';
2
+ export type DeepPartial<T> = {
3
+ [K in keyof T]?: T[K] extends Array<infer U> ? Array<DeepPartial<U>> : T[K] extends object ? DeepPartial<T[K]> : T[K];
4
+ };
5
+ export type NestedState<T, R = any> = {
6
+ [K in keyof T]?: [T[K]] extends [readonly any[]] ? R : T[K] extends object ? NestedState<T[K], R> : R;
7
+ };
8
+ export type FieldChanged<T> = NestedState<T, boolean>;
9
+ export type FieldTouched<T> = NestedState<T, boolean>;
10
+ export type FieldErrors<T> = NestedState<T, string[]>;
11
+ export type FieldFocusOptions = Partial<{
12
+ shouldSelect: boolean;
13
+ }>;
14
+ export type ValidatorFunction<T> = (value: T, data?: Record<string, any>) => string | null;
15
+ export type ValidatorsSchema = Record<string, ValidatorFunction<any>[]>;
16
+ export type ValidationMode = 'default' | 'onSubmit';
17
+ export type UseFormOptionsProps = Partial<{
18
+ validationMode: ValidationMode;
19
+ }>;
20
+ export type RegisterFunction = (name: string, externalRef?: Ref<HTMLInputElement>) => {
21
+ name: string;
22
+ value: any;
23
+ ref: (fieldElement: HTMLInputElement) => void;
24
+ onBlur: () => void;
25
+ onChange: (event: ChangeEvent<HTMLInputElement>) => void;
26
+ };
27
+ export interface UseFormProps<T> {
28
+ initialValues: T;
29
+ validators?: ValidatorsSchema;
30
+ options?: UseFormOptionsProps;
31
+ }
32
+ export interface UseFormReturn<T> {
33
+ /**
34
+ * Reseta os campos especificados ou todo o formulário para seus valores iniciais.
35
+ * Também limpa estados de `errors`, `touched` e `changed`.
36
+ * @param fields - Lista de nomes de campos a serem resetados. Se não informado, todos os campos são resetados.
37
+ */
38
+ reset: (fields?: string[]) => void;
39
+ /**
40
+ * Objeto que indica quais campos foram modificados em relação ao `initialValues`.
41
+ */
42
+ changed: FieldChanged<T>;
43
+ /**
44
+ * Objeto com os valores atuais dos campos do formulário.
45
+ */
46
+ values: Record<string, any>;
47
+ /**
48
+ * Objeto contendo arrays de mensagens de erro por campo.
49
+ */
50
+ errors: FieldErrors<T>;
51
+ /**
52
+ * Objeto que indica se os campos foram tocados (interagidos via blur).
53
+ */
54
+ touched: FieldTouched<T>;
55
+ /**
56
+ * Indica se o formulário está válido com base nos validadores definidos.
57
+ */
58
+ isValid: boolean;
59
+ /**
60
+ * Indica se houve alguma alteração em qualquer campo do formulário em relação ao `initialValues`.
61
+ */
62
+ formHasChange: boolean;
63
+ /**
64
+ * Registra um campo no formulário, integrando com `ref`, `value`, `onChange` e `onBlur`.
65
+ * @param name - Nome do campo.
66
+ * @param externalRef - Referência externa para o input.
67
+ */
68
+ register: (name: string, externalRef?: Ref<HTMLInputElement | HTMLTextAreaElement>) => {
69
+ name: string;
70
+ ref: RefCallback<HTMLInputElement | HTMLTextAreaElement>;
71
+ value: any;
72
+ onBlur: () => void;
73
+ onChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
74
+ };
75
+ /**
76
+ * Limpa mensagens de erro de campos especificados, ou de todos os campos se nenhum for informado.
77
+ * @param fields - Lista de campos a limpar.
78
+ */
79
+ cleanErrors: (fields?: string[]) => void;
80
+ /**
81
+ * Altera os valores dos campos do formulário com base em dados externos (ex: dados assíncronos).
82
+ * Preserva os dados atuais para campos não especificados.
83
+ * @param values - Novo objeto de dados com valores para atualizar no estado do formulário.
84
+ */
85
+ changeValues: (values: DeepPartial<T>) => void;
86
+ /**
87
+ * Compara o valor atual de um campo com um valor fornecido, retornando true se forem iguais.
88
+ * @param name - Nome do campo.
89
+ * @param value - Valor a ser comparado.
90
+ */
91
+ compareField: (name: string, value: any) => boolean;
92
+ /**
93
+ * Gera uma função de submit que é executada ao chamar a callback fornecida.
94
+ * @param callback - Função de submit executada em caso de formulário válido e retornando objeto de valores do formulário.
95
+ */
96
+ handleSubmit: (callback: (data: T) => void) => (event: FormEvent) => void;
97
+ /**
98
+ * Retorna o valor atual de um campo específico.
99
+ * @param name - Nome do campo.
100
+ */
101
+ getFieldValue: (name: string) => any;
102
+ /**
103
+ * Retorna as mensagens de erro associadas a um campo específico.
104
+ * @param name - Nome do campo.
105
+ */
106
+ getFieldError: (name: string) => string[];
107
+ /**
108
+ * Define o foco programaticamente em um campo registrado.
109
+ * @param name - Nome do campo.
110
+ * @param options - Opções adicionais como selecionar o texto ao focar.
111
+ */
112
+ setFieldFocus: (name: string, options?: FieldFocusOptions) => void;
113
+ /**
114
+ * Atualiza o valor de um campo específico e dispara validações quando apropriado.
115
+ * @param name - Nome do campo.
116
+ * @param value - Novo valor.
117
+ */
118
+ setFieldValue: (name: string, value: any) => void;
119
+ /**
120
+ * Objeto original passado como `initialValues`. Utilizado para reset e comparações.
121
+ */
122
+ initialValues: Record<string, any>;
123
+ /**
124
+ * Define erros manualmente em campos do formulário, útil para erros externos (ex: backend).
125
+ * @param errors - Objeto contendo mensagens de erro para campos.
126
+ */
127
+ setExternalErrors: (errors: Record<string, string[]>) => void;
128
+ }
@@ -0,0 +1,3 @@
1
+ import { UseFormProps, UseFormReturn } from '../types';
2
+ declare const useForm: <ValuesType extends Record<string, any>>({ initialValues, validators, options, }: UseFormProps<ValuesType>) => UseFormReturn<ValuesType>;
3
+ export default useForm;