@dnb/eufemia 10.44.0 → 10.46.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 (830) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/CopyOnClick.d.ts +12 -0
  3. package/cjs/components/CopyOnClick.js +24 -0
  4. package/cjs/components/CopyOnClick.js.map +1 -0
  5. package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
  6. package/cjs/components/copy-on-click/CopyOnClick.d.ts +9 -0
  7. package/cjs/components/copy-on-click/CopyOnClick.js +72 -0
  8. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -0
  9. package/cjs/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  10. package/cjs/components/copy-on-click/CopyOnClickDocs.js +25 -0
  11. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  12. package/cjs/components/copy-on-click/index.d.ts +7 -0
  13. package/cjs/components/copy-on-click/index.js +24 -0
  14. package/cjs/components/copy-on-click/index.js.map +1 -0
  15. package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  16. package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  17. package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  18. package/cjs/components/copy-on-click/style/index.d.ts +5 -0
  19. package/cjs/components/copy-on-click/style/index.js +4 -0
  20. package/cjs/components/copy-on-click/style/index.js.map +1 -0
  21. package/cjs/components/copy-on-click/style.d.ts +5 -0
  22. package/cjs/components/copy-on-click/style.js +4 -0
  23. package/cjs/components/copy-on-click/style.js.map +1 -0
  24. package/cjs/components/copy-on-click/types.d.ts +19 -0
  25. package/cjs/components/copy-on-click/types.js +1 -0
  26. package/cjs/components/copy-on-click/types.js.map +1 -0
  27. package/cjs/components/index.d.ts +2 -1
  28. package/cjs/components/index.js +7 -0
  29. package/cjs/components/index.js.map +1 -1
  30. package/cjs/components/lib.d.ts +6 -1
  31. package/cjs/components/lib.js +8 -0
  32. package/cjs/components/lib.js.map +1 -1
  33. package/cjs/components/pagination/Pagination.d.ts +27 -1
  34. package/cjs/components/pagination/Pagination.js +3 -1
  35. package/cjs/components/pagination/Pagination.js.map +1 -1
  36. package/cjs/components/pagination/PaginationInfinity.js +20 -8
  37. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  38. package/cjs/components/radio/style/dnb-radio.scss +1 -1
  39. package/cjs/components/table/TableStickyHeader.js.map +1 -1
  40. package/cjs/components/upload/Upload.js +2 -1
  41. package/cjs/components/upload/Upload.js.map +1 -1
  42. package/cjs/components/upload/UploadDocs.d.ts +1 -0
  43. package/cjs/components/upload/UploadDocs.js +17 -4
  44. package/cjs/components/upload/UploadDocs.js.map +1 -1
  45. package/cjs/components/upload/UploadInfo.js +57 -5
  46. package/cjs/components/upload/UploadInfo.js.map +1 -1
  47. package/cjs/components/upload/UploadVerify.d.ts +4 -2
  48. package/cjs/components/upload/UploadVerify.js +32 -5
  49. package/cjs/components/upload/UploadVerify.js.map +1 -1
  50. package/cjs/components/upload/style/dnb-upload.css +15 -0
  51. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  52. package/cjs/components/upload/style/dnb-upload.scss +17 -0
  53. package/cjs/components/upload/types.d.ts +7 -1
  54. package/cjs/components/upload/types.js.map +1 -1
  55. package/cjs/extensions/forms/DataContext/Context.d.ts +10 -5
  56. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  57. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  58. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  59. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +8 -0
  60. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  61. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  62. package/cjs/extensions/forms/DataContext/Provider/Provider.js +48 -26
  63. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  64. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  65. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  66. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
  67. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +38 -24
  68. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  69. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  70. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  71. package/cjs/extensions/forms/Field/Email/Email.js +1 -1
  72. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  73. package/cjs/extensions/forms/Field/Name/Name.js +2 -2
  74. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  75. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +22 -3
  76. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  77. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  78. package/cjs/extensions/forms/Field/Number/Number.js +33 -31
  79. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  80. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  81. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +11 -3
  82. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  83. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +4 -1
  84. package/cjs/extensions/forms/Field/Selection/Selection.js +28 -20
  85. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  86. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  87. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  88. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  89. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  90. package/cjs/extensions/forms/Form/Element/Element.js +11 -9
  91. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  93. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -3
  94. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  95. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  96. package/cjs/extensions/forms/Form/Isolation/Isolation.js +25 -7
  97. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  98. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  99. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  101. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  102. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -13
  103. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  104. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  105. package/cjs/extensions/forms/Form/data-context/useData.js +9 -7
  106. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  108. package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  109. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  110. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/Array/Array.js +7 -5
  112. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  114. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +25 -19
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  117. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  119. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  120. package/cjs/extensions/forms/Iterate/{IterateElementContext.d.ts → IterateItemContext.d.ts} +3 -3
  121. package/cjs/extensions/forms/Iterate/{IterateElementContext.js → IterateItemContext.js} +3 -3
  122. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  123. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  124. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  125. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  126. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  127. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  128. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +42 -0
  129. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  130. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  131. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +95 -0
  132. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  133. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  134. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js +12 -0
  135. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  136. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  137. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +42 -0
  138. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  139. package/cjs/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Iterate/PushContainer/index.js +27 -0
  141. package/cjs/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  142. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  143. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  145. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +13 -5
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  152. package/cjs/extensions/forms/Iterate/hooks/useItem.js +15 -0
  153. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  154. package/cjs/extensions/forms/Iterate/index.d.ts +3 -1
  155. package/cjs/extensions/forms/Iterate/index.js +17 -3
  156. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  157. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  158. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +81 -0
  159. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  160. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  161. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +15 -0
  162. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  163. package/cjs/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  164. package/cjs/extensions/forms/Value/ArraySelection/index.js +27 -0
  165. package/cjs/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  166. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  167. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +54 -0
  168. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  169. package/cjs/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  170. package/cjs/extensions/forms/Value/SelectCountry/index.js +27 -0
  171. package/cjs/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  172. package/cjs/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  173. package/cjs/extensions/forms/Value/Selection/Selection.js +58 -0
  174. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -0
  175. package/cjs/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  176. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +15 -0
  177. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  178. package/cjs/extensions/forms/Value/Selection/index.d.ts +2 -0
  179. package/cjs/extensions/forms/Value/Selection/index.js +27 -0
  180. package/cjs/extensions/forms/Value/Selection/index.js.map +1 -0
  181. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  182. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  183. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  184. package/cjs/extensions/forms/Value/index.js +21 -0
  185. package/cjs/extensions/forms/Value/index.js.map +1 -1
  186. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +7 -6
  187. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  188. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  189. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  190. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  191. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  192. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  193. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  194. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  195. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  196. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  197. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  198. package/cjs/extensions/forms/constants/locales/en-GB.js +6 -1
  199. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  200. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
  201. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
  202. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  203. package/cjs/extensions/forms/constants/locales/nb-NO.js +6 -1
  204. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  205. package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
  206. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  207. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
  208. package/cjs/extensions/forms/hooks/useDataValue.js +11 -4
  209. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  210. package/cjs/extensions/forms/hooks/useExternalValue.js +4 -4
  211. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  212. package/cjs/extensions/forms/hooks/useFieldProps.js +11 -9
  213. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  214. package/cjs/extensions/forms/hooks/usePath.js +3 -3
  215. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useValueProps.js +4 -1
  217. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  218. package/cjs/extensions/forms/style/dnb-forms.css +3 -0
  219. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  220. package/cjs/extensions/forms/types.d.ts +9 -2
  221. package/cjs/extensions/forms/types.js.map +1 -1
  222. package/cjs/index.d.ts +2 -1
  223. package/cjs/index.js +7 -0
  224. package/cjs/index.js.map +1 -1
  225. package/cjs/shared/Context.js +4 -6
  226. package/cjs/shared/Context.js.map +1 -1
  227. package/cjs/shared/Eufemia.d.ts +1 -1
  228. package/cjs/shared/Eufemia.js +2 -2
  229. package/cjs/shared/Eufemia.js.map +1 -1
  230. package/cjs/shared/locales/en-GB.d.ts +4 -0
  231. package/cjs/shared/locales/en-GB.js +4 -0
  232. package/cjs/shared/locales/en-GB.js.map +1 -1
  233. package/cjs/shared/locales/en-US.d.ts +4 -0
  234. package/cjs/shared/locales/index.d.ts +8 -0
  235. package/cjs/shared/locales/nb-NO.d.ts +4 -0
  236. package/cjs/shared/locales/nb-NO.js +5 -1
  237. package/cjs/shared/locales/nb-NO.js.map +1 -1
  238. package/cjs/shared/useTheme.d.ts +4 -10
  239. package/cjs/shared/useTheme.js +7 -5
  240. package/cjs/shared/useTheme.js.map +1 -1
  241. package/cjs/style/core/scopes.scss +1 -1
  242. package/cjs/style/dnb-ui-basis.css +1 -1
  243. package/cjs/style/dnb-ui-basis.min.css +1 -1
  244. package/cjs/style/dnb-ui-body.css +1 -1
  245. package/cjs/style/dnb-ui-body.min.css +1 -1
  246. package/cjs/style/dnb-ui-components.css +26 -0
  247. package/cjs/style/dnb-ui-components.min.css +3 -3
  248. package/cjs/style/dnb-ui-components.scss +1 -0
  249. package/cjs/style/dnb-ui-core.css +1 -1
  250. package/cjs/style/dnb-ui-core.min.css +1 -1
  251. package/cjs/style/dnb-ui-extensions.css +3 -0
  252. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  253. package/cjs/style/dnb-ui-forms.css +3 -0
  254. package/cjs/style/dnb-ui-forms.min.css +1 -1
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  261. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
  262. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  264. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  267. package/cjs/style/themes/theme-ui/ui-theme-components.css +29 -0
  268. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  269. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  270. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  271. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
  272. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  273. package/components/CopyOnClick.d.ts +12 -0
  274. package/components/CopyOnClick.js +4 -0
  275. package/components/CopyOnClick.js.map +1 -0
  276. package/components/checkbox/style/dnb-checkbox.scss +1 -1
  277. package/components/copy-on-click/CopyOnClick.d.ts +9 -0
  278. package/components/copy-on-click/CopyOnClick.js +62 -0
  279. package/components/copy-on-click/CopyOnClick.js.map +1 -0
  280. package/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  281. package/components/copy-on-click/CopyOnClickDocs.js +18 -0
  282. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  283. package/components/copy-on-click/index.d.ts +7 -0
  284. package/components/copy-on-click/index.js +4 -0
  285. package/components/copy-on-click/index.js.map +1 -0
  286. package/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  287. package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  288. package/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  289. package/components/copy-on-click/style/index.d.ts +5 -0
  290. package/components/copy-on-click/style/index.js +1 -0
  291. package/components/copy-on-click/style/index.js.map +1 -0
  292. package/components/copy-on-click/style.d.ts +5 -0
  293. package/components/copy-on-click/style.js +1 -0
  294. package/components/copy-on-click/style.js.map +1 -0
  295. package/components/copy-on-click/types.d.ts +19 -0
  296. package/components/copy-on-click/types.js +1 -0
  297. package/components/copy-on-click/types.js.map +1 -0
  298. package/components/index.d.ts +2 -1
  299. package/components/index.js +2 -1
  300. package/components/index.js.map +1 -1
  301. package/components/lib.d.ts +6 -1
  302. package/components/lib.js +3 -1
  303. package/components/lib.js.map +1 -1
  304. package/components/pagination/Pagination.d.ts +27 -1
  305. package/components/pagination/Pagination.js +3 -1
  306. package/components/pagination/Pagination.js.map +1 -1
  307. package/components/pagination/PaginationInfinity.js +20 -8
  308. package/components/pagination/PaginationInfinity.js.map +1 -1
  309. package/components/radio/style/dnb-radio.scss +1 -1
  310. package/components/table/TableStickyHeader.js.map +1 -1
  311. package/components/upload/Upload.js +2 -1
  312. package/components/upload/Upload.js.map +1 -1
  313. package/components/upload/UploadDocs.d.ts +1 -0
  314. package/components/upload/UploadDocs.js +15 -3
  315. package/components/upload/UploadDocs.js.map +1 -1
  316. package/components/upload/UploadInfo.js +57 -5
  317. package/components/upload/UploadInfo.js.map +1 -1
  318. package/components/upload/UploadVerify.d.ts +4 -2
  319. package/components/upload/UploadVerify.js +30 -5
  320. package/components/upload/UploadVerify.js.map +1 -1
  321. package/components/upload/style/dnb-upload.css +15 -0
  322. package/components/upload/style/dnb-upload.min.css +1 -1
  323. package/components/upload/style/dnb-upload.scss +17 -0
  324. package/components/upload/types.d.ts +7 -1
  325. package/components/upload/types.js.map +1 -1
  326. package/es/components/CopyOnClick.d.ts +12 -0
  327. package/es/components/CopyOnClick.js +4 -0
  328. package/es/components/CopyOnClick.js.map +1 -0
  329. package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
  330. package/es/components/copy-on-click/CopyOnClick.d.ts +9 -0
  331. package/es/components/copy-on-click/CopyOnClick.js +62 -0
  332. package/es/components/copy-on-click/CopyOnClick.js.map +1 -0
  333. package/es/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  334. package/es/components/copy-on-click/CopyOnClickDocs.js +18 -0
  335. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  336. package/es/components/copy-on-click/index.d.ts +7 -0
  337. package/es/components/copy-on-click/index.js +4 -0
  338. package/es/components/copy-on-click/index.js.map +1 -0
  339. package/es/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  340. package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  341. package/es/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  342. package/es/components/copy-on-click/style/index.d.ts +5 -0
  343. package/es/components/copy-on-click/style/index.js +1 -0
  344. package/es/components/copy-on-click/style/index.js.map +1 -0
  345. package/es/components/copy-on-click/style.d.ts +5 -0
  346. package/es/components/copy-on-click/style.js +1 -0
  347. package/es/components/copy-on-click/style.js.map +1 -0
  348. package/es/components/copy-on-click/types.d.ts +19 -0
  349. package/es/components/copy-on-click/types.js +1 -0
  350. package/es/components/copy-on-click/types.js.map +1 -0
  351. package/es/components/index.d.ts +2 -1
  352. package/es/components/index.js +2 -1
  353. package/es/components/index.js.map +1 -1
  354. package/es/components/lib.d.ts +6 -1
  355. package/es/components/lib.js +3 -1
  356. package/es/components/lib.js.map +1 -1
  357. package/es/components/pagination/Pagination.d.ts +27 -1
  358. package/es/components/pagination/Pagination.js +3 -1
  359. package/es/components/pagination/Pagination.js.map +1 -1
  360. package/es/components/pagination/PaginationInfinity.js +20 -8
  361. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  362. package/es/components/radio/style/dnb-radio.scss +1 -1
  363. package/es/components/table/TableStickyHeader.js.map +1 -1
  364. package/es/components/upload/Upload.js +2 -1
  365. package/es/components/upload/Upload.js.map +1 -1
  366. package/es/components/upload/UploadDocs.d.ts +1 -0
  367. package/es/components/upload/UploadDocs.js +15 -3
  368. package/es/components/upload/UploadDocs.js.map +1 -1
  369. package/es/components/upload/UploadInfo.js +57 -5
  370. package/es/components/upload/UploadInfo.js.map +1 -1
  371. package/es/components/upload/UploadVerify.d.ts +4 -2
  372. package/es/components/upload/UploadVerify.js +30 -5
  373. package/es/components/upload/UploadVerify.js.map +1 -1
  374. package/es/components/upload/style/dnb-upload.css +15 -0
  375. package/es/components/upload/style/dnb-upload.min.css +1 -1
  376. package/es/components/upload/style/dnb-upload.scss +17 -0
  377. package/es/components/upload/types.d.ts +7 -1
  378. package/es/components/upload/types.js.map +1 -1
  379. package/es/extensions/forms/DataContext/Context.d.ts +10 -5
  380. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  381. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  382. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  383. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  384. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  385. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  386. package/es/extensions/forms/DataContext/Provider/Provider.js +47 -25
  387. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  388. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  389. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  390. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
  391. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +37 -24
  392. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  393. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  394. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  395. package/es/extensions/forms/Field/Email/Email.js +1 -1
  396. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  397. package/es/extensions/forms/Field/Name/Name.js +2 -2
  398. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  399. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  400. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  401. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  402. package/es/extensions/forms/Field/Number/Number.js +33 -31
  403. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  404. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  405. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  406. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  407. package/es/extensions/forms/Field/Selection/Selection.d.ts +4 -1
  408. package/es/extensions/forms/Field/Selection/Selection.js +22 -16
  409. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  410. package/es/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  411. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  412. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  413. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  414. package/es/extensions/forms/Form/Element/Element.js +9 -9
  415. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  416. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  417. package/es/extensions/forms/Form/Handler/Handler.js +1 -3
  418. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  419. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  420. package/es/extensions/forms/Form/Isolation/Isolation.js +26 -8
  421. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  422. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  423. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  424. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  425. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  426. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  427. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  428. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  429. package/es/extensions/forms/Form/data-context/useData.js +9 -7
  430. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  431. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  432. package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  433. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  434. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  435. package/es/extensions/forms/Iterate/Array/Array.js +7 -5
  436. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  437. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  438. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  439. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  440. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  441. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  442. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  443. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  444. package/{extensions/forms/Iterate/IterateElementContext.d.ts → es/extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  445. package/es/extensions/forms/Iterate/IterateItemContext.js +4 -0
  446. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  447. package/es/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  448. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  449. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  450. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  451. package/es/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  452. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  453. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  454. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  455. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -0
  456. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  457. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  458. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  459. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  460. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  461. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  462. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  463. package/es/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  464. package/es/extensions/forms/Iterate/PushContainer/index.js +3 -0
  465. package/es/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  466. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  467. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  468. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  469. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  470. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  471. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  472. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  473. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  474. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  475. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  476. package/es/extensions/forms/Iterate/hooks/useItem.js +9 -0
  477. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  478. package/es/extensions/forms/Iterate/index.d.ts +3 -1
  479. package/es/extensions/forms/Iterate/index.js +3 -1
  480. package/es/extensions/forms/Iterate/index.js.map +1 -1
  481. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  482. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +66 -0
  483. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  484. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  485. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  486. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  487. package/es/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  488. package/es/extensions/forms/Value/ArraySelection/index.js +3 -0
  489. package/es/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  490. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  491. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  492. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  493. package/es/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  494. package/es/extensions/forms/Value/SelectCountry/index.js +3 -0
  495. package/es/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  496. package/es/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  497. package/es/extensions/forms/Value/Selection/Selection.js +48 -0
  498. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -0
  499. package/es/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  500. package/es/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  501. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  502. package/es/extensions/forms/Value/Selection/index.d.ts +2 -0
  503. package/es/extensions/forms/Value/Selection/index.js +3 -0
  504. package/es/extensions/forms/Value/Selection/index.js.map +1 -0
  505. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  506. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  507. package/es/extensions/forms/Value/index.d.ts +3 -0
  508. package/es/extensions/forms/Value/index.js +3 -0
  509. package/es/extensions/forms/Value/index.js.map +1 -1
  510. package/es/extensions/forms/ValueBlock/ValueBlock.js +7 -6
  511. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  512. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  513. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  514. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  515. package/es/extensions/forms/Wizard/Container/WizardContainer.js +16 -1
  516. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  517. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  518. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  519. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  520. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  521. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  522. package/es/extensions/forms/constants/locales/en-GB.js +6 -1
  523. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  524. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
  525. package/es/extensions/forms/constants/locales/index.d.ts +10 -0
  526. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  527. package/es/extensions/forms/constants/locales/nb-NO.js +6 -1
  528. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  529. package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
  530. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  531. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
  532. package/es/extensions/forms/hooks/useDataValue.js +11 -4
  533. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  534. package/es/extensions/forms/hooks/useExternalValue.js +4 -4
  535. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  536. package/es/extensions/forms/hooks/useFieldProps.js +11 -9
  537. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  538. package/es/extensions/forms/hooks/usePath.js +2 -2
  539. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  540. package/es/extensions/forms/hooks/useValueProps.js +4 -1
  541. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  542. package/es/extensions/forms/style/dnb-forms.css +3 -0
  543. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  544. package/es/extensions/forms/types.d.ts +9 -2
  545. package/es/extensions/forms/types.js.map +1 -1
  546. package/es/index.d.ts +2 -1
  547. package/es/index.js +2 -1
  548. package/es/index.js.map +1 -1
  549. package/es/shared/Context.js +4 -6
  550. package/es/shared/Context.js.map +1 -1
  551. package/es/shared/Eufemia.d.ts +1 -1
  552. package/es/shared/Eufemia.js +2 -2
  553. package/es/shared/Eufemia.js.map +1 -1
  554. package/es/shared/locales/en-GB.d.ts +4 -0
  555. package/es/shared/locales/en-GB.js +4 -0
  556. package/es/shared/locales/en-GB.js.map +1 -1
  557. package/es/shared/locales/en-US.d.ts +4 -0
  558. package/es/shared/locales/index.d.ts +8 -0
  559. package/es/shared/locales/nb-NO.d.ts +4 -0
  560. package/es/shared/locales/nb-NO.js +5 -1
  561. package/es/shared/locales/nb-NO.js.map +1 -1
  562. package/es/shared/useTheme.d.ts +4 -10
  563. package/es/shared/useTheme.js +7 -5
  564. package/es/shared/useTheme.js.map +1 -1
  565. package/es/style/core/scopes.scss +1 -1
  566. package/es/style/dnb-ui-basis.css +1 -1
  567. package/es/style/dnb-ui-basis.min.css +1 -1
  568. package/es/style/dnb-ui-body.css +1 -1
  569. package/es/style/dnb-ui-body.min.css +1 -1
  570. package/es/style/dnb-ui-components.css +26 -0
  571. package/es/style/dnb-ui-components.min.css +3 -3
  572. package/es/style/dnb-ui-components.scss +1 -0
  573. package/es/style/dnb-ui-core.css +1 -1
  574. package/es/style/dnb-ui-core.min.css +1 -1
  575. package/es/style/dnb-ui-extensions.css +3 -0
  576. package/es/style/dnb-ui-extensions.min.css +1 -1
  577. package/es/style/dnb-ui-forms.css +3 -0
  578. package/es/style/dnb-ui-forms.min.css +1 -1
  579. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
  580. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  581. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  582. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  583. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  584. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  585. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
  586. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  587. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  588. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  589. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  590. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  591. package/es/style/themes/theme-ui/ui-theme-components.css +29 -0
  592. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  593. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  594. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  595. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
  596. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  597. package/esm/dnb-ui-basis.min.mjs +1 -1
  598. package/esm/dnb-ui-components.min.mjs +1 -1
  599. package/esm/dnb-ui-elements.min.mjs +1 -1
  600. package/esm/dnb-ui-extensions.min.mjs +5 -5
  601. package/esm/dnb-ui-lib.min.mjs +1 -1
  602. package/extensions/forms/DataContext/Context.d.ts +10 -5
  603. package/extensions/forms/DataContext/Context.js.map +1 -1
  604. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
  605. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  606. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
  607. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  608. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  609. package/extensions/forms/DataContext/Provider/Provider.js +48 -26
  610. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  611. package/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  612. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  613. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
  614. package/extensions/forms/Field/ArraySelection/ArraySelection.js +37 -24
  615. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  616. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  617. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  618. package/extensions/forms/Field/Email/Email.js +1 -1
  619. package/extensions/forms/Field/Email/Email.js.map +1 -1
  620. package/extensions/forms/Field/Name/Name.js +2 -2
  621. package/extensions/forms/Field/Name/Name.js.map +1 -1
  622. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  623. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  624. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  625. package/extensions/forms/Field/Number/Number.js +33 -31
  626. package/extensions/forms/Field/Number/Number.js.map +1 -1
  627. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  628. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  629. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  630. package/extensions/forms/Field/Selection/Selection.d.ts +4 -1
  631. package/extensions/forms/Field/Selection/Selection.js +27 -20
  632. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  633. package/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  634. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  635. package/extensions/forms/FieldBlock/FieldBlock.js +3 -3
  636. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  637. package/extensions/forms/Form/Element/Element.js +9 -9
  638. package/extensions/forms/Form/Element/Element.js.map +1 -1
  639. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  640. package/extensions/forms/Form/Handler/Handler.js +1 -3
  641. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  642. package/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  643. package/extensions/forms/Form/Isolation/Isolation.js +26 -8
  644. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  645. package/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  646. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  647. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
  648. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  649. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
  650. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
  651. package/extensions/forms/Form/Section/Section.js.map +1 -1
  652. package/extensions/forms/Form/data-context/useData.js +9 -7
  653. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  654. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
  655. package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
  656. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
  657. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  658. package/extensions/forms/Iterate/Array/Array.js +7 -5
  659. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  660. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
  661. package/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
  662. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  663. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
  664. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  665. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
  666. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  667. package/{es/extensions/forms/Iterate/IterateElementContext.d.ts → extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
  668. package/extensions/forms/Iterate/IterateItemContext.js +4 -0
  669. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
  670. package/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
  671. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  672. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  673. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  674. package/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
  675. package/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
  676. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
  677. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
  678. package/extensions/forms/Iterate/PushContainer/PushContainer.js +83 -0
  679. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
  680. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
  681. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
  682. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
  683. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
  684. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
  685. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
  686. package/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
  687. package/extensions/forms/Iterate/PushContainer/index.js +3 -0
  688. package/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
  689. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
  690. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  691. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
  692. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
  693. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  694. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  695. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  696. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
  697. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  698. package/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
  699. package/extensions/forms/Iterate/hooks/useItem.js +9 -0
  700. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
  701. package/extensions/forms/Iterate/index.d.ts +3 -1
  702. package/extensions/forms/Iterate/index.js +3 -1
  703. package/extensions/forms/Iterate/index.js.map +1 -1
  704. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
  705. package/extensions/forms/Value/ArraySelection/ArraySelection.js +70 -0
  706. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
  707. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
  708. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
  709. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
  710. package/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
  711. package/extensions/forms/Value/ArraySelection/index.js +3 -0
  712. package/extensions/forms/Value/ArraySelection/index.js.map +1 -0
  713. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  714. package/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  715. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  716. package/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  717. package/extensions/forms/Value/SelectCountry/index.js +3 -0
  718. package/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  719. package/extensions/forms/Value/Selection/Selection.d.ts +9 -0
  720. package/extensions/forms/Value/Selection/Selection.js +48 -0
  721. package/extensions/forms/Value/Selection/Selection.js.map +1 -0
  722. package/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
  723. package/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
  724. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
  725. package/extensions/forms/Value/Selection/index.d.ts +2 -0
  726. package/extensions/forms/Value/Selection/index.js +3 -0
  727. package/extensions/forms/Value/Selection/index.js.map +1 -0
  728. package/extensions/forms/Value/ValueDocs.js +6 -1
  729. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  730. package/extensions/forms/Value/index.d.ts +3 -0
  731. package/extensions/forms/Value/index.js +3 -0
  732. package/extensions/forms/Value/index.js.map +1 -1
  733. package/extensions/forms/ValueBlock/ValueBlock.js +7 -6
  734. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  735. package/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  736. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  737. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  738. package/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
  739. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  740. package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
  741. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  742. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  743. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  744. package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
  745. package/extensions/forms/constants/locales/en-GB.js +6 -1
  746. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  747. package/extensions/forms/constants/locales/en-US.d.ts +5 -0
  748. package/extensions/forms/constants/locales/index.d.ts +10 -0
  749. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
  750. package/extensions/forms/constants/locales/nb-NO.js +6 -1
  751. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  752. package/extensions/forms/hooks/DataValueDocs.js +3 -3
  753. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  754. package/extensions/forms/hooks/useDataValue.d.ts +1 -0
  755. package/extensions/forms/hooks/useDataValue.js +11 -4
  756. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  757. package/extensions/forms/hooks/useExternalValue.js +4 -4
  758. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  759. package/extensions/forms/hooks/useFieldProps.js +11 -9
  760. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  761. package/extensions/forms/hooks/usePath.js +2 -2
  762. package/extensions/forms/hooks/usePath.js.map +1 -1
  763. package/extensions/forms/hooks/useValueProps.js +4 -1
  764. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  765. package/extensions/forms/style/dnb-forms.css +3 -0
  766. package/extensions/forms/style/dnb-forms.min.css +1 -1
  767. package/extensions/forms/types.d.ts +9 -2
  768. package/extensions/forms/types.js.map +1 -1
  769. package/index.d.ts +2 -1
  770. package/index.js +2 -1
  771. package/index.js.map +1 -1
  772. package/package.json +2 -1
  773. package/shared/Context.js +4 -6
  774. package/shared/Context.js.map +1 -1
  775. package/shared/Eufemia.d.ts +1 -1
  776. package/shared/Eufemia.js +2 -2
  777. package/shared/Eufemia.js.map +1 -1
  778. package/shared/locales/en-GB.d.ts +4 -0
  779. package/shared/locales/en-GB.js +4 -0
  780. package/shared/locales/en-GB.js.map +1 -1
  781. package/shared/locales/en-US.d.ts +4 -0
  782. package/shared/locales/index.d.ts +8 -0
  783. package/shared/locales/nb-NO.d.ts +4 -0
  784. package/shared/locales/nb-NO.js +5 -1
  785. package/shared/locales/nb-NO.js.map +1 -1
  786. package/shared/useTheme.d.ts +4 -10
  787. package/shared/useTheme.js +7 -5
  788. package/shared/useTheme.js.map +1 -1
  789. package/style/core/scopes.scss +1 -1
  790. package/style/dnb-ui-basis.css +1 -1
  791. package/style/dnb-ui-basis.min.css +1 -1
  792. package/style/dnb-ui-body.css +1 -1
  793. package/style/dnb-ui-body.min.css +1 -1
  794. package/style/dnb-ui-components.css +26 -0
  795. package/style/dnb-ui-components.min.css +3 -3
  796. package/style/dnb-ui-components.scss +1 -0
  797. package/style/dnb-ui-core.css +1 -1
  798. package/style/dnb-ui-core.min.css +1 -1
  799. package/style/dnb-ui-extensions.css +3 -0
  800. package/style/dnb-ui-extensions.min.css +1 -1
  801. package/style/dnb-ui-forms.css +3 -0
  802. package/style/dnb-ui-forms.min.css +1 -1
  803. package/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
  804. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  805. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  806. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  807. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  808. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  809. package/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
  810. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  811. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  812. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  813. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  814. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  815. package/style/themes/theme-ui/ui-theme-components.css +29 -0
  816. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  817. package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  818. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  819. package/style/themes/theme-ui/ui-theme-forms.css +3 -0
  820. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  821. package/umd/dnb-ui-basis.min.js +1 -1
  822. package/umd/dnb-ui-components.min.js +1 -1
  823. package/umd/dnb-ui-elements.min.js +1 -1
  824. package/umd/dnb-ui-extensions.min.js +5 -5
  825. package/umd/dnb-ui-lib.min.js +1 -1
  826. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  827. package/es/extensions/forms/Iterate/IterateElementContext.js +0 -4
  828. package/es/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
  829. package/extensions/forms/Iterate/IterateElementContext.js +0 -4
  830. package/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ "use client";
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ const _excluded = ["data", "path", "title", "children", "openButton", "showOpenButtonWhen"];
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+ import React, { useRef } from 'react';
10
+ import Isolation from '../../Form/Isolation';
11
+ import PushContainerContext from './PushContainerContext';
12
+ import IterateItemContext from '../IterateItemContext';
13
+ import useDataValue from '../../hooks/useDataValue';
14
+ import EditContainer from '../EditContainer';
15
+ import IterateArray from '../Array';
16
+ import OpenButton from './OpenButton';
17
+ import { HeightAnimation } from '../../../../components';
18
+ function PushContainer(props) {
19
+ const {
20
+ data = {},
21
+ path,
22
+ title,
23
+ children,
24
+ openButton,
25
+ showOpenButtonWhen
26
+ } = props,
27
+ rest = _objectWithoutProperties(props, _excluded);
28
+ const commitHandleRef = useRef();
29
+ const switchContainerModeRef = useRef();
30
+ const {
31
+ value: entries = [],
32
+ moveValueToPath
33
+ } = useDataValue({
34
+ path
35
+ });
36
+ const showOpenButton = showOpenButtonWhen === null || showOpenButtonWhen === void 0 ? void 0 : showOpenButtonWhen(entries);
37
+ const newItemContextProps = {
38
+ path,
39
+ entries,
40
+ commitHandleRef,
41
+ switchContainerMode: switchContainerModeRef.current
42
+ };
43
+ return React.createElement(Isolation, {
44
+ commitHandleRef: commitHandleRef,
45
+ transformOnCommit: ({
46
+ newItem
47
+ }) => {
48
+ return moveValueToPath(path, [...entries, _objectSpread(_objectSpread({}, newItem[0]), {}, {
49
+ __containerMode: 'view'
50
+ })]);
51
+ },
52
+ onCommit: (data, {
53
+ clearData
54
+ }) => {
55
+ var _switchContainerModeR;
56
+ clearData();
57
+ (_switchContainerModeR = switchContainerModeRef.current) === null || _switchContainerModeR === void 0 ? void 0 : _switchContainerModeR.call(switchContainerModeRef, 'view');
58
+ }
59
+ }, React.createElement(PushContainerContext.Provider, {
60
+ value: newItemContextProps
61
+ }, React.createElement(IterateArray, {
62
+ value: [data],
63
+ path: "/newItem"
64
+ }, React.createElement(IterateItemContext.Consumer, null, ({
65
+ containerMode,
66
+ switchContainerMode
67
+ }) => {
68
+ switchContainerModeRef.current = switchContainerMode;
69
+ return React.createElement(React.Fragment, null, React.createElement(EditContainer, _extends({
70
+ open: !showOpenButton || containerMode === 'edit',
71
+ title: title
72
+ }, rest), children), openButton && typeof showOpenButton === 'boolean' && React.createElement(HeightAnimation, {
73
+ open: showOpenButton && containerMode === 'view'
74
+ }, openButton));
75
+ }))));
76
+ }
77
+ PushContainer.OpenButton = OpenButton;
78
+ PushContainer._supportsSpacingProps = true;
79
+ export default PushContainer;
80
+ //# sourceMappingURL=PushContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushContainer.js","names":["React","useRef","Isolation","PushContainerContext","IterateItemContext","useDataValue","EditContainer","IterateArray","OpenButton","HeightAnimation","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","_objectWithoutProperties","_excluded","commitHandleRef","switchContainerModeRef","value","entries","moveValueToPath","showOpenButton","newItemContextProps","switchContainerMode","current","createElement","transformOnCommit","newItem","_objectSpread","__containerMode","onCommit","clearData","_switchContainerModeR","call","Provider","Consumer","containerMode","Fragment","_extends","open","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { HeightAnimation } from '../../../../components'\nimport { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\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?: Record<string, unknown>\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = {},\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 showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n return (\n <Isolation\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItem }) => {\n return moveValueToPath(path, [\n ...entries,\n { ...newItem[0], __containerMode: 'view' },\n ])\n }}\n onCommit={(data, { clearData }) => {\n clearData()\n switchContainerModeRef.current?.('view')\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray value={[data]} path=\"/newItem\">\n <IterateItemContext.Consumer>\n {({ containerMode, switchContainerMode }) => {\n switchContainerModeRef.current = switchContainerMode\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation\n open={showOpenButton && containerMode === 'view'}\n >\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n }}\n </IterateItemContext.Consumer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,YAAY,MAAM,0BAA0B;AACnD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,YAAY,MAAyB,UAAU;AACtD,OAAOC,UAAU,MAAM,cAAc;AACrC,SAASC,eAAe,QAAQ,wBAAwB;AAuCxD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAM;MACJC,IAAI,GAAG,CAAC,CAAC;MACTC,IAAI;MACJC,KAAK;MACLC,QAAQ;MACRC,UAAU;MACVC;IAEF,CAAC,GAAGN,KAAK;IADJO,IAAI,GAAAC,wBAAA,CACLR,KAAK,EAAAS,SAAA;EAET,MAAMC,eAAe,GAAGpB,MAAM,CAAa,CAAC;EAC5C,MAAMqB,sBAAsB,GAAGrB,MAAM,CAAgC,CAAC;EACtE,MAAM;IAAEsB,KAAK,EAAEC,OAAO,GAAG,EAAE;IAAEC;EAAgB,CAAC,GAAGpB,YAAY,CAE3D;IAAEQ;EAAK,CAAC,CAAC;EAEX,MAAMa,cAAc,GAAGT,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGO,OAAO,CAAC;EACpD,MAAMG,mBAAyC,GAAG;IAChDd,IAAI;IACJW,OAAO;IACPH,eAAe;IACfO,mBAAmB,EAAEN,sBAAsB,CAACO;EAC9C,CAAC;EAED,OACE7B,KAAA,CAAA8B,aAAA,CAAC5B,SAAS;IACRmB,eAAe,EAAEA,eAAgB;IACjCU,iBAAiB,EAAEA,CAAC;MAAEC;IAAQ,CAAC,KAAK;MAClC,OAAOP,eAAe,CAACZ,IAAI,EAAE,CAC3B,GAAGW,OAAO,EAAAS,aAAA,CAAAA,aAAA,KACLD,OAAO,CAAC,CAAC,CAAC;QAAEE,eAAe,EAAE;MAAM,GACzC,CAAC;IACJ,CAAE;IACFC,QAAQ,EAAEA,CAACvB,IAAI,EAAE;MAAEwB;IAAU,CAAC,KAAK;MAAA,IAAAC,qBAAA;MACjCD,SAAS,CAAC,CAAC;MACX,CAAAC,qBAAA,GAAAf,sBAAsB,CAACO,OAAO,cAAAQ,qBAAA,uBAA9BA,qBAAA,CAAAC,IAAA,CAAAhB,sBAAsB,EAAW,MAAM,CAAC;IAC1C;EAAE,GAEFtB,KAAA,CAAA8B,aAAA,CAAC3B,oBAAoB,CAACoC,QAAQ;IAAChB,KAAK,EAAEI;EAAoB,GACxD3B,KAAA,CAAA8B,aAAA,CAACvB,YAAY;IAACgB,KAAK,EAAE,CAACX,IAAI,CAAE;IAACC,IAAI,EAAC;EAAU,GAC1Cb,KAAA,CAAA8B,aAAA,CAAC1B,kBAAkB,CAACoC,QAAQ,QACzB,CAAC;IAAEC,aAAa;IAAEb;EAAoB,CAAC,KAAK;IAC3CN,sBAAsB,CAACO,OAAO,GAAGD,mBAAmB;IAEpD,OACE5B,KAAA,CAAA8B,aAAA,CAAA9B,KAAA,CAAA0C,QAAA,QACE1C,KAAA,CAAA8B,aAAA,CAACxB,aAAa,EAAAqC,QAAA;MACZC,IAAI,EAAE,CAAClB,cAAc,IAAIe,aAAa,KAAK,MAAO;MAClD3B,KAAK,EAAEA;IAAM,GACTI,IAAI,GAEPH,QACY,CAAC,EAEfC,UAAU,IAAI,OAAOU,cAAc,KAAK,SAAS,IAChD1B,KAAA,CAAA8B,aAAA,CAACrB,eAAe;MACdmC,IAAI,EAAElB,cAAc,IAAIe,aAAa,KAAK;IAAO,GAEhDzB,UACc,CAEnB,CAAC;EAEP,CAC2B,CACjB,CACe,CACtB,CAAC;AAEhB;AAEAN,aAAa,CAACF,UAAU,GAAGA,UAAU;AACrCE,aAAa,CAACmC,qBAAqB,GAAG,IAAI;AAE1C,eAAenC,aAAa"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Path } from '../../types';
3
+ import { ContainerMode } from '../Array';
4
+ type PushContainerContext = {
5
+ path: Path;
6
+ entries?: Array<unknown>;
7
+ commitHandleRef: React.MutableRefObject<() => void>;
8
+ switchContainerMode?: (mode: ContainerMode) => void;
9
+ };
10
+ declare const PushContainerContext: import("react").Context<PushContainerContext>;
11
+ export default PushContainerContext;
@@ -0,0 +1,6 @@
1
+ "use client";
2
+
3
+ import { createContext } from 'react';
4
+ const PushContainerContext = createContext(null);
5
+ export default PushContainerContext;
6
+ //# sourceMappingURL=PushContainerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushContainerContext.js","names":["createContext","PushContainerContext"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerContext.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport { Path } from '../../types'\nimport { ContainerMode } from '../Array'\n\ntype PushContainerContext = {\n path: Path\n entries?: Array<unknown>\n commitHandleRef: React.MutableRefObject<() => void>\n switchContainerMode?: (mode: ContainerMode) => void\n}\n\nconst PushContainerContext = createContext<PushContainerContext>(null)\n\nexport default PushContainerContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAWrC,MAAMC,oBAAoB,GAAGD,aAAa,CAAuB,IAAI,CAAC;AAEtE,eAAeC,oBAAoB"}
@@ -0,0 +1,3 @@
1
+ import { PropertiesTableProps } from '../../../../shared/types';
2
+ export declare const PushContainerProperties: PropertiesTableProps;
3
+ export declare const PushContainerEvents: PropertiesTableProps;
@@ -0,0 +1,34 @@
1
+ export const PushContainerProperties = {
2
+ path: {
3
+ doc: 'The path to the array to add the new item to.',
4
+ type: 'string',
5
+ status: 'required'
6
+ },
7
+ title: {
8
+ doc: 'The title of the container.',
9
+ type: 'React.Node',
10
+ status: 'optional'
11
+ },
12
+ openButton: {
13
+ doc: 'The button to open container.',
14
+ type: 'React.Node',
15
+ status: 'optional'
16
+ },
17
+ showOpenButtonWhen: {
18
+ doc: 'Define when the "open button" should be shown. Should be a function that returns a boolean.',
19
+ type: 'function',
20
+ status: 'optional'
21
+ },
22
+ children: {
23
+ doc: 'The container contents.',
24
+ type: 'React.Node',
25
+ status: 'required'
26
+ },
27
+ '[Space](/uilib/layout/space/properties)': {
28
+ doc: 'Spacing properties like `top` or `bottom` are supported.',
29
+ type: ['string', 'object'],
30
+ status: 'optional'
31
+ }
32
+ };
33
+ export const PushContainerEvents = {};
34
+ //# sourceMappingURL=PushContainerDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushContainerDocs.js","names":["PushContainerProperties","path","doc","type","status","title","openButton","showOpenButtonWhen","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 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,QAAQ,EAAE;IACRN,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,MAAMK,mBAAyC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './PushContainer';
2
+ export * from './PushContainer';
@@ -0,0 +1,3 @@
1
+ export { default } from './PushContainer';
2
+ export * from './PushContainer';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/index.ts"],"sourcesContent":["export { default } from './PushContainer'\nexport * from './PushContainer'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iBAAiB;AACzC,cAAc,iBAAiB"}
@@ -6,17 +6,17 @@ const _excluded = ["className"];
6
6
  import React, { useCallback, useContext } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { Button } from '../../../../components';
9
- import IterateElementContext from '../IterateElementContext';
9
+ import IterateItemContext from '../IterateItemContext';
10
10
  import { useFieldProps, useTranslation } from '../../hooks';
11
11
  import ElementBlockContext from '../AnimatedContainer/ElementBlockContext';
12
12
  import { omitDataValueReadWriteProps } from '../../types';
13
13
  import { trash } from '../../../../icons';
14
14
  function RemoveButton(props) {
15
- const iterateElementContext = useContext(IterateElementContext);
15
+ const iterateItemContext = useContext(IterateItemContext);
16
16
  const {
17
17
  handleRemove
18
- } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
19
- if (!iterateElementContext) {
18
+ } = iterateItemContext !== null && iterateItemContext !== void 0 ? iterateItemContext : {};
19
+ if (!iterateItemContext) {
20
20
  throw new Error('RemoveButton must be inside an Iterate.Array');
21
21
  }
22
22
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateElementContext","useFieldProps","useTranslation","ElementBlockContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateElementContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","textContent","elementBlockContext","handleRemoveBlock","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateElementContext from '../IterateElementContext'\nimport { useFieldProps, useTranslation } from '../../hooks'\nimport ElementBlockContext from '../AnimatedContainer/ElementBlockContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateElementContext = useContext(IterateElementContext)\n const { handleRemove } = iterateElementContext ?? {}\n\n if (!iterateElementContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const elementBlockContext = useContext(ElementBlockContext)\n const { handleRemoveBlock } = elementBlockContext ?? {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveBlock) {\n handleRemoveBlock()\n } else {\n handleRemove()\n }\n }, [handleRemove, handleRemoveBlock])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,aAAa,EAAEC,cAAc,QAAQ,aAAa;AAC3D,OAAOC,mBAAmB,MAAM,0CAA0C;AAC1E,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,qBAAqB,GAAGX,UAAU,CAACG,qBAAqB,CAAC;EAC/D,MAAM;IAAES;EAAa,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAEpD,IAAI,CAACA,qBAAqB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGf,aAAa,CAACW,SAAS,CAAC;EACnD,MAAMK,WAAW,GAAGb,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAMM,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACI,YAAY;EACjD,MAAMa,WAAW,GAAGH,IAAI,IAAID,QAAQ,IAAIG,WAAW,CAACF,IAAI;EAExD,MAAMI,mBAAmB,GAAGvB,UAAU,CAACM,mBAAmB,CAAC;EAC3D,MAAM;IAAEkB;EAAkB,CAAC,GAAGD,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,CAAC,CAAC;EAEvD,MAAME,WAAW,GAAG1B,WAAW,CAAC,MAAM;IACpC,IAAIyB,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC,CAAC;IACrB,CAAC,MAAM;MACLZ,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEY,iBAAiB,CAAC,CAAC;EAErC,OACE1B,KAAA,CAAA4B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLb,SAAS,EAAEb,UAAU,CACnB,yCAAyC,EACzCa,SACF,CAAE;IACFc,OAAO,EAAEN,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDO,IAAI,EAAErB,KAAM;IACZsB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBL,WAAW,GAEdE,WACK,CAAC;AAEb;AAEAb,YAAY,CAACuB,qBAAqB,GAAG,IAAI;AACzC,eAAevB,YAAY"}
1
+ {"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateItemContext","useFieldProps","useTranslation","ElementBlockContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateItemContext","handleRemove","Error","className","restProps","_objectWithoutProperties","_excluded","children","text","buttonProps","translation","textContent","elementBlockContext","handleRemoveBlock","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useFieldProps, useTranslation } from '../../hooks'\nimport ElementBlockContext from '../AnimatedContainer/ElementBlockContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateItemContext = useContext(IterateItemContext)\n const { handleRemove } = iterateItemContext ?? {}\n\n if (!iterateItemContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { className, ...restProps } = props\n const { children, text } = useFieldProps(restProps)\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const elementBlockContext = useContext(ElementBlockContext)\n const { handleRemoveBlock } = elementBlockContext ?? {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveBlock) {\n handleRemoveBlock()\n } else {\n handleRemove()\n }\n }, [handleRemove, handleRemoveBlock])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,aAAa,EAAEC,cAAc,QAAQ,aAAa;AAC3D,OAAOC,mBAAmB,MAAM,0CAA0C;AAC1E,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,kBAAkB,GAAGX,UAAU,CAACG,kBAAkB,CAAC;EACzD,MAAM;IAAES;EAAa,CAAC,GAAGD,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EAEjD,IAAI,CAACA,kBAAkB,EAAE;IACvB,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC;IAAwB,CAAC,GAAGJ,KAAK;IAAnBK,SAAS,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGf,aAAa,CAACW,SAAS,CAAC;EACnD,MAAMK,WAAW,GAAGb,2BAA2B,CAACQ,SAAS,CAAC;EAC1D,MAAMM,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACI,YAAY;EACjD,MAAMa,WAAW,GAAGH,IAAI,IAAID,QAAQ,IAAIG,WAAW,CAACF,IAAI;EAExD,MAAMI,mBAAmB,GAAGvB,UAAU,CAACM,mBAAmB,CAAC;EAC3D,MAAM;IAAEkB;EAAkB,CAAC,GAAGD,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,CAAC,CAAC;EAEvD,MAAME,WAAW,GAAG1B,WAAW,CAAC,MAAM;IACpC,IAAIyB,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC,CAAC;IACrB,CAAC,MAAM;MACLZ,YAAY,CAAC,CAAC;IAChB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEY,iBAAiB,CAAC,CAAC;EAErC,OACE1B,KAAA,CAAA4B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLb,SAAS,EAAEb,UAAU,CACnB,yCAAyC,EACzCa,SACF,CAAE;IACFc,OAAO,EAAEN,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDO,IAAI,EAAErB,KAAM;IACZsB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBL,WAAW,GAEdE,WACK,CAAC;AAEb;AAEAb,YAAY,CAACuB,qBAAqB,GAAG,IAAI;AACzC,eAAevB,YAAY"}
@@ -6,6 +6,10 @@ export type Props = {
6
6
  * The title of the ViewContainer.
7
7
  */
8
8
  title?: React.ReactNode;
9
+ /**
10
+ * An alternative toolbar to be shown in the ViewContainer.
11
+ */
12
+ toolbar?: React.ReactNode;
9
13
  };
10
14
  export type AllProps = Props & FlexContainerProps & ElementSectionProps;
11
15
  declare function ViewContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,16 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
5
  var _Toolbar;
4
- const _excluded = ["children", "className", "title"];
5
- import React, { useMemo } from 'react';
6
+ const _excluded = ["children", "className", "title", "toolbar"];
7
+ import React, { useContext, useMemo } from 'react';
6
8
  import classnames from 'classnames';
7
9
  import { convertJsxToString } from '../../../../shared/component-helper';
8
10
  import { Flex } from '../../../../components';
9
11
  import { Lead } from '../../../../elements';
10
12
  import ElementBlock from '../AnimatedContainer/ElementBlock';
13
+ import IterateItemContext from '../IterateItemContext';
11
14
  import Toolbar from '../Toolbar';
12
15
  import ViewToolbarTools from './ViewToolbarTools';
13
16
  function ViewContainer(props) {
@@ -15,17 +18,23 @@ function ViewContainer(props) {
15
18
  {
16
19
  children,
17
20
  className,
18
- title
21
+ title,
22
+ toolbar
19
23
  } = _ref,
20
24
  restProps = _objectWithoutProperties(_ref, _excluded);
21
- const ariaLabel = useMemo(() => convertJsxToString(title), [title]);
25
+ const iterateItemContext = useContext(IterateItemContext);
26
+ let itemTitle = title;
27
+ let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle]);
28
+ if (ariaLabel.includes('{itemNr}')) {
29
+ itemTitle = ariaLabel = ariaLabel.replace('{itemNr}', iterateItemContext.index + 1);
30
+ }
22
31
  return React.createElement(ElementBlock, _extends({
23
32
  mode: "view",
24
33
  ariaLabel: ariaLabel,
25
34
  className: classnames('dnb-forms-section-view-block', className)
26
- }, restProps), React.createElement(Flex.Stack, null, title && React.createElement(Lead, {
35
+ }, restProps), React.createElement(Flex.Stack, null, itemTitle && React.createElement(Lead, {
27
36
  size: "basis"
28
- }, title), children, _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(ViewToolbarTools, null)))));
37
+ }, itemTitle), children, toolbar !== null && toolbar !== void 0 ? toolbar : _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(ViewToolbarTools, null)))));
29
38
  }
