@dnb/eufemia 10.28.0 → 10.30.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 (828) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
  4. package/cjs/components/dropdown/Dropdown.d.ts +22 -5
  5. package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
  6. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  7. package/cjs/components/icon/style/dnb-icon.css +1 -0
  8. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  9. package/cjs/components/icon/style/dnb-icon.scss +1 -0
  10. package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  11. package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
  12. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  13. package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  14. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  15. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  16. package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  17. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
  18. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  19. package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  20. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  21. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  22. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  23. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  24. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  25. package/cjs/components/progress-indicator/types.d.ts +95 -0
  26. package/cjs/components/progress-indicator/types.js +11 -0
  27. package/cjs/components/progress-indicator/types.js.map +1 -0
  28. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -2
  29. package/cjs/extensions/forms/DataContext/Context.js +0 -2
  30. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  31. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  32. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -35
  33. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  34. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  35. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  36. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  37. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  38. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  39. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  40. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  41. package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
  42. package/cjs/extensions/forms/Field/Name/Name.js +73 -0
  43. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
  44. package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  45. package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
  46. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  47. package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
  48. package/cjs/extensions/forms/Field/Name/index.js +27 -0
  49. package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
  50. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  51. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  52. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
  53. package/cjs/extensions/forms/Field/Option/Option.js +21 -0
  54. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  55. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  56. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
  57. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  59. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  60. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  61. package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
  62. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  64. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
  65. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  66. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  67. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  68. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  69. package/cjs/extensions/forms/Field/index.js +7 -0
  70. package/cjs/extensions/forms/Field/index.js.map +1 -1
  71. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  72. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  73. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  74. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +80 -0
  75. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  76. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  77. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
  78. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  79. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  80. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
  81. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  82. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  83. package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
  84. package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
  85. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.js +18 -4
  87. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  88. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  89. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  90. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  91. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  92. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  93. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  94. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  95. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  96. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  97. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  98. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  99. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  100. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  101. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  102. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  103. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  104. package/cjs/extensions/forms/Form/Visibility/Visibility.js +7 -4
  105. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  106. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  107. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  109. package/cjs/extensions/forms/Form/index.js +7 -0
  110. package/cjs/extensions/forms/Form/index.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  112. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  114. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  117. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  118. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  119. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  120. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  122. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  123. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  124. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  125. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  126. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  127. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  128. package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
  129. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  130. package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
  131. package/cjs/extensions/forms/Value/Name/Name.js +50 -0
  132. package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
  133. package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
  134. package/cjs/extensions/forms/Value/Name/index.js +27 -0
  135. package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
  136. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  137. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
  138. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  139. package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
  141. package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  142. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  143. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
  144. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  145. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  146. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
  147. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  148. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  149. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
  150. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  151. package/cjs/extensions/forms/Value/String/String.js +8 -3
  152. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  153. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  154. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  155. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  156. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  157. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/index.js +21 -0
  159. package/cjs/extensions/forms/Value/index.js.map +1 -1
  160. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  161. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  162. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  163. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  164. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  165. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  166. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  167. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  168. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
  169. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  170. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  171. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
  172. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  173. package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
  174. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  175. package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
  176. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  177. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  179. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  180. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  181. package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
  182. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  183. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
  184. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
  185. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  186. package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
  187. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  188. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -4
  189. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
  191. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  192. package/cjs/extensions/forms/style/dnb-forms.css +77 -43
  193. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  194. package/cjs/extensions/forms/types.d.ts +3 -2
  195. package/cjs/extensions/forms/types.js.map +1 -1
  196. package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
  197. package/cjs/shared/Context.d.ts +4 -4
  198. package/cjs/shared/Context.js.map +1 -1
  199. package/cjs/shared/Eufemia.d.ts +1 -1
  200. package/cjs/shared/Eufemia.js +2 -2
  201. package/cjs/shared/Eufemia.js.map +1 -1
  202. package/cjs/shared/component-helper.d.ts +1 -0
  203. package/cjs/shared/component-helper.js +8 -1
  204. package/cjs/shared/component-helper.js.map +1 -1
  205. package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
  206. package/cjs/shared/helpers/assignPropsWithContext.js +22 -0
  207. package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
  208. package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
  209. package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
  210. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  211. package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
  212. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  213. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  214. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  215. package/cjs/style/core/scopes.scss +1 -1
  216. package/cjs/style/dnb-ui-basis.css +1 -1
  217. package/cjs/style/dnb-ui-basis.min.css +1 -1
  218. package/cjs/style/dnb-ui-body.css +1 -1
  219. package/cjs/style/dnb-ui-body.min.css +1 -1
  220. package/cjs/style/dnb-ui-components.css +129 -98
  221. package/cjs/style/dnb-ui-components.min.css +2 -2
  222. package/cjs/style/dnb-ui-core.css +1 -1
  223. package/cjs/style/dnb-ui-core.min.css +1 -1
  224. package/cjs/style/dnb-ui-extensions.css +77 -43
  225. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  226. package/cjs/style/dnb-ui-forms.css +77 -43
  227. package/cjs/style/dnb-ui-forms.min.css +1 -1
  228. package/cjs/style/dnb-ui-forms.scss +1 -1
  229. package/cjs/style/themes/eiendom/basis.js +4 -0
  230. package/cjs/style/themes/eiendom/basis.js.map +1 -0
  231. package/cjs/style/themes/eiendom/index.js +5 -0
  232. package/cjs/style/themes/eiendom/index.js.map +1 -0
  233. package/cjs/style/themes/sbanken/basis.js +4 -0
  234. package/cjs/style/themes/sbanken/basis.js.map +1 -0
  235. package/cjs/style/themes/sbanken/index.js +5 -0
  236. package/cjs/style/themes/sbanken/index.js.map +1 -0
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  249. package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
  250. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  251. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  252. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  253. package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
  254. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  255. package/cjs/style/themes/ui/basis.js +4 -0
  256. package/cjs/style/themes/ui/basis.js.map +1 -0
  257. package/cjs/style/themes/ui/index.js +5 -0
  258. package/cjs/style/themes/ui/index.js.map +1 -0
  259. package/components/aria-live/useAriaLive.d.ts +1 -1
  260. package/components/autocomplete/Autocomplete.d.ts +19 -5
  261. package/components/dropdown/Dropdown.d.ts +22 -5
  262. package/components/height-animation/HeightAnimationInstance.js +5 -0
  263. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  264. package/components/icon/style/dnb-icon.css +1 -0
  265. package/components/icon/style/dnb-icon.min.css +1 -1
  266. package/components/icon/style/dnb-icon.scss +1 -0
  267. package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  268. package/components/progress-indicator/ProgressIndicator.js +27 -14
  269. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  270. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  271. package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  272. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  273. package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  274. package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  275. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  276. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  277. package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  278. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  279. package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  280. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  281. package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  282. package/components/progress-indicator/types.d.ts +95 -0
  283. package/components/progress-indicator/types.js +5 -0
  284. package/components/progress-indicator/types.js.map +1 -0
  285. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  286. package/es/components/autocomplete/Autocomplete.d.ts +19 -5
  287. package/es/components/dropdown/Dropdown.d.ts +22 -5
  288. package/es/components/height-animation/HeightAnimationInstance.js +5 -0
  289. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  290. package/es/components/icon/style/dnb-icon.css +1 -0
  291. package/es/components/icon/style/dnb-icon.min.css +1 -1
  292. package/es/components/icon/style/dnb-icon.scss +1 -0
  293. package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  294. package/es/components/progress-indicator/ProgressIndicator.js +27 -14
  295. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  296. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  297. package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
  298. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  299. package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  300. package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  301. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  302. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  303. package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  304. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  305. package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  306. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  307. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  308. package/es/components/progress-indicator/types.d.ts +95 -0
  309. package/es/components/progress-indicator/types.js +5 -0
  310. package/es/components/progress-indicator/types.js.map +1 -0
  311. package/es/extensions/forms/DataContext/Context.d.ts +7 -2
  312. package/es/extensions/forms/DataContext/Context.js +0 -2
  313. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  314. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  315. package/es/extensions/forms/DataContext/Provider/Provider.js +67 -34
  316. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  317. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  318. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  319. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  320. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  321. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  322. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  323. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  324. package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
  325. package/es/extensions/forms/Field/Name/Name.js +63 -0
  326. package/es/extensions/forms/Field/Name/Name.js.map +1 -0
  327. package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  328. package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
  329. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  330. package/es/extensions/forms/Field/Name/index.d.ts +2 -0
  331. package/es/extensions/forms/Field/Name/index.js +3 -0
  332. package/es/extensions/forms/Field/Name/index.js.map +1 -0
  333. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  334. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  335. package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
  336. package/es/extensions/forms/Field/Option/Option.js +20 -0
  337. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  338. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  339. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  340. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  341. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  342. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  343. package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  344. package/es/extensions/forms/Field/Selection/Selection.js +20 -32
  345. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  346. package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  347. package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  348. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  349. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  350. package/es/extensions/forms/Field/String/String.js.map +1 -1
  351. package/es/extensions/forms/Field/index.d.ts +1 -0
  352. package/es/extensions/forms/Field/index.js +1 -0
  353. package/es/extensions/forms/Field/index.js.map +1 -1
  354. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  355. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  356. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  357. package/es/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  358. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  359. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  360. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  361. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  362. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  363. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  364. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  365. package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  366. package/es/extensions/forms/Form/FieldProps/index.js +3 -0
  367. package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
  368. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  369. package/es/extensions/forms/Form/Handler/Handler.js +18 -4
  370. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  371. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  372. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  373. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  374. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  375. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  376. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  377. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  378. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  379. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  380. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  381. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  382. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  383. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  384. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  385. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  386. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  387. package/es/extensions/forms/Form/Visibility/Visibility.js +7 -4
  388. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  389. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  390. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  391. package/es/extensions/forms/Form/index.d.ts +1 -0
  392. package/es/extensions/forms/Form/index.js +1 -0
  393. package/es/extensions/forms/Form/index.js.map +1 -1
  394. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  395. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  396. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  397. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  398. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  399. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  400. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  401. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  402. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  403. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  404. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  405. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  406. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  407. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  408. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  409. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  410. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  411. package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
  412. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  413. package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
  414. package/es/extensions/forms/Value/Name/Name.js +40 -0
  415. package/es/extensions/forms/Value/Name/Name.js.map +1 -0
  416. package/es/extensions/forms/Value/Name/index.d.ts +2 -0
  417. package/es/extensions/forms/Value/Name/index.js +3 -0
  418. package/es/extensions/forms/Value/Name/index.js.map +1 -0
  419. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  420. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  421. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  422. package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  423. package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  424. package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  425. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  426. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  427. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  428. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  429. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  430. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  431. package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  432. package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  433. package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  434. package/es/extensions/forms/Value/String/String.js +8 -3
  435. package/es/extensions/forms/Value/String/String.js.map +1 -1
  436. package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  437. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  438. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  439. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  440. package/es/extensions/forms/Value/index.d.ts +3 -0
  441. package/es/extensions/forms/Value/index.js +3 -0
  442. package/es/extensions/forms/Value/index.js.map +1 -1
  443. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  444. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  445. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  446. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  447. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  448. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
  449. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  450. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  451. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
  452. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  453. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  454. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
  455. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  456. package/es/extensions/forms/Wizard/Step/Step.js +14 -2
  457. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  458. package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
  459. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  460. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  461. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  462. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  463. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  464. package/es/extensions/forms/constants/locales/en-GB.js +12 -3
  465. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  466. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
  467. package/es/extensions/forms/constants/locales/index.d.ts +18 -0
  468. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  469. package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
  470. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  471. package/es/extensions/forms/hooks/useFieldProps.js +8 -3
  472. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  473. package/es/extensions/forms/hooks/useTranslation.js +3 -1
  474. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  475. package/es/extensions/forms/style/dnb-forms.css +77 -43
  476. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  477. package/es/extensions/forms/types.d.ts +3 -2
  478. package/es/extensions/forms/types.js.map +1 -1
  479. package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
  480. package/es/shared/Context.d.ts +4 -4
  481. package/es/shared/Context.js.map +1 -1
  482. package/es/shared/Eufemia.d.ts +1 -1
  483. package/es/shared/Eufemia.js +2 -2
  484. package/es/shared/Eufemia.js.map +1 -1
  485. package/es/shared/component-helper.d.ts +1 -0
  486. package/es/shared/component-helper.js +2 -1
  487. package/es/shared/component-helper.js.map +1 -1
  488. package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
  489. package/es/shared/helpers/assignPropsWithContext.js +12 -0
  490. package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
  491. package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
  492. package/es/shared/helpers/extendPropsWithContext.js +1 -1
  493. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  494. package/es/shared/helpers/filterValidProps.d.ts +1 -0
  495. package/es/shared/helpers/filterValidProps.js.map +1 -1
  496. package/es/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  497. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  498. package/es/style/core/scopes.scss +1 -1
  499. package/es/style/dnb-ui-basis.css +1 -1
  500. package/es/style/dnb-ui-basis.min.css +1 -1
  501. package/es/style/dnb-ui-body.css +1 -1
  502. package/es/style/dnb-ui-body.min.css +1 -1
  503. package/es/style/dnb-ui-components.css +129 -98
  504. package/es/style/dnb-ui-components.min.css +2 -2
  505. package/es/style/dnb-ui-core.css +1 -1
  506. package/es/style/dnb-ui-core.min.css +1 -1
  507. package/es/style/dnb-ui-extensions.css +77 -43
  508. package/es/style/dnb-ui-extensions.min.css +1 -1
  509. package/es/style/dnb-ui-forms.css +77 -43
  510. package/es/style/dnb-ui-forms.min.css +1 -1
  511. package/es/style/dnb-ui-forms.scss +1 -1
  512. package/es/style/themes/eiendom/basis.js +1 -0
  513. package/es/style/themes/eiendom/basis.js.map +1 -0
  514. package/es/style/themes/eiendom/index.js +3 -0
  515. package/es/style/themes/eiendom/index.js.map +1 -0
  516. package/es/style/themes/sbanken/basis.js +1 -0
  517. package/es/style/themes/sbanken/basis.js.map +1 -0
  518. package/es/style/themes/sbanken/index.d.ts +1 -0
  519. package/es/style/themes/sbanken/index.js +3 -0
  520. package/es/style/themes/sbanken/index.js.map +1 -0
  521. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  522. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  523. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  524. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  525. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  526. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  527. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  528. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  529. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  530. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  531. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  532. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  533. package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
  534. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  535. package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  536. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  537. package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
  538. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  539. package/es/style/themes/ui/basis.d.ts +1 -0
  540. package/es/style/themes/ui/basis.js +1 -0
  541. package/es/style/themes/ui/basis.js.map +1 -0
  542. package/es/style/themes/ui/index.d.ts +1 -0
  543. package/es/style/themes/ui/index.js +3 -0
  544. package/es/style/themes/ui/index.js.map +1 -0
  545. package/esm/dnb-ui-basis.min.mjs +1 -1
  546. package/esm/dnb-ui-components.min.mjs +1 -1
  547. package/esm/dnb-ui-elements.min.mjs +1 -1
  548. package/esm/dnb-ui-extensions.min.mjs +3 -3
  549. package/esm/dnb-ui-lib.min.mjs +1 -1
  550. package/extensions/forms/DataContext/Context.d.ts +7 -2
  551. package/extensions/forms/DataContext/Context.js +0 -2
  552. package/extensions/forms/DataContext/Context.js.map +1 -1
  553. package/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  554. package/extensions/forms/DataContext/Provider/Provider.js +69 -35
  555. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  556. package/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  557. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  558. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  559. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  560. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  561. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  562. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  563. package/extensions/forms/Field/Name/Name.d.ts +10 -0
  564. package/extensions/forms/Field/Name/Name.js +63 -0
  565. package/extensions/forms/Field/Name/Name.js.map +1 -0
  566. package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  567. package/extensions/forms/Field/Name/NameDocs.js +8 -0
  568. package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  569. package/extensions/forms/Field/Name/index.d.ts +2 -0
  570. package/extensions/forms/Field/Name/index.js +3 -0
  571. package/extensions/forms/Field/Name/index.js.map +1 -0
  572. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  573. package/extensions/forms/Field/Number/Number.js.map +1 -1
  574. package/extensions/forms/Field/Option/Option.d.ts +2 -0
  575. package/extensions/forms/Field/Option/Option.js +20 -0
  576. package/extensions/forms/Field/Option/Option.js.map +1 -1
  577. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  578. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  579. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  580. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  581. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  582. package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  583. package/extensions/forms/Field/Selection/Selection.js +20 -32
  584. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  585. package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  586. package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  587. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  588. package/extensions/forms/Field/String/String.d.ts +2 -2
  589. package/extensions/forms/Field/String/String.js.map +1 -1
  590. package/extensions/forms/Field/index.d.ts +1 -0
  591. package/extensions/forms/Field/index.js +1 -0
  592. package/extensions/forms/Field/index.js.map +1 -1
  593. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  594. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  595. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  596. package/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  597. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  598. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  599. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  600. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  601. package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  602. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  603. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  604. package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  605. package/extensions/forms/Form/FieldProps/index.js +3 -0
  606. package/extensions/forms/Form/FieldProps/index.js.map +1 -0
  607. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  608. package/extensions/forms/Form/Handler/Handler.js +18 -4
  609. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  610. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  611. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  612. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  613. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  614. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  615. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  616. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  617. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  618. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  619. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  620. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  621. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  622. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  623. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  624. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  625. package/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  626. package/extensions/forms/Form/Visibility/Visibility.js +7 -4
  627. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  628. package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  629. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  630. package/extensions/forms/Form/index.d.ts +1 -0
  631. package/extensions/forms/Form/index.js +1 -0
  632. package/extensions/forms/Form/index.js.map +1 -1
  633. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  634. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  635. package/extensions/forms/Iterate/Array/Array.js +2 -2
  636. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  637. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  638. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  639. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  640. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  641. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  642. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  643. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  644. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  645. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  646. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  647. package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  648. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  649. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  650. package/extensions/forms/Value/Boolean/Boolean.js +8 -3
  651. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  652. package/extensions/forms/Value/Name/Name.d.ts +10 -0
  653. package/extensions/forms/Value/Name/Name.js +40 -0
  654. package/extensions/forms/Value/Name/Name.js.map +1 -0
  655. package/extensions/forms/Value/Name/index.d.ts +2 -0
  656. package/extensions/forms/Value/Name/index.js +3 -0
  657. package/extensions/forms/Value/Name/index.js.map +1 -0
  658. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  659. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  660. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  661. package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  662. package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  663. package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  664. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  665. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  666. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  667. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  668. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  669. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  670. package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  671. package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  672. package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  673. package/extensions/forms/Value/String/String.js +8 -3
  674. package/extensions/forms/Value/String/String.js.map +1 -1
  675. package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  676. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  677. package/extensions/forms/Value/ValueDocs.js +6 -1
  678. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  679. package/extensions/forms/Value/index.d.ts +3 -0
  680. package/extensions/forms/Value/index.js +3 -0
  681. package/extensions/forms/Value/index.js.map +1 -1
  682. package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  683. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  684. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  685. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  686. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  687. package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  688. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  689. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  690. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
  691. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  692. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  693. package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
  694. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  695. package/extensions/forms/Wizard/Step/Step.js +14 -2
  696. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  697. package/extensions/forms/Wizard/hooks/useStep.js +3 -2
  698. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  699. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  700. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  701. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  702. package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  703. package/extensions/forms/constants/locales/en-GB.js +12 -3
  704. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  705. package/extensions/forms/constants/locales/en-US.d.ts +9 -0
  706. package/extensions/forms/constants/locales/index.d.ts +18 -0
  707. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  708. package/extensions/forms/constants/locales/nb-NO.js +11 -2
  709. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  710. package/extensions/forms/hooks/useFieldProps.js +8 -4
  711. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  712. package/extensions/forms/hooks/useTranslation.js +3 -1
  713. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  714. package/extensions/forms/style/dnb-forms.css +77 -43
  715. package/extensions/forms/style/dnb-forms.min.css +1 -1
  716. package/extensions/forms/types.d.ts +3 -2
  717. package/extensions/forms/types.js.map +1 -1
  718. package/fragments/drawer-list/DrawerList.d.ts +8 -4
  719. package/package.json +1 -1
  720. package/shared/Context.d.ts +4 -4
  721. package/shared/Context.js.map +1 -1
  722. package/shared/Eufemia.d.ts +1 -1
  723. package/shared/Eufemia.js +2 -2
  724. package/shared/Eufemia.js.map +1 -1
  725. package/shared/component-helper.d.ts +1 -0
  726. package/shared/component-helper.js +2 -1
  727. package/shared/component-helper.js.map +1 -1
  728. package/shared/helpers/assignPropsWithContext.d.ts +1 -0
  729. package/shared/helpers/assignPropsWithContext.js +16 -0
  730. package/shared/helpers/assignPropsWithContext.js.map +1 -0
  731. package/shared/helpers/extendPropsWithContext.d.ts +1 -0
  732. package/shared/helpers/extendPropsWithContext.js +1 -1
  733. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  734. package/shared/helpers/filterValidProps.d.ts +1 -0
  735. package/shared/helpers/filterValidProps.js.map +1 -1
  736. package/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  737. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  738. package/style/core/scopes.scss +1 -1
  739. package/style/dnb-ui-basis.css +1 -1
  740. package/style/dnb-ui-basis.min.css +1 -1
  741. package/style/dnb-ui-body.css +1 -1
  742. package/style/dnb-ui-body.min.css +1 -1
  743. package/style/dnb-ui-components.css +129 -98
  744. package/style/dnb-ui-components.min.css +2 -2
  745. package/style/dnb-ui-core.css +1 -1
  746. package/style/dnb-ui-core.min.css +1 -1
  747. package/style/dnb-ui-extensions.css +77 -43
  748. package/style/dnb-ui-extensions.min.css +1 -1
  749. package/style/dnb-ui-forms.css +77 -43
  750. package/style/dnb-ui-forms.min.css +1 -1
  751. package/style/dnb-ui-forms.scss +1 -1
  752. package/style/themes/eiendom/basis.d.ts +1 -0
  753. package/style/themes/eiendom/basis.js +1 -0
  754. package/style/themes/eiendom/basis.js.map +1 -0
  755. package/style/themes/eiendom/index.d.ts +1 -0
  756. package/style/themes/eiendom/index.js +3 -0
  757. package/style/themes/eiendom/index.js.map +1 -0
  758. package/style/themes/sbanken/basis.d.ts +1 -0
  759. package/style/themes/sbanken/basis.js +1 -0
  760. package/style/themes/sbanken/basis.js.map +1 -0
  761. package/style/themes/sbanken/index.d.ts +1 -0
  762. package/style/themes/sbanken/index.js +3 -0
  763. package/style/themes/sbanken/index.js.map +1 -0
  764. package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  765. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  766. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  767. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  768. package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  769. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  770. package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  771. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  772. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  773. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  774. package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  775. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  776. package/style/themes/theme-ui/ui-theme-components.css +205 -141
  777. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  778. package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  779. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  780. package/style/themes/theme-ui/ui-theme-forms.css +77 -43
  781. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  782. package/style/themes/ui/basis.d.ts +1 -0
  783. package/style/themes/ui/basis.js +1 -0
  784. package/style/themes/ui/basis.js.map +1 -0
  785. package/style/themes/ui/index.d.ts +1 -0
  786. package/style/themes/ui/index.js +3 -0
  787. package/style/themes/ui/index.js.map +1 -0
  788. package/umd/dnb-ui-basis.min.js +1 -1
  789. package/umd/dnb-ui-components.min.js +1 -1
  790. package/umd/dnb-ui-elements.min.js +1 -1
  791. package/umd/dnb-ui-extensions.min.js +3 -3
  792. package/umd/dnb-ui-lib.min.js +1 -1
  793. package/cjs/style/themes/eiendom.js +0 -5
  794. package/cjs/style/themes/eiendom.js.map +0 -1
  795. package/cjs/style/themes/sbanken.js +0 -5
  796. package/cjs/style/themes/sbanken.js.map +0 -1
  797. package/cjs/style/themes/ui.js +0 -5
  798. package/cjs/style/themes/ui.js.map +0 -1
  799. package/es/style/themes/eiendom.js +0 -3
  800. package/es/style/themes/eiendom.js.map +0 -1
  801. package/es/style/themes/sbanken.js +0 -3
  802. package/es/style/themes/sbanken.js.map +0 -1
  803. package/es/style/themes/ui.js +0 -3
  804. package/es/style/themes/ui.js.map +0 -1
  805. package/style/themes/eiendom.js +0 -3
  806. package/style/themes/eiendom.js.map +0 -1
  807. package/style/themes/sbanken.js +0 -3
  808. package/style/themes/sbanken.js.map +0 -1
  809. package/style/themes/ui.js +0 -3
  810. package/style/themes/ui.js.map +0 -1
  811. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  812. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  813. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  814. /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
  815. /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
  816. /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
  817. /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
  818. /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
  819. /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
  820. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  821. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  822. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  823. /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
  824. /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
  825. /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
  826. /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  827. /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  828. /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
