@dnb/eufemia 10.62.3 → 10.63.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 (946) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -125
  3. package/cjs/components/accordion/Accordion.js +0 -1
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/autocomplete/Autocomplete.js +3 -2
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/Button.d.ts +3 -6
  8. package/cjs/components/button/Button.js +8 -18
  9. package/cjs/components/button/Button.js.map +1 -1
  10. package/cjs/components/button/ButtonDocs.d.ts +2 -0
  11. package/cjs/components/button/ButtonDocs.js +135 -0
  12. package/cjs/components/button/ButtonDocs.js.map +1 -0
  13. package/cjs/components/card/Card.js +2 -1
  14. package/cjs/components/card/Card.js.map +1 -1
  15. package/cjs/components/date-picker/DatePicker.d.ts +4 -0
  16. package/cjs/components/date-picker/DatePicker.js +24 -10
  17. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  18. package/cjs/components/date-picker/DatePickerDocs.js +5 -0
  19. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  20. package/cjs/components/date-picker/DatePickerPortal.d.ts +9 -0
  21. package/cjs/components/date-picker/DatePickerPortal.js +61 -0
  22. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -0
  23. package/cjs/components/date-picker/style/dnb-date-picker.css +64 -55
  24. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  25. package/cjs/components/date-picker/style/dnb-date-picker.scss +90 -75
  26. package/cjs/components/form-row/FormRow.js +2 -7
  27. package/cjs/components/form-row/FormRow.js.map +1 -1
  28. package/cjs/components/form-row/style/dnb-form-row.css +3 -3
  29. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  30. package/cjs/components/form-status/FormStatus.js +17 -19
  31. package/cjs/components/form-status/FormStatus.js.map +1 -1
  32. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  33. package/cjs/components/height-animation/HeightAnimationInstance.js +26 -1
  34. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  35. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  36. package/cjs/components/input-masked/InputMasked.js +2 -2
  37. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  38. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  39. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  40. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  41. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  42. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  43. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  44. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
  45. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  46. package/cjs/components/pagination/Pagination.d.ts +12 -0
  47. package/cjs/components/pagination/Pagination.js +7 -3
  48. package/cjs/components/pagination/Pagination.js.map +1 -1
  49. package/cjs/components/pagination/PaginationBar.d.ts +2 -1
  50. package/cjs/components/pagination/PaginationBar.js +10 -3
  51. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  52. package/cjs/components/radio/style/dnb-radio.css +3 -3
  53. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  54. package/cjs/components/space/style/dnb-space.css +4 -4
  55. package/cjs/components/space/style/dnb-space.min.css +1 -1
  56. package/cjs/components/space/style/dnb-space.scss +2 -12
  57. package/cjs/components/space/style/space-mixins.scss +21 -0
  58. package/cjs/components/tabs/Tabs.d.ts +1 -1
  59. package/cjs/components/tabs/Tabs.js +4 -12
  60. package/cjs/components/tabs/Tabs.js.map +1 -1
  61. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -5
  62. package/cjs/components/toggle-button/ToggleButton.js +2 -0
  63. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  64. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  65. package/cjs/components/toggle-button/ToggleButtonDocs.js +87 -0
  66. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  67. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  68. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  69. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +90 -0
  70. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  71. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
  72. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  73. package/cjs/elements/blockquote/style/blockquote-mixins.scss +5 -3
  74. package/cjs/elements/code/style/code-mixins.scss +2 -3
  75. package/cjs/elements/hr/style/hr-mixins.scss +2 -3
  76. package/cjs/elements/img/style/img-mixins.scss +3 -3
  77. package/cjs/elements/lists/style/lists-mixins.scss +3 -6
  78. package/cjs/elements/typography/style/typography-mixins.scss +2 -3
  79. package/cjs/extensions/forms/DataContext/Context.d.ts +15 -4
  80. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  81. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  82. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  83. package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -17
  84. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  85. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  86. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Date/Date.js +5 -4
  88. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  90. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  91. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  92. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Number/Number.js +2 -2
  94. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  95. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -1
  96. package/cjs/extensions/forms/Field/Option/Option.js +2 -14
  97. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  98. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  99. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  100. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  101. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  102. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  103. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  104. package/cjs/extensions/forms/Field/Selection/Selection.js +19 -12
  105. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  106. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  107. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Field/Slider/Slider.js +4 -3
  109. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  110. package/cjs/extensions/forms/Field/String/String.js +2 -2
  111. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -4
  113. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  114. package/cjs/extensions/forms/Field/Upload/Upload.js +21 -21
  115. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  116. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  117. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  118. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  119. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  120. package/cjs/extensions/forms/Form/Isolation/Isolation.js +17 -3
  121. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  122. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  123. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js +27 -0
  124. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  125. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  126. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  127. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +0 -10
  128. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  129. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -12
  130. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  131. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js +27 -0
  132. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  133. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  134. package/cjs/extensions/forms/Form/Visibility/Visibility.js +18 -10
  135. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  136. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  137. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  138. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  139. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  140. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  141. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  142. package/cjs/extensions/forms/Form/data-context/useValidation.d.ts +2 -1
  143. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/Array/Array.js +49 -29
  145. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  147. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  148. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +2 -1
  149. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +2 -0
  151. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/Array/types.d.ts +8 -3
  153. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  155. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  156. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +10 -1
  157. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  158. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  159. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  160. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  161. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js +50 -0
  162. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  163. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  164. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  165. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  166. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +16 -14
  167. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  168. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  169. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  170. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  171. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -16
  172. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  173. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  174. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  175. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  176. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  177. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  178. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  179. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +3 -2
  180. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  181. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  182. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  183. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -3
  184. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  185. package/cjs/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  186. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js +31 -0
  187. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  188. package/cjs/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  189. package/cjs/extensions/forms/Iterate/Visibility/index.js +27 -0
  190. package/cjs/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  191. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  192. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  193. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  194. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  195. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  196. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  197. package/cjs/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  198. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js +22 -0
  199. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  200. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  201. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  202. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  203. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  204. package/cjs/extensions/forms/Iterate/index.js +7 -0
  205. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  206. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +16 -0
  207. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  208. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +25 -2
  209. package/cjs/extensions/forms/Tools/GenerateSchema.js +15 -9
  210. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  211. package/cjs/extensions/forms/Tools/ListAllProps.js +11 -7
  212. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  213. package/cjs/extensions/forms/Tools/Log.js +2 -1
  214. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  215. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  216. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  217. package/cjs/extensions/forms/Value/Selection/Selection.js +5 -5
  218. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  219. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +25 -7
  220. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  221. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  222. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  223. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  224. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  225. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  227. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  228. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  229. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  230. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  231. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -2
  232. package/cjs/extensions/forms/hooks/useDataValue.js +5 -9
  233. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  234. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  235. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  236. package/cjs/extensions/forms/hooks/useFieldProps.js +164 -76
  237. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  238. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  239. package/cjs/extensions/forms/hooks/useValueProps.js +5 -5
  240. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  241. package/cjs/extensions/forms/style/dnb-forms.css +25 -14
  242. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  243. package/cjs/extensions/forms/types.d.ts +33 -6
  244. package/cjs/extensions/forms/types.js.map +1 -1
  245. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +8 -0
  246. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  247. package/cjs/extensions/payment-card/PaymentCard.js +3 -12
  248. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  249. package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
  250. package/cjs/fragments/drawer-list/DrawerList.js +33 -47
  251. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  252. package/cjs/fragments/drawer-list/DrawerListDocs.js +3 -3
  253. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  254. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  255. package/cjs/shared/AlignmentHelper.js +0 -4
  256. package/cjs/shared/AlignmentHelper.js.map +1 -1
  257. package/cjs/shared/Eufemia.d.ts +1 -1
  258. package/cjs/shared/Eufemia.js +2 -2
  259. package/cjs/shared/Eufemia.js.map +1 -1
  260. package/cjs/shared/component-helper.js +2 -1
  261. package/cjs/shared/component-helper.js.map +1 -1
  262. package/cjs/style/core/scopes.scss +1 -1
  263. package/cjs/style/core/utilities.scss +3 -12
  264. package/cjs/style/dnb-ui-basis.css +1 -1
  265. package/cjs/style/dnb-ui-basis.min.css +1 -1
  266. package/cjs/style/dnb-ui-body.css +1 -1
  267. package/cjs/style/dnb-ui-body.min.css +1 -1
  268. package/cjs/style/dnb-ui-components.css +106 -86
  269. package/cjs/style/dnb-ui-components.min.css +4 -4
  270. package/cjs/style/dnb-ui-core.css +1 -1
  271. package/cjs/style/dnb-ui-core.min.css +1 -1
  272. package/cjs/style/dnb-ui-elements.css +151 -31
  273. package/cjs/style/dnb-ui-elements.min.css +1 -1
  274. package/cjs/style/dnb-ui-extensions.css +25 -14
  275. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  276. package/cjs/style/dnb-ui-forms.css +25 -14
  277. package/cjs/style/dnb-ui-forms.min.css +1 -1
  278. package/cjs/style/dnb-ui-fragments.css +1 -1
  279. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  280. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  281. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  282. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +131 -100
  283. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  284. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  285. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  286. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +25 -14
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +25 -14
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  290. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  291. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  292. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +131 -100
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +25 -14
  297. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +25 -14
  299. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  300. package/cjs/style/themes/theme-ui/ui-theme-basis.css +151 -31
  301. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  302. package/cjs/style/themes/theme-ui/ui-theme-components.css +131 -100
  303. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  304. package/cjs/style/themes/theme-ui/ui-theme-elements.css +151 -31
  305. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  306. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +25 -14
  307. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  308. package/cjs/style/themes/theme-ui/ui-theme-forms.css +25 -14
  309. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  310. package/cjs/style/themes/theme-ui/ui-theme-tags.css +100 -19
  311. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  312. package/components/accordion/Accordion.d.ts +1 -125
  313. package/components/accordion/Accordion.js +0 -1
  314. package/components/accordion/Accordion.js.map +1 -1
  315. package/components/autocomplete/Autocomplete.js +3 -2
  316. package/components/autocomplete/Autocomplete.js.map +1 -1
  317. package/components/button/Button.d.ts +3 -6
  318. package/components/button/Button.js +8 -18
  319. package/components/button/Button.js.map +1 -1
  320. package/components/button/ButtonDocs.d.ts +2 -0
  321. package/components/button/ButtonDocs.js +128 -0
  322. package/components/button/ButtonDocs.js.map +1 -0
  323. package/components/card/Card.js +2 -1
  324. package/components/card/Card.js.map +1 -1
  325. package/components/date-picker/DatePicker.d.ts +4 -0
  326. package/components/date-picker/DatePicker.js +25 -11
  327. package/components/date-picker/DatePicker.js.map +1 -1
  328. package/components/date-picker/DatePickerDocs.js +5 -0
  329. package/components/date-picker/DatePickerDocs.js.map +1 -1
  330. package/components/date-picker/DatePickerPortal.d.ts +9 -0
  331. package/components/date-picker/DatePickerPortal.js +53 -0
  332. package/components/date-picker/DatePickerPortal.js.map +1 -0
  333. package/components/date-picker/style/dnb-date-picker.css +64 -55
  334. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  335. package/components/date-picker/style/dnb-date-picker.scss +90 -75
  336. package/components/form-row/FormRow.js +2 -7
  337. package/components/form-row/FormRow.js.map +1 -1
  338. package/components/form-row/style/dnb-form-row.css +3 -3
  339. package/components/form-row/style/dnb-form-row.min.css +1 -1
  340. package/components/form-status/FormStatus.js +17 -19
  341. package/components/form-status/FormStatus.js.map +1 -1
  342. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  343. package/components/height-animation/HeightAnimationInstance.js +26 -1
  344. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  345. package/components/input-masked/InputMasked.d.ts +1 -1
  346. package/components/input-masked/InputMasked.js +2 -2
  347. package/components/input-masked/InputMasked.js.map +1 -1
  348. package/components/input-masked/InputMaskedDocs.js +1 -1
  349. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  350. package/components/input-masked/InputMaskedHooks.js +1 -1
  351. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  352. package/components/input-masked/InputMaskedUtils.js +1 -1
  353. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  354. package/components/input-masked/style/dnb-input-masked.css +3 -3
  355. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  356. package/components/pagination/Pagination.d.ts +12 -0
  357. package/components/pagination/Pagination.js +7 -3
  358. package/components/pagination/Pagination.js.map +1 -1
  359. package/components/pagination/PaginationBar.d.ts +2 -1
  360. package/components/pagination/PaginationBar.js +10 -3
  361. package/components/pagination/PaginationBar.js.map +1 -1
  362. package/components/radio/style/dnb-radio.css +3 -3
  363. package/components/radio/style/dnb-radio.min.css +1 -1
  364. package/components/space/style/dnb-space.css +4 -4
  365. package/components/space/style/dnb-space.min.css +1 -1
  366. package/components/space/style/dnb-space.scss +2 -12
  367. package/components/space/style/space-mixins.scss +21 -0
  368. package/components/tabs/Tabs.d.ts +1 -1
  369. package/components/tabs/Tabs.js +4 -12
  370. package/components/tabs/Tabs.js.map +1 -1
  371. package/components/toggle-button/ToggleButton.d.ts +9 -5
  372. package/components/toggle-button/ToggleButton.js +2 -0
  373. package/components/toggle-button/ToggleButton.js.map +1 -1
  374. package/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  375. package/components/toggle-button/ToggleButtonDocs.js +80 -0
  376. package/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  377. package/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  378. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  379. package/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  380. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  381. package/components/toggle-button/style/dnb-toggle-button.css +3 -3
  382. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  383. package/elements/blockquote/style/blockquote-mixins.scss +5 -3
  384. package/elements/code/style/code-mixins.scss +2 -3
  385. package/elements/hr/style/hr-mixins.scss +2 -3
  386. package/elements/img/style/img-mixins.scss +3 -3
  387. package/elements/lists/style/lists-mixins.scss +3 -6
  388. package/elements/typography/style/typography-mixins.scss +2 -3
  389. package/es/components/accordion/Accordion.d.ts +1 -125
  390. package/es/components/accordion/Accordion.js +0 -1
  391. package/es/components/accordion/Accordion.js.map +1 -1
  392. package/es/components/autocomplete/Autocomplete.js +3 -2
  393. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  394. package/es/components/button/Button.d.ts +3 -6
  395. package/es/components/button/Button.js +8 -18
  396. package/es/components/button/Button.js.map +1 -1
  397. package/es/components/button/ButtonDocs.d.ts +2 -0
  398. package/es/components/button/ButtonDocs.js +128 -0
  399. package/es/components/button/ButtonDocs.js.map +1 -0
  400. package/es/components/card/Card.js +2 -1
  401. package/es/components/card/Card.js.map +1 -1
  402. package/es/components/date-picker/DatePicker.d.ts +4 -0
  403. package/es/components/date-picker/DatePicker.js +25 -11
  404. package/es/components/date-picker/DatePicker.js.map +1 -1
  405. package/es/components/date-picker/DatePickerDocs.js +5 -0
  406. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  407. package/es/components/date-picker/DatePickerPortal.d.ts +9 -0
  408. package/es/components/date-picker/DatePickerPortal.js +52 -0
  409. package/es/components/date-picker/DatePickerPortal.js.map +1 -0
  410. package/es/components/date-picker/style/dnb-date-picker.css +64 -55
  411. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  412. package/es/components/date-picker/style/dnb-date-picker.scss +90 -75
  413. package/es/components/form-row/FormRow.js +2 -7
  414. package/es/components/form-row/FormRow.js.map +1 -1
  415. package/es/components/form-row/style/dnb-form-row.css +3 -3
  416. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  417. package/es/components/form-status/FormStatus.js +17 -19
  418. package/es/components/form-status/FormStatus.js.map +1 -1
  419. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  420. package/es/components/height-animation/HeightAnimationInstance.js +26 -1
  421. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  422. package/es/components/input-masked/InputMasked.d.ts +1 -1
  423. package/es/components/input-masked/InputMasked.js +2 -2
  424. package/es/components/input-masked/InputMasked.js.map +1 -1
  425. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  426. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  427. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  428. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  429. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  430. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  431. package/es/components/input-masked/style/dnb-input-masked.css +3 -3
  432. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  433. package/es/components/pagination/Pagination.d.ts +12 -0
  434. package/es/components/pagination/Pagination.js +7 -3
  435. package/es/components/pagination/Pagination.js.map +1 -1
  436. package/es/components/pagination/PaginationBar.d.ts +2 -1
  437. package/es/components/pagination/PaginationBar.js +10 -3
  438. package/es/components/pagination/PaginationBar.js.map +1 -1
  439. package/es/components/radio/style/dnb-radio.css +3 -3
  440. package/es/components/radio/style/dnb-radio.min.css +1 -1
  441. package/es/components/space/style/dnb-space.css +4 -4
  442. package/es/components/space/style/dnb-space.min.css +1 -1
  443. package/es/components/space/style/dnb-space.scss +2 -12
  444. package/es/components/space/style/space-mixins.scss +21 -0
  445. package/es/components/tabs/Tabs.d.ts +1 -1
  446. package/es/components/tabs/Tabs.js +4 -12
  447. package/es/components/tabs/Tabs.js.map +1 -1
  448. package/es/components/toggle-button/ToggleButton.d.ts +9 -5
  449. package/es/components/toggle-button/ToggleButton.js +2 -0
  450. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  451. package/es/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  452. package/es/components/toggle-button/ToggleButtonDocs.js +80 -0
  453. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  454. package/es/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  455. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  456. package/es/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  457. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  458. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
  459. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  460. package/es/elements/blockquote/style/blockquote-mixins.scss +5 -3
  461. package/es/elements/code/style/code-mixins.scss +2 -3
  462. package/es/elements/hr/style/hr-mixins.scss +2 -3
  463. package/es/elements/img/style/img-mixins.scss +3 -3
  464. package/es/elements/lists/style/lists-mixins.scss +3 -6
  465. package/es/elements/typography/style/typography-mixins.scss +2 -3
  466. package/es/extensions/forms/DataContext/Context.d.ts +15 -4
  467. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  468. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  469. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  470. package/es/extensions/forms/DataContext/Provider/Provider.js +27 -16
  471. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  472. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  473. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  474. package/es/extensions/forms/Field/Date/Date.js +5 -4
  475. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  476. package/es/extensions/forms/Field/Expiry/Expiry.js +4 -3
  477. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  478. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  479. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  480. package/es/extensions/forms/Field/Number/Number.js +2 -2
  481. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  482. package/es/extensions/forms/Field/Option/Option.d.ts +2 -1
  483. package/es/extensions/forms/Field/Option/Option.js +2 -12
  484. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  485. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  486. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  487. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  488. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  489. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  490. package/es/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  491. package/es/extensions/forms/Field/Selection/Selection.js +22 -14
  492. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  493. package/es/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  494. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  495. package/es/extensions/forms/Field/Slider/Slider.js +4 -3
  496. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  497. package/es/extensions/forms/Field/String/String.js +2 -2
  498. package/es/extensions/forms/Field/String/String.js.map +1 -1
  499. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -4
  500. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  501. package/es/extensions/forms/Field/Upload/Upload.js +21 -20
  502. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  503. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  504. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  505. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  506. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  507. package/es/extensions/forms/Form/Isolation/Isolation.js +17 -3
  508. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  509. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  510. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  511. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  512. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  513. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  514. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +0 -10
  515. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  516. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -12
  517. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  518. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  519. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  520. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  521. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -11
  522. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  523. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  524. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  525. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  526. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  527. package/es/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  528. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  529. package/es/extensions/forms/Form/data-context/useValidation.d.ts +2 -1
  530. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  531. package/es/extensions/forms/Iterate/Array/Array.js +47 -28
  532. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  533. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  534. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  535. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +2 -1
  536. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  537. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +2 -0
  538. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  539. package/es/extensions/forms/Iterate/Array/types.d.ts +8 -3
  540. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  541. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  542. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  543. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  544. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  545. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  546. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  547. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  548. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js +41 -0
  549. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  550. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  551. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  552. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  553. package/es/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  554. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  555. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  556. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  557. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  558. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +34 -18
  559. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  560. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  561. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  562. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  563. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  564. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  565. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  566. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +3 -2
  567. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  568. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  569. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  570. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -3
  571. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  572. package/es/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  573. package/es/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  574. package/es/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  575. package/es/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  576. package/es/extensions/forms/Iterate/Visibility/index.js +3 -0
  577. package/es/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  578. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  579. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  580. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  581. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  582. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -3
  583. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  584. package/es/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  585. package/es/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  586. package/es/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  587. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  588. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -3
  589. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  590. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  591. package/es/extensions/forms/Iterate/index.js +1 -0
  592. package/es/extensions/forms/Iterate/index.js.map +1 -1
  593. package/es/extensions/forms/Iterate/style/dnb-iterate.css +16 -0
  594. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  595. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +25 -2
  596. package/es/extensions/forms/Tools/GenerateSchema.js +12 -6
  597. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  598. package/es/extensions/forms/Tools/ListAllProps.js +9 -5
  599. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  600. package/es/extensions/forms/Tools/Log.js +2 -1
  601. package/es/extensions/forms/Tools/Log.js.map +1 -1
  602. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  603. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  604. package/es/extensions/forms/Value/Selection/Selection.js +5 -5
  605. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  606. package/es/extensions/forms/ValueBlock/ValueBlock.js +26 -9
  607. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  608. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  609. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  610. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  611. package/es/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  612. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  613. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  614. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  615. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  616. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  617. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  618. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -2
  619. package/es/extensions/forms/hooks/useDataValue.js +4 -8
  620. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  621. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  622. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  623. package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  624. package/es/extensions/forms/hooks/useFieldProps.js +163 -76
  625. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  626. package/es/extensions/forms/hooks/usePath.js +2 -2
  627. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  628. package/es/extensions/forms/hooks/useValueProps.js +5 -5
  629. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  630. package/es/extensions/forms/style/dnb-forms.css +25 -14
  631. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  632. package/es/extensions/forms/types.d.ts +33 -6
  633. package/es/extensions/forms/types.js.map +1 -1
  634. package/es/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  635. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  636. package/es/extensions/payment-card/PaymentCard.js +3 -12
  637. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  638. package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
  639. package/es/fragments/drawer-list/DrawerList.js +33 -47
  640. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  641. package/es/fragments/drawer-list/DrawerListDocs.js +3 -3
  642. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  643. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  644. package/es/shared/AlignmentHelper.js +0 -4
  645. package/es/shared/AlignmentHelper.js.map +1 -1
  646. package/es/shared/Eufemia.d.ts +1 -1
  647. package/es/shared/Eufemia.js +2 -2
  648. package/es/shared/Eufemia.js.map +1 -1
  649. package/es/shared/component-helper.js +2 -1
  650. package/es/shared/component-helper.js.map +1 -1
  651. package/es/style/core/scopes.scss +1 -1
  652. package/es/style/core/utilities.scss +3 -12
  653. package/es/style/dnb-ui-basis.css +1 -1
  654. package/es/style/dnb-ui-basis.min.css +1 -1
  655. package/es/style/dnb-ui-body.css +1 -1
  656. package/es/style/dnb-ui-body.min.css +1 -1
  657. package/es/style/dnb-ui-components.css +106 -86
  658. package/es/style/dnb-ui-components.min.css +4 -4
  659. package/es/style/dnb-ui-core.css +1 -1
  660. package/es/style/dnb-ui-core.min.css +1 -1
  661. package/es/style/dnb-ui-elements.css +151 -31
  662. package/es/style/dnb-ui-elements.min.css +1 -1
  663. package/es/style/dnb-ui-extensions.css +25 -14
  664. package/es/style/dnb-ui-extensions.min.css +1 -1
  665. package/es/style/dnb-ui-forms.css +25 -14
  666. package/es/style/dnb-ui-forms.min.css +1 -1
  667. package/es/style/dnb-ui-fragments.css +1 -1
  668. package/es/style/dnb-ui-fragments.min.css +1 -1
  669. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  670. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  671. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +131 -100
  672. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  673. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  674. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  675. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +25 -14
  676. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  677. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +25 -14
  678. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  679. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  680. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  681. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +131 -100
  682. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  683. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  684. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  685. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +25 -14
  686. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  687. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +25 -14
  688. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  689. package/es/style/themes/theme-ui/ui-theme-basis.css +151 -31
  690. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  691. package/es/style/themes/theme-ui/ui-theme-components.css +131 -100
  692. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  693. package/es/style/themes/theme-ui/ui-theme-elements.css +151 -31
  694. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  695. package/es/style/themes/theme-ui/ui-theme-extensions.css +25 -14
  696. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  697. package/es/style/themes/theme-ui/ui-theme-forms.css +25 -14
  698. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  699. package/es/style/themes/theme-ui/ui-theme-tags.css +100 -19
  700. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  701. package/esm/dnb-ui-basis.min.mjs +1 -1
  702. package/esm/dnb-ui-components.min.mjs +1 -1
  703. package/esm/dnb-ui-elements.min.mjs +1 -1
  704. package/esm/dnb-ui-extensions.min.mjs +5 -5
  705. package/esm/dnb-ui-lib.min.mjs +1 -1
  706. package/extensions/forms/DataContext/Context.d.ts +15 -4
  707. package/extensions/forms/DataContext/Context.js.map +1 -1
  708. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  709. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  710. package/extensions/forms/DataContext/Provider/Provider.js +28 -17
  711. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  712. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  713. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  714. package/extensions/forms/Field/Date/Date.js +5 -4
  715. package/extensions/forms/Field/Date/Date.js.map +1 -1
  716. package/extensions/forms/Field/Expiry/Expiry.js +4 -3
  717. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  718. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  719. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  720. package/extensions/forms/Field/Number/Number.js +2 -2
  721. package/extensions/forms/Field/Number/Number.js.map +1 -1
  722. package/extensions/forms/Field/Option/Option.d.ts +2 -1
  723. package/extensions/forms/Field/Option/Option.js +2 -13
  724. package/extensions/forms/Field/Option/Option.js.map +1 -1
  725. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  726. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  727. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  728. package/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  729. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  730. package/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  731. package/extensions/forms/Field/Selection/Selection.js +19 -12
  732. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  733. package/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  734. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  735. package/extensions/forms/Field/Slider/Slider.js +4 -3
  736. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  737. package/extensions/forms/Field/String/String.js +2 -2
  738. package/extensions/forms/Field/String/String.js.map +1 -1
  739. package/extensions/forms/Field/Toggle/Toggle.js +14 -4
  740. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  741. package/extensions/forms/Field/Upload/Upload.js +21 -21
  742. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  743. package/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  744. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  745. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  746. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  747. package/extensions/forms/Form/Isolation/Isolation.js +17 -3
  748. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  749. package/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  750. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  751. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  752. package/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  753. package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  754. package/extensions/forms/Form/Section/style/dnb-form-section.css +0 -10
  755. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  756. package/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -12
  757. package/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  758. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  759. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  760. package/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  761. package/extensions/forms/Form/Visibility/Visibility.js +20 -11
  762. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  763. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  764. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  765. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  766. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  767. package/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  768. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  769. package/extensions/forms/Form/data-context/useValidation.d.ts +2 -1
  770. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  771. package/extensions/forms/Iterate/Array/Array.js +50 -30
  772. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  773. package/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  774. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  775. package/extensions/forms/Iterate/Array/ArrayItemArea.js +2 -1
  776. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  777. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +2 -0
  778. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  779. package/extensions/forms/Iterate/Array/types.d.ts +8 -3
  780. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  781. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  782. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  783. package/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  784. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  785. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  786. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  787. package/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  788. package/extensions/forms/Iterate/ItemNo/useIItemNo.js +42 -0
  789. package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  790. package/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  791. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  792. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  793. package/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  794. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  795. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  796. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  797. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  798. package/extensions/forms/Iterate/PushContainer/PushContainer.js +34 -18
  799. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  800. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  801. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  802. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  803. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  804. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  805. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  806. package/extensions/forms/Iterate/Toolbar/Toolbar.js +3 -2
  807. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  808. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  809. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  810. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -3
  811. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  812. package/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  813. package/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  814. package/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  815. package/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  816. package/extensions/forms/Iterate/Visibility/index.js +3 -0
  817. package/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  818. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  819. package/extensions/forms/Iterate/hooks/index.js +1 -0
  820. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  821. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  822. package/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  823. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  824. package/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  825. package/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  826. package/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  827. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  828. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  829. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  830. package/extensions/forms/Iterate/index.d.ts +1 -0
  831. package/extensions/forms/Iterate/index.js +1 -0
  832. package/extensions/forms/Iterate/index.js.map +1 -1
  833. package/extensions/forms/Iterate/style/dnb-iterate.css +16 -0
  834. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  835. package/extensions/forms/Iterate/style/dnb-iterate.scss +25 -2
  836. package/extensions/forms/Tools/GenerateSchema.js +15 -9
  837. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  838. package/extensions/forms/Tools/ListAllProps.js +11 -7
  839. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  840. package/extensions/forms/Tools/Log.js +2 -1
  841. package/extensions/forms/Tools/Log.js.map +1 -1
  842. package/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  843. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  844. package/extensions/forms/Value/Selection/Selection.js +5 -5
  845. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  846. package/extensions/forms/ValueBlock/ValueBlock.js +27 -9
  847. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  848. package/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  849. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  850. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  851. package/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  852. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  853. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  854. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  855. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  856. package/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  857. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  858. package/extensions/forms/hooks/useDataValue.d.ts +2 -2
  859. package/extensions/forms/hooks/useDataValue.js +5 -9
  860. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  861. package/extensions/forms/hooks/useExternalValue.js +2 -2
  862. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  863. package/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  864. package/extensions/forms/hooks/useFieldProps.js +164 -76
  865. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  866. package/extensions/forms/hooks/usePath.js +2 -2
  867. package/extensions/forms/hooks/usePath.js.map +1 -1
  868. package/extensions/forms/hooks/useValueProps.js +5 -5
  869. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  870. package/extensions/forms/style/dnb-forms.css +25 -14
  871. package/extensions/forms/style/dnb-forms.min.css +1 -1
  872. package/extensions/forms/types.d.ts +33 -6
  873. package/extensions/forms/types.js.map +1 -1
  874. package/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  875. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  876. package/extensions/payment-card/PaymentCard.js +3 -12
  877. package/extensions/payment-card/PaymentCard.js.map +1 -1
  878. package/fragments/drawer-list/DrawerList.d.ts +4 -2
  879. package/fragments/drawer-list/DrawerList.js +33 -47
  880. package/fragments/drawer-list/DrawerList.js.map +1 -1
  881. package/fragments/drawer-list/DrawerListDocs.js +3 -3
  882. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  883. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  884. package/package.json +1 -1
  885. package/shared/AlignmentHelper.js +0 -4
  886. package/shared/AlignmentHelper.js.map +1 -1
  887. package/shared/Eufemia.d.ts +1 -1
  888. package/shared/Eufemia.js +2 -2
  889. package/shared/Eufemia.js.map +1 -1
  890. package/shared/component-helper.js +2 -1
  891. package/shared/component-helper.js.map +1 -1
  892. package/style/core/scopes.scss +1 -1
  893. package/style/core/utilities.scss +3 -12
  894. package/style/dnb-ui-basis.css +1 -1
  895. package/style/dnb-ui-basis.min.css +1 -1
  896. package/style/dnb-ui-body.css +1 -1
  897. package/style/dnb-ui-body.min.css +1 -1
  898. package/style/dnb-ui-components.css +106 -86
  899. package/style/dnb-ui-components.min.css +4 -4
  900. package/style/dnb-ui-core.css +1 -1
  901. package/style/dnb-ui-core.min.css +1 -1
  902. package/style/dnb-ui-elements.css +151 -31
  903. package/style/dnb-ui-elements.min.css +1 -1
  904. package/style/dnb-ui-extensions.css +25 -14
  905. package/style/dnb-ui-extensions.min.css +1 -1
  906. package/style/dnb-ui-forms.css +25 -14
  907. package/style/dnb-ui-forms.min.css +1 -1
  908. package/style/dnb-ui-fragments.css +1 -1
  909. package/style/dnb-ui-fragments.min.css +1 -1
  910. package/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  911. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  912. package/style/themes/theme-eiendom/eiendom-theme-components.css +131 -100
  913. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  914. package/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  915. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  916. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +25 -14
  917. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  918. package/style/themes/theme-eiendom/eiendom-theme-forms.css +25 -14
  919. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  920. package/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  921. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  922. package/style/themes/theme-sbanken/sbanken-theme-components.css +131 -100
  923. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  924. package/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  925. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  926. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +25 -14
  927. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  928. package/style/themes/theme-sbanken/sbanken-theme-forms.css +25 -14
  929. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  930. package/style/themes/theme-ui/ui-theme-basis.css +151 -31
  931. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  932. package/style/themes/theme-ui/ui-theme-components.css +131 -100
  933. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  934. package/style/themes/theme-ui/ui-theme-elements.css +151 -31
  935. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  936. package/style/themes/theme-ui/ui-theme-extensions.css +25 -14
  937. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  938. package/style/themes/theme-ui/ui-theme-forms.css +25 -14
  939. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  940. package/style/themes/theme-ui/ui-theme-tags.css +100 -19
  941. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  942. package/umd/dnb-ui-basis.min.js +1 -1
  943. package/umd/dnb-ui-components.min.js +1 -1
  944. package/umd/dnb-ui-elements.min.js +1 -1
  945. package/umd/dnb-ui-extensions.min.js +3 -3
  946. package/umd/dnb-ui-lib.min.js +1 -1
