@dnb/eufemia 10.47.0 → 10.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  3. package/cjs/components/height-animation/HeightAnimationInstance.js +13 -6
  4. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  5. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -4
  6. package/cjs/extensions/forms/DataContext/Context.js +1 -2
  7. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  8. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +7 -2
  9. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  10. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  11. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +25 -9
  12. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  13. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  14. package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -28
  15. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  16. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  17. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  18. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  19. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +32 -7
  20. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  21. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  22. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  23. package/cjs/extensions/forms/Form/Isolation/Isolation.js +7 -7
  24. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  25. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +20 -1
  26. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  27. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  28. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  29. package/cjs/extensions/forms/Form/Section/Section.d.ts +7 -2
  30. package/cjs/extensions/forms/Form/Section/Section.js +3 -1
  31. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  32. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  33. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  34. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  35. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  36. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  37. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  38. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  39. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  40. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  41. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  42. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  43. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  44. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  45. package/cjs/extensions/forms/Iterate/Array/Array.js +75 -26
  46. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  47. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +15 -1
  48. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  49. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +20 -0
  50. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlock.js → Array/ArrayItemArea.js} +66 -49
  51. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  52. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  53. package/cjs/extensions/forms/Iterate/{AnimatedContainer/ElementBlockContext.js → Array/ArrayItemAreaContext.js} +3 -3
  54. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  55. package/cjs/extensions/forms/Iterate/Array/types.d.ts +8 -5
  56. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  57. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  58. package/cjs/extensions/forms/Iterate/EditContainer/{EditToolbarTools.js → CancelButton.js} +30 -56
  59. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  60. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  61. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +74 -0
  62. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  63. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  64. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +33 -12
  65. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  66. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  67. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  68. package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  69. package/cjs/extensions/forms/Iterate/EditContainer/index.js +19 -1
  70. package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  71. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  72. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  73. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  74. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +38 -15
  75. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  76. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +18 -2
  77. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  78. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -2
  79. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -24
  80. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  81. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  82. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +12 -14
  84. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  85. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  86. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -6
  87. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  88. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  89. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js +12 -0
  90. package/cjs/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  91. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  92. package/cjs/extensions/forms/Iterate/ViewContainer/{ViewToolbarTools.js → EditButton.js} +8 -11
  93. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  94. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  95. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +19 -0
  96. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  97. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  98. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +25 -10
  99. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  100. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  101. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  102. package/cjs/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  103. package/cjs/extensions/forms/Iterate/ViewContainer/index.js +19 -1
  104. package/cjs/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  105. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  106. package/cjs/extensions/forms/Iterate/hooks/index.js +21 -0
  107. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -0
  108. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  109. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +93 -0
  110. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  111. package/cjs/extensions/forms/Tools/Log.d.ts +6 -0
  112. package/cjs/extensions/forms/Tools/Log.js +29 -0
  113. package/cjs/extensions/forms/Tools/Log.js.map +1 -0
  114. package/cjs/extensions/forms/Tools/index.d.ts +1 -0
  115. package/cjs/extensions/forms/Tools/index.js +7 -0
  116. package/cjs/extensions/forms/Tools/index.js.map +1 -1
  117. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +18 -6
  118. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  119. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  120. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  121. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  122. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  123. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  124. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  125. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  126. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  127. package/cjs/extensions/forms/constants/countries.js +10 -26
  128. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  129. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  130. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  131. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  132. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  133. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  134. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  135. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  136. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  137. package/cjs/extensions/forms/hooks/DataValueDocs.js +6 -1
  138. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  139. package/cjs/extensions/forms/hooks/useExternalValue.js +8 -6
  140. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  141. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  142. package/cjs/extensions/forms/hooks/useFieldProps.js +48 -27
  143. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  144. package/cjs/extensions/forms/hooks/usePath.d.ts +1 -0
  145. package/cjs/extensions/forms/hooks/usePath.js +5 -1
  146. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  147. package/cjs/extensions/forms/style/dnb-forms.css +3 -0
  148. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  149. package/cjs/extensions/forms/types.d.ts +4 -0
  150. package/cjs/extensions/forms/types.js.map +1 -1
  151. package/cjs/shared/Eufemia.d.ts +1 -1
  152. package/cjs/shared/Eufemia.js +2 -2
  153. package/cjs/shared/Eufemia.js.map +1 -1
  154. package/cjs/style/core/scopes.scss +1 -1
  155. package/cjs/style/dnb-ui-basis.css +1 -1
  156. package/cjs/style/dnb-ui-basis.min.css +1 -1
  157. package/cjs/style/dnb-ui-body.css +1 -1
  158. package/cjs/style/dnb-ui-body.min.css +1 -1
  159. package/cjs/style/dnb-ui-components.css +3 -0
  160. package/cjs/style/dnb-ui-components.min.css +1 -1
  161. package/cjs/style/dnb-ui-core.css +1 -1
  162. package/cjs/style/dnb-ui-core.min.css +1 -1
  163. package/cjs/style/dnb-ui-extensions.css +3 -0
  164. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  165. package/cjs/style/dnb-ui-forms.css +3 -0
  166. package/cjs/style/dnb-ui-forms.min.css +1 -1
  167. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +6 -0
  168. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  171. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  172. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  173. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +6 -0
  174. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  175. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  176. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  177. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  178. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  179. package/cjs/style/themes/theme-ui/ui-theme-components.css +6 -0
  180. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  181. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  182. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  183. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
  184. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  185. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  186. package/components/height-animation/HeightAnimationInstance.js +13 -6
  187. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  188. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  189. package/es/components/height-animation/HeightAnimationInstance.js +13 -6
  190. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  191. package/es/extensions/forms/DataContext/Context.d.ts +7 -4
  192. package/es/extensions/forms/DataContext/Context.js +1 -2
  193. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  194. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +7 -2
  195. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  196. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  197. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +26 -9
  198. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  199. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  200. package/es/extensions/forms/DataContext/Provider/Provider.js +28 -26
  201. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  202. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  203. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  204. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  205. package/es/extensions/forms/FieldBlock/FieldBlock.js +30 -7
  206. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  207. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  208. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  209. package/es/extensions/forms/Form/Isolation/Isolation.js +7 -7
  210. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  211. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
  212. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  213. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  214. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  215. package/es/extensions/forms/Form/Section/Section.d.ts +7 -2
  216. package/es/extensions/forms/Form/Section/Section.js +3 -1
  217. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  218. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  219. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  220. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  221. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  222. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  223. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  224. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  225. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  226. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  227. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  228. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  229. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  230. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  231. package/es/extensions/forms/Iterate/Array/Array.js +76 -28
  232. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  233. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +15 -1
  234. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  235. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +20 -0
  236. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
  237. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  238. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  239. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
  240. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  241. package/es/extensions/forms/Iterate/Array/types.d.ts +8 -5
  242. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  243. package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  244. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +87 -0
  245. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  246. package/es/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  247. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +66 -0
  248. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  249. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  250. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
  251. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  252. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  253. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  254. package/es/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  255. package/es/extensions/forms/Iterate/EditContainer/index.js +2 -0
  256. package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  257. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  258. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  259. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  260. package/es/extensions/forms/Iterate/PushButton/PushButton.js +39 -16
  261. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  262. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
  263. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  264. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -2
  265. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +78 -23
  266. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  267. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  268. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  269. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +13 -15
  270. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  271. package/es/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  272. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +51 -7
  273. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  274. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  275. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
  276. package/es/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  277. package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  278. package/{extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → es/extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
  279. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  280. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  281. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
  282. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  283. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  284. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
  285. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  286. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  287. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  288. package/es/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  289. package/es/extensions/forms/Iterate/ViewContainer/index.js +2 -0
  290. package/es/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  291. package/es/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  292. package/es/extensions/forms/Iterate/hooks/index.js +3 -0
  293. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -0
  294. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  295. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +85 -0
  296. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  297. package/es/extensions/forms/Tools/Log.d.ts +6 -0
  298. package/es/extensions/forms/Tools/Log.js +22 -0
  299. package/es/extensions/forms/Tools/Log.js.map +1 -0
  300. package/es/extensions/forms/Tools/index.d.ts +1 -0
  301. package/es/extensions/forms/Tools/index.js +1 -0
  302. package/es/extensions/forms/Tools/index.js.map +1 -1
  303. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -6
  304. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  305. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  306. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  307. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  308. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  309. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  310. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  311. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  312. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  313. package/es/extensions/forms/constants/countries.js +10 -26
  314. package/es/extensions/forms/constants/countries.js.map +1 -1
  315. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  316. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  317. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  318. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  319. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  320. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  321. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  322. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  323. package/es/extensions/forms/hooks/DataValueDocs.js +6 -1
  324. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  325. package/es/extensions/forms/hooks/useExternalValue.js +8 -6
  326. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  327. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  328. package/es/extensions/forms/hooks/useFieldProps.js +48 -28
  329. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  330. package/es/extensions/forms/hooks/usePath.d.ts +1 -0
  331. package/es/extensions/forms/hooks/usePath.js +5 -1
  332. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  333. package/es/extensions/forms/style/dnb-forms.css +3 -0
  334. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  335. package/es/extensions/forms/types.d.ts +4 -0
  336. package/es/extensions/forms/types.js.map +1 -1
  337. package/es/shared/Eufemia.d.ts +1 -1
  338. package/es/shared/Eufemia.js +2 -2
  339. package/es/shared/Eufemia.js.map +1 -1
  340. package/es/style/core/scopes.scss +1 -1
  341. package/es/style/dnb-ui-basis.css +1 -1
  342. package/es/style/dnb-ui-basis.min.css +1 -1
  343. package/es/style/dnb-ui-body.css +1 -1
  344. package/es/style/dnb-ui-body.min.css +1 -1
  345. package/es/style/dnb-ui-components.css +3 -0
  346. package/es/style/dnb-ui-components.min.css +1 -1
  347. package/es/style/dnb-ui-core.css +1 -1
  348. package/es/style/dnb-ui-core.min.css +1 -1
  349. package/es/style/dnb-ui-extensions.css +3 -0
  350. package/es/style/dnb-ui-extensions.min.css +1 -1
  351. package/es/style/dnb-ui-forms.css +3 -0
  352. package/es/style/dnb-ui-forms.min.css +1 -1
  353. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +6 -0
  354. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  355. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  356. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  357. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  358. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  359. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +6 -0
  360. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  361. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  362. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  363. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  364. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  365. package/es/style/themes/theme-ui/ui-theme-components.css +6 -0
  366. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  367. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  368. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  369. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
  370. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  371. package/esm/dnb-ui-basis.min.mjs +1 -1
  372. package/esm/dnb-ui-components.min.mjs +1 -1
  373. package/esm/dnb-ui-elements.min.mjs +1 -1
  374. package/esm/dnb-ui-extensions.min.mjs +2 -2
  375. package/esm/dnb-ui-lib.min.mjs +1 -1
  376. package/extensions/forms/DataContext/Context.d.ts +7 -4
  377. package/extensions/forms/DataContext/Context.js +1 -2
  378. package/extensions/forms/DataContext/Context.js.map +1 -1
  379. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +7 -2
  380. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  381. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.d.ts +8 -3
  382. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +25 -9
  383. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  384. package/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  385. package/extensions/forms/DataContext/Provider/Provider.js +28 -26
  386. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  387. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -1
  388. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  389. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -2
  390. package/extensions/forms/FieldBlock/FieldBlock.js +30 -7
  391. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  392. package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  393. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  394. package/extensions/forms/Form/Isolation/Isolation.js +7 -7
  395. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  396. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +22 -2
  397. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  398. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +17 -11
  399. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  400. package/extensions/forms/Form/Section/Section.d.ts +7 -2
  401. package/extensions/forms/Form/Section/Section.js +3 -1
  402. package/extensions/forms/Form/Section/Section.js.map +1 -1
  403. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  404. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  405. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +3 -1
  406. package/extensions/forms/Form/Section/containers/SectionContainer.js +22 -20
  407. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  408. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +2 -0
  409. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -1
  410. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +1 -0
  411. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +4 -1
  412. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -1
  413. package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  414. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  415. package/extensions/forms/Form/Section/style/dnb-form-section.scss +4 -0
  416. package/extensions/forms/Iterate/Array/Array.js +77 -28
  417. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  418. package/extensions/forms/Iterate/Array/ArrayDocs.js +15 -1
  419. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  420. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +20 -0
  421. package/extensions/forms/Iterate/Array/ArrayItemArea.js +137 -0
  422. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -0
  423. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +6 -0
  424. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js +6 -0
  425. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -0
  426. package/extensions/forms/Iterate/Array/types.d.ts +8 -5
  427. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  428. package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +9 -0
  429. package/extensions/forms/Iterate/EditContainer/CancelButton.js +88 -0
  430. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -0
  431. package/extensions/forms/Iterate/EditContainer/DoneButton.d.ts +4 -0
  432. package/extensions/forms/Iterate/EditContainer/DoneButton.js +66 -0
  433. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -0
  434. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +8 -2
  435. package/extensions/forms/Iterate/EditContainer/EditContainer.js +32 -11
  436. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  437. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  438. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  439. package/extensions/forms/Iterate/EditContainer/index.d.ts +2 -0
  440. package/extensions/forms/Iterate/EditContainer/index.js +2 -0
  441. package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  442. package/extensions/forms/Iterate/IterateItemContext.d.ts +7 -1
  443. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  444. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +7 -2
  445. package/extensions/forms/Iterate/PushButton/PushButton.js +39 -16
  446. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  447. package/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
  448. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  449. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -2
  450. package/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -26
  451. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  452. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  453. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  454. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +13 -15
  455. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  456. package/extensions/forms/Iterate/Toolbar/Toolbar.d.ts +10 -2
  457. package/extensions/forms/Iterate/Toolbar/Toolbar.js +52 -7
  458. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  459. package/extensions/forms/Iterate/Toolbar/ToolbarContext.d.ts +6 -0
  460. package/extensions/forms/Iterate/Toolbar/ToolbarContext.js +4 -0
  461. package/extensions/forms/Iterate/Toolbar/ToolbarContext.js.map +1 -0
  462. package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -0
  463. package/{es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js → extensions/forms/Iterate/ViewContainer/EditButton.js} +8 -11
  464. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -0
  465. package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +1 -0
  466. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +12 -0
  467. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -0
  468. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +8 -2
  469. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +24 -9
  470. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  471. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  472. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  473. package/extensions/forms/Iterate/ViewContainer/index.d.ts +2 -0
  474. package/extensions/forms/Iterate/ViewContainer/index.js +2 -0
  475. package/extensions/forms/Iterate/ViewContainer/index.js.map +1 -1
  476. package/extensions/forms/Iterate/hooks/index.d.ts +2 -0
  477. package/extensions/forms/Iterate/hooks/index.js +3 -0
  478. package/extensions/forms/Iterate/hooks/index.js.map +1 -0
  479. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +17 -0
  480. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +87 -0
  481. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -0
  482. package/extensions/forms/Tools/Log.d.ts +6 -0
  483. package/extensions/forms/Tools/Log.js +22 -0
  484. package/extensions/forms/Tools/Log.js.map +1 -0
  485. package/extensions/forms/Tools/index.d.ts +1 -0
  486. package/extensions/forms/Tools/index.js +1 -0
  487. package/extensions/forms/Tools/index.js.map +1 -1
  488. package/extensions/forms/Wizard/Container/WizardContainer.js +18 -6
  489. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  490. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  491. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  492. package/extensions/forms/Wizard/Context/WizardContext.d.ts +3 -1
  493. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  494. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  495. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  496. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +0 -2
  497. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  498. package/extensions/forms/constants/countries.js +10 -26
  499. package/extensions/forms/constants/countries.js.map +1 -1
  500. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  501. package/extensions/forms/constants/locales/en-GB.js +3 -2
  502. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  503. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  504. package/extensions/forms/constants/locales/index.d.ts +4 -2
  505. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  506. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  507. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  508. package/extensions/forms/hooks/DataValueDocs.js +6 -1
  509. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  510. package/extensions/forms/hooks/useExternalValue.js +8 -6
  511. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  512. package/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  513. package/extensions/forms/hooks/useFieldProps.js +48 -27
  514. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  515. package/extensions/forms/hooks/usePath.d.ts +1 -0
  516. package/extensions/forms/hooks/usePath.js +5 -1
  517. package/extensions/forms/hooks/usePath.js.map +1 -1
  518. package/extensions/forms/style/dnb-forms.css +3 -0
  519. package/extensions/forms/style/dnb-forms.min.css +1 -1
  520. package/extensions/forms/types.d.ts +4 -0
  521. package/extensions/forms/types.js.map +1 -1
  522. package/package.json +1 -1
  523. package/shared/Eufemia.d.ts +1 -1
  524. package/shared/Eufemia.js +2 -2
  525. package/shared/Eufemia.js.map +1 -1
  526. package/style/core/scopes.scss +1 -1
  527. package/style/dnb-ui-basis.css +1 -1
  528. package/style/dnb-ui-basis.min.css +1 -1
  529. package/style/dnb-ui-body.css +1 -1
  530. package/style/dnb-ui-body.min.css +1 -1
  531. package/style/dnb-ui-components.css +3 -0
  532. package/style/dnb-ui-components.min.css +1 -1
  533. package/style/dnb-ui-core.css +1 -1
  534. package/style/dnb-ui-core.min.css +1 -1
  535. package/style/dnb-ui-extensions.css +3 -0
  536. package/style/dnb-ui-extensions.min.css +1 -1
  537. package/style/dnb-ui-forms.css +3 -0
  538. package/style/dnb-ui-forms.min.css +1 -1
  539. package/style/themes/theme-eiendom/eiendom-theme-components.css +6 -0
  540. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  541. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  542. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  543. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  544. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  545. package/style/themes/theme-sbanken/sbanken-theme-components.css +6 -0
  546. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  547. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  548. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  549. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  550. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  551. package/style/themes/theme-ui/ui-theme-components.css +6 -0
  552. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  553. package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  554. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  555. package/style/themes/theme-ui/ui-theme-forms.css +3 -0
  556. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  557. package/umd/dnb-ui-basis.min.js +1 -1
  558. package/umd/dnb-ui-components.min.js +1 -1
  559. package/umd/dnb-ui-elements.min.js +1 -1
  560. package/umd/dnb-ui-extensions.min.js +3 -3
  561. package/umd/dnb-ui-lib.min.js +1 -1
  562. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +0 -20
  563. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  564. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  565. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  566. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  567. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  568. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  569. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  570. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +0 -20
  571. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
  572. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  573. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  574. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
  575. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  576. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  577. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -113
  578. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  579. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  580. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
  581. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +0 -20
  582. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +0 -120
  583. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +0 -1
  584. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.d.ts +0 -6
  585. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js +0 -6
  586. package/extensions/forms/Iterate/AnimatedContainer/ElementBlockContext.js.map +0 -1
  587. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.d.ts +0 -6
  588. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +0 -114
  589. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +0 -1
  590. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.d.ts +0 -1
  591. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","undefined","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","key","firstPaintStyle","style","position","parentNode","insertBefore","nextSibling","elemWidth","clientWidth","clonedWidth","getAttribute","width","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","overflowY","readjust","close","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n } as const\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n\n // Hide the cloned element\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n // When text is wrapped, we get different widths,\n // so we need to set the width to the original width\n const elemWidth = this.elem.clientWidth\n const clonedWidth =\n clonedElem.clientWidth ||\n // data-width is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-width')) ||\n 0\n\n if (clonedWidth > elemWidth) {\n clonedElem.style.width = `${elemWidth}px`\n }\n\n const height =\n clonedElem.clientHeight ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.overflowY = ''\n }\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","undefined","setAsOpen","setAsClosed","getHeight","_this$withFallback","withFallback","getUnknownHeight","_this$elem$parentNode","_this$withFallback2","_this$withFallback3","_clonedElem$parentNod","clonedElem","cloneNode","inputs","querySelectorAll","input","removeAttribute","key","firstPaintStyle","style","position","parentNode","insertBefore","nextSibling","elemWidth","clientWidth","clonedWidth","width","removeChild","fallback","val","hasAttribute","getAttribute","isNaN","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","overflowY","readjust","close","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n } as const\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return this.withFallback(this.elem, 'clientHeight') ?? null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n const inputs = clonedElem.querySelectorAll('input')\n inputs.forEach((input) => {\n input.removeAttribute('name') // because type=\"radio\" will be else effected negatively\n input.removeAttribute('id') // don't put IDs twice in the DOM\n })\n\n // Hide the cloned element\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n // When text is wrapped, we get different widths,\n // so we need to set the width to the original width\n const elemWidth = this.elem.clientWidth\n const clonedWidth =\n this.withFallback(clonedElem, 'clientWidth', 'data-width') ?? 0\n\n if (clonedWidth > elemWidth) {\n clonedElem.style.width = `${elemWidth}px`\n }\n\n const height =\n // data-height is used for mockup testing with \"mockHeight\"\n this.withFallback(this.elem, 'clientHeight', 'data-height') ?? null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n withFallback(\n elem: HTMLElement,\n key: 'clientHeight' | 'clientWidth',\n fallback?: 'data-height' | 'data-width'\n ) {\n const val =\n fallback && elem.hasAttribute(fallback)\n ? parseFloat(elem.getAttribute(fallback))\n : elem?.[key]\n\n if (isNaN(val)) {\n return null\n }\n\n return val\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.overflowY = ''\n }\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