30
39
  ViewContainer._supportsSpacingProps = true;
31
40
  export default ViewContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ElementBlock","Toolbar","ViewToolbarTools","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ElementBlock, {\n ElementSectionProps,\n} from '../AnimatedContainer/ElementBlock'\nimport Toolbar from '../Toolbar'\nimport ViewToolbarTools from './ViewToolbarTools'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps & ElementSectionProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <ElementBlock\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </ElementBlock>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,wBAAwB;AAE7C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,OAAOC,YAAY,MAEZ,mCAAmC;AAC1C,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,gBAAgB,MAAM,oBAAoB;AAWjD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACb,YAAY,EAAAc,QAAA;IACXC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACZ,OAAO,QACNP,KAAA,CAAAmB,aAAA,CAACX,gBAAgB,MAAE,CACZ,CAAC,CACA,CACA,CAAC;AAEnB;AAEAC,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
1
+ {"version":3,"file":"ViewContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Flex","Lead","ElementBlock","IterateItemContext","Toolbar","ViewToolbarTools","ViewContainer","props","_ref","children","className","title","toolbar","restProps","_objectWithoutProperties","_excluded","iterateItemContext","itemTitle","ariaLabel","includes","replace","index","createElement","_extends","mode","Stack","size","_Toolbar","_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 ElementBlock, {\n ElementSectionProps,\n} from '../AnimatedContainer/ElementBlock'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport ViewToolbarTools from './ViewToolbarTools'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n}\n\nexport type AllProps = Props & FlexContainerProps & ElementSectionProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, toolbar, ...restProps } = props || {}\n const iterateItemContext = useContext(IterateItemContext)\n\n let itemTitle = title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemNr}')) {\n itemTitle = ariaLabel = ariaLabel.replace(\n '{itemNr}',\n iterateItemContext.index + 1\n )\n }\n\n return (\n <ElementBlock\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 {toolbar ?? (\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n )}\n </Flex.Stack>\n </ElementBlock>\n )\n}\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,YAAY,MAEZ,mCAAmC;AAC1C,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,gBAAgB,MAAM,oBAAoB;AAejD,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAA8DD,KAAK,IAAI,CAAC,CAAC;IAAnE;MAAEE,QAAQ;MAAEC,SAAS;MAAEC,KAAK;MAAEC;IAAsB,CAAC,GAAAJ,IAAA;IAAXK,SAAS,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EACzD,MAAMC,kBAAkB,GAAGpB,UAAU,CAACO,kBAAkB,CAAC;EAEzD,IAAIc,SAAS,GAAGN,KAAK;EACrB,IAAIO,SAAS,GAAGrB,OAAO,CAAC,MAAME,kBAAkB,CAACkB,SAAS,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACzE,IAAIC,SAAS,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE;IAClCF,SAAS,GAAGC,SAAS,GAAGA,SAAS,CAACE,OAAO,CACvC,UAAU,EACVJ,kBAAkB,CAACK,KAAK,GAAG,CAC7B,CAAC;EACH;EAEA,OACE1B,KAAA,CAAA2B,aAAA,CAACpB,YAAY,EAAAqB,QAAA;IACXC,IAAI,EAAC,MAAM;IACXN,SAAS,EAAEA,SAAU;IACrBR,SAAS,EAAEZ,UAAU,CAAC,8BAA8B,EAAEY,SAAS;EAAE,GAC7DG,SAAS,GAEblB,KAAA,CAAA2B,aAAA,CAACtB,IAAI,CAACyB,KAAK,QACRR,SAAS,IAAItB,KAAA,CAAA2B,aAAA,CAACrB,IAAI;IAACyB,IAAI,EAAC;EAAO,GAAET,SAAgB,CAAC,EAClDR,QAAQ,EACRG,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAAe,QAAA,KAAAA,QAAA,GACNhC,KAAA,CAAA2B,aAAA,CAAClB,OAAO,QACNT,KAAA,CAAA2B,aAAA,CAACjB,gBAAgB,MAAE,CACZ,CAAC,CAEF,CACA,CAAC;AAEnB;AAEAC,aAAa,CAACsB,qBAAqB,GAAG,IAAI;AAC1C,eAAetB,aAAa"}
@@ -9,6 +9,11 @@ export const ViewContainerProperties = {
9
9
  type: 'string',
10
10
  status: 'optional'
11
11
  },