@@ -3,7 +3,7 @@
3
3
  import { useCallback, useContext, useMemo } from 'react';
4
4
  import useId from '../../../shared/helpers/useId';
5
5
  import SectionContext from '../Form/Section/SectionContext';
6
- import IterateElementContext from '../Iterate/IterateItemContext';
6
+ import IterateItemContext from '../Iterate/IterateItemContext';
7
7
  export default function usePath() {
8
8
  var _useContext, _useContext2;
9
9
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -18,7 +18,7 @@ export default function usePath() {
18
18
  const {
19
19
  path: iteratePathProp,
20
20
  index: iterateElementIndex
21
- } = (_useContext2 = useContext(IterateElementContext)) !== null && _useContext2 !== void 0 ? _useContext2 : {};
21
+ } = (_useContext2 = useContext(IterateItemContext)) !== null && _useContext2 !== void 0 ? _useContext2 : {};
22
22
  if (pathProp && !pathProp.startsWith('/')) {
23
23
  throw new Error(`path="${pathProp}" must start with a slash`);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateElementContext","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","joinPath","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","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 cleanPath,\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
+ {"version":3,"file":"usePath.js","names":["useCallback","useContext","useMemo","useId","SectionContext","IterateItemContext","usePath","_useContext","_useContext2","props","arguments","length","undefined","path","pathProp","itemPath","itemPathProp","id","sectionPath","iteratePathProp","index","iterateElementIndex","startsWith","Error","joinPath","paths","cleanPath","reduce","acc","cur","makeSectionPath","makeIteratePath","iteratePath","root","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 IterateItemContext 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(IterateItemContext) ?? {}\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 cleanPath,\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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"}
@@ -10,7 +10,7 @@ import DataContext from '../DataContext/Context';
10
10
  import ValueProviderContext from '../Value/Provider/ValueProviderContext';
11
11
  import SummaryListContext from '../Value/SummaryList/SummaryListContext';
12
12
  export default function useValueProps(localProps) {
13
- var _useExternalValue, _props$label, _fieldPropsRef$curren, _fieldPropsRef$curren2;
13
+ var _useExternalValue, _props$label, _fieldInternalsRef$cu, _fieldInternalsRef$cu2, _fieldInternalsRef$cu3;
14
14
  const [, forceUpdate] = useReducer(() => ({}), {});
15
15
  const {
16
16
  extend
@@ -49,12 +49,12 @@ export default function useValueProps(localProps) {
49
49
  transformers
50
50
  })) !== null && _useExternalValue !== void 0 ? _useExternalValue : defaultValue;
51
51
  const {
52
- fieldPropsRef,
52
+ fieldInternalsRef,
53
53
  mountedFieldsRef,
54
- setValueProps,
54
+ setValueInternals,
55
55
  setFieldEventListener
56
56
  } = useContext(DataContext) || {};
57
- setValueProps === null || setValueProps === void 0 ? void 0 : setValueProps(path, props);
57
+ setValueInternals === null || setValueInternals === void 0 ? void 0 : setValueInternals(path, props);
58
58
  useEffect(() => {
59
59
  if (inheritLabel || inheritVisibility) {
60
60
  setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(path, 'onMount', () => {
@@ -71,7 +71,7 @@ export default function useValueProps(localProps) {
71
71
  return item.isVisible !== false && (item.isPreMounted !== false || item.wasStepChange === true);
72
72
  }, [inheritVisibility, mountedFieldsRef]);
73
73
  const value = shouldBeVisible(path) ? transformIn(toInput(externalValue)) : undefined;
74
- const label = (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : inheritLabel ? fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : (_fieldPropsRef$curren = fieldPropsRef.current) === null || _fieldPropsRef$curren === void 0 ? void 0 : (_fieldPropsRef$curren2 = _fieldPropsRef$curren[path]) === null || _fieldPropsRef$curren2 === void 0 ? void 0 : _fieldPropsRef$curren2.label : undefined;
74
+ const label = (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : inheritLabel ? fieldInternalsRef === null || fieldInternalsRef === void 0 ? void 0 : (_fieldInternalsRef$cu = fieldInternalsRef.current) === null || _fieldInternalsRef$cu === void 0 ? void 0 : (_fieldInternalsRef$cu2 = _fieldInternalsRef$cu[path]) === null || _fieldInternalsRef$cu2 === void 0 ? void 0 : (_fieldInternalsRef$cu3 = _fieldInternalsRef$cu2.props) === null || _fieldInternalsRef$cu3 === void 0 ? void 0 : _fieldInternalsRef$cu3.label : undefined;
75
75
  return _objectSpread(_objectSpread({}, props), {}, {
76
76
  label,
77
77
  value
@@ -1 +1 @@
1
- {"version":3,"file":"useValueProps.js","names":["useCallback","useContext","useEffect","useReducer","useRef","useExternalValue","usePath","DataContext","ValueProviderContext","SummaryListContext","useValueProps","localProps","_useExternalValue","_props$label","_fieldPropsRef$curren","_fieldPropsRef$curren2","forceUpdate","extend","props","verifyChild","path","pathProp","value","valueProp","itemPath","defaultValue","inheritVisibility","inheritLabel","transformIn","external","toInput","internal","fromExternal","transformers","externalValue","fieldPropsRef","mountedFieldsRef","setValueProps","setFieldEventListener","requestAnimationFrame","shouldBeVisible","_mountedFieldsRef$cur","item","current","isVisible","isPreMounted","wasStepChange","undefined","label","_objectSpread"],"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'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(localProps: Props): Props & ValueProps<Value> {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const { extend } = useContext(ValueProviderContext)\n const props = extend(localProps)\n\n // Only to log a warning in the Value.SummaryList component\n const { verifyChild } = useContext(SummaryListContext) || {}\n verifyChild?.()\n\n const {\n path: pathProp,\n value: valueProp,\n itemPath,\n defaultValue,\n inheritVisibility,\n inheritLabel,\n transformIn = (external: unknown) => external as Value,\n toInput = (internal: Value) => internal,\n fromExternal = (external: Value) => external,\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":["useCallback","useContext","useEffect","useReducer","useRef","useExternalValue","usePath","DataContext","ValueProviderContext","SummaryListContext","useValueProps","localProps","_useExternalValue","_props$label","_fieldInternalsRef$cu","_fieldInternalsRef$cu2","_fieldInternalsRef$cu3","forceUpdate","extend","props","verifyChild","path","pathProp","value","valueProp","itemPath","defaultValue","inheritVisibility","inheritLabel","transformIn","external","toInput","internal","fromExternal","transformers","externalValue","fieldInternalsRef","mountedFieldsRef","setValueInternals","setFieldEventListener","requestAnimationFrame","shouldBeVisible","_mountedFieldsRef$cur","item","current","isVisible","isPreMounted","wasStepChange","undefined","label","_objectSpread"],"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'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\n\nexport type Props<Value> = ValueProps<Value>\n\nexport default function useValueProps<\n Value = unknown,\n Props extends ValueProps<Value> = ValueProps<Value>,\n>(localProps: Props): Props & ValueProps<Value> {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const { extend } = useContext(ValueProviderContext)\n const props = extend(localProps)\n\n // Only to log a warning in the Value.SummaryList component\n const { verifyChild } = useContext(SummaryListContext) || {}\n verifyChild?.()\n\n const {\n path: pathProp,\n value: valueProp,\n itemPath,\n defaultValue,\n inheritVisibility,\n inheritLabel,\n transformIn = (external: unknown) => external as Value,\n toInput = (internal: Value) => internal,\n fromExternal = (external: Value) => external,\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 fieldInternalsRef,\n mountedFieldsRef,\n setValueInternals,\n setFieldEventListener,\n } = useContext(DataContext) || {}\n setValueInternals?.(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\n ? fieldInternalsRef?.current?.[path]?.props?.label\n : undefined)\n\n return { ...props, label, value }\n}\n"],"mappings":"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"}
@@ -264,15 +264,15 @@ fieldset.dnb-forms-field-block {
264
264
  fieldset.dnb-forms-field-block:not([class*=space__top]) {
265
265
  margin-top: 0;
266
266
  }
267
- fieldset.dnb-forms-field-block:not([class*=space__right]) {
268
- margin-right: 0;
269
- }
270
267
  fieldset.dnb-forms-field-block:not([class*=space__bottom]) {
271
268
  margin-bottom: 0;
272
269
  }
273
270
  fieldset.dnb-forms-field-block:not([class*=space__left]) {
274
271
  margin-left: 0;
275
272
  }
273
+ fieldset.dnb-forms-field-block:not([class*=space__right]) {
274
+ margin-right: 0;
275
+ }
276
276
 
277
277
  .dnb-forms-field-block {
278
278
  --label-margin: 0.25rem;
@@ -499,19 +499,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
499
499
  .dnb-forms-section-block__inner {
500
500
  flex: 1;
501
501
  outline: none;
502
- margin-bottom: var(--space);
503
502
  transition: transform 400ms var(--easing-default) 50ms, box-shadow 0.8s var(--easing-default);
504
503
  transform: translateY(-2.5rem);
505
504
  }
506
- .dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-small) {
507
- --space: var(--spacing-small);
508
- }
509
- .dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-medium) {
510
- --space: var(--spacing-medium);
511
- }
512
- .dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-large) {
513
- --space: var(--spacing-large);
514
- }
515
505
  .dnb-forms-section-block__inner .dnb-dl .dnb-dd {
516
506
  margin-bottom: 0;
517
507
  }
@@ -652,9 +642,25 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
652
642
  .dnb-forms-iterate__element {
653
643
  outline: none;
654
644
  }
645
+ .dnb-forms-iterate:has(.dnb-forms-iterate__element.dnb-space__top--small) {
646
+ --block-gap: var(--spacing-small);
647
+ }
648
+ .dnb-forms-iterate:has(.dnb-forms-iterate__element.dnb-space__top--medium) {
649
+ --block-gap: var(--spacing-medium);
650
+ }
651
+ .dnb-forms-iterate:has(.dnb-forms-iterate__element.dnb-space__top--large) {
652
+ --block-gap: var(--spacing-large);
653
+ }
655
654
  .dnb-forms-iterate > .dnb-forms-iterate__element:has(> .dnb-forms-section-block) {
656
655
  margin-top: 0;
657
656
  }
657
+ .dnb-forms-iterate > .dnb-forms-iterate__element:has(> .dnb-forms-section-block) .dnb-forms-section-block__inner {
658
+ margin-bottom: var(--block-gap, var(--spacing-large));
659
+ }
660
+ .dnb-forms-iterate > .dnb-forms-iterate__element:has(> .dnb-forms-section-block):has(~ .dnb-forms-iterate__element) ~ .dnb-hr {
661
+ margin-top: 0;
662
+ margin-bottom: var(--block-gap);
663
+ }
658
664
 
659
665
  .dnb-forms-value-upload__item .dnb-progress-indicator {
660
666
  display: inline-flex;
@@ -667,10 +673,15 @@ html[data-visual-test] .dnb-forms-submit-indicator__content b {
667
673
  .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt, .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) > .dnb-dd > .dnb-dl, .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space]) > .dnb-dd > .dnb-dl {
668
674
  margin: 0;
669
675
  }
676
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt:empty,
677
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dd:empty {
678
+ display: none;
679
+ }
670
680
  .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd {
671
681
  margin-bottom: var(--spacing-medium);
682
+ transition: margin-bottom 300ms var(--easing-default);
672
683
  }
673
- .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type {
684
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type, .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd:has(~ .dnb-dt:empty ~ .dnb-dd:empty) {
674
685
  margin-bottom: 0;
675
686
  }
676
687
 
@@ -1 +1 @@
1
- .dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--variant-button{--row-gap:var(--spacing-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-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{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--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}@media screen and (max-width:xx-small0){.dnb-forms-field-number .dnb-input__shell{width:90%}}.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--options-layout--vertical.dnb-forms-field-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.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%}.dnb-forms-field-string .dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label.dnb-form-label{align-items:baseline}@media screen and (max-width:xx-small0){.dnb-forms-field-string .dnb-input__shell{width:90%}}.dnb-forms-field-upload .dnb-help-button__content .dnb-section{margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}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{--label-margin:0.25rem;--max-width:var(--forms-field-width--large)}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}.dnb-forms-field-block--width-stretch label.dnb-form-label{max-width:none}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.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:not([class*="--content-width"]){--max-width:60ch}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--max-width)}.dnb-forms-field-block__label.dnb-form-label__description,.dnb-forms-field-block__label__description{margin-left:.3em}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:60ch}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;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-custom{width:calc(var(--dnb-forms-field-block-content-width))}.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__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{-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__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}.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:not([style*="--outset"])+.dnb-button--primary:not([class*=space__left]),.dnb-card:not([style*="--outset"])+.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}.dnb-forms-main-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.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;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-small){--space:var(--spacing-small)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-medium){--space:var(--spacing-medium)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-large){--space:var(--spacing-large)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--variant-basic{--border-color:transparent}.dnb-card .dnb-forms-section-block--variant-basic .dnb-card,.dnb-forms-section-block--variant-basic .dnb-card{--card-outline-color:transparent}.dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}.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-sub-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.dnb-forms-submit-indicator{--padding-left:0.5em;--font-animation:font-size var(--font-animation-duration,400ms) var(--easing-default);--opacity-animation:opacity var(--opacity-animation-duration,0ms) var(--easing-default) var(--opacity-animation-delay,0ms);display:inline}.dnb-forms-submit-indicator:has(.dnb-forms-submit-indicator__label){--font-animation-duration:400ms;--opacity-animation-duration:400ms;--opacity-animation-delay:250ms}.dnb-forms-submit-indicator__label{padding:.5em 0}.dnb-forms-submit-indicator__content{align-items:center;font-size:0;line-height:1em;opacity:0;transition:var(--font-animation),var(--opacity-animation);will-change:font-size opacity}.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);font-weight:var(--font-weight-bold);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;opacity:1}.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-value-upload__item .dnb-progress-indicator{display:inline-flex;vertical-align:middle}.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__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-x-large);column-gap:var(--spacing-x-large);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 (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-form__status-message{margin-left:21.5rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;display:flex;padding:.5rem 1rem;width:100%}
1
+ .dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--variant-button{--row-gap:var(--spacing-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-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{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--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}@media screen and (max-width:xx-small0){.dnb-forms-field-number .dnb-input__shell{width:90%}}.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--options-layout--vertical.dnb-forms-field-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.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%}.dnb-forms-field-string .dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label.dnb-form-label{align-items:baseline}@media screen and (max-width:xx-small0){.dnb-forms-field-string .dnb-input__shell{width:90%}}.dnb-forms-field-upload .dnb-help-button__content .dnb-section{margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}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__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}.dnb-forms-field-block{--label-margin:0.25rem;--max-width:var(--forms-field-width--large)}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}.dnb-forms-field-block--width-stretch label.dnb-form-label{max-width:none}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.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:not([class*="--content-width"]){--max-width:60ch}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--max-width)}.dnb-forms-field-block__label.dnb-form-label__description,.dnb-forms-field-block__label__description{margin-left:.3em}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:60ch}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;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-custom{width:calc(var(--dnb-forms-field-block-content-width))}.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__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{-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__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}.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:not([style*="--outset"])+.dnb-button--primary:not([class*=space__left]),.dnb-card:not([style*="--outset"])+.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}.dnb-forms-main-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.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;outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--variant-basic{--border-color:transparent}.dnb-card .dnb-forms-section-block--variant-basic .dnb-card,.dnb-forms-section-block--variant-basic .dnb-card{--card-outline-color:transparent}.dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}.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-sub-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.dnb-forms-submit-indicator{--padding-left:0.5em;--font-animation:font-size var(--font-animation-duration,400ms) var(--easing-default);--opacity-animation:opacity var(--opacity-animation-duration,0ms) var(--easing-default) var(--opacity-animation-delay,0ms);display:inline}.dnb-forms-submit-indicator:has(.dnb-forms-submit-indicator__label){--font-animation-duration:400ms;--opacity-animation-duration:400ms;--opacity-animation-delay:250ms}.dnb-forms-submit-indicator__label{padding:.5em 0}.dnb-forms-submit-indicator__content{align-items:center;font-size:0;line-height:1em;opacity:0;transition:var(--font-animation),var(--opacity-animation);will-change:font-size opacity}.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);font-weight:var(--font-weight-bold);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;opacity:1}.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:has(.dnb-forms-iterate__element.dnb-space__top--small){--block-gap:var(--spacing-small)}.dnb-forms-iterate:has(.dnb-forms-iterate__element.dnb-space__top--medium){--block-gap:var(--spacing-medium)}.dnb-forms-iterate:has(.dnb-forms-iterate__element.dnb-space__top--large){--block-gap:var(--spacing-large)}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block) .dnb-forms-section-block__inner{margin-bottom:var(--block-gap,var(--spacing-large))}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block):has(~.dnb-forms-iterate__element)~.dnb-hr{margin-bottom:var(--block-gap);margin-top:0}.dnb-forms-value-upload__item .dnb-progress-indicator{display:inline-flex;vertical-align:middle}.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) .dnb-dd:empty,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt:empty{display:none}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium);transition:margin-bottom .3s var(--easing-default)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:has(~.dnb-dt:empty~.dnb-dd:empty),.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__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-x-large);column-gap:var(--spacing-x-large);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 (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-form__status-message{margin-left:21.5rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;display:flex;padding:.5rem 1rem;width:100%}
@@ -6,6 +6,7 @@ import type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema';
6
6
  import type { JSONSchemaType } from 'ajv/dist/2020';
7
7
  import { JsonObject, FormError } from './utils';
8
8
  import { FormsTranslationFlat, FormsTranslationLocale } from './hooks/useTranslation';
9
+ import { GetValueByPath } from './hooks/useDataValue';
9
10
  export type * from 'json-schema';
10
11
  export type JSONSchema = JSONSchema7;
11
12
  export type AllJSONSchemaVersionsBasis<DataType> = JSONSchema4 | JSONSchema6 | JSONSchema7 | JSONSchemaType<DataType>;
@@ -13,9 +14,9 @@ export type AllJSONSchemaVersions<DataType = unknown> = AllJSONSchemaVersionsBas
13
14
  required?: readonly string[];
14
15
  });
