@dnb/eufemia 10.51.1 → 10.52.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 (618) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +4 -0
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  5. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  6. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  7. package/cjs/components/badge/Badge.js +44 -37
  8. package/cjs/components/badge/Badge.js.map +1 -1
  9. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  10. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  11. package/cjs/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  12. package/cjs/components/form-status/FormStatus.d.ts +5 -0
  13. package/cjs/components/icon/Icon.d.ts +2 -1
  14. package/cjs/components/icon/Icon.js.map +1 -1
  15. package/cjs/components/logo/Logo.js.map +1 -1
  16. package/cjs/components/number-format/NumberUtils.d.ts +14 -0
  17. package/cjs/components/number-format/NumberUtils.js +7 -8
  18. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  19. package/cjs/components/skeleton/style/dnb-skeleton.css +3 -1
  20. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  21. package/cjs/components/skeleton/style/dnb-skeleton.scss +4 -2
  22. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  23. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -0
  24. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  25. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  26. package/cjs/extensions/forms/DataContext/Provider/Provider.js +86 -77
  27. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  28. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  29. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +112 -23
  30. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  31. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  32. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  33. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  34. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  35. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  36. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  37. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +25 -0
  38. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  39. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  40. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  41. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -1
  42. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  43. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  44. package/cjs/extensions/forms/Form/Isolation/Isolation.js +26 -0
  45. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  46. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  47. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  48. package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  49. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js +45 -0
  50. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  51. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  52. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js +12 -0
  53. package/cjs/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  54. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  55. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js +17 -0
  56. package/cjs/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  57. package/cjs/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  58. package/cjs/extensions/forms/Form/Snapshot/index.js +27 -0
  59. package/cjs/extensions/forms/Form/Snapshot/index.js.map +1 -0
  60. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  61. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  62. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +12 -4
  63. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  64. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  65. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  66. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  67. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  68. package/cjs/extensions/forms/Form/data-context/clearData.js +2 -5
  69. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
  70. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  71. package/cjs/extensions/forms/Form/data-context/useData.js +3 -2
  72. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  73. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  74. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  75. package/cjs/extensions/forms/Form/index.js +14 -0
  76. package/cjs/extensions/forms/Form/index.js.map +1 -1
  77. package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
  78. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  79. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +30 -17
  80. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  81. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  82. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  84. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js +33 -0
  85. package/cjs/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  86. package/cjs/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  87. package/cjs/extensions/forms/Iterate/ItemNo/index.js +27 -0
  88. package/cjs/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  89. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  90. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  91. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  92. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
  93. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  94. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  95. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  96. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  97. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  98. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  99. package/cjs/extensions/forms/Iterate/index.js +7 -0
  100. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  101. package/cjs/extensions/forms/Tools/Log.d.ts +7 -2
  102. package/cjs/extensions/forms/Tools/Log.js +36 -4
  103. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  104. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  105. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  106. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  107. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  108. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  109. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  110. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  111. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  112. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  113. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  114. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
  115. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  116. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  117. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  118. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  119. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -7
  120. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  121. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  122. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +11 -6
  123. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  124. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  125. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  126. package/cjs/extensions/forms/Wizard/Step/Step.js +4 -4
  127. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  128. package/cjs/extensions/forms/Wizard/hooks/useStep.js +4 -4
  129. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  130. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  131. package/cjs/extensions/forms/constants/locales/en-GB.js +9 -4
  132. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  133. package/cjs/extensions/forms/constants/locales/en-US.d.ts +6 -1
  134. package/cjs/extensions/forms/constants/locales/en-US.js +2 -1
  135. package/cjs/extensions/forms/constants/locales/en-US.js.map +1 -1
  136. package/cjs/extensions/forms/constants/locales/index.d.ts +12 -2
  137. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  138. package/cjs/extensions/forms/constants/locales/nb-NO.js +9 -4
  139. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  140. package/cjs/extensions/forms/hooks/useDataContext.d.ts +6 -0
  141. package/cjs/extensions/forms/hooks/useDataContext.js +31 -0
  142. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -0
  143. package/cjs/extensions/forms/hooks/useExternalValue.js +12 -6
  144. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  145. package/cjs/extensions/forms/hooks/useFieldProps.js +103 -61
  146. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  147. package/cjs/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  148. package/cjs/extensions/forms/hooks/useSnapshot.js +87 -0
  149. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -0
  150. package/cjs/extensions/forms/hooks/useValueProps.js +6 -1
  151. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  152. package/cjs/extensions/forms/types.d.ts +6 -2
  153. package/cjs/extensions/forms/types.js.map +1 -1
  154. package/cjs/extensions/forms/utils/ajv.js +1 -1
  155. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  156. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  157. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  158. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
  159. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  160. package/cjs/shared/Eufemia.d.ts +1 -1
  161. package/cjs/shared/Eufemia.js +2 -2
  162. package/cjs/shared/Eufemia.js.map +1 -1
  163. package/cjs/shared/component-helper.js +1 -1
  164. package/cjs/shared/component-helper.js.map +1 -1
  165. package/cjs/shared/locales/en-GB.js +1 -1
  166. package/cjs/shared/locales/en-GB.js.map +1 -1
  167. package/cjs/style/core/scopes.scss +1 -1
  168. package/cjs/style/dnb-ui-basis.css +1 -1
  169. package/cjs/style/dnb-ui-basis.min.css +1 -1
  170. package/cjs/style/dnb-ui-body.css +1 -1
  171. package/cjs/style/dnb-ui-body.min.css +1 -1
  172. package/cjs/style/dnb-ui-components.css +3 -1
  173. package/cjs/style/dnb-ui-components.min.css +1 -1
  174. package/cjs/style/dnb-ui-core.css +1 -1
  175. package/cjs/style/dnb-ui-core.min.css +1 -1
  176. package/cjs/style/dnb-ui-extensions.css +3 -2
  177. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  178. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  179. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  180. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  181. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  182. package/cjs/style/themes/theme-eiendom/properties.d.ts +1 -0
  183. package/cjs/style/themes/theme-eiendom/properties.js +3 -2
  184. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  185. package/cjs/style/themes/theme-sbanken/properties.d.ts +1 -0
  186. package/cjs/style/themes/theme-sbanken/properties.js +3 -2
  187. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  188. package/cjs/style/themes/theme-sbanken/properties.scss +9 -8
  189. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  190. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  191. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  192. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  193. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  194. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  195. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  196. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  197. package/cjs/style/themes/theme-ui/properties.d.ts +1 -0
  198. package/cjs/style/themes/theme-ui/properties.js +3 -2
  199. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  200. package/cjs/style/themes/theme-ui/ui-theme-components.css +3 -1
  201. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  202. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  203. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  204. package/components/autocomplete/Autocomplete.js +4 -0
  205. package/components/autocomplete/Autocomplete.js.map +1 -1
  206. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  207. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  208. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  209. package/components/badge/Badge.js +44 -37
  210. package/components/badge/Badge.js.map +1 -1
  211. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  212. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  213. package/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  214. package/components/form-status/FormStatus.d.ts +5 -0
  215. package/components/icon/Icon.d.ts +2 -1
  216. package/components/icon/Icon.js.map +1 -1
  217. package/components/logo/Logo.js.map +1 -1
  218. package/components/number-format/NumberUtils.d.ts +14 -0
  219. package/components/number-format/NumberUtils.js +7 -8
  220. package/components/number-format/NumberUtils.js.map +1 -1
  221. package/components/skeleton/style/dnb-skeleton.css +3 -1
  222. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  223. package/components/skeleton/style/dnb-skeleton.scss +4 -2
  224. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  225. package/es/components/autocomplete/Autocomplete.js +4 -0
  226. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  227. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  228. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  229. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  230. package/es/components/badge/Badge.js +43 -36
  231. package/es/components/badge/Badge.js.map +1 -1
  232. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.css +6 -0
  233. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.min.css +1 -1
  234. package/es/components/dialog/style/themes/dnb-dialog-theme-sbanken.scss +7 -0
  235. package/es/components/form-status/FormStatus.d.ts +5 -0
  236. package/es/components/icon/Icon.d.ts +2 -1
  237. package/es/components/icon/Icon.js.map +1 -1
  238. package/es/components/logo/Logo.js.map +1 -1
  239. package/es/components/number-format/NumberUtils.d.ts +14 -0
  240. package/es/components/number-format/NumberUtils.js +7 -8
  241. package/es/components/number-format/NumberUtils.js.map +1 -1
  242. package/es/components/skeleton/style/dnb-skeleton.css +3 -1
  243. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  244. package/es/components/skeleton/style/dnb-skeleton.scss +4 -2
  245. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +21 -2
  246. package/es/extensions/forms/DataContext/Context.d.ts +5 -0
  247. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  248. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  249. package/es/extensions/forms/DataContext/Provider/Provider.js +84 -75
  250. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  251. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  252. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
  253. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  254. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  255. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  256. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  257. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  258. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  259. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  260. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
  261. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  262. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  263. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  264. package/es/extensions/forms/Field/Selection/Selection.js +1 -1
  265. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  266. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  267. package/es/extensions/forms/Form/Isolation/Isolation.js +28 -3
  268. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  269. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  270. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  271. package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  272. package/es/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
  273. package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  274. package/es/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  275. package/es/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
  276. package/es/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  277. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  278. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
  279. package/es/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  280. package/es/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  281. package/es/extensions/forms/Form/Snapshot/index.js +3 -0
  282. package/es/extensions/forms/Form/Snapshot/index.js.map +1 -0
  283. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  284. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  285. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +12 -4
  286. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  287. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  288. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  289. package/es/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  290. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  291. package/es/extensions/forms/Form/data-context/clearData.js +2 -5
  292. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
  293. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  294. package/es/extensions/forms/Form/data-context/useData.js +1 -0
  295. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  296. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  297. package/es/extensions/forms/Form/index.d.ts +2 -0
  298. package/es/extensions/forms/Form/index.js +2 -0
  299. package/es/extensions/forms/Form/index.js.map +1 -1
  300. package/es/extensions/forms/Iterate/Array/Array.js +3 -1
  301. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  302. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
  303. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  304. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  305. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  306. package/es/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  307. package/es/extensions/forms/Iterate/ItemNo/ItemNo.js +22 -0
  308. package/es/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  309. package/es/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  310. package/es/extensions/forms/Iterate/ItemNo/index.js +3 -0
  311. package/es/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  312. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  313. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  314. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  315. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +43 -16
  316. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  317. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  318. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  319. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  320. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  321. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  322. package/es/extensions/forms/Iterate/index.js +1 -0
  323. package/es/extensions/forms/Iterate/index.js.map +1 -1
  324. package/es/extensions/forms/Tools/Log.d.ts +7 -2
  325. package/es/extensions/forms/Tools/Log.js +26 -3
  326. package/es/extensions/forms/Tools/Log.js.map +1 -1
  327. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  328. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  329. package/es/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  330. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  331. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  332. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  333. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  334. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  335. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  336. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  337. package/es/extensions/forms/Wizard/Container/WizardContainer.js +67 -23
  338. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  339. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  340. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  341. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  342. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
  343. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  344. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  345. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
  346. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  347. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  348. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  349. package/es/extensions/forms/Wizard/Step/Step.js +4 -4
  350. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  351. package/es/extensions/forms/Wizard/hooks/useStep.js +4 -4
  352. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  353. package/es/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  354. package/es/extensions/forms/constants/locales/en-GB.js +9 -4
  355. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  356. package/es/extensions/forms/constants/locales/en-US.d.ts +6 -1
  357. package/es/extensions/forms/constants/locales/en-US.js +2 -1
  358. package/es/extensions/forms/constants/locales/en-US.js.map +1 -1
  359. package/es/extensions/forms/constants/locales/index.d.ts +12 -2
  360. package/es/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  361. package/es/extensions/forms/constants/locales/nb-NO.js +9 -4
  362. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  363. package/es/extensions/forms/hooks/useDataContext.d.ts +6 -0
  364. package/es/extensions/forms/hooks/useDataContext.js +24 -0
  365. package/es/extensions/forms/hooks/useDataContext.js.map +1 -0
  366. package/es/extensions/forms/hooks/useExternalValue.js +12 -6
  367. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  368. package/es/extensions/forms/hooks/useFieldProps.js +103 -61
  369. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  370. package/es/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  371. package/es/extensions/forms/hooks/useSnapshot.js +73 -0
  372. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -0
  373. package/es/extensions/forms/hooks/useValueProps.js +6 -1
  374. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  375. package/es/extensions/forms/types.d.ts +6 -2
  376. package/es/extensions/forms/types.js.map +1 -1
  377. package/es/extensions/forms/utils/ajv.js +1 -1
  378. package/es/extensions/forms/utils/ajv.js.map +1 -1
  379. package/es/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  380. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  381. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
  382. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  383. package/es/shared/Eufemia.d.ts +1 -1
  384. package/es/shared/Eufemia.js +2 -2
  385. package/es/shared/Eufemia.js.map +1 -1
  386. package/es/shared/component-helper.js +1 -1
  387. package/es/shared/component-helper.js.map +1 -1
  388. package/es/shared/locales/en-GB.js +1 -1
  389. package/es/shared/locales/en-GB.js.map +1 -1
  390. package/es/style/core/scopes.scss +1 -1
  391. package/es/style/dnb-ui-basis.css +1 -1
  392. package/es/style/dnb-ui-basis.min.css +1 -1
  393. package/es/style/dnb-ui-body.css +1 -1
  394. package/es/style/dnb-ui-body.min.css +1 -1
  395. package/es/style/dnb-ui-components.css +3 -1
  396. package/es/style/dnb-ui-components.min.css +1 -1
  397. package/es/style/dnb-ui-core.css +1 -1
  398. package/es/style/dnb-ui-core.min.css +1 -1
  399. package/es/style/dnb-ui-extensions.css +3 -2
  400. package/es/style/dnb-ui-extensions.min.css +1 -1
  401. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  402. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  403. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  404. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  405. package/es/style/themes/theme-eiendom/properties.d.ts +1 -0
  406. package/es/style/themes/theme-eiendom/properties.js +3 -2
  407. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  408. package/es/style/themes/theme-sbanken/properties.d.ts +1 -0
  409. package/es/style/themes/theme-sbanken/properties.js +3 -2
  410. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  411. package/es/style/themes/theme-sbanken/properties.scss +9 -8
  412. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  413. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  414. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  415. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  416. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  417. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  418. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  419. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  420. package/es/style/themes/theme-ui/properties.d.ts +1 -0
  421. package/es/style/themes/theme-ui/properties.js +3 -2
  422. package/es/style/themes/theme-ui/properties.js.map +1 -1
  423. package/es/style/themes/theme-ui/ui-theme-components.css +3 -1
  424. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  425. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  426. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  427. package/esm/dnb-ui-basis.min.mjs +1 -1
  428. package/esm/dnb-ui-components.min.mjs +1 -1
  429. package/esm/dnb-ui-elements.min.mjs +1 -1
  430. package/esm/dnb-ui-extensions.min.mjs +2 -2
  431. package/esm/dnb-ui-lib.min.mjs +1 -1
  432. package/extensions/forms/DataContext/Context.d.ts +5 -0
  433. package/extensions/forms/DataContext/Context.js.map +1 -1
  434. package/extensions/forms/DataContext/Provider/Provider.d.ts +12 -1
  435. package/extensions/forms/DataContext/Provider/Provider.js +86 -77
  436. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  437. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +6 -1
  438. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +109 -23
  439. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  440. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +5 -0
  441. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  442. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +3 -1
  443. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +28 -16
  444. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  445. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.d.ts +2 -0
  446. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +18 -0
  447. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -0
  448. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -3
  449. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  450. package/extensions/forms/Field/Selection/Selection.js +1 -1
  451. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  452. package/extensions/forms/Form/Isolation/Isolation.d.ts +4 -0
  453. package/extensions/forms/Form/Isolation/Isolation.js +29 -3
  454. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  455. package/extensions/forms/Form/Isolation/IsolationDocs.js +5 -0
  456. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  457. package/extensions/forms/Form/Snapshot/Snapshot.d.ts +12 -0
  458. package/extensions/forms/Form/Snapshot/Snapshot.js +36 -0
  459. package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -0
  460. package/extensions/forms/Form/Snapshot/SnapshotContext.d.ts +12 -0
  461. package/extensions/forms/Form/Snapshot/SnapshotContext.js +6 -0
  462. package/extensions/forms/Form/Snapshot/SnapshotContext.js.map +1 -0
  463. package/extensions/forms/Form/Snapshot/SnapshotDocs.d.ts +3 -0
  464. package/extensions/forms/Form/Snapshot/SnapshotDocs.js +9 -0
  465. package/extensions/forms/Form/Snapshot/SnapshotDocs.js.map +1 -0
  466. package/extensions/forms/Form/Snapshot/index.d.ts +2 -0
  467. package/extensions/forms/Form/Snapshot/index.js +3 -0
  468. package/extensions/forms/Form/Snapshot/index.js.map +1 -0
  469. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +1 -1
  470. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  471. package/extensions/forms/Form/Visibility/Visibility.d.ts +12 -4
  472. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  473. package/extensions/forms/Form/Visibility/VisibilityDocs.js +10 -10
  474. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  475. package/extensions/forms/Form/Visibility/useVisibility.js +26 -14
  476. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  477. package/extensions/forms/Form/data-context/clearData.js +2 -5
  478. package/extensions/forms/Form/data-context/clearData.js.map +1 -1
  479. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  480. package/extensions/forms/Form/data-context/useData.js +1 -0
  481. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  482. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  483. package/extensions/forms/Form/index.d.ts +2 -0
  484. package/extensions/forms/Form/index.js +2 -0
  485. package/extensions/forms/Form/index.js.map +1 -1
  486. package/extensions/forms/Iterate/Array/Array.js +3 -1
  487. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  488. package/extensions/forms/Iterate/Array/ArrayItemArea.js +31 -18
  489. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  490. package/extensions/forms/Iterate/EditContainer/EditContainer.js +5 -6
  491. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  492. package/extensions/forms/Iterate/ItemNo/ItemNo.d.ts +9 -0
  493. package/extensions/forms/Iterate/ItemNo/ItemNo.js +23 -0
  494. package/extensions/forms/Iterate/ItemNo/ItemNo.js.map +1 -0
  495. package/extensions/forms/Iterate/ItemNo/index.d.ts +2 -0
  496. package/extensions/forms/Iterate/ItemNo/index.js +3 -0
  497. package/extensions/forms/Iterate/ItemNo/index.js.map +1 -0
  498. package/extensions/forms/Iterate/IterateItemContext.d.ts +1 -0
  499. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  500. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +18 -2
  501. package/extensions/forms/Iterate/PushContainer/PushContainer.js +44 -18
  502. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  503. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +24 -1
  504. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  505. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +5 -6
  506. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  507. package/extensions/forms/Iterate/index.d.ts +1 -0
  508. package/extensions/forms/Iterate/index.js +1 -0
  509. package/extensions/forms/Iterate/index.js.map +1 -1
  510. package/extensions/forms/Tools/Log.d.ts +7 -2
  511. package/extensions/forms/Tools/Log.js +30 -3
  512. package/extensions/forms/Tools/Log.js.map +1 -1
  513. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  514. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -2
  515. package/extensions/forms/Value/SummaryList/SummaryList.js +3 -1
  516. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  517. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -0
  518. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  519. package/extensions/forms/Value/ValueDocs.js +5 -0
  520. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  521. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  522. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  523. package/extensions/forms/Wizard/Container/WizardContainer.js +78 -31
  524. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  525. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  526. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  527. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +1 -2
  528. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +0 -6
  529. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  530. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +2 -1
  531. package/extensions/forms/Wizard/Container/useStepAnimation.js +12 -7
  532. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -1
  533. package/extensions/forms/Wizard/Context/WizardContext.d.ts +14 -3
  534. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  535. package/extensions/forms/Wizard/Step/Step.js +4 -4
  536. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  537. package/extensions/forms/Wizard/hooks/useStep.js +4 -4
  538. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  539. package/extensions/forms/constants/locales/en-GB.d.ts +6 -1
  540. package/extensions/forms/constants/locales/en-GB.js +9 -4
  541. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  542. package/extensions/forms/constants/locales/en-US.d.ts +6 -1
  543. package/extensions/forms/constants/locales/en-US.js +2 -1
  544. package/extensions/forms/constants/locales/en-US.js.map +1 -1
  545. package/extensions/forms/constants/locales/index.d.ts +12 -2
  546. package/extensions/forms/constants/locales/nb-NO.d.ts +6 -1
  547. package/extensions/forms/constants/locales/nb-NO.js +9 -4
  548. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  549. package/extensions/forms/hooks/useDataContext.d.ts +6 -0
  550. package/extensions/forms/hooks/useDataContext.js +25 -0
  551. package/extensions/forms/hooks/useDataContext.js.map +1 -0
  552. package/extensions/forms/hooks/useExternalValue.js +12 -6
  553. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  554. package/extensions/forms/hooks/useFieldProps.js +103 -61
  555. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  556. package/extensions/forms/hooks/useSnapshot.d.ts +9 -0
  557. package/extensions/forms/hooks/useSnapshot.js +81 -0
  558. package/extensions/forms/hooks/useSnapshot.js.map +1 -0
  559. package/extensions/forms/hooks/useValueProps.js +6 -1
  560. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  561. package/extensions/forms/types.d.ts +6 -2
  562. package/extensions/forms/types.js.map +1 -1
  563. package/extensions/forms/utils/ajv.js +1 -1
  564. package/extensions/forms/utils/ajv.js.map +1 -1
  565. package/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  566. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  567. package/extensions/payment-card/style/dnb-payment-card.css +3 -2
  568. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  569. package/package.json +1 -1
  570. package/shared/Eufemia.d.ts +1 -1
  571. package/shared/Eufemia.js +2 -2
  572. package/shared/Eufemia.js.map +1 -1
  573. package/shared/component-helper.js +1 -1
  574. package/shared/component-helper.js.map +1 -1
  575. package/shared/locales/en-GB.js +1 -1
  576. package/shared/locales/en-GB.js.map +1 -1
  577. package/style/core/scopes.scss +1 -1
  578. package/style/dnb-ui-basis.css +1 -1
  579. package/style/dnb-ui-basis.min.css +1 -1
  580. package/style/dnb-ui-body.css +1 -1
  581. package/style/dnb-ui-body.min.css +1 -1
  582. package/style/dnb-ui-components.css +3 -1
  583. package/style/dnb-ui-components.min.css +1 -1
  584. package/style/dnb-ui-core.css +1 -1
  585. package/style/dnb-ui-core.min.css +1 -1
  586. package/style/dnb-ui-extensions.css +3 -2
  587. package/style/dnb-ui-extensions.min.css +1 -1
  588. package/style/themes/theme-eiendom/eiendom-theme-components.css +3 -1
  589. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  590. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -2
  591. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  592. package/style/themes/theme-eiendom/properties.d.ts +1 -0
  593. package/style/themes/theme-eiendom/properties.js +3 -2
  594. package/style/themes/theme-eiendom/properties.js.map +1 -1
  595. package/style/themes/theme-sbanken/properties.d.ts +1 -0
  596. package/style/themes/theme-sbanken/properties.js +3 -2
  597. package/style/themes/theme-sbanken/properties.js.map +1 -1
  598. package/style/themes/theme-sbanken/properties.scss +9 -8
  599. package/style/themes/theme-sbanken/sbanken-theme-basis.css +20 -4
  600. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +3 -1
  601. package/style/themes/theme-sbanken/sbanken-theme-components.css +11 -3
  602. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  603. package/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -2
  604. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +3 -1
  605. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -2
  606. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  607. package/style/themes/theme-ui/properties.d.ts +1 -0
  608. package/style/themes/theme-ui/properties.js +3 -2
  609. package/style/themes/theme-ui/properties.js.map +1 -1
  610. package/style/themes/theme-ui/ui-theme-components.css +3 -1
  611. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  612. package/style/themes/theme-ui/ui-theme-extensions.css +3 -2
  613. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  614. package/umd/dnb-ui-basis.min.js +1 -1
  615. package/umd/dnb-ui-components.min.js +1 -1
  616. package/umd/dnb-ui-elements.min.js +1 -1
  617. package/umd/dnb-ui-extensions.min.js +3 -3
  618. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayItemArea.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Flex","HeightAnimation","IterateItemContext","ArrayItemAreaContext","FieldBoundaryContext","ArrayItemArea","props","forceUpdate","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","restProps","_objectWithoutProperties","_excluded","localContextRef","hasError","hasSubmitError","current","nextFocusElementRef","isNew","value","containerMode","determineMode","initialContainerMode","switchContainerMode","omitFocusManagement","handleRemove","index","previousContainerMode","openRef","isRemoving","setOpenState","setTimeout","setFocus","state","_localContextRef$curr","modeOptions","_localContextRef$curr2","_localContextRef$curr3","_localContextRef$curr4","elementRef","focus","call","_nextFocusElementRef$","_nextFocusElementRef$2","handleAnimationEnd","_localContextRef$curr5","_localContextRef$curr6","fulfillRemove","handleRemoveItem","Array","from","parentElement","childNodes","at","e","keepItems","createElement","Provider","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemArea.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 IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ArrayItemAreaContext from './ArrayItemAreaContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from './types'\n\nexport type ArrayItemAreaProps = {\n /**\n * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline` or `basic`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ArrayItemAreaProps\n\nfunction ArrayItemArea(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n ...restProps\n } = props\n\n const localContextRef = useRef<IterateItemContextState>()\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n localContextRef.current = useContext(IterateItemContext) || {}\n const nextFocusElementRef = useRef<HTMLElement>()\n const { isNew, value } = localContextRef.current\n if (hasSubmitError || !value) {\n localContextRef.current.containerMode = 'edit'\n }\n if (localContextRef.current.containerMode === 'auto') {\n localContextRef.current.containerMode = 'view'\n }\n\n const determineMode = useCallback(() => {\n const { initialContainerMode, switchContainerMode } =\n localContextRef.current\n if (\n mode === 'edit' &&\n !hasSubmitError &&\n initialContainerMode === 'auto'\n ) {\n // - Set the container mode to \"edit\" if we have an error\n if (hasError && !isNew) {\n switchContainerMode('edit', { omitFocusManagement: true })\n }\n }\n }, [hasError, hasSubmitError, isNew, mode])\n\n useEffect(() => {\n determineMode()\n }, [determineMode])\n\n const { handleRemove, index, previousContainerMode, containerMode } =\n localContextRef.current\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 const setFocus = useCallback(\n (state) => {\n if (\n localContextRef.current.modeOptions?.omitFocusManagement !==\n true &&\n !hasSubmitError &&\n containerMode === mode && // ensure we match the correct mode\n containerMode !== previousContainerMode // ensure we have a new mode\n ) {\n if (state === 'opened') {\n localContextRef.current.elementRef?.current?.focus?.()\n } else if (state === 'closed') {\n nextFocusElementRef.current?.focus?.()\n }\n }\n },\n [containerMode, hasSubmitError, mode, previousContainerMode]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n localContextRef.current.fulfillRemove?.()\n }\n\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n const handleRemoveItem = useCallback(() => {\n try {\n // Because \"previousElementSibling\" did not work in Jest/JSDOM\n nextFocusElementRef.current = Array.from(\n localContextRef.current.elementRef.current.parentElement.childNodes\n ).at(index - 1) as HTMLElement\n } catch (e) {\n //\n }\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, index, setOpenState])\n\n return (\n <ArrayItemAreaContext.Provider value={{ handleRemoveItem }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n hasSubmitError && 'dnb-forms-section-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-section-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ArrayItemAreaContext.Provider>\n )\n}\n\nArrayItemArea._supportsSpacingProps = true\nexport default ArrayItemArea\n"],"mappings":"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"}
