@dnb/eufemia 10.30.2 → 10.32.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 (717) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/anchor/Anchor.d.ts +8 -1
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/card/Card.js +3 -2
  5. package/cjs/components/card/Card.js.map +1 -1
  6. package/cjs/components/card/style/dnb-card.css +1 -2
  7. package/cjs/components/card/style/dnb-card.min.css +1 -1
  8. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  9. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  10. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  11. package/cjs/components/checkbox/CheckIcon.d.ts +1 -1
  12. package/cjs/components/checkbox/CheckIcon.js +4 -9
  13. package/cjs/components/checkbox/CheckIcon.js.map +1 -1
  14. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  15. package/cjs/components/checkbox/Checkbox.js +9 -3
  16. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/checkbox/CheckboxDocs.js +10 -5
  18. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  19. package/cjs/components/checkbox/style/dnb-checkbox.css +95 -15
  20. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  21. package/cjs/components/checkbox/style/dnb-checkbox.scss +156 -21
  22. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  23. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  24. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  25. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  26. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  27. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  28. package/cjs/components/flex/Container.d.ts +4 -1
  29. package/cjs/components/flex/Container.js +10 -7
  30. package/cjs/components/flex/Container.js.map +1 -1
  31. package/cjs/components/flex/Stack.js +3 -3
  32. package/cjs/components/flex/Stack.js.map +1 -1
  33. package/cjs/components/flex/utils.js +7 -7
  34. package/cjs/components/flex/utils.js.map +1 -1
  35. package/cjs/components/height-animation/HeightAnimationInstance.js +6 -1
  36. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  37. package/cjs/components/modal/Modal.d.ts +2 -0
  38. package/cjs/components/modal/Modal.js +10 -3
  39. package/cjs/components/modal/Modal.js.map +1 -1
  40. package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
  41. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  42. package/cjs/components/space/SpacingUtils.d.ts +1 -1
  43. package/cjs/components/space/SpacingUtils.js +1 -1
  44. package/cjs/components/space/SpacingUtils.js.map +1 -1
  45. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  46. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  47. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  48. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  49. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  50. package/cjs/components/table/style/dnb-table.css +5 -10
  51. package/cjs/components/table/style/dnb-table.min.css +1 -1
  52. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  53. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  54. package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
  55. package/cjs/extensions/forms/DataContext/Context.js +2 -3
  56. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  57. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  58. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -32
  59. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  60. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  61. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  63. package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
  64. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  65. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  66. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +25 -0
  67. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/FieldDocs.js +1 -1
  69. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  70. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  71. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +53 -0
  72. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  73. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  74. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +38 -0
  75. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  76. package/cjs/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  77. package/cjs/extensions/forms/Field/Indeterminate/index.js +27 -0
  78. package/cjs/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  79. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  80. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +81 -0
  81. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  82. package/cjs/extensions/forms/Field/Name/NameDocs.js +1 -7
  83. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Number/Number.js +3 -1
  85. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  86. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  87. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  88. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  90. package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
  91. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  93. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +35 -0
  94. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  95. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  96. package/cjs/extensions/forms/Field/index.js +7 -0
  97. package/cjs/extensions/forms/Field/index.js.map +1 -1
  98. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  99. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  100. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  101. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +24 -16
  102. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  103. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  104. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  105. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  106. package/cjs/extensions/forms/Form/Element/Element.js +1 -1
  107. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  108. package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
  109. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  110. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  111. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  112. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  113. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  114. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  115. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
  116. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  117. package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
  118. package/cjs/extensions/forms/Form/Tools/index.js +14 -0
  119. package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
  120. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  121. package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
  122. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  123. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  124. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  125. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  126. package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
  127. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  128. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  129. package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
  130. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  131. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  132. package/cjs/extensions/forms/Form/index.js +5 -0
  133. package/cjs/extensions/forms/Form/index.js.map +1 -1
  134. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  135. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  136. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  138. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  140. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  142. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  143. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  144. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  145. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  152. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  153. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  154. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  155. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  156. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  157. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
  158. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  159. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  160. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  161. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  162. package/cjs/extensions/forms/Wizard/Step/Step.js +15 -6
  163. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  164. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  165. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  167. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  168. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  169. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  170. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  171. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  172. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  173. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  174. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  175. package/cjs/extensions/forms/hooks/useFieldProps.js +71 -32
  176. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  177. package/cjs/extensions/forms/style/dnb-forms.css +4 -5
  178. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  179. package/cjs/extensions/forms/types.d.ts +9 -0
  180. package/cjs/extensions/forms/types.js.map +1 -1
  181. package/cjs/fragments/drawer-list/DrawerListHelpers.js +5 -2
  182. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  183. package/cjs/shared/Eufemia.d.ts +1 -1
  184. package/cjs/shared/Eufemia.js +2 -2
  185. package/cjs/shared/Eufemia.js.map +1 -1
  186. package/cjs/shared/MediaQuery.js +19 -1
  187. package/cjs/shared/MediaQuery.js.map +1 -1
  188. package/cjs/shared/MediaQueryUtils.d.ts +12 -34
  189. package/cjs/shared/MediaQueryUtils.js +22 -12
  190. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  191. package/cjs/shared/component-helper.d.ts +1 -1
  192. package/cjs/shared/component-helper.js +5 -1
  193. package/cjs/shared/component-helper.js.map +1 -1
  194. package/cjs/shared/useMedia.d.ts +7 -2
  195. package/cjs/shared/useMedia.js +16 -11
  196. package/cjs/shared/useMedia.js.map +1 -1
  197. package/cjs/shared/useMediaQuery.js +30 -9
  198. package/cjs/shared/useMediaQuery.js.map +1 -1
  199. package/cjs/style/core/scopes.scss +1 -1
  200. package/cjs/style/dnb-ui-basis.css +2 -3
  201. package/cjs/style/dnb-ui-basis.min.css +1 -1
  202. package/cjs/style/dnb-ui-body.css +1 -1
  203. package/cjs/style/dnb-ui-body.min.css +1 -1
  204. package/cjs/style/dnb-ui-components.css +110 -42
  205. package/cjs/style/dnb-ui-components.min.css +3 -3
  206. package/cjs/style/dnb-ui-core.css +2 -3
  207. package/cjs/style/dnb-ui-core.min.css +1 -1
  208. package/cjs/style/dnb-ui-extensions.css +4 -5
  209. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  210. package/cjs/style/dnb-ui-forms.css +4 -5
  211. package/cjs/style/dnb-ui-forms.min.css +1 -1
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  213. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  214. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  215. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  216. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  217. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  218. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  219. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  221. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  222. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  225. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  226. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  227. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  228. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  229. package/cjs/style/themes/theme-ui/ui-theme-components.css +139 -51
  230. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  232. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  233. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  234. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
  235. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  236. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  237. package/components/anchor/Anchor.d.ts +8 -1
  238. package/components/anchor/Anchor.js.map +1 -1
  239. package/components/card/Card.js +3 -2
  240. package/components/card/Card.js.map +1 -1
  241. package/components/card/style/dnb-card.css +1 -2
  242. package/components/card/style/dnb-card.min.css +1 -1
  243. package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  244. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  245. package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  246. package/components/checkbox/CheckIcon.d.ts +1 -1
  247. package/components/checkbox/CheckIcon.js +4 -8
  248. package/components/checkbox/CheckIcon.js.map +1 -1
  249. package/components/checkbox/Checkbox.d.ts +4 -0
  250. package/components/checkbox/Checkbox.js +9 -3
  251. package/components/checkbox/Checkbox.js.map +1 -1
  252. package/components/checkbox/CheckboxDocs.js +10 -5
  253. package/components/checkbox/CheckboxDocs.js.map +1 -1
  254. package/components/checkbox/style/dnb-checkbox.css +95 -15
  255. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  256. package/components/checkbox/style/dnb-checkbox.scss +156 -21
  257. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  258. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  259. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  260. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  261. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  262. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  263. package/components/flex/Container.d.ts +4 -1
  264. package/components/flex/Container.js +10 -7
  265. package/components/flex/Container.js.map +1 -1
  266. package/components/flex/Stack.js +3 -3
  267. package/components/flex/Stack.js.map +1 -1
  268. package/components/flex/utils.js +8 -8
  269. package/components/flex/utils.js.map +1 -1
  270. package/components/height-animation/HeightAnimationInstance.js +6 -1
  271. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  272. package/components/modal/Modal.d.ts +2 -0
  273. package/components/modal/Modal.js +10 -3
  274. package/components/modal/Modal.js.map +1 -1
  275. package/components/skeleton/style/dnb-skeleton.css +4 -8
  276. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  277. package/components/space/SpacingUtils.d.ts +1 -1
  278. package/components/space/SpacingUtils.js +1 -1
  279. package/components/space/SpacingUtils.js.map +1 -1
  280. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  281. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  282. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  283. package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  284. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  285. package/components/table/style/dnb-table.css +5 -10
  286. package/components/table/style/dnb-table.min.css +1 -1
  287. package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  288. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  289. package/es/components/anchor/Anchor.d.ts +8 -1
  290. package/es/components/anchor/Anchor.js.map +1 -1
  291. package/es/components/card/Card.js +3 -2
  292. package/es/components/card/Card.js.map +1 -1
  293. package/es/components/card/style/dnb-card.css +1 -2
  294. package/es/components/card/style/dnb-card.min.css +1 -1
  295. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  296. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  297. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  298. package/es/components/checkbox/CheckIcon.d.ts +1 -1
  299. package/es/components/checkbox/CheckIcon.js +5 -10
  300. package/es/components/checkbox/CheckIcon.js.map +1 -1
  301. package/es/components/checkbox/Checkbox.d.ts +4 -0
  302. package/es/components/checkbox/Checkbox.js +9 -3
  303. package/es/components/checkbox/Checkbox.js.map +1 -1
  304. package/es/components/checkbox/CheckboxDocs.js +10 -5
  305. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  306. package/es/components/checkbox/style/dnb-checkbox.css +95 -15
  307. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  308. package/es/components/checkbox/style/dnb-checkbox.scss +156 -21
  309. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  310. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  311. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  312. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  313. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  314. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  315. package/es/components/flex/Container.d.ts +4 -1
  316. package/es/components/flex/Container.js +10 -7
  317. package/es/components/flex/Container.js.map +1 -1
  318. package/es/components/flex/Stack.js +3 -3
  319. package/es/components/flex/Stack.js.map +1 -1
  320. package/es/components/flex/utils.js +8 -8
  321. package/es/components/flex/utils.js.map +1 -1
  322. package/es/components/height-animation/HeightAnimationInstance.js +6 -1
  323. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  324. package/es/components/modal/Modal.d.ts +2 -0
  325. package/es/components/modal/Modal.js +10 -3
  326. package/es/components/modal/Modal.js.map +1 -1
  327. package/es/components/skeleton/style/dnb-skeleton.css +4 -8
  328. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  329. package/es/components/space/SpacingUtils.d.ts +1 -1
  330. package/es/components/space/SpacingUtils.js +1 -1
  331. package/es/components/space/SpacingUtils.js.map +1 -1
  332. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  333. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  334. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  335. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  336. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  337. package/es/components/table/style/dnb-table.css +5 -10
  338. package/es/components/table/style/dnb-table.min.css +1 -1
  339. package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  340. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  341. package/es/extensions/forms/DataContext/Context.d.ts +20 -9
  342. package/es/extensions/forms/DataContext/Context.js +2 -3
  343. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  344. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  345. package/es/extensions/forms/DataContext/Provider/Provider.js +66 -30
  346. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  347. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  348. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  349. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  350. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
  351. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  352. package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  353. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
  354. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  355. package/es/extensions/forms/Field/FieldDocs.js +2 -2
  356. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  357. package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  358. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
  359. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  360. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  361. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
  362. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  363. package/es/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  364. package/es/extensions/forms/Field/Indeterminate/index.js +3 -0
  365. package/es/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  366. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  367. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +74 -0
  368. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  369. package/es/extensions/forms/Field/Name/NameDocs.js +1 -8
  370. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  371. package/es/extensions/forms/Field/Number/Number.js +3 -1
  372. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  373. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  374. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  375. package/es/extensions/forms/Field/String/String.js.map +1 -1
  376. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  377. package/es/extensions/forms/Field/Toggle/Toggle.js +2 -2
  378. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  379. package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  380. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
  381. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  382. package/es/extensions/forms/Field/index.d.ts +1 -0
  383. package/es/extensions/forms/Field/index.js +1 -0
  384. package/es/extensions/forms/Field/index.js.map +1 -1
  385. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  386. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  387. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  388. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
  389. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  390. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  391. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  392. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  393. package/es/extensions/forms/Form/Element/Element.js +1 -1
  394. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  395. package/es/extensions/forms/Form/Handler/Handler.js +2 -2
  396. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  397. package/es/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  398. package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  399. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  400. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  401. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  402. package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
  403. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  404. package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
  405. package/es/extensions/forms/Form/Tools/index.js +1 -0
  406. package/es/extensions/forms/Form/Tools/index.js.map +1 -0
  407. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  408. package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
  409. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  410. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  411. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  412. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  413. package/es/extensions/forms/Form/data-context/useData.js +1 -2
  414. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  415. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  416. package/es/extensions/forms/Form/data-context/useError.js +5 -3
  417. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  418. package/es/extensions/forms/Form/index.d.ts +1 -0
  419. package/es/extensions/forms/Form/index.js +1 -0
  420. package/es/extensions/forms/Form/index.js.map +1 -1
  421. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  422. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  423. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  424. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  425. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  426. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  427. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  428. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  429. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  430. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  431. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  432. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  433. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  434. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  435. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  436. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  437. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  438. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  439. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  440. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  441. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  442. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  443. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  444. package/es/extensions/forms/Wizard/Container/WizardContainer.js +101 -31
  445. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  446. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  447. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  448. package/es/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  449. package/es/extensions/forms/Wizard/Step/Step.js +15 -6
  450. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  451. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  452. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  453. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  454. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  455. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  456. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  457. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  458. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  459. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  460. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  461. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  462. package/es/extensions/forms/hooks/useFieldProps.js +68 -29
  463. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  464. package/es/extensions/forms/style/dnb-forms.css +4 -5
  465. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  466. package/es/extensions/forms/types.d.ts +9 -0
  467. package/es/extensions/forms/types.js.map +1 -1
  468. package/es/fragments/drawer-list/DrawerListHelpers.js +5 -2
  469. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  470. package/es/shared/Eufemia.d.ts +1 -1
  471. package/es/shared/Eufemia.js +2 -2
  472. package/es/shared/Eufemia.js.map +1 -1
  473. package/es/shared/MediaQuery.js +19 -1
  474. package/es/shared/MediaQuery.js.map +1 -1
  475. package/es/shared/MediaQueryUtils.d.ts +12 -34
  476. package/es/shared/MediaQueryUtils.js +22 -17
  477. package/es/shared/MediaQueryUtils.js.map +1 -1
  478. package/es/shared/component-helper.d.ts +1 -1
  479. package/es/shared/component-helper.js +5 -2
  480. package/es/shared/component-helper.js.map +1 -1
  481. package/es/shared/useMedia.d.ts +7 -2
  482. package/es/shared/useMedia.js +14 -11
  483. package/es/shared/useMedia.js.map +1 -1
  484. package/es/shared/useMediaQuery.js +28 -9
  485. package/es/shared/useMediaQuery.js.map +1 -1
  486. package/es/style/core/scopes.scss +1 -1
  487. package/es/style/dnb-ui-basis.css +2 -3
  488. package/es/style/dnb-ui-basis.min.css +1 -1
  489. package/es/style/dnb-ui-body.css +1 -1
  490. package/es/style/dnb-ui-body.min.css +1 -1
  491. package/es/style/dnb-ui-components.css +110 -42
  492. package/es/style/dnb-ui-components.min.css +3 -3
  493. package/es/style/dnb-ui-core.css +2 -3
  494. package/es/style/dnb-ui-core.min.css +1 -1
  495. package/es/style/dnb-ui-extensions.css +4 -5
  496. package/es/style/dnb-ui-extensions.min.css +1 -1
  497. package/es/style/dnb-ui-forms.css +4 -5
  498. package/es/style/dnb-ui-forms.min.css +1 -1
  499. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  500. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  501. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  502. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  503. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  504. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  505. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  506. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  507. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  508. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  509. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  510. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  511. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  512. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  513. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  514. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  515. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  516. package/es/style/themes/theme-ui/ui-theme-components.css +139 -51
  517. package/es/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  518. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  519. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  520. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  521. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
  522. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  523. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  524. package/esm/dnb-ui-basis.min.mjs +1 -1
  525. package/esm/dnb-ui-components.min.mjs +1 -1
  526. package/esm/dnb-ui-elements.min.mjs +1 -1
  527. package/esm/dnb-ui-extensions.min.mjs +3 -3
  528. package/esm/dnb-ui-lib.min.mjs +1 -1
  529. package/extensions/forms/DataContext/Context.d.ts +20 -9
  530. package/extensions/forms/DataContext/Context.js +2 -3
  531. package/extensions/forms/DataContext/Context.js.map +1 -1
  532. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  533. package/extensions/forms/DataContext/Provider/Provider.js +69 -32
  534. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  535. package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  536. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  537. package/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  538. package/extensions/forms/Field/Boolean/Boolean.js +2 -1
  539. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  540. package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  541. package/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
  542. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  543. package/extensions/forms/Field/FieldDocs.js +2 -2
  544. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  545. package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  546. package/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
  547. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  548. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  549. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
  550. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  551. package/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  552. package/extensions/forms/Field/Indeterminate/index.js +3 -0
  553. package/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  554. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  555. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +75 -0
  556. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  557. package/extensions/forms/Field/Name/NameDocs.js +1 -8
  558. package/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  559. package/extensions/forms/Field/Number/Number.js +3 -1
  560. package/extensions/forms/Field/Number/Number.js.map +1 -1
  561. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  562. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  563. package/extensions/forms/Field/String/String.js.map +1 -1
  564. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  565. package/extensions/forms/Field/Toggle/Toggle.js +2 -2
  566. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  567. package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  568. package/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
  569. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  570. package/extensions/forms/Field/index.d.ts +1 -0
  571. package/extensions/forms/Field/index.js +1 -0
  572. package/extensions/forms/Field/index.js.map +1 -1
  573. package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  574. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  575. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  576. package/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
  577. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  578. package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  579. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  580. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  581. package/extensions/forms/Form/Element/Element.js +1 -1
  582. package/extensions/forms/Form/Element/Element.js.map +1 -1
  583. package/extensions/forms/Form/Handler/Handler.js +2 -2
  584. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  585. package/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  586. package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  587. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  588. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  589. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  590. package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
  591. package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  592. package/extensions/forms/Form/Tools/index.d.ts +1 -0
  593. package/extensions/forms/Form/Tools/index.js +1 -0
  594. package/extensions/forms/Form/Tools/index.js.map +1 -0
  595. package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  596. package/extensions/forms/Form/Visibility/Visibility.js +41 -10
  597. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  598. package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  599. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  600. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  601. package/extensions/forms/Form/data-context/useData.js +2 -2
  602. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  603. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  604. package/extensions/forms/Form/data-context/useError.js +5 -3
  605. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  606. package/extensions/forms/Form/index.d.ts +1 -0
  607. package/extensions/forms/Form/index.js +2 -0
  608. package/extensions/forms/Form/index.js.map +1 -1
  609. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  610. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  611. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  612. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  613. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  614. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  615. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  616. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  617. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  618. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  619. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  620. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  621. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  622. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  623. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  624. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  625. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  626. package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  627. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  628. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  629. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  630. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  631. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  632. package/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
  633. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  634. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  635. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  636. package/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  637. package/extensions/forms/Wizard/Step/Step.js +15 -6
  638. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  639. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  640. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  641. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  642. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  643. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  644. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  645. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  646. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  647. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  648. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  649. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  650. package/extensions/forms/hooks/useFieldProps.js +71 -32
  651. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  652. package/extensions/forms/style/dnb-forms.css +4 -5
  653. package/extensions/forms/style/dnb-forms.min.css +1 -1
  654. package/extensions/forms/types.d.ts +9 -0
  655. package/extensions/forms/types.js.map +1 -1
  656. package/fragments/drawer-list/DrawerListHelpers.js +5 -2
  657. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  658. package/package.json +1 -1
  659. package/shared/Eufemia.d.ts +1 -1
  660. package/shared/Eufemia.js +2 -2
  661. package/shared/Eufemia.js.map +1 -1
  662. package/shared/MediaQuery.js +19 -1
  663. package/shared/MediaQuery.js.map +1 -1
  664. package/shared/MediaQueryUtils.d.ts +12 -34
  665. package/shared/MediaQueryUtils.js +22 -12
  666. package/shared/MediaQueryUtils.js.map +1 -1
  667. package/shared/component-helper.d.ts +1 -1
  668. package/shared/component-helper.js +5 -1
  669. package/shared/component-helper.js.map +1 -1
  670. package/shared/useMedia.d.ts +7 -2
  671. package/shared/useMedia.js +14 -11
  672. package/shared/useMedia.js.map +1 -1
  673. package/shared/useMediaQuery.js +28 -9
  674. package/shared/useMediaQuery.js.map +1 -1
  675. package/style/core/scopes.scss +1 -1
  676. package/style/dnb-ui-basis.css +2 -3
  677. package/style/dnb-ui-basis.min.css +1 -1
  678. package/style/dnb-ui-body.css +1 -1
  679. package/style/dnb-ui-body.min.css +1 -1
  680. package/style/dnb-ui-components.css +110 -42
  681. package/style/dnb-ui-components.min.css +3 -3
  682. package/style/dnb-ui-core.css +2 -3
  683. package/style/dnb-ui-core.min.css +1 -1
  684. package/style/dnb-ui-extensions.css +4 -5
  685. package/style/dnb-ui-extensions.min.css +1 -1
  686. package/style/dnb-ui-forms.css +4 -5
  687. package/style/dnb-ui-forms.min.css +1 -1
  688. package/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  689. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  690. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  691. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  692. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  693. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  694. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  695. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  696. package/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  697. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  698. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  699. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  700. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  701. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  702. package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  703. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  704. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  705. package/style/themes/theme-ui/ui-theme-components.css +139 -51
  706. package/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  707. package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  708. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  709. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  710. package/style/themes/theme-ui/ui-theme-forms.css +8 -5
  711. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  712. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  713. package/umd/dnb-ui-basis.min.js +1 -1
  714. package/umd/dnb-ui-components.min.js +1 -1
  715. package/umd/dnb-ui-elements.min.js +1 -1
  716. package/umd/dnb-ui-extensions.min.js +3 -3
  717. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainerDocs.js","names":["EditContainerProperties","title","doc","type","status","titleWhenNew","EditContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const EditContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n titleWhenNew: {\n doc: 'The title for a new item.',\n type: 'React.Node',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const EditContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,YAAY,EAAE;IACZH,GAAG,EAAE,2BAA2B;IAChCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"EditContainerDocs.js","names":["EditContainerProperties","title","doc","type","status","titleWhenNew","variant","EditContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const EditContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n titleWhenNew: {\n doc: 'The title for a new item.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const EditContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,YAAY,EAAE;IACZH,GAAG,EAAE,2BAA2B;IAChCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMG,mBAAyC,GAAG,CAAC,CAAC"}
@@ -44,7 +44,7 @@ export default function EditToolbarTools() {
44
44
  switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view');
45
45
  }, [switchContainerMode]);
