@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 +1 @@
1
- {"version":3,"file":"Toggle.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_ButtonRow","_FieldBlock","_hooks","_utils","_Context","_ToggleButtonGroupContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Toggle","props","sharedContext","useContext","SharedContext","preparedProps","errorMessages","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","textOn","textOff","info","warning","error","hasError","ariaAttributes","handleChange","useDataValue","handleCheckboxChange","useCallback","_ref","checked","handleToggleChange","_ref2","cn","classnames","fieldBlockPropsWithoutLabel","forId","pickSpacingProps","fieldBlockProps","isOn","isOff","createElement","Checkbox","status","on_change","ToggleButton","text","translation","Forms","booleanYes","booleanNo","asFieldset","bottom","Provider","onChange","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n hasError,\n ariaAttributes,\n handleChange,\n } = useDataValue(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n disabled,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n disabled,\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...ariaAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...ariaAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={\n textOn ?? sharedContext?.translation.Forms.booleanYes\n }\n value=\"on\"\n {...ariaAttributes}\n />\n <ToggleButton\n text={\n textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n value=\"off\"\n {...ariaAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...ariaAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
1
+ {"version":3,"file":"Toggle.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_ButtonRow","_FieldBlock","_hooks","_utils","_Context","_ToggleButtonGroupContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Toggle","props","sharedContext","useContext","SharedContext","preparedProps","errorMessages","id","className","valueOn","valueOff","layout","variant","disabled","label","labelDescription","textOn","textOff","info","warning","error","hasError","htmlAttributes","handleChange","useFieldProps","handleCheckboxChange","useCallback","_ref","checked","handleToggleChange","_ref2","cn","classnames","fieldBlockPropsWithoutLabel","forId","pickSpacingProps","fieldBlockProps","isOn","isOff","createElement","Checkbox","status","on_change","ToggleButton","text","translation","Forms","booleanYes","booleanNo","asFieldset","bottom","Provider","onChange","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useContext, useCallback } from 'react'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport classnames from 'classnames'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\n\nexport type Props = FieldProps<unknown> & {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nfunction Toggle(props: Props) {\n const sharedContext = useContext(SharedContext)\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n layout,\n variant,\n disabled,\n label,\n labelDescription,\n textOn,\n textOff,\n value,\n info,\n warning,\n error,\n hasError,\n htmlAttributes,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockPropsWithoutLabel = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n disabled,\n }\n\n const fieldBlockProps = {\n ...fieldBlockPropsWithoutLabel,\n layout,\n label,\n labelDescription,\n disabled,\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockPropsWithoutLabel}>\n <Checkbox\n id={id}\n className={cn}\n label={label}\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={\n textOn ?? sharedContext?.translation.Forms.booleanYes\n }\n value=\"on\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={\n textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n value=\"off\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? sharedContext?.translation.Forms.booleanYes\n : textOff ?? sharedContext?.translation.Forms.booleanNo\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { StateTypes, FieldBlockContextProps } from './FieldBlockContext';
3
- import { ComponentProps, FieldProps } from '../types';
3
+ import { ComponentProps, FieldProps, SubmitState } from '../types';
4
4
  export declare const states: Array<StateTypes>;
5
5
  export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' | 'labelDescription' | 'info' | 'warning' | 'error' | 'disabled'> & {
6
6
  /** The id to link a element with */
@@ -14,6 +14,8 @@ export type Props = Pick<FieldProps, keyof ComponentProps | 'layout' | 'label' |
14
14
  /** Width of contents block, while label etc can be wider if space is available */
15
15
  contentWidth?: 'small' | 'medium' | 'large' | 'stretch';
16
16
  contentClassName?: string;
17
+ /** To show the SubmitIndicator during async validation */
18
+ fieldState?: SubmitState;
17
19
  /** Typography size */
18
20
  labelSize?: 'medium' | 'large';
19
21
  children: React.ReactNode;
@@ -12,10 +12,12 @@ var _FieldBlockContext = _interopRequireDefault(require("./FieldBlockContext"));
12
12
  var _components = require("../../../components");
13
13
  var _elements = require("../../../elements");
14
14
  var _componentHelper = require("../../../shared/component-helper");
15
- var _useId = _interopRequireDefault(require("../hooks/useId"));
15
+ var _useId = _interopRequireDefault(require("../../../shared/helpers/useId"));
16
+ var _useUnmountEffect = _interopRequireDefault(require("../../../shared/helpers/useUnmountEffect"));
16
17
  var _types = require("../types");
17
- var _useUnmountEffect = _interopRequireDefault(require("../hooks/useUnmountEffect"));
18
- const _excluded = ["className", "forId", "layout", "composition", "label", "labelDescription", "asFieldset", "info", "warning", "error", "disabled", "width", "contentWidth", "labelSize", "contentClassName", "children"];
18
+ var _SubmitIndicator = _interopRequireDefault(require("../Form/SubmitIndicator/SubmitIndicator"));
19
+ var _useSharedState = require("../../../shared/helpers/useSharedState");
20
+ const _excluded = ["className", "forId", "layout", "composition", "label", "labelDescription", "asFieldset", "info", "warning", "error", "fieldState", "disabled", "width", "contentWidth", "labelSize", "contentClassName", "children"];
19
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
23
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -31,7 +33,9 @@ const states = ['error', 'info', 'warning'];
31
33
  exports.states = states;
32
34
  function FieldBlock(props) {
33
35
  const nestedFieldBlockContext = (0, _react.useContext)(_FieldBlockContext.default);
34
- const {
36
+ const sharedData = (0, _useSharedState.createSharedState)(props.forId || props.id);
37
+ const _Object$assign = Object.assign({}, sharedData.data, props),
38
+ {
35
39
  className,
36
40
  forId,
37
41
  layout = 'vertical',
@@ -42,14 +46,15 @@ function FieldBlock(props) {
42
46
  info,
43
47
  warning,
44
48
  error: errorProp,
49
+ fieldState,
45
50
  disabled,
46
51
  width,
47
52
  contentWidth,
48
53
  labelSize,
49
54
  contentClassName,
50
55
  children
51
- } = props,
52
- rest = _objectWithoutProperties(props, _excluded);
56
+ } = _Object$assign,
57
+ rest = _objectWithoutProperties(_Object$assign, _excluded);
53
58
  const blockId = (0, _useId.default)(props.id);
54
59
  const [wasUpdated, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
55
60
  const mountedFieldsRef = (0, _react.useRef)({});
@@ -108,28 +113,28 @@ function FieldBlock(props) {
108
113
  }
109
114
  }, [nestedFieldBlockContext]);
110
115
  const statusContent = (0, _react.useMemo)(() => {
111
- if (errorProp) {
116
+ if (typeof errorProp !== 'undefined') {
112
117
  setInternalRecord({
113
118
  identifier: blockId,
114
119
  showInitially: hasInitiallyErrorProp,
115
120
  type: 'error',
116
- state: errorProp
121
+ content: errorProp
117
122
  });
118
123
  }
119
- if (warning) {
124
+ if (typeof warning !== 'undefined') {
120
125
  setInternalRecord({
121
126
  identifier: blockId,
122
127
  showInitially: true,
123
128
  type: 'warning',
124
- state: warning
129
+ content: warning
125
130
  });
126
131
  }
127
- if (info) {
132
+ if (typeof info !== 'undefined') {
128
133
  setInternalRecord({
129
134
  identifier: blockId,
130
135
  showInitially: true,
131
136
  type: 'info',
132
- state: info
137
+ content: info
133
138
  });
134
139
  }
135
140
  const statesWithMessages = Object.entries(stateRecordRef.current).flatMap(_ref => {
@@ -150,7 +155,7 @@ function FieldBlock(props) {
150
155
  }));
151
156
  } else {
152
157
  acc.push(_objectSpread(_objectSpread({}, cur), {}, {
153
- state: undefined,
158
+ content: undefined,
154
159
  messages: [_objectSpread(_objectSpread({}, cur), {}, {
155
160
  message
156
161
  })]
@@ -234,6 +239,9 @@ function FieldBlock(props) {
234
239
  size: labelSize,
235
240
  disabled
236
241
  };
242
+ if (fieldState && !label) {
243
+ (0, _componentHelper.warn)('You have to provide a label to use show an indicator.');
244
+ }
237
245
  return _react.default.createElement(_FieldBlockContext.default.Provider, {
238
246
  value: {
239
247
  setFieldState,
@@ -248,11 +256,13 @@ function FieldBlock(props) {
248
256
  className: mainClasses
249
257
  }, rest), _react.default.createElement("div", {
250
258
  className: gridClasses
251
- }, labelDescription ? _react.default.createElement("div", {
252
- className: "dnb-forms-field-block__label"
253
- }, label || labelDescription ? _react.default.createElement(_components.FormLabel, labelProps, label, labelDescription && _react.default.createElement("span", {
259
+ }, _react.default.createElement(LabelDescription, {
260
+ labelDescription: labelDescription
261
+ }, (label || labelDescription) && _react.default.createElement(_components.FormLabel, labelProps, _react.default.createElement(_SubmitIndicator.default, {
262
+ state: fieldState
263
+ }, label, labelDescription && _react.default.createElement("span", {
254
264
  className: "dnb-forms-field-block__label-description"
255
- }, labelDescription)) : _react.default.createElement(_react.default.Fragment, null, "\xA0")) : label && _react.default.createElement(_components.FormLabel, labelProps, label), _react.default.createElement("div", {
265
+ }, labelDescription)))), _react.default.createElement("div", {
256
266
  className: "dnb-forms-field-block__status"
257
267
  }, _react.default.createElement(_components.FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.error), _react.default.createElement(_components.FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.warning), _react.default.createElement(_components.FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.info)), _react.default.createElement("div", {
258
268
  className: (0, _classnames.default)('dnb-forms-field-block__contents', contentClassName, contentWidth !== undefined && `dnb-forms-field-block__contents--width-${contentWidth}`, composition !== undefined && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
@@ -305,11 +315,23 @@ function CombineMessages(_ref4) {
305
315
  }, message);
306
316
  })));
307
317
  }
318
+ function LabelDescription(_ref6) {
319
+ let {
320
+ labelDescription,
321
+ children
322
+ } = _ref6;
323
+ if (!labelDescription) {
324
+ return children;
325
+ }
326
+ return _react.default.createElement("div", {
327
+ className: "dnb-forms-field-block__label"
328
+ }, children);
329
+ }
308
330
  function getMessage(item) {
309
331
  const {
310
- state
332
+ content
311
333
  } = item;
312
- return state instanceof Error && state.message || state instanceof _types.FormError && state.message || (state === null || state === void 0 ? void 0 : state.toString()) || state;
334
+ return content instanceof Error && content.message || content instanceof _types.FormError && content.message || (content === null || content === void 0 ? void 0 : content.toString()) || content;
313
335
  }
314
336
  FieldBlock._supportsSpacingProps = true;
315
337
  var _default = FieldBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_FieldBlockContext","_components","_elements","_componentHelper","_useId","_types","_useUnmountEffect","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","nestedFieldBlockContext","useContext","FieldBlockContext","className","forId","layout","composition","label","labelDescription","asFieldset","info","warning","error","errorProp","disabled","width","contentWidth","labelSize","contentClassName","children","rest","blockId","useId","id","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","state","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","convertJsxToString","text","createElement","CombineMessages","useEffect","useUnmountEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","space","top","bottom","size","Provider","hasErrorProp","Space","FormLabel","Fragment","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","sharedContext","SharedContext","tr","translation","Forms","fieldErrorSummary","fieldStateSummary","Ul","_ref5","Li","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../shared/Context'\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n} from './FieldBlockContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n} from '../../../shared/component-helper'\nimport useId from '../hooks/useId'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n Identifier,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport useUnmountEffect from '../hooks/useUnmountEffect'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: 'small' | 'medium' | 'large' | 'stretch'\n contentClassName?: string\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label,\n labelDescription,\n asFieldset,\n info,\n warning,\n error: errorProp,\n disabled,\n width,\n contentWidth,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = props\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const setInternalRecord = useCallback((props) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (errorProp) {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n state: errorProp,\n })\n }\n\n if (warning) {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n state: warning,\n })\n }\n\n if (info) {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n state: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n state: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {labelDescription ? (\n <div className=\"dnb-forms-field-block__label\">\n {label || labelDescription ? (\n <FormLabel {...labelProps}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </FormLabel>\n ) : (\n <>&nbsp;</>\n )}\n </div>\n ) : (\n label && <FormLabel {...labelProps}>{label}</FormLabel>\n )}\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n composition !== undefined &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error' ? tr.fieldErrorSummary : tr.fieldStateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { state } = item\n\n return ((state instanceof Error && state.message) ||\n (state instanceof FormError && state.message) ||\n state?.toString() ||\n state) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_FieldBlockContext","_components","_elements","_componentHelper","_useId","_useUnmountEffect","_types","_SubmitIndicator","_useSharedState","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","nestedFieldBlockContext","useContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelDescription","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","labelSize","contentClassName","children","rest","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","convertJsxToString","text","createElement","CombineMessages","useEffect","useUnmountEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","space","top","bottom","size","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","sharedContext","SharedContext","tr","translation","Forms","Fragment","fieldErrorSummary","fieldStateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../shared/Context'\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: false | 'small' | 'medium' | 'large' | 'stretch'\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: 'small' | 'medium' | 'large' | 'stretch'\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(props.forId || props.id)\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label,\n labelDescription,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n composition !== undefined &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error' ? tr.fieldErrorSummary : tr.fieldStateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ export type StateContent = FieldProps<unknown>['error'] | FieldProps<unknown>['w
7
7
  export type StateBasis = {
8
8
  identifier: Identifier;
9
9
  type: StateTypes;
10
- state: StateContent;
10
+ content: StateContent;
11
11
  stateId?: string;
12
12
  showInitially?: boolean;
13
13
  show?: boolean;
@@ -30,7 +30,7 @@ export type StatusContent = {
30
30
  info: StatusContentState;
31
31
  };
32
32
  export type FieldBlockContextProps = {
33
- setFieldState?: ({ identifier, type, stateId, state, showInitially, show, }: StateBasis) => void;
33
+ setFieldState?: ({ identifier, type, stateId, content, showInitially, show, }: StateBasis) => void;
34
34
  showFieldError?: (identifier: Identifier, showError: boolean) => void;
35
35
  hasErrorProp?: boolean;
36
36
  composition?: true;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlockContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","FieldBlockContext","React","createContext","undefined","_default","exports"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockContext.ts"],"sourcesContent":["import React from 'react'\nimport type { FieldProps, Identifier } from '../types'\n\nexport type FieldErrorIdsRef = Record<StateTypes, string>\nexport type MountedFieldsRef = Record<Identifier, boolean>\nexport type StateTypes = 'error' | 'warning' | 'info'\nexport type StateContent =\n | FieldProps<unknown>['error']\n | FieldProps<unknown>['warning']\n | FieldProps<unknown>['info']\nexport type StateBasis = {\n identifier: Identifier\n type: StateTypes\n state: StateContent\n stateId?: string\n showInitially?: boolean\n show?: boolean\n}\nexport type StateRecord = Record<\n Identifier,\n Array<Omit<StateBasis, 'identifier'>>\n>\nexport type StateMessage = React.ReactNode\nexport type StateWithMessage = StateBasis & {\n message: StateMessage\n}\nexport type StatesWithMessages = StateBasis & {\n messages: Array<StateWithMessage>\n}\nexport type StatusContentState = { id: string; text: React.ReactNode }\nexport type StatusContent = {\n error: StatusContentState\n warning: StatusContentState\n info: StatusContentState\n}\n\nexport type FieldBlockContextProps = {\n setFieldState?: ({\n identifier,\n type,\n stateId,\n state,\n showInitially,\n show,\n }: StateBasis) => void\n showFieldError?: (identifier: Identifier, showError: boolean) => void\n hasErrorProp?: boolean\n composition?: true\n fieldStateIdsRef?: React.MutableRefObject<FieldErrorIdsRef>\n mountedFieldsRef?: React.MutableRefObject<MountedFieldsRef>\n}\n\nconst FieldBlockContext = React.createContext<\n FieldBlockContextProps | undefined\n>(undefined)\n\nexport default FieldBlockContext\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAoDzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAE3CC,SAAS,CAAC;AAAA,IAAAC,QAAA,GAEGJ,iBAAiB;AAAAK,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
1
+ {"version":3,"file":"FieldBlockContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","FieldBlockContext","React","createContext","undefined","_default","exports"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockContext.ts"],"sourcesContent":["import React from 'react'\nimport type { FieldProps, Identifier } from '../types'\n\nexport type FieldErrorIdsRef = Record<StateTypes, string>\nexport type MountedFieldsRef = Record<Identifier, boolean>\nexport type StateTypes = 'error' | 'warning' | 'info'\nexport type StateContent =\n | FieldProps<unknown>['error']\n | FieldProps<unknown>['warning']\n | FieldProps<unknown>['info']\nexport type StateBasis = {\n identifier: Identifier\n type: StateTypes\n content: StateContent\n stateId?: string\n showInitially?: boolean\n show?: boolean\n}\nexport type StateRecord = Record<\n Identifier,\n Array<Omit<StateBasis, 'identifier'>>\n>\nexport type StateMessage = React.ReactNode\nexport type StateWithMessage = StateBasis & {\n message: StateMessage\n}\nexport type StatesWithMessages = StateBasis & {\n messages: Array<StateWithMessage>\n}\nexport type StatusContentState = { id: string; text: React.ReactNode }\nexport type StatusContent = {\n error: StatusContentState\n warning: StatusContentState\n info: StatusContentState\n}\n\nexport type FieldBlockContextProps = {\n setFieldState?: ({\n identifier,\n type,\n stateId,\n content,\n showInitially,\n show,\n }: StateBasis) => void\n showFieldError?: (identifier: Identifier, showError: boolean) => void\n hasErrorProp?: boolean\n composition?: true\n fieldStateIdsRef?: React.MutableRefObject<FieldErrorIdsRef>\n mountedFieldsRef?: React.MutableRefObject<MountedFieldsRef>\n}\n\nconst FieldBlockContext = React.createContext<\n FieldBlockContextProps | undefined\n>(undefined)\n\nexport default FieldBlockContext\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAoDzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAE3CC,SAAS,CAAC;AAAA,IAAAC,QAAA,GAEGJ,iBAAiB;AAAAK,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
@@ -22,6 +22,9 @@ function FormAppearance(_ref) {
22
22
  Input: {
23
23
  size
24
24
  },
25
+ Textarea: {
26
+ size
27
+ },
25
28
  DatePicker: {
26
29
  size
27
30
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Appearance.js","names":["_react","_interopRequireDefault","require","_Provider","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormAppearance","_ref","children","size","rest","createElement","Input","DatePicker","Autocomplete","Dropdown","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Appearance/Appearance.tsx"],"sourcesContent":["import React from 'react'\nimport Provider from '../../../../shared/Provider'\n\nexport type Props = {\n size?: 'medium' | 'large'\n children: React.ReactNode\n}\n\nfunction FormAppearance({ children, size = null, ...rest }: Props) {\n return (\n <Provider\n Input={{ size }}\n DatePicker={{ size }}\n Autocomplete={{ size }}\n Dropdown={{ size }}\n {...rest}\n >\n {children}\n </Provider>\n )\n}\n\nexport default FormAppearance\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,MAAAE,SAAA;AAAA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAOlD,SAASmB,cAAcA,CAAAC,IAAA,EAA4C;EAAA,IAA3C;MAAEC,QAAQ;MAAEC,IAAI,GAAG;IAAqB,CAAC,GAAAF,IAAA;IAAbG,IAAI,GAAAb,wBAAA,CAAAU,IAAA,EAAA5B,SAAA;EACtD,OACEJ,MAAA,CAAAO,OAAA,CAAA6B,aAAA,CAACjC,SAAA,CAAAI,OAAQ,EAAAC,QAAA;IACP6B,KAAK,EAAE;MAAEH;IAAK,CAAE;IAChBI,UAAU,EAAE;MAAEJ;IAAK,CAAE;IACrBK,YAAY,EAAE;MAAEL;IAAK,CAAE;IACvBM,QAAQ,EAAE;MAAEN;IAAK;EAAE,GACfC,IAAI,GAEPF,QACO,CAAC;AAEf;AAAC,IAAAQ,QAAA,GAEcV,cAAc;AAAAW,OAAA,CAAAnC,OAAA,GAAAkC,QAAA"}
1
+ {"version":3,"file":"Appearance.js","names":["_react","_interopRequireDefault","require","_Provider","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormAppearance","_ref","children","size","rest","createElement","Input","Textarea","DatePicker","Autocomplete","Dropdown","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Appearance/Appearance.tsx"],"sourcesContent":["import React from 'react'\nimport Provider from '../../../../shared/Provider'\n\nexport type Props = {\n size?: 'medium' | 'large'\n children: React.ReactNode\n}\n\nfunction FormAppearance({ children, size = null, ...rest }: Props) {\n return (\n <Provider\n Input={{ size }}\n Textarea={{ size }}\n DatePicker={{ size }}\n Autocomplete={{ size }}\n Dropdown={{ size }}\n {...rest}\n >\n {children}\n </Provider>\n )\n}\n\nexport default FormAppearance\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,MAAAE,SAAA;AAAA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAOlD,SAASmB,cAAcA,CAAAC,IAAA,EAA4C;EAAA,IAA3C;MAAEC,QAAQ;MAAEC,IAAI,GAAG;IAAqB,CAAC,GAAAF,IAAA;IAAbG,IAAI,GAAAb,wBAAA,CAAAU,IAAA,EAAA5B,SAAA;EACtD,OACEJ,MAAA,CAAAO,OAAA,CAAA6B,aAAA,CAACjC,SAAA,CAAAI,OAAQ,EAAAC,QAAA;IACP6B,KAAK,EAAE;MAAEH;IAAK,CAAE;IAChBI,QAAQ,EAAE;MAAEJ;IAAK,CAAE;IACnBK,UAAU,EAAE;MAAEL;IAAK,CAAE;IACrBM,YAAY,EAAE;MAAEN;IAAK,CAAE;IACvBO,QAAQ,EAAE;MAAEP;IAAK;EAAE,GACfC,IAAI,GAEPF,QACO,CAAC;AAEf;AAAC,IAAAS,QAAA,GAEcX,cAAc;AAAAY,OAAA,CAAApC,OAAA,GAAAmC,QAAA"}
@@ -4,8 +4,8 @@
4
4
  .dnb-forms-button-row {
5
5
  display: flex;
6
6
  flex-flow: row;
7
- -moz-column-gap: var(--spacing-small);
8
- column-gap: var(--spacing-small);
7
+ flex-wrap: wrap;
8
+ gap: var(--spacing-small);
9
9
  }
10
10
  .dnb-card + .dnb-forms-button-row:not([class*=space__top]) {
11
11
  margin-top: var(--spacing-small);
@@ -1 +1 @@
1
- .dnb-forms-button-row{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}
1
+ .dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}
@@ -3,7 +3,8 @@
3
3
  .dnb-forms-button-row {
4
4
  display: flex;
5
5
  flex-flow: row;
6
- column-gap: var(--spacing-small);
6
+ flex-wrap: wrap;
7
+ gap: var(--spacing-small);
7
8
 
8
9
  .dnb-card + & {
9
10
  &:not([class*='space__top']) {
@@ -7,4 +7,4 @@ export type Props = Omit<ElementAllProps, 'data' | 'as' | 'autoComplete'> & {
7
7
  */
8
8
  autoComplete?: boolean;
9
9
  };
10
- export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, ajvInstance, errorMessages, filterData, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, autoComplete, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
10
+ export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, ajvInstance, errorMessages, filterData, onChange, onPathChange, onSubmit, onSubmitRequest, onSubmitComplete, minimumAsyncBehaviorTime, asyncBehaviorTimeout, scrollTopOnSubmit, sessionStorageId, autoComplete, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
@@ -5,11 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = FormHandler;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _Provider = _interopRequireDefault(require("../../DataContext/Provider"));
10
+ var _Context = _interopRequireDefault(require("../../DataContext/Context"));
10
11
  var _Element = _interopRequireDefault(require("../Element"));
11
- const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "filterData", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "autoComplete"];
12
+ var _FormStatus = _interopRequireDefault(require("../../../../components/FormStatus"));
13
+ var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"));
14
+ var _componentHelper = require("../../../../shared/component-helper");
15
+ const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "filterData", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "minimumAsyncBehaviorTime", "asyncBehaviorTimeout", "scrollTopOnSubmit", "sessionStorageId", "autoComplete"],
16
+ _excluded2 = ["children"];
12
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
21
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
14
22
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
15
23
  function FormHandler(_ref) {
@@ -25,6 +33,9 @@ function FormHandler(_ref) {
25
33
  onPathChange,
26
34
  onSubmit,
27
35
  onSubmitRequest,
36
+ onSubmitComplete,
37
+ minimumAsyncBehaviorTime,
38
+ asyncBehaviorTimeout,
28
39
  scrollTopOnSubmit,
29
40
  sessionStorageId,
30
41
  autoComplete
@@ -40,16 +51,47 @@ function FormHandler(_ref) {
40
51
  filterData,
41
52
  onChange,
42
53
  onPathChange,
43
- onSubmit: function () {
44
- if (typeof onSubmit === 'function') {
45
- onSubmit(...arguments);
46
- }
47
- },
54
+ onSubmit,
48
55
  onSubmitRequest,
56
+ onSubmitComplete,
57
+ minimumAsyncBehaviorTime,
58
+ asyncBehaviorTimeout,
49
59
  scrollTopOnSubmit,
50
60
  sessionStorageId,
51
61
  autoComplete
52
62
  };
53
- return _react.default.createElement(_Provider.default, providerProps, _react.default.createElement(_Element.default, rest, children));
63
+ return _react.default.createElement(_Provider.default, providerProps, _react.default.createElement(FormElementWithState, rest, children));
64
+ }
65
+ function FormElementWithState(_ref2) {
66
+ let {
67
+ children
68
+ } = _ref2,
69
+ rest = _objectWithoutProperties(_ref2, _excluded2);
70
+ const id = (0, _useId.default)();
71
+ const {
72
+ submitState
73
+ } = (0, _react.useContext)(_Context.default) || {};
74
+ const states = Object.entries(submitState).filter(_ref3 => {
75
+ let [, value] = _ref3;
76
+ return value;
77
+ });
78
+ return _react.default.createElement(_Element.default, _extends({}, rest, {
79
+ "aria-labelledby": (0, _componentHelper.combineLabelledBy)(rest, states.map(_ref4 => {
80
+ let [key] = _ref4;
81
+ return `${id}-form-status-${key}`;
82
+ })) || undefined
83
+ }), children, ['error', 'warning', 'info'].map(key => {
84
+ const value = submitState[key];
85
+ return _react.default.createElement(_FormStatus.default, {
86
+ key: key,
87
+ state: key,
88
+ id: `${id}-form-status-${key}`,
89
+ show: Boolean(value),
90
+ no_animation: false,
91
+ shellSpace: {
92
+ top: 'x-small'
93
+ }
94
+ }, String((value === null || value === void 0 ? void 0 : value['message']) || value || ''));
95
+ }));
54
96
  }
55
97
  //# sourceMappingURL=Handler.js.map