@dnb/eufemia 10.48.0 → 10.50.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 (573) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  3. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  4. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  5. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  6. package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  7. package/cjs/components/checkbox/CheckboxDocs.js +1 -1
  8. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  9. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  10. package/cjs/components/height-animation/HeightAnimationInstance.js +13 -6
  11. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  12. package/cjs/elements/ElementDocs.d.ts +2 -0
  13. package/cjs/elements/ElementDocs.js +35 -0
  14. package/cjs/elements/ElementDocs.js.map +1 -0
  15. package/cjs/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  16. package/cjs/elements/blockquote/BlockquoteDocs.js +25 -0
  17. package/cjs/elements/blockquote/BlockquoteDocs.js.map +1 -0
  18. package/cjs/elements/hr/HrDocs.d.ts +2 -0
  19. package/cjs/elements/hr/HrDocs.js +25 -0
  20. package/cjs/elements/hr/HrDocs.js.map +1 -0
  21. package/cjs/elements/img/ImgDocs.d.ts +2 -0
  22. package/cjs/elements/img/ImgDocs.js +40 -0
  23. package/cjs/elements/img/ImgDocs.js.map +1 -0
  24. package/cjs/elements/lists/DlDocs.d.ts +2 -0
  25. package/cjs/elements/lists/DlDocs.js +21 -0
  26. package/cjs/elements/lists/DlDocs.js.map +1 -0
  27. package/cjs/elements/lists/OlDocs.d.ts +2 -0
  28. package/cjs/elements/lists/OlDocs.js +31 -0
  29. package/cjs/elements/lists/OlDocs.js.map +1 -0
  30. package/cjs/elements/lists/UlDocs.d.ts +2 -0
  31. package/cjs/elements/lists/UlDocs.js +31 -0
  32. package/cjs/elements/lists/UlDocs.js.map +1 -0
  33. package/cjs/elements/typography/IngressDocs.d.ts +2 -0
  34. package/cjs/elements/typography/IngressDocs.js +15 -0
  35. package/cjs/elements/typography/IngressDocs.js.map +1 -0
  36. package/cjs/elements/typography/LeadDocs.d.ts +2 -0
  37. package/cjs/elements/typography/LeadDocs.js +15 -0
  38. package/cjs/elements/typography/LeadDocs.js.map +1 -0
  39. package/cjs/elements/typography/PDocs.d.ts +2 -0
  40. package/cjs/elements/typography/PDocs.js +40 -0
  41. package/cjs/elements/typography/PDocs.js.map +1 -0
  42. package/cjs/extensions/forms/DataContext/Context.d.ts +21 -8
  43. package/cjs/extensions/forms/DataContext/Context.js +1 -2
  44. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +4 -0
  46. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -4
  48. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  50. package/cjs/extensions/forms/DataContext/Provider/Provider.js +85 -49
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  54. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +34 -5
  55. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  56. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  57. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -3
  58. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  59. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  60. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +65 -2
  61. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  63. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -32
  64. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  65. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  66. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  67. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  68. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  69. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  70. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
  71. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  72. package/cjs/extensions/forms/Form/Isolation/Isolation.js +15 -6
  73. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  74. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  75. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  76. package/cjs/extensions/forms/Form/Visibility/Visibility.js +9 -3
  77. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  78. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  79. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js +12 -0
  80. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  81. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  82. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  83. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  84. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  85. package/cjs/extensions/forms/Form/data-context/getData.d.ts +2 -1
  86. package/cjs/extensions/forms/Form/data-context/getData.js +6 -1
  87. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  88. package/cjs/extensions/forms/Form/data-context/useData.d.ts +4 -1
  89. package/cjs/extensions/forms/Form/data-context/useData.js +32 -9
  90. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  91. package/cjs/extensions/forms/Iterate/Array/Array.js +40 -17
  92. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  93. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +11 -1
  94. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  95. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +1 -1
  96. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  97. package/cjs/extensions/forms/Iterate/Array/types.d.ts +2 -0
  98. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  99. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +19 -7
  100. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  101. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +0 -1
  102. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  103. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  104. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  105. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +29 -7
  106. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +18 -2
  108. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  109. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +2 -1
  110. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -10
  111. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  112. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  113. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  114. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +3 -5
  115. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  116. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  117. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  119. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  120. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  122. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +50 -0
  123. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  124. package/cjs/extensions/forms/Tools/Log.js +1 -1
  125. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  126. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  127. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
  128. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  129. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  130. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  131. package/cjs/extensions/forms/Value/Number/Number.js +3 -2
  132. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  133. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  134. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -23
  135. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  136. package/cjs/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  137. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +33 -0
  138. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  139. package/cjs/extensions/forms/Value/Selection/Selection.js +2 -1
  140. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  141. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  142. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  143. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  144. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  145. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  146. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  147. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  148. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  149. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  150. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  151. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  152. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  153. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  154. package/cjs/extensions/forms/constants/countries.d.ts +1 -0
  155. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  156. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  157. package/cjs/extensions/forms/constants/locales/en-GB.js +8 -7
  158. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  159. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -4
  160. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -8
  161. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  162. package/cjs/extensions/forms/constants/locales/nb-NO.js +8 -7
  163. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  164. package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
  165. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  166. package/cjs/extensions/forms/hooks/useFieldProps.js +156 -58
  167. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  168. package/cjs/extensions/forms/hooks/useValueProps.js +31 -8
  169. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  170. package/cjs/extensions/forms/types.d.ts +13 -6
  171. package/cjs/extensions/forms/types.js.map +1 -1
  172. package/cjs/shared/Eufemia.d.ts +1 -1
  173. package/cjs/shared/Eufemia.js +2 -2
  174. package/cjs/shared/Eufemia.js.map +1 -1
  175. package/cjs/shared/locales/en-GB.js.map +1 -1
  176. package/cjs/shared/locales/en-US.d.ts +1 -1
  177. package/cjs/shared/locales/en-US.js +2 -2
  178. package/cjs/shared/locales/en-US.js.map +1 -1
  179. package/cjs/style/core/scopes.scss +1 -1
  180. package/cjs/style/dnb-ui-basis.css +1 -1
  181. package/cjs/style/dnb-ui-basis.min.css +1 -1
  182. package/cjs/style/dnb-ui-body.css +1 -1
  183. package/cjs/style/dnb-ui-body.min.css +1 -1
  184. package/cjs/style/dnb-ui-core.css +1 -1
  185. package/cjs/style/dnb-ui-core.min.css +1 -1
  186. package/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  187. package/components/breadcrumb/BreadcrumbItem.js +3 -3
  188. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  189. package/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  190. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  191. package/components/checkbox/CheckboxDocs.js +1 -1
  192. package/components/checkbox/CheckboxDocs.js.map +1 -1
  193. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  194. package/components/height-animation/HeightAnimationInstance.js +13 -6
  195. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  196. package/elements/ElementDocs.d.ts +2 -0
  197. package/elements/ElementDocs.js +28 -0
  198. package/elements/ElementDocs.js.map +1 -0
  199. package/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  200. package/elements/blockquote/BlockquoteDocs.js +18 -0
  201. package/elements/blockquote/BlockquoteDocs.js.map +1 -0
  202. package/elements/hr/HrDocs.d.ts +2 -0
  203. package/elements/hr/HrDocs.js +18 -0
  204. package/elements/hr/HrDocs.js.map +1 -0
  205. package/elements/img/ImgDocs.d.ts +2 -0
  206. package/elements/img/ImgDocs.js +33 -0
  207. package/elements/img/ImgDocs.js.map +1 -0
  208. package/elements/lists/DlDocs.d.ts +2 -0
  209. package/elements/lists/DlDocs.js +12 -0
  210. package/elements/lists/DlDocs.js.map +1 -0
  211. package/elements/lists/OlDocs.d.ts +2 -0
  212. package/elements/lists/OlDocs.js +22 -0
  213. package/elements/lists/OlDocs.js.map +1 -0
  214. package/elements/lists/UlDocs.d.ts +2 -0
  215. package/elements/lists/UlDocs.js +22 -0
  216. package/elements/lists/UlDocs.js.map +1 -0
  217. package/elements/typography/IngressDocs.d.ts +2 -0
  218. package/elements/typography/IngressDocs.js +6 -0
  219. package/elements/typography/IngressDocs.js.map +1 -0
  220. package/elements/typography/LeadDocs.d.ts +2 -0
  221. package/elements/typography/LeadDocs.js +6 -0
  222. package/elements/typography/LeadDocs.js.map +1 -0
  223. package/elements/typography/PDocs.d.ts +2 -0
  224. package/elements/typography/PDocs.js +33 -0
  225. package/elements/typography/PDocs.js.map +1 -0
  226. package/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  227. package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
  228. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  229. package/es/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  230. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  231. package/es/components/checkbox/CheckboxDocs.js +1 -1
  232. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  233. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  234. package/es/components/height-animation/HeightAnimationInstance.js +13 -6
  235. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  236. package/es/elements/ElementDocs.d.ts +2 -0
  237. package/es/elements/ElementDocs.js +28 -0
  238. package/es/elements/ElementDocs.js.map +1 -0
  239. package/es/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  240. package/es/elements/blockquote/BlockquoteDocs.js +18 -0
  241. package/es/elements/blockquote/BlockquoteDocs.js.map +1 -0
  242. package/es/elements/hr/HrDocs.d.ts +2 -0
  243. package/es/elements/hr/HrDocs.js +18 -0
  244. package/es/elements/hr/HrDocs.js.map +1 -0
  245. package/es/elements/img/ImgDocs.d.ts +2 -0
  246. package/es/elements/img/ImgDocs.js +33 -0
  247. package/es/elements/img/ImgDocs.js.map +1 -0
  248. package/es/elements/lists/DlDocs.d.ts +2 -0
  249. package/es/elements/lists/DlDocs.js +12 -0
  250. package/es/elements/lists/DlDocs.js.map +1 -0
  251. package/es/elements/lists/OlDocs.d.ts +2 -0
  252. package/es/elements/lists/OlDocs.js +22 -0
  253. package/es/elements/lists/OlDocs.js.map +1 -0
  254. package/es/elements/lists/UlDocs.d.ts +2 -0
  255. package/es/elements/lists/UlDocs.js +22 -0
  256. package/es/elements/lists/UlDocs.js.map +1 -0
  257. package/es/elements/typography/IngressDocs.d.ts +2 -0
  258. package/es/elements/typography/IngressDocs.js +6 -0
  259. package/es/elements/typography/IngressDocs.js.map +1 -0
  260. package/es/elements/typography/LeadDocs.d.ts +2 -0
  261. package/es/elements/typography/LeadDocs.js +6 -0
  262. package/es/elements/typography/LeadDocs.js.map +1 -0
  263. package/es/elements/typography/PDocs.d.ts +2 -0
  264. package/es/elements/typography/PDocs.js +33 -0
  265. package/es/elements/typography/PDocs.js.map +1 -0
  266. package/es/extensions/forms/DataContext/Context.d.ts +21 -8
  267. package/es/extensions/forms/DataContext/Context.js +1 -2
  268. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  269. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +4 -0
  270. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  271. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -4
  272. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  273. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  274. package/es/extensions/forms/DataContext/Provider/Provider.js +83 -47
  275. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  276. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  277. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  278. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
  279. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  280. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  281. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
  282. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  283. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  284. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
  285. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  286. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  287. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +50 -21
  288. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  289. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  290. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  291. package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  292. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  293. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  294. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  295. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  296. package/es/extensions/forms/Form/Isolation/Isolation.js +15 -6
  297. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  298. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  299. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  300. package/es/extensions/forms/Form/Visibility/Visibility.js +9 -3
  301. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  302. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  303. package/es/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
  304. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  305. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  306. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  307. package/es/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  308. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  309. package/es/extensions/forms/Form/data-context/getData.d.ts +2 -1
  310. package/es/extensions/forms/Form/data-context/getData.js +6 -1
  311. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  312. package/es/extensions/forms/Form/data-context/useData.d.ts +4 -1
  313. package/es/extensions/forms/Form/data-context/useData.js +31 -9
  314. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  315. package/es/extensions/forms/Iterate/Array/Array.js +43 -20
  316. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  317. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +11 -1
  318. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  319. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +1 -1
  320. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  321. package/es/extensions/forms/Iterate/Array/types.d.ts +2 -0
  322. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  323. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +15 -5
  324. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  325. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +0 -1
  326. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  327. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  328. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  329. package/es/extensions/forms/Iterate/PushButton/PushButton.js +31 -9
  330. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  331. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
  332. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  333. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +2 -1
  334. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
  335. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  336. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  337. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  338. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -6
  339. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  340. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  341. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  342. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  343. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  344. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  345. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  346. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +43 -0
  347. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  348. package/es/extensions/forms/Tools/Log.js +1 -1
  349. package/es/extensions/forms/Tools/Log.js.map +1 -1
  350. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  351. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +26 -9
  352. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  353. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  354. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  355. package/es/extensions/forms/Value/Number/Number.js +3 -2
  356. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  357. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  358. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
  359. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  360. package/es/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  361. package/es/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
  362. package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  363. package/es/extensions/forms/Value/Selection/Selection.js +2 -1
  364. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  365. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  366. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  367. package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  368. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  369. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  370. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  371. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  372. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  373. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  374. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  375. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  376. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  377. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  378. package/es/extensions/forms/constants/countries.d.ts +1 -0
  379. package/es/extensions/forms/constants/countries.js.map +1 -1
  380. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  381. package/es/extensions/forms/constants/locales/en-GB.js +8 -7
  382. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  383. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -4
  384. package/es/extensions/forms/constants/locales/index.d.ts +10 -8
  385. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  386. package/es/extensions/forms/constants/locales/nb-NO.js +8 -7
  387. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  388. package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
  389. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  390. package/es/extensions/forms/hooks/useFieldProps.js +149 -54
  391. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  392. package/es/extensions/forms/hooks/useValueProps.js +32 -9
  393. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  394. package/es/extensions/forms/types.d.ts +13 -6
  395. package/es/extensions/forms/types.js.map +1 -1
  396. package/es/shared/Eufemia.d.ts +1 -1
  397. package/es/shared/Eufemia.js +2 -2
  398. package/es/shared/Eufemia.js.map +1 -1
  399. package/es/shared/locales/en-GB.js.map +1 -1
  400. package/es/shared/locales/en-US.d.ts +1 -1
  401. package/es/shared/locales/en-US.js +2 -2
  402. package/es/shared/locales/en-US.js.map +1 -1
  403. package/es/style/core/scopes.scss +1 -1
  404. package/es/style/dnb-ui-basis.css +1 -1
  405. package/es/style/dnb-ui-basis.min.css +1 -1
  406. package/es/style/dnb-ui-body.css +1 -1
  407. package/es/style/dnb-ui-body.min.css +1 -1
  408. package/es/style/dnb-ui-core.css +1 -1
  409. package/es/style/dnb-ui-core.min.css +1 -1
  410. package/esm/dnb-ui-basis.min.mjs +1 -1
  411. package/esm/dnb-ui-components.min.mjs +1 -1
  412. package/esm/dnb-ui-elements.min.mjs +1 -1
  413. package/esm/dnb-ui-extensions.min.mjs +3 -3
  414. package/esm/dnb-ui-lib.min.mjs +1 -1
  415. package/extensions/forms/DataContext/Context.d.ts +21 -8
  416. package/extensions/forms/DataContext/Context.js +1 -2
  417. package/extensions/forms/DataContext/Context.js.map +1 -1
  418. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +4 -0
  419. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  420. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -4
  421. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  422. package/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  423. package/extensions/forms/DataContext/Provider/Provider.js +85 -47
  424. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  425. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  426. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  427. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
  428. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  429. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  430. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
  431. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  432. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  433. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
  434. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  435. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  436. package/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -33
  437. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  438. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  439. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  440. package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  441. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  442. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  443. package/extensions/forms/Form/Handler/Handler.js +3 -1
  444. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  445. package/extensions/forms/Form/Isolation/Isolation.js +15 -6
  446. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  447. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  448. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  449. package/extensions/forms/Form/Visibility/Visibility.js +9 -3
  450. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  451. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  452. package/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
  453. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  454. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  455. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  456. package/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  457. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  458. package/extensions/forms/Form/data-context/getData.d.ts +2 -1
  459. package/extensions/forms/Form/data-context/getData.js +6 -1
  460. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  461. package/extensions/forms/Form/data-context/useData.d.ts +4 -1
  462. package/extensions/forms/Form/data-context/useData.js +32 -9
  463. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  464. package/extensions/forms/Iterate/Array/Array.js +43 -20
  465. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  466. package/extensions/forms/Iterate/Array/ArrayDocs.js +11 -1
  467. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  468. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +1 -1
  469. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  470. package/extensions/forms/Iterate/Array/types.d.ts +2 -0
  471. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  472. package/extensions/forms/Iterate/EditContainer/CancelButton.js +18 -7
  473. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  474. package/extensions/forms/Iterate/EditContainer/DoneButton.js +0 -1
  475. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  476. package/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  477. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  478. package/extensions/forms/Iterate/PushButton/PushButton.js +31 -9
  479. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  480. package/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
  481. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  482. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +2 -1
  483. package/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
  484. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  485. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  486. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  487. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -6
  488. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  489. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  490. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  491. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  492. package/extensions/forms/Iterate/hooks/index.js +1 -0
  493. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  494. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  495. package/extensions/forms/Iterate/hooks/useArrayLimit.js +44 -0
  496. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  497. package/extensions/forms/Tools/Log.js +1 -1
  498. package/extensions/forms/Tools/Log.js.map +1 -1
  499. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  500. package/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
  501. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  502. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  503. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  504. package/extensions/forms/Value/Number/Number.js +3 -2
  505. package/extensions/forms/Value/Number/Number.js.map +1 -1
  506. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  507. package/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
  508. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  509. package/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  510. package/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
  511. package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  512. package/extensions/forms/Value/Selection/Selection.js +2 -1
  513. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  514. package/extensions/forms/Value/ValueDocs.js +5 -0
  515. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  516. package/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  517. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  518. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  519. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  520. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  521. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  522. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  523. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  524. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  525. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  526. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  527. package/extensions/forms/constants/countries.d.ts +1 -0
  528. package/extensions/forms/constants/countries.js.map +1 -1
  529. package/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  530. package/extensions/forms/constants/locales/en-GB.js +8 -7
  531. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  532. package/extensions/forms/constants/locales/en-US.d.ts +5 -4
  533. package/extensions/forms/constants/locales/index.d.ts +10 -8
  534. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  535. package/extensions/forms/constants/locales/nb-NO.js +8 -7
  536. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  537. package/extensions/forms/hooks/DataValueDocs.js +1 -1
  538. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  539. package/extensions/forms/hooks/useFieldProps.js +154 -58
  540. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  541. package/extensions/forms/hooks/useValueProps.js +32 -9
  542. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  543. package/extensions/forms/types.d.ts +13 -6
  544. package/extensions/forms/types.js.map +1 -1
  545. package/package.json +1 -1
  546. package/shared/Eufemia.d.ts +1 -1
  547. package/shared/Eufemia.js +2 -2
  548. package/shared/Eufemia.js.map +1 -1
  549. package/shared/locales/en-GB.js.map +1 -1
  550. package/shared/locales/en-US.d.ts +1 -1
  551. package/shared/locales/en-US.js +2 -2
  552. package/shared/locales/en-US.js.map +1 -1
  553. package/style/core/scopes.scss +1 -1
  554. package/style/dnb-ui-basis.css +1 -1
  555. package/style/dnb-ui-basis.min.css +1 -1
  556. package/style/dnb-ui-body.css +1 -1
  557. package/style/dnb-ui-body.min.css +1 -1
  558. package/style/dnb-ui-core.css +1 -1
  559. package/style/dnb-ui-core.min.css +1 -1
  560. package/umd/dnb-ui-basis.min.js +1 -1
  561. package/umd/dnb-ui-components.min.js +1 -1
  562. package/umd/dnb-ui-elements.min.js +1 -1
  563. package/umd/dnb-ui-extensions.min.js +3 -3
  564. package/umd/dnb-ui-lib.min.js +1 -1
  565. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  566. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -25
  567. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
  568. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  569. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
  570. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
  571. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  572. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
  573. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OpenButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_icons","_IterateItemContext","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","OpenButton","props","className","children","restProps","switchContainerMode","useContext","IterateItemContext","handleClick","useCallback","createElement","classnames","variant","icon","add","icon_position","on_click","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/OpenButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport Button, { ButtonProps } from '../../../../components/Button'\nimport { add } from '../../../../icons'\nimport IterateItemContext from '../IterateItemContext'\n\ntype Props = ButtonProps\n\nfunction OpenButton(props: Props) {\n const { className, children, ...restProps } = props\n const { switchContainerMode } = useContext(IterateItemContext) || {}\n\n const handleClick = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-open-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...restProps}\n >\n {children}\n </Button>\n )\n}\n\nexport default OpenButton\n"],"mappings":"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"}