46
46
  return React.createElement(Flex.Horizontal, {
47
- spacing: "large"
47
+ gap: "large"
48
48
  }, React.createElement(Button, {
49
49
  variant: "tertiary",
50
50
  icon: check,
@@ -1 +1 @@
1
- {"version":3,"file":"EditToolbarTools.js","names":["React","useCallback","useContext","useEffect","useRef","Button","Flex","useTranslation","IterateElementContext","check","close","RemoveButton","FieldBoundaryContext","EditToolbarTools","restoreOriginalValue","switchContainerMode","containerMode","arrayValue","index","isNew","hasErrorAndShowIt","translation","Iterate","valueBackupRef","wasNew","useWasNew","current","cancelHandler","doneHandler","createElement","Horizontal","spacing","variant","icon","icon_position","on_click","disabled","done","_RemoveButton","cancel","_ref","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateElementContext from '../IterateElementContext'\nimport { check, close } from '../../../../icons'\nimport RemoveButton from '../RemoveButton'\nimport { ContainerMode } from '../Array/types'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\n\nexport default function EditToolbarTools() {\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n arrayValue,\n index,\n isNew,\n } = useContext(IterateElementContext) || {}\n const { hasErrorAndShowIt } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().Iterate\n const valueBackupRef = useRef<unknown>()\n const wasNew = useWasNew({ isNew, containerMode })\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(() => {\n if (valueBackupRef.current) {\n restoreOriginalValue?.(valueBackupRef.current)\n }\n switchContainerMode?.('view')\n }, [restoreOriginalValue, switchContainerMode])\n const doneHandler = useCallback(() => {\n switchContainerMode?.('view')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal spacing=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n disabled={hasErrorAndShowIt}\n >\n {translation.done}\n </Button>\n\n {wasNew ? (\n <RemoveButton />\n ) : (\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancel}\n </Button>\n )}\n </Flex.Horizontal>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditToolbarTools.js","names":["React","useCallback","useContext","useEffect","useRef","Button","Flex","useTranslation","IterateElementContext","check","close","RemoveButton","FieldBoundaryContext","EditToolbarTools","restoreOriginalValue","switchContainerMode","containerMode","arrayValue","index","isNew","hasErrorAndShowIt","translation","Iterate","valueBackupRef","wasNew","useWasNew","current","cancelHandler","doneHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","disabled","done","_RemoveButton","cancel","_ref","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateElementContext from '../IterateElementContext'\nimport { check, close } from '../../../../icons'\nimport RemoveButton from '../RemoveButton'\nimport { ContainerMode } from '../Array/types'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\n\nexport default function EditToolbarTools() {\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n arrayValue,\n index,\n isNew,\n } = useContext(IterateElementContext) || {}\n const { hasErrorAndShowIt } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().Iterate\n const valueBackupRef = useRef<unknown>()\n const wasNew = useWasNew({ isNew, containerMode })\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(() => {\n if (valueBackupRef.current) {\n restoreOriginalValue?.(valueBackupRef.current)\n }\n switchContainerMode?.('view')\n }, [restoreOriginalValue, switchContainerMode])\n const doneHandler = useCallback(() => {\n switchContainerMode?.('view')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n disabled={hasErrorAndShowIt}\n >\n {translation.done}\n </Button>\n\n {wasNew ? (\n <RemoveButton />\n ) : (\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancel}\n </Button>\n )}\n </Flex.Horizontal>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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"}
@@ -20,7 +20,7 @@ export default function Toolbar(props) {
20
20
  space: 0
21
21
  })), React.createElement(Flex.Horizontal, {
22
22
  top: "x-small",
23
- spacing: "large"
23
+ gap: "large"
24
24
  }, children));
25
25
  }
26
26
  Toolbar._supportsSpacingProps = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","names":["React","classnames","Hr","Flex","Space","Toolbar","props","_ref","children","className","rest","_objectWithoutProperties","_excluded","createElement","_extends","top","_Hr","space","Horizontal","spacing","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Hr } from '../../../../elements'\nimport { Flex, Space } from '../../../../components'\nimport { SpaceAllProps } from '../../../../components/Space'\n\nexport type Props = SpaceAllProps\n\nexport default function Toolbar(props: Props) {\n const { children, className, ...rest } = props || {}\n\n return (\n <Space\n top=\"medium\"\n className={classnames('dnb-forms-iterate-toolbar', className)}\n {...rest}\n >\n <Hr space={0} />\n\n <Flex.Horizontal top=\"x-small\" spacing=\"large\">\n {children}\n </Flex.Horizontal>\n </Space>\n )\n}\n\nToolbar._supportsSpacingProps = true\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,EAAE,QAAQ,sBAAsB;AACzC,SAASC,IAAI,EAAEC,KAAK,QAAQ,wBAAwB;AAKpD,eAAe,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC5C,MAAAC,IAAA,GAAyCD,KAAK,IAAI,CAAC,CAAC;IAA9C;MAAEE,QAAQ;MAAEC;IAAmB,CAAC,GAAAF,IAAA;IAANG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEpC,OACEZ,KAAA,CAAAa,aAAA,CAACT,KAAK,EAAAU,QAAA;IACJC,GAAG,EAAC,QAAQ;IACZN,SAAS,EAAER,UAAU,CAAC,2BAA2B,EAAEQ,SAAS;EAAE,GAC1DC,IAAI,GAAAM,GAAA,KAAAA,GAAA,GAERhB,KAAA,CAAAa,aAAA,CAACX,EAAE;IAACe,KAAK,EAAE;EAAE,CAAE,CAAC,GAEhBjB,KAAA,CAAAa,aAAA,CAACV,IAAI,CAACe,UAAU;IAACH,GAAG,EAAC,SAAS;IAACI,OAAO,EAAC;EAAO,GAC3CX,QACc,CACZ,CAAC;AAEZ;AAEAH,OAAO,CAACe,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"Toolbar.js","names":["React","classnames","Hr","Flex","Space","Toolbar","props","_ref","children","className","rest","_objectWithoutProperties","_excluded","createElement","_extends","top","_Hr","space","Horizontal","gap","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Toolbar/Toolbar.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { Hr } from '../../../../elements'\nimport { Flex, Space } from '../../../../components'\nimport { SpaceAllProps } from '../../../../components/Space'\n\nexport type Props = SpaceAllProps\n\nexport default function Toolbar(props: Props) {\n const { children, className, ...rest } = props || {}\n\n return (\n <Space\n top=\"medium\"\n className={classnames('dnb-forms-iterate-toolbar', className)}\n {...rest}\n >\n <Hr space={0} />\n\n <Flex.Horizontal top=\"x-small\" gap=\"large\">\n {children}\n </Flex.Horizontal>\n </Space>\n )\n}\n\nToolbar._supportsSpacingProps = true\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,EAAE,QAAQ,sBAAsB;AACzC,SAASC,IAAI,EAAEC,KAAK,QAAQ,wBAAwB;AAKpD,eAAe,SAASC,OAAOA,CAACC,KAAY,EAAE;EAC5C,MAAAC,IAAA,GAAyCD,KAAK,IAAI,CAAC,CAAC;IAA9C;MAAEE,QAAQ;MAAEC;IAAmB,CAAC,GAAAF,IAAA;IAANG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEpC,OACEZ,KAAA,CAAAa,aAAA,CAACT,KAAK,EAAAU,QAAA;IACJC,GAAG,EAAC,QAAQ;IACZN,SAAS,EAAER,UAAU,CAAC,2BAA2B,EAAEQ,SAAS;EAAE,GAC1DC,IAAI,GAAAM,GAAA,KAAAA,GAAA,GAERhB,KAAA,CAAAa,aAAA,CAACX,EAAE;IAACe,KAAK,EAAE;EAAE,CAAE,CAAC,GAEhBjB,KAAA,CAAAa,aAAA,CAACV,IAAI,CAACe,UAAU;IAACH,GAAG,EAAC,SAAS;IAACI,GAAG,EAAC;EAAO,GACvCX,QACc,CACZ,CAAC;AAEZ;AAEAH,OAAO,CAACe,qBAAqB,GAAG,IAAI"}
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import { Props as FlexContainerProps } from '../../../../components/flex/Container';
3
+ import { ElementBlockProps } from '../AnimatedContainer/ElementBlock';
3
4
  export type Props = {
4
5
  /**
5
6
  * The title of the ViewContainer.
6
7
  */
7
8
  title?: React.ReactNode;
8
9
  };
9
- export type AllProps = Props & FlexContainerProps;
10
+ export type AllProps = Props & FlexContainerProps & ElementBlockProps;
10
11
  declare function ViewContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
11
12
  declare namespace ViewContainer {
12
13
  var _supportsSpacingProps: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ElementBlock","Toolbar","ViewToolbarTools","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ElementBlock from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\nimport ViewToolbarTools from './ViewToolbarTools'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <ElementBlock\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-iterate-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </ElementBlock>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,YAAY,MAAM,mCAAmC;AAC5D,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,gBAAgB,MAAM,oBAAoB;AAWjD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACb,YAAY,EAAAc,QAAA;IACXC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACZ,OAAO,QACNP,KAAA,CAAAmB,aAAA,CAACX,gBAAgB,MAAE,CACZ,CAAC,CACA,CACA,CAAC;AAEnB;AAEAC,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
1
+ {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ElementBlock","Toolbar","ViewToolbarTools","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ElementBlock, {\n ElementBlockProps,\n} from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\nimport ViewToolbarTools from './ViewToolbarTools'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps & ElementBlockProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <ElementBlock\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-iterate-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </ElementBlock>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,YAAY,MAEZ,mCAAmC;AAC1C,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,gBAAgB,MAAM,oBAAoB;AAWjD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACb,YAAY,EAAAc,QAAA;IACXC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACZ,OAAO,QACNP,KAAA,CAAAmB,aAAA,CAACX,gBAAgB,MAAE,CACZ,CAAC,CACA,CACA,CAAC;AAEnB;AAEAC,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
@@ -4,6 +4,11 @@ export const ViewContainerProperties = {
4
4
  type: 'React.Node',
5
5
  status: 'optional'
6
6
  },
7
+ variant: {
8
+ doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
9
+ type: 'string',
10
+ status: 'optional'
11
+ },
7
12
  '[FlexVertical](/uilib/layout/flex/container/)': {
8
13
  doc: 'All Flex.Vertical properties.',
9
14
  type: 'Various',
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","ViewContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMC,mBAAyC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG,CAAC,CAAC"}
@@ -16,7 +16,7 @@ export default function ViewToolbarTools() {
16
16
  switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
17
17
  }, [switchContainerMode]);
18
18
  return React.createElement(Flex.Horizontal, {
19
- spacing: "large"
19
+ gap: "large"
20
20
  }, React.createElement(Button, {
21
21
  variant: "tertiary",
22
22
  icon: edit,
@@ -1 +1 @@
1
- {"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","RemoveButton","useTranslation","IterateElementContext","edit","ViewToolbarTools","iterateElementContext","switchContainerMode","translation","Iterate","editHandler","createElement","Horizontal","spacing","variant","icon","icon_position","on_click","text","remove"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport RemoveButton from '../RemoveButton'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateElementContext from '../IterateElementContext'\nimport { edit } from '../../../../icons'\n\nexport default function ViewToolbarTools() {\n const iterateElementContext = useContext(IterateElementContext)\n const { switchContainerMode } = iterateElementContext ?? {}\n\n const translation = useTranslation().Iterate\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal spacing=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.edit}\n </Button>\n\n <RemoveButton text={translation.remove} />\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,wBAAwB;AACrD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,qBAAqB,GAAGR,UAAU,CAACK,qBAAqB,CAAC;EAC/D,MAAM;IAAEI;EAAoB,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE3D,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,OAAO;EAE5C,MAAMC,WAAW,GAAGb,WAAW,CAAC,MAAM;IACpCU,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEX,KAAA,CAAAe,aAAA,CAACX,IAAI,CAACY,UAAU;IAACC,OAAO,EAAC;EAAO,GAC9BjB,KAAA,CAAAe,aAAA,CAACZ,MAAM;IACLe,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACJ,IACP,CAAC,EAETR,KAAA,CAAAe,aAAA,CAACV,YAAY;IAACiB,IAAI,EAAEV,WAAW,CAACW;EAAO,CAAE,CAC1B,CAAC;AAEtB"}
1
+ {"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","RemoveButton","useTranslation","IterateElementContext","edit","ViewToolbarTools","iterateElementContext","switchContainerMode","translation","Iterate","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","text","remove"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport RemoveButton from '../RemoveButton'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateElementContext from '../IterateElementContext'\nimport { edit } from '../../../../icons'\n\nexport default function ViewToolbarTools() {\n const iterateElementContext = useContext(IterateElementContext)\n const { switchContainerMode } = iterateElementContext ?? {}\n\n const translation = useTranslation().Iterate\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.edit}\n </Button>\n\n <RemoveButton text={translation.remove} />\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,wBAAwB;AACrD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,qBAAqB,GAAGR,UAAU,CAACK,qBAAqB,CAAC;EAC/D,MAAM;IAAEI;EAAoB,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE3D,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,OAAO;EAE5C,MAAMC,WAAW,GAAGb,WAAW,CAAC,MAAM;IACpCU,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEX,KAAA,CAAAe,aAAA,CAACX,IAAI,CAACY,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BjB,KAAA,CAAAe,aAAA,CAACZ,MAAM;IACLe,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACJ,IACP,CAAC,EAETR,KAAA,CAAAe,aAAA,CAACV,YAAY;IAACiB,IAAI,EAAEV,WAAW,CAACW;EAAO,CAAE,CAC1B,CAAC;AAEtB"}
@@ -20,7 +20,6 @@
20
20
  }
21
21
  .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
22
22
  border-radius: 0.375rem;
23
- box-shadow: inset 0 0 0 2px var(--block-outline-color);
24
23
  }
25
24
  .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small {
26
25
  --space: var(--spacing-small);
@@ -31,6 +30,9 @@
31
30
  .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large {
32
31
  --space: var(--spacing-large);
33
32
  }
33
+ .dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing] {
34
+ box-shadow: inset 0 0 0 2px var(--block-outline-color);
35
+ }
34
36
  .dnb-forms-iterate-block__inner .dnb-dl .dnb-dd {
35
37
  margin-bottom: 0;
36
38
  }
@@ -1 +1 @@
1
- .dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem;box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}
1
+ .dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}
@@ -35,7 +35,10 @@
35
35
  }
36
36
 
37
37
  border-radius: 0.375rem;
38
- box-shadow: inset 0 0 0 2px var(--block-outline-color);
38
+
39
+ .dnb-forms-iterate-block--variant-outline & {
40
+ box-shadow: inset 0 0 0 2px var(--block-outline-color);
41
+ }
39
42
  }
40
43
 
41
44
  transition:
@@ -10,11 +10,13 @@ import { warn } from '../../../shared/helpers';
10
10
  import { Dd, Dl, Dt, Span } from '../../../elements';
11
11
  import { FormLabel } from '../../../components';
12
12
  import SummaryListContext from '../Value/SummaryList/SummaryListContext';
13
- import { pickSpacingProps } from '../../../components/flex/utils';
14
13
  import ValueBlockContext from './ValueBlockContext';
14
+ import DataContext from '../DataContext/Context';
15
+ import { pickSpacingProps } from '../../../components/flex/utils';
15
16
  function ValueBlock(props) {
16
17
  const summaryListContext = useContext(SummaryListContext);
17
18
  const valueBlockContext = useContext(ValueBlockContext);
19
+ const dataContext = useContext(DataContext);
18
20
  const {
19
21
  className,
20
22
  label: labelProp,
@@ -29,7 +31,7 @@ function ValueBlock(props) {
29
31
  const label = inline ? null : labelProp;
30
32
  const ref = useRef(null);
31
33
  useNotInSummaryList(valueBlockContext !== null && valueBlockContext !== void 0 && valueBlockContext.composition ? null : ref, label);
32
- if ((children === undefined || children === null || children === false) && !showEmpty && !placeholder) {
34
+ if ((children === undefined || children === null || children === false) && !showEmpty && !placeholder || dataContext !== null && dataContext !== void 0 && dataContext.prerenderFieldProps) {
33
35
  return null;
34
36
  }
35
37
  let content = null;
@@ -1 +1 @@
1
- {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","useEffect","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","pickSpacingProps","ValueBlockContext","ValueBlock","props","summaryListContext","valueBlockContext","className","label","labelProp","inline","maxWidth","composition","placeholder","showEmpty","children","gap","ref","useNotInSummaryList","undefined","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport ValueBlockContext from './ValueBlockContext'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n className,\n label: labelProp,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = inline ? null : labelProp\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(valueBlockContext?.composition ? null : ref, label)\n\n if (\n (children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass =\n composition &&\n classnames(\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList!',\n label,\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [label, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","useEffect","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueBlockContext","DataContext","pickSpacingProps","ValueBlock","props","summaryListContext","valueBlockContext","dataContext","className","label","labelProp","inline","maxWidth","composition","placeholder","showEmpty","children","gap","ref","useNotInSummaryList","undefined","prerenderFieldProps","content","compositionClass","Element","isNested","layout","Item","_span","createElement","Provider","value","_objectSpread","_extends","element","labelDirection","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, { Fragment, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const dataContext = useContext(DataContext)\n\n const {\n className,\n label: labelProp,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = inline ? null : labelProp\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(valueBlockContext?.composition ? null : ref, label)\n\n if (\n ((children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder) ||\n dataContext?.prerenderFieldProps\n ) {\n return null\n }\n\n let content = null\n\n const compositionClass =\n composition &&\n classnames(\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n\n if (summaryListContext) {\n const Element = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <Element>\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n {label && (\n <Dt className=\"dnb-forms-value-block__label\">\n <strong>{label}</strong>\n </Dt>\n )}\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </SummaryListContext.Provider>\n </Element>\n )\n }\n } else {\n content = (\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span\n className={classnames(\n 'dnb-forms-value-block__content',\n gap && `dnb-forms-value-block__content--gap-${gap}`\n )}\n >\n {children}\n </span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList!',\n label,\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [label, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n"],"mappings":"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"}
@@ -3,15 +3,44 @@ import { OnStepChange, StepIndex } from '../Context/WizardContext';
3
3
  import { ComponentProps } from '../../types';
4
4
  export type Props = ComponentProps & {
5
5
  id?: string;
6
+ /**
7
+ * The mode of the wizard.
8
+ */
6
9
  mode?: 'static' | 'strict' | 'loose';
10
+ /**
11
+ * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.
12
+ */
7
13
  omitScrollManagement?: boolean;
14
+ /**
15
+ * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.
16
+ */
8
17
  omitFocusManagement?: boolean;
18
+ /**
19
+ * The index of the first step to be rendered.
20
+ */
9
21
  initialActiveIndex?: StepIndex;
22
+ /**
23
+ * The callback function that will be called when the user clicks on the next button.
24
+ */
10
25
  onStepChange?: OnStepChange;
11
- children: React.ReactNode;
26
+ /**
27
+ * The sidebar variant.
28
+ */
12
29
  variant?: 'sidebar' | 'drawer';
13
- noAnimation?: boolean;
14
30
  sidebarId?: string;
31
+ /**
32
+ * If set to `true`, the wizard will not animate the steps.
33
+ */
34
+ noAnimation?: boolean;
35
+ /**
36
+ * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.
37
+ * Defaults to `true`.
38
+ */
39
+ prerenderFieldProps?: boolean;
40
+ /**
41
+ * The children of the wizard container.
42
+ */
43
+ children: React.ReactNode;
15
44
  /**
16
45
  * @deprecated Is enabled by default. You can disable it with "omitScrollManagement"
17
46
  */
@@ -3,18 +3,19 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "variant", "sidebarId"];
6
+ const _excluded = ["className", "id", "mode", "initialActiveIndex", "omitScrollManagement", "omitFocusManagement", "onStepChange", "children", "noAnimation", "prerenderFieldProps", "variant", "sidebarId"];
7
7
  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; }
8
8
  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; }
9
9
  import React, { useContext, useCallback, useRef, useReducer, useMemo } from 'react';
10
+ import ReactDOM from 'react-dom';
10
11
  import classnames from 'classnames';
11
12
  import { Space, StepIndicator } from '../../../../components';
12
13
  import { warn } from '../../../../shared/component-helper';
13
14
  import { isAsync } from '../../../../shared/helpers/isAsync';
14
15
  import useId from '../../../../shared/helpers/useId';
15
- import DataContext from '../../DataContext/Context';
16
16
  import Step from '../Step';
17
17
  import WizardContext from '../Context/WizardContext';
18
+ import DataContext, { defaultContextState } from '../../DataContext/Context';
18
19
  import Handler from '../../Form/Handler/Handler';
19
20
  import { useSharedState } from '../../../../shared/helpers/useSharedState';
20
21
  import useHandleLayoutEffect from './useHandleLayoutEffect';
@@ -30,6 +31,7 @@ function WizardContainer(props) {
30
31
  onStepChange,
31
32
  children,
32
33
  noAnimation = true,
34
+ prerenderFieldProps = true,
33
35
  variant = 'sidebar',
34
36
  sidebarId
35
37
  } = props,
@@ -40,7 +42,8 @@ function WizardContainer(props) {
40
42
  handleSubmitCall,
41
43
  setShowAllErrors,
42
44
  showAllErrors,
43
- setSubmitState
45
+ setSubmitState,
46
+ fieldPropsRef
44
47
  } = useContext(DataContext);
45
48
  const id = useId(idProp);
46
49
  const [, forceUpdate] = useReducer(() => ({}), {});
@@ -103,7 +106,7 @@ function WizardContainer(props) {
103
106
  return result;
104
107
  }
105
108
  });
106
- }, [callOnStepChange, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
109
+ }, [callOnStepChange, fieldPropsRef, handleLayoutEffect, handleSubmitCall, isInteractionRef, onStepChange, setFormState, setShowAllErrors]);
107
110
  const setActiveIndex = useCallback((index, options) => {
108
111
  if (index === activeIndexRef.current) {
109
112
  return;
@@ -135,31 +138,7 @@ function WizardContainer(props) {
135
138
  });
136
139
  }, [setSubmitState]);
137
140
  const titlesRef = useRef([]);
138
- const Contents = useCallback(() => {
139
- titlesRef.current = [];
140
- return React.Children.map(children, (child, index) => {
141
- if (React.isValidElement(child)) {
142
- var _child, _child2;
143
- let step = child;
144
- if (((_child = child) === null || _child === void 0 ? void 0 : _child.type) !== Step && typeof child.type === 'function') {
145
- var _step;
146
- step = child.type.apply(child.type, [child.props]);
147
- if (((_step = step) === null || _step === void 0 ? void 0 : _step.type) === Step) {
148
- child = step;
149
- }
150
- }
151
- if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === Step) {
152
- var _child$props$title;
153
- titlesRef.current.push((_child$props$title = child.props.title) !== null && _child$props$title !== void 0 ? _child$props$title : 'Title missing');
154
- return React.cloneElement(child, {
155
- key: `${index}-${activeIndexRef.current}`,
156
- index
157
- });
158
- }
159
- }
160
- return child;
161
- });
162
- }, [children]);
141
+ const prerenderFieldPropsRef = useRef({});
163
142
  const activeIndex = activeIndexRef.current;
164
143
  const totalSteps = titlesRef.current.length;
165
144
  const providerValue = useMemo(() => ({
@@ -167,11 +146,15 @@ function WizardContainer(props) {
167
146
  activeIndex,
168
147
  totalSteps,
169
148
  stepElementRef,
149
+ titlesRef,
150
+ activeIndexRef,
151
+ prerenderFieldProps,
152
+ prerenderFieldPropsRef,
170
153
  setActiveIndex,
171
154
  handlePrevious,
172
155
  handleNext,
173
156
  setFormError
174
- }), [id, activeIndex, totalSteps, setActiveIndex, handlePrevious, handleNext, setFormError]);
157
+ }), [id, activeIndex, totalSteps, prerenderFieldProps, setActiveIndex, handlePrevious, handleNext, setFormError]);
175
158
  useLayoutEffect(() => {
176
159
  if (id && hasContext) {
177
160
  var _sharedStateRef$curre4, _sharedStateRef$curre5;
@@ -202,7 +185,98 @@ function WizardContainer(props) {
202
185
  sidebar_id: variant === 'drawer' && !sidebarId ? '' : sidebarId ? sidebarId : id
203
186
  })), React.createElement("div", {
204
187
  className: "dnb-forms-wizard-layout__contents"
205
- }, React.createElement(Contents, null))));
188
+ }, React.createElement(Contents, null, children))), prerenderFieldProps && React.createElement(PrerenderFieldPropsOfOtherSteps, {
189
+ prerenderFieldPropsRef: prerenderFieldPropsRef
190
+ }));
191
+ }
192
+ function Contents(_ref3) {
193
+ let {
194
+ children
195
+ } = _ref3;
196
+ const {
197
+ titlesRef,
198
+ activeIndexRef,
199
+ prerenderFieldProps,
200
+ prerenderFieldPropsRef
201
+ } = useContext(WizardContext);
202
+ titlesRef.current = [];
203
+ return React.Children.map(children, (child, index) => {
204
+ if (React.isValidElement(child)) {
205
+ var _child, _child2;
206
+ let step = child;
207
+ if (((_child = child) === null || _child === void 0 ? void 0 : _child.type) !== Step && typeof child.type === 'function') {
208
+ var _step;
209
+ step = child.type.apply(child.type, [child.props]);
210
+ if (((_step = step) === null || _step === void 0 ? void 0 : _step.type) === Step) {
211
+ child = step;
212
+ }
213
+ }
214
+ if (((_child2 = child) === null || _child2 === void 0 ? void 0 : _child2.type) === Step) {
215
+ var _child$props$title;
216
+ titlesRef.current.push((_child$props$title = child.props.title) !== null && _child$props$title !== void 0 ? _child$props$title : 'Title missing');
217
+ const key = `${index}-${activeIndexRef.current}`;
218
+ const clone = props => React.cloneElement(child, props);
219
+ if (prerenderFieldProps && typeof document !== 'undefined' && index !== activeIndexRef.current && typeof prerenderFieldPropsRef.current['step-' + index] === 'undefined') {
220
+ prerenderFieldPropsRef.current['step-' + index] = () => clone({
221
+ key,
222
+ index,
223
+ prerenderFieldProps: true
224
+ });
225
+ }
226
+ return clone({
227
+ key,
228
+ index
229
+ });
230
+ }
231
+ }
232
+ return child;
233
+ });
234
+ }
235
+ function PrerenderFieldPropsOfOtherSteps(_ref4) {
236
+ let {
237
+ prerenderFieldPropsRef
238
+ } = _ref4;
239
+ const hasRenderedRef = useRef(true);
240
+ if (!hasRenderedRef.current) {
241
+ return null;
242
+ }
243
+ hasRenderedRef.current = false;
244
+ return React.createElement(WizardPortal, null, React.createElement(PrerenderFieldPropsProvider, null, React.createElement("iframe", {
245
+ title: "Wizard Prerender",
246
+ hidden: true
247
+ }, Object.values(prerenderFieldPropsRef.current).map((Fn, i) => React.createElement(Fn, {
248
+ key: i
249
+ })))));
250
+ }
251
+ function WizardPortal(_ref5) {
252
+ let {
253
+ children
254
+ } = _ref5;
255
+ if (typeof document !== 'undefined') {
256
+ return ReactDOM.createPortal(children, document.body);
257
+ }
258
+ }
259
+ function PrerenderFieldPropsProvider(_ref6) {
260
+ let {
261
+ children
262
+ } = _ref6;
263
+ const {
264
+ data,
265
+ setProps,
266
+ updateDataValue
267
+ } = useContext(DataContext);
268
+ return React.createElement(DataContext.Provider, {
269
+ value: _objectSpread(_objectSpread({}, defaultContextState), {}, {
270
+ data,
271
+ setProps,
272
+ updateDataValue,
273
+ prerenderFieldProps: true
274
+ })
275
+ }, React.createElement(WizardContext.Provider, {
276
+ value: {
277
+ prerenderFieldProps: true
278
+ }
279
+ }, children));
206
280
  }
207
281
  WizardContainer._supportsSpacingProps = true;
208
282
  export default WizardContainer;