@dnb/eufemia 10.32.0 → 10.34.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 (938) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/cjs/components/autocomplete/style/dnb-autocomplete.css +0 -1
  3. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  4. package/cjs/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  5. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  6. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  7. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  8. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  9. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  10. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  11. package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -4
  12. package/cjs/components/breadcrumb/Breadcrumb.js +5 -3
  13. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  14. package/cjs/components/card/Card.js +1 -0
  15. package/cjs/components/card/Card.js.map +1 -1
  16. package/cjs/components/card/style/dnb-card.css +3 -0
  17. package/cjs/components/card/style/dnb-card.min.css +1 -1
  18. package/cjs/components/card/style/dnb-card.scss +4 -0
  19. package/cjs/components/checkbox/Checkbox.js +1 -1
  20. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/checkbox/style/dnb-checkbox.css +9 -3
  22. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  23. package/cjs/components/checkbox/style/dnb-checkbox.scss +11 -3
  24. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  25. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  26. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  27. package/cjs/components/flex/Container.js +4 -4
  28. package/cjs/components/flex/Container.js.map +1 -1
  29. package/cjs/components/form-row/FormRow.js +1 -1
  30. package/cjs/components/form-row/FormRow.js.map +1 -1
  31. package/cjs/components/form-set/FormSet.js +1 -1
  32. package/cjs/components/form-set/FormSet.js.map +1 -1
  33. package/cjs/components/form-status/FormStatus.d.ts +0 -1
  34. package/cjs/components/form-status/FormStatus.js +85 -67
  35. package/cjs/components/form-status/FormStatus.js.map +1 -1
  36. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  37. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  38. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  39. package/cjs/components/global-status/GlobalStatus.js +2 -4
  40. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  41. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  42. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  43. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  44. package/cjs/components/grid/Container.d.ts +2 -2
  45. package/cjs/components/grid/Container.js.map +1 -1
  46. package/cjs/components/grid/ContainerDocs.d.ts +2 -0
  47. package/cjs/components/grid/ContainerDocs.js +30 -0
  48. package/cjs/components/grid/ContainerDocs.js.map +1 -0
  49. package/cjs/components/grid/style/dnb-grid.css +6 -0
  50. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  51. package/cjs/components/grid/style/grid-container.scss +6 -0
  52. package/cjs/components/number-format/NumberFormat.js +1 -1
  53. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  54. package/cjs/components/radio/style/dnb-radio.css +19 -7
  55. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  56. package/cjs/components/radio/style/dnb-radio.scss +21 -7
  57. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  58. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  59. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  60. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  61. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  62. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  63. package/cjs/components/slider/SliderDocs.d.ts +3 -0
  64. package/cjs/components/slider/SliderDocs.js +158 -0
  65. package/cjs/components/slider/SliderDocs.js.map +1 -0
  66. package/cjs/components/step-indicator/StepIndicator.js +1 -10
  67. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  68. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  69. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  70. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  71. package/cjs/components/table/TableContainer.d.ts +1 -0
  72. package/cjs/components/table/TableContainer.js +1 -0
  73. package/cjs/components/table/TableContainer.js.map +1 -1
  74. package/cjs/components/table/style/dnb-table.css +3 -0
  75. package/cjs/components/table/style/dnb-table.min.css +1 -1
  76. package/cjs/components/table/style/table-container.scss +5 -0
  77. package/cjs/extensions/forms/DataContext/Context.d.ts +8 -5
  78. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  79. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  80. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  81. package/cjs/extensions/forms/DataContext/Provider/Provider.js +30 -3
  82. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  83. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  84. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  85. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  86. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  87. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  88. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  89. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  90. package/cjs/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  91. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +23 -0
  92. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  93. package/cjs/extensions/forms/Field/Number/Number.d.ts +1 -0
  94. package/cjs/extensions/forms/Field/Number/Number.js +18 -15
  95. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  96. package/cjs/extensions/forms/Field/Number/NumberDocs.js +6 -1
  97. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  98. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  99. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  100. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  101. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  102. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  103. package/cjs/extensions/forms/Field/Selection/Selection.js +5 -6
  104. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  105. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  106. package/cjs/extensions/forms/Field/Slider/Slider.js +115 -0
  107. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -0
  108. package/cjs/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  109. package/cjs/extensions/forms/Field/Slider/SliderDocs.js +34 -0
  110. package/cjs/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  111. package/cjs/extensions/forms/Field/Slider/index.d.ts +2 -0
  112. package/cjs/extensions/forms/Field/Slider/index.js +27 -0
  113. package/cjs/extensions/forms/Field/Slider/index.js.map +1 -0
  114. package/cjs/extensions/forms/Field/String/String.js +2 -2
  115. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  116. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
  117. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  118. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  119. package/cjs/extensions/forms/Field/index.js +7 -0
  120. package/cjs/extensions/forms/Field/index.js.map +1 -1
  121. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +4 -1
  122. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  123. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  124. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  125. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  126. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -1
  127. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  128. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -2
  129. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  130. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +47 -24
  131. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  132. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  133. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  134. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  135. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  136. package/cjs/extensions/forms/Form/Section/Section.d.ts +36 -0
  137. package/cjs/extensions/forms/Form/Section/Section.js +79 -0
  138. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -0
  139. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  140. package/cjs/extensions/forms/Form/Section/SectionContext.js +12 -0
  141. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  142. package/cjs/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  143. package/cjs/extensions/forms/Form/Section/SectionDocs.js +53 -0
  144. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  145. package/cjs/extensions/forms/Form/Section/index.d.ts +2 -0
  146. package/cjs/extensions/forms/Form/Section/index.js +27 -0
  147. package/cjs/extensions/forms/Form/Section/index.js.map +1 -0
  148. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  149. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  150. package/cjs/extensions/forms/Form/Visibility/Visibility.js +15 -9
  151. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  152. package/cjs/extensions/forms/Form/data-context/useData.js +6 -2
  153. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  154. package/cjs/extensions/forms/Form/index.d.ts +1 -1
  155. package/cjs/extensions/forms/Form/index.js +7 -5
  156. package/cjs/extensions/forms/Form/index.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
  158. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  159. package/cjs/extensions/forms/Iterate/Array/Array.js +37 -1
  160. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  161. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  162. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  163. package/cjs/extensions/forms/Iterate/Array/types.d.ts +9 -3
  164. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  165. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  166. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  167. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  168. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  169. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  170. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  171. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -2
  172. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  173. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  174. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  175. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  176. package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  177. package/cjs/extensions/forms/Tools/GenerateSchema.js +143 -0
  178. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  179. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  180. package/cjs/extensions/forms/Tools/ListAllProps.js +73 -0
  181. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -0
  182. package/{es/extensions/forms/Form → cjs/extensions/forms}/Tools/index.d.ts +1 -0
  183. package/cjs/extensions/forms/{Form/Tools → Tools}/index.js +7 -0
  184. package/cjs/extensions/forms/Tools/index.js.map +1 -0
  185. package/cjs/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  186. package/cjs/extensions/forms/Value/Boolean/Boolean.js +5 -3
  187. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  188. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  189. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js +20 -0
  190. package/cjs/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  191. package/cjs/extensions/forms/Value/Number/Number.d.ts +5 -1
  192. package/cjs/extensions/forms/Value/Number/Number.js +18 -5
  193. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  194. package/cjs/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  195. package/cjs/extensions/forms/Value/Number/NumberDocs.js +20 -0
  196. package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  197. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  198. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  199. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +15 -1
  200. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  201. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  202. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  203. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +90 -42
  204. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  205. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  206. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  207. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  208. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  209. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  210. package/cjs/extensions/forms/Wizard/Step/Step.js +7 -4
  211. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  212. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  213. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  214. package/cjs/extensions/forms/Wizard/hooks/useStep.js +17 -1
  215. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  216. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  217. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  218. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  219. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  220. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +164 -0
  221. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  222. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  223. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +25 -0
  224. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  225. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  226. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +84 -0
  227. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  228. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  229. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.js +27 -0
  230. package/cjs/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  231. package/cjs/extensions/forms/blocks/index.d.ts +1 -0
  232. package/cjs/extensions/forms/blocks/index.js +14 -0
  233. package/cjs/extensions/forms/blocks/index.js.map +1 -0
  234. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -2
  235. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  236. package/cjs/extensions/forms/hooks/DataValueDocs.js +10 -10
  237. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  238. package/cjs/extensions/forms/hooks/index.d.ts +2 -5
  239. package/cjs/extensions/forms/hooks/index.js +12 -4
  240. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  241. package/cjs/extensions/forms/hooks/useDataValue.d.ts +9 -0
  242. package/cjs/extensions/forms/hooks/useDataValue.js +39 -0
  243. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  244. package/cjs/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  245. package/cjs/extensions/forms/hooks/useExternalValue.js +47 -0
  246. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -0
  247. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  248. package/cjs/extensions/forms/hooks/useFieldProps.js +67 -83
  249. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  250. package/cjs/extensions/forms/hooks/usePath.d.ts +14 -0
  251. package/cjs/extensions/forms/hooks/usePath.js +72 -0
  252. package/cjs/extensions/forms/hooks/usePath.js.map +1 -0
  253. package/cjs/extensions/forms/hooks/useValueProps.js +19 -5
  254. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  255. package/cjs/extensions/forms/index.d.ts +2 -0
  256. package/cjs/extensions/forms/index.js +4 -1
  257. package/cjs/extensions/forms/index.js.map +1 -1
  258. package/cjs/extensions/forms/style/dnb-forms.css +5 -3
  259. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  260. package/cjs/extensions/forms/types.d.ts +16 -7
  261. package/cjs/extensions/forms/types.js.map +1 -1
  262. package/cjs/fragments/drawer-list/DrawerListHelpers.js +3 -2
  263. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  264. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  265. package/cjs/shared/Context.d.ts +4 -4
  266. package/cjs/shared/Context.js +8 -8
  267. package/cjs/shared/Context.js.map +1 -1
  268. package/cjs/shared/Eufemia.d.ts +1 -1
  269. package/cjs/shared/Eufemia.js +2 -2
  270. package/cjs/shared/Eufemia.js.map +1 -1
  271. package/cjs/shared/component-helper.d.ts +3 -1
  272. package/cjs/shared/component-helper.js +39 -10
  273. package/cjs/shared/component-helper.js.map +1 -1
  274. package/cjs/style/core/scopes.scss +1 -1
  275. package/cjs/style/dnb-ui-basis.css +1 -1
  276. package/cjs/style/dnb-ui-basis.min.css +1 -1
  277. package/cjs/style/dnb-ui-body.css +1 -1
  278. package/cjs/style/dnb-ui-body.min.css +1 -1
  279. package/cjs/style/dnb-ui-components.css +45 -14
  280. package/cjs/style/dnb-ui-components.min.css +3 -3
  281. package/cjs/style/dnb-ui-core.css +1 -1
  282. package/cjs/style/dnb-ui-core.min.css +1 -1
  283. package/cjs/style/dnb-ui-extensions.css +5 -3
  284. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  285. package/cjs/style/dnb-ui-forms.css +5 -3
  286. package/cjs/style/dnb-ui-forms.min.css +1 -1
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +53 -17
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -3
  290. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  291. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +5 -3
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +118 -76
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -3
  297. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -3
  299. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  300. package/cjs/style/themes/theme-ui/ui-theme-components.css +53 -17
  301. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +5 -3
  303. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  304. package/cjs/style/themes/theme-ui/ui-theme-forms.css +5 -3
  305. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  306. package/components/autocomplete/style/dnb-autocomplete.css +0 -1
  307. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  308. package/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  309. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  310. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  311. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  312. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  313. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  314. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  315. package/components/breadcrumb/Breadcrumb.d.ts +4 -4
  316. package/components/breadcrumb/Breadcrumb.js +6 -4
  317. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  318. package/components/card/Card.js +1 -0
  319. package/components/card/Card.js.map +1 -1
  320. package/components/card/style/dnb-card.css +3 -0
  321. package/components/card/style/dnb-card.min.css +1 -1
  322. package/components/card/style/dnb-card.scss +4 -0
  323. package/components/checkbox/Checkbox.js +1 -1
  324. package/components/checkbox/Checkbox.js.map +1 -1
  325. package/components/checkbox/style/dnb-checkbox.css +9 -3
  326. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  327. package/components/checkbox/style/dnb-checkbox.scss +11 -3
  328. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  329. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  330. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  331. package/components/flex/Container.js +4 -4
  332. package/components/flex/Container.js.map +1 -1
  333. package/components/form-row/FormRow.js +2 -2
  334. package/components/form-row/FormRow.js.map +1 -1
  335. package/components/form-set/FormSet.js +2 -2
  336. package/components/form-set/FormSet.js.map +1 -1
  337. package/components/form-status/FormStatus.d.ts +0 -1
  338. package/components/form-status/FormStatus.js +84 -66
  339. package/components/form-status/FormStatus.js.map +1 -1
  340. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  341. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  342. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  343. package/components/global-status/GlobalStatus.js +2 -4
  344. package/components/global-status/GlobalStatus.js.map +1 -1
  345. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  346. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  347. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  348. package/components/grid/Container.d.ts +2 -2
  349. package/components/grid/Container.js.map +1 -1
  350. package/components/grid/ContainerDocs.d.ts +2 -0
  351. package/components/grid/ContainerDocs.js +23 -0
  352. package/components/grid/ContainerDocs.js.map +1 -0
  353. package/components/grid/style/dnb-grid.css +6 -0
  354. package/components/grid/style/dnb-grid.min.css +1 -1
  355. package/components/grid/style/grid-container.scss +6 -0
  356. package/components/number-format/NumberFormat.js +2 -2
  357. package/components/number-format/NumberFormat.js.map +1 -1
  358. package/components/radio/style/dnb-radio.css +19 -7
  359. package/components/radio/style/dnb-radio.min.css +1 -1
  360. package/components/radio/style/dnb-radio.scss +21 -7
  361. package/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  362. package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  363. package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  364. package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  365. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  366. package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  367. package/components/slider/SliderDocs.d.ts +3 -0
  368. package/components/slider/SliderDocs.js +150 -0
  369. package/components/slider/SliderDocs.js.map +1 -0
  370. package/components/step-indicator/StepIndicator.js +1 -9
  371. package/components/step-indicator/StepIndicator.js.map +1 -1
  372. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  373. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  374. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  375. package/components/table/TableContainer.d.ts +1 -0
  376. package/components/table/TableContainer.js +1 -0
  377. package/components/table/TableContainer.js.map +1 -1
  378. package/components/table/style/dnb-table.css +3 -0
  379. package/components/table/style/dnb-table.min.css +1 -1
  380. package/components/table/style/table-container.scss +5 -0
  381. package/es/components/autocomplete/style/dnb-autocomplete.css +0 -1
  382. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  383. package/es/components/autocomplete/style/dnb-autocomplete.scss +0 -2
  384. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +41 -0
  385. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.min.css +1 -0
  386. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +65 -0
  387. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +3 -0
  388. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  389. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +6 -0
  390. package/es/components/breadcrumb/Breadcrumb.d.ts +4 -4
  391. package/es/components/breadcrumb/Breadcrumb.js +6 -4
  392. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  393. package/es/components/card/Card.js +1 -0
  394. package/es/components/card/Card.js.map +1 -1
  395. package/es/components/card/style/dnb-card.css +3 -0
  396. package/es/components/card/style/dnb-card.min.css +1 -1
  397. package/es/components/card/style/dnb-card.scss +4 -0
  398. package/es/components/checkbox/Checkbox.js +1 -1
  399. package/es/components/checkbox/Checkbox.js.map +1 -1
  400. package/es/components/checkbox/style/dnb-checkbox.css +9 -3
  401. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  402. package/es/components/checkbox/style/dnb-checkbox.scss +11 -3
  403. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +5 -3
  404. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +2 -2
  405. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +5 -3
  406. package/es/components/flex/Container.js +4 -4
  407. package/es/components/flex/Container.js.map +1 -1
  408. package/es/components/form-row/FormRow.js +2 -2
  409. package/es/components/form-row/FormRow.js.map +1 -1
  410. package/es/components/form-set/FormSet.js +2 -2
  411. package/es/components/form-set/FormSet.js.map +1 -1
  412. package/es/components/form-status/FormStatus.d.ts +0 -1
  413. package/es/components/form-status/FormStatus.js +84 -66
  414. package/es/components/form-status/FormStatus.js.map +1 -1
  415. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +2 -2
  416. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  417. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +2 -2
  418. package/es/components/global-status/GlobalStatus.js +2 -4
  419. package/es/components/global-status/GlobalStatus.js.map +1 -1
  420. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  421. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  422. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  423. package/es/components/grid/Container.d.ts +2 -2
  424. package/es/components/grid/Container.js.map +1 -1
  425. package/es/components/grid/ContainerDocs.d.ts +2 -0
  426. package/es/components/grid/ContainerDocs.js +23 -0
  427. package/es/components/grid/ContainerDocs.js.map +1 -0
  428. package/es/components/grid/style/dnb-grid.css +6 -0
  429. package/es/components/grid/style/dnb-grid.min.css +1 -1
  430. package/es/components/grid/style/grid-container.scss +6 -0
  431. package/es/components/number-format/NumberFormat.js +2 -2
  432. package/es/components/number-format/NumberFormat.js.map +1 -1
  433. package/es/components/radio/style/dnb-radio.css +19 -7
  434. package/es/components/radio/style/dnb-radio.min.css +1 -1
  435. package/es/components/radio/style/dnb-radio.scss +21 -7
  436. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +6 -0
  437. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +1 -1
  438. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +6 -0
  439. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  440. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  441. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  442. package/es/components/slider/SliderDocs.d.ts +3 -0
  443. package/es/components/slider/SliderDocs.js +150 -0
  444. package/es/components/slider/SliderDocs.js.map +1 -0
  445. package/es/components/step-indicator/StepIndicator.js +1 -9
  446. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  447. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +1 -1
  448. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -1
  449. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +1 -1
  450. package/es/components/table/TableContainer.d.ts +1 -0
  451. package/es/components/table/TableContainer.js +1 -0
  452. package/es/components/table/TableContainer.js.map +1 -1
  453. package/es/components/table/style/dnb-table.css +3 -0
  454. package/es/components/table/style/dnb-table.min.css +1 -1
  455. package/es/components/table/style/table-container.scss +5 -0
  456. package/es/extensions/forms/DataContext/Context.d.ts +8 -5
  457. package/es/extensions/forms/DataContext/Context.js +0 -1
  458. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  459. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  460. package/es/extensions/forms/DataContext/Provider/Provider.js +33 -6
  461. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  462. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  463. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  464. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  465. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  466. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  467. package/es/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  468. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  469. package/es/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  470. package/es/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
  471. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  472. package/es/extensions/forms/Field/Number/Number.d.ts +1 -0
  473. package/es/extensions/forms/Field/Number/Number.js +18 -15
  474. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  475. package/es/extensions/forms/Field/Number/NumberDocs.js +6 -1
  476. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  477. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  478. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  479. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  480. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  481. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  482. package/es/extensions/forms/Field/Selection/Selection.js +5 -6
  483. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  484. package/es/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  485. package/es/extensions/forms/Field/Slider/Slider.js +103 -0
  486. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -0
  487. package/es/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  488. package/es/extensions/forms/Field/Slider/SliderDocs.js +26 -0
  489. package/es/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  490. package/es/extensions/forms/Field/Slider/index.d.ts +2 -0
  491. package/es/extensions/forms/Field/Slider/index.js +3 -0
  492. package/es/extensions/forms/Field/Slider/index.js.map +1 -0
  493. package/es/extensions/forms/Field/String/String.js +2 -2
  494. package/es/extensions/forms/Field/String/String.js.map +1 -1
  495. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -7
  496. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  497. package/es/extensions/forms/Field/index.d.ts +1 -0
  498. package/es/extensions/forms/Field/index.js +1 -0
  499. package/es/extensions/forms/Field/index.js.map +1 -1
  500. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +4 -1
  501. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  502. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  503. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  504. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  505. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -1
  506. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  507. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -2
  508. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  509. package/es/extensions/forms/Form/FieldProps/FieldProps.js +46 -25
  510. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  511. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  512. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  513. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  514. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  515. package/es/extensions/forms/Form/Section/Section.d.ts +36 -0
  516. package/es/extensions/forms/Form/Section/Section.js +63 -0
  517. package/es/extensions/forms/Form/Section/Section.js.map +1 -0
  518. package/es/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  519. package/es/extensions/forms/Form/Section/SectionContext.js +4 -0
  520. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  521. package/es/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  522. package/es/extensions/forms/Form/Section/SectionDocs.js +45 -0
  523. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  524. package/es/extensions/forms/Form/Section/index.d.ts +2 -0
  525. package/es/extensions/forms/Form/Section/index.js +3 -0
  526. package/es/extensions/forms/Form/Section/index.js.map +1 -0
  527. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  528. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  529. package/es/extensions/forms/Form/Visibility/Visibility.js +16 -10
  530. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  531. package/es/extensions/forms/Form/data-context/useData.js +6 -2
  532. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  533. package/es/extensions/forms/Form/index.d.ts +1 -1
  534. package/es/extensions/forms/Form/index.js +1 -1
  535. package/es/extensions/forms/Form/index.js.map +1 -1
  536. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
  537. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  538. package/es/extensions/forms/Iterate/Array/Array.js +37 -1
  539. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  540. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  541. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  542. package/es/extensions/forms/Iterate/Array/types.d.ts +9 -3
  543. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  544. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  545. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  546. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  547. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  548. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  549. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  550. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -2
  551. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  552. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  553. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  554. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  555. package/es/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  556. package/es/extensions/forms/Tools/GenerateSchema.js +130 -0
  557. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  558. package/es/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  559. package/es/extensions/forms/Tools/ListAllProps.js +65 -0
  560. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -0
  561. package/{extensions/forms/Form → es/extensions/forms}/Tools/index.d.ts +1 -0
  562. package/es/extensions/forms/Tools/index.js +3 -0
  563. package/es/extensions/forms/Tools/index.js.map +1 -0
  564. package/es/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  565. package/es/extensions/forms/Value/Boolean/Boolean.js +5 -3
  566. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  567. package/es/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  568. package/es/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
  569. package/es/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  570. package/es/extensions/forms/Value/Number/Number.d.ts +5 -1
  571. package/es/extensions/forms/Value/Number/Number.js +18 -5
  572. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  573. package/es/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  574. package/es/extensions/forms/Value/Number/NumberDocs.js +13 -0
  575. package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  576. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  577. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  578. package/es/extensions/forms/ValueBlock/ValueBlock.js +16 -2
  579. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  580. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  581. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  582. package/es/extensions/forms/Wizard/Container/WizardContainer.js +83 -36
  583. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  584. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  585. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  586. package/es/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  587. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  588. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  589. package/es/extensions/forms/Wizard/Step/Step.js +7 -4
  590. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  591. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  592. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  593. package/es/extensions/forms/Wizard/hooks/useStep.js +17 -1
  594. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  595. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  596. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  597. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  598. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  599. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +151 -0
  600. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  601. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  602. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
  603. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  604. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  605. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
  606. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  607. package/es/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  608. package/es/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
  609. package/es/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  610. package/es/extensions/forms/blocks/index.d.ts +1 -0
  611. package/es/extensions/forms/blocks/index.js +1 -0
  612. package/es/extensions/forms/blocks/index.js.map +1 -0
  613. package/es/extensions/forms/constants/locales/en-GB.js +2 -2
  614. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  615. package/es/extensions/forms/hooks/DataValueDocs.js +10 -10
  616. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  617. package/es/extensions/forms/hooks/index.d.ts +2 -5
  618. package/es/extensions/forms/hooks/index.js +2 -1
  619. package/es/extensions/forms/hooks/index.js.map +1 -1
  620. package/es/extensions/forms/hooks/useDataValue.d.ts +9 -0
  621. package/es/extensions/forms/hooks/useDataValue.js +32 -0
  622. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  623. package/es/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  624. package/es/extensions/forms/hooks/useExternalValue.js +41 -0
  625. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -0
  626. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  627. package/es/extensions/forms/hooks/useFieldProps.js +67 -82
  628. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  629. package/es/extensions/forms/hooks/usePath.d.ts +14 -0
  630. package/es/extensions/forms/hooks/usePath.js +64 -0
  631. package/es/extensions/forms/hooks/usePath.js.map +1 -0
  632. package/es/extensions/forms/hooks/useValueProps.js +19 -6
  633. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  634. package/es/extensions/forms/index.d.ts +2 -0
  635. package/es/extensions/forms/index.js +1 -0
  636. package/es/extensions/forms/index.js.map +1 -1
  637. package/es/extensions/forms/style/dnb-forms.css +5 -3
  638. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  639. package/es/extensions/forms/types.d.ts +16 -7
  640. package/es/extensions/forms/types.js.map +1 -1
  641. package/es/fragments/drawer-list/DrawerListHelpers.js +3 -2
  642. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  643. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  644. package/es/shared/Context.d.ts +4 -4
  645. package/es/shared/Context.js +9 -9
  646. package/es/shared/Context.js.map +1 -1
  647. package/es/shared/Eufemia.d.ts +1 -1
  648. package/es/shared/Eufemia.js +2 -2
  649. package/es/shared/Eufemia.js.map +1 -1
  650. package/es/shared/component-helper.d.ts +3 -1
  651. package/es/shared/component-helper.js +25 -2
  652. package/es/shared/component-helper.js.map +1 -1
  653. package/es/style/core/scopes.scss +1 -1
  654. package/es/style/dnb-ui-basis.css +1 -1
  655. package/es/style/dnb-ui-basis.min.css +1 -1
  656. package/es/style/dnb-ui-body.css +1 -1
  657. package/es/style/dnb-ui-body.min.css +1 -1
  658. package/es/style/dnb-ui-components.css +45 -14
  659. package/es/style/dnb-ui-components.min.css +3 -3
  660. package/es/style/dnb-ui-core.css +1 -1
  661. package/es/style/dnb-ui-core.min.css +1 -1
  662. package/es/style/dnb-ui-extensions.css +5 -3
  663. package/es/style/dnb-ui-extensions.min.css +1 -1
  664. package/es/style/dnb-ui-forms.css +5 -3
  665. package/es/style/dnb-ui-forms.min.css +1 -1
  666. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +53 -17
  667. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  668. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -3
  669. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  670. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +5 -3
  671. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  672. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +118 -76
  673. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  674. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  675. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -3
  676. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  677. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -3
  678. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  679. package/es/style/themes/theme-ui/ui-theme-components.css +53 -17
  680. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  681. package/es/style/themes/theme-ui/ui-theme-extensions.css +5 -3
  682. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  683. package/es/style/themes/theme-ui/ui-theme-forms.css +5 -3
  684. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  685. package/esm/dnb-ui-basis.min.mjs +1 -1
  686. package/esm/dnb-ui-components.min.mjs +1 -1
  687. package/esm/dnb-ui-elements.min.mjs +1 -1
  688. package/esm/dnb-ui-extensions.min.mjs +5 -5
  689. package/esm/dnb-ui-lib.min.mjs +1 -1
  690. package/extensions/forms/DataContext/Context.d.ts +8 -5
  691. package/extensions/forms/DataContext/Context.js +0 -1
  692. package/extensions/forms/DataContext/Context.js.map +1 -1
  693. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  694. package/extensions/forms/DataContext/Provider/Provider.js +33 -6
  695. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  696. package/extensions/forms/DataContext/Provider/ProviderDocs.js +7 -2
  697. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  698. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  699. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  700. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  701. package/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  702. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  703. package/extensions/forms/Field/Composition/CompositionDocs.d.ts +2 -0
  704. package/extensions/forms/Field/Composition/CompositionDocs.js +14 -0
  705. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -0
  706. package/extensions/forms/Field/Number/Number.d.ts +1 -0
  707. package/extensions/forms/Field/Number/Number.js +18 -15
  708. package/extensions/forms/Field/Number/Number.js.map +1 -1
  709. package/extensions/forms/Field/Number/NumberDocs.js +6 -1
  710. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  711. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  712. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  713. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  714. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  715. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  716. package/extensions/forms/Field/Selection/Selection.js +5 -6
  717. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  718. package/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  719. package/extensions/forms/Field/Slider/Slider.js +104 -0
  720. package/extensions/forms/Field/Slider/Slider.js.map +1 -0
  721. package/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  722. package/extensions/forms/Field/Slider/SliderDocs.js +26 -0
  723. package/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  724. package/extensions/forms/Field/Slider/index.d.ts +2 -0
  725. package/extensions/forms/Field/Slider/index.js +3 -0
  726. package/extensions/forms/Field/Slider/index.js.map +1 -0
  727. package/extensions/forms/Field/String/String.js +2 -2
  728. package/extensions/forms/Field/String/String.js.map +1 -1
  729. package/extensions/forms/Field/Toggle/Toggle.js +7 -7
  730. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  731. package/extensions/forms/Field/index.d.ts +1 -0
  732. package/extensions/forms/Field/index.js +1 -0
  733. package/extensions/forms/Field/index.js.map +1 -1
  734. package/extensions/forms/FieldBlock/FieldBlock.d.ts +4 -1
  735. package/extensions/forms/FieldBlock/FieldBlock.js +15 -3
  736. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  737. package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  738. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  739. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -1
  740. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  741. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -2
  742. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  743. package/extensions/forms/Form/FieldProps/FieldProps.js +46 -25
  744. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  745. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  746. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  747. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -0
  748. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  749. package/extensions/forms/Form/Section/Section.d.ts +36 -0
  750. package/extensions/forms/Form/Section/Section.js +68 -0
  751. package/extensions/forms/Form/Section/Section.js.map +1 -0
  752. package/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  753. package/extensions/forms/Form/Section/SectionContext.js +4 -0
  754. package/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  755. package/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  756. package/extensions/forms/Form/Section/SectionDocs.js +45 -0
  757. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  758. package/extensions/forms/Form/Section/index.d.ts +2 -0
  759. package/extensions/forms/Form/Section/index.js +3 -0
  760. package/extensions/forms/Form/Section/index.js.map +1 -0
  761. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -0
  762. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  763. package/extensions/forms/Form/Visibility/Visibility.js +16 -10
  764. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  765. package/extensions/forms/Form/data-context/useData.js +6 -2
  766. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  767. package/extensions/forms/Form/index.d.ts +1 -1
  768. package/extensions/forms/Form/index.js +1 -2
  769. package/extensions/forms/Form/index.js.map +1 -1
  770. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +2 -2
  771. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  772. package/extensions/forms/Iterate/Array/Array.js +37 -1
  773. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  774. package/extensions/forms/Iterate/Array/ArrayDocs.js +15 -0
  775. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  776. package/extensions/forms/Iterate/Array/types.d.ts +9 -3
  777. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  778. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  779. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  780. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  781. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  782. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  783. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  784. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -2
  785. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  786. package/extensions/forms/Iterate/style/dnb-form-iterate.css +1 -1
  787. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  788. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -0
  789. package/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  790. package/extensions/forms/Tools/GenerateSchema.js +133 -0
  791. package/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  792. package/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  793. package/extensions/forms/Tools/ListAllProps.js +67 -0
  794. package/extensions/forms/Tools/ListAllProps.js.map +1 -0
  795. package/{cjs/extensions/forms/Form → extensions/forms}/Tools/index.d.ts +1 -0
  796. package/extensions/forms/Tools/index.js +3 -0
  797. package/extensions/forms/Tools/index.js.map +1 -0
  798. package/extensions/forms/Value/Boolean/Boolean.d.ts +5 -1
  799. package/extensions/forms/Value/Boolean/Boolean.js +5 -3
  800. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  801. package/extensions/forms/Value/Boolean/BooleanDocs.d.ts +2 -0
  802. package/extensions/forms/Value/Boolean/BooleanDocs.js +13 -0
  803. package/extensions/forms/Value/Boolean/BooleanDocs.js.map +1 -0
  804. package/extensions/forms/Value/Number/Number.d.ts +5 -1
  805. package/extensions/forms/Value/Number/Number.js +18 -5
  806. package/extensions/forms/Value/Number/Number.js.map +1 -1
  807. package/extensions/forms/Value/Number/NumberDocs.d.ts +2 -0
  808. package/extensions/forms/Value/Number/NumberDocs.js +13 -0
  809. package/extensions/forms/Value/Number/NumberDocs.js.map +1 -0
  810. package/extensions/forms/Value/ValueDocs.js +6 -1
  811. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  812. package/extensions/forms/ValueBlock/ValueBlock.js +16 -2
  813. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  814. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -1
  815. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  816. package/extensions/forms/Wizard/Container/WizardContainer.js +91 -43
  817. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  818. package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  819. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  820. package/extensions/forms/Wizard/EditButton/EditButton.js +7 -2
  821. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  822. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  823. package/extensions/forms/Wizard/Step/Step.js +7 -4
  824. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  825. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  826. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  827. package/extensions/forms/Wizard/hooks/useStep.js +17 -1
  828. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  829. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
  830. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  831. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  832. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +13 -0
  833. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +156 -0
  834. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -0
  835. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.d.ts +2 -0
  836. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +18 -0
  837. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -0
  838. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +77 -0
  839. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +77 -0
  840. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -0
  841. package/extensions/forms/blocks/ChildrenWithAge/index.d.ts +2 -0
  842. package/extensions/forms/blocks/ChildrenWithAge/index.js +3 -0
  843. package/extensions/forms/blocks/ChildrenWithAge/index.js.map +1 -0
  844. package/extensions/forms/blocks/index.d.ts +1 -0
  845. package/extensions/forms/blocks/index.js +1 -0
  846. package/extensions/forms/blocks/index.js.map +1 -0
  847. package/extensions/forms/constants/locales/en-GB.js +2 -2
  848. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  849. package/extensions/forms/hooks/DataValueDocs.js +10 -10
  850. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  851. package/extensions/forms/hooks/index.d.ts +2 -5
  852. package/extensions/forms/hooks/index.js +2 -1
  853. package/extensions/forms/hooks/index.js.map +1 -1
  854. package/extensions/forms/hooks/useDataValue.d.ts +9 -0
  855. package/extensions/forms/hooks/useDataValue.js +33 -0
  856. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  857. package/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  858. package/extensions/forms/hooks/useExternalValue.js +41 -0
  859. package/extensions/forms/hooks/useExternalValue.js.map +1 -0
  860. package/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  861. package/extensions/forms/hooks/useFieldProps.js +67 -82
  862. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  863. package/extensions/forms/hooks/usePath.d.ts +14 -0
  864. package/extensions/forms/hooks/usePath.js +66 -0
  865. package/extensions/forms/hooks/usePath.js.map +1 -0
  866. package/extensions/forms/hooks/useValueProps.js +19 -6
  867. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  868. package/extensions/forms/index.d.ts +2 -0
  869. package/extensions/forms/index.js +2 -0
  870. package/extensions/forms/index.js.map +1 -1
  871. package/extensions/forms/style/dnb-forms.css +5 -3
  872. package/extensions/forms/style/dnb-forms.min.css +1 -1
  873. package/extensions/forms/types.d.ts +16 -7
  874. package/extensions/forms/types.js.map +1 -1
  875. package/fragments/drawer-list/DrawerListHelpers.js +3 -2
  876. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  877. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +12 -1
  878. package/package.json +2 -2
  879. package/shared/Context.d.ts +4 -4
  880. package/shared/Context.js +9 -9
  881. package/shared/Context.js.map +1 -1
  882. package/shared/Eufemia.d.ts +1 -1
  883. package/shared/Eufemia.js +2 -2
  884. package/shared/Eufemia.js.map +1 -1
  885. package/shared/component-helper.d.ts +3 -1
  886. package/shared/component-helper.js +35 -8
  887. package/shared/component-helper.js.map +1 -1
  888. package/style/core/scopes.scss +1 -1
  889. package/style/dnb-ui-basis.css +1 -1
  890. package/style/dnb-ui-basis.min.css +1 -1
  891. package/style/dnb-ui-body.css +1 -1
  892. package/style/dnb-ui-body.min.css +1 -1
  893. package/style/dnb-ui-components.css +45 -14
  894. package/style/dnb-ui-components.min.css +3 -3
  895. package/style/dnb-ui-core.css +1 -1
  896. package/style/dnb-ui-core.min.css +1 -1
  897. package/style/dnb-ui-extensions.css +5 -3
  898. package/style/dnb-ui-extensions.min.css +1 -1
  899. package/style/dnb-ui-forms.css +5 -3
  900. package/style/dnb-ui-forms.min.css +1 -1
  901. package/style/themes/theme-eiendom/eiendom-theme-components.css +53 -17
  902. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  903. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -3
  904. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  905. package/style/themes/theme-eiendom/eiendom-theme-forms.css +5 -3
  906. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  907. package/style/themes/theme-sbanken/sbanken-theme-components.css +118 -76
  908. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -8
  909. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  910. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -3
  911. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  912. package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -3
  913. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  914. package/style/themes/theme-ui/ui-theme-components.css +53 -17
  915. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  916. package/style/themes/theme-ui/ui-theme-extensions.css +5 -3
  917. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  918. package/style/themes/theme-ui/ui-theme-forms.css +5 -3
  919. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  920. package/umd/dnb-ui-basis.min.js +1 -1
  921. package/umd/dnb-ui-components.min.js +1 -1
  922. package/umd/dnb-ui-elements.min.js +1 -1
  923. package/umd/dnb-ui-extensions.min.js +5 -5
  924. package/umd/dnb-ui-lib.min.js +1 -1
  925. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
  926. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +0 -100
  927. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
  928. package/cjs/extensions/forms/Form/Tools/index.js.map +0 -1
  929. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
  930. package/es/extensions/forms/Form/Tools/GenerateSchema.js +0 -89
  931. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
  932. package/es/extensions/forms/Form/Tools/index.js +0 -1
  933. package/es/extensions/forms/Form/Tools/index.js.map +0 -1
  934. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +0 -8
  935. package/extensions/forms/Form/Tools/GenerateSchema.js +0 -90
  936. package/extensions/forms/Form/Tools/GenerateSchema.js.map +0 -1
  937. package/extensions/forms/Form/Tools/index.js +0 -1
  938. package/extensions/forms/Form/Tools/index.js.map +0 -1
