@dnb/eufemia 10.22.0 → 10.24.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 (1233) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/cjs/components/accordion/Accordion.js +1 -1
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionContext.d.ts +1 -1
  5. package/cjs/components/accordion/AccordionGroup.js +1 -1
  6. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  7. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +18 -0
  8. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +20 -0
  10. package/cjs/components/anchor/Anchor.d.ts +3 -4
  11. package/cjs/components/anchor/Anchor.js +16 -25
  12. package/cjs/components/anchor/Anchor.js.map +1 -1
  13. package/cjs/components/anchor/style/anchor-mixins.scss +62 -13
  14. package/cjs/components/anchor/style/dnb-anchor.css +79 -16
  15. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  16. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +10 -30
  17. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  18. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +82 -78
  19. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  20. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +25 -53
  21. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +10 -30
  22. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  23. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  24. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  25. package/cjs/components/breadcrumb/Breadcrumb.js +26 -17
  26. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  27. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
  28. package/cjs/components/breadcrumb/BreadcrumbItem.js +17 -9
  29. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  30. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +29 -4
  31. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  32. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +32 -4
  33. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
  34. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
  35. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
  36. package/cjs/components/button/Button.js +1 -1
  37. package/cjs/components/button/Button.js.map +1 -1
  38. package/cjs/components/button/style/button--tertiary.scss +30 -75
  39. package/cjs/components/button/style/dnb-button.css +43 -49
  40. package/cjs/components/button/style/dnb-button.min.css +1 -1
  41. package/cjs/components/button/style/dnb-button.scss +46 -59
  42. package/cjs/components/button/style/themes/button-mixins.scss +26 -5
  43. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
  44. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
  45. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +44 -72
  46. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
  47. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +14 -16
  48. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +29 -60
  49. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
  50. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  51. package/cjs/components/card/Card.d.ts +15 -2
  52. package/cjs/components/card/Card.js +19 -7
  53. package/cjs/components/card/Card.js.map +1 -1
  54. package/cjs/components/card/CardDocs.d.ts +2 -0
  55. package/cjs/components/card/CardDocs.js +65 -0
  56. package/cjs/components/card/CardDocs.js.map +1 -0
  57. package/cjs/components/card/style/dnb-card.css +24 -5
  58. package/cjs/components/card/style/dnb-card.min.css +1 -1
  59. package/cjs/components/card/style/dnb-card.scss +47 -16
  60. package/cjs/components/checkbox/style/dnb-checkbox.css +3 -0
  61. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  62. package/cjs/components/checkbox/style/dnb-checkbox.scss +7 -0
  63. package/cjs/components/date-picker/DatePicker.d.ts +2 -0
  64. package/cjs/components/date-picker/DatePicker.js +2 -1
  65. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  66. package/cjs/components/date-picker/DatePickerInput.js +19 -3
  67. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  68. package/cjs/components/date-picker/DatePickerProvider.js +8 -3
  69. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  70. package/cjs/components/dropdown/style/dnb-dropdown.css +3 -0
  71. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  72. package/cjs/components/dropdown/style/dnb-dropdown.scss +4 -0
  73. package/cjs/components/flex/style/dnb-flex.css +1 -1
  74. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  75. package/cjs/components/flex/style/flex-stack.scss +1 -1
  76. package/cjs/components/form-label/FormLabel.js +1 -1
  77. package/cjs/components/form-label/FormLabel.js.map +1 -1
  78. package/cjs/components/form-label/style/dnb-form-label.css +3 -0
  79. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  80. package/cjs/components/form-label/style/dnb-form-label.scss +4 -0
  81. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
  82. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
  83. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
  84. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
  85. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  86. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
  87. package/cjs/components/heading/HeadingContext.d.ts +1 -1
  88. package/cjs/components/height-animation/style/dnb-height-animation.css +2 -2
  89. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  90. package/cjs/components/height-animation/style/dnb-height-animation.scss +3 -2
  91. package/cjs/components/icon/style/dnb-icon.css +2 -2
  92. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  93. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  94. package/cjs/components/input/Input.js +1 -1
  95. package/cjs/components/input/Input.js.map +1 -1
  96. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  97. package/cjs/components/radio/style/dnb-radio.css +4 -0
  98. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  99. package/cjs/components/radio/style/dnb-radio.scss +9 -0
  100. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +3 -6
  101. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  102. package/cjs/components/skeleton/SkeletonHelper.d.ts +6 -6
  103. package/cjs/components/skeleton/style/dnb-skeleton.css +1 -0
  104. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  105. package/cjs/components/skeleton/style/dnb-skeleton.scss +1 -0
  106. package/cjs/components/slider/SliderInstance.js +1 -0
  107. package/cjs/components/slider/SliderInstance.js.map +1 -1
  108. package/cjs/components/slider/SliderThumb.js +4 -2
  109. package/cjs/components/slider/SliderThumb.js.map +1 -1
  110. package/cjs/components/step-indicator/StepIndicator.js +11 -5
  111. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  112. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
  113. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
  114. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
  115. package/cjs/components/table/TableScrollView.d.ts +5 -1
  116. package/cjs/components/table/TableScrollView.js +1 -0
  117. package/cjs/components/table/TableScrollView.js.map +1 -1
  118. package/cjs/components/table/TableTr.d.ts +1 -2
  119. package/cjs/components/table/TableTr.js.map +1 -1
  120. package/cjs/components/table/style/dnb-table.css +14 -1
  121. package/cjs/components/table/style/dnb-table.min.css +1 -1
  122. package/cjs/components/table/style/dnb-table.scss +7 -1
  123. package/cjs/components/table/style/table-header-buttons.scss +4 -1
  124. package/cjs/components/table/style/table-th.scss +9 -25
  125. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  126. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  127. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  128. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  129. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  130. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  131. package/cjs/components/table/useTableAnimationHandler.d.ts +1 -1
  132. package/cjs/components/table/useTableAnimationHandler.js +3 -3
  133. package/cjs/components/table/useTableAnimationHandler.js.map +1 -1
  134. package/cjs/components/tag/Tag.d.ts +11 -0
  135. package/cjs/components/tag/Tag.js +55 -40
  136. package/cjs/components/tag/Tag.js.map +1 -1
  137. package/cjs/components/tag/style/dnb-tag.css +50 -86
  138. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  139. package/cjs/components/tag/style/dnb-tag.scss +37 -45
  140. package/cjs/components/tag/style/themes/tag-mixins.scss +24 -6
  141. package/cjs/components/textarea/Textarea.d.ts +9 -0
  142. package/cjs/components/textarea/Textarea.js +21 -5
  143. package/cjs/components/textarea/Textarea.js.map +1 -1
  144. package/cjs/components/textarea/TextareaDocs.js +10 -0
  145. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  146. package/cjs/components/textarea/style/dnb-textarea.css +69 -26
  147. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  148. package/cjs/components/textarea/style/dnb-textarea.scss +83 -31
  149. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  150. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  151. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  152. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  153. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  154. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  155. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  156. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  157. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  158. package/cjs/components/tooltip/Tooltip.js +1 -1
  159. package/cjs/components/tooltip/Tooltip.js.map +1 -1
  160. package/cjs/elements/Element.d.ts +3 -4
  161. package/cjs/elements/Element.js.map +1 -1
  162. package/cjs/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
  163. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  164. package/cjs/extensions/forms/DataContext/Context.d.ts +31 -8
  165. package/cjs/extensions/forms/DataContext/Context.js +14 -3
  166. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  167. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +29 -16
  168. package/cjs/extensions/forms/DataContext/Provider/Provider.js +324 -77
  169. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  170. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
  171. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +93 -0
  172. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
  173. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  174. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  175. package/cjs/extensions/forms/Field/Date/Date.js +3 -3
  176. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  177. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -4
  178. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  179. package/cjs/extensions/forms/Field/Number/Number.js +3 -3
  180. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  181. package/cjs/extensions/forms/Field/Password/Password.d.ts +1 -1
  182. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  183. package/cjs/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
  184. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -4
  185. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  186. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  187. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  188. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -3
  189. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  190. package/cjs/extensions/forms/Field/Selection/Selection.js +5 -5
  191. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  192. package/cjs/extensions/forms/Field/String/String.d.ts +6 -6
  193. package/cjs/extensions/forms/Field/String/String.js +16 -14
  194. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  195. package/cjs/extensions/forms/Field/String/StringDocs.js +9 -4
  196. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  197. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
  198. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  199. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
  200. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +41 -19
  201. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  202. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  203. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  204. package/cjs/extensions/forms/Form/Appearance/Appearance.js +3 -0
  205. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  206. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  207. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  208. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  209. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  210. package/cjs/extensions/forms/Form/Handler/Handler.js +50 -8
  211. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  212. package/cjs/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
  213. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +49 -0
  214. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
  215. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
  216. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +19 -10
  217. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  218. package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
  219. package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +30 -0
  220. package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
  221. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
  222. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +81 -0
  223. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
  224. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
  225. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +25 -0
  226. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
  227. package/cjs/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
  228. package/cjs/extensions/forms/Form/SubmitIndicator/index.js +27 -0
  229. package/cjs/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
  230. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
  231. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
  232. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
  233. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
  234. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js +4 -0
  235. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
  236. package/cjs/extensions/forms/Form/data-context/getData.d.ts +1 -1
  237. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  238. package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -3
  239. package/cjs/extensions/forms/Form/data-context/useData.js +32 -12
  240. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  241. package/cjs/extensions/forms/Form/data-context/useError.d.ts +3 -2
  242. package/cjs/extensions/forms/Form/data-context/useError.js +8 -5
  243. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  244. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  245. package/cjs/extensions/forms/Form/index.js +7 -0
  246. package/cjs/extensions/forms/Form/index.js.map +1 -1
  247. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
  248. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  249. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +1 -1
  250. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  251. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +1 -1
  252. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  253. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
  254. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
  255. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  256. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
  257. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
  258. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  259. package/cjs/extensions/forms/StepsLayout/Step/Step.js +2 -3
  260. package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  261. package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  262. package/cjs/extensions/forms/StepsLayout/StepsContext.js +6 -1
  263. package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  264. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +5 -3
  265. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +112 -50
  266. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  267. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
  268. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +58 -0
  269. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
  270. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
  271. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  272. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
  273. package/cjs/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  274. package/cjs/extensions/forms/StepsLayout/useStep.js +19 -0
  275. package/cjs/extensions/forms/StepsLayout/useStep.js.map +1 -0
  276. package/cjs/extensions/forms/Value/Boolean/Boolean.js +1 -1
  277. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  278. package/cjs/extensions/forms/Value/Number/Number.js +5 -5
  279. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  280. package/cjs/extensions/forms/Value/String/String.js +1 -1
  281. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  282. package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
  283. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  284. package/cjs/extensions/forms/hooks/index.d.ts +6 -3
  285. package/cjs/extensions/forms/hooks/index.js +4 -12
  286. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  287. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +23 -0
  288. package/cjs/extensions/forms/hooks/useFieldProps.js +774 -0
  289. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -0
  290. package/cjs/extensions/forms/style/dnb-forms.css +107 -3
  291. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  292. package/cjs/extensions/forms/types.d.ts +69 -6
  293. package/cjs/extensions/forms/types.js +3 -2
  294. package/cjs/extensions/forms/types.js.map +1 -1
  295. package/cjs/extensions/forms/utils/ajv.d.ts +9 -7
  296. package/cjs/extensions/forms/utils/ajv.js +34 -17
  297. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  298. package/cjs/fragments/scroll-view/ScrollView.d.ts +2 -2
  299. package/cjs/fragments/scroll-view/ScrollView.js +4 -1
  300. package/cjs/fragments/scroll-view/ScrollView.js.map +1 -1
  301. package/cjs/shared/Context.d.ts +20 -11
  302. package/cjs/shared/Context.js.map +1 -1
  303. package/cjs/shared/Eufemia.d.ts +2 -2
  304. package/cjs/shared/Eufemia.js +2 -2
  305. package/cjs/shared/Eufemia.js.map +1 -1
  306. package/cjs/shared/Provider.js.map +1 -1
  307. package/cjs/shared/defaults.d.ts +3 -3
  308. package/cjs/shared/defaults.js.map +1 -1
  309. package/cjs/shared/helpers/debounce.d.ts +21 -30
  310. package/cjs/shared/helpers/debounce.js +23 -11
  311. package/cjs/shared/helpers/debounce.js.map +1 -1
  312. package/cjs/shared/helpers/isAsync.d.ts +7 -0
  313. package/cjs/shared/helpers/isAsync.js +20 -0
  314. package/cjs/shared/helpers/isAsync.js.map +1 -0
  315. package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
  316. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +31 -0
  317. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
  318. package/cjs/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
  319. package/cjs/shared/helpers/useId.js.map +1 -0
  320. package/cjs/shared/helpers/useMountEffect.js.map +1 -0
  321. package/cjs/shared/helpers/useMounted.js.map +1 -0
  322. package/cjs/shared/helpers/useSharedState.js +15 -9
  323. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  324. package/cjs/shared/helpers/useUnmountEffect.js.map +1 -0
  325. package/cjs/shared/helpers/useUpdateEffect.js.map +1 -0
  326. package/cjs/shared/helpers.js +2 -0
  327. package/cjs/shared/helpers.js.map +1 -1
  328. package/cjs/shared/index.d.ts +10 -10
  329. package/cjs/shared/index.js +7 -1
  330. package/cjs/shared/index.js.map +1 -1
  331. package/cjs/shared/locales/en-GB.d.ts +1 -0
  332. package/cjs/shared/locales/en-GB.js +2 -1
  333. package/cjs/shared/locales/en-GB.js.map +1 -1
  334. package/cjs/shared/locales/en-US.d.ts +1 -0
  335. package/cjs/shared/locales/index.d.ts +4 -2
  336. package/cjs/shared/locales/index.js +2 -1
  337. package/cjs/shared/locales/index.js.map +1 -1
  338. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  339. package/cjs/shared/locales/nb-NO.js +2 -1
  340. package/cjs/shared/locales/nb-NO.js.map +1 -1
  341. package/cjs/shared/types.d.ts +4 -1
  342. package/cjs/shared/types.js.map +1 -1
  343. package/cjs/shared/useLocale.d.ts +2 -0
  344. package/cjs/shared/useLocale.js +37 -0
  345. package/cjs/shared/useLocale.js.map +1 -0
  346. package/cjs/style/core/scopes.scss +3 -0
  347. package/cjs/style/dnb-ui-basis.css +1 -0
  348. package/cjs/style/dnb-ui-basis.min.css +1 -1
  349. package/cjs/style/dnb-ui-body.css +1 -0
  350. package/cjs/style/dnb-ui-body.min.css +1 -1
  351. package/cjs/style/dnb-ui-components.css +433 -195
  352. package/cjs/style/dnb-ui-components.min.css +3 -3
  353. package/cjs/style/dnb-ui-core.css +1 -0
  354. package/cjs/style/dnb-ui-core.min.css +1 -1
  355. package/cjs/style/dnb-ui-extensions.css +107 -3
  356. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  357. package/cjs/style/dnb-ui-forms.css +107 -3
  358. package/cjs/style/dnb-ui-forms.min.css +1 -1
  359. package/cjs/style/dnb-ui-forms.scss +1 -0
  360. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
  361. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  362. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +596 -328
  363. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +17 -7
  364. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
  365. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  366. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -3
  367. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  368. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -3
  369. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  370. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +5 -2
  371. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  372. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +710 -374
  373. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +21 -9
  374. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +5 -2
  375. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  376. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +107 -3
  377. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  378. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +107 -3
  379. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  380. package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -6
  381. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  382. package/cjs/style/themes/theme-ui/ui-theme-components.css +596 -326
  383. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +17 -7
  384. package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -6
  385. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  386. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +107 -3
  387. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  388. package/cjs/style/themes/theme-ui/ui-theme-forms.css +107 -3
  389. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  390. package/cjs/style/themes/theme-ui/ui-theme-tags.css +40 -15
  391. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  392. package/components/accordion/Accordion.js +1 -1
  393. package/components/accordion/Accordion.js.map +1 -1
  394. package/components/accordion/AccordionContext.d.ts +1 -1
  395. package/components/accordion/AccordionGroup.js +1 -1
  396. package/components/accordion/AccordionGroup.js.map +1 -1
  397. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +18 -0
  398. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  399. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +20 -0
  400. package/components/anchor/Anchor.d.ts +3 -4
  401. package/components/anchor/Anchor.js +16 -25
  402. package/components/anchor/Anchor.js.map +1 -1
  403. package/components/anchor/style/anchor-mixins.scss +62 -13
  404. package/components/anchor/style/dnb-anchor.css +79 -16
  405. package/components/anchor/style/dnb-anchor.min.css +1 -1
  406. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +10 -30
  407. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  408. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +82 -78
  409. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  410. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +25 -53
  411. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +10 -30
  412. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  413. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  414. package/components/aria-live/useAriaLive.d.ts +1 -1
  415. package/components/breadcrumb/Breadcrumb.js +27 -18
  416. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  417. package/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
  418. package/components/breadcrumb/BreadcrumbItem.js +18 -10
  419. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  420. package/components/breadcrumb/style/dnb-breadcrumb.css +29 -4
  421. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  422. package/components/breadcrumb/style/dnb-breadcrumb.scss +32 -4
  423. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
  424. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
  425. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
  426. package/components/button/Button.js +1 -1
  427. package/components/button/Button.js.map +1 -1
  428. package/components/button/style/button--tertiary.scss +30 -75
  429. package/components/button/style/dnb-button.css +43 -49
  430. package/components/button/style/dnb-button.min.css +1 -1
  431. package/components/button/style/dnb-button.scss +46 -59
  432. package/components/button/style/themes/button-mixins.scss +26 -5
  433. package/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
  434. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
  435. package/components/button/style/themes/dnb-button-theme-sbanken.css +44 -72
  436. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
  437. package/components/button/style/themes/dnb-button-theme-sbanken.scss +14 -16
  438. package/components/button/style/themes/dnb-button-theme-ui.css +29 -60
  439. package/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
  440. package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  441. package/components/card/Card.d.ts +15 -2
  442. package/components/card/Card.js +19 -7
  443. package/components/card/Card.js.map +1 -1
  444. package/components/card/CardDocs.d.ts +2 -0
  445. package/components/card/CardDocs.js +58 -0
  446. package/components/card/CardDocs.js.map +1 -0
  447. package/components/card/style/dnb-card.css +24 -5
  448. package/components/card/style/dnb-card.min.css +1 -1
  449. package/components/card/style/dnb-card.scss +47 -16
  450. package/components/checkbox/style/dnb-checkbox.css +3 -0
  451. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  452. package/components/checkbox/style/dnb-checkbox.scss +7 -0
  453. package/components/date-picker/DatePicker.d.ts +2 -0
  454. package/components/date-picker/DatePicker.js +2 -1
  455. package/components/date-picker/DatePicker.js.map +1 -1
  456. package/components/date-picker/DatePickerInput.js +19 -3
  457. package/components/date-picker/DatePickerInput.js.map +1 -1
  458. package/components/date-picker/DatePickerProvider.js +8 -3
  459. package/components/date-picker/DatePickerProvider.js.map +1 -1
  460. package/components/dropdown/style/dnb-dropdown.css +3 -0
  461. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  462. package/components/dropdown/style/dnb-dropdown.scss +4 -0
  463. package/components/flex/style/dnb-flex.css +1 -1
  464. package/components/flex/style/dnb-flex.min.css +1 -1
  465. package/components/flex/style/flex-stack.scss +1 -1
  466. package/components/form-label/FormLabel.js +1 -1
  467. package/components/form-label/FormLabel.js.map +1 -1
  468. package/components/form-label/style/dnb-form-label.css +3 -0
  469. package/components/form-label/style/dnb-form-label.min.css +1 -1
  470. package/components/form-label/style/dnb-form-label.scss +4 -0
  471. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
  472. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
  473. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
  474. package/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
  475. package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  476. package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
  477. package/components/heading/HeadingContext.d.ts +1 -1
  478. package/components/height-animation/style/dnb-height-animation.css +2 -2
  479. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  480. package/components/height-animation/style/dnb-height-animation.scss +3 -2
  481. package/components/icon/style/dnb-icon.css +2 -2
  482. package/components/icon/style/dnb-icon.min.css +1 -1
  483. package/components/icon/style/dnb-icon.scss +1 -1
  484. package/components/input/Input.js +1 -1
  485. package/components/input/Input.js.map +1 -1
  486. package/components/number-format/NumberUtils.d.ts +1 -1
  487. package/components/radio/style/dnb-radio.css +4 -0
  488. package/components/radio/style/dnb-radio.min.css +1 -1
  489. package/components/radio/style/dnb-radio.scss +9 -0
  490. package/components/section/style/themes/dnb-section-theme-ui.css +3 -6
  491. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  492. package/components/skeleton/SkeletonHelper.d.ts +6 -6
  493. package/components/skeleton/style/dnb-skeleton.css +1 -0
  494. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  495. package/components/skeleton/style/dnb-skeleton.scss +1 -0
  496. package/components/slider/SliderInstance.js +1 -0
  497. package/components/slider/SliderInstance.js.map +1 -1
  498. package/components/slider/SliderThumb.js +4 -2
  499. package/components/slider/SliderThumb.js.map +1 -1
  500. package/components/step-indicator/StepIndicator.js +11 -6
  501. package/components/step-indicator/StepIndicator.js.map +1 -1
  502. package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
  503. package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
  504. package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
  505. package/components/table/TableScrollView.d.ts +5 -1
  506. package/components/table/TableScrollView.js +1 -0
  507. package/components/table/TableScrollView.js.map +1 -1
  508. package/components/table/TableTr.d.ts +1 -2
  509. package/components/table/TableTr.js.map +1 -1
  510. package/components/table/style/dnb-table.css +14 -1
  511. package/components/table/style/dnb-table.min.css +1 -1
  512. package/components/table/style/dnb-table.scss +7 -1
  513. package/components/table/style/table-header-buttons.scss +4 -1
  514. package/components/table/style/table-th.scss +9 -25
  515. package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  516. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  517. package/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  518. package/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  519. package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  520. package/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  521. package/components/table/useTableAnimationHandler.d.ts +1 -1
  522. package/components/table/useTableAnimationHandler.js +3 -3
  523. package/components/table/useTableAnimationHandler.js.map +1 -1
  524. package/components/tag/Tag.d.ts +11 -0
  525. package/components/tag/Tag.js +54 -39
  526. package/components/tag/Tag.js.map +1 -1
  527. package/components/tag/style/dnb-tag.css +50 -86
  528. package/components/tag/style/dnb-tag.min.css +1 -1
  529. package/components/tag/style/dnb-tag.scss +37 -45
  530. package/components/tag/style/themes/tag-mixins.scss +24 -6
  531. package/components/textarea/Textarea.d.ts +9 -0
  532. package/components/textarea/Textarea.js +21 -5
  533. package/components/textarea/Textarea.js.map +1 -1
  534. package/components/textarea/TextareaDocs.js +10 -0
  535. package/components/textarea/TextareaDocs.js.map +1 -1
  536. package/components/textarea/style/dnb-textarea.css +69 -26
  537. package/components/textarea/style/dnb-textarea.min.css +1 -1
  538. package/components/textarea/style/dnb-textarea.scss +83 -31
  539. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  540. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  541. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  542. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  543. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  544. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  545. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  546. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  547. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  548. package/components/tooltip/Tooltip.js +1 -1
  549. package/components/tooltip/Tooltip.js.map +1 -1
  550. package/elements/Element.d.ts +3 -4
  551. package/elements/Element.js.map +1 -1
  552. package/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
  553. package/es/components/accordion/Accordion.js +1 -1
  554. package/es/components/accordion/Accordion.js.map +1 -1
  555. package/es/components/accordion/AccordionContext.d.ts +1 -1
  556. package/es/components/accordion/AccordionGroup.js +1 -1
  557. package/es/components/accordion/AccordionGroup.js.map +1 -1
  558. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +18 -0
  559. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  560. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +20 -0
  561. package/es/components/anchor/Anchor.d.ts +3 -4
  562. package/es/components/anchor/Anchor.js +16 -25
  563. package/es/components/anchor/Anchor.js.map +1 -1
  564. package/es/components/anchor/style/anchor-mixins.scss +62 -13
  565. package/es/components/anchor/style/dnb-anchor.css +79 -16
  566. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  567. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +10 -30
  568. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  569. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +82 -78
  570. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  571. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +25 -53
  572. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +10 -30
  573. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  574. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  575. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  576. package/es/components/breadcrumb/Breadcrumb.js +27 -18
  577. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  578. package/es/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
  579. package/es/components/breadcrumb/BreadcrumbItem.js +18 -10
  580. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  581. package/es/components/breadcrumb/style/dnb-breadcrumb.css +29 -4
  582. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  583. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +32 -4
  584. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
  585. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
  586. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
  587. package/es/components/button/Button.js +1 -1
  588. package/es/components/button/Button.js.map +1 -1
  589. package/es/components/button/style/button--tertiary.scss +30 -75
  590. package/es/components/button/style/dnb-button.css +43 -49
  591. package/es/components/button/style/dnb-button.min.css +1 -1
  592. package/es/components/button/style/dnb-button.scss +46 -59
  593. package/es/components/button/style/themes/button-mixins.scss +26 -5
  594. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
  595. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
  596. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +44 -72
  597. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
  598. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +14 -16
  599. package/es/components/button/style/themes/dnb-button-theme-ui.css +29 -60
  600. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
  601. package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  602. package/es/components/card/Card.d.ts +15 -2
  603. package/es/components/card/Card.js +19 -7
  604. package/es/components/card/Card.js.map +1 -1
  605. package/es/components/card/CardDocs.d.ts +2 -0
  606. package/es/components/card/CardDocs.js +58 -0
  607. package/es/components/card/CardDocs.js.map +1 -0
  608. package/es/components/card/style/dnb-card.css +24 -5
  609. package/es/components/card/style/dnb-card.min.css +1 -1
  610. package/es/components/card/style/dnb-card.scss +47 -16
  611. package/es/components/checkbox/style/dnb-checkbox.css +3 -0
  612. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  613. package/es/components/checkbox/style/dnb-checkbox.scss +7 -0
  614. package/es/components/date-picker/DatePicker.d.ts +2 -0
  615. package/es/components/date-picker/DatePicker.js +2 -1
  616. package/es/components/date-picker/DatePicker.js.map +1 -1
  617. package/es/components/date-picker/DatePickerInput.js +19 -3
  618. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  619. package/es/components/date-picker/DatePickerProvider.js +8 -3
  620. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  621. package/es/components/dropdown/style/dnb-dropdown.css +3 -0
  622. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  623. package/es/components/dropdown/style/dnb-dropdown.scss +4 -0
  624. package/es/components/flex/style/dnb-flex.css +1 -1
  625. package/es/components/flex/style/dnb-flex.min.css +1 -1
  626. package/es/components/flex/style/flex-stack.scss +1 -1
  627. package/es/components/form-label/FormLabel.js +1 -1
  628. package/es/components/form-label/FormLabel.js.map +1 -1
  629. package/es/components/form-label/style/dnb-form-label.css +3 -0
  630. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  631. package/es/components/form-label/style/dnb-form-label.scss +4 -0
  632. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
  633. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
  634. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
  635. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
  636. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  637. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
  638. package/es/components/heading/HeadingContext.d.ts +1 -1
  639. package/es/components/height-animation/style/dnb-height-animation.css +2 -2
  640. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  641. package/es/components/height-animation/style/dnb-height-animation.scss +3 -2
  642. package/es/components/icon/style/dnb-icon.css +2 -2
  643. package/es/components/icon/style/dnb-icon.min.css +1 -1
  644. package/es/components/icon/style/dnb-icon.scss +1 -1
  645. package/es/components/input/Input.js +1 -1
  646. package/es/components/input/Input.js.map +1 -1
  647. package/es/components/number-format/NumberUtils.d.ts +1 -1
  648. package/es/components/radio/style/dnb-radio.css +4 -0
  649. package/es/components/radio/style/dnb-radio.min.css +1 -1
  650. package/es/components/radio/style/dnb-radio.scss +9 -0
  651. package/es/components/section/style/themes/dnb-section-theme-ui.css +3 -6
  652. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  653. package/es/components/skeleton/SkeletonHelper.d.ts +6 -6
  654. package/es/components/skeleton/style/dnb-skeleton.css +1 -0
  655. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  656. package/es/components/skeleton/style/dnb-skeleton.scss +1 -0
  657. package/es/components/slider/SliderInstance.js +1 -0
  658. package/es/components/slider/SliderInstance.js.map +1 -1
  659. package/es/components/slider/SliderThumb.js +4 -2
  660. package/es/components/slider/SliderThumb.js.map +1 -1
  661. package/es/components/step-indicator/StepIndicator.js +11 -6
  662. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  663. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
  664. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
  665. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
  666. package/es/components/table/TableScrollView.d.ts +5 -1
  667. package/es/components/table/TableScrollView.js +1 -0
  668. package/es/components/table/TableScrollView.js.map +1 -1
  669. package/es/components/table/TableTr.d.ts +1 -2
  670. package/es/components/table/TableTr.js.map +1 -1
  671. package/es/components/table/style/dnb-table.css +14 -1
  672. package/es/components/table/style/dnb-table.min.css +1 -1
  673. package/es/components/table/style/dnb-table.scss +7 -1
  674. package/es/components/table/style/table-header-buttons.scss +4 -1
  675. package/es/components/table/style/table-th.scss +9 -25
  676. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  677. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  678. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  679. package/es/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  680. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  681. package/es/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  682. package/es/components/table/useTableAnimationHandler.d.ts +1 -1
  683. package/es/components/table/useTableAnimationHandler.js +3 -3
  684. package/es/components/table/useTableAnimationHandler.js.map +1 -1
  685. package/es/components/tag/Tag.d.ts +11 -0
  686. package/es/components/tag/Tag.js +54 -39
  687. package/es/components/tag/Tag.js.map +1 -1
  688. package/es/components/tag/style/dnb-tag.css +50 -86
  689. package/es/components/tag/style/dnb-tag.min.css +1 -1
  690. package/es/components/tag/style/dnb-tag.scss +37 -45
  691. package/es/components/tag/style/themes/tag-mixins.scss +24 -6
  692. package/es/components/textarea/Textarea.d.ts +9 -0
  693. package/es/components/textarea/Textarea.js +21 -5
  694. package/es/components/textarea/Textarea.js.map +1 -1
  695. package/es/components/textarea/TextareaDocs.js +10 -0
  696. package/es/components/textarea/TextareaDocs.js.map +1 -1
  697. package/es/components/textarea/style/dnb-textarea.css +69 -26
  698. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  699. package/es/components/textarea/style/dnb-textarea.scss +83 -31
  700. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  701. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  702. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  703. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  704. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  705. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  706. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  707. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  708. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  709. package/es/components/tooltip/Tooltip.js +1 -1
  710. package/es/components/tooltip/Tooltip.js.map +1 -1
  711. package/es/elements/Element.d.ts +3 -4
  712. package/es/elements/Element.js.map +1 -1
  713. package/es/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
  714. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  715. package/es/extensions/forms/DataContext/Context.d.ts +31 -8
  716. package/es/extensions/forms/DataContext/Context.js +14 -3
  717. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  718. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +29 -16
  719. package/es/extensions/forms/DataContext/Provider/Provider.js +321 -75
  720. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  721. package/es/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
  722. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +85 -0
  723. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
  724. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +2 -2
  725. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  726. package/es/extensions/forms/Field/Date/Date.js +4 -4
  727. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  728. package/es/extensions/forms/Field/Expiry/Expiry.js +5 -5
  729. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  730. package/es/extensions/forms/Field/Number/Number.js +4 -4
  731. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  732. package/es/extensions/forms/Field/Password/Password.d.ts +1 -1
  733. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  734. package/es/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
  735. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -5
  736. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  737. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  738. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  739. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  740. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  741. package/es/extensions/forms/Field/Selection/Selection.js +6 -6
  742. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  743. package/es/extensions/forms/Field/String/String.d.ts +6 -6
  744. package/es/extensions/forms/Field/String/String.js +17 -15
  745. package/es/extensions/forms/Field/String/String.js.map +1 -1
  746. package/es/extensions/forms/Field/String/StringDocs.js +9 -4
  747. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  748. package/es/extensions/forms/Field/Toggle/Toggle.js +8 -8
  749. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  750. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
  751. package/es/extensions/forms/FieldBlock/FieldBlock.js +41 -20
  752. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  753. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  754. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  755. package/es/extensions/forms/Form/Appearance/Appearance.js +3 -0
  756. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  757. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  758. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  759. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  760. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  761. package/es/extensions/forms/Form/Handler/Handler.js +45 -9
  762. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  763. package/es/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
  764. package/es/extensions/forms/Form/Handler/HandlerDocs.js +39 -0
  765. package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
  766. package/es/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
  767. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +21 -12
  768. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  769. package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
  770. package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +23 -0
  771. package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
  772. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
  773. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +69 -0
  774. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
  775. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
  776. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +18 -0
  777. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
  778. package/es/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
  779. package/es/extensions/forms/Form/SubmitIndicator/index.js +3 -0
  780. package/es/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
  781. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
  782. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
  783. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
  784. package/es/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
  785. package/es/extensions/forms/Form/SubmitIndicator/style/index.js +1 -0
  786. package/es/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
  787. package/es/extensions/forms/Form/data-context/getData.d.ts +1 -1
  788. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  789. package/es/extensions/forms/Form/data-context/useData.d.ts +3 -3
  790. package/es/extensions/forms/Form/data-context/useData.js +30 -12
  791. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  792. package/es/extensions/forms/Form/data-context/useError.d.ts +3 -2
  793. package/es/extensions/forms/Form/data-context/useError.js +7 -6
  794. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  795. package/es/extensions/forms/Form/index.d.ts +1 -0
  796. package/es/extensions/forms/Form/index.js +1 -0
  797. package/es/extensions/forms/Form/index.js.map +1 -1
  798. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  799. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  800. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +2 -2
  801. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  802. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -2
  803. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  804. package/es/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
  805. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
  806. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  807. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
  808. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
  809. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  810. package/es/extensions/forms/StepsLayout/Step/Step.js +2 -3
  811. package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  812. package/es/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  813. package/es/extensions/forms/StepsLayout/StepsContext.js +6 -1
  814. package/es/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  815. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +5 -3
  816. package/es/extensions/forms/StepsLayout/StepsLayout.js +108 -49
  817. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  818. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
  819. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +50 -0
  820. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
  821. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
  822. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  823. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
  824. package/es/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  825. package/es/extensions/forms/StepsLayout/useStep.js +12 -0
  826. package/es/extensions/forms/StepsLayout/useStep.js.map +1 -0
  827. package/es/extensions/forms/Value/Boolean/Boolean.js +2 -2
  828. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  829. package/es/extensions/forms/Value/Number/Number.js +5 -5
  830. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  831. package/es/extensions/forms/Value/String/String.js +2 -2
  832. package/es/extensions/forms/Value/String/String.js.map +1 -1
  833. package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
  834. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  835. package/es/extensions/forms/hooks/index.d.ts +6 -3
  836. package/es/extensions/forms/hooks/index.js +2 -3
  837. package/es/extensions/forms/hooks/index.js.map +1 -1
  838. package/es/extensions/forms/hooks/useFieldProps.d.ts +23 -0
  839. package/es/extensions/forms/hooks/useFieldProps.js +749 -0
  840. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -0
  841. package/es/extensions/forms/style/dnb-forms.css +107 -3
  842. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  843. package/es/extensions/forms/types.d.ts +69 -6
  844. package/es/extensions/forms/types.js +3 -2
  845. package/es/extensions/forms/types.js.map +1 -1
  846. package/es/extensions/forms/utils/ajv.d.ts +9 -7
  847. package/es/extensions/forms/utils/ajv.js +34 -15
  848. package/es/extensions/forms/utils/ajv.js.map +1 -1
  849. package/es/fragments/scroll-view/ScrollView.d.ts +2 -2
  850. package/es/fragments/scroll-view/ScrollView.js +4 -1
  851. package/es/fragments/scroll-view/ScrollView.js.map +1 -1
  852. package/es/shared/Context.d.ts +20 -11
  853. package/es/shared/Context.js.map +1 -1
  854. package/es/shared/Eufemia.d.ts +2 -2
  855. package/es/shared/Eufemia.js +2 -2
  856. package/es/shared/Eufemia.js.map +1 -1
  857. package/es/shared/Provider.js.map +1 -1
  858. package/es/shared/defaults.d.ts +3 -3
  859. package/es/shared/defaults.js.map +1 -1
  860. package/es/shared/helpers/debounce.d.ts +21 -30
  861. package/es/shared/helpers/debounce.js +21 -9
  862. package/es/shared/helpers/debounce.js.map +1 -1
  863. package/es/shared/helpers/isAsync.d.ts +7 -0
  864. package/es/shared/helpers/isAsync.js +14 -0
  865. package/es/shared/helpers/isAsync.js.map +1 -0
  866. package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
  867. package/es/shared/helpers/runCssVersionMismatchWarning.js +25 -0
  868. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
  869. package/es/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
  870. package/es/shared/helpers/useId.js.map +1 -0
  871. package/es/shared/helpers/useMountEffect.js.map +1 -0
  872. package/es/shared/helpers/useMounted.js.map +1 -0
  873. package/es/shared/helpers/useSharedState.js +15 -9
  874. package/es/shared/helpers/useSharedState.js.map +1 -1
  875. package/es/shared/helpers/useUnmountEffect.js.map +1 -0
  876. package/es/shared/helpers/useUpdateEffect.js.map +1 -0
  877. package/es/shared/helpers.js +2 -0
  878. package/es/shared/helpers.js.map +1 -1
  879. package/es/shared/index.d.ts +10 -10
  880. package/es/shared/index.js +9 -11
  881. package/es/shared/index.js.map +1 -1
  882. package/es/shared/locales/en-GB.d.ts +1 -0
  883. package/es/shared/locales/en-GB.js +2 -1
  884. package/es/shared/locales/en-GB.js.map +1 -1
  885. package/es/shared/locales/en-US.d.ts +1 -0
  886. package/es/shared/locales/index.d.ts +4 -2
  887. package/es/shared/locales/index.js +2 -1
  888. package/es/shared/locales/index.js.map +1 -1
  889. package/es/shared/locales/nb-NO.d.ts +1 -0
  890. package/es/shared/locales/nb-NO.js +2 -1
  891. package/es/shared/locales/nb-NO.js.map +1 -1
  892. package/es/shared/types.d.ts +4 -1
  893. package/es/shared/types.js.map +1 -1
  894. package/es/shared/useLocale.d.ts +2 -0
  895. package/es/shared/useLocale.js +29 -0
  896. package/es/shared/useLocale.js.map +1 -0
  897. package/es/style/core/scopes.scss +3 -0
  898. package/es/style/dnb-ui-basis.css +1 -0
  899. package/es/style/dnb-ui-basis.min.css +1 -1
  900. package/es/style/dnb-ui-body.css +1 -0
  901. package/es/style/dnb-ui-body.min.css +1 -1
  902. package/es/style/dnb-ui-components.css +433 -195
  903. package/es/style/dnb-ui-components.min.css +3 -3
  904. package/es/style/dnb-ui-core.css +1 -0
  905. package/es/style/dnb-ui-core.min.css +1 -1
  906. package/es/style/dnb-ui-extensions.css +107 -3
  907. package/es/style/dnb-ui-extensions.min.css +1 -1
  908. package/es/style/dnb-ui-forms.css +107 -3
  909. package/es/style/dnb-ui-forms.min.css +1 -1
  910. package/es/style/dnb-ui-forms.scss +1 -0
  911. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
  912. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  913. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +596 -328
  914. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +17 -7
  915. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
  916. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  917. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -3
  918. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  919. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -3
  920. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  921. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +5 -2
  922. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  923. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +710 -374
  924. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +21 -9
  925. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +5 -2
  926. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  927. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +107 -3
  928. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  929. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +107 -3
  930. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  931. package/es/style/themes/theme-ui/ui-theme-basis.css +3 -6
  932. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  933. package/es/style/themes/theme-ui/ui-theme-components.css +596 -326
  934. package/es/style/themes/theme-ui/ui-theme-components.min.css +17 -7
  935. package/es/style/themes/theme-ui/ui-theme-elements.css +3 -6
  936. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  937. package/es/style/themes/theme-ui/ui-theme-extensions.css +107 -3
  938. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  939. package/es/style/themes/theme-ui/ui-theme-forms.css +107 -3
  940. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  941. package/es/style/themes/theme-ui/ui-theme-tags.css +40 -15
  942. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  943. package/esm/dnb-ui-basis.min.mjs +1 -1
  944. package/esm/dnb-ui-components.min.mjs +1 -1
  945. package/esm/dnb-ui-elements.min.mjs +1 -1
  946. package/esm/dnb-ui-extensions.min.mjs +3 -3
  947. package/esm/dnb-ui-lib.min.mjs +1 -1
  948. package/extensions/forms/DataContext/At/At.js.map +1 -1
  949. package/extensions/forms/DataContext/Context.d.ts +31 -8
  950. package/extensions/forms/DataContext/Context.js +14 -3
  951. package/extensions/forms/DataContext/Context.js.map +1 -1
  952. package/extensions/forms/DataContext/Provider/Provider.d.ts +29 -16
  953. package/extensions/forms/DataContext/Provider/Provider.js +325 -78
  954. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  955. package/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
  956. package/extensions/forms/DataContext/Provider/ProviderDocs.js +85 -0
  957. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
  958. package/extensions/forms/Field/ArraySelection/ArraySelection.js +2 -2
  959. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  960. package/extensions/forms/Field/Date/Date.js +4 -4
  961. package/extensions/forms/Field/Date/Date.js.map +1 -1
  962. package/extensions/forms/Field/Expiry/Expiry.js +5 -5
  963. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  964. package/extensions/forms/Field/Number/Number.js +4 -4
  965. package/extensions/forms/Field/Number/Number.js.map +1 -1
  966. package/extensions/forms/Field/Password/Password.d.ts +1 -1
  967. package/extensions/forms/Field/Password/Password.js.map +1 -1
  968. package/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
  969. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -5
  970. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  971. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  972. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  973. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  974. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  975. package/extensions/forms/Field/Selection/Selection.js +6 -6
  976. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  977. package/extensions/forms/Field/String/String.d.ts +6 -6
  978. package/extensions/forms/Field/String/String.js +17 -15
  979. package/extensions/forms/Field/String/String.js.map +1 -1
  980. package/extensions/forms/Field/String/StringDocs.js +9 -4
  981. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  982. package/extensions/forms/Field/Toggle/Toggle.js +8 -8
  983. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  984. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
  985. package/extensions/forms/FieldBlock/FieldBlock.js +42 -20
  986. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  987. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  988. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  989. package/extensions/forms/Form/Appearance/Appearance.js +3 -0
  990. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  991. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  992. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  993. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  994. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  995. package/extensions/forms/Form/Handler/Handler.js +49 -9
  996. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  997. package/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
  998. package/extensions/forms/Form/Handler/HandlerDocs.js +39 -0
  999. package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
  1000. package/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
  1001. package/extensions/forms/Form/SubmitButton/SubmitButton.js +21 -12
  1002. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  1003. package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
  1004. package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +23 -0
  1005. package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
  1006. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
  1007. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +69 -0
  1008. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
  1009. package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
  1010. package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +18 -0
  1011. package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
  1012. package/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
  1013. package/extensions/forms/Form/SubmitIndicator/index.js +3 -0
  1014. package/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
  1015. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
  1016. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
  1017. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
  1018. package/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
  1019. package/extensions/forms/Form/SubmitIndicator/style/index.js +1 -0
  1020. package/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
  1021. package/extensions/forms/Form/data-context/getData.d.ts +1 -1
  1022. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  1023. package/extensions/forms/Form/data-context/useData.d.ts +3 -3
  1024. package/extensions/forms/Form/data-context/useData.js +32 -12
  1025. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  1026. package/extensions/forms/Form/data-context/useError.d.ts +3 -2
  1027. package/extensions/forms/Form/data-context/useError.js +8 -6
  1028. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  1029. package/extensions/forms/Form/index.d.ts +1 -0
  1030. package/extensions/forms/Form/index.js +1 -0
  1031. package/extensions/forms/Form/index.js.map +1 -1
  1032. package/extensions/forms/Iterate/Array/Array.js +2 -2
  1033. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  1034. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +2 -2
  1035. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  1036. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -2
  1037. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  1038. package/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
  1039. package/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
  1040. package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  1041. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
  1042. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
  1043. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  1044. package/extensions/forms/StepsLayout/Step/Step.js +2 -3
  1045. package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  1046. package/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  1047. package/extensions/forms/StepsLayout/StepsContext.js +6 -1
  1048. package/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  1049. package/extensions/forms/StepsLayout/StepsLayout.d.ts +5 -3
  1050. package/extensions/forms/StepsLayout/StepsLayout.js +111 -51
  1051. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1052. package/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
  1053. package/extensions/forms/StepsLayout/StepsLayoutDocs.js +50 -0
  1054. package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
  1055. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
  1056. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1057. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
  1058. package/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  1059. package/extensions/forms/StepsLayout/useStep.js +13 -0
  1060. package/extensions/forms/StepsLayout/useStep.js.map +1 -0
  1061. package/extensions/forms/Value/Boolean/Boolean.js +2 -2
  1062. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  1063. package/extensions/forms/Value/Number/Number.js +5 -5
  1064. package/extensions/forms/Value/Number/Number.js.map +1 -1
  1065. package/extensions/forms/Value/String/String.js +2 -2
  1066. package/extensions/forms/Value/String/String.js.map +1 -1
  1067. package/extensions/forms/hooks/DataValueDocs.js +3 -3
  1068. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  1069. package/extensions/forms/hooks/index.d.ts +6 -3
  1070. package/extensions/forms/hooks/index.js +2 -3
  1071. package/extensions/forms/hooks/index.js.map +1 -1
  1072. package/extensions/forms/hooks/useFieldProps.d.ts +23 -0
  1073. package/extensions/forms/hooks/useFieldProps.js +764 -0
  1074. package/extensions/forms/hooks/useFieldProps.js.map +1 -0
  1075. package/extensions/forms/style/dnb-forms.css +107 -3
  1076. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1077. package/extensions/forms/types.d.ts +69 -6
  1078. package/extensions/forms/types.js +3 -2
  1079. package/extensions/forms/types.js.map +1 -1
  1080. package/extensions/forms/utils/ajv.d.ts +9 -7
  1081. package/extensions/forms/utils/ajv.js +34 -15
  1082. package/extensions/forms/utils/ajv.js.map +1 -1
  1083. package/fragments/scroll-view/ScrollView.d.ts +2 -2
  1084. package/fragments/scroll-view/ScrollView.js +4 -1
  1085. package/fragments/scroll-view/ScrollView.js.map +1 -1
  1086. package/package.json +1 -1
  1087. package/shared/Context.d.ts +20 -11
  1088. package/shared/Context.js.map +1 -1
  1089. package/shared/Eufemia.d.ts +2 -2
  1090. package/shared/Eufemia.js +2 -2
  1091. package/shared/Eufemia.js.map +1 -1
  1092. package/shared/Provider.js.map +1 -1
  1093. package/shared/defaults.d.ts +3 -3
  1094. package/shared/defaults.js.map +1 -1
  1095. package/shared/helpers/debounce.d.ts +21 -30
  1096. package/shared/helpers/debounce.js +23 -11
  1097. package/shared/helpers/debounce.js.map +1 -1
  1098. package/shared/helpers/isAsync.d.ts +7 -0
  1099. package/shared/helpers/isAsync.js +14 -0
  1100. package/shared/helpers/isAsync.js.map +1 -0
  1101. package/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
  1102. package/shared/helpers/runCssVersionMismatchWarning.js +25 -0
  1103. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
  1104. package/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
  1105. package/shared/helpers/useId.js.map +1 -0
  1106. package/shared/helpers/useMountEffect.js.map +1 -0
  1107. package/shared/helpers/useMounted.js.map +1 -0
  1108. package/shared/helpers/useSharedState.js +15 -9
  1109. package/shared/helpers/useSharedState.js.map +1 -1
  1110. package/shared/helpers/useUnmountEffect.js.map +1 -0
  1111. package/shared/helpers/useUpdateEffect.js.map +1 -0
  1112. package/shared/helpers.js +2 -0
  1113. package/shared/helpers.js.map +1 -1
  1114. package/shared/index.d.ts +10 -10
  1115. package/shared/index.js +9 -11
  1116. package/shared/index.js.map +1 -1
  1117. package/shared/locales/en-GB.d.ts +1 -0
  1118. package/shared/locales/en-GB.js +2 -1
  1119. package/shared/locales/en-GB.js.map +1 -1
  1120. package/shared/locales/en-US.d.ts +1 -0
  1121. package/shared/locales/index.d.ts +4 -2
  1122. package/shared/locales/index.js +2 -1
  1123. package/shared/locales/index.js.map +1 -1
  1124. package/shared/locales/nb-NO.d.ts +1 -0
  1125. package/shared/locales/nb-NO.js +2 -1
  1126. package/shared/locales/nb-NO.js.map +1 -1
  1127. package/shared/types.d.ts +4 -1
  1128. package/shared/types.js.map +1 -1
  1129. package/shared/useLocale.d.ts +2 -0
  1130. package/shared/useLocale.js +29 -0
  1131. package/shared/useLocale.js.map +1 -0
  1132. package/style/core/scopes.scss +3 -0
  1133. package/style/dnb-ui-basis.css +1 -0
  1134. package/style/dnb-ui-basis.min.css +1 -1
  1135. package/style/dnb-ui-body.css +1 -0
  1136. package/style/dnb-ui-body.min.css +1 -1
  1137. package/style/dnb-ui-components.css +433 -195
  1138. package/style/dnb-ui-components.min.css +3 -3
  1139. package/style/dnb-ui-core.css +1 -0
  1140. package/style/dnb-ui-core.min.css +1 -1
  1141. package/style/dnb-ui-extensions.css +107 -3
  1142. package/style/dnb-ui-extensions.min.css +1 -1
  1143. package/style/dnb-ui-forms.css +107 -3
  1144. package/style/dnb-ui-forms.min.css +1 -1
  1145. package/style/dnb-ui-forms.scss +1 -0
  1146. package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
  1147. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1148. package/style/themes/theme-eiendom/eiendom-theme-components.css +596 -328
  1149. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +17 -7
  1150. package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
  1151. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1152. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -3
  1153. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1154. package/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -3
  1155. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1156. package/style/themes/theme-sbanken/sbanken-theme-basis.css +5 -2
  1157. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1158. package/style/themes/theme-sbanken/sbanken-theme-components.css +710 -374
  1159. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +21 -9
  1160. package/style/themes/theme-sbanken/sbanken-theme-elements.css +5 -2
  1161. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1162. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +107 -3
  1163. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1164. package/style/themes/theme-sbanken/sbanken-theme-forms.css +107 -3
  1165. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  1166. package/style/themes/theme-ui/ui-theme-basis.css +3 -6
  1167. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1168. package/style/themes/theme-ui/ui-theme-components.css +596 -326
  1169. package/style/themes/theme-ui/ui-theme-components.min.css +17 -7
  1170. package/style/themes/theme-ui/ui-theme-elements.css +3 -6
  1171. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1172. package/style/themes/theme-ui/ui-theme-extensions.css +107 -3
  1173. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1174. package/style/themes/theme-ui/ui-theme-forms.css +107 -3
  1175. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1176. package/style/themes/theme-ui/ui-theme-tags.css +40 -15
  1177. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1178. package/umd/dnb-ui-basis.min.js +1 -1
  1179. package/umd/dnb-ui-components.min.js +1 -1
  1180. package/umd/dnb-ui-elements.min.js +1 -1
  1181. package/umd/dnb-ui-extensions.min.js +3 -3
  1182. package/umd/dnb-ui-lib.min.js +1 -1
  1183. package/cjs/extensions/forms/hooks/useDataValue.d.ts +0 -18
  1184. package/cjs/extensions/forms/hooks/useDataValue.js +0 -461
  1185. package/cjs/extensions/forms/hooks/useDataValue.js.map +0 -1
  1186. package/cjs/extensions/forms/hooks/useId.js.map +0 -1
  1187. package/cjs/extensions/forms/hooks/useMountEffect.js.map +0 -1
  1188. package/cjs/extensions/forms/hooks/useMounted.js.map +0 -1
  1189. package/cjs/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
  1190. package/cjs/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
  1191. package/es/extensions/forms/hooks/useDataValue.d.ts +0 -18
  1192. package/es/extensions/forms/hooks/useDataValue.js +0 -443
  1193. package/es/extensions/forms/hooks/useDataValue.js.map +0 -1
  1194. package/es/extensions/forms/hooks/useId.js.map +0 -1
  1195. package/es/extensions/forms/hooks/useMountEffect.js.map +0 -1
  1196. package/es/extensions/forms/hooks/useMounted.js.map +0 -1
  1197. package/es/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
  1198. package/es/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
  1199. package/extensions/forms/hooks/useDataValue.d.ts +0 -18
  1200. package/extensions/forms/hooks/useDataValue.js +0 -451
  1201. package/extensions/forms/hooks/useDataValue.js.map +0 -1
  1202. package/extensions/forms/hooks/useId.js.map +0 -1
  1203. package/extensions/forms/hooks/useMountEffect.js.map +0 -1
  1204. package/extensions/forms/hooks/useMounted.js.map +0 -1
  1205. package/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
  1206. package/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
  1207. /package/cjs/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
  1208. /package/cjs/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
  1209. /package/cjs/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
  1210. /package/cjs/{extensions/forms/hooks → shared/helpers}/useMounted.d.ts +0 -0
  1211. /package/cjs/{extensions/forms/hooks → shared/helpers}/useMounted.js +0 -0
  1212. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
  1213. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
  1214. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
  1215. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
  1216. /package/es/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
  1217. /package/es/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
  1218. /package/es/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
  1219. /package/es/{extensions/forms/hooks → shared/helpers}/useMounted.d.ts +0 -0
  1220. /package/es/{extensions/forms/hooks → shared/helpers}/useMounted.js +0 -0
  1221. /package/es/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
  1222. /package/es/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
  1223. /package/es/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
  1224. /package/es/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
  1225. /package/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
  1226. /package/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
  1227. /package/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
  1228. /package/{extensions/forms/hooks → shared/helpers}/useMounted.d.ts +0 -0
  1229. /package/{extensions/forms/hooks → shared/helpers}/useMounted.js +0 -0
  1230. /package/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
  1231. /package/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
  1232. /package/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
  1233. /package/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