1
+ {"version":3,"file":"OpenButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_icons","_IterateItemContext","_PushContainerContext","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","OpenButton","props","className","text","children","restProps","switchContainerMode","useContext","IterateItemContext","entries","PushContainerContext","handleClick","useCallback","content","useMemo","str","convertJsxToString","includes","nextItemNo","replace","String","createElement","classnames","variant","icon","add","icon_position","on_click","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/OpenButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport Button, { ButtonProps } from '../../../../components/Button'\nimport { add } from '../../../../icons'\nimport IterateItemContext from '../IterateItemContext'\nimport PushContainerContext from './PushContainerContext'\nimport { convertJsxToString } from '../../../../shared/component-helper'\n\ntype Props = ButtonProps\n\nfunction OpenButton(props: Props) {\n const { className, text, children, ...restProps } = props\n const { switchContainerMode } = useContext(IterateItemContext) || {}\n const { entries } = useContext(PushContainerContext) || {}\n\n const handleClick = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n const content = useMemo(() => {\n if (children || text) {\n const str = convertJsxToString(children || text)\n\n if (str.includes('{nextItemNo}')) {\n const nextItemNo = (entries?.length || 0) + 1\n return str.replace('{nextItemNo}', String(nextItemNo))\n }\n }\n\n return children || text\n }, [entries?.length, children, text])\n\n return (\n <Button\n className={classnames('dnb-forms-iterate-open-button', className)}\n variant=\"secondary\"\n icon={add}\n icon_position=\"left\"\n on_click={handleClick}\n {...restProps}\n >\n {content}\n </Button>\n )\n}\n\nexport default OpenButton\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Path } from '../../types';
3
3
  import { SpacingProps } from '../../../../shared/types';
4
+ import { ArrayItemAreaProps } from '../Array/ArrayItemArea';
4
5
  export type Props = {
5
6
  /**
6
7
  * The path to the array to add the new item to.
@@ -32,7 +33,7 @@ export type Props = {
32
33
  */
33
34
  children: React.ReactNode;
34
35
  };
35
- export type AllProps = Props & SpacingProps;
36
+ export type AllProps = Props & SpacingProps & ArrayItemAreaProps;
36
37
  declare function PushContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
37
38
  declare namespace PushContainer {
38
39
  var OpenButton: typeof import("./OpenButton").default;
@@ -18,9 +18,8 @@ var _components = require("../../../../components");
18
18
  var _hooks = require("../hooks");
19
19
  var _Toolbar = _interopRequireDefault(require("../Toolbar"));
20
20
  var _hooks2 = require("../../hooks");
21
- var _CancelButton;
22
21
  const _excluded = ["data", "path", "title", "children", "openButton", "showOpenButtonWhen"],
23
- _excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "children"];
22
+ _excluded2 = ["title", "openButton", "showOpenButton", "switchContainerModeRef", "cancelHandler", "children"];
24
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -55,6 +54,17 @@ function PushContainer(props) {
55
54
  } = (0, _hooks.useSwitchContainerMode)({
56
55
  path
57
56
  });
57
+ const {
58
+ hasReachedLimit,
59
+ setShowStatus
60
+ } = (0, _hooks.useArrayLimit)({
61
+ path
62
+ });
63
+ const cancelHandler = (0, _react.useCallback)(() => {
64
+ if (hasReachedLimit) {
65
+ setShowStatus(false);
66
+ }
67
+ }, [hasReachedLimit, setShowStatus]);
58
68
  const showOpenButton = showOpenButtonWhen === null || showOpenButtonWhen === void 0 ? void 0 : showOpenButtonWhen(entries);
59
69
  const newItemContextProps = {
60
70
  path,
@@ -78,13 +88,19 @@ function PushContainer(props) {
78
88
  return moveValueToPath(path, [...entries, ...newItems]);
79
89
  },
80
90
  onCommit: (data, _ref2) => {
81
- var _switchContainerModeR;
82
91
  let {
83
- clearData
92
+ clearData,
93
+ preventCommit
84
94
  } = _ref2;
85
- setNextContainerMode('view');
86
- (_switchContainerModeR = switchContainerModeRef.current) === null || _switchContainerModeR === void 0 ? void 0 : _switchContainerModeR.call(switchContainerModeRef, 'view');
87
- clearData();
95
+ if (hasReachedLimit) {
96
+ preventCommit();
97
+ setShowStatus(true);
98
+ } else {
99
+ var _switchContainerModeR;
100
+ setNextContainerMode('view');
101
+ (_switchContainerModeR = switchContainerModeRef.current) === null || _switchContainerModeR === void 0 ? void 0 : _switchContainerModeR.call(switchContainerModeRef, 'view');
102
+ clearData();
103
+ }
88
104
  }
89
105
  }, _react.default.createElement(_PushContainerContext.default.Provider, {
90
106
  value: newItemContextProps
@@ -95,16 +111,18 @@ function PushContainer(props) {
95
111
  title: title,
96
112
  openButton: openButton,
97
113
  switchContainerModeRef: switchContainerModeRef,
98
- showOpenButton: showOpenButton
114
+ showOpenButton: showOpenButton,
115
+ cancelHandler: cancelHandler
99
116
  }, rest), children))));
