@dnb/eufemia 10.33.0 → 10.34.1

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 (950) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/components/accordion/Accordion.d.ts +0 -2
  3. package/cjs/components/accordion/Accordion.js +2 -3
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionGroup.js +2 -3
  6. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  7. package/cjs/components/anchor/Anchor.d.ts +3 -0
  8. package/cjs/components/anchor/Anchor.js +22 -15
  9. package/cjs/components/anchor/Anchor.js.map +1 -1
  10. package/cjs/components/autocomplete/Autocomplete.js +2 -4
  11. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  12. package/cjs/components/autocomplete/style/dnb-autocomplete.css +0 -1
  13. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  14. package/cjs/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  15. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  16. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  17. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  18. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  19. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  20. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  21. package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -4
  22. package/cjs/components/breadcrumb/Breadcrumb.js +5 -3
  23. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  24. package/cjs/components/button/Button.d.ts +0 -4
  25. package/cjs/components/button/Button.js +2 -5
  26. package/cjs/components/button/Button.js.map +1 -1
  27. package/cjs/components/card/Card.js +1 -0
  28. package/cjs/components/card/Card.js.map +1 -1
  29. package/cjs/components/card/style/dnb-card.css +3 -0
  30. package/cjs/components/card/style/dnb-card.min.css +1 -1
  31. package/cjs/components/card/style/dnb-card.scss +4 -0
  32. package/cjs/components/checkbox/Checkbox.js +1 -1
  33. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  34. package/cjs/components/checkbox/style/dnb-checkbox.css +9 -3
  35. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  36. package/cjs/components/checkbox/style/dnb-checkbox.scss +11 -3
  37. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  38. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  39. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  40. package/cjs/components/date-picker/DatePicker.d.ts +0 -1
  41. package/cjs/components/date-picker/DatePicker.js +2 -5
  42. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  43. package/cjs/components/dropdown/Dropdown.js +2 -5
  44. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  45. package/cjs/components/form-row/FormRow.d.ts +0 -1
  46. package/cjs/components/form-row/FormRow.js +3 -6
  47. package/cjs/components/form-row/FormRow.js.map +1 -1
  48. package/cjs/components/form-set/FormSet.d.ts +0 -1
  49. package/cjs/components/form-set/FormSet.js +4 -5
  50. package/cjs/components/form-set/FormSet.js.map +1 -1
  51. package/cjs/components/form-status/FormStatus.d.ts +0 -2
  52. package/cjs/components/form-status/FormStatus.js +87 -72
  53. package/cjs/components/form-status/FormStatus.js.map +1 -1
  54. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  55. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  56. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  57. package/cjs/components/global-status/GlobalStatus.d.ts +0 -1
  58. package/cjs/components/global-status/GlobalStatus.js +4 -9
  59. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  60. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  61. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  62. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  63. package/cjs/components/grid/ContainerDocs.js +1 -1
  64. package/cjs/components/grid/ContainerDocs.js.map +1 -1
  65. package/cjs/components/help-button/HelpButtonInstance.js +3 -4
  66. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  67. package/cjs/components/icon/Icon.js +2 -3
  68. package/cjs/components/icon/Icon.js.map +1 -1
  69. package/cjs/components/input/Input.d.ts +0 -1
  70. package/cjs/components/input/Input.js +2 -5
  71. package/cjs/components/input/Input.js.map +1 -1
  72. package/cjs/components/input-masked/InputMasked.d.ts +0 -1
  73. package/cjs/components/logo/Logo.js +5 -8
  74. package/cjs/components/logo/Logo.js.map +1 -1
  75. package/cjs/components/modal/Modal.d.ts +0 -1
  76. package/cjs/components/modal/Modal.js +1 -2
  77. package/cjs/components/modal/Modal.js.map +1 -1
  78. package/cjs/components/modal/types.d.ts +0 -4
  79. package/cjs/components/modal/types.js.map +1 -1
  80. package/cjs/components/number-format/NumberFormat.js +3 -6
  81. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  82. package/cjs/components/pagination/Pagination.d.ts +0 -3
  83. package/cjs/components/pagination/Pagination.js +2 -5
  84. package/cjs/components/pagination/Pagination.js.map +1 -1
  85. package/cjs/components/radio/Radio.d.ts +0 -1
  86. package/cjs/components/radio/Radio.js +2 -5
  87. package/cjs/components/radio/Radio.js.map +1 -1
  88. package/cjs/components/radio/RadioGroup.d.ts +0 -1
  89. package/cjs/components/radio/RadioGroup.js +2 -5
  90. package/cjs/components/radio/RadioGroup.js.map +1 -1
  91. package/cjs/components/radio/style/dnb-radio.css +19 -7
  92. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  93. package/cjs/components/radio/style/dnb-radio.scss +21 -7
  94. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  95. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  96. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  97. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  98. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  99. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  100. package/cjs/components/skeleton/Skeleton.d.ts +0 -1
  101. package/cjs/components/skeleton/Skeleton.js +2 -5
  102. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  103. package/cjs/components/step-indicator/StepIndicator.js +1 -10
  104. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  105. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  106. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  107. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  108. package/cjs/components/switch/Switch.d.ts +0 -1
  109. package/cjs/components/switch/Switch.js +2 -5
  110. package/cjs/components/switch/Switch.js.map +1 -1
  111. package/cjs/components/table/TableContainer.d.ts +1 -0
  112. package/cjs/components/table/TableContainer.js +1 -0
  113. package/cjs/components/table/TableContainer.js.map +1 -1
  114. package/cjs/components/table/style/dnb-table.css +3 -0
  115. package/cjs/components/table/style/dnb-table.min.css +1 -1
  116. package/cjs/components/table/style/table-container.scss +5 -0
  117. package/cjs/components/tabs/Tabs.d.ts +0 -1
  118. package/cjs/components/tabs/Tabs.js +0 -2
  119. package/cjs/components/tabs/Tabs.js.map +1 -1
  120. package/cjs/components/tabs/TabsCustomContent.d.ts +0 -1
  121. package/cjs/components/tabs/TabsCustomContent.js +5 -8
  122. package/cjs/components/tabs/TabsCustomContent.js.map +1 -1
  123. package/cjs/components/textarea/Textarea.d.ts +0 -1
  124. package/cjs/components/textarea/Textarea.js +2 -5
  125. package/cjs/components/textarea/Textarea.js.map +1 -1
  126. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -1
  127. package/cjs/components/toggle-button/ToggleButton.js +2 -5
  128. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  129. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  130. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -5
  131. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  132. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  133. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  134. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  135. package/cjs/extensions/forms/DataContext/Provider/Provider.js +17 -0
  136. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  137. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  138. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  139. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  140. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  142. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +23 -0
  143. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  144. package/cjs/extensions/forms/Field/Number/Number.d.ts +1 -0
  145. package/cjs/extensions/forms/Field/Number/Number.js +21 -18
  146. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  147. package/cjs/extensions/forms/Field/Number/NumberDocs.js +6 -1
  148. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  150. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  151. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  152. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  153. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  154. package/cjs/extensions/forms/Field/Selection/Selection.js +2 -3
  155. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  156. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  157. package/cjs/extensions/forms/Field/Toggle/Toggle.js +9 -1
  158. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  159. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
  160. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  161. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  162. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  163. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  164. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  165. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  166. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
  167. package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  168. package/cjs/extensions/forms/Form/Appearance/Appearance.js +1 -0
  169. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  170. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  171. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +15 -20
  172. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  173. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  174. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  175. package/cjs/extensions/forms/Form/Section/Section.d.ts +1 -9
  176. package/cjs/extensions/forms/Form/Section/Section.js +21 -9
  177. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  178. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
  179. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  180. package/cjs/extensions/forms/Form/Section/SectionDocs.js +10 -0
  181. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  182. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  183. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  184. package/cjs/extensions/forms/Iterate/Array/Array.js +37 -1
  185. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  186. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  187. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  188. package/cjs/extensions/forms/Iterate/Array/types.d.ts +9 -3
  189. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  190. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  191. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  192. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  193. package/cjs/extensions/forms/Tools/ListAllProps.js +2 -2
  194. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  195. package/cjs/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  196. package/cjs/extensions/forms/Value/Boolean/Boolean.js +5 -3
  197. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  198. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  199. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js +20 -0
  200. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  201. package/cjs/extensions/forms/Value/Number/Number.d.ts +5 -1
  202. package/cjs/extensions/forms/Value/Number/Number.js +16 -5
  203. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  204. package/cjs/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  205. package/cjs/extensions/forms/Value/Number/NumberDocs.js +20 -0
  206. package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  207. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  208. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  209. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +15 -1
  210. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  211. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  212. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  213. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +88 -40
  214. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  215. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  216. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  217. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  218. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  219. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  220. package/cjs/extensions/forms/Wizard/Step/Step.js +8 -5
  221. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  222. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  223. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  224. package/cjs/extensions/forms/Wizard/hooks/useStep.js +17 -1
  225. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  227. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  228. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  229. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  230. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +164 -0
  231. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  232. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  233. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +25 -0
  234. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  235. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  236. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +84 -0
  237. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  238. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  239. package/cjs/extensions/forms/blocks/{Category/FirstBlock → ChildrenWithAge}/index.js +5 -5
  240. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  241. package/cjs/extensions/forms/blocks/index.d.ts +1 -1
  242. package/cjs/extensions/forms/blocks/index.js +8 -5
  243. package/cjs/extensions/forms/blocks/index.js.map +1 -1
  244. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -2
  245. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  246. package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -10
  247. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  248. package/cjs/extensions/forms/hooks/useFieldProps.js +13 -8
  249. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  250. package/cjs/extensions/forms/hooks/useValueProps.js +5 -4
  251. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  252. package/cjs/extensions/forms/style/dnb-forms.css +15 -2
  253. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  254. package/cjs/extensions/forms/types.d.ts +10 -4
  255. package/cjs/extensions/forms/types.js.map +1 -1
  256. package/cjs/extensions/payment-card/PaymentCard.js +0 -2
  257. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  258. package/cjs/fragments/drawer-list/DrawerList.d.ts +0 -1
  259. package/cjs/fragments/drawer-list/DrawerList.js +6 -13
  260. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  261. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  262. package/cjs/fragments/drawer-list/DrawerListHelpers.js +2 -4
  263. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  264. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  265. package/cjs/shared/Context.d.ts +1 -1
  266. package/cjs/shared/Context.js +1 -1
  267. package/cjs/shared/Context.js.map +1 -1
  268. package/cjs/shared/Eufemia.d.ts +1 -1
  269. package/cjs/shared/Eufemia.js +2 -2
  270. package/cjs/shared/Eufemia.js.map +1 -1
  271. package/cjs/shared/component-helper.d.ts +3 -1
  272. package/cjs/shared/component-helper.js +39 -10
  273. package/cjs/shared/component-helper.js.map +1 -1
  274. package/cjs/style/core/scopes.scss +1 -1
  275. package/cjs/style/dnb-ui-basis.css +1 -1
  276. package/cjs/style/dnb-ui-basis.min.css +1 -1
  277. package/cjs/style/dnb-ui-body.css +1 -1
  278. package/cjs/style/dnb-ui-body.min.css +1 -1
  279. package/cjs/style/dnb-ui-components.css +49 -13
  280. package/cjs/style/dnb-ui-components.min.css +3 -3
  281. package/cjs/style/dnb-ui-core.css +1 -1
  282. package/cjs/style/dnb-ui-core.min.css +1 -1
  283. package/cjs/style/dnb-ui-extensions.css +15 -2
  284. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  285. package/cjs/style/dnb-ui-forms.css +15 -2
  286. package/cjs/style/dnb-ui-forms.min.css +1 -1
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
  290. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  291. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
  297. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
  299. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  300. package/cjs/style/themes/theme-ui/ui-theme-components.css +67 -15
  301. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +15 -2
  303. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  304. package/cjs/style/themes/theme-ui/ui-theme-forms.css +15 -2
  305. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  306. package/components/accordion/Accordion.d.ts +0 -2
  307. package/components/accordion/Accordion.js +2 -3
  308. package/components/accordion/Accordion.js.map +1 -1
  309. package/components/accordion/AccordionGroup.js +2 -3
  310. package/components/accordion/AccordionGroup.js.map +1 -1
  311. package/components/anchor/Anchor.d.ts +3 -0
  312. package/components/anchor/Anchor.js +21 -15
  313. package/components/anchor/Anchor.js.map +1 -1
  314. package/components/autocomplete/Autocomplete.js +2 -4
  315. package/components/autocomplete/Autocomplete.js.map +1 -1
  316. package/components/autocomplete/style/dnb-autocomplete.css +0 -1
  317. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  318. package/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  319. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  320. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  321. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  322. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  323. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  324. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  325. package/components/breadcrumb/Breadcrumb.d.ts +4 -4
  326. package/components/breadcrumb/Breadcrumb.js +6 -4
  327. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  328. package/components/button/Button.d.ts +0 -4
  329. package/components/button/Button.js +2 -5
  330. package/components/button/Button.js.map +1 -1
  331. package/components/card/Card.js +1 -0
  332. package/components/card/Card.js.map +1 -1
  333. package/components/card/style/dnb-card.css +3 -0
  334. package/components/card/style/dnb-card.min.css +1 -1
  335. package/components/card/style/dnb-card.scss +4 -0
  336. package/components/checkbox/Checkbox.js +1 -1
  337. package/components/checkbox/Checkbox.js.map +1 -1
  338. package/components/checkbox/style/dnb-checkbox.css +9 -3
  339. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  340. package/components/checkbox/style/dnb-checkbox.scss +11 -3
  341. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  342. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  343. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  344. package/components/date-picker/DatePicker.d.ts +0 -1
  345. package/components/date-picker/DatePicker.js +2 -5
  346. package/components/date-picker/DatePicker.js.map +1 -1
  347. package/components/dropdown/Dropdown.js +2 -5
  348. package/components/dropdown/Dropdown.js.map +1 -1
  349. package/components/form-row/FormRow.d.ts +0 -1
  350. package/components/form-row/FormRow.js +4 -7
  351. package/components/form-row/FormRow.js.map +1 -1
  352. package/components/form-set/FormSet.d.ts +0 -1
  353. package/components/form-set/FormSet.js +5 -6
  354. package/components/form-set/FormSet.js.map +1 -1
  355. package/components/form-status/FormStatus.d.ts +0 -2
  356. package/components/form-status/FormStatus.js +86 -71
  357. package/components/form-status/FormStatus.js.map +1 -1
  358. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  359. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  360. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  361. package/components/global-status/GlobalStatus.d.ts +0 -1
  362. package/components/global-status/GlobalStatus.js +4 -9
  363. package/components/global-status/GlobalStatus.js.map +1 -1
  364. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  365. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  366. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  367. package/components/grid/ContainerDocs.js +1 -1
  368. package/components/grid/ContainerDocs.js.map +1 -1
  369. package/components/help-button/HelpButtonInstance.js +3 -4
  370. package/components/help-button/HelpButtonInstance.js.map +1 -1
  371. package/components/icon/Icon.js +2 -3
  372. package/components/icon/Icon.js.map +1 -1
  373. package/components/input/Input.d.ts +0 -1
  374. package/components/input/Input.js +2 -5
  375. package/components/input/Input.js.map +1 -1
  376. package/components/input-masked/InputMasked.d.ts +0 -1
  377. package/components/logo/Logo.js +5 -8
  378. package/components/logo/Logo.js.map +1 -1
  379. package/components/modal/Modal.d.ts +0 -1
  380. package/components/modal/Modal.js +1 -2
  381. package/components/modal/Modal.js.map +1 -1
  382. package/components/modal/types.d.ts +0 -4
  383. package/components/modal/types.js.map +1 -1
  384. package/components/number-format/NumberFormat.js +4 -7
  385. package/components/number-format/NumberFormat.js.map +1 -1
  386. package/components/pagination/Pagination.d.ts +0 -3
  387. package/components/pagination/Pagination.js +2 -5
  388. package/components/pagination/Pagination.js.map +1 -1
  389. package/components/radio/Radio.d.ts +0 -1
  390. package/components/radio/Radio.js +2 -5
  391. package/components/radio/Radio.js.map +1 -1
  392. package/components/radio/RadioGroup.d.ts +0 -1
  393. package/components/radio/RadioGroup.js +2 -5
  394. package/components/radio/RadioGroup.js.map +1 -1
  395. package/components/radio/style/dnb-radio.css +19 -7
  396. package/components/radio/style/dnb-radio.min.css +1 -1
  397. package/components/radio/style/dnb-radio.scss +21 -7
  398. package/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  399. package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  400. package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  401. package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  402. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  403. package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  404. package/components/skeleton/Skeleton.d.ts +0 -1
  405. package/components/skeleton/Skeleton.js +2 -5
  406. package/components/skeleton/Skeleton.js.map +1 -1
  407. package/components/step-indicator/StepIndicator.js +1 -9
  408. package/components/step-indicator/StepIndicator.js.map +1 -1
  409. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  410. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  411. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  412. package/components/switch/Switch.d.ts +0 -1
  413. package/components/switch/Switch.js +2 -5
  414. package/components/switch/Switch.js.map +1 -1
  415. package/components/table/TableContainer.d.ts +1 -0
  416. package/components/table/TableContainer.js +1 -0
  417. package/components/table/TableContainer.js.map +1 -1
  418. package/components/table/style/dnb-table.css +3 -0
  419. package/components/table/style/dnb-table.min.css +1 -1
  420. package/components/table/style/table-container.scss +5 -0
  421. package/components/tabs/Tabs.d.ts +0 -1
  422. package/components/tabs/Tabs.js +0 -2
  423. package/components/tabs/Tabs.js.map +1 -1
  424. package/components/tabs/TabsCustomContent.d.ts +0 -1
  425. package/components/tabs/TabsCustomContent.js +5 -8
  426. package/components/tabs/TabsCustomContent.js.map +1 -1
  427. package/components/textarea/Textarea.d.ts +0 -1
  428. package/components/textarea/Textarea.js +2 -5
  429. package/components/textarea/Textarea.js.map +1 -1
  430. package/components/toggle-button/ToggleButton.d.ts +0 -1
  431. package/components/toggle-button/ToggleButton.js +2 -5
  432. package/components/toggle-button/ToggleButton.js.map +1 -1
  433. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  434. package/components/toggle-button/ToggleButtonGroup.js +2 -5
  435. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  436. package/es/components/accordion/Accordion.d.ts +0 -2
  437. package/es/components/accordion/Accordion.js +2 -3
  438. package/es/components/accordion/Accordion.js.map +1 -1
  439. package/es/components/accordion/AccordionGroup.js +2 -3
  440. package/es/components/accordion/AccordionGroup.js.map +1 -1
  441. package/es/components/anchor/Anchor.d.ts +3 -0
  442. package/es/components/anchor/Anchor.js +21 -15
  443. package/es/components/anchor/Anchor.js.map +1 -1
  444. package/es/components/autocomplete/Autocomplete.js +2 -4
  445. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  446. package/es/components/autocomplete/style/dnb-autocomplete.css +0 -1
  447. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  448. package/es/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  449. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  450. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  451. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  452. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  453. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  454. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  455. package/es/components/breadcrumb/Breadcrumb.d.ts +4 -4
  456. package/es/components/breadcrumb/Breadcrumb.js +6 -4
  457. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  458. package/es/components/button/Button.d.ts +0 -4
  459. package/es/components/button/Button.js +2 -5
  460. package/es/components/button/Button.js.map +1 -1
  461. package/es/components/card/Card.js +1 -0
  462. package/es/components/card/Card.js.map +1 -1
  463. package/es/components/card/style/dnb-card.css +3 -0
  464. package/es/components/card/style/dnb-card.min.css +1 -1
  465. package/es/components/card/style/dnb-card.scss +4 -0
  466. package/es/components/checkbox/Checkbox.js +1 -1
  467. package/es/components/checkbox/Checkbox.js.map +1 -1
  468. package/es/components/checkbox/style/dnb-checkbox.css +9 -3
  469. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  470. package/es/components/checkbox/style/dnb-checkbox.scss +11 -3
  471. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  472. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  473. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  474. package/es/components/date-picker/DatePicker.d.ts +0 -1
  475. package/es/components/date-picker/DatePicker.js +2 -5
  476. package/es/components/date-picker/DatePicker.js.map +1 -1
  477. package/es/components/dropdown/Dropdown.js +2 -5
  478. package/es/components/dropdown/Dropdown.js.map +1 -1
  479. package/es/components/form-row/FormRow.d.ts +0 -1
  480. package/es/components/form-row/FormRow.js +4 -7
  481. package/es/components/form-row/FormRow.js.map +1 -1
  482. package/es/components/form-set/FormSet.d.ts +0 -1
  483. package/es/components/form-set/FormSet.js +5 -6
  484. package/es/components/form-set/FormSet.js.map +1 -1
  485. package/es/components/form-status/FormStatus.d.ts +0 -2
  486. package/es/components/form-status/FormStatus.js +86 -71
  487. package/es/components/form-status/FormStatus.js.map +1 -1
  488. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  489. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  490. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  491. package/es/components/global-status/GlobalStatus.d.ts +0 -1
  492. package/es/components/global-status/GlobalStatus.js +4 -9
  493. package/es/components/global-status/GlobalStatus.js.map +1 -1
  494. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  495. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  496. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  497. package/es/components/grid/ContainerDocs.js +1 -1
  498. package/es/components/grid/ContainerDocs.js.map +1 -1
  499. package/es/components/help-button/HelpButtonInstance.js +3 -4
  500. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  501. package/es/components/icon/Icon.js +2 -3
  502. package/es/components/icon/Icon.js.map +1 -1
  503. package/es/components/input/Input.d.ts +0 -1
  504. package/es/components/input/Input.js +2 -5
  505. package/es/components/input/Input.js.map +1 -1
  506. package/es/components/input-masked/InputMasked.d.ts +0 -1
  507. package/es/components/logo/Logo.js +5 -8
  508. package/es/components/logo/Logo.js.map +1 -1
  509. package/es/components/modal/Modal.d.ts +0 -1
  510. package/es/components/modal/Modal.js +1 -2
  511. package/es/components/modal/Modal.js.map +1 -1
  512. package/es/components/modal/types.d.ts +0 -4
  513. package/es/components/modal/types.js.map +1 -1
  514. package/es/components/number-format/NumberFormat.js +4 -7
  515. package/es/components/number-format/NumberFormat.js.map +1 -1
  516. package/es/components/pagination/Pagination.d.ts +0 -3
  517. package/es/components/pagination/Pagination.js +2 -5
  518. package/es/components/pagination/Pagination.js.map +1 -1
  519. package/es/components/radio/Radio.d.ts +0 -1
  520. package/es/components/radio/Radio.js +2 -5
  521. package/es/components/radio/Radio.js.map +1 -1
  522. package/es/components/radio/RadioGroup.d.ts +0 -1
  523. package/es/components/radio/RadioGroup.js +2 -5
  524. package/es/components/radio/RadioGroup.js.map +1 -1
  525. package/es/components/radio/style/dnb-radio.css +19 -7
  526. package/es/components/radio/style/dnb-radio.min.css +1 -1
  527. package/es/components/radio/style/dnb-radio.scss +21 -7
  528. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  529. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  530. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  531. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  532. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  533. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  534. package/es/components/skeleton/Skeleton.d.ts +0 -1
  535. package/es/components/skeleton/Skeleton.js +2 -5
  536. package/es/components/skeleton/Skeleton.js.map +1 -1
  537. package/es/components/step-indicator/StepIndicator.js +1 -9
  538. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  539. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  540. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  541. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  542. package/es/components/switch/Switch.d.ts +0 -1
  543. package/es/components/switch/Switch.js +2 -5
  544. package/es/components/switch/Switch.js.map +1 -1
  545. package/es/components/table/TableContainer.d.ts +1 -0
  546. package/es/components/table/TableContainer.js +1 -0
  547. package/es/components/table/TableContainer.js.map +1 -1
  548. package/es/components/table/style/dnb-table.css +3 -0
  549. package/es/components/table/style/dnb-table.min.css +1 -1
  550. package/es/components/table/style/table-container.scss +5 -0
  551. package/es/components/tabs/Tabs.d.ts +0 -1
  552. package/es/components/tabs/Tabs.js +0 -2
  553. package/es/components/tabs/Tabs.js.map +1 -1
  554. package/es/components/tabs/TabsCustomContent.d.ts +0 -1
  555. package/es/components/tabs/TabsCustomContent.js +5 -8
  556. package/es/components/tabs/TabsCustomContent.js.map +1 -1
  557. package/es/components/textarea/Textarea.d.ts +0 -1
  558. package/es/components/textarea/Textarea.js +2 -5
  559. package/es/components/textarea/Textarea.js.map +1 -1
  560. package/es/components/toggle-button/ToggleButton.d.ts +0 -1
  561. package/es/components/toggle-button/ToggleButton.js +2 -5
  562. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  563. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  564. package/es/components/toggle-button/ToggleButtonGroup.js +2 -5
  565. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  566. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  567. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  568. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  569. package/es/extensions/forms/DataContext/Provider/Provider.js +19 -2
  570. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  571. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  572. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  573. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  574. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  575. package/es/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  576. package/es/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
  577. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  578. package/es/extensions/forms/Field/Number/Number.d.ts +1 -0
  579. package/es/extensions/forms/Field/Number/Number.js +21 -18
  580. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  581. package/es/extensions/forms/Field/Number/NumberDocs.js +6 -1
  582. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  583. package/es/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  584. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  585. package/es/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  586. package/es/extensions/forms/Field/Password/Password.js +2 -1
  587. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  588. package/es/extensions/forms/Field/Selection/Selection.js +2 -3
  589. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  590. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  591. package/es/extensions/forms/Field/Toggle/Toggle.js +10 -2
  592. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  593. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
  594. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  595. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  596. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  597. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  598. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  599. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  600. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
  601. package/es/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  602. package/es/extensions/forms/Form/Appearance/Appearance.js +1 -0
  603. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  604. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  605. package/es/extensions/forms/Form/FieldProps/FieldProps.js +15 -20
  606. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  607. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  608. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  609. package/es/extensions/forms/Form/Section/Section.d.ts +1 -9
  610. package/es/extensions/forms/Form/Section/Section.js +17 -10
  611. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  612. package/es/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
  613. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  614. package/es/extensions/forms/Form/Section/SectionDocs.js +10 -0
  615. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  616. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  617. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  618. package/es/extensions/forms/Iterate/Array/Array.js +37 -1
  619. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  620. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  621. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  622. package/es/extensions/forms/Iterate/Array/types.d.ts +9 -3
  623. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  624. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  625. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  626. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  627. package/es/extensions/forms/Tools/ListAllProps.js +3 -3
  628. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  629. package/es/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  630. package/es/extensions/forms/Value/Boolean/Boolean.js +5 -3
  631. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  632. package/es/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  633. package/es/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
  634. package/es/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  635. package/es/extensions/forms/Value/Number/Number.d.ts +5 -1
  636. package/es/extensions/forms/Value/Number/Number.js +16 -5
  637. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  638. package/es/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  639. package/es/extensions/forms/Value/Number/NumberDocs.js +13 -0
  640. package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  641. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  642. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  643. package/es/extensions/forms/ValueBlock/ValueBlock.js +16 -2
  644. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  645. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  646. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  647. package/es/extensions/forms/Wizard/Container/WizardContainer.js +81 -34
  648. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  649. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  650. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  651. package/es/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  652. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  653. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  654. package/es/extensions/forms/Wizard/Step/Step.js +8 -5
  655. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  656. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  657. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  658. package/es/extensions/forms/Wizard/hooks/useStep.js +17 -1
  659. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  660. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  661. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  662. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  663. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  664. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +151 -0
  665. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  666. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  667. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
  668. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  669. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  670. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
  671. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  672. package/es/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  673. package/es/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
  674. package/es/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  675. package/es/extensions/forms/blocks/index.d.ts +1 -1
  676. package/es/extensions/forms/blocks/index.js +1 -1
  677. package/es/extensions/forms/blocks/index.js.map +1 -1
  678. package/es/extensions/forms/constants/locales/en-GB.js +2 -2
  679. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  680. package/es/extensions/forms/hooks/DataValueDocs.js +10 -10
  681. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  682. package/es/extensions/forms/hooks/useFieldProps.js +12 -8
  683. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  684. package/es/extensions/forms/hooks/useValueProps.js +4 -3
  685. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  686. package/es/extensions/forms/style/dnb-forms.css +15 -2
  687. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  688. package/es/extensions/forms/types.d.ts +10 -4
  689. package/es/extensions/forms/types.js.map +1 -1
  690. package/es/extensions/payment-card/PaymentCard.js +0 -2
  691. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  692. package/es/fragments/drawer-list/DrawerList.d.ts +0 -1
  693. package/es/fragments/drawer-list/DrawerList.js +6 -13
  694. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  695. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  696. package/es/fragments/drawer-list/DrawerListHelpers.js +2 -4
  697. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  698. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  699. package/es/shared/Context.d.ts +1 -1
  700. package/es/shared/Context.js +2 -2
  701. package/es/shared/Context.js.map +1 -1
  702. package/es/shared/Eufemia.d.ts +1 -1
  703. package/es/shared/Eufemia.js +2 -2
  704. package/es/shared/Eufemia.js.map +1 -1
  705. package/es/shared/component-helper.d.ts +3 -1
  706. package/es/shared/component-helper.js +25 -2
  707. package/es/shared/component-helper.js.map +1 -1
  708. package/es/style/core/scopes.scss +1 -1
  709. package/es/style/dnb-ui-basis.css +1 -1
  710. package/es/style/dnb-ui-basis.min.css +1 -1
  711. package/es/style/dnb-ui-body.css +1 -1
  712. package/es/style/dnb-ui-body.min.css +1 -1
  713. package/es/style/dnb-ui-components.css +49 -13
  714. package/es/style/dnb-ui-components.min.css +3 -3
  715. package/es/style/dnb-ui-core.css +1 -1
  716. package/es/style/dnb-ui-core.min.css +1 -1
  717. package/es/style/dnb-ui-extensions.css +15 -2
  718. package/es/style/dnb-ui-extensions.min.css +1 -1
  719. package/es/style/dnb-ui-forms.css +15 -2
  720. package/es/style/dnb-ui-forms.min.css +1 -1
  721. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
  722. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  723. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
  724. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  725. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
  726. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  727. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
  728. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  729. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  730. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
  731. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  732. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
  733. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  734. package/es/style/themes/theme-ui/ui-theme-components.css +67 -15
  735. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  736. package/es/style/themes/theme-ui/ui-theme-extensions.css +15 -2
  737. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  738. package/es/style/themes/theme-ui/ui-theme-forms.css +15 -2
  739. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  740. package/esm/dnb-ui-basis.min.mjs +1 -1
  741. package/esm/dnb-ui-components.min.mjs +1 -1
  742. package/esm/dnb-ui-elements.min.mjs +1 -1
  743. package/esm/dnb-ui-extensions.min.mjs +5 -5
  744. package/esm/dnb-ui-lib.min.mjs +1 -1
  745. package/extensions/forms/DataContext/Context.d.ts +1 -0
  746. package/extensions/forms/DataContext/Context.js.map +1 -1
  747. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  748. package/extensions/forms/DataContext/Provider/Provider.js +19 -2
  749. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  750. package/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  751. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  752. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  753. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  754. package/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  755. package/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
  756. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  757. package/extensions/forms/Field/Number/Number.d.ts +1 -0
  758. package/extensions/forms/Field/Number/Number.js +21 -18
  759. package/extensions/forms/Field/Number/Number.js.map +1 -1
  760. package/extensions/forms/Field/Number/NumberDocs.js +6 -1
  761. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  762. package/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  763. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  764. package/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  765. package/extensions/forms/Field/Password/Password.js +2 -1
  766. package/extensions/forms/Field/Password/Password.js.map +1 -1
  767. package/extensions/forms/Field/Selection/Selection.js +2 -3
  768. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  769. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  770. package/extensions/forms/Field/Toggle/Toggle.js +10 -2
  771. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  772. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -0
  773. package/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  774. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  775. package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  776. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  777. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  778. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  779. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -1
  780. package/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  781. package/extensions/forms/Form/Appearance/Appearance.js +1 -0
  782. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  783. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  784. package/extensions/forms/Form/FieldProps/FieldProps.js +15 -21
  785. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  786. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  787. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  788. package/extensions/forms/Form/Section/Section.d.ts +1 -9
  789. package/extensions/forms/Form/Section/Section.js +22 -10
  790. package/extensions/forms/Form/Section/Section.js.map +1 -1
  791. package/extensions/forms/Form/Section/SectionContext.d.ts +3 -3
  792. package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  793. package/extensions/forms/Form/Section/SectionDocs.js +10 -0
  794. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  795. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  796. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  797. package/extensions/forms/Iterate/Array/Array.js +37 -1
  798. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  799. package/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  800. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  801. package/extensions/forms/Iterate/Array/types.d.ts +9 -3
  802. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  803. package/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  804. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  805. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  806. package/extensions/forms/Tools/ListAllProps.js +3 -3
  807. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  808. package/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  809. package/extensions/forms/Value/Boolean/Boolean.js +5 -3
  810. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  811. package/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  812. package/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
  813. package/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  814. package/extensions/forms/Value/Number/Number.d.ts +5 -1
  815. package/extensions/forms/Value/Number/Number.js +16 -5
  816. package/extensions/forms/Value/Number/Number.js.map +1 -1
  817. package/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  818. package/extensions/forms/Value/Number/NumberDocs.js +13 -0
  819. package/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  820. package/extensions/forms/Value/ValueDocs.js +6 -1
  821. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  822. package/extensions/forms/ValueBlock/ValueBlock.js +16 -2
  823. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  824. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  825. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  826. package/extensions/forms/Wizard/Container/WizardContainer.js +89 -41
  827. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  828. package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  829. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  830. package/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  831. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  832. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  833. package/extensions/forms/Wizard/Step/Step.js +8 -5
  834. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  835. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  836. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  837. package/extensions/forms/Wizard/hooks/useStep.js +17 -1
  838. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  839. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  840. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  841. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  842. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  843. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +156 -0
  844. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  845. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  846. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
  847. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  848. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  849. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
  850. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  851. package/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  852. package/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
  853. package/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  854. package/extensions/forms/blocks/index.d.ts +1 -1
  855. package/extensions/forms/blocks/index.js +1 -3
  856. package/extensions/forms/blocks/index.js.map +1 -1
  857. package/extensions/forms/constants/locales/en-GB.js +2 -2
  858. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  859. package/extensions/forms/hooks/DataValueDocs.js +10 -10
  860. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  861. package/extensions/forms/hooks/useFieldProps.js +12 -7
  862. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  863. package/extensions/forms/hooks/useValueProps.js +4 -3
  864. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  865. package/extensions/forms/style/dnb-forms.css +15 -2
  866. package/extensions/forms/style/dnb-forms.min.css +1 -1
  867. package/extensions/forms/types.d.ts +10 -4
  868. package/extensions/forms/types.js.map +1 -1
  869. package/extensions/payment-card/PaymentCard.js +0 -2
  870. package/extensions/payment-card/PaymentCard.js.map +1 -1
  871. package/fragments/drawer-list/DrawerList.d.ts +0 -1
  872. package/fragments/drawer-list/DrawerList.js +6 -13
  873. package/fragments/drawer-list/DrawerList.js.map +1 -1
  874. package/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  875. package/fragments/drawer-list/DrawerListHelpers.js +2 -4
  876. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  877. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  878. package/package.json +2 -2
  879. package/shared/Context.d.ts +1 -1
  880. package/shared/Context.js +2 -2
  881. package/shared/Context.js.map +1 -1
  882. package/shared/Eufemia.d.ts +1 -1
  883. package/shared/Eufemia.js +2 -2
  884. package/shared/Eufemia.js.map +1 -1
  885. package/shared/component-helper.d.ts +3 -1
  886. package/shared/component-helper.js +35 -8
  887. package/shared/component-helper.js.map +1 -1
  888. package/style/core/scopes.scss +1 -1
  889. package/style/dnb-ui-basis.css +1 -1
  890. package/style/dnb-ui-basis.min.css +1 -1
  891. package/style/dnb-ui-body.css +1 -1
  892. package/style/dnb-ui-body.min.css +1 -1
  893. package/style/dnb-ui-components.css +49 -13
  894. package/style/dnb-ui-components.min.css +3 -3
  895. package/style/dnb-ui-core.css +1 -1
  896. package/style/dnb-ui-core.min.css +1 -1
  897. package/style/dnb-ui-extensions.css +15 -2
  898. package/style/dnb-ui-extensions.min.css +1 -1
  899. package/style/dnb-ui-forms.css +15 -2
  900. package/style/dnb-ui-forms.min.css +1 -1
  901. package/style/themes/theme-eiendom/eiendom-theme-components.css +67 -15
  902. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  903. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -2
  904. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  905. package/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -2
  906. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  907. package/style/themes/theme-sbanken/sbanken-theme-components.css +132 -74
  908. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  909. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  910. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +15 -2
  911. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  912. package/style/themes/theme-sbanken/sbanken-theme-forms.css +15 -2
  913. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  914. package/style/themes/theme-ui/ui-theme-components.css +67 -15
  915. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  916. package/style/themes/theme-ui/ui-theme-extensions.css +15 -2
  917. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  918. package/style/themes/theme-ui/ui-theme-forms.css +15 -2
  919. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  920. package/umd/dnb-ui-basis.min.js +1 -1
  921. package/umd/dnb-ui-components.min.js +1 -1
  922. package/umd/dnb-ui-elements.min.js +1 -1
  923. package/umd/dnb-ui-extensions.min.js +5 -5
  924. package/umd/dnb-ui-lib.min.js +1 -1
  925. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
  926. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -46
  927. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
  928. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
  929. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
  930. package/cjs/extensions/forms/blocks/Category/index.d.ts +0 -1
  931. package/cjs/extensions/forms/blocks/Category/index.js +0 -14
  932. package/cjs/extensions/forms/blocks/Category/index.js.map +0 -1
  933. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
  934. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -39
  935. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
  936. package/es/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
  937. package/es/extensions/forms/blocks/Category/FirstBlock/index.js +0 -3
  938. package/es/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
  939. package/es/extensions/forms/blocks/Category/index.d.ts +0 -1
  940. package/es/extensions/forms/blocks/Category/index.js +0 -1
  941. package/es/extensions/forms/blocks/Category/index.js.map +0 -1
  942. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +0 -2
  943. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +0 -39
  944. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +0 -1
  945. package/extensions/forms/blocks/Category/FirstBlock/index.d.ts +0 -2
  946. package/extensions/forms/blocks/Category/FirstBlock/index.js +0 -3
  947. package/extensions/forms/blocks/Category/FirstBlock/index.js.map +0 -1
  948. package/extensions/forms/blocks/Category/index.d.ts +0 -1
  949. package/extensions/forms/blocks/Category/index.js +0 -1
  950. package/extensions/forms/blocks/Category/index.js.map +0 -1