1
+ {"version":3,"file":"ArrayItemArea.js","names":["React","useCallback","useContext","useReducer","useRef","classnames","Flex","HeightAnimation","IterateItemContext","ArrayItemAreaContext","FieldBoundaryContext","useLayoutEffect","window","useEffect","ArrayItemArea","props","forceUpdate","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","restProps","_objectWithoutProperties","_excluded","localContextRef","hasError","hasSubmitError","current","nextFocusElementRef","isNew","determineMode","value","initialContainerMode","Object","keys","length","containerMode","modeOptions","omitFocusManagement","editMode","switchContainerMode","preventUpdate","handleRemove","index","previousContainerMode","openRef","isRemoving","setOpenState","setTimeout","setFocus","state","_localContextRef$curr","_localContextRef$curr2","_localContextRef$curr3","_localContextRef$curr4","elementRef","focus","call","_nextFocusElementRef$","_nextFocusElementRef$2","handleAnimationEnd","_localContextRef$curr5","_localContextRef$curr6","fulfillRemove","handleRemoveItem","Array","from","parentElement","childNodes","at","e","keepItems","createElement","Provider","duration","keepInDOM","Stack","_extends","element","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemArea.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ArrayItemAreaContext from './ArrayItemAreaContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from './types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type ArrayItemAreaProps = {\n /**\n * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline` or `basic`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ArrayItemAreaProps\n\nfunction ArrayItemArea(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n ...restProps\n } = props\n\n const localContextRef = useRef<IterateItemContextState>()\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n localContextRef.current = useContext(IterateItemContext) || {}\n const nextFocusElementRef = useRef<HTMLElement>()\n const { isNew } = localContextRef.current\n\n const determineMode = useCallback(() => {\n const { value, initialContainerMode } = localContextRef.current\n if (initialContainerMode === 'auto') {\n // - Set the container mode to \"edit\" if we have an error\n if (\n hasSubmitError ||\n hasError ||\n !value ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n ) {\n return 'edit'\n }\n }\n }, [hasError, hasSubmitError])\n\n if (determineMode() === 'edit') {\n localContextRef.current.containerMode = 'edit'\n if (!localContextRef.current.modeOptions) {\n localContextRef.current.modeOptions = {}\n }\n localContextRef.current.modeOptions.omitFocusManagement = true\n }\n if (localContextRef.current.containerMode === 'auto') {\n localContextRef.current.containerMode = 'view'\n }\n\n useLayoutEffect(() => {\n if (mode === 'edit') {\n const editMode = determineMode()\n if (editMode) {\n const { switchContainerMode } = localContextRef.current\n switchContainerMode?.(editMode, {\n omitFocusManagement: true,\n preventUpdate: true,\n })\n }\n }\n }, [determineMode, mode])\n\n const { handleRemove, index, previousContainerMode, containerMode } =\n localContextRef.current\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 useLayoutEffect(() => {\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 const setFocus = useCallback(\n (state) => {\n if (\n localContextRef.current.modeOptions?.omitFocusManagement !==\n true &&\n !hasSubmitError &&\n containerMode === mode && // ensure we match the correct mode\n containerMode !== previousContainerMode // ensure we have a new mode\n ) {\n if (state === 'opened') {\n localContextRef.current.elementRef?.current?.focus?.()\n } else if (state === 'closed') {\n nextFocusElementRef.current?.focus?.()\n }\n }\n },\n [containerMode, hasSubmitError, mode, previousContainerMode]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n localContextRef.current.fulfillRemove?.()\n }\n\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n const handleRemoveItem = useCallback(() => {\n try {\n // Because \"previousElementSibling\" did not work in Jest/JSDOM\n nextFocusElementRef.current = Array.from(\n localContextRef.current.elementRef.current.parentElement.childNodes\n ).at(index - 1) as HTMLElement\n } catch (e) {\n //\n }\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, index, setOpenState])\n\n return (\n <ArrayItemAreaContext.Provider value={{ handleRemoveItem }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n hasSubmitError && 'dnb-forms-section-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-section-block__inner\"\n {...restProps}\n element=\"section\"\n aria-label={ariaLabel}\n >\n {children}\n </Flex.Stack>\n </HeightAnimation>\n </ArrayItemAreaContext.Provider>\n )\n}\n\nArrayItemArea._supportsSpacingProps = true\nexport default ArrayItemArea\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ import Toolbar from '../Toolbar';
15
15
  import { useSwitchContainerMode } from '../hooks';
16
16
  import DoneButton from './DoneButton';
17
17
  import CancelButton, { useWasNew } from './CancelButton';
18
+ import { replaceItemNo } from '../ItemNo';
18
19
  export default function EditContainer(props) {
19
20
  var _toolbarElement;
20
21
  const {
@@ -57,18 +58,16 @@ export function EditContainerWithoutToolbar(props) {
57
58
  isNew,
58
59
  containerMode
59
60
  });
60
- let itemTitle = wasNew && titleWhenNew ? titleWhenNew : title;
61
- let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle]);
62
- if (ariaLabel.includes('{itemN')) {
63
- itemTitle = ariaLabel = ariaLabel.replace(/\{itemN(r|o)\}/g, String(index + 1));
64
- }
61
+ const itemTitle = useMemo(() => {
62
+ return replaceItemNo(wasNew && titleWhenNew ? titleWhenNew : title, index);
63
+ }, [index, title, titleWhenNew, wasNew]);
65
64
  useSwitchContainerMode({
66
65
  path
67
66
  });
68
67
  return React.createElement(ArrayItemArea, _extends({
69
68
  mode: "edit",
70
69
  className: classnames('dnb-forms-section-edit-block', className),
71
- ariaLabel: ariaLabel
70
+ ariaLabel: convertJsxToString(itemTitle)
72
71
  }, restProps), itemTitle && React.createElement(Lead, {
73
72
  size: "basis"
74
73
  }, itemTitle), children, toolbar);
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Lead","IterateItemContext","ArrayItemArea","Toolbar","useSwitchContainerMode","DoneButton","CancelButton","useWasNew","EditContainer","props","_toolbarElement","toolbar","toolbarVariant","children","rest","_objectWithoutProperties","_excluded","arrayValue","toolbarElement","length","createElement","Fragment","hasToolbar","Children","toArray","some","child","EditContainerWithoutToolbar","_extends","_Toolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","_excluded2","wasNew","itemTitle","ariaLabel","includes","replace","String","mode","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } 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 IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\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 */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n )\n }\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n let itemTitle = wasNew && titleWhenNew ? titleWhenNew : title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemN')) {\n /**\n * {itemNr} is deprecated, and can be removed in v11 in favor of {itemNo}\n * So in v11 we can use '{itemNo}' instead of a regex\n */\n itemTitle = ariaLabel = ariaLabel.replace(\n /\\{itemN(r|o)\\}/g,\n String(index + 1)\n )\n }\n\n useSwitchContainerMode({ path })\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={ariaLabel}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Lead","IterateItemContext","ArrayItemArea","Toolbar","useSwitchContainerMode","DoneButton","CancelButton","useWasNew","replaceItemNo","EditContainer","props","_toolbarElement","toolbar","toolbarVariant","children","rest","_objectWithoutProperties","_excluded","arrayValue","toolbarElement","length","createElement","Fragment","hasToolbar","Children","toArray","some","child","EditContainerWithoutToolbar","_extends","_Toolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","_excluded2","wasNew","itemTitle","mode","ariaLabel","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } 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 IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\nimport { replaceItemNo } from '../ItemNo'\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 */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n )\n }\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n const itemTitle = useMemo(() => {\n return replaceItemNo(\n wasNew && titleWhenNew ? titleWhenNew : title,\n index\n )\n }, [index, title, titleWhenNew, wasNew])\n\n useSwitchContainerMode({ path })\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={convertJsxToString(itemTitle)}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ declare function ItemNo({ children }: {
3
+ children: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ declare namespace ItemNo {
6
+ var _supportsSpacingProps: boolean;
7
+ }
8
+ export declare function replaceItemNo(children: React.ReactNode, index: number): string | React.ReactNode;
9
+ export default ItemNo;
@@ -0,0 +1,22 @@
1
+ import React, { useMemo } from 'react';
2
+ import { useItem } from '../hooks';
3
+ import { convertJsxToString } from '../../../../shared/component-helper';
4
+ function ItemNo({
5
+ children
6
+ }) {
7
+ const {
8
+ index
9
+ } = useItem();
10
+ children = useMemo(() => replaceItemNo(children, index), [children, index]);
11
+ return React.createElement(React.Fragment, null, replaceItemNo(children, index));
12
+ }
13
+ export function replaceItemNo(children, index) {
14
+ const text = typeof children !== 'string' ? convertJsxToString(children) : children;
15
+ if (text.includes('{itemN')) {
16
+ return text.replace(/\{itemN(r|o)\}/g, String(index + 1));
17
+ }
18
+ return children;
19
+ }
20
+ ItemNo._supportsSpacingProps = false;
21
+ export default ItemNo;
22
+ //# sourceMappingURL=ItemNo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemNo.js","names":["React","useMemo","useItem","convertJsxToString","ItemNo","children","index","replaceItemNo","createElement","Fragment","text","includes","replace","String","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ItemNo/ItemNo.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { useItem } from '../hooks'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\nfunction ItemNo({ children }) {\n const { index } = useItem()\n\n children = useMemo(\n () => replaceItemNo(children, index),\n [children, index]\n )\n\n return <>{replaceItemNo(children, index)}</>\n}\n\nexport function replaceItemNo(\n children: React.ReactNode,\n index: number\n): string | React.ReactNode {\n const text =\n typeof children !== 'string' ? convertJsxToString(children) : children\n\n if (text.includes('{itemN')) {\n /**\n * {itemNr} is deprecated, and can be removed in v11 in favor of {itemNo}\n * So in v11 we can use '{itemNo}' instead of a regex\n */\n return text.replace(/\\{itemN(r|o)\\}/g, String(index + 1))\n }\n\n return children\n}\n\nItemNo._supportsSpacingProps = false\nexport default ItemNo\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,OAAO,QAAQ,UAAU;AAClC,SAASC,kBAAkB,QAAQ,qCAAqC;AAExE,SAASC,MAAMA,CAAC;EAAEC;AAAS,CAAC,EAAE;EAC5B,MAAM;IAAEC;EAAM,CAAC,GAAGJ,OAAO,CAAC,CAAC;EAE3BG,QAAQ,GAAGJ,OAAO,CAChB,MAAMM,aAAa,CAACF,QAAQ,EAAEC,KAAK,CAAC,EACpC,CAACD,QAAQ,EAAEC,KAAK,CAClB,CAAC;EAED,OAAON,KAAA,CAAAQ,aAAA,CAAAR,KAAA,CAAAS,QAAA,QAAGF,aAAa,CAACF,QAAQ,EAAEC,KAAK,CAAI,CAAC;AAC9C;AAEA,OAAO,SAASC,aAAaA,CAC3BF,QAAyB,EACzBC,KAAa,EACa;EAC1B,MAAMI,IAAI,GACR,OAAOL,QAAQ,KAAK,QAAQ,GAAGF,kBAAkB,CAACE,QAAQ,CAAC,GAAGA,QAAQ;EAExE,IAAIK,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAK3B,OAAOD,IAAI,CAACE,OAAO,CAAC,iBAAiB,EAAEC,MAAM,CAACP,KAAK,GAAG,CAAC,CAAC,CAAC;EAC3D;EAEA,OAAOD,QAAQ;AACjB;AAEAD,MAAM,CAACU,qBAAqB,GAAG,KAAK;AACpC,eAAeV,MAAM"}
@@ -0,0 +1,2 @@
1
+ export { default } from './ItemNo';
2
+ export * from './ItemNo';
@@ -0,0 +1,3 @@
1
+ export { default } from './ItemNo';
2
+ export * from './ItemNo';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../src/extensions/forms/Iterate/ItemNo/index.ts"],"sourcesContent":["export { default } from './ItemNo'\nexport * from './ItemNo'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,UAAU;AAClC,cAAc,UAAU"}
@@ -3,6 +3,7 @@ import { Path } from '../types';
3
3
  import { ContainerMode } from './Array/types';