15
16
  export { JSONSchemaType };
16
- export type ValidatorReturnSync<Value> = Error | undefined | void | Array<Validator<Value>>;
17
+ export type ValidatorReturnSync<Value> = Error | FormError | undefined | void | Array<Validator<Value>> | Array<Error | FormError>;
17
18
  export type ValidatorReturnAsync<Value> = ValidatorReturnSync<Value> | Promise<ValidatorReturnSync<Value>>;
18
- export type Validator<Value, ErrorMessages = DefaultErrorMessages> = (value: Value, additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>) => ValidatorReturnAsync<Value>;
19
+ export type Validator<Value, ErrorMessages = DefaultErrorMessages> = (value: Value, additionalArgs: ValidatorAdditionalArgs<Value, ErrorMessages>) => ValidatorReturnAsync<Value>;
19
20
  export type ValidatorAdditionalArgs<Value, ErrorMessages = DefaultErrorMessages> = {
20
21
  /**
21
22
  * Returns the error messages from the { errorMessages } object.
@@ -28,10 +29,17 @@ export type ValidatorAdditionalArgs<Value, ErrorMessages = DefaultErrorMessages>
28
29
  connectWithPath: (path: Path) => {
29
30
  getValue: () => Value;
30
31
  };
32
+ /**
33
+ * Connects the validator to another field within an Iterate.Array.
34
+ * This allows you to rerun the validator function once the value of the connected field changes.
35
+ */
36
+ connectWithItemPath: (path: Path) => {
37
+ getValue: () => Value;
38
+ };
31
39
  /**
32
40
  * Returns the validators from the { exportValidators } object.
33
41
  */
34
- validators: Record<string, Validator<Value>>;
42
+ validators: Record<string, Validator<Value>> | undefined;
35
43
  } & {
36
44
  /** @deprecated use the error messages from the { errorMessages } object instead. */
37
45
  pattern?: string;
@@ -124,6 +132,18 @@ export type ComponentProps = SpacingProps & {
124
132
  export type AdditionalEventArgs = Record<string, unknown>;
125
133
  export type DataValueReadComponentProps<Value = unknown> = ComponentProps & DataValueReadProps<Value>;
126
134
  export type DataValueReadWriteComponentProps<Value = unknown, EmptyValue = undefined | unknown> = ComponentProps & DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
135
+ export type MessagePropParams<Value, ReturnValue> = {
136
+ conditionally: (callback: () => ReturnValue | void, options?: {
137
+ showInitially?: boolean;
138
+ }) => ReturnValue;
139
+ getValueByPath: GetValueByPath<Value>;
140
+ getFieldByPath: (path: Path) => {
141
+ props: FieldProps;
142
+ id: Identifier;
143
+ };
144
+ };
145
+ export type MessageProp<Value, ReturnValue> = ReturnValue | ((value: Value, options: MessagePropParams<Value, ReturnValue>) => ReturnValue);
146
+ export type MessageTypes<Value> = UseFieldProps<Value>['info'] | UseFieldProps<Value>['warning'] | UseFieldProps<Value>['error'];
127
147
  export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> extends DataValueReadWriteComponentProps<Value, EmptyValue>, AriaAttributes {
128
148
  /**
129
149
  * ID added to the actual field component, and linked to the label via for-attribute
@@ -147,9 +167,9 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
147
167
  * Forwards all given props in a props object.
148
168
  */
149
169
  props?: Record<string, unknown>;
150
- info?: React.ReactNode;
151
- warning?: React.ReactNode;
152
- error?: Error | FormError | Array<Error | FormError>;
170
+ info?: MessageProp<Value, React.ReactNode | Array<React.ReactNode>>;
171
+ warning?: MessageProp<Value, React.ReactNode | Array<React.ReactNode>>;
172
+ error?: MessageProp<Value, Error | FormError | Array<Error | FormError>>;
153
173
  required?: boolean;
154
174
  schema?: AllJSONSchemaVersions<Value>;
155
175
  /** @deprecated Use `onChangeValidator` instead */
@@ -177,7 +197,14 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
177
197
  /**
178
198
  * Should validation be done while writing, not just when blurring the field?
179
199
  */
200
+ /**
201
+ * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.
202
+ */
180
203
  continuousValidation?: boolean;
204
+ /**
205
+ * Should validation be done while writing, not just when blurring the field?
206
+ */
207
+ validateContinuously?: boolean;
181
208
  /**
182
209
  * Provide custom error messages for the field
183
210
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { AriaAttributes } from 'react'\nimport type { SpacingProps } from '../../components/space/types'\nimport type {\n FilterData,\n TransformData,\n VisibleDataOptions,\n} from './DataContext'\nimport type { SharedFieldBlockProps } from './FieldBlock'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject, FormError } from './utils'\nimport {\n FormsTranslationFlat,\n FormsTranslationLocale,\n} from './hooks/useTranslation'\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\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\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 GlobalErrorMessagesWithPaths =\n | VariousErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: VariousErrorMessages\n }\n\n/**\n * 'MyCustom.message': 'Your custom message'\n */\nexport type DotNotationErrorMessages = Record<\n `${string}` | `${string}.${string}`,\n string\n>\n/**\n * { 'nb-NO': { 'Field.errorRequired': 'Dette feltet er påkrevd' } }\n */\nexport type ErrorMessagesWithLocaleSupport = Record<\n FormsTranslationLocale,\n DefaultErrorMessages\n>\n\nexport type InternalErrorMessages = Record<FormsTranslationFlat, string>\nexport type DefaultErrorMessages = Partial<InternalErrorMessages> &\n Partial<DotNotationErrorMessages> &\n Partial<DeprecatedErrorMessages>\n\nexport type VariousErrorMessages =\n | DefaultErrorMessages\n | ErrorMessagesWithLocaleSupport\n\nexport type DeprecatedErrorMessages = {\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorRequired)\n */\n required?: string\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorPattern)\n */\n pattern?: string\n /**\n * @deprecated use StringField.errorMinLength instead\n */\n minLength?: string\n /**\n * @deprecated use StringField.errorMaxLength instead\n */\n maxLength?: string\n /**\n * @deprecated use NumberField.errorMinimum instead\n */\n minimum?: string\n /**\n * @deprecated use NumberField.errorMaximum instead\n */\n maximum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMinimum instead\n */\n exclusiveMinimum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMaximum instead\n */\n exclusiveMaximum?: string\n /**\n * @deprecated use NumberField.errorMultipleOf instead\n */\n multipleOf?: 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 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 * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\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 | Array<Error | FormError>\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n /** @deprecated Use `onChangeValidator` instead */\n validator?: Validator<Value>\n onChangeValidator?: 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 it's displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: unknown) => Value\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?: (internal: Value, additionalArgs?: unknown) => unknown\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> & SharedFieldBlockProps\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 ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /** Use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\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 label before it gets displayed. Receives the label as the first parameter. The second parameter is a object containing the `convertJsxToString` function.\n */\n transformLabel?: (\n label: React.ReactNode,\n convertJsxToString: (label: React.ReactNode) => string\n ) => React.ReactNode\n\n /**\n * Transforms the `value` before it's 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<Data = JsonObject> = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: Data,\n options?: VisibleDataOptions\n ) => Partial<Data>\n\n /** Will call the given function for each data path. The returned `value` will replace each data entry. It's up to you to define the shape of the value. */\n transformData: (data: Data, handler: TransformData) => Partial<Data>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<Data>\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 transformData,\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 }: {\n clearData: () => void\n preventCommit?: () => void\n }\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":"AA4JA,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAExD,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OACvCP,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCR,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCK,KAAA;IAAA,IAAC,CAACH,GAAG,CAAC,GAAAG,KAAA;IAAA,OAAK,CAACX,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC9C,CACF,CAAC;AACH;AAsBA,MAAMI,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCX,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACQ,KAAA;IAAA,IAAC,CAACN,GAAG,CAAC,GAAAM,KAAA;IAAA,OACvCF,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACnC,CACF,CAAC;AACH;AAEA,OAAO,SAASO,uBAAuBA,CACrCb,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCU,KAAA;IAAA,IAAC,CAACR,GAAG,CAAC,GAAAQ,KAAA;IAAA,OAAK,CAACJ,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC/C,CACF,CAAC;AACH;AAOA,OAAO,SAASS,2BAA2BA,CAEzCf,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCY,KAAA;IAAA,IAAC,CAACV,GAAG,CAAC,GAAAU,KAAA;IAAA,OACJlB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IAChCI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACrC,CACF,CAAC;AACH;AAEA,OAAO,SAASW,2BAA2BA,CAGzCjB,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCc,KAAA;IAAA,IAAC,CAACZ,GAAG,CAAC,GAAAY,KAAA;IAAA,OACJ,CAACpB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACtC,CACF,CAAC;AACH"}
1
+ {"version":3,"file":"types.js","names":["dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { AriaAttributes } from 'react'\nimport type { SpacingProps } from '../../components/space/types'\nimport type {\n FilterData,\n TransformData,\n VisibleDataOptions,\n} from './DataContext'\nimport type { SharedFieldBlockProps } from './FieldBlock'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject, FormError } from './utils'\nimport {\n FormsTranslationFlat,\n FormsTranslationLocale,\n} from './hooks/useTranslation'\nimport { GetValueByPath } from './hooks/useDataValue'\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\nexport type ValidatorReturnSync<Value> =\n | Error\n | FormError\n | undefined\n | void\n | Array<Validator<Value>>\n | Array<Error | FormError>\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 * Connects the validator to another field within an Iterate.Array.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithItemPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>> | undefined\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\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 GlobalErrorMessagesWithPaths =\n | VariousErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: VariousErrorMessages\n }\n\n/**\n * 'MyCustom.message': 'Your custom message'\n */\nexport type DotNotationErrorMessages = Record<\n `${string}` | `${string}.${string}`,\n string\n>\n/**\n * { 'nb-NO': { 'Field.errorRequired': 'Dette feltet er påkrevd' } }\n */\nexport type ErrorMessagesWithLocaleSupport = Record<\n FormsTranslationLocale,\n DefaultErrorMessages\n>\n\nexport type InternalErrorMessages = Record<FormsTranslationFlat, string>\nexport type DefaultErrorMessages = Partial<InternalErrorMessages> &\n Partial<DotNotationErrorMessages> &\n Partial<DeprecatedErrorMessages>\n\nexport type VariousErrorMessages =\n | DefaultErrorMessages\n | ErrorMessagesWithLocaleSupport\n\nexport type DeprecatedErrorMessages = {\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorRequired)\n */\n required?: string\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorPattern)\n */\n pattern?: string\n /**\n * @deprecated use StringField.errorMinLength instead\n */\n minLength?: string\n /**\n * @deprecated use StringField.errorMaxLength instead\n */\n maxLength?: string\n /**\n * @deprecated use NumberField.errorMinimum instead\n */\n minimum?: string\n /**\n * @deprecated use NumberField.errorMaximum instead\n */\n maximum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMinimum instead\n */\n exclusiveMinimum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMaximum instead\n */\n exclusiveMaximum?: string\n /**\n * @deprecated use NumberField.errorMultipleOf instead\n */\n multipleOf?: 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 MessagePropParams<Value, ReturnValue> = {\n conditionally: (\n callback: () => ReturnValue | void,\n options?: {\n showInitially?: boolean\n }\n ) => ReturnValue\n getValueByPath: GetValueByPath<Value>\n getFieldByPath: (path: Path) => {\n props: FieldProps\n id: Identifier\n }\n}\nexport type MessageProp<Value, ReturnValue> =\n | ReturnValue\n | ((\n value: Value,\n options: MessagePropParams<Value, ReturnValue>\n ) => ReturnValue)\nexport type MessageTypes<Value> =\n | UseFieldProps<Value>['info']\n | UseFieldProps<Value>['warning']\n | UseFieldProps<Value>['error']\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 * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\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?: MessageProp<Value, React.ReactNode | Array<React.ReactNode>>\n warning?: MessageProp<Value, React.ReactNode | Array<React.ReactNode>>\n error?: MessageProp<Value, Error | FormError | Array<Error | FormError>>\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n /** @deprecated Use `onChangeValidator` instead */\n validator?: Validator<Value>\n onChangeValidator?: 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 /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n validateContinuously?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before it's displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: unknown) => Value\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?: (internal: Value, additionalArgs?: unknown) => unknown\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> & SharedFieldBlockProps\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 ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /** Use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\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 label before it gets displayed. Receives the label as the first parameter. The second parameter is a object containing the `convertJsxToString` function.\n */\n transformLabel?: (\n label: React.ReactNode,\n convertJsxToString: (label: React.ReactNode) => string\n ) => React.ReactNode\n\n /**\n * Transforms the `value` before it's 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<Data = JsonObject> = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: Data,\n options?: VisibleDataOptions\n ) => Partial<Data>\n\n /** Will call the given function for each data path. The returned `value` will replace each data entry. It's up to you to define the shape of the value. */\n transformData: (data: Data, handler: TransformData) => Partial<Data>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<Data>\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 transformData,\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 }: {\n clearData: () => void\n preventCommit?: () => void\n }\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":"AAqKA,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAExD,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OACvCP,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCR,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCK,KAAA;IAAA,IAAC,CAACH,GAAG,CAAC,GAAAG,KAAA;IAAA,OAAK,CAACX,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC9C,CACF,CAAC;AACH;AAsBA,MAAMI,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCX,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACQ,KAAA;IAAA,IAAC,CAACN,GAAG,CAAC,GAAAM,KAAA;IAAA,OACvCF,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACnC,CACF,CAAC;AACH;AAEA,OAAO,SAASO,uBAAuBA,CACrCb,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCU,KAAA;IAAA,IAAC,CAACR,GAAG,CAAC,GAAAQ,KAAA;IAAA,OAAK,CAACJ,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC/C,CACF,CAAC;AACH;AAOA,OAAO,SAASS,2BAA2BA,CAEzCf,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCY,KAAA;IAAA,IAAC,CAACV,GAAG,CAAC,GAAAU,KAAA;IAAA,OACJlB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IAChCI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACrC,CACF,CAAC;AACH;AAEA,OAAO,SAASW,2BAA2BA,CAGzCjB,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCc,KAAA;IAAA,IAAC,CAACZ,GAAG,CAAC,GAAAY,KAAA;IAAA,OACJ,CAACpB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACtC,CACF,CAAC;AACH"}
@@ -1,3 +1,6 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ 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; }
3
+ 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; }
1
4
  export function get(obj, pointer) {
2
5
  const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
3
6
  for (let i = 0; i < refTokens.length; ++i) {
@@ -34,6 +37,9 @@ export function set(obj, pointer, value) {
34
37
  obj[tok] = {};
35
38
  }
36
39
  }
40
+ if (Object.isFrozen(obj[tok])) {
41
+ obj[tok] = _objectSpread({}, obj[tok]);
42
+ }
37
43
  obj = obj[tok];
38
44
  }