@@ -26,7 +26,7 @@ import { isAsync } from '../../../shared/helpers/isAsync';
26
26
  import useTranslation from './useTranslation';
27
27
  import useExternalValue from './useExternalValue';
28
28
  export default function useFieldProps(localeProps) {
29
- var _dataContext$props, _dataContext$ajvInsta, _localErrorRef$curren, _ref, _props$path, _props$autoComplete;
29
+ var _dataContext$props, _useExternalValue, _dataContext$ajvInsta, _localErrorRef$curren, _ref, _props$path, _props$autoComplete;
30
30
  const {
31
31
  extend
32
32
  } = useContext(FieldPropsContext);
@@ -34,6 +34,7 @@ export default function useFieldProps(localeProps) {
34
34
  const {
35
35
  path: pathProp,
36
36
  value: valueProp,
37
+ defaultValue,
37
38
  itemPath,
38
39
  emptyValue,
39
40
  required: requiredProp,
@@ -112,7 +113,6 @@ export default function useFieldProps(localeProps) {
112
113
  } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
113
114
  const {
114
115
  path: sectionPath,
115
- handleChange: handleChangeSectionContext,
116
116
  errorPrioritization
117
117
  } = sectionContext !== null && sectionContext !== void 0 ? sectionContext : {};
118
118
  const {
@@ -128,13 +128,14 @@ export default function useFieldProps(localeProps) {
128
128
  path: pathProp,
129
129
  itemPath
130
130
  });
131
- const externalValue = useExternalValue({
131
+ const defaultValueRef = useRef(defaultValue);
132
+ const externalValue = (_useExternalValue = useExternalValue({
132
133
  path,
133
134
  itemPath,
134
135
  value: valueProp,
135
136
  transformers,
136
137
  emptyValue
137
- });
138
+ })) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValueRef.current;
138
139
  const valueRef = useRef(externalValue);
139
140
  const changedRef = useRef(false);
140
141
  const hasFocusRef = useRef(false);
@@ -578,7 +579,6 @@ export default function useFieldProps(localeProps) {
578
579
  }
579
580
  const transformedValue = transformers.current.transformOut(transformers.current.transformValue(fromInput, currentValue));
580
581
  changedRef.current = true;
581
- handleChangeSectionContext === null || handleChangeSectionContext === void 0 ? void 0 : handleChangeSectionContext(identifier, transformedValue);
582
582
  if (itemPath) {
583
583
  handleChangeIterateContext === null || handleChangeIterateContext === void 0 ? void 0 : handleChangeIterateContext(makeIteratePath(), transformedValue);
584
584
  }
@@ -622,7 +622,7 @@ export default function useFieldProps(localeProps) {
622
622
  setEventResult(onChange === null || onChange === void 0 ? void 0 : onChange.apply(this, getArgs()));
623
623
  }
624
624
  await runPool();
625
- }, [itemPath, asyncBehaviorIsEnabled, onChange, runPool, handleChangeIterateContext, makeIteratePath, handleChangeSectionContext, identifier, hideError, updateValue, addToPool, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
625
+ }, [itemPath, asyncBehaviorIsEnabled, onChange, runPool, handleChangeIterateContext, makeIteratePath, hideError, updateValue, addToPool, yieldAsyncProcess, defineAsyncProcess, hasError, setEventResult]);
626
626
  const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus]);