100
117
  }
101
118
  function NewContainer(_ref3) {
102
- var _DoneButton;
119
+ var _DoneButton, _CancelButton;
103
120
  let {
104
121
  title,
105
122
  openButton,
106
123
  showOpenButton,
107
124
  switchContainerModeRef,
125
+ cancelHandler,
108
126
  children
109
127
  } = _ref3,
110
128
  rest = _objectWithoutProperties(_ref3, _excluded2);
@@ -132,7 +150,9 @@ function NewContainer(_ref3) {
132
150
  gap: "large"
133
151
  }, _DoneButton || (_DoneButton = _react.default.createElement(_EditContainer.DoneButton, {
134
152
  text: createButton
135
- })), showOpenButton && (_CancelButton || (_CancelButton = _react.default.createElement(_EditContainer.CancelButton, null)))));
153
+ })), showOpenButton && (_CancelButton || (_CancelButton = _react.default.createElement(_EditContainer.CancelButton, {
154
+ onClick: cancelHandler
155
+ })))));
136
156
  }));
137
157
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_EditContainer.default, _extends({
138
158
  open: !showOpenButton || containerMode === 'edit',
@@ -1 +1 @@
1
- {"version":3,"file":"PushContainer.js","names":["_react","_interopRequireWildcard","require","_Isolation","_interopRequireDefault","_PushContainerContext","_IterateItemContext","_Context","_useDataValue","_EditContainer","_Array","_OpenButton","_components","_hooks","_Toolbar","_hooks2","_CancelButton","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","commitHandleRef","useRef","switchContainerModeRef","entries","moveValueToPath","useDataValue","setNextContainerMode","useSwitchContainerMode","showOpenButton","newItemContextProps","switchContainerMode","current","defaultData","useMemo","newItems","createElement","emptyData","transformOnCommit","_ref","onCommit","_ref2","_switchContainerModeR","clearData","Provider","containerMode","NewContainer","_ref3","_DoneButton","useContext","IterateItemContext","createButton","useTranslation","IteratePushContainer","DataContext","restoreOriginalValue","useCallback","toolbar","Consumer","context","Flex","Horizontal","gap","DoneButton","text","CancelButton","Fragment","open","HeightAnimation","OpenButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields.\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = null,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const defaultData = useMemo(() => {\n return { newItems: [data] }\n }, [data])\n\n return (\n <Isolation\n defaultData={defaultData}\n emptyData={defaultData}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItems }) => {\n return moveValueToPath(path, [...entries, ...newItems])\n }}\n onCommit={(data, { clearData }) => {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/newItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && <CancelButton />}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"PushContainer.js","names":["_react","_interopRequireWildcard","require","_Isolation","_interopRequireDefault","_PushContainerContext","_IterateItemContext","_Context","_useDataValue","_EditContainer","_Array","_OpenButton","_components","_hooks","_Toolbar","_hooks2","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","PushContainer","props","data","path","title","children","openButton","showOpenButtonWhen","rest","commitHandleRef","useRef","switchContainerModeRef","entries","moveValueToPath","useDataValue","setNextContainerMode","useSwitchContainerMode","hasReachedLimit","setShowStatus","useArrayLimit","cancelHandler","useCallback","showOpenButton","newItemContextProps","switchContainerMode","current","defaultData","useMemo","newItems","createElement","emptyData","transformOnCommit","_ref","onCommit","_ref2","clearData","preventCommit","_switchContainerModeR","Provider","containerMode","NewContainer","_ref3","_DoneButton","_CancelButton","useContext","IterateItemContext","createButton","useTranslation","IteratePushContainer","DataContext","restoreOriginalValue","toolbar","Consumer","context","Flex","Horizontal","gap","DoneButton","text","CancelButton","onClick","Fragment","open","HeightAnimation","OpenButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainer.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport Isolation from '../../Form/Isolation'\nimport PushContainerContext from './PushContainerContext'\nimport IterateItemContext from '../IterateItemContext'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport EditContainer, { CancelButton, DoneButton } from '../EditContainer'\nimport IterateArray, { ContainerMode } from '../Array'\nimport OpenButton from './OpenButton'\nimport { Flex, HeightAnimation } from '../../../../components'\nimport { Path } from '../../types'\nimport { SpacingProps } from '../../../../shared/types'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport Toolbar from '../Toolbar'\nimport { useTranslation } from '../../hooks'\nimport { ArrayItemAreaProps } from '../Array/ArrayItemArea'\n\nexport type Props = {\n /**\n * The path to the array to add the new item to.\n */\n path: Path\n\n /**\n * The title of the container.\n */\n title?: React.ReactNode\n\n /**\n * The button to open container.\n */\n openButton?: React.ReactNode\n\n /**\n * Define when the \"open button\" should be shown.\n * Should be a function that returns a boolean.\n */\n showOpenButtonWhen?: (list: unknown[]) => boolean\n\n /**\n * Prefilled data to add to the fields.\n */\n data?: unknown | Record<string, unknown>\n\n /**\n * A custom toolbar to be shown below the container.\n */\n toolbar?: React.ReactNode\n\n /**\n * The container contents.\n */\n children: React.ReactNode\n}\n\nexport type AllProps = Props & SpacingProps & ArrayItemAreaProps\n\nfunction PushContainer(props: AllProps) {\n const {\n data = null,\n path,\n title,\n children,\n openButton,\n showOpenButtonWhen,\n ...rest\n } = props\n\n const commitHandleRef = useRef<() => void>()\n const switchContainerModeRef = useRef<(mode: ContainerMode) => void>()\n const { value: entries = [], moveValueToPath } = useDataValue<\n Array<unknown>\n >({ path })\n\n const { setNextContainerMode } = useSwitchContainerMode({ path })\n const { hasReachedLimit, setShowStatus } = useArrayLimit({\n path,\n })\n const cancelHandler = useCallback(() => {\n if (hasReachedLimit) {\n setShowStatus(false)\n }\n }, [hasReachedLimit, setShowStatus])\n\n const showOpenButton = showOpenButtonWhen?.(entries)\n const newItemContextProps: PushContainerContext = {\n path,\n entries,\n commitHandleRef,\n switchContainerMode: switchContainerModeRef.current,\n }\n\n const defaultData = useMemo(() => {\n return { newItems: [data] }\n }, [data])\n\n return (\n <Isolation\n defaultData={defaultData}\n emptyData={defaultData}\n commitHandleRef={commitHandleRef}\n transformOnCommit={({ newItems }) => {\n return moveValueToPath(path, [...entries, ...newItems])\n }}\n onCommit={(data, { clearData, preventCommit }) => {\n if (hasReachedLimit) {\n preventCommit()\n setShowStatus(true)\n } else {\n setNextContainerMode('view')\n switchContainerModeRef.current?.('view')\n clearData()\n }\n }}\n >\n <PushContainerContext.Provider value={newItemContextProps}>\n <IterateArray\n path=\"/newItems\"\n containerMode={showOpenButton ? 'view' : 'edit'}\n >\n <NewContainer\n title={title}\n openButton={openButton}\n switchContainerModeRef={switchContainerModeRef}\n showOpenButton={showOpenButton}\n cancelHandler={cancelHandler}\n {...rest}\n >\n {children}\n </NewContainer>\n </IterateArray>\n </PushContainerContext.Provider>\n </Isolation>\n )\n}\n\nfunction NewContainer({\n title,\n openButton,\n showOpenButton,\n switchContainerModeRef,\n cancelHandler,\n children,\n ...rest\n}) {\n const { containerMode, switchContainerMode } =\n useContext(IterateItemContext) || {}\n switchContainerModeRef.current = switchContainerMode\n const { createButton } = useTranslation().IteratePushContainer\n const { clearData } = useContext(DataContext) || {}\n const restoreOriginalValue = useCallback(() => {\n clearData?.()\n }, [clearData])\n\n const toolbar = (\n <Toolbar>\n <IterateItemContext.Consumer>\n {(context) => {\n const newItemContextProps = {\n ...context,\n restoreOriginalValue,\n }\n return (\n <IterateItemContext.Provider value={newItemContextProps}>\n <Flex.Horizontal gap=\"large\">\n <DoneButton text={createButton} />\n {showOpenButton && (\n <CancelButton onClick={cancelHandler} />\n )}\n </Flex.Horizontal>\n </IterateItemContext.Provider>\n )\n }}\n </IterateItemContext.Consumer>\n </Toolbar>\n )\n\n return (\n <>\n <EditContainer\n open={!showOpenButton || containerMode === 'edit'}\n title={title}\n toolbar={toolbar}\n {...rest}\n >\n {children}\n </EditContainer>\n\n {openButton && typeof showOpenButton === 'boolean' && (\n <HeightAnimation open={showOpenButton && containerMode === 'view'}>\n {openButton}\n </HeightAnimation>\n )}\n </>\n )\n}\n\nPushContainer.OpenButton = OpenButton\nPushContainer._supportsSpacingProps = true\n\nexport default PushContainer\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,mBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,QAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,WAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAGA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAA4C,MAAAc,SAAA;EAAAC,UAAA;AAAA,SAAAb,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAArB,wBAAAiB,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,2BAAA/B,GAAA,gBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,SAAA,IAAAA,QAAA,GAAA9C,MAAA,CAAA+C,MAAA,GAAA/C,MAAA,CAAA+C,MAAA,CAAAC,IAAA,eAAA3B,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAnB,GAAA,IAAAsB,MAAA,QAAAzB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,KAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,gBAAAkB,MAAA,YAAAyB,QAAA,CAAA3B,KAAA,OAAAI,SAAA;AAAA,SAAA0B,yBAAAxB,MAAA,EAAAyB,QAAA,QAAAzB,MAAA,yBAAAJ,MAAA,GAAA8B,6BAAA,CAAA1B,MAAA,EAAAyB,QAAA,OAAA/C,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAuC,gBAAA,GAAApD,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA8B,gBAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAiD,gBAAA,CAAA9B,CAAA,OAAA4B,QAAA,CAAAG,OAAA,CAAAlD,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAkD,oBAAA,CAAAhD,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAA8B,8BAAA1B,MAAA,EAAAyB,QAAA,QAAAzB,MAAA,yBAAAJ,MAAA,WAAAkC,UAAA,GAAAvD,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAiC,UAAA,CAAA/B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAoD,UAAA,CAAAjC,CAAA,OAAA4B,QAAA,CAAAG,OAAA,CAAAlD,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AA2C5C,SAASmC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAM;MACJC,IAAI,GAAG,IAAI;MACXC,IAAI;MACJC,KAAK;MACLC,QAAQ;MACRC,UAAU;MACVC;IAEF,CAAC,GAAGN,KAAK;IADJO,IAAI,GAAAf,wBAAA,CACLQ,KAAK,EAAAxE,SAAA;EAET,MAAMgF,eAAe,GAAG,IAAAC,aAAM,EAAa,CAAC;EAC5C,MAAMC,sBAAsB,GAAG,IAAAD,aAAM,EAAgC,CAAC;EACtE,MAAM;IAAEpC,KAAK,EAAEsC,OAAO,GAAG,EAAE;IAAEC;EAAgB,CAAC,GAAG,IAAAC,qBAAY,EAE3D;IAAEX;EAAK,CAAC,CAAC;EAEX,MAAM;IAAEY;EAAqB,CAAC,GAAG,IAAAC,6BAAsB,EAAC;IAAEb;EAAK,CAAC,CAAC;EACjE,MAAM;IAAEc,eAAe;IAAEC;EAAc,CAAC,GAAG,IAAAC,oBAAa,EAAC;IACvDhB;EACF,CAAC,CAAC;EACF,MAAMiB,aAAa,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtC,IAAIJ,eAAe,EAAE;MACnBC,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACD,eAAe,EAAEC,aAAa,CAAC,CAAC;EAEpC,MAAMI,cAAc,GAAGf,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAGK,OAAO,CAAC;EACpD,MAAMW,mBAAyC,GAAG;IAChDpB,IAAI;IACJS,OAAO;IACPH,eAAe;IACfe,mBAAmB,EAAEb,sBAAsB,CAACc;EAC9C,CAAC;EAED,MAAMC,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,OAAO;MAAEC,QAAQ,EAAE,CAAC1B,IAAI;IAAE,CAAC;EAC7B,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,OACEzF,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACjH,UAAA,CAAAiB,OAAS;IACR6F,WAAW,EAAEA,WAAY;IACzBI,SAAS,EAAEJ,WAAY;IACvBjB,eAAe,EAAEA,eAAgB;IACjCsB,iBAAiB,EAAEC,IAAA,IAAkB;MAAA,IAAjB;QAAEJ;MAAS,CAAC,GAAAI,IAAA;MAC9B,OAAOnB,eAAe,CAACV,IAAI,EAAE,CAAC,GAAGS,OAAO,EAAE,GAAGgB,QAAQ,CAAC,CAAC;IACzD,CAAE;IACFK,QAAQ,EAAEA,CAAC/B,IAAI,EAAAgC,KAAA,KAAmC;MAAA,IAAjC;QAAEC,SAAS;QAAEC;MAAc,CAAC,GAAAF,KAAA;MAC3C,IAAIjB,eAAe,EAAE;QACnBmB,aAAa,CAAC,CAAC;QACflB,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,MAAM;QAAA,IAAAmB,qBAAA;QACLtB,oBAAoB,CAAC,MAAM,CAAC;QAC5B,CAAAsB,qBAAA,GAAA1B,sBAAsB,CAACc,OAAO,cAAAY,qBAAA,uBAA9BA,qBAAA,CAAAvF,IAAA,CAAA6D,sBAAsB,EAAW,MAAM,CAAC;QACxCwB,SAAS,CAAC,CAAC;MACb;IACF;EAAE,GAEF1H,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC/G,qBAAA,CAAAe,OAAoB,CAACyG,QAAQ;IAAChE,KAAK,EAAEiD;EAAoB,GACxD9G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC1G,MAAA,CAAAU,OAAY;IACXsE,IAAI,EAAC,WAAW;IAChBoC,aAAa,EAAEjB,cAAc,GAAG,MAAM,GAAG;EAAO,GAEhD7G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACW,YAAY,EAAAlD,QAAA;IACXc,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBK,sBAAsB,EAAEA,sBAAuB;IAC/CW,cAAc,EAAEA,cAAe;IAC/BF,aAAa,EAAEA;EAAc,GACzBZ,IAAI,GAEPH,QACW,CACF,CACe,CACtB,CAAC;AAEhB;AAEA,SAASmC,YAAYA,CAAAC,KAAA,EAQlB;EAAA,IAAAC,WAAA,EAAAC,aAAA;EAAA,IARmB;MACpBvC,KAAK;MACLE,UAAU;MACVgB,cAAc;MACdX,sBAAsB;MACtBS,aAAa;MACbf;IAEF,CAAC,GAAAoC,KAAA;IADIjC,IAAI,GAAAf,wBAAA,CAAAgD,KAAA,EAAA/G,UAAA;EAEP,MAAM;IAAE6G,aAAa;IAAEf;EAAoB,CAAC,GAC1C,IAAAoB,iBAAU,EAACC,2BAAkB,CAAC,IAAI,CAAC,CAAC;EACtClC,sBAAsB,CAACc,OAAO,GAAGD,mBAAmB;EACpD,MAAM;IAAEsB;EAAa,CAAC,GAAG,IAAAC,sBAAc,EAAC,CAAC,CAACC,oBAAoB;EAC9D,MAAM;IAAEb;EAAU,CAAC,GAAG,IAAAS,iBAAU,EAACK,gBAAW,CAAC,IAAI,CAAC,CAAC;EACnD,MAAMC,oBAAoB,GAAG,IAAA7B,kBAAW,EAAC,MAAM;IAC7Cc,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC;EACf,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMgB,OAAO,GACX1I,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACtG,QAAA,CAAAM,OAAO,QACNpB,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC9G,mBAAA,CAAAc,OAAkB,CAACuH,QAAQ,QACxBC,OAAO,IAAK;IACZ,MAAM9B,mBAAmB,GAAA3D,aAAA,CAAAA,aAAA,KACpByF,OAAO;MACVH;IAAoB,EACrB;IACD,OACEzI,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC9G,mBAAA,CAAAc,OAAkB,CAACyG,QAAQ;MAAChE,KAAK,EAAEiD;IAAoB,GACtD9G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACxG,WAAA,CAAAiI,IAAI,CAACC,UAAU;MAACC,GAAG,EAAC;IAAO,GAAAd,WAAA,KAAAA,WAAA,GAC1BjI,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC3G,cAAA,CAAAuI,UAAU;MAACC,IAAI,EAAEZ;IAAa,CAAE,CAAC,GACjCxB,cAAc,KAAAqB,aAAA,KAAAA,aAAA,GACblI,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC3G,cAAA,CAAAyI,YAAY;MAACC,OAAO,EAAExC;IAAc,CAAE,CAAC,EAE3B,CACU,CAAC;EAElC,CAC2B,CACtB,CACV;EAED,OACE3G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAApH,MAAA,CAAAoB,OAAA,CAAAgI,QAAA,QACEpJ,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAAC3G,cAAA,CAAAW,OAAa,EAAAyD,QAAA;IACZwE,IAAI,EAAE,CAACxC,cAAc,IAAIiB,aAAa,KAAK,MAAO;IAClDnC,KAAK,EAAEA,KAAM;IACb+C,OAAO,EAAEA;EAAQ,GACb3C,IAAI,GAEPH,QACY,CAAC,EAEfC,UAAU,IAAI,OAAOgB,cAAc,KAAK,SAAS,IAChD7G,MAAA,CAAAoB,OAAA,CAAAgG,aAAA,CAACxG,WAAA,CAAA0I,eAAe;IAACD,IAAI,EAAExC,cAAc,IAAIiB,aAAa,KAAK;EAAO,GAC/DjC,UACc,CAEnB,CAAC;AAEP;AAEAN,aAAa,CAACgE,UAAU,GAAGA,mBAAU;AACrChE,aAAa,CAACiE,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAE3BlE,aAAa;AAAAmE,OAAA,CAAAtI,OAAA,GAAAqI,QAAA"}
@@ -25,6 +25,11 @@ const PushContainerProperties = {
25
25
  type: 'function',
26
26
  status: 'optional'
27
27
  },
28
+ variant: {
29
+ doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
30
+ type: 'string',
31
+ status: 'optional'
32
+ },
28
33
  toolbar: {
29
34
  doc: 'A custom toolbar to be shown below the container.',
30
35
  type: 'React.Node',
@@ -1 +1 @@
1
- {"version":3,"file":"PushContainerDocs.js","names":["PushContainerProperties","path","doc","type","status","title","openButton","showOpenButtonWhen","toolbar","children","exports","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 toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {}\n"],"mappings":";;;;;;AAEO,MAAMA,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,kBAAkB,EAAE;IAClBL,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,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;AAAAM,OAAA,CAAAV,uBAAA,GAAAA,uBAAA;AAEM,MAAMW,mBAAyC,GAAG,CAAC,CAAC;AAAAD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"PushContainerDocs.js","names":["PushContainerProperties","path","doc","type","status","title","openButton","showOpenButtonWhen","variant","toolbar","children","exports","PushContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {}\n"],"mappings":";;;;;;AAEO,MAAMA,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,kBAAkB,EAAE;IAClBL,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,OAAO,EAAE;IACPP,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAO,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEM,MAAMY,mBAAyC,GAAG,CAAC,CAAC;AAAAD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
@@ -13,7 +13,7 @@ var _hooks = require("../../hooks");
13
13
  var _ArrayItemAreaContext = _interopRequireDefault(require("../Array/ArrayItemAreaContext"));
14
14
  var _types = require("../../types");
15
15
  var _icons = require("../../../../icons");
16
- const _excluded = ["className"];
16
+ const _excluded = ["text", "children", "className"];
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -29,13 +29,11 @@ function RemoveButton(props) {
29
29
  throw new Error('RemoveButton must be inside an Iterate.Array');
30
30
  }
31
31
  const {
32
+ text,
33
+ children,
32
34
  className
33
35
  } = props,
34
36
  restProps = _objectWithoutProperties(props, _excluded);
35
- const {
36
- children,
37
- text
38
- } = (0, _hooks.useFieldProps)(restProps);
39
37
  const buttonProps = (0, _types.omitDataValueReadWriteProps)(restProps);
40
38
  const translation = (0, _hooks.useTranslation)().RemoveButton;
41
39
  const textContent = text || children || translation.text;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_IterateItemContext","_hooks","_ArrayItemAreaContext","_types","_icons","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","RemoveButton","props","iterateItemContext","useContext","IterateItemContext","handleRemove","Error","className","restProps","children","text","useFieldProps","buttonProps","omitDataValueReadWriteProps","translation","useTranslation","textContent","elementBlockContext","ArrayItemAreaContext","handleRemoveItem","handleClick","useCallback","createElement","Button","classnames","variant","icon","trash","icon_position","on_click","_supportsSpacingProps","_default","exports"],"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 ArrayItemAreaContext from '../Array/ArrayItemAreaContext'\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(ArrayItemAreaContext)\n const { handleRemoveItem } = elementBlockContext || {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveItem) {\n handleRemoveItem?.()\n } else {\n handleRemove?.()\n }\n }, [handleRemove, handleRemoveItem])\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":"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"}
1
+ {"version":3,"file":"RemoveButton.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_components","_IterateItemContext","_hooks","_ArrayItemAreaContext","_types","_icons","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","RemoveButton","props","iterateItemContext","useContext","IterateItemContext","handleRemove","Error","text","children","className","restProps","buttonProps","omitDataValueReadWriteProps","translation","useTranslation","textContent","elementBlockContext","ArrayItemAreaContext","handleRemoveItem","handleClick","useCallback","createElement","Button","classnames","variant","icon","trash","icon_position","on_click","_supportsSpacingProps","_default","exports"],"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 { useTranslation } from '../../hooks'\nimport ArrayItemAreaContext from '../Array/ArrayItemAreaContext'\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 { text, children, className, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const elementBlockContext = useContext(ArrayItemAreaContext)\n const { handleRemoveItem } = elementBlockContext || {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveItem) {\n handleRemoveItem?.()\n } else {\n handleRemove?.()\n }\n }, [handleRemove, handleRemoveItem])\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":"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"}
@@ -40,8 +40,8 @@ function ViewContainer(props) {
40
40
  } = (0, _react.useContext)(_IterateItemContext.default);
41
41
  let itemTitle = title;
42
42
  let ariaLabel = (0, _react.useMemo)(() => (0, _componentHelper.convertJsxToString)(itemTitle), [itemTitle]);
43
- if (ariaLabel.includes('{itemNr}')) {
44
- itemTitle = ariaLabel = ariaLabel.replace('{itemNr}', index + 1);
43
+ if (ariaLabel.includes('{itemNo}')) {
44
+ itemTitle = ariaLabel = ariaLabel.replace('{itemNo}', index + 1);
45
45
  }
46
46
  let toolbarElement = toolbar;
47
47
  if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_elements","_ArrayItemArea","_IterateItemContext","_Toolbar3","_EditButton","_RemoveButton","_Toolbar","_Toolbar2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ViewContainer","props","_toolbarElement","_ref","children","className","title","toolbar","toolbarVariant","restProps","index","arrayValue","useContext","IterateItemContext","itemTitle","ariaLabel","useMemo","convertJsxToString","includes","replace","toolbarElement","createElement","hasToolbar","React","Children","toArray","some","child","Toolbar","mode","classnames","Flex","Stack","Lead","size","EditButton","RemoveButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport EditButton from './EditButton'\nimport RemoveButton from './RemoveButton'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nfunction ViewContainer(props: AllProps) {\n const {\n children,\n className,\n title,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n const { index, arrayValue } = useContext(IterateItemContext)\n\n let itemTitle = title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemNr}')) {\n itemTitle = ariaLabel = ariaLabel.replace('{itemNr}', index + 1)\n }\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = (\n <Toolbar>\n <EditButton />\n </Toolbar>\n )\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <ArrayItemArea\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <EditButton />\n <RemoveButton />\n </Toolbar>\n )}\n </Flex.Stack>\n </ArrayItemArea>\n )\n}\n\nViewContainer.EditButton = EditButton\nViewContainer.RemoveButton = RemoveButton\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"ViewContainer.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_elements","_ArrayItemArea","_IterateItemContext","_Toolbar3","_EditButton","_RemoveButton","_Toolbar","_Toolbar2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ViewContainer","props","_toolbarElement","_ref","children","className","title","toolbar","toolbarVariant","restProps","index","arrayValue","useContext","IterateItemContext","itemTitle","ariaLabel","useMemo","convertJsxToString","includes","replace","toolbarElement","createElement","hasToolbar","React","Children","toArray","some","child","Toolbar","mode","classnames","Flex","Stack","Lead","size","EditButton","RemoveButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { Lead } from '../../../../elements'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport IterateItemContext from '../IterateItemContext'\nimport Toolbar from '../Toolbar'\nimport EditButton from './EditButton'\nimport RemoveButton from './RemoveButton'\n\nexport type Props = {\n /**\n * The title of the ViewContainer.\n */\n title?: React.ReactNode\n /**\n * An alternative toolbar to be shown in the ViewContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nfunction ViewContainer(props: AllProps) {\n const {\n children,\n className,\n title,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n const { index, arrayValue } = useContext(IterateItemContext)\n\n let itemTitle = title\n let ariaLabel = useMemo(() => convertJsxToString(itemTitle), [itemTitle])\n if (ariaLabel.includes('{itemNo}')) {\n itemTitle = ariaLabel = ariaLabel.replace('{itemNo}', index + 1)\n }\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = (\n <Toolbar>\n <EditButton />\n </Toolbar>\n )\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <ArrayItemArea\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <EditButton />\n <RemoveButton />\n </Toolbar>\n )}\n </Flex.Stack>\n </ArrayItemArea>\n )\n}\n\nViewContainer.EditButton = EditButton\nViewContainer.RemoveButton = RemoveButton\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { default as useItem } from './useItem';
2
2
  export { default as useSwitchContainerMode } from './useSwitchContainerMode';
3
+ export { default as useArrayLimit } from './useArrayLimit';
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "useArrayLimit", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useArrayLimit.default;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "useItem", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -17,5 +23,6 @@ Object.defineProperty(exports, "useSwitchContainerMode", {
17
23
  });
18
24
  var _useItem = _interopRequireDefault(require("./useItem"));
19
25
  var _useSwitchContainerMode = _interopRequireDefault(require("./useSwitchContainerMode"));
26
+ var _useArrayLimit = _interopRequireDefault(require("./useArrayLimit"));
20
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_useItem","_interopRequireDefault","require","_useSwitchContainerMode","obj","__esModule","default"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/index.ts"],"sourcesContent":["export { default as useItem } from './useItem'\nexport { default as useSwitchContainerMode } from './useSwitchContainerMode'\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA4E,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"index.js","names":["_useItem","_interopRequireDefault","require","_useSwitchContainerMode","_useArrayLimit","obj","__esModule","default"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/index.ts"],"sourcesContent":["export { default as useItem } from './useItem'\nexport { default as useSwitchContainerMode } from './useSwitchContainerMode'\nexport { default as useArrayLimit } from './useArrayLimit'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -0,0 +1,15 @@
1
+ import { Path } from '../../types';
2
+ type SharedState = {
3
+ show?: boolean;
4
+ limit?: number;
5
+ total?: number;
6
+ };
7
+ export default function useArrayLimit({ path }: {
8
+ path: Path;
9
+ }): {
10
+ setShowStatus: (show: boolean) => void;
11
+ setLimitProps: (props: Omit<SharedState, 'show'>) => void;
12
+ error: Error;
13
+ hasReachedLimit: boolean;
14
+ };
15
+ export {};
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useArrayLimit;
7
+ var _react = require("react");
8
+ var _hooks = require("../../hooks");
9
+ var _useSharedState = require("../../../../shared/helpers/useSharedState");
10
+ function useArrayLimit(_ref) {
11
+ let {
12
+ path
13
+ } = _ref;
14
+ const sharedState = (0, _useSharedState.useSharedState)(path + '-iterate-limit');
15
+ const {
16
+ set,
17
+ update,
18
+ extend,
19
+ data
20
+ } = sharedState || {};
21
+ const {
22
+ limit,
23
+ total,
24
+ show
25
+ } = data || {};
26
+ const setLimitProps = (0, _react.useCallback)(props => {
27
+ if (props.total !== total) {
28
+ update(props);
29
+ } else {
30
+ set(props);
31
+ }
32
+ }, [set, total, update]);
33
+ const setShowStatus = (0, _react.useCallback)(show => {
34
+ extend({
35
+ show
36
+ });
37
+ }, [extend]);
38
+ const hasReachedLimit = typeof limit === 'number' && total >= limit;
39
+ const {
40
+ itemsLimitReached
41
+ } = (0, _hooks.useTranslation)().IteratePushContainer;
42
+ const error = show ? new Error(itemsLimitReached.replace('{limit}', String(limit))) : undefined;
43
+ return {
44
+ setShowStatus,
45
+ setLimitProps,
46
+ error,
47
+ hasReachedLimit
48
+ };
49
+ }
50
+ //# sourceMappingURL=useArrayLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useArrayLimit.js","names":["_react","require","_hooks","_useSharedState","useArrayLimit","_ref","path","sharedState","useSharedState","set","update","extend","data","limit","total","show","setLimitProps","useCallback","props","setShowStatus","hasReachedLimit","itemsLimitReached","useTranslation","IteratePushContainer","error","Error","replace","String","undefined"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useArrayLimit.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useTranslation } from '../../hooks'\nimport { Path } from '../../types'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\ntype SharedState = {\n show?: boolean\n limit?: number\n total?: number\n}\n\nexport default function useArrayLimit({ path }: { path: Path }) {\n const sharedState = useSharedState<SharedState>(path + '-iterate-limit')\n const { set, update, extend, data } = sharedState || {}\n const { limit, total, show } = data || {}\n\n const setLimitProps = useCallback(\n (props: Omit<SharedState, 'show'>) => {\n if (props.total !== total) {\n update(props)\n } else {\n set(props)\n }\n },\n [set, total, update]\n )\n\n const setShowStatus = useCallback(\n (show: boolean) => {\n extend({ show })\n },\n [extend]\n )\n\n const hasReachedLimit = typeof limit === 'number' && total >= limit\n const { itemsLimitReached } = useTranslation().IteratePushContainer\n const error = show\n ? new Error(itemsLimitReached.replace('{limit}', String(limit)))\n : undefined\n\n return { setShowStatus, setLimitProps, error, hasReachedLimit }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAQe,SAASG,aAAaA,CAAAC,IAAA,EAA2B;EAAA,IAA1B;IAAEC;EAAqB,CAAC,GAAAD,IAAA;EAC5D,MAAME,WAAW,GAAG,IAAAC,8BAAc,EAAcF,IAAI,GAAG,gBAAgB,CAAC;EACxE,MAAM;IAAEG,GAAG;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGL,WAAW,IAAI,CAAC,CAAC;EACvD,MAAM;IAAEM,KAAK;IAAEC,KAAK;IAAEC;EAAK,CAAC,GAAGH,IAAI,IAAI,CAAC,CAAC;EAEzC,MAAMI,aAAa,GAAG,IAAAC,kBAAW,EAC9BC,KAAgC,IAAK;IACpC,IAAIA,KAAK,CAACJ,KAAK,KAAKA,KAAK,EAAE;MACzBJ,MAAM,CAACQ,KAAK,CAAC;IACf,CAAC,MAAM;MACLT,GAAG,CAACS,KAAK,CAAC;IACZ;EACF,CAAC,EACD,CAACT,GAAG,EAAEK,KAAK,EAAEJ,MAAM,CACrB,CAAC;EAED,MAAMS,aAAa,GAAG,IAAAF,kBAAW,EAC9BF,IAAa,IAAK;IACjBJ,MAAM,CAAC;MAAEI;IAAK,CAAC,CAAC;EAClB,CAAC,EACD,CAACJ,MAAM,CACT,CAAC;EAED,MAAMS,eAAe,GAAG,OAAOP,KAAK,KAAK,QAAQ,IAAIC,KAAK,IAAID,KAAK;EACnE,MAAM;IAAEQ;EAAkB,CAAC,GAAG,IAAAC,qBAAc,EAAC,CAAC,CAACC,oBAAoB;EACnE,MAAMC,KAAK,GAAGT,IAAI,GACd,IAAIU,KAAK,CAACJ,iBAAiB,CAACK,OAAO,CAAC,SAAS,EAAEC,MAAM,CAACd,KAAK,CAAC,CAAC,CAAC,GAC9De,SAAS;EAEb,OAAO;IAAET,aAAa;IAAEH,aAAa;IAAEQ,KAAK;IAAEJ;EAAgB,CAAC;AACjE"}
@@ -21,7 +21,7 @@ function Log(props) {
21
21
  maxWidth: '80vw'
22
22
  },
23
23
  innerSpace: true
24
- }, props), React.createElement("pre", null, JSON.stringify(data), ' '));
24
+ }, props), React.createElement("pre", null, JSON.stringify(data, null, 2), ' '));
25
25
  }