4
4
  export type ModeOptions = {
5
5
  omitFocusManagement?: boolean;
6
+ preventUpdate?: boolean;
6
7
  };
7
8
  export interface IterateItemContextState {
8
9
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"IterateItemContext.js","names":["React","IterateItemContext","createContext","undefined"],"sources":["../../../../../src/extensions/forms/Iterate/IterateItemContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../types'\nimport { ContainerMode } from './Array/types'\n\nexport type ModeOptions = {\n omitFocusManagement?: boolean\n}\n\nexport interface IterateItemContextState {\n id?: string\n index?: number\n value?: unknown\n isNew?: boolean\n path?: Path\n arrayValue?: Array<unknown>\n containerMode?: ContainerMode\n previousContainerMode?: ContainerMode\n initialContainerMode?: ContainerMode\n containerRef?: React.RefObject<HTMLDivElement>\n elementRef?: React.RefObject<HTMLDivElement>\n modeOptions?: ModeOptions\n switchContainerMode?: (\n mode: ContainerMode,\n options?: ModeOptions\n ) => void\n handleChange?: (path: Path, value: unknown) => void\n handleRemove?: ({ keepItems }?: { keepItems?: boolean }) => void\n handlePush?: (value: unknown) => void\n restoreOriginalValue?: (value: unknown) => void\n fulfillRemove?: () => void\n}\n\nconst IterateItemContext = React.createContext<\n IterateItemContextState | undefined\n>(undefined)\n\nexport default IterateItemContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAgCzB,MAAMC,kBAAkB,GAAGD,KAAK,CAACE,aAAa,CAE5CC,SAAS,CAAC;AAEZ,eAAeF,kBAAkB"}
1
+ {"version":3,"file":"IterateItemContext.js","names":["React","IterateItemContext","createContext","undefined"],"sources":["../../../../../src/extensions/forms/Iterate/IterateItemContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../types'\nimport { ContainerMode } from './Array/types'\n\nexport type ModeOptions = {\n omitFocusManagement?: boolean\n preventUpdate?: boolean\n}\n\nexport interface IterateItemContextState {\n id?: string\n index?: number\n value?: unknown\n isNew?: boolean\n path?: Path\n arrayValue?: Array<unknown>\n containerMode?: ContainerMode\n previousContainerMode?: ContainerMode\n initialContainerMode?: ContainerMode\n containerRef?: React.RefObject<HTMLDivElement>\n elementRef?: React.RefObject<HTMLDivElement>\n modeOptions?: ModeOptions\n switchContainerMode?: (\n mode: ContainerMode,\n options?: ModeOptions\n ) => void\n handleChange?: (path: Path, value: unknown) => void\n handleRemove?: ({ keepItems }?: { keepItems?: boolean }) => void\n handlePush?: (value: unknown) => void\n restoreOriginalValue?: (value: unknown) => void\n fulfillRemove?: () => void\n}\n\nconst IterateItemContext = React.createContext<\n IterateItemContextState | undefined\n>(undefined)\n\nexport default IterateItemContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAiCzB,MAAMC,kBAAkB,GAAGD,KAAK,CAACE,aAAa,CAE5CC,SAAS,CAAC;AAEZ,eAAeF,kBAAkB"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Path } from '../../types';
2
+ import { OnCommit, Path } from '../../types';
3
3
  import { SpacingProps } from '../../../../shared/types';
4
4
  import { ArrayItemAreaProps } from '../Array/ArrayItemArea';
5
5
  export type Props = {
@@ -21,13 +21,29 @@ export type Props = {
21
21
  */
22
22
  showOpenButtonWhen?: (list: unknown[]) => boolean;
23
23
  /**
24
- * Prefilled data to add to the fields.
24
+ * Prefilled data to add to the fields. The data will be put into this path: "/pushContainerItems/0".
25
25
  */
26
26
  data?: unknown | Record<string, unknown>;
27
+ /**
28
+ * Prefilled data to add to the fields. The data will be put into this path: "/pushContainerItems/0".
29
+ */
30
+ defaultData?: unknown | Record<string, unknown>;
31
+ /**
32
+ * Provide additional data that will be put into the root of the isolated data context (parallel to "/pushContainerItems/0").
33
+ */
34
+ isolatedData?: Record<string, unknown>;
35
+ /**
36
+ * Prevent the form from being submitted when there are fields with errors inside the PushContainer.
37
+ */
38
+ bubbleValidation?: boolean;
27
39
  /**
28
40
  * A custom toolbar to be shown below the container.
29
41
  */
30
42
  toolbar?: React.ReactNode;
43
+ /**
44
+ * Will be called when the user clicks on the "Done" button.
45
+ */
46
+ onCommit?: OnCommit;
31
47
  /**
32
48
  * The container contents.
33
49
  */
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["data", "path", "title", "children", "openButton", "showOpenButtonWhen"],
6
+ const _excluded = ["data", "defaultData", "isolatedData", "bubbleValidation", "path", "title", "children", "openButton", "showOpenButtonWhen", "onCommit"],
7
7
  _excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "cancelHandler", "children"];
8
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -20,14 +20,19 @@ import { Flex, HeightAnimation } from '../../../../components';
20
20
  import { useArrayLimit, useSwitchContainerMode } from '../hooks';
21
21
  import Toolbar from '../Toolbar';
22
22
  import { useTranslation } from '../../hooks';
23
+ import { clearedData } from '../../DataContext/Provider';
23
24
  function PushContainer(props) {
24
25
  const {
25
- data = null,
26
+ data: dataProp,
27
+ defaultData: defaultDataProp,
28
+ isolatedData,
29
+ bubbleValidation,
26
30
  path,
27
31
  title,
28
32
  children,
29
33
  openButton,
30
- showOpenButtonWhen
34
+ showOpenButtonWhen,
35
+ onCommit
31
36
  } = props,
32
37
  rest = _objectWithoutProperties(props, _excluded);
33
38
  const commitHandleRef = useRef();
@@ -61,24 +66,45 @@ function PushContainer(props) {
61
66
  commitHandleRef,
62
67
  switchContainerMode: switchContainerModeRef.current
63
68
  };
69
+ const data = useMemo(() => {
70
+ if (defaultDataProp) {
71
+ return;
72
+ }
73
+ return _objectSpread(_objectSpread({}, isolatedData), {}, {
74
+ pushContainerItems: [dataProp !== null && dataProp !== void 0 ? dataProp : clearedData]
75
+ });
76
+ }, [dataProp, defaultDataProp, isolatedData]);
64
77
  const defaultData = useMemo(() => {
65
- return {
66
- newItems: [data]
67
- };
68
- }, [data]);
78
+ return _objectSpread(_objectSpread({}, !dataProp ? isolatedData : null), {}, {
79
+ pushContainerItems: [defaultDataProp !== null && defaultDataProp !== void 0 ? defaultDataProp : clearedData]
80
+ });
81
+ }, [dataProp, defaultDataProp, isolatedData]);
82
+ const emptyData = useCallback(data => {
83
+ var _data$pushContainerIt;
84
+ const firstItem = (_data$pushContainerIt = data.pushContainerItems) === null || _data$pushContainerIt === void 0 ? void 0 : _data$pushContainerIt[0];
85
+ if (firstItem === null || typeof firstItem !== 'object') {
86
+ return _objectSpread(_objectSpread({}, isolatedData), {}, {
87
+ pushContainerItems: [null]
88
+ });
89
+ }
90
+ return defaultData;
91
+ }, [defaultData, isolatedData]);
69
92
  return React.createElement(Isolation, {
93
+ data: data,
70
94
  defaultData: defaultData,
71
- emptyData: defaultData,
95
+ emptyData: emptyData,
96
+ bubbleValidation: bubbleValidation,
72
97
  commitHandleRef: commitHandleRef,
73
98
  transformOnCommit: ({
74
- newItems
99
+ pushContainerItems
75
100
  }) => {
76
- return moveValueToPath(path, [...entries, ...newItems]);
101
+ return moveValueToPath(path, [...entries, ...pushContainerItems]);
77
102
  },
78
- onCommit: (data, {
79
- clearData,
80
- preventCommit
81
- }) => {
103
+ onCommit: (data, options) => {
104
+ const {
105
+ clearData,
106
+ preventCommit
107
+ } = options;
82
108
  if (hasReachedLimit) {
83
109
  preventCommit();
84
110
  setShowStatus(true);
@@ -88,11 +114,12 @@ function PushContainer(props) {
88
114
  (_switchContainerModeR = switchContainerModeRef.current) === null || _switchContainerModeR === void 0 ? void 0 : _switchContainerModeR.call(switchContainerModeRef, 'view');
89
115
  clearData();
90
116
  }
117
+ onCommit === null || onCommit === void 0 ? void 0 : onCommit(data, options);
91
118
  }
92
119
  }, React.createElement(PushContainerContext.Provider, {
93
120
  value: newItemContextProps
94
121
  }, React.createElement(IterateArray, {
95
- path: "/newItems",
122
+ path: "/pushContainerItems",
96
123
  containerMode: showOpenButton ? 'view' : 'edit'
97
124
  }, React.createElement(NewContainer, _extends({
98
125
  title: title,
@@ -1 +1 @@
1
- {"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useMemo","useRef","Isolation","PushContainerContext","IterateItemContext","DataContext","useDataValue","EditContainer","CancelButton","DoneButton","IterateArray","OpenButton","Flex","HeightAnimation","useArrayLimit","useSwitchContainerMode","Toolbar","useTranslation","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","_objectWithoutProperties","_excluded","commitHandleRef","switchContainerModeRef","value","entries","moveValueToPath","setNextContainerMode","hasReachedLimit","setShowStatus","cancelHandler","showOpenButton","newItemContextProps","switchContainerMode","current","defaultData","newItems","createElement","emptyData","transformOnCommit","onCommit","clearData","preventCommit","_switchContainerModeR","call","Provider","containerMode","NewContainer","_extends","_ref","_DoneButton","_CancelButton","_excluded2","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","_objectSpread","Horizontal","gap","text","onClick","Fragment","open","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields.\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = null,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n const { hasReachedLimit, setShowStatus } = useArrayLimit({\n path,\n })\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const defaultData = useMemo(() => {\n return { newItems: [data] }\n }, [data])\n\n return (\n <Isolation\n defaultData={defaultData}\n emptyData={defaultData}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItems }) => {\n return moveValueToPath(path, [...entries, ...newItems])\n }}\n onCommit={(data, { clearData, preventCommit }) => {\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/newItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n cancelHandler,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"PushContainer.js","names":["React","useCallback","useContext","useMemo","useRef","Isolation","PushContainerContext","IterateItemContext","DataContext","useDataValue","EditContainer","CancelButton","DoneButton","IterateArray","OpenButton","Flex","HeightAnimation","useArrayLimit","useSwitchContainerMode","Toolbar","useTranslation","clearedData","PushContainer","props","data","dataProp","defaultData","defaultDataProp","isolatedData","bubbleValidation","path","title","children","openButton","showOpenButtonWhen","onCommit","rest","_objectWithoutProperties","_excluded","commitHandleRef","switchContainerModeRef","value","entries","moveValueToPath","setNextContainerMode","hasReachedLimit","setShowStatus","cancelHandler","showOpenButton","newItemContextProps","switchContainerMode","current","_objectSpread","pushContainerItems","emptyData","_data$pushContainerIt","firstItem","createElement","transformOnCommit","options","clearData","preventCommit","_switchContainerModeR","call","Provider","containerMode","NewContainer","_extends","_ref","_DoneButton","_CancelButton","_excluded2","createButton","IteratePushContainer","restoreOriginalValue","toolbar","Consumer","context","Horizontal","gap","text","onClick","Fragment","open","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { OnCommit, Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport { clearedData } from '../../DataContext/Provider'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * Prefilled data to add to the fields. The data will be put into this path: \"/pushContainerItems/0\".\n */\n defaultData?: unknown | Record<string, unknown>\n\n /**\n * Provide additional data that will be put into the root of the isolated data context (parallel to \"/pushContainerItems/0\").\n */\n isolatedData?: Record<string, unknown>\n\n /**\n * Prevent the form from being submitted when there are fields with errors inside the PushContainer.\n */\n bubbleValidation?: boolean\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * Will be called when the user clicks on the \"Done\" button.\n */\n onCommit?: OnCommit\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data: dataProp,\n defaultData: defaultDataProp,\n isolatedData,\n bubbleValidation,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n onCommit,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n const { hasReachedLimit, setShowStatus } = useArrayLimit({\n path,\n })\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const data = useMemo(() => {\n if (defaultDataProp) {\n return // don't return a fallback, because we want to use the defaultData\n }\n return {\n ...isolatedData,\n pushContainerItems: [dataProp ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const defaultData = useMemo(() => {\n return {\n ...(!dataProp ? isolatedData : null),\n pushContainerItems: [defaultDataProp ?? clearedData],\n }\n }, [dataProp, defaultDataProp, isolatedData])\n\n const emptyData = useCallback(\n (data: { pushContainerItems: unknown[] }) => {\n const firstItem = data.pushContainerItems?.[0]\n if (firstItem === null || typeof firstItem !== 'object') {\n return {\n ...isolatedData,\n pushContainerItems: [null],\n }\n }\n return defaultData\n },\n [defaultData, isolatedData]\n )\n\n return (\n <Isolation\n data={data}\n defaultData={defaultData}\n emptyData={emptyData}\n bubbleValidation={bubbleValidation}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ pushContainerItems }) => {\n return moveValueToPath(path, [...entries, ...pushContainerItems])\n }}\n onCommit={(data, options) => {\n const { clearData, preventCommit } = options\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n onCommit?.(data, options)\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/pushContainerItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n cancelHandler,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { IsolationEvents } from '../../Form/Isolation/IsolationDocs';
1
2
  export const PushContainerProperties = {
2
3
  path: {
3
4
  doc: 'The path to the array to add the new item to.',
@@ -9,6 +10,26 @@ export const PushContainerProperties = {
9
10
  type: 'React.Node',
10
11
  status: 'optional'
11
12
  },
13
+ data: {
14
+ doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',
15
+ type: ['object', 'array'],
16
+ status: 'optional'
17
+ },
18
+ defaultData: {
19
+ doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`',
20
+ type: ['object', 'array'],
21
+ status: 'optional'
22
+ },
23
+ isolatedData: {
24
+ doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',
25
+ type: 'object',
26
+ status: 'optional'
27
+ },
28
+ bubbleValidation: {
29
+ doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',
30
+ type: 'boolean',
31
+ status: 'optional'
32
+ },
12
33
  openButton: {
13
34
  doc: 'The button to open container.',
14
35
  type: 'React.Node',
@@ -40,5 +61,7 @@ export const PushContainerProperties = {
40
61
  status: 'optional'
41
62
  }
42
63
  };
43
- export const PushContainerEvents = {};
64
+ export const PushContainerEvents = {
65
+ onCommit: IsolationEvents.onCommit
66
+ };
44
67
  //# sourceMappingURL=PushContainerDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PushContainerDocs.js","names":["PushContainerProperties","path","doc","type","status","title","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,kBAAkB,EAAE;IAClBL,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,OAAO,EAAE;IACPP,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMO,mBAAyC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","title","data","defaultData","isolatedData","bubbleValidation","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`',\n type: ['object', 'array'],\n status: 'optional',\n },\n isolatedData: {\n doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',\n type: 'object',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',\n type: 'boolean',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {\n onCommit: IsolationEvents.onCommit,\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oCAAoC;AAEpE,OAAO,MAAMC,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,YAAY,EAAE;IACZN,GAAG,EAAE,4HAA4H;IACjIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,gBAAgB,EAAE;IAChBP,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,UAAU,EAAE;IACVR,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDO,kBAAkB,EAAE;IAClBT,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDQ,OAAO,EAAE;IACPV,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRZ,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMW,mBAAyC,GAAG;EACvDC,QAAQ,EAAEjB,eAAe,CAACiB;AAC5B,CAAC"}
@@ -14,6 +14,7 @@ import IterateItemContext from '../IterateItemContext';
14
14
  import Toolbar from '../Toolbar';
15
15
  import EditButton from './EditButton';
16
16
  import RemoveButton from './RemoveButton';
17
+ import { replaceItemNo } from '../ItemNo';
17
18
  function ViewContainer(props) {
18
19
  var _toolbarElement;
19
20
  const _ref = props || {},
@@ -29,11 +30,9 @@ function ViewContainer(props) {
29
30
  index,
30
31
  arrayValue
31
32
  } = useContext(IterateItemContext);
32
- let itemTitle = title;
33
- let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle]);
34
- if (ariaLabel.includes('{itemN')) {
35
- itemTitle = ariaLabel = ariaLabel.replace(/\{itemN(r|o)\}/g, String(index + 1));
36
- }
33
+ const itemTitle = useMemo(() => {
34
+ return replaceItemNo(title, index);
35
+ }, [index, title]);
37
36
  let toolbarElement = toolbar;
38
37
  if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {
39
38
  toolbarElement = _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(EditButton, null)));
@@ -43,7 +42,7 @@ function ViewContainer(props) {
43
42
  });
44
43
  return React.createElement(ArrayItemArea, _extends({
45
44
  mode: "view",
46
- ariaLabel: ariaLabel,
45
+ ariaLabel: convertJsxToString(itemTitle),
47
46
  className: classnames('dnb-forms-section-view-block', className)
48
47
  }, restProps), React.createElement(Flex.Stack, null, itemTitle && React.createElement(Lead, {
49
48
  size: "basis"
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Flex","Lead","ArrayItemArea","IterateItemContext","Toolbar","EditButton","RemoveButton","ViewContainer","props","_toolbarElement","_ref","children","className","title","toolbar","toolbarVariant","restProps","_objectWithoutProperties","_excluded","index","arrayValue","itemTitle","ariaLabel","includes","replace","String","toolbarElement","length","_Toolbar","createElement","hasToolbar","Children","toArray","some","child","_extends","mode","Stack","size","_Toolbar2","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport EditButton from './EditButton'\nimport RemoveButton from './RemoveButton'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nfunction ViewContainer(props: AllProps) {\n const {\n children,\n className,\n title,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n const { index, arrayValue } = useContext(IterateItemContext)\n\n let itemTitle = title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemN')) {\n /**\n * {itemNr} is deprecated, and can be removed in v11 in favor of {itemNo}\n * So in v11 we can use '{itemNo}' instead of a regex\n */\n itemTitle = ariaLabel = ariaLabel.replace(\n /\\{itemN(r|o)\\}/g,\n String(index + 1)\n )\n }\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = (\n <Toolbar>\n <EditButton />\n </Toolbar>\n )\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <ArrayItemArea\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <EditButton />\n <RemoveButton />\n </Toolbar>\n )}\n </Flex.Stack>\n </ArrayItemArea>\n )\n}\n\nViewContainer.EditButton = EditButton\nViewContainer.RemoveButton = RemoveButton\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,aAAa,MAA8B,wBAAwB;AAC1E,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAmBzC,SAASC,aAAaA,CAACC,KAAe,EAAE;EAAA,IAAAC,eAAA;EACtC,MAAAC,IAAA,GAOIF,KAAK,IAAI,CAAC,CAAC;IAPT;MACJG,QAAQ;MACRC,SAAS;MACTC,KAAK;MACLC,OAAO;MACPC;IAEF,CAAC,GAAAL,IAAA;IADIM,SAAS,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAEd,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGxB,UAAU,CAACO,kBAAkB,CAAC;EAE5D,IAAIkB,SAAS,GAAGR,KAAK;EACrB,IAAIS,SAAS,GAAGzB,OAAO,CAAC,MAAME,kBAAkB,CAACsB,SAAS,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACzE,IAAIC,SAAS,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAKhCF,SAAS,GAAGC,SAAS,GAAGA,SAAS,CAACE,OAAO,CACvC,iBAAiB,EACjBC,MAAM,CAACN,KAAK,GAAG,CAAC,CAClB,CAAC;EACH;EAEA,IAAIO,cAAc,GAAGZ,OAAO;EAC5B,IAAIC,cAAc,KAAK,gBAAgB,IAAIK,UAAU,CAACO,MAAM,IAAI,CAAC,EAAE;IACjED,cAAc,GAAAE,QAAA,KAAAA,QAAA,GACZjC,KAAA,CAAAkC,aAAA,CAACzB,OAAO,QACNT,KAAA,CAAAkC,aAAA,CAACxB,UAAU,MAAE,CACN,CAAC,CACX;EACH;EAEA,MAAMyB,UAAU,GACd,CAACJ,cAAc,IACf/B,KAAK,CAACoC,QAAQ,CAACC,OAAO,CAACrB,QAAQ,CAAC,CAACsB,IAAI,CAAEC,KAAK,IAAK;IAC/C,OAAO,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,MAAM,CAAC,MAAK9B,OAAO;EACpC,CAAC,CAAC;EAEJ,OACET,KAAA,CAAAkC,aAAA,CAAC3B,aAAa,EAAAiC,QAAA;IACZC,IAAI,EAAC,MAAM;IACXd,SAAS,EAAEA,SAAU;IACrBV,SAAS,EAAEd,UAAU,CAAC,8BAA8B,EAAEc,SAAS;EAAE,GAC7DI,SAAS,GAEbrB,KAAA,CAAAkC,aAAA,CAAC7B,IAAI,CAACqC,KAAK,QACRhB,SAAS,IAAI1B,KAAA,CAAAkC,aAAA,CAAC5B,IAAI;IAACqC,IAAI,EAAC;EAAO,GAAEjB,SAAgB,CAAC,EAClDV,QAAQ,EACRmB,UAAU,GACP,IAAI,IAAArB,eAAA,GACJiB,cAAc,cAAAjB,eAAA,cAAAA,eAAA,GAAA8B,SAAA,KAAAA,SAAA,GACZ5C,KAAA,CAAAkC,aAAA,CAACzB,OAAO,QACNT,KAAA,CAAAkC,aAAA,CAACxB,UAAU,MAAE,CAAC,EACdV,KAAA,CAAAkC,aAAA,CAACvB,YAAY,MAAE,CACR,CAAC,CAEN,CACC,CAAC;AAEpB;AAEAC,aAAa,CAACF,UAAU,GAAGA,UAAU;AACrCE,aAAa,CAACD,YAAY,GAAGA,YAAY;AAEzCC,aAAa,CAACiC,qBAAqB,GAAG,IAAI;AAC1C,eAAejC,aAAa"}
1
+ {"version":3,"file":"ViewContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Flex","Lead","ArrayItemArea","IterateItemContext","Toolbar","EditButton","RemoveButton","replaceItemNo","ViewContainer","props","_toolbarElement","_ref","children","className","title","toolbar","toolbarVariant","restProps","_objectWithoutProperties","_excluded","index","arrayValue","itemTitle","toolbarElement","length","_Toolbar","createElement","hasToolbar","Children","toArray","some","child","_extends","mode","ariaLabel","Stack","size","_Toolbar2","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport EditButton from './EditButton'\nimport RemoveButton from './RemoveButton'\nimport { replaceItemNo } from '../ItemNo'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nfunction ViewContainer(props: AllProps) {\n const {\n children,\n className,\n title,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n const { index, arrayValue } = useContext(IterateItemContext)\n const itemTitle = useMemo(() => {\n return replaceItemNo(title, index)\n }, [index, title])\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = (\n <Toolbar>\n <EditButton />\n </Toolbar>\n )\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <ArrayItemArea\n mode=\"view\"\n ariaLabel={convertJsxToString(itemTitle)}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <EditButton />\n <RemoveButton />\n </Toolbar>\n )}\n </Flex.Stack>\n </ArrayItemArea>\n )\n}\n\nViewContainer.EditButton = EditButton\nViewContainer.RemoveButton = RemoveButton\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,aAAa,MAA8B,wBAAwB;AAC1E,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,aAAa,QAAQ,WAAW;AAmBzC,SAASC,aAAaA,CAACC,KAAe,EAAE;EAAA,IAAAC,eAAA;EACtC,MAAAC,IAAA,GAOIF,KAAK,IAAI,CAAC,CAAC;IAPT;MACJG,QAAQ;MACRC,SAAS;MACTC,KAAK;MACLC,OAAO;MACPC;IAEF,CAAC,GAAAL,IAAA;IADIM,SAAS,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAEd,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGzB,UAAU,CAACO,kBAAkB,CAAC;EAC5D,MAAMmB,SAAS,GAAGzB,OAAO,CAAC,MAAM;IAC9B,OAAOU,aAAa,CAACO,KAAK,EAAEM,KAAK,CAAC;EACpC,CAAC,EAAE,CAACA,KAAK,EAAEN,KAAK,CAAC,CAAC;EAElB,IAAIS,cAAc,GAAGR,OAAO;EAC5B,IAAIC,cAAc,KAAK,gBAAgB,IAAIK,UAAU,CAACG,MAAM,IAAI,CAAC,EAAE;IACjED,cAAc,GAAAE,QAAA,KAAAA,QAAA,GACZ9B,KAAA,CAAA+B,aAAA,CAACtB,OAAO,QACNT,KAAA,CAAA+B,aAAA,CAACrB,UAAU,MAAE,CACN,CAAC,CACX;EACH;EAEA,MAAMsB,UAAU,GACd,CAACJ,cAAc,IACf5B,KAAK,CAACiC,QAAQ,CAACC,OAAO,CAACjB,QAAQ,CAAC,CAACkB,IAAI,CAAEC,KAAK,IAAK;IAC/C,OAAO,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,MAAM,CAAC,MAAK3B,OAAO;EACpC,CAAC,CAAC;EAEJ,OACET,KAAA,CAAA+B,aAAA,CAACxB,aAAa,EAAA8B,QAAA;IACZC,IAAI,EAAC,MAAM;IACXC,SAAS,EAAEnC,kBAAkB,CAACuB,SAAS,CAAE;IACzCT,SAAS,EAAEf,UAAU,CAAC,8BAA8B,EAAEe,SAAS;EAAE,GAC7DI,SAAS,GAEbtB,KAAA,CAAA+B,aAAA,CAAC1B,IAAI,CAACmC,KAAK,QACRb,SAAS,IAAI3B,KAAA,CAAA+B,aAAA,CAACzB,IAAI;IAACmC,IAAI,EAAC;EAAO,GAAEd,SAAgB,CAAC,EAClDV,QAAQ,EACRe,UAAU,GACP,IAAI,IAAAjB,eAAA,GACJa,cAAc,cAAAb,eAAA,cAAAA,eAAA,GAAA2B,SAAA,KAAAA,SAAA,GACZ1C,KAAA,CAAA+B,aAAA,CAACtB,OAAO,QACNT,KAAA,CAAA+B,aAAA,CAACrB,UAAU,MAAE,CAAC,EACdV,KAAA,CAAA+B,aAAA,CAACpB,YAAY,MAAE,CACR,CAAC,CAEN,CACC,CAAC;AAEpB;AAEAE,aAAa,CAACH,UAAU,GAAGA,UAAU;AACrCG,aAAa,CAACF,YAAY,GAAGA,YAAY;AAEzCE,aAAa,CAAC8B,qBAAqB,GAAG,IAAI;AAC1C,eAAe9B,aAAa"}
@@ -8,6 +8,7 @@ export { default as EditContainer } from './EditContainer';
8
8
  export { default as ViewContainer } from './ViewContainer';
9
9
  export { default as AnimatedContainer } from './AnimatedContainer';
10
10
  export { default as Toolbar } from './Toolbar';
11
+ export { default as ItemNo } from './ItemNo';
11
12
  export { useCount, count, Count } from './Count';
12
13
  export { default as useItem } from './hooks/useItem';
13
14
  export { default as IterateItemContext } from './IterateItemContext';
@@ -8,6 +8,7 @@ export { default as EditContainer } from './EditContainer';
8
8
  export { default as ViewContainer } from './ViewContainer';
9
9
  export { default as AnimatedContainer } from './AnimatedContainer';
10
10
  export { default as Toolbar } from './Toolbar';
11
+ export { default as ItemNo } from './ItemNo';
11
12
  export { useCount, count, Count } from './Count';
12
13
  export { default as useItem } from './hooks/useItem';
13
14
  export { default as IterateItemContext } from './IterateItemContext';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PushButton","RemoveButton","default","Array","PushContainer","EditContainer","ViewContainer","AnimatedContainer","Toolbar","useCount","count","Count","useItem","IterateItemContext","ArrayPushButton","ArrayRemoveElementButton"],"sources":["../../../../../src/extensions/forms/Iterate/index.ts"],"sourcesContent":["import PushButton from './PushButton'\nimport RemoveButton from './RemoveButton'\n\nexport { default as Array } from './Array'\nexport { default as PushButton } from './PushButton'\nexport { default as PushContainer } from './PushContainer'\nexport { default as RemoveButton } from './RemoveButton'\nexport { default as EditContainer } from './EditContainer'\nexport { default as ViewContainer } from './ViewContainer'\nexport { default as AnimatedContainer } from './AnimatedContainer'\nexport { default as Toolbar } from './Toolbar'\nexport { useCount, count, Count } from './Count'\nexport { default as useItem } from './hooks/useItem'\nexport { default as IterateItemContext } from './IterateItemContext'\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"PushButton\" instead\n */\nexport const ArrayPushButton = PushButton\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"RemoveButton\" instead\n */\nexport const ArrayRemoveElementButton = RemoveButton\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,SAASC,OAAO,IAAIC,KAAK,QAAQ,SAAS;AAC1C,SAASD,OAAO,IAAIF,UAAU,QAAQ,cAAc;AACpD,SAASE,OAAO,IAAIE,aAAa,QAAQ,iBAAiB;AAC1D,SAASF,OAAO,IAAID,YAAY,QAAQ,gBAAgB;AACxD,SAASC,OAAO,IAAIG,aAAa,QAAQ,iBAAiB;AAC1D,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB;AAC1D,SAASJ,OAAO,IAAIK,iBAAiB,QAAQ,qBAAqB;AAClE,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,QAAQ,SAAS;AAChD,SAAST,OAAO,IAAIU,OAAO,QAAQ,iBAAiB;AACpD,SAASV,OAAO,IAAIW,kBAAkB,QAAQ,sBAAsB;AAOpE,OAAO,MAAMC,eAAe,GAAGd,UAAU;AAOzC,OAAO,MAAMe,wBAAwB,GAAGd,YAAY"}
1
+ {"version":3,"file":"index.js","names":["PushButton","RemoveButton","default","Array","PushContainer","EditContainer","ViewContainer","AnimatedContainer","Toolbar","ItemNo","useCount","count","Count","useItem","IterateItemContext","ArrayPushButton","ArrayRemoveElementButton"],"sources":["../../../../../src/extensions/forms/Iterate/index.ts"],"sourcesContent":["import PushButton from './PushButton'\nimport RemoveButton from './RemoveButton'\n\nexport { default as Array } from './Array'\nexport { default as PushButton } from './PushButton'\nexport { default as PushContainer } from './PushContainer'\nexport { default as RemoveButton } from './RemoveButton'\nexport { default as EditContainer } from './EditContainer'\nexport { default as ViewContainer } from './ViewContainer'\nexport { default as AnimatedContainer } from './AnimatedContainer'\nexport { default as Toolbar } from './Toolbar'\nexport { default as ItemNo } from './ItemNo'\nexport { useCount, count, Count } from './Count'\nexport { default as useItem } from './hooks/useItem'\nexport { default as IterateItemContext } from './IterateItemContext'\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"PushButton\" instead\n */\nexport const ArrayPushButton = PushButton\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"RemoveButton\" instead\n */\nexport const ArrayRemoveElementButton = RemoveButton\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,SAASC,OAAO,IAAIC,KAAK,QAAQ,SAAS;AAC1C,SAASD,OAAO,IAAIF,UAAU,QAAQ,cAAc;AACpD,SAASE,OAAO,IAAIE,aAAa,QAAQ,iBAAiB;AAC1D,SAASF,OAAO,IAAID,YAAY,QAAQ,gBAAgB;AACxD,SAASC,OAAO,IAAIG,aAAa,QAAQ,iBAAiB;AAC1D,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB;AAC1D,SAASJ,OAAO,IAAIK,iBAAiB,QAAQ,qBAAqB;AAClE,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASN,OAAO,IAAIO,MAAM,QAAQ,UAAU;AAC5C,SAASC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,QAAQ,SAAS;AAChD,SAASV,OAAO,IAAIW,OAAO,QAAQ,iBAAiB;AACpD,SAASX,OAAO,IAAIY,kBAAkB,QAAQ,sBAAsB;AAOpE,OAAO,MAAMC,eAAe,GAAGf,UAAU;AAOzC,OAAO,MAAMgB,wBAAwB,GAAGf,YAAY"}
@@ -1,5 +1,10 @@
1
- import { SectionProps } from '../../../components/Section';
2
- declare function Log(props: SectionProps): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ import { SectionAllProps } from '../../../components/Section';
3
+ declare function Log({ placeholder, label, data: logData, ...props }: Omit<SectionAllProps, 'data' | 'label'> & {
4
+ data?: unknown;
5
+ label?: React.ReactNode;
6
+ placeholder?: React.ReactNode;
7
+ }): import("react/jsx-runtime").JSX.Element;
3
8
  declare namespace Log {
4
9
  var _supportsSpacingProps: boolean;
5
10
  }