39
45
  if (nextTok === '-' && Array.isArray(obj)) {
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer.js","names":["get","obj","pointer","refTokens","Array","isArray","parse","i","length","tok","Error","set","value","nextTok","String","match","remove","finalToken","undefined","parent","slice","index","isNaN","prototype","splice","call","dict","descend","arguments","results","walk","iterator","type","Object","toString","next","cur","reduce","acc","keys","forEach","key","push","compile","pop","has","e","escape","str","replace","unescape","charAt","substring","split","map","join"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/json-pointer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PointerPath = string | Array<string>\nexport type JsonValue = unknown\nexport type JsonObject = Record<string | number, unknown> | Array<unknown>\n\n/**\n * Lookup a json pointer in an object\n */\nexport function get<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n\n for (let i = 0; i < refTokens.length; ++i) {\n const tok = refTokens[i]\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok)\n }\n obj = obj[tok] as T\n }\n\n return obj as T\n}\n\n/**\n * Sets a value on an object\n */\nexport function set<T = JsonObject>(\n obj: T,\n pointer: PointerPath,\n value: JsonValue\n) {\n const refTokens = (\n Array.isArray(pointer) ? pointer : parse(pointer)\n ) as Array<number | string>\n let nextTok = refTokens[0]\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object')\n }\n\n for (let i = 0; i < refTokens.length - 1; ++i) {\n let tok = refTokens[i]\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (\n tok === '__proto__' ||\n tok === 'constructor' ||\n tok === 'prototype'\n ) {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length\n }\n nextTok = refTokens[i + 1] as string\n\n if (!(tok in (obj as JsonObject))) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = []\n } else {\n obj[tok] = {}\n }\n }\n obj = obj[tok] as T\n }\n\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length\n }\n\n obj[nextTok] = value\n}\n\n/**\n * Removes an attribute\n */\nexport function remove<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n const finalToken = refTokens[refTokens.length - 1]\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"')\n }\n\n const parent = get(obj, refTokens.slice(0, -1))\n if (Array.isArray(parent)) {\n const index = +finalToken\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"')\n }\n\n Array.prototype.splice.call(parent, index, 1)\n } else {\n delete parent[finalToken]\n }\n}\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n */\nexport function dict<T = JsonObject>(obj: T, descend = null) {\n const results = {}\n walk(\n obj,\n function (value, pointer: string) {\n results[pointer] = value\n },\n descend\n )\n return results\n}\n\n/**\n * Iterates over an object\n */\nexport function walk<T = JsonObject>(obj: T, iterator, descend = null) {\n const refTokens = []\n\n descend =\n descend ||\n function (value) {\n const type = Object.prototype.toString.call(value)\n return type === '[object Object]' || type === '[object Array]'\n }\n\n function next(cur) {\n if (Array.isArray(cur)) {\n cur = cur.reduce((acc, cur, i) => {\n acc[i] = cur\n return acc\n }, {})\n }\n\n Object.keys(cur).forEach((key) => {\n refTokens.push(String(key))\n if (descend(cur[key])) {\n next(cur[key])\n } else {\n iterator(cur[key], compile(refTokens))\n }\n refTokens.pop()\n })\n }\n\n next(obj)\n}\n\n/**\n * Tests if an object has a value for a json pointer\n */\nexport function has<T = JsonObject>(obj: T, pointer: PointerPath) {\n try {\n get<T>(obj, pointer)\n } catch (e) {\n return false\n }\n return true\n}\n\n/**\n * Escapes a reference token\n */\nexport function escape(str: string) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1')\n}\n\n/**\n * Unescape a reference token\n */\nexport function unescape(str: string) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~')\n}\n\n/**\n * Converts a json pointer into a array of reference tokens\n */\nexport function parse(pointer: Extract<PointerPath, string>): PointerPath {\n if (pointer === '') {\n return []\n }\n if (pointer?.charAt(0) !== '/') {\n throw new Error('Invalid JSON pointer: ' + pointer)\n }\n return pointer.substring(1).split(/\\//).map(unescape)\n}\n\n/**\n * Builds a json pointer from a array of reference tokens\n */\nexport function compile(refTokens: Extract<PointerPath, Array<string>>) {\n if (refTokens.length === 0) {\n return ''\n }\n return '/' + refTokens.map(escape).join('/')\n}\n"],"mappings":"AASA,OAAO,SAASA,GAAGA,CAAiBC,GAAM,EAAEC,OAAoB,EAAE;EAChE,MAAMC,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,GAAGA,OAAO,GAAGI,KAAK,CAACJ,OAAO,CAAC;EAEnE,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,SAAS,CAACK,MAAM,EAAE,EAAED,CAAC,EAAE;IACzC,MAAME,GAAG,GAAGN,SAAS,CAACI,CAAC,CAAC;IACxB,IAAI,EAAE,OAAON,GAAG,IAAI,QAAQ,IAAIQ,GAAG,IAAIR,GAAG,CAAC,EAAE;MAC3C,MAAM,IAAIS,KAAK,CAAC,2BAA2B,GAAGD,GAAG,CAAC;IACpD;IACAR,GAAG,GAAGA,GAAG,CAACQ,GAAG,CAAM;EACrB;EAEA,OAAOR,GAAG;AACZ;AAKA,OAAO,SAASU,GAAGA,CACjBV,GAAM,EACNC,OAAoB,EACpBU,KAAgB,EAChB;EACA,MAAMT,SAAS,GACbC,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,GAAGA,OAAO,GAAGI,KAAK,CAACJ,OAAO,CACvB;EAC3B,IAAIW,OAAO,GAAGV,SAAS,CAAC,CAAC,CAAC;EAE1B,IAAIA,SAAS,CAACK,MAAM,KAAK,CAAC,EAAE;IAC1B,MAAME,KAAK,CAAC,6BAA6B,CAAC;EAC5C;EAEA,KAAK,IAAIH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,SAAS,CAACK,MAAM,GAAG,CAAC,EAAE,EAAED,CAAC,EAAE;IAC7C,IAAIE,GAAG,GAAGN,SAAS,CAACI,CAAC,CAAC;IACtB,IAAI,OAAOE,GAAG,KAAK,QAAQ,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MACtDA,GAAG,GAAGK,MAAM,CAACL,GAAG,CAAC;IACnB;IACA,IACEA,GAAG,KAAK,WAAW,IACnBA,GAAG,KAAK,aAAa,IACrBA,GAAG,KAAK,WAAW,EACnB;MACA;IACF;IACA,IAAIA,GAAG,KAAK,GAAG,IAAIL,KAAK,CAACC,OAAO,CAACJ,GAAG,CAAC,EAAE;MACrCQ,GAAG,GAAGR,GAAG,CAACO,MAAM;IAClB;IACAK,OAAO,GAAGV,SAAS,CAACI,CAAC,GAAG,CAAC,CAAW;IAEpC,IAAI,EAAEE,GAAG,IAAKR,GAAkB,CAAC,EAAE;MACjC,IAAIY,OAAO,CAACE,KAAK,CAAC,WAAW,CAAC,EAAE;QAC9Bd,GAAG,CAACQ,GAAG,CAAC,GAAG,EAAE;MACf,CAAC,MAAM;QACLR,GAAG,CAACQ,GAAG,CAAC,GAAG,CAAC,CAAC;MACf;IACF;IACAR,GAAG,GAAGA,GAAG,CAACQ,GAAG,CAAM;EACrB;EAEA,IAAII,OAAO,KAAK,GAAG,IAAIT,KAAK,CAACC,OAAO,CAACJ,GAAG,CAAC,EAAE;IACzCY,OAAO,GAAGZ,GAAG,CAACO,MAAM;EACtB;EAEAP,GAAG,CAACY,OAAO,CAAC,GAAGD,KAAK;AACtB;AAKA,OAAO,SAASI,MAAMA,CAAiBf,GAAM,EAAEC,OAAoB,EAAE;EACnE,MAAMC,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,GAAGA,OAAO,GAAGI,KAAK,CAACJ,OAAO,CAAC;EACnE,MAAMe,UAAU,GAAGd,SAAS,CAACA,SAAS,CAACK,MAAM,GAAG,CAAC,CAAC;EAClD,IAAIS,UAAU,KAAKC,SAAS,EAAE;IAC5B,MAAM,IAAIR,KAAK,CAAC,oCAAoC,GAAGR,OAAO,GAAG,GAAG,CAAC;EACvE;EAEA,MAAMiB,MAAM,GAAGnB,GAAG,CAACC,GAAG,EAAEE,SAAS,CAACiB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAC/C,IAAIhB,KAAK,CAACC,OAAO,CAACc,MAAM,CAAC,EAAE;IACzB,MAAME,KAAK,GAAG,CAACJ,UAAU;IACzB,IAAIA,UAAU,KAAK,EAAE,IAAIK,KAAK,CAACD,KAAK,CAAC,EAAE;MACrC,MAAM,IAAIX,KAAK,CAAC,wBAAwB,GAAGO,UAAU,GAAG,GAAG,CAAC;IAC9D;IAEAb,KAAK,CAACmB,SAAS,CAACC,MAAM,CAACC,IAAI,CAACN,MAAM,EAAEE,KAAK,EAAE,CAAC,CAAC;EAC/C,CAAC,MAAM;IACL,OAAOF,MAAM,CAACF,UAAU,CAAC;EAC3B;AACF;AAKA,OAAO,SAASS,IAAIA,CAAiBzB,GAAM,EAAkB;EAAA,IAAhB0B,OAAO,GAAAC,SAAA,CAAApB,MAAA,QAAAoB,SAAA,QAAAV,SAAA,GAAAU,SAAA,MAAG,IAAI;EACzD,MAAMC,OAAO,GAAG,CAAC,CAAC;EAClBC,IAAI,CACF7B,GAAG,EACH,UAAUW,KAAK,EAAEV,OAAe,EAAE;IAChC2B,OAAO,CAAC3B,OAAO,CAAC,GAAGU,KAAK;EAC1B,CAAC,EACDe,OACF,CAAC;EACD,OAAOE,OAAO;AAChB;AAKA,OAAO,SAASC,IAAIA,CAAiB7B,GAAM,EAAE8B,QAAQ,EAAkB;EAAA,IAAhBJ,OAAO,GAAAC,SAAA,CAAApB,MAAA,QAAAoB,SAAA,QAAAV,SAAA,GAAAU,SAAA,MAAG,IAAI;EACnE,MAAMzB,SAAS,GAAG,EAAE;EAEpBwB,OAAO,GACLA,OAAO,IACP,UAAUf,KAAK,EAAE;IACf,MAAMoB,IAAI,GAAGC,MAAM,CAACV,SAAS,CAACW,QAAQ,CAACT,IAAI,CAACb,KAAK,CAAC;IAClD,OAAOoB,IAAI,KAAK,iBAAiB,IAAIA,IAAI,KAAK,gBAAgB;EAChE,CAAC;EAEH,SAASG,IAAIA,CAACC,GAAG,EAAE;IACjB,IAAIhC,KAAK,CAACC,OAAO,CAAC+B,GAAG,CAAC,EAAE;MACtBA,GAAG,GAAGA,GAAG,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEF,GAAG,EAAE7B,CAAC,KAAK;QAChC+B,GAAG,CAAC/B,CAAC,CAAC,GAAG6B,GAAG;QACZ,OAAOE,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACR;IAEAL,MAAM,CAACM,IAAI,CAACH,GAAG,CAAC,CAACI,OAAO,CAAEC,GAAG,IAAK;MAChCtC,SAAS,CAACuC,IAAI,CAAC5B,MAAM,CAAC2B,GAAG,CAAC,CAAC;MAC3B,IAAId,OAAO,CAACS,GAAG,CAACK,GAAG,CAAC,CAAC,EAAE;QACrBN,IAAI,CAACC,GAAG,CAACK,GAAG,CAAC,CAAC;MAChB,CAAC,MAAM;QACLV,QAAQ,CAACK,GAAG,CAACK,GAAG,CAAC,EAAEE,OAAO,CAACxC,SAAS,CAAC,CAAC;MACxC;MACAA,SAAS,CAACyC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC;EACJ;EAEAT,IAAI,CAAClC,GAAG,CAAC;AACX;AAKA,OAAO,SAAS4C,GAAGA,CAAiB5C,GAAM,EAAEC,OAAoB,EAAE;EAChE,IAAI;IACFF,GAAG,CAAIC,GAAG,EAAEC,OAAO,CAAC;EACtB,CAAC,CAAC,OAAO4C,CAAC,EAAE;IACV,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb;AAKA,OAAO,SAASC,MAAMA,CAACC,GAAW,EAAE;EAClC,OAAOA,GAAG,CAACd,QAAQ,CAAC,CAAC,CAACe,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AAChE;AAKA,OAAO,SAASC,QAAQA,CAACF,GAAW,EAAE;EACpC,OAAOA,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACpD;AAKA,OAAO,SAAS3C,KAAKA,CAACJ,OAAqC,EAAe;EACxE,IAAIA,OAAO,KAAK,EAAE,EAAE;IAClB,OAAO,EAAE;EACX;EACA,IAAI,CAAAA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiD,MAAM,CAAC,CAAC,CAAC,MAAK,GAAG,EAAE;IAC9B,MAAM,IAAIzC,KAAK,CAAC,wBAAwB,GAAGR,OAAO,CAAC;EACrD;EACA,OAAOA,OAAO,CAACkD,SAAS,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,IAAI,CAAC,CAACC,GAAG,CAACJ,QAAQ,CAAC;AACvD;AAKA,OAAO,SAASP,OAAOA,CAACxC,SAA8C,EAAE;EACtE,IAAIA,SAAS,CAACK,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,EAAE;EACX;EACA,OAAO,GAAG,GAAGL,SAAS,CAACmD,GAAG,CAACP,MAAM,CAAC,CAACQ,IAAI,CAAC,GAAG,CAAC;AAC9C"}
1
+ {"version":3,"file":"json-pointer.js","names":["get","obj","pointer","refTokens","Array","isArray","parse","i","length","tok","Error","set","value","nextTok","String","match","Object","isFrozen","_objectSpread","remove","finalToken","undefined","parent","slice","index","isNaN","prototype","splice","call","dict","descend","arguments","results","walk","iterator","type","toString","next","cur","reduce","acc","keys","forEach","key","push","compile","pop","has","e","escape","str","replace","unescape","charAt","substring","split","map","join"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/json-pointer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PointerPath = string | Array<string>\nexport type JsonValue = unknown\nexport type JsonObject = Record<string | number, unknown> | Array<unknown>\n\n/**\n * Lookup a json pointer in an object\n */\nexport function get<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n\n for (let i = 0; i < refTokens.length; ++i) {\n const tok = refTokens[i]\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok)\n }\n obj = obj[tok] as T\n }\n\n return obj as T\n}\n\n/**\n * Sets a value on an object\n */\nexport function set<T = JsonObject>(\n obj: T,\n pointer: PointerPath,\n value: JsonValue\n) {\n const refTokens = (\n Array.isArray(pointer) ? pointer : parse(pointer)\n ) as Array<number | string>\n let nextTok = refTokens[0]\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object')\n }\n\n for (let i = 0; i < refTokens.length - 1; ++i) {\n let tok = refTokens[i]\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (\n tok === '__proto__' ||\n tok === 'constructor' ||\n tok === 'prototype'\n ) {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length\n }\n nextTok = refTokens[i + 1] as string\n\n if (!(tok in (obj as JsonObject))) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = []\n } else {\n obj[tok] = {}\n }\n }\n if (Object.isFrozen(obj[tok])) {\n obj[tok] = { ...obj[tok] }\n }\n obj = obj[tok] as T\n }\n\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length\n }\n\n obj[nextTok] = value\n}\n\n/**\n * Removes an attribute\n */\nexport function remove<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n const finalToken = refTokens[refTokens.length - 1]\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"')\n }\n\n const parent = get(obj, refTokens.slice(0, -1))\n if (Array.isArray(parent)) {\n const index = +finalToken\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"')\n }\n\n Array.prototype.splice.call(parent, index, 1)\n } else {\n delete parent[finalToken]\n }\n}\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n */\nexport function dict<T = JsonObject>(obj: T, descend = null) {\n const results = {}\n walk(\n obj,\n function (value, pointer: string) {\n results[pointer] = value\n },\n descend\n )\n return results\n}\n\n/**\n * Iterates over an object\n */\nexport function walk<T = JsonObject>(obj: T, iterator, descend = null) {\n const refTokens = []\n\n descend =\n descend ||\n function (value) {\n const type = Object.prototype.toString.call(value)\n return type === '[object Object]' || type === '[object Array]'\n }\n\n function next(cur) {\n if (Array.isArray(cur)) {\n cur = cur.reduce((acc, cur, i) => {\n acc[i] = cur\n return acc\n }, {})\n }\n\n Object.keys(cur).forEach((key) => {\n refTokens.push(String(key))\n if (descend(cur[key])) {\n next(cur[key])\n } else {\n iterator(cur[key], compile(refTokens))\n }\n refTokens.pop()\n })\n }\n\n next(obj)\n}\n\n/**\n * Tests if an object has a value for a json pointer\n */\nexport function has<T = JsonObject>(obj: T, pointer: PointerPath) {\n try {\n get<T>(obj, pointer)\n } catch (e) {\n return false\n }\n return true\n}\n\n/**\n * Escapes a reference token\n */\nexport function escape(str: string) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1')\n}\n\n/**\n * Unescape a reference token\n */\nexport function unescape(str: string) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~')\n}\n\n/**\n * Converts a json pointer into a array of reference tokens\n */\nexport function parse(pointer: Extract<PointerPath, string>): PointerPath {\n if (pointer === '') {\n return []\n }\n if (pointer?.charAt(0) !== '/') {\n throw new Error('Invalid JSON pointer: ' + pointer)\n }\n return pointer.substring(1).split(/\\//).map(unescape)\n}\n\n/**\n * Builds a json pointer from a array of reference tokens\n */\nexport function compile(refTokens: Extract<PointerPath, Array<string>>) {\n if (refTokens.length === 0) {\n return ''\n }\n return '/' + refTokens.map(escape).join('/')\n}\n"],"mappings":"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"}