@@ -1,451 +0,0 @@
1
- "use client";
2
-
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- const _excluded = ["name", "error", "warning", "info", "hasError", "isChanged", "autoComplete", "ariaAttributes", "dataContext", "setHasFocus", "handleFocus", "handleBlur", "handleChange", "updateValue", "forceUpdate"];
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
- import { useRef, useEffect, useContext, useCallback, useMemo, useReducer } from 'react';
9
- import pointer from 'json-pointer';
10
- import { errorChanged } from '../utils';
11
- import { ajvErrorsToOneFormError } from '../utils/ajv';
12
- import { FormError } from '../types';
13
- import { Context as DataContext } from '../DataContext';
14
- import { combineDescribedBy } from '../../../shared/component-helper';
15
- import SharedContext from '../../../shared/Context';
16
- import FieldBlockContext from '../FieldBlock/FieldBlockContext';
17
- import IterateElementContext from '../Iterate/IterateElementContext';
18
- import useMountEffect from './useMountEffect';
19
- import useUnmountEffect from './useUnmountEffect';
20
- import useUpdateEffect from './useUpdateEffect';
21
- import useProcessManager from './useProcessManager';
22
- import useId from './useId';
23
- export default function useDataValue(props) {
24
- var _props$disabled,
25
- _dataContext$ajvInsta,
26
- _this = this,
27
- _ref3,
28
- _props$path,
29
- _props$autoComplete;
30
- const {
31
- path,
32
- itemPath,
33
- emptyValue,
34
- required,
35
- info,
36
- warning,
37
- error: errorProp,
38
- errorMessages,
39
- onFocus,
40
- onBlur,
41
- onChange,
42
- onBlurValidator,
43
- validator,
44
- schema,
45
- validateInitially,
46
- validateUnchanged,
47
- continuousValidation,
48
- toInput = value => value,
49
- fromInput = value => value,
50
- toEvent = value => value,
51
- transformValue = value => value,
52
- fromExternal = value => value,
53
- validateRequired = (value, _ref) => {
54
- let {
55
- emptyValue,
56
- required,
57
- error
58
- } = _ref;
59
- const res = required && (value === emptyValue || typeof emptyValue === 'undefined' && value === '') ? error : undefined;
60
- return res;
61
- }
62
- } = props;
63
- const disabled = (_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : props.readOnly;
64
- const [, forceUpdate] = useReducer(() => ({}), {});
65
- const {
66
- startProcess
67
- } = useProcessManager();
68
- const id = useId(props.id);
69
- const dataContext = useContext(DataContext);
70
- const fieldBlockContext = useContext(FieldBlockContext);
71
- const iterateElementContext = useContext(IterateElementContext);
72
- const sharedContext = useContext(SharedContext);
73
- const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
74
- const transformers = useRef({
75
- toInput,
76
- fromInput,
77
- toEvent,
78
- fromExternal,
79
- transformValue,
80
- validateRequired
81
- });
82
- const {
83
- handlePathChange: dataContextHandlePathChange,
84
- updateDataValue: dataContextUpdateDataValue,
85
- validateData: dataContextValidateData,
86
- setValueWithError: dataContextSetValueWithError,
87
- setProps: dataContextSetProps,
88
- errors: dataContextErrors,
89
- contextErrorMessages
90
- } = dataContext !== null && dataContext !== void 0 ? dataContext : {};
91
- const dataContextError = path ? dataContextErrors === null || dataContextErrors === void 0 ? void 0 : dataContextErrors[path] : undefined;
92
- const inFieldBlock = Boolean(fieldBlockContext);
93
- const {
94
- setFieldState: setFieldBlockState,
95
- showFieldError: showFieldBlockError
96
- } = fieldBlockContext !== null && fieldBlockContext !== void 0 ? fieldBlockContext : {};
97
- const inIterate = Boolean(iterateElementContext);
98
- const {
99
- index: iterateElementIndex,
100
- value: iterateElementValue,
101
- handleChange: handleIterateElementChange
102
- } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
103
- if (path && path.substring(0, 1) !== '/') {
104
- throw new Error('Invalid path. Data value path JSON Pointers must be from root (starting with a /).');
105
- }
106
- if (itemPath && itemPath.substring(0, 1) !== '/') {
107
- throw new Error('Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).');
108
- }
109
- if (itemPath && !iterateElementContext) {
110
- throw new Error('itemPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.');
111
- }
112
- const identifier = useMemo(() => {
113
- return path !== null && path !== void 0 ? path : id;
114
- }, [path, id]);
115
- const externalValue = useMemo(() => {
116
- if (props.value !== undefined) {
117
- return transformers.current.fromExternal(props.value);
118
- }
119
- if (inIterate && itemPath) {
120
- if (itemPath === '/') {
121
- return iterateElementValue;
122
- }
123
- return pointer.has(iterateElementValue, itemPath) ? pointer.get(iterateElementValue, itemPath) : undefined;
124
- }
125
- if (dataContext.data && path) {
126
- if (path === '/') {
127
- return dataContext.data;
128
- }
129
- return pointer.has(dataContext.data, path) ? pointer.get(dataContext.data, path) : undefined;
130
- }
131
- return undefined;
132
- }, [props.value, inIterate, itemPath, dataContext.data, path, iterateElementValue]);
133
- const valueRef = useRef(externalValue);
134
- const changedRef = useRef(false);
135
- const hasFocusRef = useRef(false);
136
- const showErrorInitially = validateInitially || errorProp;
137
- const localErrorRef = useRef();
138
- const contextErrorRef = useRef(dataContextError);
139
- dataContextSetProps === null || dataContextSetProps === void 0 ? void 0 : dataContextSetProps(identifier, props);
140
- const showErrorRef = useRef(Boolean(showErrorInitially));
141
- const validatorRef = useRef(validator);
142
- useUpdateEffect(() => {
143
- validatorRef.current = validator;
144
- }, [validator]);
145
- const schemaValidatorRef = useRef(schema ? (_dataContext$ajvInsta = dataContext.ajvInstance) === null || _dataContext$ajvInsta === void 0 ? void 0 : _dataContext$ajvInsta.compile(schema) : undefined);
146
- const showError = useCallback(() => {
147
- showErrorRef.current = true;
148
- showFieldBlockError === null || showFieldBlockError === void 0 ? void 0 : showFieldBlockError(identifier, true);
149
- }, [showFieldBlockError, identifier]);
150
- const hideError = useCallback(() => {
151
- showErrorRef.current = false;
152
- showFieldBlockError === null || showFieldBlockError === void 0 ? void 0 : showFieldBlockError(identifier, false);
153
- }, [showFieldBlockError, identifier]);
154
- const errorMessagesRef = useRef(null);
155
- errorMessagesRef.current = useMemo(() => {
156
- return _objectSpread({
157
- required: tr.fieldErrorRequired
158
- }, errorMessages);
159
- }, [errorMessages, tr.fieldErrorRequired]);
160
- const prepareError = useCallback(error => {
161
- if (error === undefined) {
162
- return;
163
- }
164
- if (error instanceof FormError) {
165
- var _error$messageValues;
166
- let message = error.message;
167
- const {
168
- validationRule
169
- } = error;
170
- if (typeof validationRule === 'string') {
171
- var _errorMessagesRef$cur;
172
- const fieldMessage = (_errorMessagesRef$cur = errorMessagesRef.current) === null || _errorMessagesRef$cur === void 0 ? void 0 : _errorMessagesRef$cur[validationRule];
173
- if (fieldMessage) {
174
- message = fieldMessage;
175
- }
176
- }
177
- const messageWithValues = Object.entries((_error$messageValues = error.messageValues) !== null && _error$messageValues !== void 0 ? _error$messageValues : {}).reduce((message, _ref2) => {
178
- let [key, value] = _ref2;
179
- return message.replace(`{${key}}`, value);
180
- }, message);
181
- return new FormError(messageWithValues);
182
- }
183
- return error;
184
- }, []);
185
- const stateId = useId();
186
- const persistErrorState = useCallback(errorArg => {
187
- const error = prepareError(errorArg);
188
- if (!errorChanged(error, localErrorRef.current)) {
189
- return;
190
- }
191
- localErrorRef.current = error;
192
- dataContextSetValueWithError === null || dataContextSetValueWithError === void 0 ? void 0 : dataContextSetValueWithError(identifier, Boolean(error));
193
- setFieldBlockState === null || setFieldBlockState === void 0 ? void 0 : setFieldBlockState({
194
- stateId,
195
- identifier,
196
- type: 'error',
197
- state: error,
198
- showInitially: Boolean(inFieldBlock && validateInitially)
199
- });
200
- forceUpdate();
201
- }, [stateId, prepareError, dataContextSetValueWithError, identifier, setFieldBlockState, inFieldBlock, validateInitially]);
202
- const clearErrorState = useCallback(() => persistErrorState(undefined), [persistErrorState]);
203
- const validateValue = useCallback(async () => {
204
- const isProcessActive = startProcess();
205
- if (disabled) {
206
- if (isProcessActive()) {
207
- clearErrorState();
208
- }
209
- hideError();
210
- return;
211
- }
212
- try {
213
- const requiredError = transformers.current.validateRequired(valueRef.current, {
214
- emptyValue,
215
- required,
216
- isChanged: changedRef.current,
217
- error: new FormError('The value is required', {
218
- validationRule: 'required'
219
- })
220
- });
221
- if (requiredError instanceof Error) {
222
- throw requiredError;
223
- }
224
- if (schemaValidatorRef.current && valueRef.current !== undefined && !schemaValidatorRef.current(valueRef.current)) {
225
- const error = ajvErrorsToOneFormError(schemaValidatorRef.current.errors);
226
- throw error;
227
- }
228
- if (validatorRef.current) {
229
- var _validatorRef$current;
230
- const res = await ((_validatorRef$current = validatorRef.current) === null || _validatorRef$current === void 0 ? void 0 : _validatorRef$current.call(validatorRef, valueRef.current, _objectSpread(_objectSpread({}, contextErrorMessages), errorMessagesRef.current)));
231
- if (res instanceof Error) {
232
- throw res;
233
- }
234
- }
235
- if (isProcessActive()) {
236
- clearErrorState();
237
- }
238
- } catch (error) {
239
- if (isProcessActive()) {
240
- persistErrorState(error);
241
- }
242
- }
243
- }, [startProcess, disabled, hideError, clearErrorState, emptyValue, required, contextErrorMessages, persistErrorState]);
244
- useUpdateEffect(() => {
245
- var _dataContext$ajvInsta2;
246
- schemaValidatorRef.current = schema ? (_dataContext$ajvInsta2 = dataContext.ajvInstance) === null || _dataContext$ajvInsta2 === void 0 ? void 0 : _dataContext$ajvInsta2.compile(schema) : undefined;
247
- validateValue();
248
- }, [schema, validateValue]);
249
- useUpdateEffect(() => {
250
- valueRef.current = externalValue;
251
- validateValue();
252
- forceUpdate();
253
- }, [externalValue, validateValue]);
254
- useEffect(() => {
255
- const error = prepareError(dataContextError);
256
- if (errorChanged(error, contextErrorRef.current)) {
257
- contextErrorRef.current = error;
258
- forceUpdate();
259
- }
260
- }, [dataContextError, prepareError]);
261
- useEffect(() => {
262
- if (dataContext.showAllErrors) {
263
- showError();
264
- forceUpdate();
265
- }
266
- }, [dataContext.showAllErrors, showError]);
267
- useEffect(() => {
268
- if (path) {
269
- const hasValue = pointer.has(dataContext.data, path);
270
- const existingValue = hasValue ? pointer.get(dataContext.data, path) : undefined;
271
- if (!hasValue || props.value !== existingValue && valueRef.current !== existingValue) {
272
- dataContextUpdateDataValue === null || dataContextUpdateDataValue === void 0 ? void 0 : dataContextUpdateDataValue(path, props.value, {
273
- disabled
274
- });
275
- dataContextValidateData === null || dataContextValidateData === void 0 ? void 0 : dataContextValidateData();
276
- }
277
- }
278
- }, [dataContext.data, dataContextUpdateDataValue, dataContextValidateData, disabled, path, props.value]);
279
- const handleError = useCallback(() => {
280
- if (continuousValidation || continuousValidation !== false && !hasFocusRef.current) {
281
- showError();
282
- } else {
283
- hideError();
284
- }
285
- }, [continuousValidation, hideError, showError]);
286
- const setHasFocus = useCallback((hasFocus, valueOverride) => {
287
- if (hasFocus) {
288
- hasFocusRef.current = true;
289
- const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onFocus');
290
- onFocus === null || onFocus === void 0 ? void 0 : onFocus(value);
291
- } else {
292
- hasFocusRef.current = false;
293
- const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlur');
294
- onBlur === null || onBlur === void 0 ? void 0 : onBlur(value);
295
- if (!changedRef.current && !validateUnchanged) {
296
- return;
297
- }
298
- if (typeof onBlurValidator === 'function') {
299
- const value = transformers.current.toEvent(valueOverride !== null && valueOverride !== void 0 ? valueOverride : valueRef.current, 'onBlurValidator');
300
- Promise.resolve(onBlurValidator(value)).then(persistErrorState);
301
- }
302
- showError();
303
- forceUpdate();
304
- }
305
- }, [onBlur, onBlurValidator, onFocus, persistErrorState, showError, validateUnchanged]);
306
- const updateValue = useCallback(newValue => {
307
- if (newValue === valueRef.current) {
308
- return;
309
- }
310
- valueRef.current = newValue;
311
- validateValue();
312
- handleError();
313
- if (path) {
314
- dataContextHandlePathChange === null || dataContextHandlePathChange === void 0 ? void 0 : dataContextHandlePathChange(path, newValue);
315
- }
316
- forceUpdate();
317
- }, [dataContextHandlePathChange, handleError, path, validateValue]);
318
- const handleChange = useCallback(function (argFromInput) {
319
- let additionalArgs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
320
- const currentValue = valueRef.current;
321
- let newValue = transformers.current.fromInput(argFromInput);
322
- if (newValue === currentValue) {
323
- return;
324
- }
325
- newValue = transformers.current.transformValue(newValue, currentValue);
326
- updateValue(newValue);
327
- changedRef.current = true;
328
- const value = transformers.current.toEvent(newValue, 'onChange');
329
- onChange === null || onChange === void 0 ? void 0 : onChange.apply(_this, typeof additionalArgs !== 'undefined' ? [value, additionalArgs] : [value]);
330
- if (itemPath) {
331
- const iterateValuePath = `/${iterateElementIndex}${itemPath && itemPath !== '/' ? itemPath : ''}`;
332
- handleIterateElementChange === null || handleIterateElementChange === void 0 ? void 0 : handleIterateElementChange(iterateValuePath, newValue);
333
- }
334
- }, [updateValue, onChange, itemPath, iterateElementIndex, handleIterateElementChange]);
335
- const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
336
- const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
337
- useMountEffect(() => {
338
- dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleMountField(identifier);
339
- validateValue();
340
- });
341
- useUnmountEffect(() => {
342
- dataContext === null || dataContext === void 0 ? void 0 : dataContext.handleUnMountField(identifier);
343
- });
344
- useMountEffect(() => {
345
- if (inFieldBlock) {
346
- if (errorProp) {
347
- setFieldBlockState === null || setFieldBlockState === void 0 ? void 0 : setFieldBlockState({
348
- identifier,
349
- type: 'error',
350
- state: errorProp,
351
- showInitially: true,
352
- show: true
353
- });
354
- }
355
- if (warning) {
356
- setFieldBlockState === null || setFieldBlockState === void 0 ? void 0 : setFieldBlockState({
357
- identifier,
358
- type: 'warning',
359
- state: warning,
360
- showInitially: true,
361
- show: true
362
- });
363
- }
364
- if (info) {
365
- setFieldBlockState === null || setFieldBlockState === void 0 ? void 0 : setFieldBlockState({
366
- identifier,
367
- type: 'info',
368
- state: info,
369
- showInitially: true,
370
- show: true
371
- });
372
- }
373
- return () => {
374
- if (fieldBlockContext.mountedFieldsRef) {
375
- fieldBlockContext.mountedFieldsRef.current[identifier] = true;
376
- }
377
- };
378
- }
379
- });
380
- const error = showErrorRef.current ? (_ref3 = errorProp !== null && errorProp !== void 0 ? errorProp : localErrorRef.current) !== null && _ref3 !== void 0 ? _ref3 : contextErrorRef.current : undefined;
381
- const hasError = Boolean(error) || inFieldBlock && fieldBlockContext.hasErrorProp;
382
- const ariaAttributes = useMemo(() => {
383
- return Object.keys(props).reduce((acc, cur) => {
384
- if (!cur.startsWith('aria-')) {
385
- return acc;
386
- }
387
- acc[cur] = props[cur];
388
- return acc;
389
- }, {});
390
- }, [props]);
391
- if (error) {
392
- ariaAttributes['aria-invalid'] = error ? 'true' : 'false';
393
- }
394
- if (required) {
395
- ariaAttributes['aria-required'] = required ? 'true' : 'false';
396
- }
397
- if (inFieldBlock) {
398
- var _fieldBlockContext$fi;
399
- if (fieldBlockContext.mountedFieldsRef) {
400
- fieldBlockContext.mountedFieldsRef.current[identifier] = true;
401
- }
402
- const stateIds = (_fieldBlockContext$fi = fieldBlockContext.fieldStateIdsRef) === null || _fieldBlockContext$fi === void 0 ? void 0 : _fieldBlockContext$fi.current;
403
- if (stateIds) {
404
- ariaAttributes['aria-describedby'] = combineDescribedBy(props, [error && stateIds.error, warning && stateIds.warning, info && stateIds.info].filter(Boolean));
405
- }
406
- } else {
407
- ariaAttributes['aria-describedby'] = combineDescribedBy(props, [(error || errorProp) && `${id}-form-status--error`, warning && `${id}-form-status--warning`, info && `${id}-form-status--info`].filter(Boolean));
408
- }
409
- return _objectSpread(_objectSpread({}, props), {}, {
410
- id,
411
- name: props.name || ((_props$path = props.path) === null || _props$path === void 0 ? void 0 : _props$path.replace('/', '')) || id,
412
- value: transformers.current.toInput(valueRef.current),
413
- info: !inFieldBlock ? info : undefined,
414
- warning: !inFieldBlock ? warning : undefined,
415
- error: !inFieldBlock ? error : undefined,
416
- hasError,
417
- disabled,
418
- autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : 'off',
419
- isChanged: changedRef.current,
420
- ariaAttributes,
421
- dataContext,
422
- setHasFocus,
423
- handleFocus,
424
- handleBlur,
425
- handleChange,
426
- updateValue,
427
- forceUpdate
428
- });
429
- }
430
- export function omitDataValueProps(props) {
431
- const {
432
- name,
433
- error,
434
- warning,
435
- info,
436
- hasError,
437
- isChanged,
438
- autoComplete,
439
- ariaAttributes,
440
- dataContext,
441
- setHasFocus,
442
- handleFocus,
443
- handleBlur,
444
- handleChange,
445
- updateValue,
446
- forceUpdate
447
- } = props,
448
- restProps = _objectWithoutProperties(props, _excluded);
449
- return restProps;
450
- }
451
- //# sourceMappingURL=useDataValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDataValue.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","combineDescribedBy","SharedContext","FieldBlockContext","IterateElementContext","useMountEffect","useUnmountEffect","useUpdateEffect","useProcessManager","useId","useDataValue","props","_props$disabled","_dataContext$ajvInsta","_this","_ref3","_props$path","_props$autoComplete","path","itemPath","emptyValue","required","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","toInput","value","fromInput","toEvent","transformValue","fromExternal","validateRequired","_ref","res","undefined","disabled","readOnly","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","sharedContext","tr","translation","Forms","transformers","handlePathChange","dataContextHandlePathChange","updateDataValue","dataContextUpdateDataValue","validateData","dataContextValidateData","setValueWithError","dataContextSetValueWithError","setProps","dataContextSetProps","errors","dataContextErrors","contextErrorMessages","dataContextError","inFieldBlock","Boolean","setFieldState","setFieldBlockState","showFieldError","showFieldBlockError","inIterate","index","iterateElementIndex","iterateElementValue","handleChange","handleIterateElementChange","substring","Error","identifier","externalValue","current","has","get","data","valueRef","changedRef","hasFocusRef","showErrorInitially","localErrorRef","contextErrorRef","showErrorRef","validatorRef","schemaValidatorRef","ajvInstance","compile","showError","hideError","errorMessagesRef","_objectSpread","fieldErrorRequired","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","messageWithValues","Object","entries","messageValues","reduce","_ref2","key","replace","stateId","persistErrorState","errorArg","type","state","showInitially","clearErrorState","validateValue","isProcessActive","requiredError","isChanged","_validatorRef$current","call","_dataContext$ajvInsta2","showAllErrors","hasValue","existingValue","handleError","setHasFocus","hasFocus","valueOverride","Promise","resolve","then","updateValue","newValue","argFromInput","additionalArgs","arguments","length","currentValue","apply","iterateValuePath","handleFocus","handleBlur","handleMountField","handleUnMountField","show","mountedFieldsRef","hasError","hasErrorProp","ariaAttributes","keys","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","filter","name","autoComplete","omitDataValueProps","restProps","_objectWithoutProperties","_excluded"],"sources":["../../../../../src/extensions/forms/hooks/useDataValue.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport { FormError, FieldProps, AdditionalEventArgs } from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport SharedContext from '../../../shared/Context'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport useMountEffect from './useMountEffect'\nimport useUnmountEffect from './useUnmountEffect'\nimport useUpdateEffect from './useUpdateEffect'\nimport useProcessManager from './useProcessManager'\nimport useId from './useId'\n\nexport default function useDataValue<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(props: Props): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const {\n path,\n itemPath,\n emptyValue,\n required,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n return res\n },\n } = props\n\n const disabled = props.disabled ?? props.readOnly\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n const transformers = useRef({\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChange: dataContextHandlePathChange,\n updateDataValue: dataContextUpdateDataValue,\n validateData: dataContextValidateData,\n setValueWithError: dataContextSetValueWithError,\n setProps: dataContextSetProps,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n\n const dataContextError = path ? dataContextErrors?.[path] : undefined\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldBlockState,\n showFieldError: showFieldBlockError,\n } = fieldBlockContext ?? {}\n const inIterate = Boolean(iterateElementContext)\n const {\n index: iterateElementIndex,\n value: iterateElementValue,\n handleChange: handleIterateElementChange,\n } = iterateElementContext ?? {}\n\n if (path && path.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid path. Data value path JSON Pointers must be from root (starting with a /).'\n )\n }\n if (itemPath && itemPath.substring(0, 1) !== '/') {\n throw new Error(\n 'Invalid itemPath. Item pathJSON Pointers must be from root of iterate element (starting with a /).'\n )\n }\n if (itemPath && !iterateElementContext) {\n throw new Error(\n 'itemPath cannot be used when not inside an iterate element context. Wrap the component in an Iterate.Loop.'\n )\n }\n\n const identifier = useMemo(() => {\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path ?? id\n }, [path, id])\n\n const externalValue = useMemo(() => {\n if (props.value !== undefined) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers.current.fromExternal(props.value)\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return iterateElementValue\n }\n\n return pointer.has(iterateElementValue, itemPath)\n ? pointer.get(iterateElementValue, itemPath)\n : undefined\n }\n\n if (dataContext.data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return dataContext.data\n }\n\n return pointer.has(dataContext.data, path)\n ? pointer.get(dataContext.data, path)\n : undefined\n }\n return undefined\n }, [\n props.value,\n inIterate,\n itemPath,\n dataContext.data,\n path,\n iterateElementValue,\n ])\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorInitially = validateInitially || errorProp\n // - Local errors are errors based on validation instructions received by\n const localErrorRef = useRef<Error | FormError | undefined>()\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n // Put props into the surrounding data context\n dataContextSetProps?.(identifier, props)\n\n const showErrorRef = useRef<boolean>(Boolean(showErrorInitially))\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldBlockError?.(identifier, true)\n }, [showFieldBlockError, identifier])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldBlockError?.(identifier, false)\n }, [showFieldBlockError, identifier])\n\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: tr.fieldErrorRequired,\n ...errorMessages,\n }\n }, [errorMessages, tr.fieldErrorRequired])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error === undefined) {\n return\n }\n\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n return new FormError(messageWithValues)\n }\n\n return error\n },\n []\n )\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (errorArg: FormError | undefined) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n dataContextSetValueWithError?.(identifier, Boolean(error))\n\n setFieldBlockState?.({\n stateId,\n identifier,\n type: 'error',\n state: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n stateId,\n prepareError,\n dataContextSetValueWithError,\n identifier,\n setFieldBlockState,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(\n () => persistErrorState(undefined),\n [persistErrorState]\n )\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n return\n }\n\n try {\n // Validate required\n const requiredError = transformers.current.validateRequired(\n valueRef.current,\n {\n emptyValue,\n required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n }\n )\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n valueRef.current !== undefined &&\n !schemaValidatorRef.current(valueRef.current)\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (validatorRef.current) {\n const res = await validatorRef.current?.(valueRef.current, {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n })\n if (res instanceof Error) {\n throw res\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n } catch (error: unknown) {\n if (isProcessActive()) {\n persistErrorState(error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n clearErrorState,\n emptyValue,\n required,\n contextErrorMessages,\n persistErrorState,\n ])\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n valueRef.current = externalValue\n validateValue()\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n contextErrorRef.current = error\n forceUpdate()\n }\n }, [dataContextError, prepareError])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (path) {\n const hasValue = pointer.has(dataContext.data, path)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, path)\n : undefined\n\n if (\n !hasValue ||\n (props.value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n dataContextUpdateDataValue?.(path, props.value, { disabled })\n dataContextValidateData?.()\n }\n }\n }, [\n dataContext.data,\n dataContextUpdateDataValue,\n dataContextValidateData,\n disabled,\n path,\n props.value,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n if (typeof onBlurValidator === 'function') {\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n Promise.resolve(onBlurValidator(value)).then(persistErrorState)\n }\n\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n }\n },\n [\n onBlur,\n onBlurValidator,\n onFocus,\n persistErrorState,\n showError,\n validateUnchanged,\n ]\n )\n\n const updateValue = useCallback(\n (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n // Always validate the value immediately when it is changed\n validateValue()\n\n handleError()\n\n if (path) {\n dataContextHandlePathChange?.(path, newValue)\n }\n\n forceUpdate()\n },\n [dataContextHandlePathChange, handleError, path, validateValue]\n )\n\n const handleChange = useCallback(\n (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n let newValue = transformers.current.fromInput(argFromInput)\n\n if (newValue === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n newValue = transformers.current.transformValue(\n newValue,\n currentValue\n )\n\n updateValue(newValue)\n\n changedRef.current = true\n\n const value = transformers.current.toEvent(newValue, 'onChange')\n onChange?.apply(\n this,\n typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n )\n\n if (itemPath) {\n const iterateValuePath = `/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n handleIterateElementChange?.(iterateValuePath, newValue)\n }\n },\n [\n updateValue,\n onChange,\n itemPath,\n iterateElementIndex,\n handleIterateElementChange,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldBlockState?.({\n identifier,\n type: 'error',\n state: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldBlockState?.({\n identifier,\n type: 'warning',\n state: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldBlockState?.({\n identifier,\n type: 'info',\n state: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (fieldBlockContext.mountedFieldsRef) {\n fieldBlockContext.mountedFieldsRef.current[identifier] = true\n }\n }\n }\n })\n\n const error = showErrorRef.current\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n\n // - Handle ariaAttributes\n const ariaAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>((acc, cur) => {\n if (!cur.startsWith('aria-')) {\n return acc\n }\n acc[cur] = props[cur]\n return acc\n }, {})\n }, [props])\n if (error) {\n ariaAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n ariaAttributes['aria-required'] = required ? 'true' : 'false'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (fieldBlockContext.mountedFieldsRef) {\n fieldBlockContext.mountedFieldsRef.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n ariaAttributes['aria-describedby'] = combineDescribedBy(\n props,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n ariaAttributes['aria-describedby'] = combineDescribedBy(\n props,\n [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n )\n }\n\n return {\n ...props,\n id,\n name: props.name || props.path?.replace('/', '') || id,\n value: transformers.current.toInput(valueRef.current),\n info: !inFieldBlock ? info : undefined,\n warning: !inFieldBlock ? warning : undefined,\n error: !inFieldBlock ? error : undefined,\n hasError,\n disabled,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : 'off'),\n\n // Return additional hook related props (ReturnAdditional)\n isChanged: changedRef.current,\n ariaAttributes,\n dataContext,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n }\n}\n\ninterface ReturnAdditional<Value> {\n value: Value\n isChanged: boolean\n ariaAttributes: AriaAttributes\n dataContext: ContextState\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: FieldProps<Value>['onChange']\n updateValue: (value: Value) => void\n forceUpdate: () => void\n}\n\nexport function omitDataValueProps<\n Props extends FieldProps<unknown> & ReturnAdditional<unknown>,\n>(props: Props) {\n // Do not include typical HTML attributes\n const {\n name, // eslint-disable-line\n error, // eslint-disable-line\n warning, // eslint-disable-line\n info, // eslint-disable-line\n hasError, // eslint-disable-line\n isChanged, // eslint-disable-line\n autoComplete, // eslint-disable-line\n ariaAttributes, // eslint-disable-line\n dataContext, // eslint-disable-line\n setHasFocus, // eslint-disable-line\n handleFocus, // eslint-disable-line\n handleBlur, // eslint-disable-line\n handleChange, // eslint-disable-line\n updateValue, // eslint-disable-line\n forceUpdate, // eslint-disable-line\n ...restProps\n } = props\n\n return restProps\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useId.js","names":["React","makeUniqueId","useId","customId","_React$useId","id","call","useMemo","_ref","replace"],"sources":["../../../../../src/extensions/forms/hooks/useId.ts"],"sourcesContent":["import React from 'react'\nimport { makeUniqueId } from '../../../shared/component-helper'\n\nexport default function useId(customId?: string) {\n const id = React?.useId?.()\n return React.useMemo(\n () =>\n customId ??\n id?.replace(/:/, 'id-').replace(/:/, '') ??\n makeUniqueId(),\n [customId, id]\n )\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,kCAAkC;AAE/D,eAAe,SAASC,KAAKA,CAACC,QAAiB,EAAE;EAAA,IAAAC,YAAA;EAC/C,MAAMC,EAAE,GAAGL,KAAK,aAALA,KAAK,wBAAAI,YAAA,GAALJ,KAAK,CAAEE,KAAK,cAAAE,YAAA,uBAAZA,YAAA,CAAAE,IAAA,CAAAN,KAAe,CAAC;EAC3B,OAAOA,KAAK,CAACO,OAAO,CAClB;IAAA,IAAAC,IAAA;IAAA,QAAAA,IAAA,GACEL,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GACRE,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAACA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,cAAAD,IAAA,cAAAA,IAAA,GACxCP,YAAY,CAAC,CAAC;EAAA,GAChB,CAACE,QAAQ,EAAEE,EAAE,CACf,CAAC;AACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMountEffect.js","names":["useEffect","useMountEffect","callback","arguments"],"sources":["../../../../../src/extensions/forms/hooks/useMountEffect.ts"],"sourcesContent":["import { useEffect, EffectCallback } from 'react'\n\n/**\n * UseEffect that only run on the initial mount\n */\nexport default function useMountEffect(callback: EffectCallback) {\n useEffect((...args) => {\n return callback(...args)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"],"mappings":";;AAAA,SAASA,SAAS,QAAwB,OAAO;AAKjD,eAAe,SAASC,cAAcA,CAACC,QAAwB,EAAE;EAC/DF,SAAS,CAAC,YAAa;IACrB,OAAOE,QAAQ,CAAC,GAAAC,SAAO,CAAC;EAE1B,CAAC,EAAE,EAAE,CAAC;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMounted.js","names":["useEffect","useRef","useMounted","mounted","current"],"sources":["../../../../../src/extensions/forms/hooks/useMounted.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nexport default function useMounted() {\n const mounted = useRef(false)\n\n useEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n return mounted\n}\n"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACnC,MAAMC,OAAO,GAAGF,MAAM,CAAC,KAAK,CAAC;EAE7BD,SAAS,CAAC,MAAM;IACdG,OAAO,CAACC,OAAO,GAAG,IAAI;IACtB,OAAO,MAAM;MACXD,OAAO,CAACC,OAAO,GAAG,KAAK;IACzB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOD,OAAO;AAChB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUnmountEffect.js","names":["useEffect","useUnmountEffect","callback"],"sources":["../../../../../src/extensions/forms/hooks/useUnmountEffect.ts"],"sourcesContent":["import { useEffect } from 'react'\n\n/**\n * UseEffect that only run on the initial mount\n */\nexport default function useUnmountEffect(callback: () => void) {\n useEffect(() => {\n return callback\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n}\n"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AAKjC,eAAe,SAASC,gBAAgBA,CAACC,QAAoB,EAAE;EAC7DF,SAAS,CAAC,MAAM;IACd,OAAOE,QAAQ;EAEjB,CAAC,EAAE,EAAE,CAAC;AACR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUpdateEffect.js","names":["useEffect","useRef","useUpdateEffect","callback","deps","wasMounted","current","arguments"],"sources":["../../../../../src/extensions/forms/hooks/useUpdateEffect.ts"],"sourcesContent":["import { useEffect, useRef, EffectCallback, DependencyList } from 'react'\n\n/**\n * UseEffect that does not run on the initial mount\n */\nexport default function useUpdateEffect(\n callback: EffectCallback,\n deps?: DependencyList\n) {\n const wasMounted = useRef(false)\n\n useEffect((...args) => {\n if (!wasMounted.current) {\n wasMounted.current = true\n return\n }\n callback(...args)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps)\n}\n"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAwC,OAAO;AAKzE,eAAe,SAASC,eAAeA,CACrCC,QAAwB,EACxBC,IAAqB,EACrB;EACA,MAAMC,UAAU,GAAGJ,MAAM,CAAC,KAAK,CAAC;EAEhCD,SAAS,CAAC,YAAa;IACrB,IAAI,CAACK,UAAU,CAACC,OAAO,EAAE;MACvBD,UAAU,CAACC,OAAO,GAAG,IAAI;MACzB;IACF;IACAH,QAAQ,CAAC,GAAAI,SAAO,CAAC;EAEnB,CAAC,EAAEH,IAAI,CAAC;AACV"}