26
26
  Log._supportsSpacingProps = true;
27
27
  var _default = Log;
@@ -1 +1 @@
1
- {"version":3,"file":"Log.js","names":["_react","require","_Context","_interopRequireDefault","_Section","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Log","props","data","useContext","DataContext","React","createElement","element","backgroundColor","style","maxWidth","innerSpace","JSON","stringify","_supportsSpacingProps","_default","exports"],"sources":["../../../../../src/extensions/forms/Tools/Log.tsx"],"sourcesContent":["import { useContext } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Section, { SectionProps } from '../../../components/Section'\n\nfunction Log(props: SectionProps) {\n const { data } = useContext(DataContext)\n\n return (\n <Section\n element=\"output\"\n backgroundColor=\"sand-yellow\"\n style={{ maxWidth: '80vw' }}\n innerSpace\n {...props}\n >\n <pre>\n {JSON.stringify(data)}\n {' ' /* Ensure one line of spacing */}\n </pre>\n </Section>\n )\n}\n\nLog._supportsSpacingProps = true\nexport default Log\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAmE,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEnE,SAASQ,GAAGA,CAACC,KAAmB,EAAE;EAChC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAExC,OACEC,KAAA,CAAAC,aAAA,CAACxB,QAAA,CAAAG,OAAO,EAAAC,QAAA;IACNqB,OAAO,EAAC,QAAQ;IAChBC,eAAe,EAAC,aAAa;IAC7BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAO,CAAE;IAC5BC,UAAU;EAAA,GACNV,KAAK,GAETI,KAAA,CAAAC,aAAA,cACGM,IAAI,CAACC,SAAS,CAACX,IAAI,CAAC,EACpB,GACE,CACE,CAAC;AAEd;AAEAF,GAAG,CAACc,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GACjBf,GAAG;AAAAgB,OAAA,CAAA/B,OAAA,GAAA8B,QAAA"}
1
+ {"version":3,"file":"Log.js","names":["_react","require","_Context","_interopRequireDefault","_Section","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Log","props","data","useContext","DataContext","React","createElement","element","backgroundColor","style","maxWidth","innerSpace","JSON","stringify","_supportsSpacingProps","_default","exports"],"sources":["../../../../../src/extensions/forms/Tools/Log.tsx"],"sourcesContent":["import { useContext } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Section, { SectionProps } from '../../../components/Section'\n\nfunction Log(props: SectionProps) {\n const { data } = useContext(DataContext)\n\n return (\n <Section\n element=\"output\"\n backgroundColor=\"sand-yellow\"\n style={{ maxWidth: '80vw' }}\n innerSpace\n {...props}\n >\n <pre>\n {JSON.stringify(data, null, 2)}\n {' ' /* Ensure one line of spacing */}\n </pre>\n </Section>\n )\n}\n\nLog._supportsSpacingProps = true\nexport default Log\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAmE,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEnE,SAASQ,GAAGA,CAACC,KAAmB,EAAE;EAChC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAExC,OACEC,KAAA,CAAAC,aAAA,CAACxB,QAAA,CAAAG,OAAO,EAAAC,QAAA;IACNqB,OAAO,EAAC,QAAQ;IAChBC,eAAe,EAAC,aAAa;IAC7BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAO,CAAE;IAC5BC,UAAU;EAAA,GACNV,KAAK,GAETI,KAAA,CAAAC,aAAA,cACGM,IAAI,CAACC,SAAS,CAACX,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAC7B,GACE,CACE,CAAC;AAEd;AAEAF,GAAG,CAACc,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GACjBf,GAAG;AAAAgB,OAAA,CAAA/B,OAAA,GAAA8B,QAAA"}
@@ -6,6 +6,18 @@ export type Props = ValueProps<Array<number | string>> & {
6
6
  * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/ListFormat
7
7
  */
8
8
  format?: Intl.ListFormatOptions;
9
+ /**
10
+ * Defines if the value should be displayed in list format or reuglar text format on one line.
11
+ * Default: `text`
12
+ */
13
+ variant?: 'ol' | 'ul' | 'text';
14
+ /**
15
+ * Defines the type of list styling used for list variants. Used on conjuction with variant `ol` and `ul`.
16
+ * Variant `ol`: `a`, `A`, `i`, `I` and `1`.
17
+ * Variant `ul`: `cirlce`, `disc` and `square`.
18
+ * Default: `undefined`
19
+ */
20
+ listType?: 'a' | 'A' | 'i' | 'I' | '1' | 'circle' | 'disc' | 'square' | undefined;
9
21
  };
10
22
  declare function ArraySelection(props: Props): import("react/jsx-runtime").JSX.Element;
11
23
  declare namespace ArraySelection {
@@ -14,7 +14,8 @@ var _defaults = require("../../../../shared/defaults");
14
14
  var _componentHelper = require("../../../../shared/component-helper");
15
15
  var _Context = _interopRequireDefault(require("../../../../shared/Context"));
16
16
  var _Context2 = _interopRequireDefault(require("../../DataContext/Context"));
17
- const _excluded = ["path", "value", "format", "className"];
17
+ var _elements = require("../../../../elements");
18
+ const _excluded = ["path", "value", "format", "className", "variant", "listType"];
18
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -33,28 +34,44 @@ function ArraySelection(props) {
33
34
  path,
34
35
  value,
35
36
  format,
36
- className
37
+ className,
38
+ variant = 'text',
39
+ listType
37
40
  } = _useValueProps,
38
41
  rest = _objectWithoutProperties(_useValueProps, _excluded);
39
42
  const list = (0, _react.useMemo)(() => {
43
+ const isListVariant = variant !== 'text';
40
44
  if (path) {
41
45
  var _fieldPropsRef$curren, _data$map;
42
46
  const data = fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : (_fieldPropsRef$curren = fieldPropsRef.current) === null || _fieldPropsRef$curren === void 0 ? void 0 : _fieldPropsRef$curren[path + '/arraySelectionData'];
43
- return (data === null || data === void 0 ? void 0 : (_data$map = data.map) === null || _data$map === void 0 ? void 0 : _data$map.call(data, _ref => {
47
+ return (data === null || data === void 0 ? void 0 : (_data$map = data.map) === null || _data$map === void 0 ? void 0 : _data$map.call(data, (_ref, index) => {
44
48
  let {
45
49
  title
46
50
  } = _ref;
47
- return (0, _componentHelper.convertJsxToString)(title);
51
+ return isListVariant ? _react.default.createElement(_elements.Li, {
52
+ key: index
53
+ }, (0, _componentHelper.convertJsxToString)(title)) : (0, _componentHelper.convertJsxToString)(title);
48
54
  })) || value;
49
55
  }
50
- return value;
51
- }, [fieldPropsRef, path, value]);
56
+ return isListVariant ? value.map((value, index) => _react.default.createElement(_elements.Li, {
57
+ key: index
58
+ }, (0, _componentHelper.convertJsxToString)(value))) : value;
59
+ }, [fieldPropsRef, path, value, variant]);
60
+ const listValue = (0, _react.useMemo)(() => {
61
+ if (variant === 'text') {
62
+ return listFormat(list, {
63
+ locale,
64
+ format
65
+ });
66
+ }
67
+ const ListElement = variant.startsWith('ol') ? _elements.Ol : _elements.Ul;
68
+ return _react.default.createElement(ListElement, {
69
+ type: listType
70
+ }, list);
71
+ }, [format, list, locale, variant, listType]);
52
72
  return _react.default.createElement(_ValueBlock.default, _extends({
53
73
  className: (0, _classnames.default)('dnb-forms-value-array-selection', className)
54
- }, rest), listFormat(list, {
55
- locale,
56
- format
57
- }));
74
+ }, rest), listValue);
58
75
  }
59
76
  function listFormat(value, _ref2) {
60
77
  let {