@@ -3,13 +3,14 @@
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", "forId", "layout", "composition", "label", "labelDescription", "asFieldset", "info", "warning", "error", "fieldState", "disabled", "width", "contentWidth", "labelSize", "contentClassName", "children"];
6
+ const _excluded = ["className", "forId", "layout", "composition", "label", "labelDescription", "asFieldset", "info", "warning", "error", "fieldState", "disabled", "width", "contentWidth", "align", "labelSize", "contentClassName", "children"];
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, { useMemo, useContext, useCallback, useRef, useReducer, useEffect } from 'react';
10
10
  import classnames from 'classnames';
11
11
  import FieldBlockContext from './FieldBlockContext';
12
12
  import DataContext from '../DataContext/Context';
13
+ import IterateElementContext from '../Iterate/IterateElementContext';
13
14
  import { Space, FormLabel, FormStatus } from '../../../components';
14
15
  import { Ul, Li } from '../../../elements';
15
16
  import { convertJsxToString, findElementInChildren, warn } from '../../../shared/component-helper';
@@ -30,7 +31,7 @@ function FieldBlock(props) {
30
31
  forId,
31
32
  layout = 'vertical',
32
33
  composition,
33
- label,
34
+ label: labelProp,
34
35
  labelDescription,
35
36
  asFieldset,
36
37
  info,
@@ -40,11 +41,16 @@ function FieldBlock(props) {
40
41
  disabled,
41
42
  width,
42
43
  contentWidth,
44
+ align,
43
45
  labelSize,
44
46
  contentClassName,
45
47
  children
46
48
  } = _Object$assign,
47
49
  rest = _objectWithoutProperties(_Object$assign, _excluded);
50
+ const iterateElementContext = useContext(IterateElementContext);
51
+ const {
52
+ index: iterateIndex
53
+ } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
48
54
  const blockId = useId(props.id);
49
55
  const [wasUpdated, forceUpdate] = useReducer(() => ({}), {});
50
56
  const mountedFieldsRef = useRef({});
@@ -54,6 +60,12 @@ function FieldBlock(props) {
54
60
  const hasInitiallyErrorProp = useMemo(() => {
55
61
  return Boolean(errorProp);
56
62
  }, []);
63
+ const label = useMemo(() => {
64
+ if (iterateIndex !== undefined) {
65
+ return convertJsxToString(labelProp).replace('{itemNr}', String(iterateIndex + 1));
66
+ }
67
+ return labelProp;
68
+ }, [iterateIndex, labelProp]);
57
69
  const setInternalRecord = useCallback(props => {
58
70
  const {
59
71
  stateId,
@@ -258,7 +270,7 @@ function FieldBlock(props) {
258
270
  }, labelDescription)))), React.createElement("div", {
259
271
  className: "dnb-forms-field-block__status"
260
272
  }, React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.error), React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.warning), React.createElement(FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.info)), React.createElement("div", {
261
- className: classnames('dnb-forms-field-block__contents', contentClassName, contentWidth !== undefined && `dnb-forms-field-block__contents--width-${contentWidth}`, composition !== undefined && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
273
+ className: classnames('dnb-forms-field-block__contents', contentClassName, contentWidth && `dnb-forms-field-block__contents--width-${contentWidth}`, align && `dnb-forms-field-block__contents--align-${align}`, composition && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
262
274
  ref: contentsRef
263
275
  }, children))));