12
+ toolbar: {
13
+ doc: 'An alternative toolbar to be shown in the container.',
14
+ type: 'React.Node',
15
+ status: 'optional'
16
+ },
12
17
  '[FlexVertical](/uilib/layout/flex/container/)': {
13
18
  doc: 'All Flex.Vertical properties.',
14
19
  type: 'Various',
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","toolbar","ViewContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'An alternative toolbar to be shown in the container.',\n type: 'React.Node',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMG,mBAAyC,GAAG,CAAC,CAAC"}
@@ -4,13 +4,13 @@ import React, { useCallback, useContext } from 'react';
4
4
  import { Button, Flex } from '../../../../components';
5
5
  import RemoveButton from '../RemoveButton';
6
6
  import useTranslation from '../../hooks/useTranslation';
7
- import IterateElementContext from '../IterateElementContext';
7
+ import IterateItemContext from '../IterateItemContext';
8
8
  import { edit } from '../../../../icons';
9
9
  export default function ViewToolbarTools() {
10
- const iterateElementContext = useContext(IterateElementContext);
10
+ const iterateItemContext = useContext(IterateItemContext);
11
11
  const {
12
12
  switchContainerMode
13
- } = iterateElementContext !== null && iterateElementContext !== void 0 ? iterateElementContext : {};
13
+ } = iterateItemContext !== null && iterateItemContext !== void 0 ? iterateItemContext : {};
14
14
  const translation = useTranslation().IterateViewContainer;
15
15
  const editHandler = useCallback(() => {
16
16
  switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
@@ -1 +1 @@
1
- {"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","RemoveButton","useTranslation","IterateElementContext","edit","ViewToolbarTools","iterateElementContext","switchContainerMode","translation","IterateViewContainer","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","editButton","text","removeButton"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport RemoveButton from '../RemoveButton'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateElementContext from '../IterateElementContext'\nimport { edit } from '../../../../icons'\n\nexport default function ViewToolbarTools() {\n const iterateElementContext = useContext(IterateElementContext)\n const { switchContainerMode } = iterateElementContext ?? {}\n\n const translation = useTranslation().IterateViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.editButton}\n </Button>\n\n <RemoveButton text={translation.removeButton} />\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,wBAAwB;AACrD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,qBAAqB,MAAM,0BAA0B;AAC5D,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,qBAAqB,GAAGR,UAAU,CAACK,qBAAqB,CAAC;EAC/D,MAAM;IAAEI;EAAoB,CAAC,GAAGD,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE3D,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,oBAAoB;EAEzD,MAAMC,WAAW,GAAGb,WAAW,CAAC,MAAM;IACpCU,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEX,KAAA,CAAAe,aAAA,CAACX,IAAI,CAACY,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BjB,KAAA,CAAAe,aAAA,CAACZ,MAAM;IACLe,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACU,UACP,CAAC,EAETtB,KAAA,CAAAe,aAAA,CAACV,YAAY;IAACkB,IAAI,EAAEX,WAAW,CAACY;EAAa,CAAE,CAChC,CAAC;AAEtB"}
1
+ {"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","RemoveButton","useTranslation","IterateItemContext","edit","ViewToolbarTools","iterateItemContext","switchContainerMode","translation","IterateViewContainer","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","editButton","text","removeButton"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../components'\nimport RemoveButton from '../RemoveButton'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport { edit } from '../../../../icons'\n\nexport default function ViewToolbarTools() {\n const iterateItemContext = useContext(IterateItemContext)\n const { switchContainerMode } = iterateItemContext ?? {}\n\n const translation = useTranslation().IterateViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.editButton}\n </Button>\n\n <RemoveButton text={translation.removeButton} />\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,wBAAwB;AACrD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,IAAI,QAAQ,mBAAmB;AAExC,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,kBAAkB,GAAGR,UAAU,CAACK,kBAAkB,CAAC;EACzD,MAAM;IAAEI;EAAoB,CAAC,GAAGD,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,CAAC,CAAC;EAExD,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,oBAAoB;EAEzD,MAAMC,WAAW,GAAGb,WAAW,CAAC,MAAM;IACpCU,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEX,KAAA,CAAAe,aAAA,CAACX,IAAI,CAACY,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BjB,KAAA,CAAAe,aAAA,CAACZ,MAAM;IACLe,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACU,UACP,CAAC,EAETtB,KAAA,CAAAe,aAAA,CAACV,YAAY;IAACkB,IAAI,EAAEX,WAAW,CAACY;EAAa,CAAE,CAChC,CAAC;AAEtB"}
@@ -0,0 +1 @@
1
+ export default function useItem(): import("../IterateItemContext").IterateItemContextState;
@@ -0,0 +1,9 @@
1
+ "use client";
2
+
3
+ import { useContext } from 'react';
4
+ import IterateItemContext from '../IterateItemContext';
5
+ export default function useItem() {
6
+ const item = useContext(IterateItemContext);
7
+ return item;
8
+ }
9
+ //# sourceMappingURL=useItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useItem.js","names":["useContext","IterateItemContext","useItem","item"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useItem.ts"],"sourcesContent":["import { useContext } from 'react'\nimport IterateItemContext from '../IterateItemContext'\n\nexport default function useItem() {\n const item = useContext(IterateItemContext)\n return item\n}\n"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,OAAOC,kBAAkB,MAAM,uBAAuB;AAEtD,eAAe,SAASC,OAAOA,CAAA,EAAG;EAChC,MAAMC,IAAI,GAAGH,UAAU,CAACC,kBAAkB,CAAC;EAC3C,OAAOE,IAAI;AACb"}
@@ -2,13 +2,15 @@ import PushButton from './PushButton';
2
2
  import RemoveButton from './RemoveButton';
3
3
  export { default as Array } from './Array';
4
4
  export { default as PushButton } from './PushButton';
5
+ export { default as PushContainer } from './PushContainer';
5
6
  export { default as RemoveButton } from './RemoveButton';
6
7
  export { default as EditContainer } from './EditContainer';
7
8
  export { default as ViewContainer } from './ViewContainer';
8
9
  export { default as AnimatedContainer } from './AnimatedContainer';
9
10
  export { default as Toolbar } from './Toolbar';
10
11
  export { useCount, count, Count } from './Count';
11
- export { default as IterateElementContext } from './IterateElementContext';
12
+ export { default as useItem } from './hooks/useItem';
13
+ export { default as IterateItemContext } from './IterateItemContext';
12
14
  /**
13
15
  * Deprecated and will be removed in v11
14
16
  *
@@ -2,13 +2,15 @@ import PushButton from './PushButton';
2
2
  import RemoveButton from './RemoveButton';
3
3
  export { default as Array } from './Array';
4
4
  export { default as PushButton } from './PushButton';
5
+ export { default as PushContainer } from './PushContainer';
5
6
  export { default as RemoveButton } from './RemoveButton';
6
7
  export { default as EditContainer } from './EditContainer';
7
8
  export { default as ViewContainer } from './ViewContainer';
8
9
  export { default as AnimatedContainer } from './AnimatedContainer';
9
10
  export { default as Toolbar } from './Toolbar';
10
11
  export { useCount, count, Count } from './Count';
11
- export { default as IterateElementContext } from './IterateElementContext';
12
+ export { default as useItem } from './hooks/useItem';
13
+ export { default as IterateItemContext } from './IterateItemContext';
12
14
  export const ArrayPushButton = PushButton;
13
15
  export const ArrayRemoveElementButton = RemoveButton;
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PushButton","RemoveButton","default","Array","EditContainer","ViewContainer","AnimatedContainer","Toolbar","useCount","count","Count","IterateElementContext","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 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 IterateElementContext } from './IterateElementContext'\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,IAAID,YAAY,QAAQ,gBAAgB;AACxD,SAASC,OAAO,IAAIE,aAAa,QAAQ,iBAAiB;AAC1D,SAASF,OAAO,IAAIG,aAAa,QAAQ,iBAAiB;AAC1D,SAASH,OAAO,IAAII,iBAAiB,QAAQ,qBAAqB;AAClE,SAASJ,OAAO,IAAIK,OAAO,QAAQ,WAAW;AAC9C,SAASC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,QAAQ,SAAS;AAChD,SAASR,OAAO,IAAIS,qBAAqB,QAAQ,yBAAyB;AAO1E,OAAO,MAAMC,eAAe,GAAGZ,UAAU;AAOzC,OAAO,MAAMa,wBAAwB,GAAGZ,YAAY"}
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"}
@@ -0,0 +1,19 @@
1
+ import { ValueProps } from '../../types';
2
+ import { InternalLocale } from '../../../../shared/Context';
3
+ export type Props = ValueProps<Array<number | string>> & {
4
+ /**
5
+ * Formatting options for the value.
6
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat
7
+ */
8
+ format?: Intl.ListFormatOptions;
9
+ };
10
+ declare function ArraySelection(props: Props): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace ArraySelection {
12
+ var _supportsSpacingProps: boolean;
13
+ }
14
+ export declare function listFormat(value: Array<number | string>, { locale, format, separator, }: {
15
+ locale?: InternalLocale;
16
+ format?: Intl.ListFormatOptions;
17
+ separator?: string;
18
+ }): string;
19
+ export default ArraySelection;
@@ -0,0 +1,66 @@
1
+ "use client";
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ const _excluded = ["path", "value", "format", "className"];
6
+ import React, { useContext, useMemo } from 'react';
7
+ import classnames from 'classnames';
8
+ import { useValueProps } from '../../hooks';
9
+ import ValueBlock from '../../ValueBlock';
10
+ import { LOCALE } from '../../../../shared/defaults';
11
+ import { convertJsxToString } from '../../../../shared/component-helper';
12
+ import SharedContext from '../../../../shared/Context';
13
+ import Context from '../../DataContext/Context';
14
+ function ArraySelection(props) {
15
+ const {
16
+ locale
17
+ } = useContext(SharedContext);
18
+ const {
19
+ fieldPropsRef
20
+ } = useContext(Context) || {};
21
+ const _useValueProps = useValueProps(props),
22
+ {
23
+ path,
24
+ value,
25
+ format,
26
+ className
27
+ } = _useValueProps,
28
+ rest = _objectWithoutProperties(_useValueProps, _excluded);
29
+ const list = useMemo(() => {
30
+ if (path) {
31
+ var _fieldPropsRef$curren, _data$map;
32
+ const data = fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : (_fieldPropsRef$curren = fieldPropsRef.current) === null || _fieldPropsRef$curren === void 0 ? void 0 : _fieldPropsRef$curren[path + '/arraySelectionData'];
33
+ return (data === null || data === void 0 ? void 0 : (_data$map = data.map) === null || _data$map === void 0 ? void 0 : _data$map.call(data, ({
34
+ title
35
+ }) => convertJsxToString(title))) || value;
36
+ }
37
+ return value;
38
+ }, [fieldPropsRef, path, value]);
39
+ return React.createElement(ValueBlock, _extends({
40
+ className: classnames('dnb-forms-value-array-selection', className)
41
+ }, rest), listFormat(list, {
42
+ locale,
43
+ format
44
+ }));
45
+ }
46
+ export function listFormat(value, {
47
+ locale = LOCALE,
48
+ format = {
49
+ style: 'long',
50
+ type: 'conjunction'
51
+ },
52
+ separator = ', '
53
+ }) {
54
+ if (!Array.isArray(value)) {
55
+ return value;
56
+ }
57
+ try {
58
+ const formatter = new Intl.ListFormat(locale, format);
59
+ return formatter.format(value.map(v => String(v)));
60
+ } catch (error) {
61
+ return value.join(separator);
62
+ }
63
+ }
64
+ ArraySelection._supportsSpacingProps = true;
65
+ export default ArraySelection;
66
+ //# sourceMappingURL=ArraySelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArraySelection.js","names":["React","useContext","useMemo","classnames","useValueProps","ValueBlock","LOCALE","convertJsxToString","SharedContext","Context","ArraySelection","props","locale","fieldPropsRef","_useValueProps","path","value","format","className","rest","_objectWithoutProperties","_excluded","list","_fieldPropsRef$curren","_data$map","data","current","map","call","title","createElement","_extends","listFormat","style","type","separator","Array","isArray","formatter","Intl","ListFormat","v","String","error","join","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport { LOCALE } from '../../../../shared/defaults'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport SharedContext, { InternalLocale } from '../../../../shared/Context'\nimport Context from '../../DataContext/Context'\n\nexport type Props = ValueProps<Array<number | string>> & {\n /**\n * Formatting options for the value.\n * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat\n */\n format?: Intl.ListFormatOptions\n}\n\nfunction ArraySelection(props: Props) {\n const { locale } = useContext(SharedContext)\n const { fieldPropsRef } = useContext(Context) || {}\n const { path, value, format, className, ...rest } = useValueProps(props)\n\n const list = useMemo(() => {\n if (path) {\n const data = fieldPropsRef?.current?.[\n path + '/arraySelectionData'\n ] as Array<{\n value: string\n title: string | React.ReactNode\n }>\n return data?.map?.(({ title }) => convertJsxToString(title)) || value\n }\n\n return value\n }, [fieldPropsRef, path, value])\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-array-selection', className)}\n {...rest}\n >\n {listFormat(list, { locale, format })}\n </ValueBlock>\n )\n}\n\nexport function listFormat(\n value: Array<number | string>,\n {\n locale = LOCALE,\n format = {\n style: 'long',\n type: 'conjunction',\n },\n separator = ', ',\n }: {\n locale?: InternalLocale\n format?: Intl.ListFormatOptions\n separator?: string\n }\n) {\n if (!Array.isArray(value)) {\n return value\n }\n try {\n const formatter = new Intl.ListFormat(locale, format)\n return formatter.format(value.map((v) => String(v)))\n } catch (error) {\n return value.join(separator)\n }\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,aAAa,QAAQ,aAAa;AAE3C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,MAAM,QAAQ,6BAA6B;AACpD,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,aAAa,MAA0B,4BAA4B;AAC1E,OAAOC,OAAO,MAAM,2BAA2B;AAU/C,SAASC,cAAcA,CAACC,KAAY,EAAE;EACpC,MAAM;IAAEC;EAAO,CAAC,GAAGX,UAAU,CAACO,aAAa,CAAC;EAC5C,MAAM;IAAEK;EAAc,CAAC,GAAGZ,UAAU,CAACQ,OAAO,CAAC,IAAI,CAAC,CAAC;EACnD,MAAAK,cAAA,GAAoDV,aAAa,CAACO,KAAK,CAAC;IAAlE;MAAEI,IAAI;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAmB,CAAC,GAAAJ,cAAA;IAANK,IAAI,GAAAC,wBAAA,CAAAN,cAAA,EAAAO,SAAA;EAE/C,MAAMC,IAAI,GAAGpB,OAAO,CAAC,MAAM;IACzB,IAAIa,IAAI,EAAE;MAAA,IAAAQ,qBAAA,EAAAC,SAAA;MACR,MAAMC,IAAI,GAAGZ,aAAa,aAAbA,aAAa,wBAAAU,qBAAA,GAAbV,aAAa,CAAEa,OAAO,cAAAH,qBAAA,uBAAtBA,qBAAA,CACXR,IAAI,GAAG,qBAAqB,CAI5B;MACF,OAAO,CAAAU,IAAI,aAAJA,IAAI,wBAAAD,SAAA,GAAJC,IAAI,CAAEE,GAAG,cAAAH,SAAA,uBAATA,SAAA,CAAAI,IAAA,CAAAH,IAAI,EAAQ,CAAC;QAAEI;MAAM,CAAC,KAAKtB,kBAAkB,CAACsB,KAAK,CAAC,CAAC,KAAIb,KAAK;IACvE;IAEA,OAAOA,KAAK;EACd,CAAC,EAAE,CAACH,aAAa,EAAEE,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEhC,OACEhB,KAAA,CAAA8B,aAAA,CAACzB,UAAU,EAAA0B,QAAA;IACTb,SAAS,EAAEf,UAAU,CAAC,iCAAiC,EAAEe,SAAS;EAAE,GAChEC,IAAI,GAEPa,UAAU,CAACV,IAAI,EAAE;IAAEV,MAAM;IAAEK;EAAO,CAAC,CAC1B,CAAC;AAEjB;AAEA,OAAO,SAASe,UAAUA,CACxBhB,KAA6B,EAC7B;EACEJ,MAAM,GAAGN,MAAM;EACfW,MAAM,GAAG;IACPgB,KAAK,EAAE,MAAM;IACbC,IAAI,EAAE;EACR,CAAC;EACDC,SAAS,GAAG;AAKd,CAAC,EACD;EACA,IAAI,CAACC,KAAK,CAACC,OAAO,CAACrB,KAAK,CAAC,EAAE;IACzB,OAAOA,KAAK;EACd;EACA,IAAI;IACF,MAAMsB,SAAS,GAAG,IAAIC,IAAI,CAACC,UAAU,CAAC5B,MAAM,EAAEK,MAAM,CAAC;IACrD,OAAOqB,SAAS,CAACrB,MAAM,CAACD,KAAK,CAACW,GAAG,CAAEc,CAAC,IAAKC,MAAM,CAACD,CAAC,CAAC,CAAC,CAAC;EACtD,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,OAAO3B,KAAK,CAAC4B,IAAI,CAACT,SAAS,CAAC;EAC9B;AACF;AAEAzB,cAAc,CAACmC,qBAAqB,GAAG,IAAI;AAC3C,eAAenC,cAAc"}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../../../shared/types';
2
+ export declare const ArraySelectionProperties: PropertiesTableProps;
@@ -0,0 +1,8 @@
1
+ export const ArraySelectionProperties = {
2
+ format: {
3
+ doc: 'Formatting options for the value. See the [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat) documentation.',
4
+ type: 'Intl.ListFormatOptions',
5
+ status: 'optional'
6
+ }
7
+ };
8
+ //# sourceMappingURL=ArraySelectionDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArraySelectionDocs.js","names":["ArraySelectionProperties","format","doc","type","status"],"sources":["../../../../../../src/extensions/forms/Value/ArraySelection/ArraySelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ArraySelectionProperties: PropertiesTableProps = {\n format: {\n doc: 'Formatting options for the value. See the [Intl.ListFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat) documentation.',\n type: 'Intl.ListFormatOptions',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,wBAA8C,GAAG;EAC5DC,MAAM,EAAE;IACNC,GAAG,EAAE,yLAAyL;IAC9LC,IAAI,EAAE,wBAAwB;IAC9BC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './ArraySelection';
2
+ export * from './ArraySelection';
@@ -0,0 +1,3 @@
1
+ export { default } from './ArraySelection';
2
+ export * from './ArraySelection';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../../src/extensions/forms/Value/ArraySelection/index.ts"],"sourcesContent":["export { default } from './ArraySelection'\nexport * from './ArraySelection'\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,kBAAkB;AAC1C,cAAc,kBAAkB"}
@@ -0,0 +1,7 @@
1
+ import { ValueProps } from '../../types';
2
+ export type Props = ValueProps<string>;
3
+ declare function SelectCountry(props: Props): import("react/jsx-runtime").JSX.Element;
4
+ declare namespace SelectCountry {
5
+ var _supportsSpacingProps: boolean;
6
+ }
7
+ export default SelectCountry;