@@ -5,6 +5,9 @@ import { Props as ProviderProps } from './Provider';
5
5
  type HandleSubmitProps = {
6
6
  formElement?: HTMLFormElement;
7
7
  };
8
+ export type MountOptions = {
9
+ isMounted?: boolean;
10
+ };
8
11
  export type EventListenerCall = {
9
12
  path?: Path;
10
13
  type?: 'onSubmit' | 'onPathChange';
@@ -46,6 +49,7 @@ export interface ContextState {
46
49
  handlePathChangeUnvalidated: (path: Path, value: any) => void;
47
50
  updateDataValue: (path: Path, value: any) => void;
48
51
  setData: (data: any) => void;
52
+ clearData?: () => void;
49
53
  mutateDataHandler?: (data: any, mutate: TransformData) => any;
50
54
  filterDataHandler?: (data: any, filter: FilterData) => any;
51
55
  validateData: () => void;
@@ -57,8 +61,7 @@ export interface ContextState {
57
61
  hasFieldError: (path: Path) => boolean;
58
62
  setFieldState: (path: Path, fieldState: SubmitState) => void;
59
63
  setFieldError: (path: Path, error: Error | FormError) => void;
60
- handleMountField: (path: Path) => void;
61
- handleUnMountField: (path: Path) => void;
64
+ setMountedFieldState: (path: Path, options: MountOptions) => void;
62
65
  setFormState?: (state: SubmitState) => void;
63
66
  setSubmitState?: (state: EventStateObject) => void;
64
67
  addOnChangeHandler?: (callback: OnChange) => void;
@@ -69,13 +72,13 @@ export interface ContextState {
69
72
  skipErrorCheck?: boolean;
70
73
  }) => void;
71
74
  setFieldEventListener?: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']) => void;
72
- setHasVisibleError?: (path: Path, hasError: boolean) => void;
75
+ setVisibleError?: (path: Path, hasError: boolean) => void;
73
76
  setFieldProps?: (path: Path, props: unknown) => void;
74
77
  setValueProps?: (path: Path, props: unknown) => void;
75
78
  setHandleSubmit?: (callback: HandleSubmitCallback) => void;
76
79
  fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>;
77
80
  valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>;
78
- mountedFieldPathsRef?: React.MutableRefObject<Path[]>;
81
+ mountedFieldsRef?: React.MutableRefObject<Record<Path, MountOptions>>;
79
82
  showAllErrors: boolean;
80
83
  hasVisibleError: boolean;
81
84
  formState: SubmitState;
@@ -19,8 +19,7 @@ export const defaultContextState = {
19
19
  setSubmitState: () => null,
20
20
  handleSubmitCall: () => null,
21
21
  setShowAllErrors: () => null,
22
- handleMountField: () => null,
23
- handleUnMountField: () => null,
22
+ setMountedFieldState: () => null,
24
23
  hasErrors: () => false,
25
24
  hasFieldState: () => false,
26
25
  hasFieldError: () => false,
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","handleMountField","handleUnMountField","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setHasVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldPathsRef?: React.MutableRefObject<Path[]>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AA2InD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE5B,eAAe,CAAC,CAAC;EAC9B6B,oBAAoB,EAAEzB,SAAS;EAC/B0B,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGjC,KAAK,CAACkC,aAAa,CAAehC,mBAAmB,CAAC;AAEtE,eAAe+B,OAAO"}
1
+ {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","setFieldState","setFieldError","ajvInstance","contextErrorMessages","isInsideFormElement","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n Identifier,\n FieldProps,\n FormError,\n ValueProps,\n OnChange,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport type MountOptions = {\n isMounted?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\n\nexport interface ContextState {\n id?: Identifier\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (path: Path, value: any) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: (data: any, mutate: TransformData) => any\n filterDataHandler?: (data: any, filter: FilterData) => any\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState: (path: Path, fieldState: SubmitState) => void\n setFieldError: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountOptions) => void\n setFormState?: (state: SubmitState) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => void\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldProps?: (path: Path, props: unknown) => void\n setValueProps?: (path: Path, props: unknown) => void\n setHandleSubmit?: (callback: HandleSubmitCallback) => void\n fieldPropsRef?: React.MutableRefObject<Record<string, FieldProps>>\n valuePropsRef?: React.MutableRefObject<Record<string, ValueProps>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountOptions>>\n showAllErrors: boolean\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n isInsideFormElement?: boolean\n prerenderFieldProps?: boolean\n props: ProviderProps<unknown>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n setFieldState: () => null,\n setFieldError: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n isInsideFormElement: false,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAcC,eAAe,QAAQ,cAAc;AA+InD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,aAAa,EAAEA,CAAA,KAAM,IAAI;EACzBC,WAAW,EAAE3B,eAAe,CAAC,CAAC;EAC9B4B,oBAAoB,EAAExB,SAAS;EAC/ByB,mBAAmB,EAAE,KAAK;EAC1BC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,aAAa,CAAe/B,mBAAmB,CAAC;AAEtE,eAAe8B,OAAO"}
@@ -19,16 +19,21 @@ export interface FieldBoundaryContextState {
19
19
  errorsRef?: React.RefObject<unknown>;
20
20
  /**
21
21
  * Will be set to true when the boundary context error state should be shown.
22
+ * Support a number to ensure we can renew hooks each time we get a new value.
22
23
  */
23
- showBoundaryErrors?: boolean;
24
+ showBoundaryErrors?: boolean | number;
24
25
  /**
25
26
  * To set the boundary context error state.
26
27
  */
27
- setShowBoundaryErrors?: (showBoundaryErrors: boolean) => void;
28
+ setShowBoundaryErrors?: (showBoundaryErrors: FieldBoundaryContextState['showBoundaryErrors']) => void;
28
29
  /**
29
30
  * To set the local error state.
30
31
  */
31
32
  setFieldError?: (path: Path, error: Error) => void;
33
+ /**
34
+ * To set the local visible error state.
35
+ */
36
+ setVisibleError?: (path: Path, hasError: boolean) => void;
32
37
  }
33
38
  declare const FieldBoundaryContext: React.Context<FieldBoundaryContextState>;
34
39
  export default FieldBoundaryContext;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBoundaryContext.js","names":["React","FieldBoundaryContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * Will be set to true when the boundary context error state should be shown.\n */\n showBoundaryErrors?: boolean\n\n /**\n * To set the boundary context error state.\n */\n setShowBoundaryErrors?: (showBoundaryErrors: boolean) => void\n\n /**\n * To set the local error state.\n */\n setFieldError?: (path: Path, error: Error) => void\n}\n\nconst FieldBoundaryContext = React.createContext<\n FieldBoundaryContextState | undefined\n>(undefined)\n\nexport default FieldBoundaryContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAwCzB,MAAMC,oBAAoB,GAAGD,KAAK,CAACE,aAAa,CAE9CC,SAAS,CAAC;AAEZ,eAAeF,oBAAoB"}
1
+ {"version":3,"file":"FieldBoundaryContext.js","names":["React","FieldBoundaryContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\n\nexport interface FieldBoundaryContextState {\n /**\n * Will be set to true when one or more nested fields are in error state.\n */\n hasError?: boolean\n\n /**\n * Will be set to true when the inherited data context has submit errors and the `hasError` has errors as well.\n */\n hasSubmitError?: boolean\n\n /**\n * Will be set to true when a nested field contains a visible error.\n */\n hasVisibleError?: boolean\n\n /**\n * Contains the nested field errors.\n */\n errorsRef?: React.RefObject<unknown>\n\n /**\n * Will be set to true when the boundary context error state should be shown.\n * Support a number to ensure we can renew hooks each time we get a new value.\n */\n showBoundaryErrors?: boolean | number\n\n /**\n * To set the boundary context error state.\n */\n setShowBoundaryErrors?: (\n showBoundaryErrors: FieldBoundaryContextState['showBoundaryErrors']\n ) => void\n\n /**\n * To set the local error state.\n */\n setFieldError?: (path: Path, error: Error) => void\n\n /**\n * To set the local visible error state.\n */\n setVisibleError?: (path: Path, hasError: boolean) => void\n}\n\nconst FieldBoundaryContext = React.createContext<\n FieldBoundaryContextState | undefined\n>(undefined)\n\nexport default FieldBoundaryContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAgDzB,MAAMC,oBAAoB,GAAGD,KAAK,CAACE,aAAa,CAE9CC,SAAS,CAAC;AAEZ,eAAeF,oBAAoB"}
@@ -1,3 +1,8 @@
1
- export default function FieldBoundaryProvider({ children }: {
2
- children: any;
3
- }): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ import { Path } from '../../types';
3
+ export type Props = {
4
+ showErrors?: boolean;
5
+ onPathError?: (path: Path, error: Error) => void;
6
+ children: React.ReactNode;
7
+ };
8
+ export default function FieldBoundaryProvider(props: Props): import("react/jsx-runtime").JSX.Element;
@@ -3,25 +3,41 @@
3
3
  import React, { useCallback, useContext, useReducer, useRef } from 'react';
4
4
  import FieldBoundaryContext from './FieldBoundaryContext';
5
5
  import DataContext from '../Context';
6
- export default function FieldBoundaryProvider({
7
- children
8
- }) {
6
+ export default function FieldBoundaryProvider(props) {
7
+ const {
8
+ showErrors = false,
9
+ onPathError = null,
10
+ children
11
+ } = props;
9
12
  const [, forceUpdate] = useReducer(() => ({}), {});
10
13
  const {
11
- showAllErrors,
12
- hasVisibleError
14
+ showAllErrors
13
15
  } = useContext(DataContext);
16
+ const onPathErrorRef = useRef(onPathError);
17
+ onPathErrorRef.current = onPathError;
14
18
  const errorsRef = useRef({});
15
- const showBoundaryErrorsRef = useRef(false);
16
- const hasError = Object.keys(errorsRef.current || {}).length > 0;
19
+ const showBoundaryErrorsRef = useRef(showErrors);
20
+ const hasError = Object.keys(errorsRef.current).length > 0;
17
21
  const hasSubmitError = showAllErrors && hasError;
18
22
  const setFieldError = useCallback((path, error) => {
23
+ var _onPathErrorRef$curre;
19
24
  if (error) {
20
25
  errorsRef.current[path] = !!error;
21
26
  } else {
22
27
  var _errorsRef$current;
23
28
  (_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? true : delete _errorsRef$current[path];
24
29
  }
30
+ forceUpdate();
31
+ (_onPathErrorRef$curre = onPathErrorRef.current) === null || _onPathErrorRef$curre === void 0 ? void 0 : _onPathErrorRef$curre.call(onPathErrorRef, path, error);
32
+ }, []);
33
+ const hasVisibleErrorRef = useRef({});
34
+ const setVisibleError = useCallback((path, hasError) => {
35
+ if (hasError) {
36
+ hasVisibleErrorRef.current[path] = hasError;
37
+ } else {
38
+ delete hasVisibleErrorRef.current[path];
39
+ }
40
+ forceUpdate();
25
41
  }, []);
26
42
  const setShowBoundaryErrors = useCallback(showBoundaryErrors => {
27
43
  showBoundaryErrorsRef.current = showBoundaryErrors;
@@ -30,11 +46,12 @@ export default function FieldBoundaryProvider({
30
46
  const context = {
31
47
  hasError,
32
48
  hasSubmitError,
33
- hasVisibleError,
49
+ hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
34
50
  errorsRef,
35
51
  showBoundaryErrors: showBoundaryErrorsRef.current,
36
52
  setShowBoundaryErrors,
37
- setFieldError
53
+ setFieldError,
54
+ setVisibleError
38
55
  };
39
56
  return React.createElement(FieldBoundaryContext.Provider, {
40
57
  value: context
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBoundaryProvider.js","names":["React","useCallback","useContext","useReducer","useRef","FieldBoundaryContext","DataContext","FieldBoundaryProvider","children","forceUpdate","showAllErrors","hasVisibleError","errorsRef","showBoundaryErrorsRef","hasError","Object","keys","current","length","hasSubmitError","setFieldError","path","error","_errorsRef$current","setShowBoundaryErrors","showBoundaryErrors","context","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from './FieldBoundaryContext'\nimport DataContext from '../Context'\nimport { Path } from '../../types'\n\nexport default function FieldBoundaryProvider({ children }) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { showAllErrors, hasVisibleError } = useContext(DataContext)\n\n const errorsRef = useRef<Record<Path, boolean>>({})\n const showBoundaryErrorsRef = useRef<boolean>(false)\n const hasError = Object.keys(errorsRef.current || {}).length > 0\n const hasSubmitError = showAllErrors && hasError\n\n const setFieldError = useCallback((path: Path, error: Error) => {\n if (error) {\n errorsRef.current[path] = !!error\n } else {\n delete errorsRef.current?.[path]\n }\n }, [])\n\n const setShowBoundaryErrors = useCallback(\n (showBoundaryErrors: boolean) => {\n showBoundaryErrorsRef.current = showBoundaryErrors\n forceUpdate()\n },\n []\n )\n\n const context: FieldBoundaryContextState = {\n hasError,\n hasSubmitError,\n hasVisibleError,\n errorsRef,\n showBoundaryErrors: showBoundaryErrorsRef.current,\n setShowBoundaryErrors,\n setFieldError,\n }\n\n return (\n <FieldBoundaryContext.Provider value={context}>\n {children}\n </FieldBoundaryContext.Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC1E,OAAOC,oBAAoB,MAEpB,wBAAwB;AAC/B,OAAOC,WAAW,MAAM,YAAY;AAGpC,eAAe,SAASC,qBAAqBA,CAAC;EAAEC;AAAS,CAAC,EAAE;EAC1D,MAAM,GAAGC,WAAW,CAAC,GAAGN,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEO,aAAa;IAAEC;EAAgB,CAAC,GAAGT,UAAU,CAACI,WAAW,CAAC;EAElE,MAAMM,SAAS,GAAGR,MAAM,CAAwB,CAAC,CAAC,CAAC;EACnD,MAAMS,qBAAqB,GAAGT,MAAM,CAAU,KAAK,CAAC;EACpD,MAAMU,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,SAAS,CAACK,OAAO,IAAI,CAAC,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;EAChE,MAAMC,cAAc,GAAGT,aAAa,IAAII,QAAQ;EAEhD,MAAMM,aAAa,GAAGnB,WAAW,CAAC,CAACoB,IAAU,EAAEC,KAAY,KAAK;IAC9D,IAAIA,KAAK,EAAE;MACTV,SAAS,CAACK,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC,CAACC,KAAK;IACnC,CAAC,MAAM;MAAA,IAAAC,kBAAA;MACL,CAAAA,kBAAA,GAAOX,SAAS,CAACK,OAAO,cAAAM,kBAAA,qBAAxB,OAAOA,kBAAA,CAAoBF,IAAI,CAAC;IAClC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,qBAAqB,GAAGvB,WAAW,CACtCwB,kBAA2B,IAAK;IAC/BZ,qBAAqB,CAACI,OAAO,GAAGQ,kBAAkB;IAClDhB,WAAW,CAAC,CAAC;EACf,CAAC,EACD,EACF,CAAC;EAED,MAAMiB,OAAkC,GAAG;IACzCZ,QAAQ;IACRK,cAAc;IACdR,eAAe;IACfC,SAAS;IACTa,kBAAkB,EAAEZ,qBAAqB,CAACI,OAAO;IACjDO,qBAAqB;IACrBJ;EACF,CAAC;EAED,OACEpB,KAAA,CAAA2B,aAAA,CAACtB,oBAAoB,CAACuB,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAC3ClB,QAC4B,CAAC;AAEpC"}
1
+ {"version":3,"file":"FieldBoundaryProvider.js","names":["React","useCallback","useContext","useReducer","useRef","FieldBoundaryContext","DataContext","FieldBoundaryProvider","props","showErrors","onPathError","children","forceUpdate","showAllErrors","onPathErrorRef","current","errorsRef","showBoundaryErrorsRef","hasError","Object","keys","length","hasSubmitError","setFieldError","path","error","_onPathErrorRef$curre","_errorsRef$current","call","hasVisibleErrorRef","setVisibleError","setShowBoundaryErrors","showBoundaryErrors","context","hasVisibleError","createElement","Provider","value"],"sources":["../../../../../../src/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from './FieldBoundaryContext'\nimport DataContext from '../Context'\nimport { Path } from '../../types'\n\nexport type Props = {\n showErrors?: boolean\n onPathError?: (path: Path, error: Error) => void\n children: React.ReactNode\n}\n\nexport default function FieldBoundaryProvider(props: Props) {\n const { showErrors = false, onPathError = null, children } = props\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { showAllErrors } = useContext(DataContext)\n\n const onPathErrorRef = useRef(onPathError)\n onPathErrorRef.current = onPathError\n const errorsRef = useRef<Record<Path, boolean>>({})\n const showBoundaryErrorsRef =\n useRef<FieldBoundaryContextState['showBoundaryErrors']>(showErrors)\n const hasError = Object.keys(errorsRef.current).length > 0\n const hasSubmitError = showAllErrors && hasError\n\n const setFieldError = useCallback((path: Path, error: Error) => {\n if (error) {\n errorsRef.current[path] = !!error\n } else {\n delete errorsRef.current?.[path]\n }\n forceUpdate()\n onPathErrorRef.current?.(path, error)\n }, [])\n\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const setVisibleError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate()\n }, [])\n\n const setShowBoundaryErrors: FieldBoundaryContextState['setShowBoundaryErrors'] =\n useCallback((showBoundaryErrors) => {\n showBoundaryErrorsRef.current = showBoundaryErrors\n forceUpdate()\n }, [])\n\n const context: FieldBoundaryContextState = {\n hasError,\n hasSubmitError,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n errorsRef,\n showBoundaryErrors: showBoundaryErrorsRef.current,\n setShowBoundaryErrors,\n setFieldError,\n setVisibleError,\n }\n\n return (\n <FieldBoundaryContext.Provider value={context}>\n {children}\n </FieldBoundaryContext.Provider>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC1E,OAAOC,oBAAoB,MAEpB,wBAAwB;AAC/B,OAAOC,WAAW,MAAM,YAAY;AASpC,eAAe,SAASC,qBAAqBA,CAACC,KAAY,EAAE;EAC1D,MAAM;IAAEC,UAAU,GAAG,KAAK;IAAEC,WAAW,GAAG,IAAI;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAClE,MAAM,GAAGI,WAAW,CAAC,GAAGT,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM;IAAEU;EAAc,CAAC,GAAGX,UAAU,CAACI,WAAW,CAAC;EAEjD,MAAMQ,cAAc,GAAGV,MAAM,CAACM,WAAW,CAAC;EAC1CI,cAAc,CAACC,OAAO,GAAGL,WAAW;EACpC,MAAMM,SAAS,GAAGZ,MAAM,CAAwB,CAAC,CAAC,CAAC;EACnD,MAAMa,qBAAqB,GACzBb,MAAM,CAAkDK,UAAU,CAAC;EACrE,MAAMS,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,SAAS,CAACD,OAAO,CAAC,CAACM,MAAM,GAAG,CAAC;EAC1D,MAAMC,cAAc,GAAGT,aAAa,IAAIK,QAAQ;EAEhD,MAAMK,aAAa,GAAGtB,WAAW,CAAC,CAACuB,IAAU,EAAEC,KAAY,KAAK;IAAA,IAAAC,qBAAA;IAC9D,IAAID,KAAK,EAAE;MACTT,SAAS,CAACD,OAAO,CAACS,IAAI,CAAC,GAAG,CAAC,CAACC,KAAK;IACnC,CAAC,MAAM;MAAA,IAAAE,kBAAA;MACL,CAAAA,kBAAA,GAAOX,SAAS,CAACD,OAAO,cAAAY,kBAAA,qBAAxB,OAAOA,kBAAA,CAAoBH,IAAI,CAAC;IAClC;IACAZ,WAAW,CAAC,CAAC;IACb,CAAAc,qBAAA,GAAAZ,cAAc,CAACC,OAAO,cAAAW,qBAAA,uBAAtBA,qBAAA,CAAAE,IAAA,CAAAd,cAAc,EAAWU,IAAI,EAAEC,KAAK,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,kBAAkB,GAAGzB,MAAM,CAAwB,CAAC,CAAC,CAAC;EAC5D,MAAM0B,eAAe,GAAG7B,WAAW,CAAC,CAACuB,IAAU,EAAEN,QAAiB,KAAK;IACrE,IAAIA,QAAQ,EAAE;MACZW,kBAAkB,CAACd,OAAO,CAACS,IAAI,CAAC,GAAGN,QAAQ;IAC7C,CAAC,MAAM;MACL,OAAOW,kBAAkB,CAACd,OAAO,CAACS,IAAI,CAAC;IACzC;IACAZ,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMmB,qBAAyE,GAC7E9B,WAAW,CAAE+B,kBAAkB,IAAK;IAClCf,qBAAqB,CAACF,OAAO,GAAGiB,kBAAkB;IAClDpB,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAER,MAAMqB,OAAkC,GAAG;IACzCf,QAAQ;IACRI,cAAc;IACdY,eAAe,EAAEf,MAAM,CAACC,IAAI,CAACS,kBAAkB,CAACd,OAAO,CAAC,CAACM,MAAM,GAAG,CAAC;IACnEL,SAAS;IACTgB,kBAAkB,EAAEf,qBAAqB,CAACF,OAAO;IACjDgB,qBAAqB;IACrBR,aAAa;IACbO;EACF,CAAC;EAED,OACE9B,KAAA,CAAAmC,aAAA,CAAC9B,oBAAoB,CAAC+B,QAAQ;IAACC,KAAK,EAAEJ;EAAQ,GAC3CtB,QAC4B,CAAC;AAEpC"}
@@ -110,8 +110,4 @@ export interface Props<Data extends JsonObject> extends IsolationProviderProps<D
110
110
  children: React.ReactNode;
111
111
  }
112
112
  export default function Provider<Data extends JsonObject>(props: Props<Data>): import("react/jsx-runtime").JSX.Element;
113
- type PathList = string[];
114
- export declare function addListPath(paths: PathList, path: Path): PathList;
115
- export declare function removeListPath(paths: PathList, path: Path): PathList;
116
113
  export declare const clearedData: Readonly<{}>;
117
- export {};
@@ -62,7 +62,7 @@ export default function Provider(props) {
62
62
  }
63
63
  const translation = useTranslation().Field;
64
64
  const ajvRef = useRef(makeAjvInstance(ajvInstance));
65
- const mountedFieldPathsRef = useRef([]);
65
+ const mountedFieldsRef = useRef({});
66
66
  const hasVisibleErrorRef = useRef({});
67
67
  const errorsRef = useRef();
68
68
  const showAllErrorsRef = useRef(false);
@@ -70,7 +70,7 @@ export default function Provider(props) {
70
70
  showAllErrorsRef.current = showAllErrors;
71
71
  forceUpdate();
72
72
  }, []);
73
- const setHasVisibleError = useCallback((path, hasError) => {
73
+ const setVisibleError = useCallback((path, hasError) => {
74
74
  if (hasError) {
75
75
  hasVisibleErrorRef.current[path] = hasError;
76
76
  } else {
@@ -125,14 +125,20 @@ export default function Provider(props) {
125
125
  return Boolean(state === 'error' ? ((_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? void 0 : _errorsRef$current[path]) instanceof Error || fieldErrorRef.current[path] instanceof Error : fieldStateRef.current[path] === state);
126
126
  }, []);
127
127
  const hasFieldState = useCallback(state => {
128
- return mountedFieldPathsRef.current.some(path => {
129
- return checkFieldStateFor(path, state);
130
- });
128
+ for (const path in mountedFieldsRef.current) {
129
+ if (checkFieldStateFor(path, state)) {
130
+ return true;
131
+ }
132
+ }
133
+ return false;
131
134
  }, [checkFieldStateFor]);
132
135
  const hasFieldError = useCallback(path => {
133
- return mountedFieldPathsRef.current.some(p => {
134
- return p === path && checkFieldStateFor(p, 'error');
135
- });
136
+ for (const p in mountedFieldsRef.current) {
137
+ if (p === path && checkFieldStateFor(path, 'error')) {
138
+ return true;
139
+ }
140
+ }
141
+ return false;
136
142
  }, [checkFieldStateFor]);
137
143
  const hasErrors = useCallback(() => {
138
144
  return hasFieldState('error');
@@ -256,7 +262,8 @@ export default function Provider(props) {
256
262
  }, []);
257
263
  const hasFieldWithAsyncValidator = useCallback(() => {
258
264
  for (const path in fieldPropsRef.current) {
259
- if (mountedFieldPathsRef.current.includes(path)) {
265
+ var _mountedFieldsRef$cur;
266
+ if ((_mountedFieldsRef$cur = mountedFieldsRef.current[path]) !== null && _mountedFieldsRef$cur !== void 0 && _mountedFieldsRef$cur.isMounted) {
260
267
  const props = fieldPropsRef.current[path];
261
268
  if (isAsync(props.validator) || isAsync(props.onBlurValidator)) {
262
269
  return true;
@@ -434,11 +441,12 @@ export default function Provider(props) {
434
441
  changeHandlerStackRef.current.push(callback);
435
442
  }
436
443
  }, []);
437
- const handleMountField = useCallback(path => {
438
- mountedFieldPathsRef.current = addListPath(mountedFieldPathsRef.current, path);
439
- }, []);
440
- const handleUnMountField = useCallback(path => {
441
- mountedFieldPathsRef.current = removeListPath(mountedFieldPathsRef.current, path);
444
+ const setMountedFieldState = useCallback((path, options) => {
445
+ if (!mountedFieldsRef.current[path]) {
446
+ mountedFieldsRef.current[path] = _objectSpread({}, options);
447
+ } else {
448
+ Object.assign(mountedFieldsRef.current[path], options);
449
+ }
442
450
  }, []);
443
451
  const scrollToTop = useCallback(() => {
444
452
  if (typeof window !== 'undefined') {
@@ -474,12 +482,13 @@ export default function Provider(props) {
474
482
  }
475
483
  if (!skipFieldValidation) {
476
484
  for (const item of fieldEventListenersRef.current) {
485
+ var _mountedFieldsRef$cur2;
477
486
  const {
478
487
  path,
479
488
  type,
480
489
  callback
481
490
  } = item;
482
- if (type === 'onSubmit' && mountedFieldPathsRef.current.includes(path)) {
491
+ if (type === 'onSubmit' && (_mountedFieldsRef$cur2 = mountedFieldsRef.current[path]) !== null && _mountedFieldsRef$cur2 !== void 0 && _mountedFieldsRef$cur2.isMounted) {
483
492
  if (asyncBehaviorIsEnabled) {
484
493
  await callback();
485
494
  } else {
@@ -534,7 +543,6 @@ export default function Provider(props) {
534
543
  onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest();
535
544
  setShowAllErrors(true);
536
545
  }
537
- return internalDataRef.current;
538
546
  }, [clearData, hasErrors, hasFieldState, hasFieldWithAsyncValidator, isolate, onCommit, onSubmitRequest, setFormState, setShowAllErrors, setSubmitState]);
539
547
  const handleSubmitListenersRef = useRef([]);
540
548
  const setHandleSubmit = useCallback(callback => {
@@ -656,13 +664,12 @@ export default function Provider(props) {
656
664
  handlePathChange,
657
665
  handlePathChangeUnvalidated,
658
666
  handleSubmit,
659
- handleMountField,
660
- handleUnMountField,
667
+ setMountedFieldState,
661
668
  handleSubmitCall,
662
669
  setFormState,
663
670
  setSubmitState,
664
671
  setShowAllErrors,
665
- setHasVisibleError,
672
+ setVisibleError,
666
673
  setFieldEventListener,
667
674
  setFieldState,
668
675
  setFieldError,
@@ -674,6 +681,7 @@ export default function Provider(props) {
674
681
  validateData,
675
682
  updateDataValue,
676
683
  setData,
684
+ clearData,
677
685
  filterDataHandler,
678
686
  addOnChangeHandler,
679
687
  setHandleSubmit,
@@ -690,7 +698,7 @@ export default function Provider(props) {
690
698
  hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,
691
699
  fieldPropsRef,
692
700
  valuePropsRef,
693
- mountedFieldPathsRef,
701
+ mountedFieldsRef,
694
702
  ajvInstance: ajvRef.current,
695
703
  id,
696
704
  data: internalDataRef.current,
@@ -712,12 +720,6 @@ export default function Provider(props) {
712
720
  translations: translations ? translations : undefined
713
721
  }, children));
714
722
  }
715
- export function addListPath(paths, path) {
716
- return paths.includes(path) ? paths : paths.concat(path);
717
- }
718
- export function removeListPath(paths, path) {
719
- return paths.filter(thisPath => thisPath !== path);
720
- }
721
723
  function useFormStatusBuffer(props) {
722
724
  const {
723
725
  formState,