264
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useCallback","useRef","useReducer","useEffect","classnames","FieldBlockContext","DataContext","Space","FormLabel","FormStatus","Ul","Li","convertJsxToString","findElementInChildren","warn","useId","useUnmountEffect","FormError","SubmitIndicator","createSharedState","useTranslation","states","FieldBlock","props","dataContext","nestedFieldBlockContext","sharedData","forId","id","_Object$assign","Object","assign","data","className","layout","composition","label","labelDescription","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","labelSize","contentClassName","children","rest","_objectWithoutProperties","_excluded","blockId","wasUpdated","forceUpdate","mountedFieldsRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","Boolean","setInternalRecord","stateId","identifier","type","current","existingIndex","findIndex","item","_objectSpread","push","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","undefined","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","filter","_ref2","i","arr","length","text","createElement","CombineMessages","mainClasses","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","space","top","bottom","size","prerenderFieldProps","Provider","value","hasErrorProp","_extends","LabelDescription","ref","_ref3","result","count","child","_child$props","_child$type","_ref4","translations","Field","Fragment","errorSummary","stateSummary","_ref5","key","_ref6","Error","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(props.forId || props.id)\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label,\n labelDescription,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth !== undefined &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n composition !== undefined &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useCallback","useRef","useReducer","useEffect","classnames","FieldBlockContext","DataContext","IterateElementContext","Space","FormLabel","FormStatus","Ul","Li","convertJsxToString","findElementInChildren","warn","useId","useUnmountEffect","FormError","SubmitIndicator","createSharedState","useTranslation","states","FieldBlock","props","dataContext","nestedFieldBlockContext","sharedData","forId","id","_Object$assign","Object","assign","data","className","layout","composition","label","labelProp","labelDescription","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","_objectWithoutProperties","_excluded","iterateElementContext","index","iterateIndex","blockId","wasUpdated","forceUpdate","mountedFieldsRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","Boolean","undefined","replace","String","setInternalRecord","stateId","identifier","type","current","existingIndex","findIndex","item","_objectSpread","push","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","filter","_ref2","i","arr","length","text","createElement","CombineMessages","mainClasses","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","space","top","bottom","size","prerenderFieldProps","Provider","value","hasErrorProp","_extends","LabelDescription","ref","_ref3","result","count","child","_child$props","_child$type","_ref4","translations","Field","Fragment","errorSummary","stateSummary","_ref5","key","_ref6","Error","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(props.forId || props.id)\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateElementContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateElementContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useMemo(() => {\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [iterateIndex, labelProp])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
@@ -44,6 +44,11 @@ export const fieldBlockProperties = _objectSpread(_objectSpread({}, fieldBlockSh
44
44
  type: 'boolean',
45
45
  status: 'optional'
46
46
  },
47
+ align: {
48
+ doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',
49
+ type: ['string', 'false'],
50
+ status: 'optional'
51
+ },
47
52
  composition: {
48
53
  doc: 'Use `true` for when you have more than one field wrapped.',
49
54
  type: 'string',
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","layout","width","contentWidth","fieldBlockProperties","_objectSpread","labelSize","asFieldset","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading size](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;AAEA,OAAO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,YAAY,EAAE;IACZN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMK,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDV,0BAA0B;EAC7BW,SAAS,EAAE;IACTT,GAAG,EAAE,4FAA4F;IACjGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDQ,UAAU,EAAE;IACVV,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDS,WAAW,EAAE;IACXX,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRZ,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF"}
1
+ {"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","layout","width","contentWidth","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading size](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;AAEA,OAAO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,YAAY,EAAE;IACZN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMK,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDV,0BAA0B;EAC7BW,SAAS,EAAE;IACTT,GAAG,EAAE,4FAA4F;IACjGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDQ,UAAU,EAAE;IACVV,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDS,KAAK,EAAE;IACLX,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDU,WAAW,EAAE;IACXZ,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDW,QAAQ,EAAE;IACRb,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF"}
@@ -52,7 +52,6 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
52
52
  grid-template-areas: "label contents" "status status";
53
53
  }
54
54
  .dnb-forms-field-block--width-stretch {
55
- width: 100%;
56
55
  flex-grow: 1;
57
56
  }
58
57
  @media screen and (min-width: 25em) {
@@ -120,6 +119,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
120
119
  .dnb-forms-field-block__contents__composition--horizontal {
121
120
  align-items: flex-end;
122
121
  }
122
+ .dnb-forms-field-block__contents__composition--horizontal[class*=align-center] {
123
+ align-items: center;
124
+ }
123
125
  }
124
126
  @media screen and (max-width: 25em) {
125
127
  .dnb-forms-field-block__contents__composition--horizontal {
@@ -1 +1 @@
1
- :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1;width:100%}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
@@ -50,7 +50,6 @@ fieldset.dnb-forms-field-block {
50
50
 
51
51
  &--width {
52
52
  &-stretch {
53
- width: 100%;
54
53
  flex-grow: 1;
55
54
  }
56
55
  @include allAbove(x-small) {
@@ -124,7 +123,11 @@ fieldset.dnb-forms-field-block {
124
123
  column-gap: var(--spacing-small);
125
124
 
126
125
  @include allAbove(x-small) {
127
- align-items: flex-end;
126
+ align-items: flex-end; // To support fields with labels of different size
127
+
128
+ &[class*='align-center'] {
129
+ align-items: center; // To support fields without labels, but different heights
130
+ }
128
131
  }
129
132
  @include allBelow(x-small) {
130
133
  row-gap: var(--spacing-x-small);
@@ -1,15 +1,29 @@
1
1
  import React from 'react';
2
2
  import { Props as DataContextProps } from '../../DataContext/Provider';
3
- import { UseFieldProps } from '../../types';
4
3
  import { FormStatusProps } from '../../../../components/FormStatus';
5
4
  import { ContextProps } from '../../../../shared/Context';
6
- export type FieldPropsProps = UseFieldProps & {
5
+ import type { FieldProps, Path } from '../../types';
6
+ export type FieldPropsProps = FieldProps & {
7
7
  children: React.ReactNode;
8
+ /**
9
+ * Locale to use for all nested Eufemia components
10
+ */
11
+ locale?: DataContextProps<unknown>['locale'];
12
+ /**
13
+ * Provide your own translations. Use the same format as defined in the translation files
14
+ */
15
+ translations?: DataContextProps<unknown>['translations'];
16
+ /** For internal use only */
17
+ overwriteProps?: {
18
+ [key: Path]: FieldProps;
19
+ };
20
+ /** For internal use only */
21
+ deep?: boolean;
22
+ /** For internal use only */
8
23
  formElement?: ContextProps['formElement'];
24
+ /** For internal use only */
9
25
  FormStatus?: {
10
26
  globalStatus: FormStatusProps;
11
27
  };
12
- locale?: DataContextProps<unknown>['locale'];
13
- translations?: DataContextProps<unknown>['translations'];
14
28
  };
15
- export default function FieldProps(props: FieldPropsProps): import("react/jsx-runtime").JSX.Element;
29
+ export default function FieldPropsProvider(props: FieldPropsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,33 +1,37 @@
1
1
  "use client";
2
2
 
3
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["children", "formElement", "FormStatus"],
5
- _excluded2 = ["locale", "translations"];
6
- import React, { useContext, useRef } from 'react';
5
+ const _excluded = ["children", "formElement", "FormStatus", "overwriteProps", "deep"];
6
+ 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; }
7
+ 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; }
8
+ import React, { useCallback, useContext, useMemo, useRef } from 'react';
7
9
  import DataContext from '../../DataContext/Context';
8
- import { assignPropsWithContext } from '../../../../shared/component-helper';
10
+ import { assignPropsWithContext, extendDeep } from '../../../../shared/component-helper';
9
11
  import FieldPropsContext from './FieldPropsContext';
10
12
  import SharedProvider from '../../../../shared/Provider';
11
- export default function FieldProps(props) {
13
+ export default function FieldPropsProvider(props) {
14
+ var _dataContextRef$curre, _dataContextRef$curre2, _dataContextRef$curre3, _dataContextRef$curre4, _dataContextRef$curre5;
12
15
  const {
13
16
  children,
14
17
  formElement,
15
- FormStatus
18
+ FormStatus,
19
+ overwriteProps,
20
+ deep
16
21
  } = props,
17
- rest = _objectWithoutProperties(props, _excluded);
22
+ restProps = _objectWithoutProperties(props, _excluded);
18
23
  const nestedContext = useContext(FieldPropsContext);
19
24
  const dataContextRef = useRef();
20
25
  dataContextRef.current = useContext(DataContext);
21
26
  const sharedProviderProps = {};
22
- const _ref = Object.assign((nestedContext === null || nestedContext === void 0 ? void 0 : nestedContext.inheritedContext) || {}, rest),
23
- {
24
- locale,
25
- translations
26
- } = _ref,
27
- restOfRest = _objectWithoutProperties(_ref, _excluded2);
28
- if (typeof restOfRest.disabled === 'boolean') {
27
+ const locale = (_dataContextRef$curre = (_dataContextRef$curre2 = dataContextRef.current) === null || _dataContextRef$curre2 === void 0 ? void 0 : (_dataContextRef$curre3 = _dataContextRef$curre2.props) === null || _dataContextRef$curre3 === void 0 ? void 0 : _dataContextRef$curre3.locale) !== null && _dataContextRef$curre !== void 0 ? _dataContextRef$curre : restProps === null || restProps === void 0 ? void 0 : restProps.locale;
28
+ const translations = extendDeep({}, restProps === null || restProps === void 0 ? void 0 : restProps.translations, (_dataContextRef$curre4 = dataContextRef.current) === null || _dataContextRef$curre4 === void 0 ? void 0 : (_dataContextRef$curre5 = _dataContextRef$curre4.props) === null || _dataContextRef$curre5 === void 0 ? void 0 : _dataContextRef$curre5.translations);
29
+ const nestedFieldProps = useMemo(() => {
30
+ return Object.assign((nestedContext === null || nestedContext === void 0 ? void 0 : nestedContext.inheritedProps) || {}, restProps);
31
+ }, [nestedContext === null || nestedContext === void 0 ? void 0 : nestedContext.inheritedProps, restProps]);
32
+ if (typeof nestedFieldProps.disabled === 'boolean') {
29
33
  sharedProviderProps.formElement = {
30
- disabled: restOfRest.disabled
34
+ disabled: nestedFieldProps.disabled
31
35
  };
32
36
  }
33
37
  if (formElement) {
@@ -39,25 +43,42 @@ export default function FieldProps(props) {
39
43
  if (locale) {
40
44
  sharedProviderProps.locale = locale;
41
45
  }
42
- if (translations) {
43
- sharedProviderProps.translations = wrapFormsTranslations(translations);
46
+ const formTranslations = useMemo(() => {
47
+ if (translations) {
48
+ return transformTranslations(translations);
49
+ }
50
+ }, [translations]);
51
+ if (formTranslations) {
52
+ sharedProviderProps.translations = formTranslations;
44
53
  }
45
- function extend(fieldProps) {
54
+ const extend = useCallback(fieldProps => {
55
+ var _fieldProps$path, _fieldProps$path$spli, _nestedContext$inheri;
46
56
  const {
47
- required
57
+ required: requiredByContext
48
58
  } = dataContextRef.current;
49
- return nestedContext.extend(assignPropsWithContext(fieldProps, {
50
- required
51
- }, restOfRest));
52
- }
59
+ const key = fieldProps === null || fieldProps === void 0 ? void 0 : (_fieldProps$path = fieldProps.path) === null || _fieldProps$path === void 0 ? void 0 : (_fieldProps$path$spli = _fieldProps$path.split('/')) === null || _fieldProps$path$spli === void 0 ? void 0 : _fieldProps$path$spli.pop();
60
+ const overwrite = overwriteProps === null || overwriteProps === void 0 ? void 0 : overwriteProps[key];
61
+ if (overwrite && fieldProps !== null && fieldProps !== void 0 && fieldProps.schema) {
62
+ Object.keys(fieldProps.schema).forEach(key => {
63
+ if (overwrite !== null && overwrite !== void 0 && overwrite[key]) {
64
+ fieldProps.schema[key] = overwrite[key];
65
+ }
66
+ });
67
+ }
68
+ const value = assignPropsWithContext(overwrite ? _objectSpread(_objectSpread({}, fieldProps), overwrite) : fieldProps, {
69
+ required: requiredByContext !== null && requiredByContext !== void 0 ? requiredByContext : nestedContext === null || nestedContext === void 0 ? void 0 : (_nestedContext$inheri = nestedContext.inheritedContext) === null || _nestedContext$inheri === void 0 ? void 0 : _nestedContext$inheri.required
70
+ }, nestedFieldProps);
71
+ return deep ? nestedContext.extend(value) : value;
72
+ }, [deep, nestedContext, overwriteProps, nestedFieldProps]);
53
73
  return React.createElement(FieldPropsContext.Provider, {
54
74
  value: {
55
75
  extend,
56
- inheritedContext: rest
76
+ inheritedProps: restProps,
77
+ inheritedContext: nestedFieldProps
57
78
  }
58
79
  }, React.createElement(SharedProvider, sharedProviderProps, children));
59
80
  }
60
- function wrapFormsTranslations(translations) {
81
+ function transformTranslations(translations) {
61
82
  const result = {};
62
83
  const trObj = translations;
63
84
  for (const locale in trObj) {
@@ -1 +1 @@
1
- {"version":3,"file":"FieldProps.js","names":["React","useContext","useRef","DataContext","assignPropsWithContext","FieldPropsContext","SharedProvider","FieldProps","props","children","formElement","FormStatus","rest","_objectWithoutProperties","_excluded","nestedContext","dataContextRef","current","sharedProviderProps","_ref","Object","assign","inheritedContext","locale","translations","restOfRest","_excluded2","disabled","wrapFormsTranslations","extend","fieldProps","required","createElement","Provider","value","result","trObj","newObj","Forms","key","newKeyObj","subKey"],"sources":["../../../../../../src/extensions/forms/Form/FieldProps/FieldProps.tsx"],"sourcesContent":["import React, { useContext, useRef } from 'react'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport { Props as DataContextProps } from '../../DataContext/Provider'\nimport { UseFieldProps } from '../../types'\nimport { FormStatusProps } from '../../../../components/FormStatus'\nimport { assignPropsWithContext } from '../../../../shared/component-helper'\nimport FieldPropsContext from './FieldPropsContext'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\n\nexport type FieldPropsProps = UseFieldProps & {\n children: React.ReactNode\n formElement?: ContextProps['formElement']\n FormStatus?: { globalStatus: FormStatusProps }\n locale?: DataContextProps<unknown>['locale']\n translations?: DataContextProps<unknown>['translations']\n}\n\nexport default function FieldProps(props: FieldPropsProps) {\n const { children, formElement, FormStatus, ...rest } = props\n\n const nestedContext = useContext(FieldPropsContext)\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const sharedProviderProps: ContextProps = {}\n\n // Extract props to be used in the shared global context\n const { locale, translations, ...restOfRest } = Object.assign(\n nestedContext?.inheritedContext || {},\n rest\n ) as ContextProps & {\n disabled?: boolean\n }\n if (typeof restOfRest.disabled === 'boolean') {\n sharedProviderProps.formElement = { disabled: restOfRest.disabled }\n }\n if (formElement) {\n sharedProviderProps.formElement = formElement\n }\n if (FormStatus) {\n sharedProviderProps.FormStatus = FormStatus\n }\n if (locale) {\n sharedProviderProps.locale = locale\n }\n if (translations) {\n sharedProviderProps.translations = wrapFormsTranslations(translations)\n }\n\n function extend<T>(fieldProps: T) {\n // Extract props from data context to be used in fields\n const { required } = dataContextRef.current\n\n return nestedContext.extend(\n assignPropsWithContext(fieldProps, { required }, restOfRest)\n ) as T\n }\n\n return (\n <FieldPropsContext.Provider value={{ extend, inheritedContext: rest }}>\n <SharedProvider {...sharedProviderProps}>{children}</SharedProvider>\n </FieldPropsContext.Provider>\n )\n}\n\nfunction wrapFormsTranslations(\n translations: ContextProps['translations']\n) {\n const result = {}\n const trObj = translations as Record<\n ContextProps['locale'],\n Record<string, Record<string, string>>\n >\n\n for (const locale in trObj) {\n const newObj: Record<\n 'Forms',\n Record<string, Record<string, string>>\n > = {\n Forms: {},\n }\n\n for (const key in trObj[locale]) {\n const newKeyObj: Record<string, string> = {}\n\n for (const subKey in trObj[locale][key]) {\n newKeyObj[subKey] = trObj[locale][key][subKey]\n }\n\n newObj.Forms[key] = newKeyObj\n }\n\n result[locale] = newObj\n }\n\n return result\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldProps.js","names":["React","useCallback","useContext","useMemo","useRef","DataContext","assignPropsWithContext","extendDeep","FieldPropsContext","SharedProvider","FieldPropsProvider","props","_dataContextRef$curre","_dataContextRef$curre2","_dataContextRef$curre3","_dataContextRef$curre4","_dataContextRef$curre5","children","formElement","FormStatus","overwriteProps","deep","restProps","_objectWithoutProperties","_excluded","nestedContext","dataContextRef","current","sharedProviderProps","locale","translations","nestedFieldProps","Object","assign","inheritedProps","disabled","formTranslations","transformTranslations","extend","fieldProps","_fieldProps$path","_fieldProps$path$spli","_nestedContext$inheri","required","requiredByContext","key","path","split","pop","overwrite","schema","keys","forEach","value","_objectSpread","inheritedContext","createElement","Provider","result","trObj","newObj","Forms","newKeyObj","subKey"],"sources":["../../../../../../src/extensions/forms/Form/FieldProps/FieldProps.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport { Props as DataContextProps } from '../../DataContext/Provider'\nimport { FormStatusProps } from '../../../../components/FormStatus'\nimport {\n assignPropsWithContext,\n extendDeep,\n} from '../../../../shared/component-helper'\nimport FieldPropsContext from './FieldPropsContext'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport type { FieldProps, Path, UseFieldProps } from '../../types'\n\nexport type FieldPropsProps = FieldProps & {\n children: React.ReactNode\n\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: DataContextProps<unknown>['locale']\n\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: DataContextProps<unknown>['translations']\n\n /** For internal use only */\n overwriteProps?: {\n [key: Path]: FieldProps\n }\n\n /** For internal use only */\n deep?: boolean\n\n /** For internal use only */\n formElement?: ContextProps['formElement']\n\n /** For internal use only */\n FormStatus?: { globalStatus: FormStatusProps }\n}\n\nexport default function FieldPropsProvider(props: FieldPropsProps) {\n const {\n children,\n formElement,\n FormStatus,\n overwriteProps,\n deep,\n ...restProps\n } = props\n\n const nestedContext = useContext(FieldPropsContext)\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const sharedProviderProps: ContextProps = {}\n\n /**\n * Always use data context as the last source for localization\n */\n const locale = dataContextRef.current?.props?.locale ?? restProps?.locale\n const translations = extendDeep(\n {},\n restProps?.translations,\n dataContextRef.current?.props?.translations\n ) as ContextProps\n\n const nestedFieldProps = useMemo(() => {\n return Object.assign(\n nestedContext?.inheritedProps || {},\n restProps\n ) as UseFieldProps\n }, [nestedContext?.inheritedProps, restProps])\n\n if (typeof nestedFieldProps.disabled === 'boolean') {\n sharedProviderProps.formElement = {\n disabled: nestedFieldProps.disabled,\n }\n }\n if (formElement) {\n sharedProviderProps.formElement = formElement\n }\n if (FormStatus) {\n sharedProviderProps.FormStatus = FormStatus\n }\n if (locale) {\n sharedProviderProps.locale = locale\n }\n const formTranslations = useMemo(() => {\n if (translations) {\n return transformTranslations(translations)\n }\n }, [translations])\n if (formTranslations) {\n sharedProviderProps.translations = formTranslations\n }\n\n const extend = useCallback(\n <T extends FieldProps>(fieldProps: T) => {\n // Extract props from data context to be used in fields\n const { required: requiredByContext } = dataContextRef.current\n\n // Extract props from overwriteProps to be used in fields\n const key = fieldProps?.path?.split('/')?.pop()\n const overwrite = overwriteProps?.[key]\n\n // Overwrite given schema props\n if (overwrite && fieldProps?.schema) {\n Object.keys(fieldProps.schema).forEach((key) => {\n if (overwrite?.[key]) {\n fieldProps.schema[key] = overwrite[key]\n }\n })\n }\n\n const value = assignPropsWithContext(\n overwrite ? { ...fieldProps, ...overwrite } : fieldProps,\n {\n required:\n requiredByContext ?? nestedContext?.inheritedContext?.required,\n },\n nestedFieldProps as Record<string, unknown>\n )\n\n return (deep ? nestedContext.extend(value) : value) as T\n },\n [deep, nestedContext, overwriteProps, nestedFieldProps]\n )\n\n return (\n <FieldPropsContext.Provider\n value={{\n extend,\n inheritedProps: restProps,\n inheritedContext: nestedFieldProps,\n }}\n >\n <SharedProvider {...sharedProviderProps}>{children}</SharedProvider>\n </FieldPropsContext.Provider>\n )\n}\n\n/**\n * Transform translations into { 'nb-NO': { Forms: { ... } } }\n */\nfunction transformTranslations(\n translations: ContextProps['translations']\n) {\n const result = {}\n const trObj = translations as Record<\n ContextProps['locale'],\n Record<string, Record<string, string>>\n >\n\n for (const locale in trObj) {\n const newObj: Record<\n 'Forms',\n Record<string, Record<string, string>>\n > = {\n Forms: {},\n }\n\n for (const key in trObj[locale]) {\n const newKeyObj: Record<string, string> = {}\n\n for (const subKey in trObj[locale][key]) {\n newKeyObj[subKey] = trObj[locale][key][subKey]\n }\n\n newObj.Forms[key] = newKeyObj\n }\n\n result[locale] = newObj\n }\n\n return result\n}\n"],"mappings":"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"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { UseFieldProps } from '../../types';
3
3
  export type FieldPropsContextProps = {
4
4
  extend: <T = UseFieldProps>(props: T) => T;
5
+ inheritedProps?: UseFieldProps;
5
6
  inheritedContext?: UseFieldProps;
6
7
  };
7
8
  declare const FieldPropsContext: React.Context<FieldPropsContextProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldPropsContext.js","names":["React","extend","props","FieldPropsContext","createContext"],"sources":["../../../../../../src/extensions/forms/Form/FieldProps/FieldPropsContext.ts"],"sourcesContent":["import React from 'react'\nimport { UseFieldProps } from '../../types'\n\nexport type FieldPropsContextProps = {\n extend: <T = UseFieldProps>(props: T) => T\n inheritedContext?: UseFieldProps\n}\n\nconst extend: FieldPropsContextProps['extend'] = (props) => props\nconst FieldPropsContext = React.createContext<FieldPropsContextProps>({\n extend,\n})\n\nexport default FieldPropsContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAQzB,MAAMC,MAAwC,GAAIC,KAAK,IAAKA,KAAK;AACjE,MAAMC,iBAAiB,GAAGH,KAAK,CAACI,aAAa,CAAyB;EACpEH;AACF,CAAC,CAAC;AAEF,eAAeE,iBAAiB"}
1
+ {"version":3,"file":"FieldPropsContext.js","names":["React","extend","props","FieldPropsContext","createContext"],"sources":["../../../../../../src/extensions/forms/Form/FieldProps/FieldPropsContext.ts"],"sourcesContent":["import React from 'react'\nimport { UseFieldProps } from '../../types'\n\nexport type FieldPropsContextProps = {\n extend: <T = UseFieldProps>(props: T) => T\n inheritedProps?: UseFieldProps\n inheritedContext?: UseFieldProps\n}\n\nconst extend: FieldPropsContextProps['extend'] = (props) => props\nconst FieldPropsContext = React.createContext<FieldPropsContextProps>({\n extend,\n})\n\nexport default FieldPropsContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AASzB,MAAMC,MAAwC,GAAIC,KAAK,IAAKA,KAAK;AACjE,MAAMC,iBAAiB,GAAGH,KAAK,CAACI,aAAa,CAAyB;EACpEH;AACF,CAAC,CAAC;AAEF,eAAeE,iBAAiB"}
@@ -18,6 +18,7 @@ function MainHeading(_ref) {
18
18
  return React.createElement(Heading, _extends({
19
19
  className: classnames('dnb-forms-main-heading', className),
20
20
  level: level || 2,
21
+ skip_correction: true,
21
22
  size: "large"
22
23
  }, rest), children);
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MainHeading.js","names":["React","classnames","Heading","MainHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/MainHeading/MainHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction MainHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-main-heading', className)}\n level={level || 2}\n size=\"large\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nMainHeading._supportsSpacingProps = true\nMainHeading._isHeadingElement = true\n\nexport default MainHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,WAAWA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACpC,MAAM;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGJ,KAAK;IAAdK,IAAI,GAAAJ,wBAAA,CAAKD,KAAK,EAAAM,UAAA;EAC9C,OACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNL,SAAS,EAAER,UAAU,CAAC,wBAAwB,EAAEQ,SAAS,CAAE;IAC3DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,IAAI,EAAC;EAAO,GACRJ,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,WAAW,CAACa,qBAAqB,GAAG,IAAI;AACxCb,WAAW,CAACc,iBAAiB,GAAG,IAAI;AAEpC,eAAed,WAAW"}
1
+ {"version":3,"file":"MainHeading.js","names":["React","classnames","Heading","MainHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","skip_correction","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/MainHeading/MainHeading.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Heading from '../../../../components/heading/Heading'\nimport type { HeadingLevel } from '../../../../components/heading/Heading'\nimport type { ComponentProps } from '../../types'\n\nexport type Props = ComponentProps & {\n level?: HeadingLevel\n children?: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'size'>\n\nfunction MainHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-main-heading', className)}\n level={level || 2}\n skip_correction\n size=\"large\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nMainHeading._supportsSpacingProps = true\nMainHeading._isHeadingElement = true\n\nexport default MainHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,WAAWA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACpC,MAAM;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGJ,KAAK;IAAdK,IAAI,GAAAJ,wBAAA,CAAKD,KAAK,EAAAM,UAAA;EAC9C,OACEZ,KAAA,CAAAa,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNL,SAAS,EAAER,UAAU,CAAC,wBAAwB,EAAEQ,SAAS,CAAE;IAC3DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,eAAe;IACfC,IAAI,EAAC;EAAO,GACRL,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,WAAW,CAACc,qBAAqB,GAAG,IAAI;AACxCd,WAAW,CAACe,iBAAiB,GAAG,IAAI;AAEpC,eAAef,WAAW"}
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { SectionContextState } from './SectionContext';
3
+ import type { Props as DataContextProps } from '../../DataContext/Provider';
4
+ import type { FieldSectionProps, Path, FieldProps } from '../../types';
5
+ export type OverwritePropsDefaults = {
6
+ [key: Path]: (FieldProps & FieldSectionProps) | OverwritePropsDefaults;
7
+ };
8
+ export type SectionProps<overwriteProps = OverwritePropsDefaults> = {
9
+ /**
10
+ * Path to the section.
11
+ * When defined, fields inside the section will get this path as a prefix of their own path.
12
+ */
13
+ path?: Path;
14
+ /**
15
+ * Overwrite field props for the section.
16
+ */
17
+ overwriteProps?: overwriteProps | OverwritePropsDefaults;
18
+ /**
19
+ * Makes all fields inside it required.
20
+ */
21
+ required?: boolean;
22
+ /**
23
+ * Only for internal use and undocumented for now.
24
+ * Prioritize error techniques for the section.
25
+ * Can be `fieldSchema`, `sectionSchema` or `contextSchema.
26
+ */
27
+ errorPrioritization?: SectionContextState['errorPrioritization'];
28
+ } & Pick<DataContextProps<unknown>, 'data' | 'defaultData' | 'onChange' | 'translations'>;
29
+ export type LocalProps = SectionProps & {
30
+ children: React.ReactNode;
31
+ };
32
+ declare function SectionComponent(props: LocalProps): import("react/jsx-runtime").JSX.Element;
33
+ declare namespace SectionComponent {
34
+ var _supportsSpacingProps: string;
35
+ }
36
+ export default SectionComponent;