627
627
  const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus]);
628
628
  setPropsDataContext === null || setPropsDataContext === void 0 ? void 0 : setPropsDataContext(identifier, props);
@@ -663,7 +663,7 @@ export default function useFieldProps(localeProps) {
663
663
  }, [clearErrorState, dataContextError, handleError, persistErrorState, prepareError, validateInitially]);
664
664
  useEffect(() => {
665
665
  if (hasPath) {
666
- let value = props.value;
666
+ let value = valueProp;
667
667
  const hasValue = pointer.has(dataContext.data, identifier);
668
668
  const existingValue = hasValue ? pointer.get(dataContext.data, identifier) : undefined;
669
669
  if (dataContext.id && !hasValue && typeof existingValue === 'undefined' && typeof value === 'undefined') {
@@ -676,12 +676,16 @@ export default function useFieldProps(localeProps) {
676
676
  }
677
677
  }
678
678
  }
679
+ if (typeof defaultValueRef.current !== 'undefined' && typeof value === 'undefined') {
680
+ value = defaultValueRef.current;
681
+ defaultValueRef.current = undefined;
682
+ }
679
683
  if (!hasValue || value !== existingValue && valueRef.current !== existingValue) {
680
684
  updateDataValueDataContext === null || updateDataValueDataContext === void 0 ? void 0 : updateDataValueDataContext(identifier, value);
681
685
  validateDataDataContext === null || validateDataDataContext === void 0 ? void 0 : validateDataDataContext();
682
686
  }
683
687
  }
684
- }, [dataContext.data, dataContext.id, identifier, hasPath, props.value, updateDataValueDataContext, validateDataDataContext]);
688
+ }, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
685
689
  useEffect(() => {
686
690
  if (dataContext.showAllErrors) {
687
691
  if (fieldStateRef.current !== 'validating') {
@@ -1 +1 @@
1
- {"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","SectionContext","FieldBoundaryContext","useProcessManager","usePath","createSharedState","useSharedState","isAsync","useTranslation","useExternalValue","useFieldProps","localeProps","_dataContext$props","_dataContext$ajvInsta","_localErrorRef$curren","_ref","_props$path","_props$autoComplete","extend","props","path","pathProp","value","valueProp","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","res","undefined","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","sectionContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setFieldProps","setPropsDataContext","errors","dataContextErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","handleChange","handleChangeIterateContext","sectionPath","handleChangeSectionContext","errorPrioritization","hasPath","identifier","makeIteratePath","externalValue","valueRef","changedRef","hasFocusRef","paths","split","length","requiredList","schemaPath","slice","join","schemaPart","has","get","push","substring","collected","flatMap","v","filter","some","p","c","includes","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","current","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","errorMessagesRef","messageWithValues","Object","entries","messageValues","reduce","replace","hasVisibleError","hasErrorProp","hasError","_ref2","_objectSpread","Field","errorRequired","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","waitFor","Promise","processName","withStates","withValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","hasValue","data","existingValue","sharedState","sharedValue","showAllErrors","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldSectionProps","fieldState","sharedData","set","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport SectionContext from '../Form/Section/SectionContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport usePath from './usePath'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\nimport useExternalValue from './useExternalValue'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\n// Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n// useEffect depend on them (like the external `value`)\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const sectionContext = useContext(SectionContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setFieldProps: setPropsDataContext,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const { handleChange: handleChangeIterateContext } =\n iterateElementContext ?? {}\n const {\n path: sectionPath,\n handleChange: handleChangeSectionContext,\n errorPrioritization,\n } = sectionContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n const hasPath = Boolean(pathProp)\n const { path, identifier, makeIteratePath } = usePath({\n id,\n path: pathProp,\n itemPath,\n })\n\n const externalValue = useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n emptyValue,\n })\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n if (sectionPath) {\n paths.push(sectionPath.substring(1))\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (\n paths\n .filter(Boolean)\n .some((p) => collected.some((c) => c.includes(p)))\n ) {\n return true\n }\n }\n }, [sectionPath, dataContext.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n }, [showFieldErrorFieldBlock, identifier])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n }, [showFieldErrorFieldBlock, identifier])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messageWithValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n const prioritizeContextSchema = useMemo(() => {\n if (errorPrioritization) {\n const schemaPath = identifier.split('/').join('/properties/')\n const hasContextSchema = pointer.has(\n dataContext?.schema || {},\n schemaPath\n )\n return (\n hasContextSchema &&\n errorPrioritization?.indexOf('contextSchema') === 0\n )\n }\n }, [dataContext?.schema, errorPrioritization, identifier])\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp ?? required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value) &&\n !prioritizeContextSchema\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n required,\n prioritizeContextSchema,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n withValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, withValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n withValue === validatedValue.current\n\n const result =\n (typeof withValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n ],\n })\n }\n\n if (hasPath) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n identifier\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n identifier\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n hasPath,\n identifier,\n hasError,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n setEventResult,\n handlePathChangeDataContext,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (hasPath) {\n handlePathChangeUnvalidatedDataContext(identifier, newValue)\n }\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n hasPath,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handlePathChangeUnvalidatedDataContext,\n identifier,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n handleChangeSectionContext?.(identifier, transformedValue)\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n handleChangeIterateContext?.(makeIteratePath(), transformedValue)\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n withValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n itemPath,\n asyncBehaviorIsEnabled,\n onChange,\n runPool,\n handleChangeIterateContext,\n makeIteratePath,\n handleChangeSectionContext,\n identifier,\n hideError,\n updateValue,\n addToPool,\n yieldAsyncProcess,\n defineAsyncProcess,\n hasError,\n setEventResult,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (hasPath) {\n let value = props.value\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, identifier)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, identifier)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, identifier)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, identifier)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(identifier, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n identifier,\n hasPath,\n props.value,\n updateDataValueDataContext,\n validateDataDataContext,\n ])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldSectionProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState(id)\n sharedData.set(fieldSectionProps)\n\n return {\n ...props,\n ...fieldSectionProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useFieldProps.js","names":["useRef","useEffect","useContext","useCallback","useMemo","useReducer","pointer","errorChanged","ajvErrorsToOneFormError","FormError","Context","DataContext","FieldPropsContext","combineDescribedBy","useId","useUpdateEffect","useMountEffect","useUnmountEffect","FieldBlockContext","IterateElementContext","SectionContext","FieldBoundaryContext","useProcessManager","usePath","createSharedState","useSharedState","isAsync","useTranslation","useExternalValue","useFieldProps","localeProps","_dataContext$props","_useExternalValue","_dataContext$ajvInsta","_localErrorRef$curren","_ref","_props$path","_props$autoComplete","extend","props","path","pathProp","value","valueProp","defaultValue","itemPath","emptyValue","required","requiredProp","disabled","disabledProp","info","warning","error","errorProp","errorMessages","onFocus","onBlur","onChange","onBlurValidator","validator","schema","validateInitially","validateUnchanged","continuousValidation","transformIn","transformOut","toInput","fromInput","toEvent","transformValue","fromExternal","validateRequired","res","undefined","forceUpdate","startProcess","id","dataContext","fieldBlockContext","iterateElementContext","sectionContext","fieldBoundaryContext","translation","transformers","handlePathChangeUnvalidated","handlePathChangeUnvalidatedDataContext","handlePathChange","handlePathChangeDataContext","updateDataValue","updateDataValueDataContext","validateData","validateDataDataContext","setFieldState","setFieldStateDataContext","setFieldError","setFieldErrorDataContext","setFieldProps","setPropsDataContext","errors","dataContextErrors","contextErrorMessages","onChangeContext","readOnly","inFieldBlock","Boolean","setFieldStateFieldBlock","showFieldError","showFieldErrorFieldBlock","mountedFieldsRef","mountedFieldsRefFieldBlock","handleChange","handleChangeIterateContext","sectionPath","errorPrioritization","hasPath","identifier","makeIteratePath","defaultValueRef","externalValue","current","valueRef","changedRef","hasFocusRef","paths","split","length","requiredList","schemaPath","slice","join","schemaPart","has","get","push","substring","collected","flatMap","v","filter","some","p","c","includes","showErrorRef","errorMethodRef","localErrorRef","hasLocalErrorRef","dataContextError","contextErrorRef","validatorRef","onBlurValidatorRef","schemaValidatorRef","ajvInstance","compile","asyncBehaviorIsEnabled","validatedValue","changeEventResultRef","asyncProcessRef","defineAsyncProcess","name","asyncBufferRef","key","resolve","validateProcesses","window","requestAnimationFrame","eventPool","onChangeLocal","addToPool","fn","runAsync","runPool","cb","pending","fieldStateRef","state","resolveValidatingState","showError","hideError","prepareError","_error$messageValues","message","validationRule","_errorMessagesRef$cur","fieldMessage","errorMessagesRef","messageWithValues","Object","entries","messageValues","reduce","replace","hasVisibleError","hasErrorProp","hasError","_ref2","_objectSpread","Field","errorRequired","stateId","persistErrorState","method","errorArg","keys","type","content","showInitially","clearErrorState","callValidator","opts","tmpValue","result","unchangedValue","Error","callOnBlurValidator","valueOverride","prioritizeContextSchema","hasContextSchema","indexOf","validateValue","isProcessActive","requiredError","isChanged","handleError","setHasFocus","hasFocus","yieldAsyncProcess","waitFor","Promise","processName","withStates","withValue","hasMatchingValue","handleChangeEventResult","warningRef","infoRef","success","setEventResult","callOnChangeContext","updateValue","newValue","argFromInput","additionalArgs","currentValue","transformedValue","getArgs","args","apply","handleFocus","handleBlur","handleMountField","handleUnMountField","_dataContext$ajvInsta2","hasValue","data","existingValue","sharedState","sharedValue","showAllErrors","formState","onSubmitHandler","_dataContext$setField","setFieldEventListener","call","show","htmlAttributes","acc","cur","startsWith","_fieldBlockContext$fi","stateIds","fieldStateIdsRef","ids","fieldSectionProps","fieldState","sharedData","set","autoComplete"],"sources":["../../../../../src/extensions/forms/hooks/useFieldProps.ts"],"sourcesContent":["import {\n useRef,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useReducer,\n AriaAttributes,\n} from 'react'\nimport pointer from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport { errorChanged } from '../utils'\nimport { ajvErrorsToOneFormError } from '../utils/ajv'\nimport {\n FormError,\n FieldProps,\n AdditionalEventArgs,\n SubmitState,\n EventReturnWithStateObjectAndSuccess,\n EventStateObjectWithSuccess,\n} from '../types'\nimport { Context as DataContext, ContextState } from '../DataContext'\nimport FieldPropsContext from '../Form/FieldProps/FieldPropsContext'\nimport { combineDescribedBy } from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUpdateEffect from '../../../shared/helpers/useUpdateEffect'\nimport useMountEffect from '../../../shared/helpers/useMountEffect'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport FieldBlockContext from '../FieldBlock/FieldBlockContext'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport SectionContext from '../Form/Section/SectionContext'\nimport FieldBoundaryContext from '../DataContext/FieldBoundary/FieldBoundaryContext'\nimport useProcessManager from './useProcessManager'\nimport usePath from './usePath'\nimport {\n createSharedState,\n useSharedState,\n} from '../../../shared/helpers/useSharedState'\nimport { isAsync } from '../../../shared/helpers/isAsync'\nimport useTranslation from './useTranslation'\nimport useExternalValue from './useExternalValue'\n\ntype SubmitStateWithValidating = SubmitState | 'validating'\ntype AsyncProcesses =\n | 'validator'\n | 'onBlurValidator'\n | 'onChangeLocal'\n | 'onChangeContext'\ntype PersistErrorStateMethod =\n /**\n * Add or remove the error regardless\n */\n | 'weak'\n /**\n * Check if there is an existing error, and if so, keep it\n */\n | 'gracefully'\n /**\n * Remove the error, if any\n */\n | 'wipe'\ntype AsyncProcessesBuffer = {\n resolve: () => void\n validateProcesses: () => boolean\n}\n\nexport type DataAttributes = {\n [property: `data-${string}`]: string | boolean | number\n}\n\n// Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n// useEffect depend on them (like the external `value`)\n\nexport default function useFieldProps<\n Value = unknown,\n Props extends FieldProps<Value> = FieldProps<Value>,\n>(\n localeProps: Props\n): Props & FieldProps<Value> & ReturnAdditional<Value> {\n const { extend } = useContext(FieldPropsContext)\n const props = extend<Props>(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n defaultValue,\n itemPath,\n emptyValue,\n required: requiredProp,\n disabled: disabledProp,\n info,\n warning,\n error: errorProp,\n errorMessages,\n onFocus,\n onBlur,\n onChange,\n onBlurValidator,\n validator,\n schema,\n validateInitially,\n validateUnchanged,\n continuousValidation,\n transformIn = (value: Value) => value,\n transformOut = (value: Value) => value,\n toInput = (value: Value) => value,\n fromInput = (value: Value) => value,\n toEvent = (value: Value) => value,\n transformValue = (value: Value) => value,\n fromExternal = (value: Value) => value,\n validateRequired = (value: Value, { emptyValue, required, error }) => {\n const res =\n required &&\n (value === emptyValue ||\n (typeof emptyValue === 'undefined' && value === ''))\n ? error\n : undefined\n\n return res\n },\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { startProcess } = useProcessManager()\n const id = useId(props.id)\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const iterateElementContext = useContext(IterateElementContext)\n const sectionContext = useContext(SectionContext)\n const fieldBoundaryContext = useContext(FieldBoundaryContext)\n const translation = useTranslation()\n\n const transformers = useRef({\n transformIn,\n transformOut,\n toInput,\n fromInput,\n toEvent,\n fromExternal,\n transformValue,\n validateRequired,\n })\n\n const {\n handlePathChangeUnvalidated: handlePathChangeUnvalidatedDataContext,\n handlePathChange: handlePathChangeDataContext,\n updateDataValue: updateDataValueDataContext,\n validateData: validateDataDataContext,\n setFieldState: setFieldStateDataContext,\n setFieldError: setFieldErrorDataContext,\n setFieldProps: setPropsDataContext,\n errors: dataContextErrors,\n contextErrorMessages,\n } = dataContext ?? {}\n const onChangeContext = dataContext?.props?.onChange\n\n const disabled = disabledProp ?? props.readOnly\n const inFieldBlock = Boolean(fieldBlockContext)\n const {\n setFieldState: setFieldStateFieldBlock,\n showFieldError: showFieldErrorFieldBlock,\n mountedFieldsRef: mountedFieldsRefFieldBlock,\n } = fieldBlockContext ?? {}\n const { handleChange: handleChangeIterateContext } =\n iterateElementContext ?? {}\n const { path: sectionPath, errorPrioritization } = sectionContext ?? {}\n const { setFieldError } = fieldBoundaryContext ?? {}\n\n const hasPath = Boolean(pathProp)\n const { path, identifier, makeIteratePath } = usePath({\n id,\n path: pathProp,\n itemPath,\n })\n\n const defaultValueRef = useRef(defaultValue)\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value: valueProp,\n transformers,\n emptyValue,\n }) ?? defaultValueRef.current\n\n // Many variables are kept in refs to avoid triggering unnecessary update loops because updates using\n // useEffect depend on them (like the external `value`)\n\n // Hold an internal copy of the input value in case the input component is used uncontrolled,\n // and to handle errors in Eufemia on components that does not take updated callback functions into account.\n const valueRef = useRef<Value>(externalValue)\n const changedRef = useRef<boolean>(false)\n const hasFocusRef = useRef<boolean>(false)\n\n const required = useMemo(() => {\n if (requiredProp) {\n return requiredProp\n }\n\n const paths = identifier.split('/')\n if (paths.length > 0 && (schema || dataContext?.schema)) {\n const requiredList = [schema?.['required']]\n\n if (paths.length > 1) {\n const schema = dataContext.schema\n const schemaPath = paths.slice(0, -1).join('/properties/')\n const schemaPart = pointer.has(schema, schemaPath)\n ? pointer.get(schema, schemaPath)\n : schema\n\n requiredList.push(schemaPart?.required)\n }\n\n if (sectionPath) {\n paths.push(sectionPath.substring(1))\n }\n\n const collected = requiredList.flatMap((v) => v).filter(Boolean)\n if (\n paths\n .filter(Boolean)\n .some((p) => collected.some((c) => c.includes(p)))\n ) {\n return true\n }\n }\n }, [sectionPath, dataContext.schema, identifier, requiredProp, schema])\n\n // Error handling\n // - Should errors received through validation be shown initially. Assume that providing a direct prop to\n // the component means it is supposed to be shown initially.\n const showErrorRef = useRef<boolean>(\n Boolean(validateInitially || errorProp)\n )\n // - Local errors are errors based on validation instructions received by\n const errorMethodRef = useRef<\n Partial<Record<PersistErrorStateMethod, Error | FormError>>\n >({})\n const localErrorRef = useRef<Error | FormError | undefined>()\n const hasLocalErrorRef = useRef(false)\n // - Context errors are from outer contexts, like validation for this field as part of the whole data set\n const dataContextError = useMemo(() => {\n return path ? dataContextErrors?.[identifier] : undefined\n }, [dataContextErrors, identifier, path])\n const contextErrorRef = useRef<Error | FormError | undefined>(\n dataContextError\n )\n\n const validatorRef = useRef(validator)\n useUpdateEffect(() => {\n validatorRef.current = validator\n }, [validator])\n const onBlurValidatorRef = useRef(onBlurValidator)\n useUpdateEffect(() => {\n onBlurValidatorRef.current = onBlurValidator\n }, [onBlurValidator])\n\n const schemaValidatorRef = useRef<ValidateFunction>(\n schema ? dataContext.ajvInstance?.compile(schema) : undefined\n )\n\n // - Async behavior\n const asyncBehaviorIsEnabled = useMemo(() => {\n return isAsync(onChange) || isAsync(onChangeContext)\n }, [onChangeContext, onChange])\n const validatedValue = useRef<Value>()\n const changeEventResultRef = useRef<EventStateObjectWithSuccess>(null)\n const asyncProcessRef = useRef<AsyncProcesses>(null)\n const defineAsyncProcess = useCallback((name: AsyncProcesses) => {\n asyncProcessRef.current = name\n }, [])\n\n // When both an async onChange and async validators are used,\n // we buffer the onChange calls to avoid race conditions.\n const asyncBufferRef = useRef<\n Record<AsyncProcesses, AsyncProcessesBuffer> | Record<string, unknown>\n >({})\n\n for (const key in asyncBufferRef.current) {\n const { resolve, validateProcesses } = (asyncBufferRef.current[key] ||\n {}) as AsyncProcessesBuffer\n if (validateProcesses?.() === false) {\n delete asyncBufferRef.current[key]\n if (typeof resolve === 'function') {\n window.requestAnimationFrame(resolve)\n }\n }\n }\n\n const eventPool = useRef({\n validator: null,\n onBlurValidator: null,\n onChangeContext: null,\n onChangeLocal: null,\n })\n\n const addToPool = useCallback(\n (name: keyof typeof eventPool.current, fn, runAsync) => {\n if (!eventPool.current[name]) {\n eventPool.current[name] = { fn, runAsync }\n }\n },\n []\n )\n\n const runPool = useCallback(async (cb = null) => {\n for (const key in eventPool.current) {\n if (!eventPool.current[key] || eventPool.current[key].pending) {\n continue\n }\n\n const { fn, runAsync } = eventPool.current[key] || {}\n if (fn) {\n eventPool.current[key].pending = true\n eventPool.current[key] = null\n\n if (runAsync) {\n await fn()\n } else {\n fn()\n }\n }\n }\n\n // use a callback in order to avoid any async/await,\n // because it will delay the execution of the following code\n cb?.()\n }, [])\n\n const fieldStateRef = useRef<SubmitStateWithValidating>()\n const setFieldState = useCallback(\n (state: SubmitStateWithValidating) => {\n fieldStateRef.current = state\n setFieldStateDataContext(identifier, resolveValidatingState(state))\n if (!validateInitially) {\n forceUpdate()\n }\n },\n [setFieldStateDataContext, identifier, validateInitially]\n )\n\n const showError = useCallback(() => {\n showErrorRef.current = true\n showFieldErrorFieldBlock?.(identifier, true)\n }, [showFieldErrorFieldBlock, identifier])\n\n const hideError = useCallback(() => {\n showErrorRef.current = false\n showFieldErrorFieldBlock?.(identifier, false)\n }, [showFieldErrorFieldBlock, identifier])\n\n /**\n * Prepare error from validation logic with correct error messages based on props\n */\n const prepareError = useCallback(\n (error: Error | FormError | undefined): FormError | undefined => {\n if (error instanceof FormError) {\n let message = error.message\n\n const { validationRule } = error\n if (typeof validationRule === 'string') {\n const fieldMessage = errorMessagesRef.current?.[validationRule]\n if (fieldMessage) {\n message = fieldMessage\n }\n }\n\n const messageWithValues = Object.entries(\n error.messageValues ?? {}\n ).reduce((message, [key, value]) => {\n return message.replace(`{${key}}`, value)\n }, message)\n\n error.message = messageWithValues\n\n return error\n }\n\n return error\n },\n []\n )\n\n contextErrorRef.current = useMemo(() => {\n if (!dataContextError) {\n return undefined\n }\n const error = prepareError(dataContextError)\n if (errorChanged(error, contextErrorRef.current)) {\n return error\n }\n }, [dataContextError, prepareError])\n\n const error =\n showErrorRef.current ||\n // If the error is a type error, we want to show it even if the field as not been used\n localErrorRef.current?.['validationRule'] === 'type'\n ? errorProp ?? localErrorRef.current ?? contextErrorRef.current\n : undefined\n\n const hasVisibleError =\n Boolean(error) || (inFieldBlock && fieldBlockContext.hasErrorProp)\n const hasError = useCallback(() => {\n return Boolean(\n errorProp ?? localErrorRef.current ?? contextErrorRef.current\n )\n }, [errorProp])\n\n const errorMessagesRef = useRef(null)\n errorMessagesRef.current = useMemo(() => {\n return {\n required: translation.Field.errorRequired,\n ...errorMessages,\n }\n }, [errorMessages, translation.Field.errorRequired])\n\n /**\n * Based on validation, update error state, locally and relevant surrounding contexts\n */\n const stateId = useId()\n const persistErrorState = useCallback(\n (\n method: PersistErrorStateMethod,\n errorArg: Error | FormError | undefined = undefined\n ) => {\n const error = prepareError(errorArg)\n\n if (!errorChanged(error, localErrorRef.current)) {\n // In case different triggers lead to validation with no changes in the result (like still no error, or the same error),\n // avoid unnecessary re-renders by letting the old error object stay in the state and skip re-rendering.\n return\n }\n\n if (method === 'wipe') {\n errorMethodRef.current = {}\n } else {\n errorMethodRef.current[method] = error\n }\n\n if (\n !error &&\n method === 'gracefully' &&\n Object.keys(errorMethodRef.current).filter(Boolean).length > 0\n ) {\n // If the error is removed, we need to check if there are other errors that still should be shown\n return\n }\n\n localErrorRef.current = error\n\n // Tell the data context about the error, so it can stop the user from submitting the form until the error has been fixed\n setFieldErrorDataContext?.(identifier, error)\n setFieldError?.(identifier, error)\n\n // Set the visual states\n setFieldStateDataContext?.(identifier, error ? 'error' : undefined)\n setFieldStateFieldBlock?.({\n stateId,\n identifier,\n type: 'error',\n content: error,\n showInitially: Boolean(inFieldBlock && validateInitially),\n })\n\n forceUpdate()\n },\n [\n prepareError,\n setFieldErrorDataContext,\n identifier,\n setFieldError,\n setFieldStateDataContext,\n setFieldStateFieldBlock,\n stateId,\n inFieldBlock,\n validateInitially,\n ]\n )\n\n const clearErrorState = useCallback(() => {\n persistErrorState('wipe')\n hasLocalErrorRef.current = false\n }, [persistErrorState])\n\n const callValidator = useCallback(async () => {\n if (typeof validatorRef.current !== 'function') {\n return\n }\n\n const runAsync = isAsync(validatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('validator')\n setFieldState('validating')\n hideError()\n }\n\n const opts = {\n ...contextErrorMessages,\n ...errorMessagesRef.current,\n }\n\n const tmpValue = valueRef.current\n\n // Run async regardless to support Promise based validators\n const result = await validatorRef.current(valueRef.current, opts)\n\n const unchangedValue = tmpValue === valueRef.current\n\n // Don't show the error if the value has changed in the meantime\n if (unchangedValue) {\n persistErrorState('gracefully', result as Error)\n\n // Because its a better UX to show the error when the validation is async/delayed\n if (continuousValidation || runAsync) {\n // Because we first need to throw the error to be able to display it, we delay the showError call\n window.requestAnimationFrame(() => {\n showError()\n forceUpdate()\n })\n }\n }\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n\n if (unchangedValue) {\n setFieldState(result instanceof Error ? 'error' : 'complete')\n } else {\n setFieldState('pending')\n }\n }\n\n return result\n }, [\n contextErrorMessages,\n continuousValidation,\n hideError,\n persistErrorState,\n defineAsyncProcess,\n setFieldState,\n showError,\n ])\n\n const callOnBlurValidator = useCallback(\n async ({ valueOverride = null } = {}) => {\n if (typeof onBlurValidatorRef.current !== 'function') {\n return\n }\n // External blur validators makes it possible to validate values but not on every character change in case of\n // expensive validation calling external services etc.\n\n // Since the validator can return either a synchronous result or an asynchronous\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlurValidator'\n )\n\n const runAsync = isAsync(onBlurValidatorRef.current)\n\n if (runAsync) {\n defineAsyncProcess('onBlurValidator')\n setFieldState('validating')\n }\n\n // Run async regardless to support Promise based validators\n const result = await onBlurValidatorRef.current(value)\n\n persistErrorState('gracefully', result as Error)\n\n if (runAsync) {\n defineAsyncProcess(undefined)\n setFieldState(result instanceof Error ? 'error' : 'complete')\n }\n\n showError()\n forceUpdate()\n },\n [persistErrorState, defineAsyncProcess, setFieldState, showError]\n )\n\n const prioritizeContextSchema = useMemo(() => {\n if (errorPrioritization) {\n const schemaPath = identifier.split('/').join('/properties/')\n const hasContextSchema = pointer.has(\n dataContext?.schema || {},\n schemaPath\n )\n return (\n hasContextSchema &&\n errorPrioritization?.indexOf('contextSchema') === 0\n )\n }\n }, [dataContext?.schema, errorPrioritization, identifier])\n\n /**\n * Validate the current state value by provided validator instructions\n */\n const validateValue = useCallback(async () => {\n const isProcessActive = startProcess()\n\n if (disabled) {\n if (isProcessActive()) {\n clearErrorState()\n }\n hideError()\n setFieldState(undefined)\n return // stop here\n }\n\n const value = valueRef.current\n changeEventResultRef.current = null\n validatedValue.current = null\n\n try {\n const requiredError = transformers.current.validateRequired(value, {\n emptyValue,\n required: requiredProp ?? required,\n isChanged: changedRef.current,\n error: new FormError('The value is required', {\n validationRule: 'required',\n }),\n })\n if (requiredError instanceof Error) {\n throw requiredError\n }\n\n // Validate by provided JSON Schema for this value\n if (\n schemaValidatorRef.current &&\n value !== undefined &&\n !schemaValidatorRef.current(value) &&\n !prioritizeContextSchema\n ) {\n const error = ajvErrorsToOneFormError(\n schemaValidatorRef.current.errors,\n valueRef.current\n )\n throw error\n }\n\n // Validate by provided derivative validator\n if (\n validatorRef.current &&\n (changedRef.current || validateInitially)\n ) {\n const result = await callValidator()\n\n if (result instanceof Error) {\n throw result\n }\n }\n\n if (isProcessActive()) {\n clearErrorState()\n }\n\n validatedValue.current = value\n } catch (error: unknown) {\n if (isProcessActive()) {\n hasLocalErrorRef.current = true\n persistErrorState('weak', error as Error)\n }\n }\n }, [\n startProcess,\n disabled,\n hideError,\n setFieldState,\n clearErrorState,\n emptyValue,\n requiredProp,\n required,\n prioritizeContextSchema,\n validateInitially,\n callValidator,\n persistErrorState,\n ])\n\n const handleError = useCallback(() => {\n if (\n continuousValidation ||\n (continuousValidation !== false && !hasFocusRef.current)\n ) {\n // When there is a change to the value without there having been any focus callback beforehand, it is likely\n // to believe that the blur callback will not be called either, which would trigger the display of the error.\n // The error is therefore displayed immediately (unless instructed not to with continuousValidation set to false).\n showError()\n } else {\n // When changing the value, hide errors to avoid annoying the user before they are finished filling in that value\n hideError()\n }\n }, [continuousValidation, hideError, showError])\n\n const setHasFocus = useCallback(\n async (hasFocus: boolean, valueOverride?: Value) => {\n if (hasFocus) {\n // Field was put in focus (like when clicking in a text field or opening a dropdown menu)\n hasFocusRef.current = true\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onFocus'\n )\n onFocus?.(value)\n } else {\n // Field was removed from focus (like when tabbing out of a text field or closing a dropdown menu)\n hasFocusRef.current = false\n const value = transformers.current.toEvent(\n valueOverride ?? valueRef.current,\n 'onBlur'\n )\n onBlur?.(value)\n\n if (!changedRef.current && !validateUnchanged) {\n // Avoid showing errors when blurring without having changed the value, so tabbing through several\n // fields does not make errors pop up all over the place\n return\n }\n\n addToPool(\n 'onBlurValidator',\n async () => await callOnBlurValidator({ valueOverride }),\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool(() => {\n // Since the user left the field, show error (if any)\n showError()\n forceUpdate()\n })\n }\n },\n [\n addToPool,\n callOnBlurValidator,\n onBlur,\n onFocus,\n runPool,\n showError,\n validateUnchanged,\n ]\n )\n\n // Await an async operation to run after criteria are fulfilled\n const yieldAsyncProcess = useCallback(\n async ({\n name,\n waitFor,\n }: {\n name: 'onChangeLocal' | 'onChangeContext' | 'onSubmitContext'\n waitFor: Array<{\n processName?: AsyncProcesses\n withStates: Array<SubmitStateWithValidating>\n withValue?: Value\n }>\n }) => {\n return new Promise<void>((resolve) => {\n const validateProcesses = () => {\n const result = waitFor.some(\n ({ processName, withStates, withValue }) => {\n const hasMatchingValue =\n // If the value has changed during the async process, we don't want to resolve anymore\n withValue === validatedValue.current\n\n const result =\n (typeof withValue === 'undefined'\n ? false\n : !hasMatchingValue) ||\n ((processName\n ? processName === asyncProcessRef.current\n : true) &&\n withStates?.some((state) => {\n return state === fieldStateRef.current\n }))\n\n return result\n }\n )\n\n return result\n }\n\n if (validateProcesses() === true) {\n asyncBufferRef.current[name] = { resolve, validateProcesses }\n } else {\n resolve()\n setFieldState('pending')\n }\n })\n },\n [setFieldState]\n )\n\n const handleChangeEventResult = useCallback(async () => {\n const result: EventStateObjectWithSuccess =\n changeEventResultRef.current\n\n if (typeof result?.error !== 'undefined') {\n persistErrorState('gracefully', result.error)\n showError()\n }\n if (typeof result?.warning !== 'undefined') {\n warningRef.current = result.warning\n }\n if (typeof result?.info !== 'undefined') {\n infoRef.current = result.info\n }\n\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onSubmitContext',\n waitFor: [{ withStates: ['validating'] }],\n })\n }\n\n defineAsyncProcess(undefined)\n\n if (result?.success === 'saved') {\n setFieldState('success')\n } else if (result?.error) {\n setFieldState('error')\n } else if (asyncBehaviorIsEnabled) {\n setFieldState('complete')\n }\n }, [\n asyncBehaviorIsEnabled,\n defineAsyncProcess,\n persistErrorState,\n setFieldState,\n showError,\n yieldAsyncProcess,\n ])\n\n const setEventResult = useCallback(\n (result: EventReturnWithStateObjectAndSuccess) => {\n if (result instanceof Error) {\n result = { error: result }\n }\n changeEventResultRef.current = {\n ...changeEventResultRef.current,\n ...result,\n } as EventStateObjectWithSuccess\n\n handleChangeEventResult()\n },\n [handleChangeEventResult]\n )\n\n const callOnChangeContext = useCallback(async () => {\n if (asyncBehaviorIsEnabled) {\n await yieldAsyncProcess({\n name: 'onChangeContext',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: valueRef.current,\n },\n ],\n })\n }\n\n if (hasPath) {\n if (isAsync(onChangeContext)) {\n defineAsyncProcess('onChangeContext')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n setEventResult(\n (await handlePathChangeDataContext?.(\n identifier\n )) as EventReturnWithStateObjectAndSuccess\n )\n } else {\n setEventResult(null)\n }\n } else {\n setEventResult(\n handlePathChangeDataContext?.(\n identifier\n ) as EventReturnWithStateObjectAndSuccess\n )\n }\n }\n\n forceUpdate()\n }, [\n asyncBehaviorIsEnabled,\n hasPath,\n identifier,\n hasError,\n yieldAsyncProcess,\n onChangeContext,\n defineAsyncProcess,\n setEventResult,\n handlePathChangeDataContext,\n ])\n\n const updateValue = useCallback(\n async (newValue: Value) => {\n if (newValue === valueRef.current) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n valueRef.current = newValue\n\n if (hasPath) {\n handlePathChangeUnvalidatedDataContext(identifier, newValue)\n }\n\n addToPool('validator', validateValue, isAsync(validatorRef.current))\n\n addToPool(\n 'onChangeContext',\n callOnChangeContext,\n isAsync(onChangeContext)\n )\n\n await runPool(() => {\n handleError()\n })\n },\n [\n hasPath,\n addToPool,\n validateValue,\n callOnChangeContext,\n onChangeContext,\n runPool,\n handlePathChangeUnvalidatedDataContext,\n identifier,\n handleError,\n ]\n )\n\n const handleChange = useCallback(\n async (\n argFromInput: Value,\n additionalArgs: AdditionalEventArgs = undefined\n ) => {\n const currentValue = valueRef.current\n const fromInput = transformers.current.fromInput(argFromInput)\n\n if (fromInput === currentValue) {\n // Avoid triggering a change if the value was not actually changed. This may be caused by rendering components\n // calling onChange even if the actual value did not change.\n return\n }\n\n const transformedValue = transformers.current.transformOut(\n transformers.current.transformValue(fromInput, currentValue)\n )\n\n // Must be set before validation\n changedRef.current = true\n\n // Run in sync, before any async operations to avoid lag in UX\n if (itemPath) {\n handleChangeIterateContext?.(makeIteratePath(), transformedValue)\n }\n\n if (asyncBehaviorIsEnabled) {\n hideError()\n await updateValue(transformedValue)\n } else {\n updateValue(transformedValue)\n }\n\n const getArgs = (): [Value] | [Value, AdditionalEventArgs] => {\n const value = transformers.current.toEvent(\n valueRef.current,\n 'onChange'\n )\n\n return typeof additionalArgs !== 'undefined'\n ? [value, additionalArgs]\n : [value]\n }\n\n if (isAsync(onChange)) {\n addToPool(\n 'onChangeLocal',\n async () => {\n const args = getArgs()\n\n await yieldAsyncProcess({\n name: 'onChangeLocal',\n waitFor: [\n {\n processName: 'validator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onBlurValidator',\n withStates: ['validating', 'error'],\n withValue: args[0],\n },\n {\n processName: 'onChangeContext',\n withStates: ['pending', 'error'],\n withValue: args[0],\n },\n ],\n })\n\n defineAsyncProcess('onChangeLocal')\n\n // Skip sync errors, such as required\n if (!hasError()) {\n // If the value has changed during the async process, we don't want to call the onChange anymore\n setEventResult(await onChange?.apply(this, args))\n } else {\n setEventResult(null)\n }\n },\n true\n )\n } else {\n setEventResult(onChange?.apply(this, getArgs()))\n }\n\n await runPool()\n },\n [\n itemPath,\n asyncBehaviorIsEnabled,\n onChange,\n runPool,\n handleChangeIterateContext,\n makeIteratePath,\n hideError,\n updateValue,\n addToPool,\n yieldAsyncProcess,\n defineAsyncProcess,\n hasError,\n setEventResult,\n ]\n )\n\n const handleFocus = useCallback(() => setHasFocus(true), [setHasFocus])\n const handleBlur = useCallback(() => setHasFocus(false), [setHasFocus])\n\n // Put props into the surrounding data context as early as possible\n setPropsDataContext?.(identifier, props)\n\n useMountEffect(() => {\n dataContext?.handleMountField(identifier)\n validateValue()\n })\n useUnmountEffect(() => {\n dataContext?.handleUnMountField(identifier)\n setFieldErrorDataContext?.(identifier, undefined)\n setFieldError?.(identifier, undefined)\n localErrorRef.current = undefined\n })\n\n useUpdateEffect(() => {\n schemaValidatorRef.current = schema\n ? dataContext.ajvInstance?.compile(schema)\n : undefined\n validateValue()\n }, [schema, validateValue])\n\n useUpdateEffect(() => {\n // Error or removed error for this field from the surrounding data context (by path)\n if (valueRef.current !== externalValue) {\n valueRef.current = externalValue\n validateValue()\n }\n forceUpdate()\n }, [externalValue, validateValue])\n\n useEffect(() => {\n // Check against the local error state,\n // so we prioritize the local error state over the context error state\n if (!hasLocalErrorRef.current) {\n const error = prepareError(dataContextError)\n if (error) {\n persistErrorState('weak', error)\n if (validateInitially) {\n handleError()\n }\n } else {\n clearErrorState()\n }\n }\n }, [\n clearErrorState,\n dataContextError,\n handleError,\n persistErrorState,\n prepareError,\n validateInitially,\n ])\n\n useEffect(() => {\n if (hasPath) {\n let value = valueProp\n\n // First, look for existing data in the context\n const hasValue = pointer.has(dataContext.data, identifier)\n const existingValue = hasValue\n ? pointer.get(dataContext.data, identifier)\n : undefined\n\n // If no data where found in the dataContext, look for shared data\n if (\n dataContext.id &&\n !hasValue &&\n typeof existingValue === 'undefined' &&\n typeof value === 'undefined'\n ) {\n const sharedState = createSharedState(dataContext.id)\n const hasValue = pointer.has(sharedState.data, identifier)\n if (hasValue) {\n const sharedValue = pointer.get(sharedState.data, identifier)\n if (sharedValue) {\n value = sharedValue\n }\n }\n }\n\n if (\n typeof defaultValueRef.current !== 'undefined' &&\n typeof value === 'undefined'\n ) {\n value = defaultValueRef.current\n defaultValueRef.current = undefined\n }\n\n if (\n !hasValue ||\n (value !== existingValue &&\n // Prevents an infinite loop by skipping the update if the value hasn't changed\n valueRef.current !== existingValue)\n ) {\n // Update the data context when a pointer not exists,\n // but was given initially.\n updateDataValueDataContext?.(identifier, value)\n validateDataDataContext?.()\n }\n }\n }, [\n dataContext.data,\n dataContext.id,\n hasPath,\n identifier,\n updateDataValueDataContext,\n validateDataDataContext,\n valueProp,\n ])\n\n useEffect(() => {\n if (dataContext.showAllErrors) {\n // In case of async validation, we don't want to show existing errors before the validation has been completed\n if (fieldStateRef.current !== 'validating') {\n // If showError on a surrounding data context was changed and set to true, it is because the user clicked next, submit or\n // something else that should lead to showing the user all errors.\n showError()\n forceUpdate()\n }\n }\n }, [dataContext.showAllErrors, showError])\n\n useEffect(() => {\n if (\n dataContext.formState === 'pending' &&\n (validatorRef.current || onBlurValidatorRef.current)\n ) {\n hideError()\n forceUpdate()\n }\n }, [dataContext.formState, hideError])\n\n const onSubmitHandler = useCallback(async () => {\n if (hasError()) {\n return // stop here\n }\n\n addToPool('validator', callValidator, isAsync(validatorRef.current))\n addToPool(\n 'onBlurValidator',\n callOnBlurValidator,\n isAsync(onBlurValidatorRef.current)\n )\n\n await runPool()\n }, [addToPool, callOnBlurValidator, callValidator, hasError, runPool])\n\n // Validate/call validator functions during submit of the form\n useMountEffect(() => {\n dataContext?.setFieldEventListener?.(\n identifier,\n 'onSubmit',\n onSubmitHandler\n )\n })\n\n // Set the error in the field block context if this field is inside a field block\n useMountEffect(() => {\n if (inFieldBlock) {\n if (errorProp) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'error',\n content: errorProp,\n showInitially: true,\n show: true,\n })\n }\n if (warning) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'warning',\n content: warning,\n showInitially: true,\n show: true,\n })\n }\n if (info) {\n setFieldStateFieldBlock?.({\n identifier,\n type: 'info',\n content: info,\n showInitially: true,\n show: true,\n })\n }\n\n return () => {\n // Unmount procedure\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n }\n }\n })\n\n const infoRef = useRef<React.ReactNode>(info)\n const warningRef = useRef<React.ReactNode>(warning)\n useUpdateEffect(() => {\n infoRef.current = info\n warningRef.current = warning\n forceUpdate()\n }, [info, warning])\n\n // - Handle htmlAttributes\n const htmlAttributes = useMemo(() => {\n return Object.keys(props).reduce<AriaAttributes>(\n (acc, cur) => {\n if (cur.startsWith('aria-') || cur.startsWith('data-')) {\n acc[cur] = props[cur]\n }\n return acc\n },\n { ...props.htmlAttributes }\n )\n }, [props])\n\n if (error) {\n htmlAttributes['aria-invalid'] = error ? 'true' : 'false'\n }\n if (required) {\n htmlAttributes['aria-required'] = 'true'\n }\n if (inFieldBlock) {\n // Mount the field in the field block context\n if (mountedFieldsRefFieldBlock) {\n mountedFieldsRefFieldBlock.current[identifier] = true\n }\n\n // Check if there are any state IDs to be added to the aria-describedby attribute\n const stateIds = fieldBlockContext.fieldStateIdsRef?.current\n\n if (stateIds) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n [\n error && stateIds.error,\n warning && stateIds.warning,\n info && stateIds.info,\n ].filter(Boolean)\n )\n }\n } else {\n const ids = [\n (error || errorProp) && `${id}-form-status--error`,\n warning && `${id}-form-status--warning`,\n info && `${id}-form-status--info`,\n ].filter(Boolean)\n\n if (ids.length) {\n htmlAttributes['aria-describedby'] = combineDescribedBy(\n htmlAttributes,\n ids\n )\n }\n }\n\n const fieldSectionProps = {\n /** Documented APIs */\n info: !inFieldBlock ? infoRef.current : undefined,\n warning: !inFieldBlock ? warningRef.current : undefined,\n error: !inFieldBlock ? error : undefined,\n\n /** HTML Attributes */\n disabled:\n onBlurValidator &&\n asyncProcessRef.current === 'onBlurValidator' &&\n fieldStateRef.current === 'validating'\n ? true\n : disabled,\n\n /** Internal */\n fieldState: resolveValidatingState(fieldStateRef.current),\n }\n\n const sharedData = useSharedState(id)\n sharedData.set(fieldSectionProps)\n\n return {\n ...props,\n ...fieldSectionProps,\n\n /** HTML Attributes */\n name: props.name || props.path?.replace('/', '') || id,\n autoComplete:\n props.autoComplete ??\n (dataContext.autoComplete === true ? 'on' : undefined),\n\n /** Documented APIs */\n id,\n value: transformers.current.transformIn(\n transformers.current.toInput(valueRef.current)\n ),\n hasError: hasVisibleError,\n isChanged: changedRef.current,\n htmlAttributes,\n setHasFocus,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n forceUpdate,\n\n /** Internal */\n dataContext,\n }\n}\n\nexport interface ReturnAdditional<Value> {\n /** Documented APIs */\n value: Value\n isChanged: boolean\n htmlAttributes: AriaAttributes | DataAttributes\n setHasFocus: (hasFocus: boolean, valueOverride?: unknown) => void\n handleFocus: () => void\n handleBlur: () => void\n handleChange: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => void\n updateValue: (value: Value) => void\n forceUpdate: () => void\n hasError?: boolean\n\n /** Internal */\n dataContext: ContextState\n fieldState: SubmitState\n}\n\nfunction resolveValidatingState(state: SubmitStateWithValidating) {\n return state === 'validating' ? 'pending' : state\n}\n"],"mappings":"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"}
@@ -8,11 +8,12 @@ import useExternalValue from './useExternalValue';
8
8
  import usePath from './usePath';
9
9
  import DataContext from '../DataContext/Context';
10
10
  export default function useValueProps(props) {
11
- var _dataContext$setValue;
11
+ var _useExternalValue, _dataContext$setValue;
12
12
  const {
13
13
  path: pathProp,
14
14
  itemPath,
15
15
  value,
16
+ defaultValue,
16
17
  transformIn = value => value,
17
18
  toInput = value => value,
18
19
  fromExternal = value => value
@@ -28,12 +29,12 @@ export default function useValueProps(props) {
28
29
  path: pathProp,
29
30
  itemPath
30
31
  });
31
- const externalValue = useExternalValue({
32
+ const externalValue = (_useExternalValue = useExternalValue({
32
33
  path,
33
34
  itemPath,
34
35
  value,
35
36
  transformers
36
- });
37
+ })) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValue;
37
38
  const dataContext = useContext(DataContext);
38
39
  dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$setValue = dataContext.setValueProps) === null || _dataContext$setValue === void 0 ? void 0 : _dataContext$setValue.call(dataContext, path, props);
39
40
  return _objectSpread(_objectSpread({}, props), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"useValueProps.js","names":["useContext","useRef","useExternalValue","usePath","DataContext","useValueProps","props","_dataContext$setValue","path","pathProp","itemPath","value","transformIn","toInput","fromExternal","transformers","externalValue","dataContext","setValueProps","call","_objectSpread","current"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import { useContext, useRef } from 'react'\nimport { ValueProps } from '../types'\nimport useExternalValue from './useExternalValue'\nimport usePath from './usePath'\nimport DataContext from '../DataContext/Context'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(props: Props): Props & ValueProps<Value> {\n const {\n path: pathProp,\n itemPath,\n value,\n transformIn = (value: Value) => value,\n toInput = (value: Value) => value,\n fromExternal = (value: Value) => value,\n } = props\n\n const transformers = useRef({\n transformIn,\n toInput,\n fromExternal,\n })\n\n const { path } = usePath({ path: pathProp, itemPath })\n\n const externalValue = useExternalValue<Value>({\n path,\n itemPath,\n value,\n transformers,\n })\n\n const dataContext = useContext(DataContext)\n dataContext?.setValueProps?.(path, props)\n\n return {\n ...props,\n value: transformers.current.transformIn(\n transformers.current.toInput(externalValue)\n ),\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAE1C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,WAAW,MAAM,wBAAwB;AAIhD,eAAe,SAASC,aAAaA,CAGnCC,KAAY,EAA6B;EAAA,IAAAC,qBAAA;EACzC,MAAM;IACJC,IAAI,EAAEC,QAAQ;IACdC,QAAQ;IACRC,KAAK;IACLC,WAAW,GAAID,KAAY,IAAKA,KAAK;IACrCE,OAAO,GAAIF,KAAY,IAAKA,KAAK;IACjCG,YAAY,GAAIH,KAAY,IAAKA;EACnC,CAAC,GAAGL,KAAK;EAET,MAAMS,YAAY,GAAGd,MAAM,CAAC;IAC1BW,WAAW;IACXC,OAAO;IACPC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEN;EAAK,CAAC,GAAGL,OAAO,CAAC;IAAEK,IAAI,EAAEC,QAAQ;IAAEC;EAAS,CAAC,CAAC;EAEtD,MAAMM,aAAa,GAAGd,gBAAgB,CAAQ;IAC5CM,IAAI;IACJE,QAAQ;IACRC,KAAK;IACLI;EACF,CAAC,CAAC;EAEF,MAAME,WAAW,GAAGjB,UAAU,CAACI,WAAW,CAAC;EAC3Ca,WAAW,aAAXA,WAAW,wBAAAV,qBAAA,GAAXU,WAAW,CAAEC,aAAa,cAAAX,qBAAA,uBAA1BA,qBAAA,CAAAY,IAAA,CAAAF,WAAW,EAAkBT,IAAI,EAAEF,KAAK,CAAC;EAEzC,OAAAc,aAAA,CAAAA,aAAA,KACKd,KAAK;IACRK,KAAK,EAAEI,YAAY,CAACM,OAAO,CAACT,WAAW,CACrCG,YAAY,CAACM,OAAO,CAACR,OAAO,CAACG,aAAa,CAC5C;EAAC;AAEL"}
1
+ {"version":3,"file":"useValueProps.js","names":["useContext","useRef","useExternalValue","usePath","DataContext","useValueProps","props","_useExternalValue","_dataContext$setValue","path","pathProp","itemPath","value","defaultValue","transformIn","toInput","fromExternal","transformers","externalValue","dataContext","setValueProps","call","_objectSpread","current"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import { useContext, useRef } from 'react'\nimport { ValueProps } from '../types'\nimport useExternalValue from './useExternalValue'\nimport usePath from './usePath'\nimport DataContext from '../DataContext/Context'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(props: Props): Props & ValueProps<Value> {\n const {\n path: pathProp,\n itemPath,\n value,\n defaultValue,\n transformIn = (value: Value) => value,\n toInput = (value: Value) => value,\n fromExternal = (value: Value) => value,\n } = props\n\n const transformers = useRef({\n transformIn,\n toInput,\n fromExternal,\n })\n\n const { path } = usePath({ path: pathProp, itemPath })\n\n const externalValue =\n useExternalValue<Value>({\n path,\n itemPath,\n value,\n transformers,\n }) ?? defaultValue\n\n const dataContext = useContext(DataContext)\n dataContext?.setValueProps?.(path, props)\n\n return {\n ...props,\n value: transformers.current.transformIn(\n transformers.current.toInput(externalValue)\n ),\n }\n}\n"],"mappings":";;;;;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAE1C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,WAAW,MAAM,wBAAwB;AAIhD,eAAe,SAASC,aAAaA,CAGnCC,KAAY,EAA6B;EAAA,IAAAC,iBAAA,EAAAC,qBAAA;EACzC,MAAM;IACJC,IAAI,EAAEC,QAAQ;IACdC,QAAQ;IACRC,KAAK;IACLC,YAAY;IACZC,WAAW,GAAIF,KAAY,IAAKA,KAAK;IACrCG,OAAO,GAAIH,KAAY,IAAKA,KAAK;IACjCI,YAAY,GAAIJ,KAAY,IAAKA;EACnC,CAAC,GAAGN,KAAK;EAET,MAAMW,YAAY,GAAGhB,MAAM,CAAC;IAC1Ba,WAAW;IACXC,OAAO;IACPC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEP;EAAK,CAAC,GAAGN,OAAO,CAAC;IAAEM,IAAI,EAAEC,QAAQ;IAAEC;EAAS,CAAC,CAAC;EAEtD,MAAMO,aAAa,IAAAX,iBAAA,GACjBL,gBAAgB,CAAQ;IACtBO,IAAI;IACJE,QAAQ;IACRC,KAAK;IACLK;EACF,CAAC,CAAC,cAAAV,iBAAA,cAAAA,iBAAA,GAAIM,YAAY;EAEpB,MAAMM,WAAW,GAAGnB,UAAU,CAACI,WAAW,CAAC;EAC3Ce,WAAW,aAAXA,WAAW,wBAAAX,qBAAA,GAAXW,WAAW,CAAEC,aAAa,cAAAZ,qBAAA,uBAA1BA,qBAAA,CAAAa,IAAA,CAAAF,WAAW,EAAkBV,IAAI,EAAEH,KAAK,CAAC;EAEzC,OAAAgB,aAAA,CAAAA,aAAA,KACKhB,KAAK;IACRM,KAAK,EAAEK,YAAY,CAACM,OAAO,CAACT,WAAW,CACrCG,YAAY,CAACM,OAAO,CAACR,OAAO,CAACG,aAAa,CAC5C;EAAC;AAEL"}
@@ -159,6 +159,16 @@ html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-control
159
159
  .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after {
160
160
  width: var(--number-control-button-width--large);
161
161
  }
162
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch {
163
+ /* stylelint-disable-next-line no-descending-specificity */
164
+ }
165
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before,
166
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after {
167
+ width: var(--number-control-button-width--large);
168
+ }
169
+ .dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border {
170
+ flex-grow: 1;
171
+ }
162
172
 
163
173
  .dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button {
164
174
  color: var(--color-fire-red);
@@ -321,6 +331,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
321
331
  .dnb-forms-field-block__contents__composition--horizontal {
322
332
  align-items: flex-end;
323
333
  }
334
+ .dnb-forms-field-block__contents__composition--horizontal[class*=align-center] {
335
+ align-items: center;
336
+ }
324
337
  }
325
338
  @media screen and (max-width: 25em) {
326
339
  .dnb-forms-field-block__contents__composition--horizontal {
@@ -503,7 +516,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
503
516
  transition: transform 400ms var(--easing-default) 50ms, box-shadow 0.8s var(--easing-default);
504
517
  transform: translateY(-2.5rem);
505
518
  }
506
- .dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]) {
519
+ .dnb-forms-iterate-block--variant-basic .dnb-forms-iterate-block__inner, .dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]) {
507
520
  --padding: 0;
508
521
  }
509
522
  .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
@@ -645,7 +658,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
645
658
  justify-content: stretch;
646
659
  align-items: stretch;
647
660
  }
648
- .dnb-forms-wizard-layout__sidebar {
661
+ .dnb-forms-wizard-layout__indicator {
649
662
  flex: 0;
650
663
  margin-bottom: 2rem;
651
664
  }