@@ -16,7 +16,7 @@ function SubHeading(_ref) {
16
16
  } = props,
17
17
  rest = _objectWithoutProperties(props, _excluded2);
18
18
  return React.createElement(Heading, _extends({
19
- className: classnames('dnb-form-sub-heading', className),
19
+ className: classnames('dnb-forms-sub-heading', className),
20
20
  level: level || 3,
21
21
  size: "medium"
22
22
  }, rest), children);
@@ -1 +1 @@
1
- {"version":3,"file":"SubHeading.js","names":["React","classnames","Heading","SubHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/SubHeading/SubHeading.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 SubHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-form-sub-heading', className)}\n level={level || 3}\n size=\"medium\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nSubHeading._supportsSpacingProps = true\nSubHeading._isHeadingElement = true\n\nexport default SubHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,UAAUA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,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,sBAAsB,EAAEQ,SAAS,CAAE;IACzDJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,IAAI,EAAC;EAAQ,GACTJ,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,UAAU,CAACa,qBAAqB,GAAG,IAAI;AACvCb,UAAU,CAACc,iBAAiB,GAAG,IAAI;AAEnC,eAAed,UAAU"}
1
+ {"version":3,"file":"SubHeading.js","names":["React","classnames","Heading","SubHeading","_ref","level","props","_objectWithoutProperties","_excluded","className","children","rest","_excluded2","createElement","_extends","size","_supportsSpacingProps","_isHeadingElement"],"sources":["../../../../../../src/extensions/forms/Form/SubHeading/SubHeading.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 SubHeading({ level, ...props }: Props) {\n const { className, children, ...rest } = props\n return (\n <Heading\n className={classnames('dnb-forms-sub-heading', className)}\n level={level || 3}\n size=\"medium\"\n {...rest}\n >\n {children}\n </Heading>\n )\n}\n\nSubHeading._supportsSpacingProps = true\nSubHeading._isHeadingElement = true\n\nexport default SubHeading\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,wCAAwC;AAS5D,SAASC,UAAUA,CAAAC,IAAA,EAA6B;EAAA,IAA5B;MAAEC;IAAuB,CAAC,GAAAD,IAAA;IAAdE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,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,uBAAuB,EAAEQ,SAAS,CAAE;IAC1DJ,KAAK,EAAEA,KAAK,IAAI,CAAE;IAClBU,IAAI,EAAC;EAAQ,GACTJ,IAAI,GAEPD,QACM,CAAC;AAEd;AAEAP,UAAU,CAACa,qBAAqB,GAAG,IAAI;AACvCb,UAAU,CAACc,iBAAiB,GAAG,IAAI;AAEnC,eAAed,UAAU"}
@@ -1,9 +1,9 @@
1
1
  /*
2
2
  * Utilities
3
3
  */
4
- .dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]) {
4
+ .dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]) {
5
5
  margin: 0;
6
6
  }
