@dnb/eufemia 10.50.0 → 10.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  3. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  4. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  5. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  6. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  7. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  8. package/cjs/components/button/Button.d.ts +2 -2
  9. package/cjs/components/card/style/dnb-card.css +1 -1
  10. package/cjs/components/card/style/dnb-card.min.css +1 -1
  11. package/cjs/components/date-picker/DatePicker.d.ts +13 -4
  12. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  13. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  14. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  15. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  16. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  17. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  18. package/cjs/components/form-status/FormStatus.d.ts +1 -1
  19. package/cjs/components/grid/style/dnb-grid.css +6 -6
  20. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  21. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  22. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  23. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  24. package/cjs/components/number-format/NumberFormat.d.ts +14 -28
  25. package/cjs/components/number-format/NumberFormat.js +6 -2
  26. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  27. package/cjs/components/number-format/NumberFormatDocs.d.ts +3 -0
  28. package/cjs/components/number-format/NumberFormatDocs.js +161 -0
  29. package/cjs/components/number-format/NumberFormatDocs.js.map +1 -0
  30. package/cjs/components/number-format/NumberUtils.d.ts +21 -1
  31. package/cjs/components/number-format/NumberUtils.js +33 -8
  32. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  33. package/cjs/components/pagination/Pagination.d.ts +1 -1
  34. package/cjs/components/section/style/dnb-section.css +2 -2
  35. package/cjs/components/section/style/dnb-section.min.css +2 -2
  36. package/cjs/components/space/style/dnb-space.css +2 -2
  37. package/cjs/components/space/style/dnb-space.min.css +1 -1
  38. package/cjs/components/switch/Switch.d.ts +100 -91
  39. package/cjs/components/switch/Switch.js +167 -239
  40. package/cjs/components/switch/Switch.js.map +1 -1
  41. package/cjs/components/switch/SwitchDocs.d.ts +3 -0
  42. package/cjs/components/switch/SwitchDocs.js +93 -0
  43. package/cjs/components/switch/SwitchDocs.js.map +1 -0
  44. package/cjs/components/tabs/style/dnb-tabs.css +1 -0
  45. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  46. package/cjs/components/tabs/style/dnb-tabs.scss +1 -0
  47. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  48. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  49. package/cjs/extensions/forms/DataContext/At/At.js +1 -1
  50. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
  52. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/Provider.js +105 -60
  55. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  56. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  57. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.d.ts +6 -0
  59. package/cjs/extensions/forms/Field/Date/Date.js +20 -4
  60. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  61. package/{extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → cjs/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  62. package/cjs/extensions/forms/Field/Date/DateDocs.js +20 -0
  63. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  64. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  65. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  66. package/{es/extensions/forms/Form/FieldProps/FieldProps.d.ts → cjs/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  67. package/cjs/extensions/forms/Field/Provider/FieldProvider.js +33 -0
  68. package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  69. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.d.ts → Field/Provider/FieldProviderContext.d.ts} +3 -3
  70. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.js → Field/Provider/FieldProviderContext.js} +3 -3
  71. package/cjs/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  72. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  73. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsDocs.js → Field/Provider/FieldProviderDocs.js} +4 -4
  74. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  75. package/cjs/extensions/forms/Field/Provider/index.d.ts +2 -0
  76. package/cjs/extensions/forms/{Form/FieldProps → Field/Provider}/index.js +5 -5
  77. package/cjs/extensions/forms/Field/Provider/index.js.map +1 -0
  78. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  79. package/cjs/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -34
  80. package/cjs/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  81. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  82. package/cjs/extensions/forms/Field/index.js +7 -0
  83. package/cjs/extensions/forms/Field/index.js.map +1 -1
  84. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  86. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  87. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  88. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  89. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  90. package/cjs/extensions/forms/Form/Element/Element.js +4 -4
  91. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  93. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  94. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  95. package/cjs/extensions/forms/Form/Isolation/Isolation.js +1 -1
  96. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  97. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  98. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  99. package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -1
  100. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  101. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  102. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  103. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +153 -0
  104. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  105. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  106. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +30 -0
  107. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  108. package/cjs/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  109. package/cjs/extensions/forms/Form/SubmitConfirmation/index.js +27 -0
  110. package/cjs/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  111. package/cjs/extensions/forms/Form/Visibility/Visibility.js +3 -3
  112. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  113. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  114. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  116. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  117. package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
  118. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  119. package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -2
  120. package/cjs/extensions/forms/Form/data-context/useData.js +13 -15
  121. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  122. package/{es/extensions/forms/Form/data-context/useError.d.ts → cjs/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  123. package/cjs/extensions/forms/Form/data-context/useValidation.js +60 -0
  124. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  125. package/cjs/extensions/forms/Form/index.d.ts +13 -2
  126. package/cjs/extensions/forms/Form/index.js +19 -9
  127. package/cjs/extensions/forms/Form/index.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/Array/Array.js +4 -12
  129. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/Count/Count.js +1 -1
  131. package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  133. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  134. package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  135. package/cjs/extensions/forms/Tools/GenerateSchema.js +1 -1
  136. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  137. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  138. package/cjs/extensions/forms/Tools/ListAllProps.js +1 -1
  139. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  140. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  141. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  142. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  143. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  144. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  145. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js +28 -0
  146. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  147. package/cjs/extensions/forms/Value/Date/Date.js +25 -16
  148. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  149. package/cjs/extensions/forms/Value/Number/NumberDocs.js +9 -2
  150. package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  152. package/cjs/extensions/forms/Value/Provider/ValueProvider.js +27 -0
  153. package/cjs/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  154. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  155. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js +15 -0
  156. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  157. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js +23 -0
  159. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  160. package/cjs/extensions/forms/Value/Provider/index.d.ts +2 -0
  161. package/cjs/extensions/forms/Value/Provider/index.js +27 -0
  162. package/cjs/extensions/forms/Value/Provider/index.js.map +1 -0
  163. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  164. package/cjs/extensions/forms/Value/Provider/useValueProvider.js +50 -0
  165. package/cjs/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  166. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  167. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  168. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  169. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  170. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +37 -0
  171. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  172. package/cjs/extensions/forms/Value/index.d.ts +3 -2
  173. package/cjs/extensions/forms/Value/index.js +9 -2
  174. package/cjs/extensions/forms/Value/index.js.map +1 -1
  175. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  176. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  177. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  178. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  179. package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
  180. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  181. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  182. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  183. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  184. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  185. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  186. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  187. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  188. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  189. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  190. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  191. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  192. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -1
  193. package/cjs/extensions/forms/hooks/useDataValue.js +1 -1
  194. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  195. package/cjs/extensions/forms/hooks/useExternalValue.js +1 -1
  196. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  197. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  198. package/cjs/extensions/forms/hooks/useFieldProps.js +111 -56
  199. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  200. package/cjs/extensions/forms/hooks/usePath.js +7 -4
  201. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  202. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  203. package/cjs/extensions/forms/hooks/useValueProps.js +7 -2
  204. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  205. package/cjs/extensions/forms/style/dnb-forms.css +10 -21
  206. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  207. package/cjs/extensions/forms/types.d.ts +7 -3
  208. package/cjs/extensions/forms/types.js.map +1 -1
  209. package/cjs/extensions/forms/utils/ajv.d.ts +2 -1
  210. package/cjs/extensions/forms/utils/ajv.js +1 -1
  211. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  212. package/cjs/extensions/forms/utils/index.d.ts +1 -0
  213. package/cjs/extensions/forms/utils/index.js +12 -0
  214. package/cjs/extensions/forms/utils/index.js.map +1 -1
  215. package/cjs/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  216. package/cjs/extensions/forms/utils/json-pointer/export.js +17 -0
  217. package/cjs/extensions/forms/utils/json-pointer/export.js.map +1 -0
  218. package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  219. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +139 -0
  220. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  221. package/cjs/extensions/forms/utils/json-pointer.d.ts +3 -0
  222. package/cjs/extensions/forms/utils/json-pointer.js +24 -0
  223. package/cjs/extensions/forms/utils/json-pointer.js.map +1 -0
  224. package/cjs/shared/Context.d.ts +2 -0
  225. package/cjs/shared/Context.js +1 -1
  226. package/cjs/shared/Context.js.map +1 -1
  227. package/cjs/shared/Eufemia.d.ts +1 -1
  228. package/cjs/shared/Eufemia.js +2 -2
  229. package/cjs/shared/Eufemia.js.map +1 -1
  230. package/cjs/shared/MediaQueryUtils.d.ts +0 -1
  231. package/cjs/shared/MediaQueryUtils.js +17 -14
  232. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  233. package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
  234. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  235. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  236. package/cjs/style/core/scopes.scss +1 -1
  237. package/cjs/style/core/utilities.scss +10 -5
  238. package/cjs/style/dnb-ui-basis.css +1 -1
  239. package/cjs/style/dnb-ui-basis.min.css +1 -1
  240. package/cjs/style/dnb-ui-body.css +1 -1
  241. package/cjs/style/dnb-ui-body.min.css +1 -1
  242. package/cjs/style/dnb-ui-components.css +35 -45
  243. package/cjs/style/dnb-ui-components.min.css +5 -5
  244. package/cjs/style/dnb-ui-core.css +1 -1
  245. package/cjs/style/dnb-ui-core.min.css +1 -1
  246. package/cjs/style/dnb-ui-elements.css +1 -1
  247. package/cjs/style/dnb-ui-elements.min.css +1 -1
  248. package/cjs/style/dnb-ui-extensions.css +10 -21
  249. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  250. package/cjs/style/dnb-ui-forms.css +10 -21
  251. package/cjs/style/dnb-ui-forms.min.css +1 -1
  252. package/cjs/style/dnb-ui-forms.scss +0 -1
  253. package/cjs/style/dnb-ui-fragments.css +2 -2
  254. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  261. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  263. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  264. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  267. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  268. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  269. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  270. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  271. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  272. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  273. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  274. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  275. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  276. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-components.css +46 -67
  278. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  279. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  280. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  281. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  282. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  283. package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -21
  284. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  285. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  286. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  287. package/components/accordion/style/dnb-accordion.css +3 -3
  288. package/components/accordion/style/dnb-accordion.min.css +1 -1
  289. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  290. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  291. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  292. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  293. package/components/button/Button.d.ts +2 -2
  294. package/components/card/style/dnb-card.css +1 -1
  295. package/components/card/style/dnb-card.min.css +1 -1
  296. package/components/date-picker/DatePicker.d.ts +13 -4
  297. package/components/drawer/style/dnb-drawer.css +3 -3
  298. package/components/drawer/style/dnb-drawer.min.css +1 -1
  299. package/components/dropdown/style/dnb-dropdown.css +1 -1
  300. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  301. package/components/form-row/style/dnb-form-row.css +1 -1
  302. package/components/form-row/style/dnb-form-row.min.css +1 -1
  303. package/components/form-status/FormStatus.d.ts +1 -1
  304. package/components/grid/style/dnb-grid.css +6 -6
  305. package/components/grid/style/dnb-grid.min.css +1 -1
  306. package/components/input-masked/InputMasked.d.ts +1 -1
  307. package/components/input-masked/InputMaskedDocs.js +1 -1
  308. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  309. package/components/number-format/NumberFormat.d.ts +14 -28
  310. package/components/number-format/NumberFormat.js +6 -2
  311. package/components/number-format/NumberFormat.js.map +1 -1
  312. package/components/number-format/NumberFormatDocs.d.ts +3 -0
  313. package/components/number-format/NumberFormatDocs.js +153 -0
  314. package/components/number-format/NumberFormatDocs.js.map +1 -0
  315. package/components/number-format/NumberUtils.d.ts +21 -1
  316. package/components/number-format/NumberUtils.js +32 -8
  317. package/components/number-format/NumberUtils.js.map +1 -1
  318. package/components/pagination/Pagination.d.ts +1 -1
  319. package/components/section/style/dnb-section.css +2 -2
  320. package/components/section/style/dnb-section.min.css +2 -2
  321. package/components/space/style/dnb-space.css +2 -2
  322. package/components/space/style/dnb-space.min.css +1 -1
  323. package/components/switch/Switch.d.ts +100 -91
  324. package/components/switch/Switch.js +165 -238
  325. package/components/switch/Switch.js.map +1 -1
  326. package/components/switch/SwitchDocs.d.ts +3 -0
  327. package/components/switch/SwitchDocs.js +85 -0
  328. package/components/switch/SwitchDocs.js.map +1 -0
  329. package/components/tabs/style/dnb-tabs.css +1 -0
  330. package/components/tabs/style/dnb-tabs.min.css +1 -1
  331. package/components/tabs/style/dnb-tabs.scss +1 -0
  332. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  333. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  334. package/es/components/accordion/style/dnb-accordion.css +3 -3
  335. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  336. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  337. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  338. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  339. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  340. package/es/components/button/Button.d.ts +2 -2
  341. package/es/components/card/style/dnb-card.css +1 -1
  342. package/es/components/card/style/dnb-card.min.css +1 -1
  343. package/es/components/date-picker/DatePicker.d.ts +13 -4
  344. package/es/components/drawer/style/dnb-drawer.css +3 -3
  345. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  346. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  347. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  348. package/es/components/form-row/style/dnb-form-row.css +1 -1
  349. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  350. package/es/components/form-status/FormStatus.d.ts +1 -1
  351. package/es/components/grid/style/dnb-grid.css +6 -6
  352. package/es/components/grid/style/dnb-grid.min.css +1 -1
  353. package/es/components/input-masked/InputMasked.d.ts +1 -1
  354. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  355. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  356. package/es/components/number-format/NumberFormat.d.ts +14 -28
  357. package/es/components/number-format/NumberFormat.js +6 -2
  358. package/es/components/number-format/NumberFormat.js.map +1 -1
  359. package/es/components/number-format/NumberFormatDocs.d.ts +3 -0
  360. package/es/components/number-format/NumberFormatDocs.js +150 -0
  361. package/es/components/number-format/NumberFormatDocs.js.map +1 -0
  362. package/es/components/number-format/NumberUtils.d.ts +21 -1
  363. package/es/components/number-format/NumberUtils.js +31 -7
  364. package/es/components/number-format/NumberUtils.js.map +1 -1
  365. package/es/components/pagination/Pagination.d.ts +1 -1
  366. package/es/components/section/style/dnb-section.css +2 -2
  367. package/es/components/section/style/dnb-section.min.css +2 -2
  368. package/es/components/space/style/dnb-space.css +2 -2
  369. package/es/components/space/style/dnb-space.min.css +1 -1
  370. package/es/components/switch/Switch.d.ts +100 -91
  371. package/es/components/switch/Switch.js +164 -238
  372. package/es/components/switch/Switch.js.map +1 -1
  373. package/es/components/switch/SwitchDocs.d.ts +3 -0
  374. package/es/components/switch/SwitchDocs.js +85 -0
  375. package/es/components/switch/SwitchDocs.js.map +1 -0
  376. package/es/components/tabs/style/dnb-tabs.css +1 -0
  377. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  378. package/es/components/tabs/style/dnb-tabs.scss +1 -0
  379. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  380. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  381. package/es/extensions/forms/DataContext/At/At.js +1 -1
  382. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  383. package/es/extensions/forms/DataContext/Context.d.ts +20 -9
  384. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  385. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  386. package/es/extensions/forms/DataContext/Provider/Provider.js +100 -58
  387. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  388. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  389. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  390. package/es/extensions/forms/Field/Date/Date.d.ts +6 -0
  391. package/es/extensions/forms/Field/Date/Date.js +20 -4
  392. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  393. package/{cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → es/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  394. package/es/extensions/forms/Field/Date/DateDocs.js +13 -0
  395. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  396. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  397. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  398. package/{extensions/forms/Form/FieldProps/FieldProps.d.ts → es/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  399. package/es/extensions/forms/Field/Provider/FieldProvider.js +24 -0
  400. package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  401. package/{extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → es/extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
  402. package/es/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
  403. package/es/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  404. package/es/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  405. package/{extensions/forms/Form/FieldProps/FieldPropsDocs.js → es/extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
  406. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  407. package/es/extensions/forms/Field/Provider/index.d.ts +2 -0
  408. package/es/extensions/forms/Field/Provider/index.js +3 -0
  409. package/es/extensions/forms/Field/Provider/index.js.map +1 -0
  410. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  411. package/es/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
  412. package/es/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  413. package/es/extensions/forms/Field/index.d.ts +1 -0
  414. package/es/extensions/forms/Field/index.js +1 -0
  415. package/es/extensions/forms/Field/index.js.map +1 -1
  416. package/es/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  417. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  418. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  419. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  420. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  421. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  422. package/es/extensions/forms/Form/Element/Element.js +4 -4
  423. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  424. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  425. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  426. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  427. package/es/extensions/forms/Form/Isolation/Isolation.js +1 -1
  428. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  429. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  430. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  431. package/es/extensions/forms/Form/Section/Section.d.ts +2 -1
  432. package/es/extensions/forms/Form/Section/Section.js +1 -1
  433. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  434. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  435. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +140 -0
  436. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  437. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  438. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
  439. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  440. package/es/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  441. package/es/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
  442. package/es/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  443. package/es/extensions/forms/Form/Visibility/Visibility.js +3 -3
  444. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  445. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  446. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  447. package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  448. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  449. package/es/extensions/forms/Form/data-context/getData.js +1 -1
  450. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  451. package/es/extensions/forms/Form/data-context/useData.d.ts +3 -2
  452. package/es/extensions/forms/Form/data-context/useData.js +13 -15
  453. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  454. package/{extensions/forms/Form/data-context/useError.d.ts → es/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  455. package/es/extensions/forms/Form/data-context/useValidation.js +52 -0
  456. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  457. package/es/extensions/forms/Form/index.d.ts +13 -2
  458. package/es/extensions/forms/Form/index.js +5 -2
  459. package/es/extensions/forms/Form/index.js.map +1 -1
  460. package/es/extensions/forms/Iterate/Array/Array.js +4 -12
  461. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  462. package/es/extensions/forms/Iterate/Count/Count.js +1 -1
  463. package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
  464. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  465. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  466. package/es/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  467. package/es/extensions/forms/Tools/GenerateSchema.js +1 -1
  468. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  469. package/es/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  470. package/es/extensions/forms/Tools/ListAllProps.js +1 -1
  471. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  472. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  473. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  474. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  475. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  476. package/es/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  477. package/es/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
  478. package/es/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  479. package/es/extensions/forms/Value/Date/Date.js +25 -16
  480. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  481. package/es/extensions/forms/Value/Number/NumberDocs.js +7 -2
  482. package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  483. package/es/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  484. package/es/extensions/forms/Value/Provider/ValueProvider.js +18 -0
  485. package/es/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  486. package/es/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  487. package/es/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
  488. package/es/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  489. package/es/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  490. package/es/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
  491. package/es/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  492. package/es/extensions/forms/Value/Provider/index.d.ts +2 -0
  493. package/es/extensions/forms/Value/Provider/index.js +3 -0
  494. package/es/extensions/forms/Value/Provider/index.js.map +1 -0
  495. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  496. package/es/extensions/forms/Value/Provider/useValueProvider.js +40 -0
  497. package/es/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  498. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  499. package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  500. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  501. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  502. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
  503. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  504. package/es/extensions/forms/Value/index.d.ts +3 -2
  505. package/es/extensions/forms/Value/index.js +3 -2
  506. package/es/extensions/forms/Value/index.js.map +1 -1
  507. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  508. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  509. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  510. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  511. package/es/extensions/forms/Wizard/Step/Step.js +2 -2
  512. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  513. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  514. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  515. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  516. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  517. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  518. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  519. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  520. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  521. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  522. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  523. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  524. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.js +1 -1
  526. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  527. package/es/extensions/forms/hooks/useExternalValue.js +1 -1
  528. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  529. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  530. package/es/extensions/forms/hooks/useFieldProps.js +111 -56
  531. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  532. package/es/extensions/forms/hooks/usePath.js +7 -4
  533. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  534. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  535. package/es/extensions/forms/hooks/useValueProps.js +7 -2
  536. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  537. package/es/extensions/forms/style/dnb-forms.css +10 -21
  538. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  539. package/es/extensions/forms/types.d.ts +7 -3
  540. package/es/extensions/forms/types.js.map +1 -1
  541. package/es/extensions/forms/utils/ajv.d.ts +2 -1
  542. package/es/extensions/forms/utils/ajv.js +1 -1
  543. package/es/extensions/forms/utils/ajv.js.map +1 -1
  544. package/es/extensions/forms/utils/index.d.ts +1 -0
  545. package/es/extensions/forms/utils/index.js +1 -0
  546. package/es/extensions/forms/utils/index.js.map +1 -1
  547. package/es/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  548. package/es/extensions/forms/utils/json-pointer/export.js +1 -0
  549. package/es/extensions/forms/utils/json-pointer/export.js.map +1 -0
  550. package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  551. package/es/extensions/forms/utils/json-pointer/json-pointer.js +122 -0
  552. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  553. package/es/extensions/forms/utils/json-pointer.d.ts +3 -0
  554. package/es/extensions/forms/utils/json-pointer.js +4 -0
  555. package/es/extensions/forms/utils/json-pointer.js.map +1 -0
  556. package/es/shared/Context.d.ts +2 -0
  557. package/es/shared/Context.js +1 -1
  558. package/es/shared/Context.js.map +1 -1
  559. package/es/shared/Eufemia.d.ts +1 -1
  560. package/es/shared/Eufemia.js +2 -2
  561. package/es/shared/Eufemia.js.map +1 -1
  562. package/es/shared/MediaQueryUtils.d.ts +0 -1
  563. package/es/shared/MediaQueryUtils.js +17 -14
  564. package/es/shared/MediaQueryUtils.js.map +1 -1
  565. package/es/shared/helpers/extendPropsWithContext.js +3 -3
  566. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  567. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  568. package/es/style/core/scopes.scss +1 -1
  569. package/es/style/core/utilities.scss +10 -5
  570. package/es/style/dnb-ui-basis.css +1 -1
  571. package/es/style/dnb-ui-basis.min.css +1 -1
  572. package/es/style/dnb-ui-body.css +1 -1
  573. package/es/style/dnb-ui-body.min.css +1 -1
  574. package/es/style/dnb-ui-components.css +35 -45
  575. package/es/style/dnb-ui-components.min.css +5 -5
  576. package/es/style/dnb-ui-core.css +1 -1
  577. package/es/style/dnb-ui-core.min.css +1 -1
  578. package/es/style/dnb-ui-elements.css +1 -1
  579. package/es/style/dnb-ui-elements.min.css +1 -1
  580. package/es/style/dnb-ui-extensions.css +10 -21
  581. package/es/style/dnb-ui-extensions.min.css +1 -1
  582. package/es/style/dnb-ui-forms.css +10 -21
  583. package/es/style/dnb-ui-forms.min.css +1 -1
  584. package/es/style/dnb-ui-forms.scss +0 -1
  585. package/es/style/dnb-ui-fragments.css +2 -2
  586. package/es/style/dnb-ui-fragments.min.css +1 -1
  587. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  588. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  589. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  590. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  591. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  592. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  593. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  594. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  595. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  596. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  597. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  598. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  599. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  600. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  601. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  602. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  603. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  604. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  605. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  606. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  607. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  608. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  609. package/es/style/themes/theme-ui/ui-theme-components.css +46 -67
  610. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  611. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  612. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  613. package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  614. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  615. package/es/style/themes/theme-ui/ui-theme-forms.css +10 -21
  616. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  617. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  618. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  619. package/esm/dnb-ui-basis.min.mjs +1 -1
  620. package/esm/dnb-ui-components.min.mjs +1 -1
  621. package/esm/dnb-ui-elements.min.mjs +1 -1
  622. package/esm/dnb-ui-extensions.min.mjs +5 -5
  623. package/esm/dnb-ui-lib.min.mjs +1 -1
  624. package/extensions/forms/DataContext/At/At.js +1 -1
  625. package/extensions/forms/DataContext/At/At.js.map +1 -1
  626. package/extensions/forms/DataContext/Context.d.ts +20 -9
  627. package/extensions/forms/DataContext/Context.js.map +1 -1
  628. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  629. package/extensions/forms/DataContext/Provider/Provider.js +104 -59
  630. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  631. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  632. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  633. package/extensions/forms/Field/Date/Date.d.ts +6 -0
  634. package/extensions/forms/Field/Date/Date.js +20 -4
  635. package/extensions/forms/Field/Date/Date.js.map +1 -1
  636. package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  637. package/extensions/forms/Field/Date/DateDocs.js +13 -0
  638. package/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  639. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  640. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  641. package/{cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts → extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  642. package/extensions/forms/Field/Provider/FieldProvider.js +24 -0
  643. package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  644. package/{es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
  645. package/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
  646. package/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  647. package/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  648. package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.js → extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
  649. package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  650. package/extensions/forms/Field/Provider/index.d.ts +2 -0
  651. package/extensions/forms/Field/Provider/index.js +3 -0
  652. package/extensions/forms/Field/Provider/index.js.map +1 -0
  653. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  654. package/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
  655. package/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  656. package/extensions/forms/Field/index.d.ts +1 -0
  657. package/extensions/forms/Field/index.js +1 -0
  658. package/extensions/forms/Field/index.js.map +1 -1
  659. package/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  660. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  661. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  662. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  663. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  664. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  665. package/extensions/forms/Form/Element/Element.js +4 -4
  666. package/extensions/forms/Form/Element/Element.js.map +1 -1
  667. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  668. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  669. package/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  670. package/extensions/forms/Form/Isolation/Isolation.js +1 -1
  671. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  672. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  673. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  674. package/extensions/forms/Form/Section/Section.d.ts +2 -1
  675. package/extensions/forms/Form/Section/Section.js +1 -1
  676. package/extensions/forms/Form/Section/Section.js.map +1 -1
  677. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  678. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +142 -0
  679. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  680. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  681. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
  682. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  683. package/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  684. package/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
  685. package/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  686. package/extensions/forms/Form/Visibility/Visibility.js +3 -3
  687. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  688. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  689. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  690. package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  691. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  692. package/extensions/forms/Form/data-context/getData.js +1 -1
  693. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  694. package/extensions/forms/Form/data-context/useData.d.ts +3 -2
  695. package/extensions/forms/Form/data-context/useData.js +13 -15
  696. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  697. package/{cjs/extensions/forms/Form/data-context/useError.d.ts → extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  698. package/extensions/forms/Form/data-context/useValidation.js +54 -0
  699. package/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  700. package/extensions/forms/Form/index.d.ts +13 -2
  701. package/extensions/forms/Form/index.js +5 -2
  702. package/extensions/forms/Form/index.js.map +1 -1
  703. package/extensions/forms/Iterate/Array/Array.js +4 -12
  704. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  705. package/extensions/forms/Iterate/Count/Count.js +1 -1
  706. package/extensions/forms/Iterate/Count/Count.js.map +1 -1
  707. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  708. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  709. package/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  710. package/extensions/forms/Tools/GenerateSchema.js +1 -1
  711. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  712. package/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  713. package/extensions/forms/Tools/ListAllProps.js +1 -1
  714. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  715. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  716. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  717. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  718. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  719. package/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  720. package/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
  721. package/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  722. package/extensions/forms/Value/Date/Date.js +25 -16
  723. package/extensions/forms/Value/Date/Date.js.map +1 -1
  724. package/extensions/forms/Value/Number/NumberDocs.js +7 -2
  725. package/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  726. package/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  727. package/extensions/forms/Value/Provider/ValueProvider.js +18 -0
  728. package/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  729. package/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  730. package/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
  731. package/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  732. package/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  733. package/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
  734. package/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  735. package/extensions/forms/Value/Provider/index.d.ts +2 -0
  736. package/extensions/forms/Value/Provider/index.js +3 -0
  737. package/extensions/forms/Value/Provider/index.js.map +1 -0
  738. package/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  739. package/extensions/forms/Value/Provider/useValueProvider.js +40 -0
  740. package/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  741. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  742. package/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  743. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  744. package/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  745. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
  746. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  747. package/extensions/forms/Value/index.d.ts +3 -2
  748. package/extensions/forms/Value/index.js +3 -2
  749. package/extensions/forms/Value/index.js.map +1 -1
  750. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  751. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  752. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  753. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  754. package/extensions/forms/Wizard/Step/Step.js +2 -2
  755. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  756. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  757. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  758. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  759. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  760. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  761. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  762. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  763. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  764. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  765. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  766. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  767. package/extensions/forms/hooks/useDataValue.d.ts +1 -1
  768. package/extensions/forms/hooks/useDataValue.js +1 -1
  769. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  770. package/extensions/forms/hooks/useExternalValue.js +1 -1
  771. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  772. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  773. package/extensions/forms/hooks/useFieldProps.js +111 -56
  774. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  775. package/extensions/forms/hooks/usePath.js +7 -4
  776. package/extensions/forms/hooks/usePath.js.map +1 -1
  777. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  778. package/extensions/forms/hooks/useValueProps.js +7 -2
  779. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  780. package/extensions/forms/style/dnb-forms.css +10 -21
  781. package/extensions/forms/style/dnb-forms.min.css +1 -1
  782. package/extensions/forms/types.d.ts +7 -3
  783. package/extensions/forms/types.js.map +1 -1
  784. package/extensions/forms/utils/ajv.d.ts +2 -1
  785. package/extensions/forms/utils/ajv.js +1 -1
  786. package/extensions/forms/utils/ajv.js.map +1 -1
  787. package/extensions/forms/utils/index.d.ts +1 -0
  788. package/extensions/forms/utils/index.js +1 -0
  789. package/extensions/forms/utils/index.js.map +1 -1
  790. package/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  791. package/extensions/forms/utils/json-pointer/export.js +1 -0
  792. package/extensions/forms/utils/json-pointer/export.js.map +1 -0
  793. package/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  794. package/extensions/forms/utils/json-pointer/json-pointer.js +124 -0
  795. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  796. package/extensions/forms/utils/json-pointer.d.ts +3 -0
  797. package/extensions/forms/utils/json-pointer.js +4 -0
  798. package/extensions/forms/utils/json-pointer.js.map +1 -0
  799. package/package.json +1 -2
  800. package/shared/Context.d.ts +2 -0
  801. package/shared/Context.js +1 -1
  802. package/shared/Context.js.map +1 -1
  803. package/shared/Eufemia.d.ts +1 -1
  804. package/shared/Eufemia.js +2 -2
  805. package/shared/Eufemia.js.map +1 -1
  806. package/shared/MediaQueryUtils.d.ts +0 -1
  807. package/shared/MediaQueryUtils.js +17 -14
  808. package/shared/MediaQueryUtils.js.map +1 -1
  809. package/shared/helpers/extendPropsWithContext.js +3 -3
  810. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  811. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  812. package/style/core/scopes.scss +1 -1
  813. package/style/core/utilities.scss +10 -5
  814. package/style/dnb-ui-basis.css +1 -1
  815. package/style/dnb-ui-basis.min.css +1 -1
  816. package/style/dnb-ui-body.css +1 -1
  817. package/style/dnb-ui-body.min.css +1 -1
  818. package/style/dnb-ui-components.css +35 -45
  819. package/style/dnb-ui-components.min.css +5 -5
  820. package/style/dnb-ui-core.css +1 -1
  821. package/style/dnb-ui-core.min.css +1 -1
  822. package/style/dnb-ui-elements.css +1 -1
  823. package/style/dnb-ui-elements.min.css +1 -1
  824. package/style/dnb-ui-extensions.css +10 -21
  825. package/style/dnb-ui-extensions.min.css +1 -1
  826. package/style/dnb-ui-forms.css +10 -21
  827. package/style/dnb-ui-forms.min.css +1 -1
  828. package/style/dnb-ui-forms.scss +0 -1
  829. package/style/dnb-ui-fragments.css +2 -2
  830. package/style/dnb-ui-fragments.min.css +1 -1
  831. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  832. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  833. package/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  834. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  835. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  836. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  837. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  838. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  839. package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  840. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  841. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  842. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  843. package/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  844. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  845. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  846. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  847. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  848. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  849. package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  850. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  851. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  852. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  853. package/style/themes/theme-ui/ui-theme-components.css +46 -67
  854. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  855. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  856. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  857. package/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  858. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  859. package/style/themes/theme-ui/ui-theme-forms.css +10 -21
  860. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  861. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  862. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  863. package/umd/dnb-ui-basis.min.js +1 -1
  864. package/umd/dnb-ui-components.min.js +1 -1
  865. package/umd/dnb-ui-elements.min.js +1 -1
  866. package/umd/dnb-ui-extensions.min.js +5 -5
  867. package/umd/dnb-ui-lib.min.js +1 -1
  868. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  869. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  870. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  871. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  872. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  873. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  874. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  875. package/cjs/extensions/forms/Form/FieldProps/index.js.map +0 -1
  876. package/cjs/extensions/forms/Form/data-context/useError.js +0 -33
  877. package/cjs/extensions/forms/Form/data-context/useError.js.map +0 -1
  878. package/es/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  879. package/es/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  880. package/es/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  881. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  882. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
  883. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  884. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  885. package/es/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  886. package/es/extensions/forms/Form/FieldProps/index.js +0 -3
  887. package/es/extensions/forms/Form/FieldProps/index.js.map +0 -1
  888. package/es/extensions/forms/Form/data-context/useError.js +0 -26
  889. package/es/extensions/forms/Form/data-context/useError.js.map +0 -1
  890. package/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  891. package/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  892. package/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  893. package/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  894. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
  895. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  896. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  897. package/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  898. package/extensions/forms/Form/FieldProps/index.js +0 -3
  899. package/extensions/forms/Form/FieldProps/index.js.map +0 -1
  900. package/extensions/forms/Form/data-context/useError.js +0 -27
  901. package/extensions/forms/Form/data-context/useError.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"usePath.js","names":["_react","require","_useId","_interopRequireDefault","_SectionContext","_IterateItemContext","obj","__esModule","default","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","useId","sectionPath","useContext","SectionContext","iteratePathProp","index","iterateElementIndex","IterateElementContext","startsWith","Error","joinPath","useCallback","paths","reduce","acc","cur","replace","makeSectionPath","makeIteratePath","iteratePath","root","useMemo","makePath","identifier"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateElementContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateElementContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const joinPath = useCallback((paths: Array<Path>) => {\n return paths\n .reduce((acc, cur) => (cur ? `${acc}/${cur}` : acc), '/')\n .replace(/\\/{2,}/g, '/')\n .replace(/\\/+$/, '')\n }, [])\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n return `${\n sectionPath && sectionPath !== '/' ? sectionPath : ''\n }${path}`.replace(/\\/$/, '')\n },\n [sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp\n ) => {\n let root = ''\n\n if (sectionPath) {\n root = makeSectionPath('')\n }\n\n return `${root}${iteratePath || ''}/${iterateElementIndex}${\n itemPath && itemPath !== '/' ? itemPath : ''\n }`\n },\n [\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n itemPathProp,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n joinPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"usePath.js","names":["_react","require","_useId","_interopRequireDefault","_SectionContext","_IterateItemContext","obj","__esModule","default","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","useId","sectionPath","useContext","SectionContext","iteratePathProp","index","iterateElementIndex","IterateElementContext","startsWith","Error","joinPath","useCallback","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","useMemo","makePath","identifier","replace"],"sources":["../../../../../src/extensions/forms/hooks/usePath.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport { Path } from '../types'\nimport useId from '../../../shared/helpers/useId'\nimport SectionContext from '../Form/Section/SectionContext'\nimport IterateElementContext from '../Iterate/IterateItemContext'\n\nexport type Props = {\n id?: string\n path?: Path\n itemPath?: Path\n}\n\nexport default function usePath(props: Props = {}) {\n const { path: pathProp, itemPath: itemPathProp } = props\n const id = useId(props.id)\n const { path: sectionPath } = useContext(SectionContext) ?? {}\n const { path: iteratePathProp, index: iterateElementIndex } =\n useContext(IterateElementContext) ?? {}\n\n if (pathProp && !pathProp.startsWith('/')) {\n throw new Error(`path=\"${pathProp}\" must start with a slash`)\n }\n if (itemPathProp && !itemPathProp.startsWith('/')) {\n throw new Error(`itemPath=\"${itemPathProp}\" must start with a slash`)\n }\n\n const joinPath = useCallback((paths: Array<Path>) => {\n return cleanPath(\n paths.reduce((acc, cur) => (cur ? `${acc}/${cur}` : acc), '/')\n )\n }, [])\n\n const makeSectionPath = useCallback(\n (path: Path) => {\n return cleanPath(\n `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`\n )\n },\n [sectionPath]\n )\n\n const makeIteratePath = useCallback(\n (\n itemPath: Path = itemPathProp,\n iteratePath: Path = iteratePathProp\n ) => {\n let root = ''\n\n if (sectionPath) {\n root = makeSectionPath('')\n }\n\n return cleanPath(\n `${root}${iteratePath || ''}/${iterateElementIndex}${\n itemPath || ''\n }`\n )\n },\n [\n itemPathProp,\n iteratePathProp,\n sectionPath,\n iterateElementIndex,\n makeSectionPath,\n ]\n )\n\n const itemPath = useMemo(() => {\n if (itemPathProp) {\n return makeIteratePath()\n }\n }, [itemPathProp, makeIteratePath])\n\n const makePath = useCallback(\n (path: Path) => {\n if (itemPathProp) {\n return itemPath\n }\n\n if (sectionPath) {\n return makeSectionPath(path)\n }\n\n // Identifier is used is registries of multiple fields, like in the DataContext keeping track of errors\n return path\n },\n [itemPathProp, sectionPath, itemPath, makeSectionPath]\n )\n\n const path = useMemo(() => {\n return makePath(pathProp)\n }, [makePath, pathProp])\n\n const identifier = path ?? id\n return {\n identifier,\n path,\n itemPath,\n joinPath,\n makePath,\n makeIteratePath,\n makeSectionPath,\n }\n}\n\n// Will remove duplicate slashes and trailing slashes\n// /foo///bar/// => /foo/bar\nfunction cleanPath(path: Path) {\n return path.replace(/\\/+$|\\/(\\/)+/g, '$1')\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { ValueProps } from '../types';
2
2
  export type Props<Value> = ValueProps<Value>;
3
- export default function useValueProps<Value = unknown, Props extends ValueProps<Value> = ValueProps<Value>>(props: Props): Props & ValueProps<Value>;
3
+ export default function useValueProps<Value = unknown, Props extends ValueProps<Value> = ValueProps<Value>>(localeProps: Props): Props & ValueProps<Value>;
@@ -9,22 +9,27 @@ var _react = require("react");
9
9
  var _useExternalValue2 = _interopRequireDefault(require("./useExternalValue"));
10
10
  var _usePath = _interopRequireDefault(require("./usePath"));
11
11
  var _Context = _interopRequireDefault(require("../DataContext/Context"));
12
+ var _ValueProviderContext = _interopRequireDefault(require("../Value/Provider/ValueProviderContext"));
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
16
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
17
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
18
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
- function useValueProps(props) {
19
+ function useValueProps(localeProps) {
19
20
  var _useExternalValue, _props$label, _fieldPropsRef$curren, _fieldPropsRef$curren2;
20
21
  const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
22
+ const {
23
+ extend
24
+ } = (0, _react.useContext)(_ValueProviderContext.default);
25
+ const props = extend(localeProps);
21
26
  const {
22
27
  path: pathProp,
23
28
  value: valueProp,
24
29
  itemPath,
25
30
  defaultValue,
26
- inheritLabel,
27
31
  inheritVisibility,
32
+ inheritLabel,
28
33
  transformIn = value => value,
29
34
  toInput = value => value,
30
35
  fromExternal = value => value
@@ -1 +1 @@
1
- {"version":3,"file":"useValueProps.js","names":["_react","require","_useExternalValue2","_interopRequireDefault","_usePath","_Context","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useValueProps","props","_useExternalValue","_props$label","_fieldPropsRef$curren","_fieldPropsRef$curren2","forceUpdate","useReducer","path","pathProp","valueProp","itemPath","defaultValue","inheritLabel","inheritVisibility","transformIn","toInput","fromExternal","transformers","useRef","usePath","externalValue","useExternalValue","fieldPropsRef","mountedFieldsRef","setValueProps","setFieldEventListener","useContext","DataContext","useEffect","requestAnimationFrame","shouldBeVisible","useCallback","_mountedFieldsRef$cur","item","current","isVisible","isPreMounted","wasStepChange","label"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport { Path, 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 [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n path: pathProp,\n value: valueProp,\n itemPath,\n defaultValue,\n inheritLabel,\n inheritVisibility,\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: valueProp,\n transformers,\n }) ?? defaultValue\n\n const {\n fieldPropsRef,\n mountedFieldsRef,\n setValueProps,\n setFieldEventListener,\n } = useContext(DataContext) || {}\n setValueProps?.(path, props)\n\n useEffect(() => {\n if (inheritLabel || inheritVisibility) {\n setFieldEventListener?.(path, 'onMount', () => {\n // This is needed to make values, rendered before the field, to get the correct visibility state\n requestAnimationFrame(forceUpdate)\n })\n }\n }, [setFieldEventListener, path, inheritVisibility, inheritLabel])\n\n const shouldBeVisible = useCallback(\n (path: Path): boolean => {\n const item = mountedFieldsRef?.current?.[path]\n\n if (!item || !inheritVisibility) {\n return true\n }\n\n return (\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true)\n )\n },\n [inheritVisibility, mountedFieldsRef]\n )\n\n const value = shouldBeVisible(path)\n ? transformIn(toInput(externalValue))\n : undefined\n\n const label =\n props.label ??\n (inheritLabel ? fieldPropsRef?.current?.[path]?.label : undefined)\n\n return { ...props, label, value }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useValueProps.js","names":["_react","require","_useExternalValue2","_interopRequireDefault","_usePath","_Context","_ValueProviderContext","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useValueProps","localeProps","_useExternalValue","_props$label","_fieldPropsRef$curren","_fieldPropsRef$curren2","forceUpdate","useReducer","extend","useContext","ValueProviderContext","props","path","pathProp","valueProp","itemPath","defaultValue","inheritVisibility","inheritLabel","transformIn","toInput","fromExternal","transformers","useRef","usePath","externalValue","useExternalValue","fieldPropsRef","mountedFieldsRef","setValueProps","setFieldEventListener","DataContext","useEffect","requestAnimationFrame","shouldBeVisible","useCallback","_mountedFieldsRef$cur","item","current","isVisible","isPreMounted","wasStepChange","label"],"sources":["../../../../../src/extensions/forms/hooks/useValueProps.ts"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport { Path, ValueProps } from '../types'\nimport useExternalValue from './useExternalValue'\nimport usePath from './usePath'\nimport DataContext from '../DataContext/Context'\nimport ValueProviderContext from '../Value/Provider/ValueProviderContext'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(localeProps: Props): Props & ValueProps<Value> {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const { extend } = useContext(ValueProviderContext)\n const props = extend(localeProps)\n\n const {\n path: pathProp,\n value: valueProp,\n itemPath,\n defaultValue,\n inheritVisibility,\n inheritLabel,\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: valueProp,\n transformers,\n }) ?? defaultValue\n\n const {\n fieldPropsRef,\n mountedFieldsRef,\n setValueProps,\n setFieldEventListener,\n } = useContext(DataContext) || {}\n setValueProps?.(path, props)\n\n useEffect(() => {\n if (inheritLabel || inheritVisibility) {\n setFieldEventListener?.(path, 'onMount', () => {\n // This is needed to make values, rendered before the field, to get the correct visibility state\n requestAnimationFrame(forceUpdate)\n })\n }\n }, [setFieldEventListener, path, inheritVisibility, inheritLabel])\n\n const shouldBeVisible = useCallback(\n (path: Path): boolean => {\n const item = mountedFieldsRef?.current?.[path]\n\n if (!item || !inheritVisibility) {\n return true\n }\n\n return (\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true)\n )\n },\n [inheritVisibility, mountedFieldsRef]\n )\n\n const value = shouldBeVisible(path)\n ? transformIn(toInput(externalValue))\n : undefined\n\n const label =\n props.label ??\n (inheritLabel ? fieldPropsRef?.current?.[path]?.label : undefined)\n\n return { ...props, label, value }\n}\n"],"mappings":"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"}
@@ -34,7 +34,7 @@
34
34
  column-gap: var(--spacing-small);
35
35
  row-gap: var(--row-gap);
36
36
  }
37
- @media screen and (min-width: 40.0625em) {
37
+ @media screen and (min-width: 40.00625em) {
38
38
  .dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label {
39
39
  line-height: 2.5rem;
40
40
  margin-bottom: 0;
@@ -284,7 +284,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
284
284
  .dnb-forms-field-block--width-stretch {
285
285
  flex-grow: 1;
286
286
  }
287
- @media screen and (min-width: 25.0625em) {
287
+ @media screen and (min-width: 25.00625em) {
288
288
  .dnb-forms-field-block--width-small {
289
289
  width: var(--forms-field-width--small);
290
290
  }
@@ -323,7 +323,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
323
323
  .dnb-forms-field-block__contents--width-stretch {
324
324
  width: 100%;
325
325
  }
326
- @media screen and (min-width: 25.0625em) {
326
+ @media screen and (min-width: 25.00625em) {
327
327
  .dnb-forms-field-block__contents--width-small {
328
328
  width: var(--forms-field-width--small);
329
329
  }
@@ -345,7 +345,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
345
345
  -moz-column-gap: var(--spacing-small);
346
346
  column-gap: var(--spacing-small);
347
347
  }
348
- @media screen and (min-width: 25.0625em) {
348
+ @media screen and (min-width: 25.00625em) {
349
349
  .dnb-forms-field-block__contents__composition--horizontal {
350
350
  align-items: flex-end;
351
351
  }
@@ -378,28 +378,20 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
378
378
  .dnb-card + .dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top] {
379
379
  margin-top: 0;
380
380
  }
381
- @media screen and (min-width: 40.0625em) {
381
+ @media screen and (min-width: 40.00625em) {
382
382
  .dnb-card + .dnb-forms-button-row:not([class*=space__left]),
383
383
  .dnb-card + .dnb-button--primary:not([class*=space__left]) {
384
384
  margin-left: var(--spacing-medium);
385
385
  }
386
386
  }
387
387
 
388
- :root {
389
- --forms-card-max-width: 36.5rem;
390
- }
391
-
392
- .dnb-forms-form .dnb-card {
393
- max-width: var(--forms-card-max-width);
394
- }
395
-
396
388
  /*
397
389
  * Utilities
398
390
  */
399
391
  .dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]) {
400
392
  margin: 0;
401
393
  }
402
- @media screen and (min-width: 40.0625em) {
394
+ @media screen and (min-width: 40.00625em) {
403
395
  .dnb-forms-main-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__left]) {
404
396
  margin-left: var(--spacing-medium);
405
397
  }
@@ -609,7 +601,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
609
601
  .dnb-forms-value-block--max-width-stretch {
610
602
  width: 100%;
611
603
  }
612
- @media screen and (min-width: 25.0625em) {
604
+ @media screen and (min-width: 25.00625em) {
613
605
  .dnb-forms-value-block--max-width-small {
614
606
  max-width: var(--forms-field-width--small);
615
607
  }
@@ -647,7 +639,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
647
639
  .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large {
648
640
  --column-gap: var(--spacing-large);
649
641
  }
650
- @media screen and (min-width: 25.0625em) {
642
+ @media screen and (min-width: 25.00625em) {
651
643
  .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content {
652
644
  align-items: flex-start;
653
645
  }
@@ -691,9 +683,6 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
691
683
  .dnb-forms-wizard-layout__contents .dnb-forms-step {
692
684
  outline: none;
693
685
  }
694
- .dnb-forms-wizard-layout__contents .dnb-card {
695
- max-width: var(--forms-card-max-width);
696
- }
697
686
  .dnb-forms-wizard-layout__contents .dnb-forms-step > .appear-fx,
698
687
  .dnb-forms-wizard-layout__contents .dnb-forms-button-row > .appear-fx {
699
688
  --appear-opacity: 0;
@@ -716,7 +705,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
716
705
  transform: translate3d(0, 0, 0);
717
706
  }
718
707
  }
719
- @media screen and (min-width: 40.0625em) {
708
+ @media screen and (min-width: 40.00625em) {
720
709
  .dnb-forms-wizard-layout + .dnb-form-status:not([class*=space__left]), .dnb-forms-wizard-layout + .dnb-form-status + .dnb-form-status:not([class*=space__left]) {
721
710
  margin-left: var(--spacing-medium);
722
711
  }
@@ -735,7 +724,7 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
735
724
  margin-right: 0;
736
725
  }
737
726
 
738
- @media screen and (min-width: 60.0625em) {
727
+ @media screen and (min-width: 60.00625em) {
739
728
  .dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status {
740
729
  margin-left: 23rem;
741
730
  }
@@ -1 +1 @@
1
- @charset "UTF-8";.dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40.0625em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.0625em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.0625em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.0625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40.0625em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40.0625em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25.0625em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-none{--column-gap:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25.0625em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40.0625em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60.0625em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
1
+ @charset "UTF-8";.dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-checkbox.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40.00625em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40.00625em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40.00625em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block--variant-basic .dnb-forms-section-block__inner,.dnb-forms-section-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-section-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-section-block--variant-outline .dnb-forms-section-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-none{--column-gap:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25.00625em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40.00625em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60.00625em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
@@ -1,7 +1,7 @@
1
1
  import type { SpacingProps } from '../../components/space/types';
2
2
  import type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema';
3
3
  import type { JSONSchemaType } from 'ajv/dist/2020';
4
- import { JsonObject } from 'json-pointer';
4
+ import { JsonObject } from './utils/json-pointer';
5
5
  import { AriaAttributes } from 'react';
6
6
  import { FilterData, VisibleDataOptions } from './DataContext';
7
7
  export type * from 'json-schema';
@@ -300,6 +300,7 @@ export type EventStateObjectOr = {
300
300
  warning?: EventStateObjectWarning;
301
301
  info?: EventStateObjectInfo;
302
302
  pending?: EventStateObjectStatus;
303
+ customStatus?: unknown;
303
304
  };
304
305
  export type EventStateObjectEitherOr = {
305
306
  error: EventStateObjectError;
@@ -309,6 +310,8 @@ export type EventStateObjectEitherOr = {
309
310
  info: EventStateObjectInfo;
310
311
  } | {
311
312
  status: EventStateObjectStatus;
313
+ } | {
314
+ customStatus: unknown;
312
315
  };
313
316
  export type EventStateObject = EventStateObjectOr & EventStateObjectEitherOr;
314
317
  /**
@@ -334,10 +337,11 @@ export type OnSubmitParams = {
334
337
  /** Will empty the whole internal data set of the form */
335
338
  clearData: () => void;
336
339
  };
337
- export type OnSubmit<Data = JsonObject> = (data: Data, { reduceToVisibleFields, filterData, resetForm, clearData, }: OnSubmitParams) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
340
+ export type OnSubmitReturn = EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
341
+ export type OnSubmit<Data = JsonObject> = (data: Data, { reduceToVisibleFields, filterData, resetForm, clearData, }: OnSubmitParams) => OnSubmitReturn;
338
342
  export type OnCommit<Data = JsonObject> = (data: Data, { clearData, preventCommit, }: {
339
343
  clearData: () => void;
340
344
  preventCommit?: () => void;
341
345
  }) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
342
- export type OnChange<Data = unknown> = (data: Data, additionalArgs: Pick<OnSubmitParams, 'filterData'>) => OnChangeReturnType;
346
+ export type OnChange<Data = JsonObject> = (data: Data, additionalArgs: Pick<OnSubmitParams, 'filterData'>) => OnChangeReturnType;
343
347
  type OnChangeReturnType = EventReturnWithStateObjectAndSuccess | void | Promise<EventReturnWithStateObjectAndSuccess | void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\nimport { FilterData, VisibleDataOptions } from './DataContext'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required: string\n}\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (\n internal: Value | unknown,\n additionalArgs?: unknown\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: React.ReactNode\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: { clearData: () => void; preventCommit?: () => void }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from './utils/json-pointer'\nimport { AriaAttributes } from 'react'\nimport { FilterData, VisibleDataOptions } from './DataContext'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required: string\n}\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (\n internal: Value | unknown,\n additionalArgs?: unknown\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: React.ReactNode\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n customStatus?: unknown\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n | { customStatus: unknown }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmitReturn =\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) => OnSubmitReturn\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: { clearData: () => void; preventCommit?: () => void }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = JsonObject> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import ajvInstance, { ErrorObject } from 'ajv/dist/2020';
2
+ import { JsonObject } from './json-pointer';
2
3
  import { FormError, Path } from '../types';
3
4
  import type Ajv from 'ajv/dist/2020';
4
5
  export type AjvInstance = typeof ajvInstance;
@@ -54,4 +55,4 @@ export declare function ajvErrorsToOneFormError(errors?: ErrorObject[] | null, v
54
55
  * @param data - The data object being validated.
55
56
  * @returns The converted form errors as a record of path and form error pairs.
56
57
  */
57
- export declare const ajvErrorsToFormErrors: (errors?: ErrorObject[] | null, data?: Record<Path, unknown>) => Record<string, FormError>;
58
+ export declare const ajvErrorsToFormErrors: (errors?: ErrorObject[] | null, data?: JsonObject) => Record<string, FormError>;
@@ -18,7 +18,7 @@ exports.getValidationRule = getValidationRule;
18
18
  exports.makeAjvInstance = makeAjvInstance;
19
19
  var _ = _interopRequireDefault(require("ajv/dist/2020"));
20
20
  var _ajvErrors = _interopRequireDefault(require("ajv-errors"));
21
- var _jsonPointer = _interopRequireDefault(require("json-pointer"));
21
+ var _jsonPointer = _interopRequireDefault(require("./json-pointer"));
22
22
  var _types = require("../types");
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
24
  function makeAjvInstance(instance) {
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.js","names":["_","_interopRequireDefault","require","_ajvErrors","_jsonPointer","_types","obj","__esModule","default","makeAjvInstance","instance","ajv","ajvInstance","allErrors","ajvErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","FormError","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","exports","pointer","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer from 'json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: Record<Path, unknown>\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' ? pointer.get(data, path) : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ajv.js","names":["_","_interopRequireDefault","require","_ajvErrors","_jsonPointer","_types","obj","__esModule","default","makeAjvInstance","instance","ajv","ajvInstance","allErrors","ajvErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","FormError","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","exports","pointer","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' ? pointer.get(data, path) : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './errors';
2
+ export * from './json-pointer';
2
3
  export { default as TestElement } from './TestElement/TestElement';
@@ -24,6 +24,18 @@ Object.keys(_errors).forEach(function (key) {
24
24
  }
25
25
  });
26
26
  });
27
+ var _jsonPointer = require("./json-pointer");
28
+ Object.keys(_jsonPointer).forEach(function (key) {
29
+ if (key === "default" || key === "__esModule") return;
30
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
+ if (key in exports && exports[key] === _jsonPointer[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _jsonPointer[key];
36
+ }
37
+ });
38
+ });
27
39
  var _TestElement = _interopRequireDefault(require("./TestElement/TestElement"));
28
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_errors","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_TestElement","_interopRequireDefault","obj","__esModule","default"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './errors'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAC,sBAAA,CAAAd,OAAA;AAAkE,SAAAc,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"index.js","names":["_errors","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_jsonPointer","_TestElement","_interopRequireDefault","obj","__esModule","default"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './errors'\nexport * from './json-pointer'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,YAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,YAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,YAAA,GAAAC,sBAAA,CAAAf,OAAA;AAAkE,SAAAe,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}