7
- .dnb-form-sub-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
7
+ .dnb-forms-sub-heading:has(+ .dnb-flex-stack > .dnb-card, + .dnb-card):not([class*=space__bottom]) {
8
8
  margin-bottom: var(--spacing-small);
9
9
  }
@@ -1 +1 @@
1
- .dnb-spacing .dnb-form-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-form-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
1
+ .dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}
@@ -1,6 +1,6 @@
1
1
  @import '../../../../../style/core/utilities.scss';
2
2
 
3
- .dnb-form-sub-heading {
3
+ .dnb-forms-sub-heading {
4
4
  // Reset inherited spacing
5
5
  .dnb-spacing & {
6
6
  &.dnb-h--medium:not([class*='space__']) {
@@ -30,7 +30,7 @@ function SubmitIndicator(props) {
30
30
  }
31
31
  }, [children, state]);
32
32
  const params = _objectSpread({
33
- className: classnames('dnb-form-submit-indicator', className, state && `dnb-form-submit-indicator--state-${state}`, willWrap && 'dnb-form-submit-indicator--inline-wrap')
33
+ className: classnames('dnb-forms-submit-indicator', className, state && `dnb-forms-submit-indicator--state-${state}`, willWrap && 'dnb-forms-submit-indicator--inline-wrap')
34
34
  }, pickSpacingProps(rest));
35
35
  const ariaAttributes = state === 'pending' ? {
36
36
  role: 'status',
@@ -39,7 +39,7 @@ function SubmitIndicator(props) {
39
39
  } : {};
40
40
  const dot = _b || (_b = React.createElement("b", null, "."));
41
41
  const indicator = React.createElement("span", _extends({
42
- className: "dnb-form-submit-indicator__content"
42
+ className: "dnb-forms-submit-indicator__content"
43
43
  }, ariaAttributes, omitSpacingProps(rest)), state === 'success' && React.createElement(Tooltip, {
44
44
  targetElement: _span || (_span = React.createElement("span", null, React.createElement(Icon, {
45
45
  icon: check
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitIndicator.js","names":["React","useLayoutEffect","useRef","useState","classnames","Icon","Space","Tooltip","check","omitSpacingProps","pickSpacingProps","useTranslation","SubmitIndicator","props","className","children","state","successLabel","rest","_objectWithoutProperties","_excluded","translation","childrenRef","willWrap","setWillWrap","willWordWrap","current","params","_objectSpread","ariaAttributes","role","ProgressIndicator","indicator_label","dot","_b","createElement","indicator","_extends","targetElement","_span","icon","Fragment","element","ref","word","offsetHeight","textContent","height","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitIndicator/SubmitIndicator.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from 'react'\nimport classnames from 'classnames'\nimport { Icon, Space, Tooltip } from '../../../../components'\nimport type { SpaceProps } from '../../../../components/Space'\nimport { check } from '../../../../icons'\nimport type { SubmitState } from '../../types'\nimport {\n omitSpacingProps,\n pickSpacingProps,\n} from '../../../../components/flex/utils'\nimport { useTranslation } from '../../../../shared'\n\nexport type Props = {\n state: SubmitState\n className?: string\n successLabel?: string\n children?: React.ReactNode\n} & SpaceProps\n\nfunction SubmitIndicator(props: Props) {\n const {\n className,\n children,\n state,\n successLabel = 'Saved',\n ...rest\n } = props\n const translation = useTranslation()\n const childrenRef = useRef<HTMLSpanElement>(null)\n const [willWrap, setWillWrap] = useState(false)\n\n useLayoutEffect(() => {\n if (children && state) {\n setWillWrap(willWordWrap(childrenRef.current, '. . . '))\n }\n }, [children, state])\n\n const params = {\n className: classnames(\n 'dnb-form-submit-indicator',\n state && `dnb-form-submit-indicator--state-${state}`,\n willWrap && 'dnb-form-submit-indicator--inline-wrap',\n className\n ),\n ...pickSpacingProps(rest),\n } as SpaceProps\n\n const ariaAttributes =\n state === 'pending'\n ? {\n role: 'status',\n 'aria-busy': true,\n 'aria-label': translation.ProgressIndicator.indicator_label,\n }\n : {}\n\n const dot = <b>.</b>\n const indicator = (\n <span\n className=\"dnb-form-submit-indicator__content\"\n {...ariaAttributes}\n {...omitSpacingProps(rest)}\n >\n {state === 'success' && (\n <Tooltip\n targetElement={\n <span>\n <Icon icon={check} />\n </span>\n }\n >\n {successLabel}\n </Tooltip>\n )}\n {state && state !== 'success' && state !== 'abort' && (\n <>\n {dot}\n {dot}\n {dot}\n </>\n )}\n </span>\n )\n\n return (\n <Space {...params} element=\"span\">\n {children && <span ref={childrenRef}>{children}</span>}\n {indicator}\n </Space>\n )\n}\n\nfunction willWordWrap(element: HTMLElement, word: string) {\n if (!element) {\n return\n }\n\n const { offsetHeight, textContent } = element\n\n element.textContent += word\n const height = element.offsetHeight\n element.textContent = textContent\n\n return height > offsetHeight\n}\n\nSubmitIndicator._supportsSpacingProps = true\nexport default SubmitIndicator\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubmitIndicator.js","names":["React","useLayoutEffect","useRef","useState","classnames","Icon","Space","Tooltip","check","omitSpacingProps","pickSpacingProps","useTranslation","SubmitIndicator","props","className","children","state","successLabel","rest","_objectWithoutProperties","_excluded","translation","childrenRef","willWrap","setWillWrap","willWordWrap","current","params","_objectSpread","ariaAttributes","role","ProgressIndicator","indicator_label","dot","_b","createElement","indicator","_extends","targetElement","_span","icon","Fragment","element","ref","word","offsetHeight","textContent","height","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitIndicator/SubmitIndicator.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from 'react'\nimport classnames from 'classnames'\nimport { Icon, Space, Tooltip } from '../../../../components'\nimport type { SpaceProps } from '../../../../components/Space'\nimport { check } from '../../../../icons'\nimport type { SubmitState } from '../../types'\nimport {\n omitSpacingProps,\n pickSpacingProps,\n} from '../../../../components/flex/utils'\nimport { useTranslation } from '../../../../shared'\n\nexport type Props = {\n state: SubmitState\n className?: string\n successLabel?: string\n children?: React.ReactNode\n} & SpaceProps\n\nfunction SubmitIndicator(props: Props) {\n const {\n className,\n children,\n state,\n successLabel = 'Saved',\n ...rest\n } = props\n const translation = useTranslation()\n const childrenRef = useRef<HTMLSpanElement>(null)\n const [willWrap, setWillWrap] = useState(false)\n\n useLayoutEffect(() => {\n if (children && state) {\n setWillWrap(willWordWrap(childrenRef.current, '. . . '))\n }\n }, [children, state])\n\n const params = {\n className: classnames(\n 'dnb-forms-submit-indicator',\n state && `dnb-forms-submit-indicator--state-${state}`,\n willWrap && 'dnb-forms-submit-indicator--inline-wrap',\n className\n ),\n ...pickSpacingProps(rest),\n } as SpaceProps\n\n const ariaAttributes =\n state === 'pending'\n ? {\n role: 'status',\n 'aria-busy': true,\n 'aria-label': translation.ProgressIndicator.indicator_label,\n }\n : {}\n\n const dot = <b>.</b>\n const indicator = (\n <span\n className=\"dnb-forms-submit-indicator__content\"\n {...ariaAttributes}\n {...omitSpacingProps(rest)}\n >\n {state === 'success' && (\n <Tooltip\n targetElement={\n <span>\n <Icon icon={check} />\n </span>\n }\n >\n {successLabel}\n </Tooltip>\n )}\n {state && state !== 'success' && state !== 'abort' && (\n <>\n {dot}\n {dot}\n {dot}\n </>\n )}\n </span>\n )\n\n return (\n <Space {...params} element=\"span\">\n {children && <span ref={childrenRef}>{children}</span>}\n {indicator}\n </Space>\n )\n}\n\nfunction willWordWrap(element: HTMLElement, word: string) {\n if (!element) {\n return\n }\n\n const { offsetHeight, textContent } = element\n\n element.textContent += word\n const height = element.offsetHeight\n element.textContent = textContent\n\n return height > offsetHeight\n}\n\nSubmitIndicator._supportsSpacingProps = true\nexport default SubmitIndicator\n"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  /*
2
2
  * Utilities
3
3
  */
4
- .dnb-form-submit-indicator {
4
+ .dnb-forms-submit-indicator {
5
5
  display: inline;
6
6
  --padding-left: 0.5em;
7
7
  }
8
- .dnb-form-submit-indicator__content {
8
+ .dnb-forms-submit-indicator__content {
9
9
  font-size: 0;
10
10
  line-height: 1em;
11
11
  will-change: font-size;
12
12
  transition: font-size 800ms var(--easing-default);
13
13
  }
14
- .dnb-form-submit-indicator__content b {
14
+ .dnb-forms-submit-indicator__content b {
15
15
  padding-left: 0.125em;
16
16
  color: var(--dots-color, currentColor);
17
17
  opacity: 0.2;
@@ -20,38 +20,38 @@
20
20
  animation-duration: 1.3s;
21
21
  animation-delay: 200ms;
22
22
  }
23
- .dnb-form-submit-indicator__content b:nth-of-type(1) {
23
+ .dnb-forms-submit-indicator__content b:nth-of-type(1) {
24
24
  padding-left: var(--padding-left);
25
25
  animation-delay: 50ms;
26
26
  }
27
- .dnb-form-submit-indicator__content b:nth-of-type(2) {
27
+ .dnb-forms-submit-indicator__content b:nth-of-type(2) {
28
28
  animation-delay: 200ms;
29
29
  }
30
- .dnb-form-submit-indicator__content b:nth-of-type(3) {
30
+ .dnb-forms-submit-indicator__content b:nth-of-type(3) {
31
31
  animation-delay: 400ms;
32
32
  }
33
- html[data-visual-test] .dnb-form-submit-indicator__content b {
33
+ html[data-visual-test] .dnb-forms-submit-indicator__content b {
34
34
  animation: none;
35
35
  }
36
- .dnb-form-submit-indicator--state-pending .dnb-form-submit-indicator__content {
36
+ .dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content {
37
37
  font-size: 1em;
38
38
  font-weight: var(--font-weight-bold);
39
39
  }
40
- .dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content {
40
+ .dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content {
41
41
  font-size: 1em;
42
42
  }
43
- .dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content .dnb-icon {
43
+ .dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon {
44
44
  padding-left: var(--padding-left);
45
45
  color: var(--color-success-green);
46
46
  }
47
- .dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content .dnb-icon--default {
47
+ .dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default {
48
48
  font-size: 1em;
49
49
  }
50
- .dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content__label {
50
+ .dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label {
51
51
  font-size: var(--font-size-small);
52
52
  padding-left: calc(var(--padding-left) * 2);
53
53
  }
54
- .dnb-form-submit-indicator--inline-wrap .dnb-form-submit-indicator__content {
54
+ .dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content {
55
55
  display: flex;
56
56
  --padding-left: 0.25em;
57
57
  }
@@ -1 +1 @@
1
- .dnb-form-submit-indicator{--padding-left:0.5em;display:inline}.dnb-form-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-form-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-form-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-form-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-form-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-form-submit-indicator__content b{animation:none}.dnb-form-submit-indicator--state-pending .dnb-form-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content{font-size:1em}.dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-form-submit-indicator--state-success .dnb-form-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-form-submit-indicator--inline-wrap .dnb-form-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}
1
+ .dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}
@@ -1,6 +1,6 @@
1
1
  @import '../../../../../style/core/utilities.scss';
2
2
 
3
- .dnb-form-submit-indicator {
3
+ .dnb-forms-submit-indicator {
4
4
  display: inline;
5
5
 
6
6
  --padding-left: 0.5em;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { HeightAnimationProps } from '../../../../components/HeightAnimation';
3
+ import type { UseFieldProps } from '../../types';
3
4
  export type Props = {
4
5
  visible?: boolean;
5
6
  /** Given data context path must be defined to show children */
@@ -24,10 +25,12 @@ export type Props = {
24
25
  animate?: boolean;
25
26
  /** Keep the content in the DOM, even if it's not visible */
26
27
  keepInDOM?: boolean;
28
+ /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */
29
+ fieldPropsWhenHidden?: UseFieldProps;
27
30
  element?: HeightAnimationProps['element'];
28
31
  children: React.ReactNode;
29
32
  };
30
- declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, inferData, animate, keepInDOM, children, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
33
+ declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, inferData, animate, keepInDOM, fieldPropsWhenHidden, children, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
31
34
  declare namespace Visibility {
32
35
  var _supportsSpacingProps: string;
33
36
  }
@@ -2,11 +2,12 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "inferData", "animate", "keepInDOM", "children"];
5
+ const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "inferData", "animate", "keepInDOM", "fieldPropsWhenHidden", "children"];
6
6
  import React, { useContext } from 'react';
7
7
  import pointer from 'json-pointer';
8
8
  import * as DataContext from '../../DataContext';
9
9
  import HeightAnimation from '../../../../components/HeightAnimation';
10
+ import FieldProps from '../FieldProps';
10
11
  function Visibility(_ref) {
11
12
  let {
12
13
  visible,
@@ -21,6 +22,7 @@ function Visibility(_ref) {
21
22
  inferData,
22
23
  animate,
23
24
  keepInDOM,
25
+ fieldPropsWhenHidden,
24
26
  children
25
27
  } = _ref,
26
28
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -56,11 +58,12 @@ function Visibility(_ref) {
56
58
  return true;
57
59
  };
58
60
  if (animate) {
61
+ const open = Boolean(check());
59
62
  return React.createElement(HeightAnimation, _extends({
60
- open: Boolean(check()),
63
+ open: open,
61
64
  keepInDOM: keepInDOM,
62
65
  className: "dnb-forms-visibility"
63
- }, rest), children);
66
+ }, rest), React.createElement(FieldProps, open ? null : fieldPropsWhenHidden, children));
64
67
  }
65
68
  if (check()) {
66
69
  return React.createElement(React.Fragment, null, children);
@@ -69,7 +72,7 @@ function Visibility(_ref) {
69
72
  return React.createElement("span", {
70
73
  className: "dnb-forms-visibility",
71
74
  hidden: true
72
- }, children);
75
+ }, React.createElement(FieldProps, fieldPropsWhenHidden, children));
73
76
  }
74
77
  return null;
75
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Visibility.js","names":["React","useContext","pointer","DataContext","HeightAnimation","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","animate","keepInDOM","children","rest","_objectWithoutProperties","_excluded","dataContext","Context","check","has","data","get","Boolean","createElement","_extends","open","className","Fragment","hidden","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport pointer from 'json-pointer'\nimport * as DataContext from '../../DataContext'\nimport HeightAnimation, {\n HeightAnimationProps,\n} from '../../../../components/HeightAnimation'\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Given data context path must match, as well as the \"whenValue\" value */\n pathValue?: string\n /** Given data context value must match this value to show children */\n whenValue?: unknown\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n element?: HeightAnimationProps['element']\n children: React.ReactNode\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n animate,\n keepInDOM,\n children,\n ...rest\n}: Props) {\n const dataContext = useContext(DataContext.Context)\n\n const check = () => {\n if (visible === false) {\n return\n }\n\n if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {\n return\n }\n if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {\n return\n }\n\n if (\n pathTruthy &&\n (!pointer.has(dataContext.data, pathTruthy) ||\n !pointer.get(dataContext.data, pathTruthy))\n ) {\n return\n }\n if (\n pathFalsy &&\n pointer.has(dataContext.data, pathFalsy) &&\n Boolean(pointer.get(dataContext.data, pathFalsy))\n ) {\n return\n }\n\n if (\n pathTrue &&\n (!pointer.has(dataContext.data, pathTrue) ||\n pointer.get(dataContext.data, pathTrue) !== true)\n ) {\n return\n }\n if (\n pathFalse &&\n (!pointer.has(dataContext.data, pathFalse) ||\n pointer.get(dataContext.data, pathFalse) !== false)\n ) {\n return\n }\n\n if (\n pathValue &&\n !(\n pointer.has(dataContext.data, pathValue) &&\n pointer.get(dataContext.data, pathValue) === whenValue\n )\n ) {\n return\n }\n\n if (inferData && !inferData(dataContext.data)) {\n return\n }\n\n return true\n }\n\n if (animate) {\n return (\n <HeightAnimation\n open={Boolean(check())}\n keepInDOM={keepInDOM}\n className=\"dnb-forms-visibility\"\n {...rest}\n >\n {children}\n </HeightAnimation>\n )\n }\n\n if (check()) {\n return <>{children}</>\n }\n\n if (keepInDOM) {\n return (\n <span className=\"dnb-forms-visibility\" hidden>\n {children}\n </span>\n )\n }\n\n return null\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}
1
+ {"version":3,"file":"Visibility.js","names":["React","useContext","pointer","DataContext","HeightAnimation","FieldProps","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","animate","keepInDOM","fieldPropsWhenHidden","children","rest","_objectWithoutProperties","_excluded","dataContext","Context","check","has","data","get","Boolean","open","createElement","_extends","className","Fragment","hidden","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport pointer from 'json-pointer'\nimport * as DataContext from '../../DataContext'\nimport HeightAnimation, {\n HeightAnimationProps,\n} from '../../../../components/HeightAnimation'\nimport FieldProps from '../FieldProps'\nimport type { UseFieldProps } from '../../types'\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Given data context path must match, as well as the \"whenValue\" value */\n pathValue?: string\n /** Given data context value must match this value to show children */\n whenValue?: unknown\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps\n element?: HeightAnimationProps['element']\n children: React.ReactNode\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n animate,\n keepInDOM,\n fieldPropsWhenHidden,\n children,\n ...rest\n}: Props) {\n const dataContext = useContext(DataContext.Context)\n\n const check = () => {\n if (visible === false) {\n return\n }\n\n if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {\n return\n }\n if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {\n return\n }\n\n if (\n pathTruthy &&\n (!pointer.has(dataContext.data, pathTruthy) ||\n !pointer.get(dataContext.data, pathTruthy))\n ) {\n return\n }\n if (\n pathFalsy &&\n pointer.has(dataContext.data, pathFalsy) &&\n Boolean(pointer.get(dataContext.data, pathFalsy))\n ) {\n return\n }\n\n if (\n pathTrue &&\n (!pointer.has(dataContext.data, pathTrue) ||\n pointer.get(dataContext.data, pathTrue) !== true)\n ) {\n return\n }\n if (\n pathFalse &&\n (!pointer.has(dataContext.data, pathFalse) ||\n pointer.get(dataContext.data, pathFalse) !== false)\n ) {\n return\n }\n\n if (\n pathValue &&\n !(\n pointer.has(dataContext.data, pathValue) &&\n pointer.get(dataContext.data, pathValue) === whenValue\n )\n ) {\n return\n }\n\n if (inferData && !inferData(dataContext.data)) {\n return\n }\n\n return true\n }\n\n if (animate) {\n const open = Boolean(check())\n return (\n <HeightAnimation\n open={open}\n keepInDOM={keepInDOM}\n className=\"dnb-forms-visibility\"\n {...rest}\n >\n <FieldProps {...(open ? null : fieldPropsWhenHidden)}>\n {children}\n </FieldProps>\n </HeightAnimation>\n )\n }\n\n if (check()) {\n return <>{children}</>\n }\n\n if (keepInDOM) {\n return (\n <span className=\"dnb-forms-visibility\" hidden>\n <FieldProps {...fieldPropsWhenHidden}>{children}</FieldProps>\n </span>\n )\n }\n\n return null\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}
@@ -59,6 +59,11 @@ export const VisibilityProperties = {
59
59
  type: 'boolean',
60
60
  status: 'optional'
61
61
  },
62
+ fieldPropsWhenHidden: {
63
+ doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',
64
+ type: 'various',
65
+ status: 'optional'
66
+ },
62
67
  element: {
63
68
  doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',
64
69
  type: 'string or React.Element',
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityDocs.js","names":["VisibilityProperties","pathDefined","doc","type","status","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","visible","animate","keepInDOM","element","children"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n pathValue: {\n doc: 'Given data context path must match, as well as the `whenValue` value.',\n type: 'string',\n status: 'optional',\n },\n whenValue: {\n doc: 'The value to match. Should be used together with `pathValue`.',\n type: 'string',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly by boolean value.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,SAAS,EAAE;IACTR,GAAG,EAAE,uEAAuE;IAC5EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,OAAO,EAAE;IACPd,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDa,QAAQ,EAAE;IACRf,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"VisibilityDocs.js","names":["VisibilityProperties","pathDefined","doc","type","status","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","visible","animate","keepInDOM","fieldPropsWhenHidden","element","children"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n pathValue: {\n doc: 'Given data context path must match, as well as the `whenValue` value.',\n type: 'string',\n status: 'optional',\n },\n whenValue: {\n doc: 'The value to match. Should be used together with `pathValue`.',\n type: 'string',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly by boolean value.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,SAAS,EAAE;IACTR,GAAG,EAAE,uEAAuE;IAC5EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,oBAAoB,EAAE;IACpBd,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDa,OAAO,EAAE;IACPf,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDc,QAAQ,EAAE;IACRhB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -7,6 +7,7 @@ export { default as ButtonRow } from './ButtonRow';
7
7
  export { default as MainHeading } from './MainHeading';
8
8
  export { default as SubHeading } from './SubHeading';
9
9
  export { default as Visibility } from './Visibility';
10
+ export { default as FieldProps } from './FieldProps';
10
11
  export { default as useData } from './data-context/useData';
11
12
  export { default as setData } from './data-context/setData';
12
13
  export { default as getData } from './data-context/getData';
@@ -7,6 +7,7 @@ export { default as ButtonRow } from './ButtonRow';
7
7
  export { default as MainHeading } from './MainHeading';
8
8
  export { default as SubHeading } from './SubHeading';
9
9
  export { default as Visibility } from './Visibility';
10
+ export { default as FieldProps } from './FieldProps';
10
11
  export { default as useData } from './data-context/useData';
11
12
  export { default as setData } from './data-context/setData';
12
13
  export { default as getData } from './data-context/getData';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Handler","Element","Appearance","SubmitButton","SubmitIndicator","ButtonRow","MainHeading","SubHeading","Visibility","useData","setData","getData","useError","useTranslation","useLocale"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as Appearance } from './Appearance'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as SubmitIndicator } from './SubmitIndicator'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as useData } from './data-context/useData'\nexport { default as setData } from './data-context/setData'\nexport { default as getData } from './data-context/getData'\nexport { default as useError } from './data-context/useError'\nexport { default as useTranslation } from '../hooks/useTranslation'\n\n/**\n * Can be removed in v11\n * @deprecated Use `useTranslation` instead\n */\nexport { default as useLocale } from '../hooks/useTranslation'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO,QAAQ,WAAW;AAC9C,SAASD,OAAO,IAAIE,OAAO,QAAQ,WAAW;AAC9C,SAASF,OAAO,IAAIG,UAAU,QAAQ,cAAc;AACpD,SAASH,OAAO,IAAII,YAAY,QAAQ,gBAAgB;AACxD,SAASJ,OAAO,IAAIK,eAAe,QAAQ,mBAAmB;AAC9D,SAASL,OAAO,IAAIM,SAAS,QAAQ,aAAa;AAClD,SAASN,OAAO,IAAIO,WAAW,QAAQ,eAAe;AACtD,SAASP,OAAO,IAAIQ,UAAU,QAAQ,cAAc;AACpD,SAASR,OAAO,IAAIS,UAAU,QAAQ,cAAc;AACpD,SAAST,OAAO,IAAIU,OAAO,QAAQ,wBAAwB;AAC3D,SAASV,OAAO,IAAIW,OAAO,QAAQ,wBAAwB;AAC3D,SAASX,OAAO,IAAIY,OAAO,QAAQ,wBAAwB;AAC3D,SAASZ,OAAO,IAAIa,QAAQ,QAAQ,yBAAyB;AAC7D,SAASb,OAAO,IAAIc,cAAc,QAAQ,yBAAyB;AAMnE,SAASd,OAAO,IAAIe,SAAS,QAAQ,yBAAyB"}
1
+ {"version":3,"file":"index.js","names":["default","Handler","Element","Appearance","SubmitButton","SubmitIndicator","ButtonRow","MainHeading","SubHeading","Visibility","FieldProps","useData","setData","getData","useError","useTranslation","useLocale"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as Appearance } from './Appearance'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as SubmitIndicator } from './SubmitIndicator'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as FieldProps } from './FieldProps'\nexport { default as useData } from './data-context/useData'\nexport { default as setData } from './data-context/setData'\nexport { default as getData } from './data-context/getData'\nexport { default as useError } from './data-context/useError'\nexport { default as useTranslation } from '../hooks/useTranslation'\n\n/**\n * Can be removed in v11\n * @deprecated Use `useTranslation` instead\n */\nexport { default as useLocale } from '../hooks/useTranslation'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO,QAAQ,WAAW;AAC9C,SAASD,OAAO,IAAIE,OAAO,QAAQ,WAAW;AAC9C,SAASF,OAAO,IAAIG,UAAU,QAAQ,cAAc;AACpD,SAASH,OAAO,IAAII,YAAY,QAAQ,gBAAgB;AACxD,SAASJ,OAAO,IAAIK,eAAe,QAAQ,mBAAmB;AAC9D,SAASL,OAAO,IAAIM,SAAS,QAAQ,aAAa;AAClD,SAASN,OAAO,IAAIO,WAAW,QAAQ,eAAe;AACtD,SAASP,OAAO,IAAIQ,UAAU,QAAQ,cAAc;AACpD,SAASR,OAAO,IAAIS,UAAU,QAAQ,cAAc;AACpD,SAAST,OAAO,IAAIU,UAAU,QAAQ,cAAc;AACpD,SAASV,OAAO,IAAIW,OAAO,QAAQ,wBAAwB;AAC3D,SAASX,OAAO,IAAIY,OAAO,QAAQ,wBAAwB;AAC3D,SAASZ,OAAO,IAAIa,OAAO,QAAQ,wBAAwB;AAC3D,SAASb,OAAO,IAAIc,QAAQ,QAAQ,yBAAyB;AAC7D,SAASd,OAAO,IAAIe,cAAc,QAAQ,yBAAyB;AAMnE,SAASf,OAAO,IAAIgB,SAAS,QAAQ,yBAAyB"}
@@ -74,9 +74,9 @@ function ElementBlock(props) {
74
74
  window.requestAnimationFrame(() => {
75
75
  try {
76
76
  var _document$activeEleme;
77
- if (!((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.closest('.dnb-form-iterate__element'))) {
77
+ if (!((_document$activeEleme = document.activeElement) !== null && _document$activeEleme !== void 0 && _document$activeEleme.closest('.dnb-forms-iterate__element'))) {
78
78
  var _contextRef$current2;
79
- const elements = (_contextRef$current2 = contextRef.current) === null || _contextRef$current2 === void 0 ? void 0 : _contextRef$current2.containerRef.current.querySelectorAll('.dnb-form-iterate__element');
79
+ const elements = (_contextRef$current2 = contextRef.current) === null || _contextRef$current2 === void 0 ? void 0 : _contextRef$current2.containerRef.current.querySelectorAll('.dnb-forms-iterate__element');
80
80
  elements[elements.length - 1].focus();
81
81
  }
82
82
  } catch (e) {}
@@ -102,13 +102,13 @@ function ElementBlock(props) {
102
102
  handleRemoveBlock
103
103
  }
104
104
  }, React.createElement(HeightAnimation, {
105
- className: classnames('dnb-form-iterate-block', className, isNew && 'dnb-form-iterate-block--new', contextRef.current.hasErrorAndShowIt && 'dnb-form-iterate-block--error'),
105
+ className: classnames('dnb-forms-iterate-block', className, isNew && 'dnb-forms-iterate-block--new', contextRef.current.hasErrorAndShowIt && 'dnb-forms-iterate-block--error'),
106
106
  open: openRef.current,
107
107
  onAnimationEnd: handleAnimationEnd,
108
108
  duration: 450,
109
109
  keepInDOM: true
110
110
  }, React.createElement(Flex.Stack, _extends({
111
- className: "dnb-form-iterate-block__inner"
111
+ className: "dnb-forms-iterate-block__inner"
112
112
  }, restProps, {
113
113
  element: "section",
114
114
  "aria-label": ariaLabel
@@ -1 +1 @@
1
- {"version":3,"file":"ElementBlock.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateElementContext","ElementBlockContext","FieldBoundaryContext","ElementBlock","props","forceUpdate","contextRef","current","hasError","hasErrorAndShowIt","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","restProps","_objectWithoutProperties","_excluded","openRef","isRemoving","setOpenState","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","call","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","length","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n}\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateElementContextState & {\n hasError?: boolean\n hasErrorAndShowIt?: boolean\n }\n >()\n contextRef.current = useContext(IterateElementContext) || {}\n\n const { hasError, hasErrorAndShowIt } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasErrorAndShowIt = hasErrorAndShowIt\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasErrorAndShowIt) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n // - Keep the block open if we have an error\n if (contextRef.current.hasErrorAndShowIt) {\n switchContainerMode('edit')\n }\n\n const preventFocusOnErrorOpening =\n !contextRef.current.hasErrorAndShowIt\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-form-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-form-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-form-iterate-block',\n isNew && 'dnb-form-iterate-block--new',\n contextRef.current.hasErrorAndShowIt &&\n 'dnb-form-iterate-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Flex.Stack\n className=\"dnb-form-iterate-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"ElementBlock.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateElementContext","ElementBlockContext","FieldBoundaryContext","ElementBlock","props","forceUpdate","contextRef","current","hasError","hasErrorAndShowIt","containerMode","handleRemove","switchContainerMode","isNew","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","restProps","_objectWithoutProperties","_excluded","openRef","isRemoving","setOpenState","setTimeout","handleAnimationEnd","state","preventFocusOnErrorOpening","_contextRef$current","_contextRef$current$e","_contextRef$current$e2","_contextRef$current$e3","elementRef","focus","call","window","requestAnimationFrame","_document$activeEleme","document","activeElement","closest","_contextRef$current2","elements","containerRef","querySelectorAll","length","e","_contextRef$current3","_contextRef$current3$","fulfillRemove","handleRemoveBlock","keepItems","createElement","Provider","value","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/AnimatedContainer/ElementBlock.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport ElementBlockContext from './ElementBlockContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from '../Array/types'\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n}\n\nfunction ElementBlock(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const contextRef = useRef<\n IterateElementContextState & {\n hasError?: boolean\n hasErrorAndShowIt?: boolean\n }\n >()\n contextRef.current = useContext(IterateElementContext) || {}\n\n const { hasError, hasErrorAndShowIt } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasErrorAndShowIt = hasErrorAndShowIt\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasErrorAndShowIt) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { handleRemove, switchContainerMode, containerMode, isNew } =\n contextRef.current\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n ...restProps\n } = props\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n // - Keep the block open if we have an error\n if (contextRef.current.hasErrorAndShowIt) {\n switchContainerMode('edit')\n }\n\n const preventFocusOnErrorOpening =\n !contextRef.current.hasErrorAndShowIt\n if (preventFocusOnErrorOpening) {\n if (state === 'opened') {\n contextRef.current?.elementRef?.current?.focus?.()\n } else {\n // Wait until the element is removed, then check if we can set focus\n window.requestAnimationFrame(() => {\n // try to focus on the second last element\n try {\n if (\n // But not when we focus is already inside our element\n !document.activeElement?.closest(\n '.dnb-forms-iterate__element'\n )\n ) {\n const elements =\n contextRef.current?.containerRef.current.querySelectorAll<HTMLDivElement>(\n '.dnb-forms-iterate__element'\n )\n elements[elements.length - 1].focus()\n }\n } catch (e) {\n /**/\n }\n })\n }\n }\n\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n contextRef.current?.fulfillRemove?.()\n }\n\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, switchContainerMode]\n )\n const handleRemoveBlock = useCallback(() => {\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, setOpenState])\n\n return (\n <ElementBlockContext.Provider value={{ handleRemoveBlock }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-iterate-block',\n isNew && 'dnb-forms-iterate-block--new',\n contextRef.current.hasErrorAndShowIt &&\n 'dnb-forms-iterate-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Flex.Stack\n className=\"dnb-forms-iterate-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ElementBlockContext.Provider>\n )\n}\n\nElementBlock._supportsSpacingProps = true\nexport default ElementBlock\n"],"mappings":"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"}
@@ -119,7 +119,7 @@ function ArrayComponent(props) {
119
119
  }
120
120
  }, [arrayValue, elementData, onChange]);
121
121
  const flexProps = _objectSpread(_objectSpread(_objectSpread({
122
- className: classnames('dnb-form-iterate', props === null || props === void 0 ? void 0 : props.className)
122
+ className: classnames('dnb-forms-iterate', props === null || props === void 0 ? void 0 : props.className)
123
123
  }, pickFlexContainerProps(props)), pickSpacingProps(props)), {}, {
124
124
  innerRef: containerRef
125
125
  });
@@ -145,7 +145,7 @@ function ArrayComponent(props) {
145
145
  }, React.createElement(FieldBoundaryProvider, null, content));
146
146
  }
147
147
  return React.createElement(Flex.Item, {
148
- className: "dnb-form-iterate__element",
148
+ className: "dnb-forms-iterate__element",
149
149
  tabIndex: -1,
150
150
  innerRef: elementRef,
151
151
  key: `element-${id}`
@@ -1 +1 @@
1
- {"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","Fragment","classnames","pointer","useFieldProps","makeUniqueId","Flex","pickSpacingProps","pickFlexContainerProps","IterateElementContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","summaryListContext","valueBlockContext","path","value","arrayValue","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","idsRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","current","elementData","_ref","map","index","_valueCountRef$curren","id","hasNewItems","length","push","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","_objectSpread","set","handlePush","element","handleRemove","keepItems","arguments","undefined","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","innerRef","WrapperElement","Stack","createElement","elementProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","key","Item","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(props)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames('dnb-form-iterate', props?.className),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-form-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","Fragment","classnames","pointer","useFieldProps","makeUniqueId","Flex","pickSpacingProps","pickFlexContainerProps","IterateElementContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","summaryListContext","valueBlockContext","path","value","arrayValue","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","idsRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","current","elementData","_ref","map","index","_valueCountRef$curren","id","hasNewItems","length","push","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","_objectSpread","set","handlePush","element","handleRemove","keepItems","arguments","undefined","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","innerRef","WrapperElement","Stack","createElement","elementProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","key","Item","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(props)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames('dnb-forms-iterate', props?.className),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ export function EditContainerWithoutToolbar(props) {
42
42
  const ariaLabel = useMemo(() => convertJsxToString(blockTitle), [blockTitle]);
43
43
  return React.createElement(ElementBlock, _extends({
44
44
  mode: "edit",
45
- className: classnames('dnb-form-iterate-edit-block', className),
45
+ className: classnames('dnb-forms-iterate-edit-block', className),
46
46
  ariaLabel: ariaLabel
47
47
  }, restProps), blockTitle && React.createElement(Lead, {
48
48
  size: "basis"
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainer.js","names":["React","useContext","useEffect","useMemo","useRef","classnames","convertJsxToString","Lead","IterateElementContext","EditToolbarTools","ElementBlock","Toolbar","EditContainer","props","createElement","EditContainerWithoutToolbar","_extends","toolbar","_Toolbar","iterateElementContext","containerMode","isNew","_ref","children","className","title","titleWhenNew","restProps","_objectWithoutProperties","_excluded","wasNewRef","current","blockTitle","ariaLabel","mode","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateElementContext from '../IterateElementContext'\nimport EditToolbarTools from './EditToolbarTools'\nimport ElementBlock from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n * Used internally.\n */\n open?: boolean\n\n /**\n * The toolbar to be shown in the EditContainer.\n * Used internally.\n */\n toolbar?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps\n\nexport default function EditContainer(props: AllProps) {\n return (\n <EditContainerWithoutToolbar\n toolbar={\n <Toolbar>\n <EditToolbarTools />\n </Toolbar>\n }\n {...props}\n />\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const iterateElementContext = useContext(IterateElementContext)\n const { containerMode, isNew } = iterateElementContext ?? {}\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n const blockTitle =\n wasNewRef.current && titleWhenNew ? titleWhenNew : title\n const ariaLabel = useMemo(\n () => convertJsxToString(blockTitle),\n [blockTitle]\n )\n\n return (\n <ElementBlock\n mode=\"edit\"\n className={classnames('dnb-form-iterate-edit-block', className)}\n ariaLabel={ariaLabel}\n {...restProps}\n >\n {blockTitle && <Lead size=\"basis\">{blockTitle}</Lead>}\n {children}\n {toolbar}\n </ElementBlock>\n )\n}\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,YAAY,MAAM,mCAAmC;AAC5D,OAAOC,OAAO,MAAM,YAAY;AA4BhC,eAAe,SAASC,aAAaA,CAACC,KAAe,EAAE;EACrD,OACEb,KAAA,CAAAc,aAAA,CAACC,2BAA2B,EAAAC,QAAA;IAC1BC,OAAO,EAAAC,QAAA,KAAAA,QAAA,GACLlB,KAAA,CAAAc,aAAA,CAACH,OAAO,QACNX,KAAA,CAAAc,aAAA,CAACL,gBAAgB,MAAE,CACZ,CAAC;EACX,GACGI,KAAK,CACV,CAAC;AAEN;AAEA,OAAO,SAASE,2BAA2BA,CACzCF,KAAiE,EACjE;EACA,MAAMM,qBAAqB,GAAGlB,UAAU,CAACO,qBAAqB,CAAC;EAC/D,MAAM;IAAEY,aAAa;IAAEC;EAAM,CAAC,GAAGF,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE5D,MAAAG,IAAA,GAOIT,KAAK,IAAI,CAAC,CAAC;IAPT;MACJU,QAAQ;MACRC,SAAS;MACTC,KAAK;MACLC,YAAY;MACZT;IAEF,CAAC,GAAAK,IAAA;IADIK,SAAS,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAGd,MAAMC,SAAS,GAAG1B,MAAM,CAAUiB,KAAK,CAAC;EAExCnB,SAAS,CAAC,MAAM;IACd,IAAIkB,aAAa,KAAK,MAAM,EAAE;MAC5BU,SAAS,CAACC,OAAO,GAAG,KAAK;IAC3B;EACF,CAAC,EAAE,CAACV,KAAK,EAAED,aAAa,CAAC,CAAC;EAE1B,MAAMY,UAAU,GACdF,SAAS,CAACC,OAAO,IAAIL,YAAY,GAAGA,YAAY,GAAGD,KAAK;EAC1D,MAAMQ,SAAS,GAAG9B,OAAO,CACvB,MAAMG,kBAAkB,CAAC0B,UAAU,CAAC,EACpC,CAACA,UAAU,CACb,CAAC;EAED,OACEhC,KAAA,CAAAc,aAAA,CAACJ,YAAY,EAAAM,QAAA;IACXkB,IAAI,EAAC,MAAM;IACXV,SAAS,EAAEnB,UAAU,CAAC,6BAA6B,EAAEmB,SAAS,CAAE;IAChES,SAAS,EAAEA;EAAU,GACjBN,SAAS,GAEZK,UAAU,IAAIhC,KAAA,CAAAc,aAAA,CAACP,IAAI;IAAC4B,IAAI,EAAC;EAAO,GAAEH,UAAiB,CAAC,EACpDT,QAAQ,EACRN,OACW,CAAC;AAEnB;AAEAL,aAAa,CAACwB,qBAAqB,GAAG,IAAI;AAC1CrB,2BAA2B,CAACqB,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"EditContainer.js","names":["React","useContext","useEffect","useMemo","useRef","classnames","convertJsxToString","Lead","IterateElementContext","EditToolbarTools","ElementBlock","Toolbar","EditContainer","props","createElement","EditContainerWithoutToolbar","_extends","toolbar","_Toolbar","iterateElementContext","containerMode","isNew","_ref","children","className","title","titleWhenNew","restProps","_objectWithoutProperties","_excluded","wasNewRef","current","blockTitle","ariaLabel","mode","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateElementContext from '../IterateElementContext'\nimport EditToolbarTools from './EditToolbarTools'\nimport ElementBlock from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n * Used internally.\n */\n open?: boolean\n\n /**\n * The toolbar to be shown in the EditContainer.\n * Used internally.\n */\n toolbar?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps\n\nexport default function EditContainer(props: AllProps) {\n return (\n <EditContainerWithoutToolbar\n toolbar={\n <Toolbar>\n <EditToolbarTools />\n </Toolbar>\n }\n {...props}\n />\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const iterateElementContext = useContext(IterateElementContext)\n const { containerMode, isNew } = iterateElementContext ?? {}\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n const blockTitle =\n wasNewRef.current && titleWhenNew ? titleWhenNew : title\n const ariaLabel = useMemo(\n () => convertJsxToString(blockTitle),\n [blockTitle]\n )\n\n return (\n <ElementBlock\n mode=\"edit\"\n className={classnames('dnb-forms-iterate-edit-block', className)}\n ariaLabel={ariaLabel}\n {...restProps}\n >\n {blockTitle && <Lead size=\"basis\">{blockTitle}</Lead>}\n {children}\n {toolbar}\n </ElementBlock>\n )\n}\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,YAAY,MAAM,mCAAmC;AAC5D,OAAOC,OAAO,MAAM,YAAY;AA4BhC,eAAe,SAASC,aAAaA,CAACC,KAAe,EAAE;EACrD,OACEb,KAAA,CAAAc,aAAA,CAACC,2BAA2B,EAAAC,QAAA;IAC1BC,OAAO,EAAAC,QAAA,KAAAA,QAAA,GACLlB,KAAA,CAAAc,aAAA,CAACH,OAAO,QACNX,KAAA,CAAAc,aAAA,CAACL,gBAAgB,MAAE,CACZ,CAAC;EACX,GACGI,KAAK,CACV,CAAC;AAEN;AAEA,OAAO,SAASE,2BAA2BA,CACzCF,KAAiE,EACjE;EACA,MAAMM,qBAAqB,GAAGlB,UAAU,CAACO,qBAAqB,CAAC;EAC/D,MAAM;IAAEY,aAAa;IAAEC;EAAM,CAAC,GAAGF,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE5D,MAAAG,IAAA,GAOIT,KAAK,IAAI,CAAC,CAAC;IAPT;MACJU,QAAQ;MACRC,SAAS;MACTC,KAAK;MACLC,YAAY;MACZT;IAEF,CAAC,GAAAK,IAAA;IADIK,SAAS,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAGd,MAAMC,SAAS,GAAG1B,MAAM,CAAUiB,KAAK,CAAC;EAExCnB,SAAS,CAAC,MAAM;IACd,IAAIkB,aAAa,KAAK,MAAM,EAAE;MAC5BU,SAAS,CAACC,OAAO,GAAG,KAAK;IAC3B;EACF,CAAC,EAAE,CAACV,KAAK,EAAED,aAAa,CAAC,CAAC;EAE1B,MAAMY,UAAU,GACdF,SAAS,CAACC,OAAO,IAAIL,YAAY,GAAGA,YAAY,GAAGD,KAAK;EAC1D,MAAMQ,SAAS,GAAG9B,OAAO,CACvB,MAAMG,kBAAkB,CAAC0B,UAAU,CAAC,EACpC,CAACA,UAAU,CACb,CAAC;EAED,OACEhC,KAAA,CAAAc,aAAA,CAACJ,YAAY,EAAAM,QAAA;IACXkB,IAAI,EAAC,MAAM;IACXV,SAAS,EAAEnB,UAAU,CAAC,8BAA8B,EAAEmB,SAAS,CAAE;IACjES,SAAS,EAAEA;EAAU,GACjBN,SAAS,GAEZK,UAAU,IAAIhC,KAAA,CAAAc,aAAA,CAACP,IAAI;IAAC4B,IAAI,EAAC;EAAO,GAAEH,UAAiB,CAAC,EACpDT,QAAQ,EACRN,OACW,CAAC;AAEnB;AAEAL,aAAa,CAACwB,qBAAqB,GAAG,IAAI;AAC1CrB,2BAA2B,CAACqB,qBAAqB,GAAG,IAAI"}