@dnb/eufemia 10.62.4 → 10.63.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 (892) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -125
  3. package/cjs/components/accordion/Accordion.js +0 -1
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/autocomplete/Autocomplete.js +3 -2
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/Button.d.ts +3 -6
  8. package/cjs/components/button/Button.js +8 -18
  9. package/cjs/components/button/Button.js.map +1 -1
  10. package/cjs/components/button/ButtonDocs.d.ts +2 -0
  11. package/cjs/components/button/ButtonDocs.js +135 -0
  12. package/cjs/components/button/ButtonDocs.js.map +1 -0
  13. package/cjs/components/date-picker/DatePicker.d.ts +4 -0
  14. package/cjs/components/date-picker/DatePicker.js +24 -10
  15. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  16. package/cjs/components/date-picker/DatePickerDocs.js +5 -0
  17. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  18. package/cjs/components/date-picker/DatePickerPortal.d.ts +9 -0
  19. package/cjs/components/date-picker/DatePickerPortal.js +61 -0
  20. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -0
  21. package/cjs/components/date-picker/style/dnb-date-picker.css +64 -55
  22. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  23. package/cjs/components/date-picker/style/dnb-date-picker.scss +90 -75
  24. package/cjs/components/form-row/FormRow.js +2 -7
  25. package/cjs/components/form-row/FormRow.js.map +1 -1
  26. package/cjs/components/form-row/style/dnb-form-row.css +3 -3
  27. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  28. package/cjs/components/form-status/FormStatus.js +17 -19
  29. package/cjs/components/form-status/FormStatus.js.map +1 -1
  30. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  31. package/cjs/components/height-animation/HeightAnimationInstance.js +26 -1
  32. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  33. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  34. package/cjs/components/input-masked/InputMasked.js +2 -2
  35. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  36. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  37. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  38. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  39. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  40. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  41. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  42. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
  43. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  44. package/cjs/components/pagination/Pagination.d.ts +12 -0
  45. package/cjs/components/pagination/Pagination.js +7 -3
  46. package/cjs/components/pagination/Pagination.js.map +1 -1
  47. package/cjs/components/pagination/PaginationBar.d.ts +2 -1
  48. package/cjs/components/pagination/PaginationBar.js +10 -3
  49. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  50. package/cjs/components/radio/style/dnb-radio.css +3 -3
  51. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  52. package/cjs/components/space/style/dnb-space.css +4 -4
  53. package/cjs/components/space/style/dnb-space.min.css +1 -1
  54. package/cjs/components/space/style/dnb-space.scss +2 -12
  55. package/cjs/components/space/style/space-mixins.scss +21 -0
  56. package/cjs/components/tabs/Tabs.d.ts +1 -1
  57. package/cjs/components/tabs/Tabs.js +4 -12
  58. package/cjs/components/tabs/Tabs.js.map +1 -1
  59. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -5
  60. package/cjs/components/toggle-button/ToggleButton.js +2 -0
  61. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  62. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  63. package/cjs/components/toggle-button/ToggleButtonDocs.js +87 -0
  64. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  65. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  66. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  67. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +90 -0
  68. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  69. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
  70. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  71. package/cjs/elements/blockquote/style/blockquote-mixins.scss +5 -3
  72. package/cjs/elements/code/style/code-mixins.scss +2 -3
  73. package/cjs/elements/hr/style/hr-mixins.scss +2 -3
  74. package/cjs/elements/img/style/img-mixins.scss +3 -3
  75. package/cjs/elements/lists/style/lists-mixins.scss +3 -6
  76. package/cjs/elements/typography/style/typography-mixins.scss +2 -3
  77. package/cjs/extensions/forms/DataContext/Context.d.ts +15 -4
  78. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  79. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  80. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  81. package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -17
  82. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  83. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  84. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  85. package/cjs/extensions/forms/Field/Date/Date.js +5 -4
  86. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  88. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  90. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  91. package/cjs/extensions/forms/Field/Number/Number.js +2 -2
  92. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -1
  94. package/cjs/extensions/forms/Field/Option/Option.js +2 -14
  95. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  96. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  97. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  98. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  99. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  100. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  101. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  102. package/cjs/extensions/forms/Field/Selection/Selection.js +19 -12
  103. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  105. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Field/Slider/Slider.js +4 -3
  107. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  108. package/cjs/extensions/forms/Field/String/String.js +2 -2
  109. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -4
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Upload/Upload.js +21 -21
  113. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  114. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  115. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  116. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  117. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  118. package/cjs/extensions/forms/Form/Isolation/Isolation.js +17 -3
  119. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  120. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  121. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js +27 -0
  122. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  124. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  125. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  126. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js +27 -0
  127. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  128. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  129. package/cjs/extensions/forms/Form/Visibility/Visibility.js +18 -10
  130. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  131. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  132. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  133. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  134. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  135. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  136. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/Array/Array.js +49 -29
  138. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  140. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/Array/types.d.ts +8 -3
  142. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  143. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  144. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  145. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +10 -1
  146. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  148. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  150. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js +50 -0
  151. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  152. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  153. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  155. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +16 -14
  156. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  158. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  159. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  160. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -15
  161. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  162. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  163. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  165. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  167. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  168. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  169. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  170. package/cjs/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  171. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js +31 -0
  172. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  173. package/cjs/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  174. package/cjs/extensions/forms/Iterate/Visibility/index.js +27 -0
  175. package/cjs/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  176. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  177. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  178. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  179. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  180. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  181. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  182. package/cjs/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  183. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js +22 -0
  184. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  185. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  186. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  187. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  188. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  189. package/cjs/extensions/forms/Iterate/index.js +7 -0
  190. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  191. package/cjs/extensions/forms/Tools/GenerateSchema.js +15 -9
  192. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  193. package/cjs/extensions/forms/Tools/ListAllProps.js +11 -7
  194. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  195. package/cjs/extensions/forms/Tools/Log.js +2 -1
  196. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  197. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  198. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  199. package/cjs/extensions/forms/Value/Selection/Selection.js +5 -5
  200. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  201. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +25 -7
  202. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  203. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  204. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  205. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  206. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  207. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  208. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  209. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  210. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  211. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  212. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  213. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -2
  214. package/cjs/extensions/forms/hooks/useDataValue.js +5 -9
  215. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  217. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  218. package/cjs/extensions/forms/hooks/useFieldProps.js +164 -76
  219. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  220. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useValueProps.js +5 -5
  222. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  223. package/cjs/extensions/forms/style/dnb-forms.css +9 -4
  224. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  225. package/cjs/extensions/forms/types.d.ts +33 -6
  226. package/cjs/extensions/forms/types.js.map +1 -1
  227. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +8 -0
  228. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  229. package/cjs/extensions/payment-card/PaymentCard.js +3 -12
  230. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  231. package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
  232. package/cjs/fragments/drawer-list/DrawerList.js +33 -47
  233. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  234. package/cjs/fragments/drawer-list/DrawerListDocs.js +3 -3
  235. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  236. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  237. package/cjs/shared/AlignmentHelper.js +0 -4
  238. package/cjs/shared/AlignmentHelper.js.map +1 -1
  239. package/cjs/shared/Eufemia.d.ts +1 -1
  240. package/cjs/shared/Eufemia.js +2 -2
  241. package/cjs/shared/Eufemia.js.map +1 -1
  242. package/cjs/shared/component-helper.js +2 -1
  243. package/cjs/shared/component-helper.js.map +1 -1
  244. package/cjs/style/core/scopes.scss +1 -1
  245. package/cjs/style/core/utilities.scss +3 -12
  246. package/cjs/style/dnb-ui-basis.css +1 -1
  247. package/cjs/style/dnb-ui-basis.min.css +1 -1
  248. package/cjs/style/dnb-ui-body.css +1 -1
  249. package/cjs/style/dnb-ui-body.min.css +1 -1
  250. package/cjs/style/dnb-ui-components.css +90 -76
  251. package/cjs/style/dnb-ui-components.min.css +4 -4
  252. package/cjs/style/dnb-ui-core.css +1 -1
  253. package/cjs/style/dnb-ui-core.min.css +1 -1
  254. package/cjs/style/dnb-ui-elements.css +151 -31
  255. package/cjs/style/dnb-ui-elements.min.css +1 -1
  256. package/cjs/style/dnb-ui-extensions.css +9 -4
  257. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  258. package/cjs/style/dnb-ui-forms.css +9 -4
  259. package/cjs/style/dnb-ui-forms.min.css +1 -1
  260. package/cjs/style/dnb-ui-fragments.css +1 -1
  261. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  263. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  264. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  265. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  266. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  267. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  268. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  269. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  270. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  271. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  272. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  273. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  274. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  275. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  276. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  277. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  278. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  279. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  280. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  281. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  282. package/cjs/style/themes/theme-ui/ui-theme-basis.css +151 -31
  283. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  284. package/cjs/style/themes/theme-ui/ui-theme-components.css +99 -80
  285. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  286. package/cjs/style/themes/theme-ui/ui-theme-elements.css +151 -31
  287. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  288. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  289. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  290. package/cjs/style/themes/theme-ui/ui-theme-forms.css +9 -4
  291. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  292. package/cjs/style/themes/theme-ui/ui-theme-tags.css +100 -19
  293. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  294. package/components/accordion/Accordion.d.ts +1 -125
  295. package/components/accordion/Accordion.js +0 -1
  296. package/components/accordion/Accordion.js.map +1 -1
  297. package/components/autocomplete/Autocomplete.js +3 -2
  298. package/components/autocomplete/Autocomplete.js.map +1 -1
  299. package/components/button/Button.d.ts +3 -6
  300. package/components/button/Button.js +8 -18
  301. package/components/button/Button.js.map +1 -1
  302. package/components/button/ButtonDocs.d.ts +2 -0
  303. package/components/button/ButtonDocs.js +128 -0
  304. package/components/button/ButtonDocs.js.map +1 -0
  305. package/components/date-picker/DatePicker.d.ts +4 -0
  306. package/components/date-picker/DatePicker.js +25 -11
  307. package/components/date-picker/DatePicker.js.map +1 -1
  308. package/components/date-picker/DatePickerDocs.js +5 -0
  309. package/components/date-picker/DatePickerDocs.js.map +1 -1
  310. package/components/date-picker/DatePickerPortal.d.ts +9 -0
  311. package/components/date-picker/DatePickerPortal.js +53 -0
  312. package/components/date-picker/DatePickerPortal.js.map +1 -0
  313. package/components/date-picker/style/dnb-date-picker.css +64 -55
  314. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  315. package/components/date-picker/style/dnb-date-picker.scss +90 -75
  316. package/components/form-row/FormRow.js +2 -7
  317. package/components/form-row/FormRow.js.map +1 -1
  318. package/components/form-row/style/dnb-form-row.css +3 -3
  319. package/components/form-row/style/dnb-form-row.min.css +1 -1
  320. package/components/form-status/FormStatus.js +17 -19
  321. package/components/form-status/FormStatus.js.map +1 -1
  322. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  323. package/components/height-animation/HeightAnimationInstance.js +26 -1
  324. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  325. package/components/input-masked/InputMasked.d.ts +1 -1
  326. package/components/input-masked/InputMasked.js +2 -2
  327. package/components/input-masked/InputMasked.js.map +1 -1
  328. package/components/input-masked/InputMaskedDocs.js +1 -1
  329. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  330. package/components/input-masked/InputMaskedHooks.js +1 -1
  331. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  332. package/components/input-masked/InputMaskedUtils.js +1 -1
  333. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  334. package/components/input-masked/style/dnb-input-masked.css +3 -3
  335. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  336. package/components/pagination/Pagination.d.ts +12 -0
  337. package/components/pagination/Pagination.js +7 -3
  338. package/components/pagination/Pagination.js.map +1 -1
  339. package/components/pagination/PaginationBar.d.ts +2 -1
  340. package/components/pagination/PaginationBar.js +10 -3
  341. package/components/pagination/PaginationBar.js.map +1 -1
  342. package/components/radio/style/dnb-radio.css +3 -3
  343. package/components/radio/style/dnb-radio.min.css +1 -1
  344. package/components/space/style/dnb-space.css +4 -4
  345. package/components/space/style/dnb-space.min.css +1 -1
  346. package/components/space/style/dnb-space.scss +2 -12
  347. package/components/space/style/space-mixins.scss +21 -0
  348. package/components/tabs/Tabs.d.ts +1 -1
  349. package/components/tabs/Tabs.js +4 -12
  350. package/components/tabs/Tabs.js.map +1 -1
  351. package/components/toggle-button/ToggleButton.d.ts +9 -5
  352. package/components/toggle-button/ToggleButton.js +2 -0
  353. package/components/toggle-button/ToggleButton.js.map +1 -1
  354. package/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  355. package/components/toggle-button/ToggleButtonDocs.js +80 -0
  356. package/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  357. package/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  358. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  359. package/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  360. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  361. package/components/toggle-button/style/dnb-toggle-button.css +3 -3
  362. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  363. package/elements/blockquote/style/blockquote-mixins.scss +5 -3
  364. package/elements/code/style/code-mixins.scss +2 -3
  365. package/elements/hr/style/hr-mixins.scss +2 -3
  366. package/elements/img/style/img-mixins.scss +3 -3
  367. package/elements/lists/style/lists-mixins.scss +3 -6
  368. package/elements/typography/style/typography-mixins.scss +2 -3
  369. package/es/components/accordion/Accordion.d.ts +1 -125
  370. package/es/components/accordion/Accordion.js +0 -1
  371. package/es/components/accordion/Accordion.js.map +1 -1
  372. package/es/components/autocomplete/Autocomplete.js +3 -2
  373. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  374. package/es/components/button/Button.d.ts +3 -6
  375. package/es/components/button/Button.js +8 -18
  376. package/es/components/button/Button.js.map +1 -1
  377. package/es/components/button/ButtonDocs.d.ts +2 -0
  378. package/es/components/button/ButtonDocs.js +128 -0
  379. package/es/components/button/ButtonDocs.js.map +1 -0
  380. package/es/components/date-picker/DatePicker.d.ts +4 -0
  381. package/es/components/date-picker/DatePicker.js +25 -11
  382. package/es/components/date-picker/DatePicker.js.map +1 -1
  383. package/es/components/date-picker/DatePickerDocs.js +5 -0
  384. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  385. package/es/components/date-picker/DatePickerPortal.d.ts +9 -0
  386. package/es/components/date-picker/DatePickerPortal.js +52 -0
  387. package/es/components/date-picker/DatePickerPortal.js.map +1 -0
  388. package/es/components/date-picker/style/dnb-date-picker.css +64 -55
  389. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  390. package/es/components/date-picker/style/dnb-date-picker.scss +90 -75
  391. package/es/components/form-row/FormRow.js +2 -7
  392. package/es/components/form-row/FormRow.js.map +1 -1
  393. package/es/components/form-row/style/dnb-form-row.css +3 -3
  394. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  395. package/es/components/form-status/FormStatus.js +17 -19
  396. package/es/components/form-status/FormStatus.js.map +1 -1
  397. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  398. package/es/components/height-animation/HeightAnimationInstance.js +26 -1
  399. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  400. package/es/components/input-masked/InputMasked.d.ts +1 -1
  401. package/es/components/input-masked/InputMasked.js +2 -2
  402. package/es/components/input-masked/InputMasked.js.map +1 -1
  403. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  404. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  405. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  406. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  407. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  408. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  409. package/es/components/input-masked/style/dnb-input-masked.css +3 -3
  410. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  411. package/es/components/pagination/Pagination.d.ts +12 -0
  412. package/es/components/pagination/Pagination.js +7 -3
  413. package/es/components/pagination/Pagination.js.map +1 -1
  414. package/es/components/pagination/PaginationBar.d.ts +2 -1
  415. package/es/components/pagination/PaginationBar.js +10 -3
  416. package/es/components/pagination/PaginationBar.js.map +1 -1
  417. package/es/components/radio/style/dnb-radio.css +3 -3
  418. package/es/components/radio/style/dnb-radio.min.css +1 -1
  419. package/es/components/space/style/dnb-space.css +4 -4
  420. package/es/components/space/style/dnb-space.min.css +1 -1
  421. package/es/components/space/style/dnb-space.scss +2 -12
  422. package/es/components/space/style/space-mixins.scss +21 -0
  423. package/es/components/tabs/Tabs.d.ts +1 -1
  424. package/es/components/tabs/Tabs.js +4 -12
  425. package/es/components/tabs/Tabs.js.map +1 -1
  426. package/es/components/toggle-button/ToggleButton.d.ts +9 -5
  427. package/es/components/toggle-button/ToggleButton.js +2 -0
  428. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  429. package/es/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  430. package/es/components/toggle-button/ToggleButtonDocs.js +80 -0
  431. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  432. package/es/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  433. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  434. package/es/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  435. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  436. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
  437. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  438. package/es/elements/blockquote/style/blockquote-mixins.scss +5 -3
  439. package/es/elements/code/style/code-mixins.scss +2 -3
  440. package/es/elements/hr/style/hr-mixins.scss +2 -3
  441. package/es/elements/img/style/img-mixins.scss +3 -3
  442. package/es/elements/lists/style/lists-mixins.scss +3 -6
  443. package/es/elements/typography/style/typography-mixins.scss +2 -3
  444. package/es/extensions/forms/DataContext/Context.d.ts +15 -4
  445. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  446. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  447. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Provider/Provider.js +27 -16
  449. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  450. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  451. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  452. package/es/extensions/forms/Field/Date/Date.js +5 -4
  453. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  454. package/es/extensions/forms/Field/Expiry/Expiry.js +4 -3
  455. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  456. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  457. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  458. package/es/extensions/forms/Field/Number/Number.js +2 -2
  459. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  460. package/es/extensions/forms/Field/Option/Option.d.ts +2 -1
  461. package/es/extensions/forms/Field/Option/Option.js +2 -12
  462. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  463. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  464. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  465. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  466. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  467. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  468. package/es/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  469. package/es/extensions/forms/Field/Selection/Selection.js +22 -14
  470. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  471. package/es/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  472. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  473. package/es/extensions/forms/Field/Slider/Slider.js +4 -3
  474. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  475. package/es/extensions/forms/Field/String/String.js +2 -2
  476. package/es/extensions/forms/Field/String/String.js.map +1 -1
  477. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -4
  478. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  479. package/es/extensions/forms/Field/Upload/Upload.js +21 -20
  480. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/Form/Isolation/Isolation.js +17 -3
  486. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  487. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  488. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  489. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  490. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  491. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  492. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  493. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  494. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  495. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  496. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -11
  497. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  498. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  499. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  500. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  501. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  502. package/es/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  503. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  504. package/es/extensions/forms/Iterate/Array/Array.js +47 -28
  505. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  506. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  507. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  508. package/es/extensions/forms/Iterate/Array/types.d.ts +8 -3
  509. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  510. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  511. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  512. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  513. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  514. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  515. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  516. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  517. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js +41 -0
  518. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  519. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  520. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  521. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  522. package/es/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  523. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  524. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  525. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  526. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  527. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
  528. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  529. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  530. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  531. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  532. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  533. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  534. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  535. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  536. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  537. package/es/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  538. package/es/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  539. package/es/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  540. package/es/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  541. package/es/extensions/forms/Iterate/Visibility/index.js +3 -0
  542. package/es/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  543. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  544. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  545. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  546. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  547. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -3
  548. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  549. package/es/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  550. package/es/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  551. package/es/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  552. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  553. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -3
  554. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  555. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  556. package/es/extensions/forms/Iterate/index.js +1 -0
  557. package/es/extensions/forms/Iterate/index.js.map +1 -1
  558. package/es/extensions/forms/Tools/GenerateSchema.js +12 -6
  559. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  560. package/es/extensions/forms/Tools/ListAllProps.js +9 -5
  561. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  562. package/es/extensions/forms/Tools/Log.js +2 -1
  563. package/es/extensions/forms/Tools/Log.js.map +1 -1
  564. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  565. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  566. package/es/extensions/forms/Value/Selection/Selection.js +5 -5
  567. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  568. package/es/extensions/forms/ValueBlock/ValueBlock.js +26 -9
  569. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  570. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  571. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  572. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  573. package/es/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  574. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  575. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  576. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  577. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  578. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  579. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  580. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -2
  581. package/es/extensions/forms/hooks/useDataValue.js +4 -8
  582. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  583. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  584. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  585. package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  586. package/es/extensions/forms/hooks/useFieldProps.js +163 -76
  587. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  588. package/es/extensions/forms/hooks/usePath.js +2 -2
  589. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  590. package/es/extensions/forms/hooks/useValueProps.js +5 -5
  591. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  592. package/es/extensions/forms/style/dnb-forms.css +9 -4
  593. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  594. package/es/extensions/forms/types.d.ts +33 -6
  595. package/es/extensions/forms/types.js.map +1 -1
  596. package/es/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  597. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  598. package/es/extensions/payment-card/PaymentCard.js +3 -12
  599. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  600. package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
  601. package/es/fragments/drawer-list/DrawerList.js +33 -47
  602. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  603. package/es/fragments/drawer-list/DrawerListDocs.js +3 -3
  604. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  605. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  606. package/es/shared/AlignmentHelper.js +0 -4
  607. package/es/shared/AlignmentHelper.js.map +1 -1
  608. package/es/shared/Eufemia.d.ts +1 -1
  609. package/es/shared/Eufemia.js +2 -2
  610. package/es/shared/Eufemia.js.map +1 -1
  611. package/es/shared/component-helper.js +2 -1
  612. package/es/shared/component-helper.js.map +1 -1
  613. package/es/style/core/scopes.scss +1 -1
  614. package/es/style/core/utilities.scss +3 -12
  615. package/es/style/dnb-ui-basis.css +1 -1
  616. package/es/style/dnb-ui-basis.min.css +1 -1
  617. package/es/style/dnb-ui-body.css +1 -1
  618. package/es/style/dnb-ui-body.min.css +1 -1
  619. package/es/style/dnb-ui-components.css +90 -76
  620. package/es/style/dnb-ui-components.min.css +4 -4
  621. package/es/style/dnb-ui-core.css +1 -1
  622. package/es/style/dnb-ui-core.min.css +1 -1
  623. package/es/style/dnb-ui-elements.css +151 -31
  624. package/es/style/dnb-ui-elements.min.css +1 -1
  625. package/es/style/dnb-ui-extensions.css +9 -4
  626. package/es/style/dnb-ui-extensions.min.css +1 -1
  627. package/es/style/dnb-ui-forms.css +9 -4
  628. package/es/style/dnb-ui-forms.min.css +1 -1
  629. package/es/style/dnb-ui-fragments.css +1 -1
  630. package/es/style/dnb-ui-fragments.min.css +1 -1
  631. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  632. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  633. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  634. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  635. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  636. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  637. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  638. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  639. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  640. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  641. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  642. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  643. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  644. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  645. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  646. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  647. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  648. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  649. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  650. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  651. package/es/style/themes/theme-ui/ui-theme-basis.css +151 -31
  652. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  653. package/es/style/themes/theme-ui/ui-theme-components.css +99 -80
  654. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  655. package/es/style/themes/theme-ui/ui-theme-elements.css +151 -31
  656. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  657. package/es/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  658. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  659. package/es/style/themes/theme-ui/ui-theme-forms.css +9 -4
  660. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  661. package/es/style/themes/theme-ui/ui-theme-tags.css +100 -19
  662. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  663. package/esm/dnb-ui-basis.min.mjs +1 -1
  664. package/esm/dnb-ui-components.min.mjs +1 -1
  665. package/esm/dnb-ui-elements.min.mjs +1 -1
  666. package/esm/dnb-ui-extensions.min.mjs +5 -5
  667. package/esm/dnb-ui-lib.min.mjs +1 -1
  668. package/extensions/forms/DataContext/Context.d.ts +15 -4
  669. package/extensions/forms/DataContext/Context.js.map +1 -1
  670. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  671. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  672. package/extensions/forms/DataContext/Provider/Provider.js +28 -17
  673. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  674. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  675. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  676. package/extensions/forms/Field/Date/Date.js +5 -4
  677. package/extensions/forms/Field/Date/Date.js.map +1 -1
  678. package/extensions/forms/Field/Expiry/Expiry.js +4 -3
  679. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  680. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  681. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  682. package/extensions/forms/Field/Number/Number.js +2 -2
  683. package/extensions/forms/Field/Number/Number.js.map +1 -1
  684. package/extensions/forms/Field/Option/Option.d.ts +2 -1
  685. package/extensions/forms/Field/Option/Option.js +2 -13
  686. package/extensions/forms/Field/Option/Option.js.map +1 -1
  687. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  688. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  689. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  690. package/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  691. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  692. package/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  693. package/extensions/forms/Field/Selection/Selection.js +19 -12
  694. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  695. package/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  696. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  697. package/extensions/forms/Field/Slider/Slider.js +4 -3
  698. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  699. package/extensions/forms/Field/String/String.js +2 -2
  700. package/extensions/forms/Field/String/String.js.map +1 -1
  701. package/extensions/forms/Field/Toggle/Toggle.js +14 -4
  702. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  703. package/extensions/forms/Field/Upload/Upload.js +21 -21
  704. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  705. package/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  706. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  707. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  708. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  709. package/extensions/forms/Form/Isolation/Isolation.js +17 -3
  710. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  711. package/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  712. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  713. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  714. package/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  715. package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  716. package/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  717. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  718. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  719. package/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  720. package/extensions/forms/Form/Visibility/Visibility.js +20 -11
  721. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  722. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  723. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  724. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  725. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  726. package/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  727. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  728. package/extensions/forms/Iterate/Array/Array.js +50 -30
  729. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  730. package/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  731. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  732. package/extensions/forms/Iterate/Array/types.d.ts +8 -3
  733. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  734. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  735. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  736. package/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  737. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  738. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  739. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  740. package/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  741. package/extensions/forms/Iterate/ItemNo/useIItemNo.js +42 -0
  742. package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  743. package/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  744. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  745. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  746. package/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  747. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  748. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  749. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  750. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  751. package/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
  752. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  753. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  754. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  755. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  756. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  757. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  758. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  759. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  760. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  761. package/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  762. package/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  763. package/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  764. package/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  765. package/extensions/forms/Iterate/Visibility/index.js +3 -0
  766. package/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  767. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  768. package/extensions/forms/Iterate/hooks/index.js +1 -0
  769. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  770. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  771. package/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  772. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  773. package/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  774. package/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  775. package/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  776. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  777. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  778. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  779. package/extensions/forms/Iterate/index.d.ts +1 -0
  780. package/extensions/forms/Iterate/index.js +1 -0
  781. package/extensions/forms/Iterate/index.js.map +1 -1
  782. package/extensions/forms/Tools/GenerateSchema.js +15 -9
  783. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  784. package/extensions/forms/Tools/ListAllProps.js +11 -7
  785. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  786. package/extensions/forms/Tools/Log.js +2 -1
  787. package/extensions/forms/Tools/Log.js.map +1 -1
  788. package/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  789. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  790. package/extensions/forms/Value/Selection/Selection.js +5 -5
  791. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  792. package/extensions/forms/ValueBlock/ValueBlock.js +27 -9
  793. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  794. package/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  795. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  796. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  797. package/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  798. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  799. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  800. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  801. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  802. package/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  803. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  804. package/extensions/forms/hooks/useDataValue.d.ts +2 -2
  805. package/extensions/forms/hooks/useDataValue.js +5 -9
  806. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  807. package/extensions/forms/hooks/useExternalValue.js +2 -2
  808. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  809. package/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  810. package/extensions/forms/hooks/useFieldProps.js +164 -76
  811. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  812. package/extensions/forms/hooks/usePath.js +2 -2
  813. package/extensions/forms/hooks/usePath.js.map +1 -1
  814. package/extensions/forms/hooks/useValueProps.js +5 -5
  815. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  816. package/extensions/forms/style/dnb-forms.css +9 -4
  817. package/extensions/forms/style/dnb-forms.min.css +1 -1
  818. package/extensions/forms/types.d.ts +33 -6
  819. package/extensions/forms/types.js.map +1 -1
  820. package/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  821. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  822. package/extensions/payment-card/PaymentCard.js +3 -12
  823. package/extensions/payment-card/PaymentCard.js.map +1 -1
  824. package/fragments/drawer-list/DrawerList.d.ts +4 -2
  825. package/fragments/drawer-list/DrawerList.js +33 -47
  826. package/fragments/drawer-list/DrawerList.js.map +1 -1
  827. package/fragments/drawer-list/DrawerListDocs.js +3 -3
  828. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  829. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  830. package/package.json +1 -1
  831. package/shared/AlignmentHelper.js +0 -4
  832. package/shared/AlignmentHelper.js.map +1 -1
  833. package/shared/Eufemia.d.ts +1 -1
  834. package/shared/Eufemia.js +2 -2
  835. package/shared/Eufemia.js.map +1 -1
  836. package/shared/component-helper.js +2 -1
  837. package/shared/component-helper.js.map +1 -1
  838. package/style/core/scopes.scss +1 -1
  839. package/style/core/utilities.scss +3 -12
  840. package/style/dnb-ui-basis.css +1 -1
  841. package/style/dnb-ui-basis.min.css +1 -1
  842. package/style/dnb-ui-body.css +1 -1
  843. package/style/dnb-ui-body.min.css +1 -1
  844. package/style/dnb-ui-components.css +90 -76
  845. package/style/dnb-ui-components.min.css +4 -4
  846. package/style/dnb-ui-core.css +1 -1
  847. package/style/dnb-ui-core.min.css +1 -1
  848. package/style/dnb-ui-elements.css +151 -31
  849. package/style/dnb-ui-elements.min.css +1 -1
  850. package/style/dnb-ui-extensions.css +9 -4
  851. package/style/dnb-ui-extensions.min.css +1 -1
  852. package/style/dnb-ui-forms.css +9 -4
  853. package/style/dnb-ui-forms.min.css +1 -1
  854. package/style/dnb-ui-fragments.css +1 -1
  855. package/style/dnb-ui-fragments.min.css +1 -1
  856. package/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  857. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  858. package/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  859. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  860. package/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  861. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  862. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  863. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  864. package/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  865. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  866. package/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  867. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  868. package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  869. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  870. package/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  871. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  872. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  873. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  874. package/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  875. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  876. package/style/themes/theme-ui/ui-theme-basis.css +151 -31
  877. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  878. package/style/themes/theme-ui/ui-theme-components.css +99 -80
  879. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  880. package/style/themes/theme-ui/ui-theme-elements.css +151 -31
  881. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  882. package/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  883. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  884. package/style/themes/theme-ui/ui-theme-forms.css +9 -4
  885. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  886. package/style/themes/theme-ui/ui-theme-tags.css +100 -19
  887. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  888. package/umd/dnb-ui-basis.min.js +1 -1
  889. package/umd/dnb-ui-components.min.js +1 -1
  890. package/umd/dnb-ui-elements.min.js +1 -1
  891. package/umd/dnb-ui-extensions.min.js +3 -3
  892. package/umd/dnb-ui-lib.min.js +1 -1
@@ -7,9 +7,7 @@ import { Path } from '../../types';
7
7
  * You can use the hook outside of the Iterate component, and it will communicate with the items inside the Iterate component.
8
8
  * Therefore, it is imported and used in both e.g. the EditContainer and e.g. the PushButton.
9
9
  */
10
- export default function useSwitchContainerMode({ path, }?: {
11
- path?: Path;
12
- }): {
10
+ export default function useSwitchContainerMode(path?: Path): {
13
11
  getNextContainerMode: () => ContainerMode | undefined;
14
12
  nextContainerModeRef: import("react").MutableRefObject<undefined>;
15
13
  setNextContainerMode: (mode: ContainerMode) => void;
@@ -7,9 +7,7 @@ const globalContainerModeRef = {
7
7
  current: undefined
8
8
  };
9
9
  const globalCache = {};
10
- export default function useSwitchContainerMode({
11
- path
12
- } = {}) {
10
+ export default function useSwitchContainerMode(path) {
13
11
  const nextContainerModeRef = useRef();
14
12
  const {
15
13
  hasError
@@ -1 +1 @@
1
- {"version":3,"file":"useSwitchContainerMode.js","names":["useCallback","useContext","useEffect","useRef","FieldBoundaryContext","IterateItemContext","globalContainerModeRef","current","undefined","globalCache","useSwitchContainerMode","path","nextContainerModeRef","hasError","iterateItemContext","id","hash","requestAnimationFrame","index","arrayValue","switchContainerMode","count","length","setNextContainerMode","mode","setContainerMode","fn","data","item","omitFocusManagement","setLastItemContainerMode","getNextContainerMode"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useSwitchContainerMode.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react'\nimport { ContainerMode } from '../Array'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport { Path } from '../../types'\n\ntype GlobalCacheHash = string\ntype GlobalCacheId = string\ntype GlobalCache = {\n index: IterateItemContextState['index']\n hasError: FieldBoundaryContextState['hasError']\n count: number\n switchContainerMode: IterateItemContextState['switchContainerMode']\n}\ntype GlobalCacheItem = {\n [string: GlobalCacheHash]: GlobalCache\n}\n\nconst globalContainerModeRef = { current: undefined }\nconst globalCache: Record<\n GlobalCacheHash,\n Record<GlobalCacheId, GlobalCache>\n> = {}\n\n/**\n * This is a helper for the Iterate component.\n * It is used to switch the container mode of the items inside the Iterate component.\n * You can use the hook outside of the Iterate component, and it will communicate with the items inside the Iterate component.\n * Therefore, it is imported and used in both e.g. the EditContainer and e.g. the PushButton.\n */\nexport default function useSwitchContainerMode({\n path,\n}: { path?: Path } = {}) {\n const nextContainerModeRef = useRef()\n const { hasError } = useContext(FieldBoundaryContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n\n const id = iterateItemContext?.id\n const hash = (path || '') + 'useSwitchContainerMode'\n\n useEffect(() => {\n nextContainerModeRef.current = globalContainerModeRef.current\n requestAnimationFrame(() => {\n if (nextContainerModeRef.current) {\n globalContainerModeRef.current = undefined\n }\n })\n })\n\n useEffect(() => {\n if (hash && iterateItemContext) {\n globalCache[hash] = globalCache[hash] || ({} as GlobalCacheItem)\n const { index, arrayValue, switchContainerMode } = iterateItemContext\n globalCache[hash][id] = {\n index,\n hasError,\n count: arrayValue?.length,\n switchContainerMode,\n }\n }\n\n return () => {\n if (id) {\n globalCache[hash][id] = undefined\n }\n }\n }, [hasError, hash, id, iterateItemContext])\n\n const setNextContainerMode = useCallback((mode: ContainerMode) => {\n globalContainerModeRef.current = mode\n }, [])\n\n const setContainerMode = useCallback(\n (fn: ({ hasError, index, count }) => ContainerMode) => {\n const data = globalCache[hash]\n for (const id in data) {\n const item = data[id]\n const mode = item && fn?.(item)\n if (mode) {\n item.switchContainerMode(mode, { omitFocusManagement: true })\n }\n }\n },\n [hash]\n )\n\n const setLastItemContainerMode = useCallback(\n (mode: ContainerMode) => {\n setContainerMode(({ hasError, index, count }) => {\n if (!hasError && index === count - 2) {\n return mode\n }\n })\n },\n [setContainerMode]\n )\n\n const getNextContainerMode = useCallback(():\n | ContainerMode\n | undefined => {\n return nextContainerModeRef.current\n }, [])\n\n return {\n getNextContainerMode,\n nextContainerModeRef,\n setNextContainerMode,\n setLastItemContainerMode,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSwitchContainerMode.js","names":["useCallback","useContext","useEffect","useRef","FieldBoundaryContext","IterateItemContext","globalContainerModeRef","current","undefined","globalCache","useSwitchContainerMode","path","nextContainerModeRef","hasError","iterateItemContext","id","hash","requestAnimationFrame","index","arrayValue","switchContainerMode","count","length","setNextContainerMode","mode","setContainerMode","fn","data","item","omitFocusManagement","setLastItemContainerMode","getNextContainerMode"],"sources":["../../../../../../src/extensions/forms/Iterate/hooks/useSwitchContainerMode.ts"],"sourcesContent":["import { useCallback, useContext, useEffect, useRef } from 'react'\nimport { ContainerMode } from '../Array'\nimport FieldBoundaryContext, {\n FieldBoundaryContextState,\n} from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport { Path } from '../../types'\n\ntype GlobalCacheHash = string\ntype GlobalCacheId = string\ntype GlobalCache = {\n index: IterateItemContextState['index']\n hasError: FieldBoundaryContextState['hasError']\n count: number\n switchContainerMode: IterateItemContextState['switchContainerMode']\n}\ntype GlobalCacheItem = {\n [string: GlobalCacheHash]: GlobalCache\n}\n\nconst globalContainerModeRef = { current: undefined }\nconst globalCache: Record<\n GlobalCacheHash,\n Record<GlobalCacheId, GlobalCache>\n> = {}\n\n/**\n * This is a helper for the Iterate component.\n * It is used to switch the container mode of the items inside the Iterate component.\n * You can use the hook outside of the Iterate component, and it will communicate with the items inside the Iterate component.\n * Therefore, it is imported and used in both e.g. the EditContainer and e.g. the PushButton.\n */\nexport default function useSwitchContainerMode(path?: Path) {\n const nextContainerModeRef = useRef()\n const { hasError } = useContext(FieldBoundaryContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n\n const id = iterateItemContext?.id\n const hash = (path || '') + 'useSwitchContainerMode'\n\n useEffect(() => {\n nextContainerModeRef.current = globalContainerModeRef.current\n requestAnimationFrame(() => {\n if (nextContainerModeRef.current) {\n globalContainerModeRef.current = undefined\n }\n })\n })\n\n useEffect(() => {\n if (hash && iterateItemContext) {\n globalCache[hash] = globalCache[hash] || ({} as GlobalCacheItem)\n const { index, arrayValue, switchContainerMode } = iterateItemContext\n globalCache[hash][id] = {\n index,\n hasError,\n count: arrayValue?.length,\n switchContainerMode,\n }\n }\n\n return () => {\n if (id) {\n globalCache[hash][id] = undefined\n }\n }\n }, [hasError, hash, id, iterateItemContext])\n\n const setNextContainerMode = useCallback((mode: ContainerMode) => {\n globalContainerModeRef.current = mode\n }, [])\n\n const setContainerMode = useCallback(\n (fn: ({ hasError, index, count }) => ContainerMode) => {\n const data = globalCache[hash]\n for (const id in data) {\n const item = data[id]\n const mode = item && fn?.(item)\n if (mode) {\n item.switchContainerMode(mode, { omitFocusManagement: true })\n }\n }\n },\n [hash]\n )\n\n const setLastItemContainerMode = useCallback(\n (mode: ContainerMode) => {\n setContainerMode(({ hasError, index, count }) => {\n if (!hasError && index === count - 2) {\n return mode\n }\n })\n },\n [setContainerMode]\n )\n\n const getNextContainerMode = useCallback(():\n | ContainerMode\n | undefined => {\n return nextContainerModeRef.current\n }, [])\n\n return {\n getNextContainerMode,\n nextContainerModeRef,\n setNextContainerMode,\n setLastItemContainerMode,\n }\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ export { default as EditContainer } from './EditContainer';
8
8
  export { default as ViewContainer } from './ViewContainer';
9
9
  export { default as AnimatedContainer } from './AnimatedContainer';
10
10
  export { default as Toolbar } from './Toolbar';
11
+ export { default as Visibility } from './Visibility';
11
12
  export { default as ItemNo } from './ItemNo';
12
13
  export { useCount, count, Count } from './Count';
13
14
  export { default as useItem } from './hooks/useItem';
@@ -8,6 +8,7 @@ export { default as EditContainer } from './EditContainer';
8
8
  export { default as ViewContainer } from './ViewContainer';
9
9
  export { default as AnimatedContainer } from './AnimatedContainer';
10
10
  export { default as Toolbar } from './Toolbar';
11
+ export { default as Visibility } from './Visibility';
11
12
  export { default as ItemNo } from './ItemNo';
12
13
  export { useCount, count, Count } from './Count';
13
14
  export { default as useItem } from './hooks/useItem';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PushButton","RemoveButton","default","Array","PushContainer","EditContainer","ViewContainer","AnimatedContainer","Toolbar","ItemNo","useCount","count","Count","useItem","IterateItemContext","ArrayPushButton","ArrayRemoveElementButton"],"sources":["../../../../../src/extensions/forms/Iterate/index.ts"],"sourcesContent":["import PushButton from './PushButton'\nimport RemoveButton from './RemoveButton'\n\nexport { default as Array } from './Array'\nexport { default as PushButton } from './PushButton'\nexport { default as PushContainer } from './PushContainer'\nexport { default as RemoveButton } from './RemoveButton'\nexport { default as EditContainer } from './EditContainer'\nexport { default as ViewContainer } from './ViewContainer'\nexport { default as AnimatedContainer } from './AnimatedContainer'\nexport { default as Toolbar } from './Toolbar'\nexport { default as ItemNo } from './ItemNo'\nexport { useCount, count, Count } from './Count'\nexport { default as useItem } from './hooks/useItem'\nexport { default as IterateItemContext } from './IterateItemContext'\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"PushButton\" instead\n */\nexport const ArrayPushButton = PushButton\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"RemoveButton\" instead\n */\nexport const ArrayRemoveElementButton = RemoveButton\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,SAASC,OAAO,IAAIC,KAAK,QAAQ,SAAS;AAC1C,SAASD,OAAO,IAAIF,UAAU,QAAQ,cAAc;AACpD,SAASE,OAAO,IAAIE,aAAa,QAAQ,iBAAiB;AAC1D,SAASF,OAAO,IAAID,YAAY,QAAQ,gBAAgB;AACxD,SAASC,OAAO,IAAIG,aAAa,QAAQ,iBAAiB;AAC1D,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB;AAC1D,SAASJ,OAAO,IAAIK,iBAAiB,QAAQ,qBAAqB;AAClE,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASN,OAAO,IAAIO,MAAM,QAAQ,UAAU;AAC5C,SAASC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,QAAQ,SAAS;AAChD,SAASV,OAAO,IAAIW,OAAO,QAAQ,iBAAiB;AACpD,SAASX,OAAO,IAAIY,kBAAkB,QAAQ,sBAAsB;AAOpE,OAAO,MAAMC,eAAe,GAAGf,UAAU;AAOzC,OAAO,MAAMgB,wBAAwB,GAAGf,YAAY"}
1
+ {"version":3,"file":"index.js","names":["PushButton","RemoveButton","default","Array","PushContainer","EditContainer","ViewContainer","AnimatedContainer","Toolbar","Visibility","ItemNo","useCount","count","Count","useItem","IterateItemContext","ArrayPushButton","ArrayRemoveElementButton"],"sources":["../../../../../src/extensions/forms/Iterate/index.ts"],"sourcesContent":["import PushButton from './PushButton'\nimport RemoveButton from './RemoveButton'\n\nexport { default as Array } from './Array'\nexport { default as PushButton } from './PushButton'\nexport { default as PushContainer } from './PushContainer'\nexport { default as RemoveButton } from './RemoveButton'\nexport { default as EditContainer } from './EditContainer'\nexport { default as ViewContainer } from './ViewContainer'\nexport { default as AnimatedContainer } from './AnimatedContainer'\nexport { default as Toolbar } from './Toolbar'\nexport { default as Visibility } from './Visibility'\nexport { default as ItemNo } from './ItemNo'\nexport { useCount, count, Count } from './Count'\nexport { default as useItem } from './hooks/useItem'\nexport { default as IterateItemContext } from './IterateItemContext'\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"PushButton\" instead\n */\nexport const ArrayPushButton = PushButton\n\n/**\n * Deprecated and will be removed in v11\n *\n * @deprecated use \"RemoveButton\" instead\n */\nexport const ArrayRemoveElementButton = RemoveButton\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,SAASC,OAAO,IAAIC,KAAK,QAAQ,SAAS;AAC1C,SAASD,OAAO,IAAIF,UAAU,QAAQ,cAAc;AACpD,SAASE,OAAO,IAAIE,aAAa,QAAQ,iBAAiB;AAC1D,SAASF,OAAO,IAAID,YAAY,QAAQ,gBAAgB;AACxD,SAASC,OAAO,IAAIG,aAAa,QAAQ,iBAAiB;AAC1D,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB;AAC1D,SAASJ,OAAO,IAAIK,iBAAiB,QAAQ,qBAAqB;AAClE,SAASL,OAAO,IAAIM,OAAO,QAAQ,WAAW;AAC9C,SAASN,OAAO,IAAIO,UAAU,QAAQ,cAAc;AACpD,SAASP,OAAO,IAAIQ,MAAM,QAAQ,UAAU;AAC5C,SAASC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,QAAQ,SAAS;AAChD,SAASX,OAAO,IAAIY,OAAO,QAAQ,iBAAiB;AACpD,SAASZ,OAAO,IAAIa,kBAAkB,QAAQ,sBAAsB;AAOpE,OAAO,MAAMC,eAAe,GAAGhB,UAAU;AAOzC,OAAO,MAAMiB,wBAAwB,GAAGhB,YAAY"}
@@ -15,15 +15,17 @@ export default function GenerateSchema(props) {
15
15
  children
16
16
  } = props || {};
17
17
  const {
18
- fieldPropsRef,
19
- valuePropsRef,
18
+ fieldInternalsRef,
19
+ valueInternalsRef,
20
20
  data,
21
21
  hasContext
22
22
  } = useContext(DataContext);
23
23
  const dataRef = useRef({});
24
24
  dataRef.current = data;
25
25
  const generate = useCallback(() => {
26
- const schema = Object.entries((fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : fieldPropsRef.current) || {}).reduce((acc, [path, props]) => {
26
+ const schema = Object.entries((fieldInternalsRef === null || fieldInternalsRef === void 0 ? void 0 : fieldInternalsRef.current) || {}).reduce((acc, [path, {
27
+ props
28
+ }]) => {
27
29
  if (path.startsWith('/')) {
28
30
  const objectKey = path.substring(1);
29
31
  const pathList = objectKey.split('/');
@@ -83,7 +85,9 @@ export default function GenerateSchema(props) {
83
85
  properties: {},
84
86
  required: []
85
87
  });
86
- const propsOfFields = Object.entries((fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : fieldPropsRef.current) || {}).reduce((acc, [path, props]) => {
88
+ const propsOfFields = Object.entries((fieldInternalsRef === null || fieldInternalsRef === void 0 ? void 0 : fieldInternalsRef.current) || {}).reduce((acc, [path, {
89
+ props
90
+ }]) => {
87
91
  if (path.startsWith('/')) {
88
92
  const propertyValue = {};
89
93
  for (const prop in props) {
@@ -95,7 +99,9 @@ export default function GenerateSchema(props) {
95
99
  }
96
100
  return acc;
97
101
  }, {});
98
- const propsOfValues = Object.entries((valuePropsRef === null || valuePropsRef === void 0 ? void 0 : valuePropsRef.current) || {}).reduce((acc, [path, props]) => {
102
+ const propsOfValues = Object.entries((valueInternalsRef === null || valueInternalsRef === void 0 ? void 0 : valueInternalsRef.current) || {}).reduce((acc, [path, {
103
+ props
104
+ }]) => {
99
105
  if (path.startsWith('/')) {
100
106
  const propertyValue = {};
101
107
  for (const prop in props) {
@@ -116,7 +122,7 @@ export default function GenerateSchema(props) {
116
122
  propsOfFields,
117
123
  propsOfValues
118
124
  };
119
- }, [fieldPropsRef, filterData, valuePropsRef]);
125
+ }, [fieldInternalsRef, filterData, valueInternalsRef]);
120
126
  if (hasContext) {
121
127
  if (log) {
122
128
  console.log(generate().schema);
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateSchema.js","names":["useCallback","useContext","useRef","pointer","DataContext","schemaParams","GenerateSchema","props","generateRef","filterData","log","children","fieldPropsRef","valuePropsRef","data","hasContext","dataRef","current","generate","schema","Object","entries","reduce","acc","path","startsWith","objectKey","substring","pathList","split","slashCount","length","type","valueType","propertyValue","prop","nestedPath","push","pathToSet","join","isLast","existingValue","has","get","pathValue","set","_objectSpread","required","at","properties","propsOfFields","undefined","propsOfValues","console"],"sources":["../../../../../src/extensions/forms/Tools/GenerateSchema.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\nimport { JSONSchema } from '../types'\n\nexport type GenerateSchemaReturn = {\n schema: JSONSchema\n data: JsonObject\n propsOfFields: JsonObject\n propsOfValues: JsonObject\n}\nexport type GenerateSchemaProps = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => GenerateSchemaReturn>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef = GenerateSchemaProps['generateRef']['current']\n\nexport const schemaParams = [\n 'minLength',\n 'maxLength',\n 'pattern',\n 'description',\n 'min',\n 'max',\n 'multipleOf',\n 'exclusiveMinimum',\n 'exclusiveMaximum',\n]\n\nexport default function GenerateSchema(props: GenerateSchemaProps) {\n const { generateRef, filterData, log, children } = props || {}\n const { fieldPropsRef, valuePropsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const schema = Object.entries(fieldPropsRef?.current || {}).reduce(\n (acc, [path, props]) => {\n if (path.startsWith('/')) {\n const objectKey = path.substring(1)\n\n const pathList = objectKey.split('/')\n const slashCount = pathList.length\n\n const type = props.valueType || 'string'\n const propertyValue = {\n type,\n }\n\n for (const prop of schemaParams) {\n if (props[prop]) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (slashCount > 1) {\n const nestedPath = ['']\n for (const path of pathList) {\n nestedPath.push(path)\n const pathToSet = nestedPath.join('/properties/')\n const isLast = nestedPath.length - 1 === pathList.length\n\n const existingValue = pointer.has(acc, pathToSet)\n ? pointer.get(acc, pathToSet)\n : null\n\n const pathValue = isLast ? propertyValue : existingValue\n\n if (isLast) {\n if (filterData?.[pathToSet] !== false) {\n pointer.set(acc, pathToSet, pathValue)\n }\n } else {\n const pathValue = {\n type: 'object',\n ...existingValue,\n }\n\n // - Add required\n const required = []\n if (props.required) {\n required.push(pathList.at(-1))\n }\n if (existingValue?.required) {\n required.push(...existingValue.required)\n }\n if (required.length > 0) {\n pathValue.required = required\n }\n\n if (filterData?.[pathToSet] !== false) {\n pointer.set(acc, pathToSet, pathValue)\n }\n }\n }\n } else {\n if (filterData?.[path] !== false) {\n pointer.set(acc.properties, path, propertyValue)\n }\n if (props.required) {\n acc.required.push(objectKey)\n }\n }\n }\n\n return acc\n },\n { type: 'object', properties: {}, required: [] }\n )\n\n const propsOfFields = Object.entries(\n fieldPropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n pointer.set(acc, path, propertyValue)\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valuePropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n pointer.set(acc, path, propertyValue)\n }\n\n return acc\n }, {})\n\n if (schema.required.length === 0) {\n delete schema.required\n }\n\n return {\n schema,\n data: dataRef.current,\n propsOfFields,\n propsOfValues,\n } as GenerateSchemaReturn\n }, [fieldPropsRef, filterData, valuePropsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate().schema)\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"GenerateSchema.js","names":["useCallback","useContext","useRef","pointer","DataContext","schemaParams","GenerateSchema","props","generateRef","filterData","log","children","fieldInternalsRef","valueInternalsRef","data","hasContext","dataRef","current","generate","schema","Object","entries","reduce","acc","path","startsWith","objectKey","substring","pathList","split","slashCount","length","type","valueType","propertyValue","prop","nestedPath","push","pathToSet","join","isLast","existingValue","has","get","pathValue","set","_objectSpread","required","at","properties","propsOfFields","undefined","propsOfValues","console"],"sources":["../../../../../src/extensions/forms/Tools/GenerateSchema.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\nimport { JSONSchema } from '../types'\n\nexport type GenerateSchemaReturn = {\n schema: JSONSchema\n data: JsonObject\n propsOfFields: JsonObject\n propsOfValues: JsonObject\n}\nexport type GenerateSchemaProps = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => GenerateSchemaReturn>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef = GenerateSchemaProps['generateRef']['current']\n\nexport const schemaParams = [\n 'minLength',\n 'maxLength',\n 'pattern',\n 'description',\n 'min',\n 'max',\n 'multipleOf',\n 'exclusiveMinimum',\n 'exclusiveMaximum',\n]\n\nexport default function GenerateSchema(props: GenerateSchemaProps) {\n const { generateRef, filterData, log, children } = props || {}\n const { fieldInternalsRef, valueInternalsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const schema = Object.entries(fieldInternalsRef?.current || {}).reduce(\n (acc, [path, { props }]) => {\n if (path.startsWith('/')) {\n const objectKey = path.substring(1)\n\n const pathList = objectKey.split('/')\n const slashCount = pathList.length\n\n const type = props.valueType || 'string'\n const propertyValue = {\n type,\n }\n\n for (const prop of schemaParams) {\n if (props[prop]) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (slashCount > 1) {\n const nestedPath = ['']\n for (const path of pathList) {\n nestedPath.push(path)\n const pathToSet = nestedPath.join('/properties/')\n const isLast = nestedPath.length - 1 === pathList.length\n\n const existingValue = pointer.has(acc, pathToSet)\n ? pointer.get(acc, pathToSet)\n : null\n\n const pathValue = isLast ? propertyValue : existingValue\n\n if (isLast) {\n if (filterData?.[pathToSet] !== false) {\n pointer.set(acc, pathToSet, pathValue)\n }\n } else {\n const pathValue = {\n type: 'object',\n ...existingValue,\n }\n\n // - Add required\n const required = []\n if (props.required) {\n required.push(pathList.at(-1))\n }\n if (existingValue?.required) {\n required.push(...existingValue.required)\n }\n if (required.length > 0) {\n pathValue.required = required\n }\n\n if (filterData?.[pathToSet] !== false) {\n pointer.set(acc, pathToSet, pathValue)\n }\n }\n }\n } else {\n if (filterData?.[path] !== false) {\n pointer.set(acc.properties, path, propertyValue)\n }\n if (props.required) {\n acc.required.push(objectKey)\n }\n }\n }\n\n return acc\n },\n { type: 'object', properties: {}, required: [] }\n )\n\n const propsOfFields = Object.entries(\n fieldInternalsRef?.current || {}\n ).reduce((acc, [path, { props }]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n pointer.set(acc, path, propertyValue)\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valueInternalsRef?.current || {}\n ).reduce((acc, [path, { props }]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function'\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n pointer.set(acc, path, propertyValue)\n }\n\n return acc\n }, {})\n\n if (schema.required.length === 0) {\n delete schema.required\n }\n\n return {\n schema,\n data: dataRef.current,\n propsOfFields,\n propsOfValues,\n } as GenerateSchemaReturn\n }, [fieldInternalsRef, filterData, valueInternalsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate().schema)\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":"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"}
@@ -11,15 +11,17 @@ export default function ListAllProps(props) {
11
11
  children
12
12
  } = props || {};
13
13
  const {
14
- fieldPropsRef,
15
- valuePropsRef,
14
+ fieldInternalsRef,
15
+ valueInternalsRef,
16
16
  data,
17
17
  hasContext
18
18
  } = useContext(DataContext);
19
19
  const dataRef = useRef({});
20
20
  dataRef.current = data;
21
21
  const generate = useCallback(() => {
22
- const propsOfFields = Object.entries((fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : fieldPropsRef.current) || {}).reduce((acc, [path, props]) => {
22
+ const propsOfFields = Object.entries((fieldInternalsRef === null || fieldInternalsRef === void 0 ? void 0 : fieldInternalsRef.current) || {}).reduce((acc, [path, {
23
+ props
24
+ }]) => {
23
25
  if (path.startsWith('/')) {
24
26
  const propertyValue = {};
25
27
  for (const prop in props) {
@@ -33,7 +35,9 @@ export default function ListAllProps(props) {
33
35
  }
34
36
  return acc;
35
37
  }, {});
36
- const propsOfValues = Object.entries((valuePropsRef === null || valuePropsRef === void 0 ? void 0 : valuePropsRef.current) || {}).reduce((acc, [path, props]) => {
38
+ const propsOfValues = Object.entries((valueInternalsRef === null || valueInternalsRef === void 0 ? void 0 : valueInternalsRef.current) || {}).reduce((acc, [path, {
39
+ props
40
+ }]) => {
37
41
  if (path.startsWith('/')) {
38
42
  const propertyValue = {};
39
43
  for (const prop in props) {
@@ -51,7 +55,7 @@ export default function ListAllProps(props) {
51
55
  propsOfFields,
52
56
  propsOfValues
53
57
  };
54
- }, [fieldPropsRef, filterData, valuePropsRef]);
58
+ }, [fieldInternalsRef, filterData, valueInternalsRef]);
55
59
  if (hasContext) {
56
60
  if (log) {
57
61
  console.log(generate());
@@ -1 +1 @@
1
- {"version":3,"file":"ListAllProps.js","names":["isValidElement","useCallback","useContext","useRef","pointer","DataContext","ListAllProps","props","log","generateRef","filterData","children","fieldPropsRef","valuePropsRef","data","hasContext","dataRef","current","generate","propsOfFields","Object","entries","reduce","acc","path","startsWith","propertyValue","prop","undefined","set","propsOfValues","console"],"sources":["../../../../../src/extensions/forms/Tools/ListAllProps.tsx"],"sourcesContent":["import { isValidElement, useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\n\nexport type ListAllPropsReturn<Data> = {\n propsOfFields: Data\n propsOfValues: Data\n}\nexport type ListAllPropsProps<Data> = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => ListAllPropsReturn<Data>>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef<Data extends JsonObject = JsonObject> =\n ListAllPropsProps<Data>['generateRef']['current']\n\nexport default function ListAllProps<Data extends JsonObject = JsonObject>(\n props: ListAllPropsProps<Data>\n) {\n const { log, generateRef, filterData, children } = props || {}\n const { fieldPropsRef, valuePropsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const propsOfFields = Object.entries(\n fieldPropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function' &&\n !isValidElement(props[prop])\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valuePropsRef?.current || {}\n ).reduce((acc, [path, props]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function' &&\n !isValidElement(props[prop])\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n return { propsOfFields, propsOfValues } as ListAllPropsReturn<Data>\n }, [fieldPropsRef, filterData, valuePropsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate())\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListAllProps.js","names":["isValidElement","useCallback","useContext","useRef","pointer","DataContext","ListAllProps","props","log","generateRef","filterData","children","fieldInternalsRef","valueInternalsRef","data","hasContext","dataRef","current","generate","propsOfFields","Object","entries","reduce","acc","path","startsWith","propertyValue","prop","undefined","set","propsOfValues","console"],"sources":["../../../../../src/extensions/forms/Tools/ListAllProps.tsx"],"sourcesContent":["import { isValidElement, useCallback, useContext, useRef } from 'react'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport DataContext, { FilterData } from '../DataContext/Context'\n\nexport type ListAllPropsReturn<Data> = {\n propsOfFields: Data\n propsOfValues: Data\n}\nexport type ListAllPropsProps<Data> = {\n log?: boolean\n generateRef?: React.MutableRefObject<() => ListAllPropsReturn<Data>>\n filterData?: FilterData\n children: React.ReactNode\n}\nexport type GenerateRef<Data extends JsonObject = JsonObject> =\n ListAllPropsProps<Data>['generateRef']['current']\n\nexport default function ListAllProps<Data extends JsonObject = JsonObject>(\n props: ListAllPropsProps<Data>\n) {\n const { log, generateRef, filterData, children } = props || {}\n const { fieldInternalsRef, valueInternalsRef, data, hasContext } =\n useContext(DataContext)\n\n const dataRef = useRef<JsonObject>({})\n dataRef.current = data\n\n const generate = useCallback(() => {\n const propsOfFields = Object.entries(\n fieldInternalsRef?.current || {}\n ).reduce((acc, [path, { props }]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function' &&\n !isValidElement(props[prop])\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n const propsOfValues = Object.entries(\n valueInternalsRef?.current || {}\n ).reduce((acc, [path, { props }]) => {\n if (path.startsWith('/')) {\n const propertyValue = {}\n\n for (const prop in props) {\n if (\n props[prop] !== undefined &&\n typeof props[prop] !== 'function' &&\n !isValidElement(props[prop])\n ) {\n propertyValue[prop] = props[prop]\n }\n }\n\n if (filterData?.[path] !== false) {\n pointer.set(acc, path, propertyValue)\n }\n }\n\n return acc\n }, {})\n\n return { propsOfFields, propsOfValues } as ListAllPropsReturn<Data>\n }, [fieldInternalsRef, filterData, valueInternalsRef])\n\n if (hasContext) {\n if (log) {\n console.log(generate())\n }\n\n if (generateRef) {\n generateRef.current = generate\n }\n }\n\n return children\n}\n"],"mappings":"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"}
@@ -18,8 +18,9 @@ function Log(_ref) {
18
18
  } = _ref,
19
19
  props = _objectWithoutProperties(_ref, _excluded);
20
20
  const {
21
- data
21
+ internalDataRef
22
22
  } = useContext(DataContext);
23
+ const data = internalDataRef === null || internalDataRef === void 0 ? void 0 : internalDataRef.current;
23
24
  return React.createElement(Section, _extends({
24
25
  element: "output",
25
26
  backgroundColor: "sand-yellow",
@@ -1 +1 @@
1
- {"version":3,"file":"Log.js","names":["React","useContext","DataContext","Section","FormLabel","Log","_ref","placeholder","label","data","logData","props","_objectWithoutProperties","_excluded","createElement","_extends","element","backgroundColor","style","maxWidth","innerSpace","bottom","Object","keys","length","JSON","stringify","replaceUndefinedValues","value","replaceWith","Array","isArray","map","item","_objectSpread","fromEntries","entries","k","v","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/Tools/Log.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Section, { SectionAllProps } from '../../../components/Section'\nimport { FormLabel } from '../../../components'\n\nfunction Log({\n placeholder,\n label,\n data: logData,\n ...props\n}: Omit<SectionAllProps, 'data' | 'label'> & {\n data?: unknown\n label?: React.ReactNode\n placeholder?: React.ReactNode\n}) {\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 {label && (\n <FormLabel bottom>\n <b>{label}</b>\n </FormLabel>\n )}\n <pre>\n {placeholder && Object.keys((logData ?? data) || {}).length === 0\n ? placeholder\n : JSON.stringify(\n replaceUndefinedValues(logData ?? data),\n null,\n 2\n )}\n {' ' /* Ensure one line of spacing */}\n </pre>\n </Section>\n )\n}\n\n/**\n * Replaces undefined values in an object with a specified replacement value.\n * @param value - The value to check for undefined values.\n * @param replaceWith - The value to replace undefined values with. Default is null.\n * @returns The object with undefined values replaced.\n */\nfunction replaceUndefinedValues(\n value: unknown,\n replaceWith = 'undefined' as unknown\n): unknown {\n if (typeof value === 'undefined') {\n return replaceWith\n } else if (Array.isArray(value)) {\n return value.map((item) => replaceUndefinedValues(item, replaceWith))\n } else if (value && typeof value === 'object' && value !== replaceWith) {\n return {\n ...value,\n ...Object.fromEntries(\n Object.entries(value).map(([k, v]) => [\n k,\n replaceUndefinedValues(v, replaceWith),\n ])\n ),\n }\n } else {\n return value\n }\n}\n\nLog._supportsSpacingProps = true\nexport default Log\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,OAAO,MAA2B,6BAA6B;AACtE,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,GAAGA,CAAAC,IAAA,EAST;EAAA,IATU;MACXC,WAAW;MACXC,KAAK;MACLC,IAAI,EAAEC;IAMR,CAAC,GAAAJ,IAAA;IALIK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAMR,MAAM;IAAEJ;EAAK,CAAC,GAAGR,UAAU,CAACC,WAAW,CAAC;EAExC,OACEF,KAAA,CAAAc,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNC,OAAO,EAAC,QAAQ;IAChBC,eAAe,EAAC,aAAa;IAC7BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAO,CAAE;IAC5BC,UAAU;EAAA,GACNT,KAAK,GAERH,KAAK,IACJR,KAAA,CAAAc,aAAA,CAACV,SAAS;IAACiB,MAAM;EAAA,GACfrB,KAAA,CAAAc,aAAA,YAAIN,KAAS,CACJ,CACZ,EACDR,KAAA,CAAAc,aAAA,cACGP,WAAW,IAAIe,MAAM,CAACC,IAAI,CAAC,CAACb,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,KAAK,CAAC,CAAC,CAAC,CAACe,MAAM,KAAK,CAAC,GAC7DjB,WAAW,GACXkB,IAAI,CAACC,SAAS,CACZC,sBAAsB,CAACjB,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,CAAC,EACvC,IAAI,EACJ,CACF,CAAC,EACJ,GACE,CACE,CAAC;AAEd;AAQA,SAASkB,sBAAsBA,CAC7BC,KAAc,EACdC,WAAW,GAAG,WAAsB,EAC3B;EACT,IAAI,OAAOD,KAAK,KAAK,WAAW,EAAE;IAChC,OAAOC,WAAW;EACpB,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC/B,OAAOA,KAAK,CAACI,GAAG,CAAEC,IAAI,IAAKN,sBAAsB,CAACM,IAAI,EAAEJ,WAAW,CAAC,CAAC;EACvE,CAAC,MAAM,IAAID,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAKC,WAAW,EAAE;IACtE,OAAAK,aAAA,CAAAA,aAAA,KACKN,KAAK,GACLN,MAAM,CAACa,WAAW,CACnBb,MAAM,CAACc,OAAO,CAACR,KAAK,CAAC,CAACI,GAAG,CAAC,CAAC,CAACK,CAAC,EAAEC,CAAC,CAAC,KAAK,CACpCD,CAAC,EACDV,sBAAsB,CAACW,CAAC,EAAET,WAAW,CAAC,CACvC,CACH,CAAC;EAEL,CAAC,MAAM;IACL,OAAOD,KAAK;EACd;AACF;AAEAvB,GAAG,CAACkC,qBAAqB,GAAG,IAAI;AAChC,eAAelC,GAAG"}
1
+ {"version":3,"file":"Log.js","names":["React","useContext","DataContext","Section","FormLabel","Log","_ref","placeholder","label","data","logData","props","_objectWithoutProperties","_excluded","internalDataRef","current","createElement","_extends","element","backgroundColor","style","maxWidth","innerSpace","bottom","Object","keys","length","JSON","stringify","replaceUndefinedValues","value","replaceWith","Array","isArray","map","item","_objectSpread","fromEntries","entries","k","v","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/Tools/Log.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Section, { SectionAllProps } from '../../../components/Section'\nimport { FormLabel } from '../../../components'\n\nfunction Log({\n placeholder,\n label,\n data: logData,\n ...props\n}: Omit<SectionAllProps, 'data' | 'label'> & {\n data?: unknown\n label?: React.ReactNode\n placeholder?: React.ReactNode\n}) {\n const { internalDataRef } = useContext(DataContext)\n const data = internalDataRef?.current\n\n return (\n <Section\n element=\"output\"\n backgroundColor=\"sand-yellow\"\n style={{ maxWidth: '80vw' }}\n innerSpace\n {...props}\n >\n {label && (\n <FormLabel bottom>\n <b>{label}</b>\n </FormLabel>\n )}\n <pre>\n {placeholder && Object.keys((logData ?? data) || {}).length === 0\n ? placeholder\n : JSON.stringify(\n replaceUndefinedValues(logData ?? data),\n null,\n 2\n )}\n {' ' /* Ensure one line of spacing */}\n </pre>\n </Section>\n )\n}\n\n/**\n * Replaces undefined values in an object with a specified replacement value.\n * @param value - The value to check for undefined values.\n * @param replaceWith - The value to replace undefined values with. Default is null.\n * @returns The object with undefined values replaced.\n */\nfunction replaceUndefinedValues(\n value: unknown,\n replaceWith = 'undefined' as unknown\n): unknown {\n if (typeof value === 'undefined') {\n return replaceWith\n } else if (Array.isArray(value)) {\n return value.map((item) => replaceUndefinedValues(item, replaceWith))\n } else if (value && typeof value === 'object' && value !== replaceWith) {\n return {\n ...value,\n ...Object.fromEntries(\n Object.entries(value).map(([k, v]) => [\n k,\n replaceUndefinedValues(v, replaceWith),\n ])\n ),\n }\n } else {\n return value\n }\n}\n\nLog._supportsSpacingProps = true\nexport default Log\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,OAAO,MAA2B,6BAA6B;AACtE,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,GAAGA,CAAAC,IAAA,EAST;EAAA,IATU;MACXC,WAAW;MACXC,KAAK;MACLC,IAAI,EAAEC;IAMR,CAAC,GAAAJ,IAAA;IALIK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAMR,MAAM;IAAEC;EAAgB,CAAC,GAAGb,UAAU,CAACC,WAAW,CAAC;EACnD,MAAMO,IAAI,GAAGK,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEC,OAAO;EAErC,OACEf,KAAA,CAAAgB,aAAA,CAACb,OAAO,EAAAc,QAAA;IACNC,OAAO,EAAC,QAAQ;IAChBC,eAAe,EAAC,aAAa;IAC7BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAO,CAAE;IAC5BC,UAAU;EAAA,GACNX,KAAK,GAERH,KAAK,IACJR,KAAA,CAAAgB,aAAA,CAACZ,SAAS;IAACmB,MAAM;EAAA,GACfvB,KAAA,CAAAgB,aAAA,YAAIR,KAAS,CACJ,CACZ,EACDR,KAAA,CAAAgB,aAAA,cACGT,WAAW,IAAIiB,MAAM,CAACC,IAAI,CAAC,CAACf,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,KAAK,CAAC,CAAC,CAAC,CAACiB,MAAM,KAAK,CAAC,GAC7DnB,WAAW,GACXoB,IAAI,CAACC,SAAS,CACZC,sBAAsB,CAACnB,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,CAAC,EACvC,IAAI,EACJ,CACF,CAAC,EACJ,GACE,CACE,CAAC;AAEd;AAQA,SAASoB,sBAAsBA,CAC7BC,KAAc,EACdC,WAAW,GAAG,WAAsB,EAC3B;EACT,IAAI,OAAOD,KAAK,KAAK,WAAW,EAAE;IAChC,OAAOC,WAAW;EACpB,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC/B,OAAOA,KAAK,CAACI,GAAG,CAAEC,IAAI,IAAKN,sBAAsB,CAACM,IAAI,EAAEJ,WAAW,CAAC,CAAC;EACvE,CAAC,MAAM,IAAID,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAKC,WAAW,EAAE;IACtE,OAAAK,aAAA,CAAAA,aAAA,KACKN,KAAK,GACLN,MAAM,CAACa,WAAW,CACnBb,MAAM,CAACc,OAAO,CAACR,KAAK,CAAC,CAACI,GAAG,CAAC,CAAC,CAACK,CAAC,EAAEC,CAAC,CAAC,KAAK,CACpCD,CAAC,EACDV,sBAAsB,CAACW,CAAC,EAAET,WAAW,CAAC,CACvC,CACH,CAAC;EAEL,CAAC,MAAM;IACL,OAAOD,KAAK;EACd;AACF;AAEAzB,GAAG,CAACoC,qBAAqB,GAAG,IAAI;AAChC,eAAepC,GAAG"}
@@ -12,7 +12,7 @@ import Context from '../../DataContext/Context';
12
12
  import ListFormat from '../../../../components/list-format';
13
13
  function ArraySelection(props) {
14
14
  const {
15
- fieldPropsRef
15
+ fieldInternalsRef
16
16
  } = useContext(Context) || {};
17
17
  const _useValueProps = useValueProps(props),
18
18
  {
@@ -27,8 +27,8 @@ function ArraySelection(props) {
27
27
  const list = useMemo(() => {
28
28
  let valueToUse = value;
29
29
  if (path) {
30
- var _fieldPropsRef$curren, _data$map;
31
- const data = fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : (_fieldPropsRef$curren = fieldPropsRef.current) === null || _fieldPropsRef$curren === void 0 ? void 0 : _fieldPropsRef$curren[path + '/arraySelectionData'];
30
+ var _fieldInternalsRef$cu, _fieldInternalsRef$cu2, _data$map;
31
+ const data = fieldInternalsRef === null || fieldInternalsRef === void 0 ? void 0 : (_fieldInternalsRef$cu = fieldInternalsRef.current) === null || _fieldInternalsRef$cu === void 0 ? void 0 : (_fieldInternalsRef$cu2 = _fieldInternalsRef$cu[path + '/arraySelectionData']) === null || _fieldInternalsRef$cu2 === void 0 ? void 0 : _fieldInternalsRef$cu2.props;
32
32
  valueToUse = (data === null || data === void 0 ? void 0 : (_data$map = data.map) === null || _data$map === void 0 ? void 0 : _data$map.call(data, ({
33
33
  title
34
34
  }) => convertJsxToString(title))) || value;
@@ -42,7 +42,7 @@ function ArraySelection(props) {
42
42
  variant: variant,
43
43
  listType: listType
44
44
  });
45
- }, [fieldPropsRef, path, value, variant, listType]);
45
+ }, [value, path, format, variant, listType, fieldInternalsRef]);
46
46
  return React.createElement(ValueBlock, _extends({
47
47
  className: classnames('dnb-forms-value-array-selection', className)
48
48
  }, rest), list);
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelection.js","names":["React","useContext","useMemo","classnames","useValueProps","ValueBlock","convertJsxToString","Context","ListFormat","ArraySelection","props","fieldPropsRef","_useValueProps","path","value","format","className","variant","listType","rest","_objectWithoutProperties","_excluded","list","valueToUse","_fieldPropsRef$curren","_data$map","data","current","map","call","title","undefined","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport Context from '../../DataContext/Context'\nimport ListFormat, {\n ListFormatProps,\n} from '../../../../components/list-format'\n\nexport type Props = ValueProps<Array<number | string>> & ListFormatProps\n\nfunction ArraySelection(props: Props) {\n const { fieldPropsRef } = useContext(Context) || {}\n const {\n path,\n value,\n format,\n className,\n variant = 'text',\n listType,\n ...rest\n } = useValueProps(props)\n\n const list = useMemo(() => {\n let valueToUse = value\n\n if (path) {\n const data = fieldPropsRef?.current?.[\n path + '/arraySelectionData'\n ] as Array<{\n value: string\n title: string | React.ReactNode\n }>\n\n valueToUse =\n data?.map?.(({ title }) => convertJsxToString(title)) || value\n }\n\n if (typeof valueToUse === 'undefined') {\n return undefined\n }\n\n return (\n <ListFormat\n value={valueToUse}\n format={format}\n variant={variant}\n listType={listType}\n />\n )\n }, [fieldPropsRef, path, value, variant, listType])\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-array-selection', className)}\n {...rest}\n >\n {list}\n </ValueBlock>\n )\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,aAAa,QAAQ,aAAa;AAE3C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,OAAO,MAAM,2BAA2B;AAC/C,OAAOC,UAAU,MAEV,oCAAoC;AAI3C,SAASC,cAAcA,CAACC,KAAY,EAAE;EACpC,MAAM;IAAEC;EAAc,CAAC,GAAGV,UAAU,CAACM,OAAO,CAAC,IAAI,CAAC,CAAC;EACnD,MAAAK,cAAA,GAQIR,aAAa,CAACM,KAAK,CAAC;IARlB;MACJG,IAAI;MACJC,KAAK;MACLC,MAAM;MACNC,SAAS;MACTC,OAAO,GAAG,MAAM;MAChBC;IAEF,CAAC,GAAAN,cAAA;IADIO,IAAI,GAAAC,wBAAA,CAAAR,cAAA,EAAAS,SAAA;EAGT,MAAMC,IAAI,GAAGpB,OAAO,CAAC,MAAM;IACzB,IAAIqB,UAAU,GAAGT,KAAK;IAEtB,IAAID,IAAI,EAAE;MAAA,IAAAW,qBAAA,EAAAC,SAAA;MACR,MAAMC,IAAI,GAAGf,aAAa,aAAbA,aAAa,wBAAAa,qBAAA,GAAbb,aAAa,CAAEgB,OAAO,cAAAH,qBAAA,uBAAtBA,qBAAA,CACXX,IAAI,GAAG,qBAAqB,CAI5B;MAEFU,UAAU,GACR,CAAAG,IAAI,aAAJA,IAAI,wBAAAD,SAAA,GAAJC,IAAI,CAAEE,GAAG,cAAAH,SAAA,uBAATA,SAAA,CAAAI,IAAA,CAAAH,IAAI,EAAQ,CAAC;QAAEI;MAAM,CAAC,KAAKxB,kBAAkB,CAACwB,KAAK,CAAC,CAAC,KAAIhB,KAAK;IAClE;IAEA,IAAI,OAAOS,UAAU,KAAK,WAAW,EAAE;MACrC,OAAOQ,SAAS;IAClB;IAEA,OACE/B,KAAA,CAAAgC,aAAA,CAACxB,UAAU;MACTM,KAAK,EAAES,UAAW;MAClBR,MAAM,EAAEA,MAAO;MACfE,OAAO,EAAEA,OAAQ;MACjBC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAEN,CAAC,EAAE,CAACP,aAAa,EAAEE,IAAI,EAAEC,KAAK,EAAEG,OAAO,EAAEC,QAAQ,CAAC,CAAC;EAEnD,OACElB,KAAA,CAAAgC,aAAA,CAAC3B,UAAU,EAAA4B,QAAA;IACTjB,SAAS,EAAEb,UAAU,CAAC,iCAAiC,EAAEa,SAAS;EAAE,GAChEG,IAAI,GAEPG,IACS,CAAC;AAEjB;AAEAb,cAAc,CAACyB,qBAAqB,GAAG,IAAI;AAC3C,eAAezB,cAAc"}
1
+ {"version":3,"file":"ArraySelection.js","names":["React","useContext","useMemo","classnames","useValueProps","ValueBlock","convertJsxToString","Context","ListFormat","ArraySelection","props","fieldInternalsRef","_useValueProps","path","value","format","className","variant","listType","rest","_objectWithoutProperties","_excluded","list","valueToUse","_fieldInternalsRef$cu","_fieldInternalsRef$cu2","_data$map","data","current","map","call","title","undefined","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { useValueProps } from '../../hooks'\nimport { ValueProps } from '../../types'\nimport ValueBlock from '../../ValueBlock'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport Context from '../../DataContext/Context'\nimport ListFormat, {\n ListFormatProps,\n} from '../../../../components/list-format'\n\nexport type Props = ValueProps<Array<number | string>> & ListFormatProps\n\nfunction ArraySelection(props: Props) {\n const { fieldInternalsRef } = useContext(Context) || {}\n const {\n path,\n value,\n format,\n className,\n variant = 'text',\n listType,\n ...rest\n } = useValueProps(props)\n\n const list = useMemo(() => {\n let valueToUse = value\n\n if (path) {\n const data = fieldInternalsRef?.current?.[\n path + '/arraySelectionData'\n ]?.props as unknown as Array<{\n value: string\n title: string | React.ReactNode\n }>\n\n valueToUse =\n data?.map?.(({ title }) => convertJsxToString(title)) || value\n }\n\n if (typeof valueToUse === 'undefined') {\n return undefined\n }\n\n return (\n <ListFormat\n value={valueToUse}\n format={format}\n variant={variant}\n listType={listType}\n />\n )\n }, [value, path, format, variant, listType, fieldInternalsRef])\n\n return (\n <ValueBlock\n className={classnames('dnb-forms-value-array-selection', className)}\n {...rest}\n >\n {list}\n </ValueBlock>\n )\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,aAAa,QAAQ,aAAa;AAE3C,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,OAAO,MAAM,2BAA2B;AAC/C,OAAOC,UAAU,MAEV,oCAAoC;AAI3C,SAASC,cAAcA,CAACC,KAAY,EAAE;EACpC,MAAM;IAAEC;EAAkB,CAAC,GAAGV,UAAU,CAACM,OAAO,CAAC,IAAI,CAAC,CAAC;EACvD,MAAAK,cAAA,GAQIR,aAAa,CAACM,KAAK,CAAC;IARlB;MACJG,IAAI;MACJC,KAAK;MACLC,MAAM;MACNC,SAAS;MACTC,OAAO,GAAG,MAAM;MAChBC;IAEF,CAAC,GAAAN,cAAA;IADIO,IAAI,GAAAC,wBAAA,CAAAR,cAAA,EAAAS,SAAA;EAGT,MAAMC,IAAI,GAAGpB,OAAO,CAAC,MAAM;IACzB,IAAIqB,UAAU,GAAGT,KAAK;IAEtB,IAAID,IAAI,EAAE;MAAA,IAAAW,qBAAA,EAAAC,sBAAA,EAAAC,SAAA;MACR,MAAMC,IAAI,GAAGhB,iBAAiB,aAAjBA,iBAAiB,wBAAAa,qBAAA,GAAjBb,iBAAiB,CAAEiB,OAAO,cAAAJ,qBAAA,wBAAAC,sBAAA,GAA1BD,qBAAA,CACXX,IAAI,GAAG,qBAAqB,CAC7B,cAAAY,sBAAA,uBAFYA,sBAAA,CAEVf,KAGD;MAEFa,UAAU,GACR,CAAAI,IAAI,aAAJA,IAAI,wBAAAD,SAAA,GAAJC,IAAI,CAAEE,GAAG,cAAAH,SAAA,uBAATA,SAAA,CAAAI,IAAA,CAAAH,IAAI,EAAQ,CAAC;QAAEI;MAAM,CAAC,KAAKzB,kBAAkB,CAACyB,KAAK,CAAC,CAAC,KAAIjB,KAAK;IAClE;IAEA,IAAI,OAAOS,UAAU,KAAK,WAAW,EAAE;MACrC,OAAOS,SAAS;IAClB;IAEA,OACEhC,KAAA,CAAAiC,aAAA,CAACzB,UAAU;MACTM,KAAK,EAAES,UAAW;MAClBR,MAAM,EAAEA,MAAO;MACfE,OAAO,EAAEA,OAAQ;MACjBC,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAEN,CAAC,EAAE,CAACJ,KAAK,EAAED,IAAI,EAAEE,MAAM,EAAEE,OAAO,EAAEC,QAAQ,EAAEP,iBAAiB,CAAC,CAAC;EAE/D,OACEX,KAAA,CAAAiC,aAAA,CAAC5B,UAAU,EAAA6B,QAAA;IACTlB,SAAS,EAAEb,UAAU,CAAC,iCAAiC,EAAEa,SAAS;EAAE,GAChEG,IAAI,GAEPG,IACS,CAAC;AAEjB;AAEAb,cAAc,CAAC0B,qBAAqB,GAAG,IAAI;AAC3C,eAAe1B,cAAc"}
@@ -11,7 +11,7 @@ import Context from '../../DataContext/Context';
11
11
  import { convertJsxToString } from '../../../../shared/component-helper';
12
12
  function Selection(props) {
13
13
  const {
14
- fieldPropsRef
14
+ fieldInternalsRef
15
15
  } = useContext(Context) || {};
16
16
  const _useValueProps = useValueProps(props),
17
17
  {
@@ -24,21 +24,21 @@ function Selection(props) {
24
24
  getValueByPath
25
25
  } = useDataValue();
26
26
  const valueToDisplay = useMemo(() => {
27
- var _fieldPropsRef$curren;
28
- const fieldProp = fieldPropsRef === null || fieldPropsRef === void 0 ? void 0 : (_fieldPropsRef$curren = fieldPropsRef.current) === null || _fieldPropsRef$curren === void 0 ? void 0 : _fieldPropsRef$curren[path];
27
+ var _fieldInternalsRef$cu, _fieldInternalsRef$cu2;
28
+ const fieldProp = fieldInternalsRef === null || fieldInternalsRef === void 0 ? void 0 : (_fieldInternalsRef$cu = fieldInternalsRef.current) === null || _fieldInternalsRef$cu === void 0 ? void 0 : (_fieldInternalsRef$cu2 = _fieldInternalsRef$cu[path]) === null || _fieldInternalsRef$cu2 === void 0 ? void 0 : _fieldInternalsRef$cu2.props;
29
29
  if (path || dataPath) {
30
30
  var _getValueByPath, _getValueByPath$map, _list, _list$find, _list$find$call, _list$find$call$props;
31
31
  let list = (_getValueByPath = getValueByPath(dataPath)) === null || _getValueByPath === void 0 ? void 0 : (_getValueByPath$map = _getValueByPath.map) === null || _getValueByPath$map === void 0 ? void 0 : _getValueByPath$map.call(_getValueByPath, props => ({
32
32
  props
33
33
  }));
34
34
  if (!list) {
35
- list = fieldProp === null || fieldProp === void 0 ? void 0 : fieldProp['children'];
35
+ list = fieldProp === null || fieldProp === void 0 ? void 0 : fieldProp.children;
36
36
  }
37
37
  const title = (_list = list) === null || _list === void 0 ? void 0 : (_list$find = _list.find) === null || _list$find === void 0 ? void 0 : (_list$find$call = _list$find.call(_list, child => child.props.value === value)) === null || _list$find$call === void 0 ? void 0 : (_list$find$call$props = _list$find$call.props) === null || _list$find$call$props === void 0 ? void 0 : _list$find$call$props.title;
38
38
  return title ? convertJsxToString(title) : value;
39
39
  }
40
40
  return value;
41
- }, [dataPath, fieldPropsRef, getValueByPath, path, value]);
41
+ }, [dataPath, fieldInternalsRef, getValueByPath, path, value]);
42
42
  return React.createElement(StringValue, _extends({
43
43
  value: valueToDisplay,
44
44
  path: path
@@ -1 +1 @@
1
- {"version":3,"file":"Selection.js","names":["React","useContext","useMemo","StringValue","useValueProps","useDataValue","Context","convertJsxToString","Selection","props","fieldPropsRef","_useValueProps","path","dataPath","value","rest","_objectWithoutProperties","_excluded","getValueByPath","valueToDisplay","_fieldPropsRef$curren","fieldProp","current","_getValueByPath","_getValueByPath$map","_list","_list$find","_list$find$call","_list$find$call$props","list","map","call","title","find","child","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Selection/Selection.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport StringValue from '../String'\nimport { Path, ValueProps } from '../../types'\nimport { useValueProps } from '../../hooks'\nimport useDataValue from '../../hooks/useDataValue'\nimport Context from '../../DataContext/Context'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Data } from '../../Field/Selection'\n\nexport type Props = ValueProps<string> & {\n dataPath?: Path\n}\n\nfunction Selection(props: Props) {\n const { fieldPropsRef } = useContext(Context) || {}\n const { path, dataPath, value, ...rest } = useValueProps(props)\n const { getValueByPath } = useDataValue()\n\n const valueToDisplay = useMemo<string | undefined>(() => {\n const fieldProp = fieldPropsRef?.current?.[path]\n\n if (path || dataPath) {\n let list = getValueByPath(dataPath)?.map?.((props) => ({ props }))\n\n if (!list) {\n list = fieldProp?.['children'] as Array<\n Omit<JSX.Element, 'props'> & { props: Data[number] }\n >\n }\n\n const title = list?.find?.((child) => child.props.value === value)\n ?.props?.title\n\n return title ? convertJsxToString(title) : value\n }\n\n return value\n }, [dataPath, fieldPropsRef, getValueByPath, path, value])\n\n return <StringValue value={valueToDisplay} path={path} {...rest} />\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,WAAW,MAAM,WAAW;AAEnC,SAASC,aAAa,QAAQ,aAAa;AAC3C,OAAOC,YAAY,MAAM,0BAA0B;AACnD,OAAOC,OAAO,MAAM,2BAA2B;AAC/C,SAASC,kBAAkB,QAAQ,qCAAqC;AAOxE,SAASC,SAASA,CAACC,KAAY,EAAE;EAC/B,MAAM;IAAEC;EAAc,CAAC,GAAGT,UAAU,CAACK,OAAO,CAAC,IAAI,CAAC,CAAC;EACnD,MAAAK,cAAA,GAA2CP,aAAa,CAACK,KAAK,CAAC;IAAzD;MAAEG,IAAI;MAAEC,QAAQ;MAAEC;IAAe,CAAC,GAAAH,cAAA;IAANI,IAAI,GAAAC,wBAAA,CAAAL,cAAA,EAAAM,SAAA;EACtC,MAAM;IAAEC;EAAe,CAAC,GAAGb,YAAY,CAAC,CAAC;EAEzC,MAAMc,cAAc,GAAGjB,OAAO,CAAqB,MAAM;IAAA,IAAAkB,qBAAA;IACvD,MAAMC,SAAS,GAAGX,aAAa,aAAbA,aAAa,wBAAAU,qBAAA,GAAbV,aAAa,CAAEY,OAAO,cAAAF,qBAAA,uBAAtBA,qBAAA,CAAyBR,IAAI,CAAC;IAEhD,IAAIA,IAAI,IAAIC,QAAQ,EAAE;MAAA,IAAAU,eAAA,EAAAC,mBAAA,EAAAC,KAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,qBAAA;MACpB,IAAIC,IAAI,IAAAN,eAAA,GAAGL,cAAc,CAACL,QAAQ,CAAC,cAAAU,eAAA,wBAAAC,mBAAA,GAAxBD,eAAA,CAA0BO,GAAG,cAAAN,mBAAA,uBAA7BA,mBAAA,CAAAO,IAAA,CAAAR,eAAA,EAAiCd,KAAK,KAAM;QAAEA;MAAM,CAAC,CAAC,CAAC;MAElE,IAAI,CAACoB,IAAI,EAAE;QACTA,IAAI,GAAGR,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,UAAU,CAE5B;MACH;MAEA,MAAMW,KAAK,IAAAP,KAAA,GAAGI,IAAI,cAAAJ,KAAA,wBAAAC,UAAA,GAAJD,KAAA,CAAMQ,IAAI,cAAAP,UAAA,wBAAAC,eAAA,GAAVD,UAAA,CAAAK,IAAA,CAAAN,KAAA,EAAcS,KAAK,IAAKA,KAAK,CAACzB,KAAK,CAACK,KAAK,KAAKA,KAAK,CAAC,cAAAa,eAAA,wBAAAC,qBAAA,GAApDD,eAAA,CACVlB,KAAK,cAAAmB,qBAAA,uBADKA,qBAAA,CACHI,KAAK;MAEhB,OAAOA,KAAK,GAAGzB,kBAAkB,CAACyB,KAAK,CAAC,GAAGlB,KAAK;IAClD;IAEA,OAAOA,KAAK;EACd,CAAC,EAAE,CAACD,QAAQ,EAAEH,aAAa,EAAEQ,cAAc,EAAEN,IAAI,EAAEE,KAAK,CAAC,CAAC;EAE1D,OAAOd,KAAA,CAAAmC,aAAA,CAAChC,WAAW,EAAAiC,QAAA;IAACtB,KAAK,EAAEK,cAAe;IAACP,IAAI,EAAEA;EAAK,GAAKG,IAAI,CAAG,CAAC;AACrE;AAEAP,SAAS,CAAC6B,qBAAqB,GAAG,IAAI;AACtC,eAAe7B,SAAS"}
1
+ {"version":3,"file":"Selection.js","names":["React","useContext","useMemo","StringValue","useValueProps","useDataValue","Context","convertJsxToString","Selection","props","fieldInternalsRef","_useValueProps","path","dataPath","value","rest","_objectWithoutProperties","_excluded","getValueByPath","valueToDisplay","_fieldInternalsRef$cu","_fieldInternalsRef$cu2","fieldProp","current","_getValueByPath","_getValueByPath$map","_list","_list$find","_list$find$call","_list$find$call$props","list","map","call","children","title","find","child","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Selection/Selection.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport StringValue from '../String'\nimport { Path, ValueProps } from '../../types'\nimport { useValueProps } from '../../hooks'\nimport useDataValue from '../../hooks/useDataValue'\nimport Context from '../../DataContext/Context'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Data } from '../../Field/Selection'\n\nexport type Props = ValueProps<string> & {\n dataPath?: Path\n}\n\nfunction Selection(props: Props) {\n const { fieldInternalsRef } = useContext(Context) || {}\n const { path, dataPath, value, ...rest } = useValueProps(props)\n const { getValueByPath } = useDataValue()\n\n const valueToDisplay = useMemo<string | undefined>(() => {\n const fieldProp = fieldInternalsRef?.current?.[path]?.props\n\n if (path || dataPath) {\n let list = getValueByPath(dataPath)?.map?.((props) => ({ props }))\n\n if (!list) {\n list = fieldProp?.children as Array<\n Omit<JSX.Element, 'props'> & { props: Data[number] }\n >\n }\n\n const title = list?.find?.((child) => child.props.value === value)\n ?.props?.title\n\n return title ? convertJsxToString(title) : value\n }\n\n return value\n }, [dataPath, fieldInternalsRef, getValueByPath, path, value])\n\n return <StringValue value={valueToDisplay} path={path} {...rest} />\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,WAAW,MAAM,WAAW;AAEnC,SAASC,aAAa,QAAQ,aAAa;AAC3C,OAAOC,YAAY,MAAM,0BAA0B;AACnD,OAAOC,OAAO,MAAM,2BAA2B;AAC/C,SAASC,kBAAkB,QAAQ,qCAAqC;AAOxE,SAASC,SAASA,CAACC,KAAY,EAAE;EAC/B,MAAM;IAAEC;EAAkB,CAAC,GAAGT,UAAU,CAACK,OAAO,CAAC,IAAI,CAAC,CAAC;EACvD,MAAAK,cAAA,GAA2CP,aAAa,CAACK,KAAK,CAAC;IAAzD;MAAEG,IAAI;MAAEC,QAAQ;MAAEC;IAAe,CAAC,GAAAH,cAAA;IAANI,IAAI,GAAAC,wBAAA,CAAAL,cAAA,EAAAM,SAAA;EACtC,MAAM;IAAEC;EAAe,CAAC,GAAGb,YAAY,CAAC,CAAC;EAEzC,MAAMc,cAAc,GAAGjB,OAAO,CAAqB,MAAM;IAAA,IAAAkB,qBAAA,EAAAC,sBAAA;IACvD,MAAMC,SAAS,GAAGZ,iBAAiB,aAAjBA,iBAAiB,wBAAAU,qBAAA,GAAjBV,iBAAiB,CAAEa,OAAO,cAAAH,qBAAA,wBAAAC,sBAAA,GAA1BD,qBAAA,CAA6BR,IAAI,CAAC,cAAAS,sBAAA,uBAAlCA,sBAAA,CAAoCZ,KAAK;IAE3D,IAAIG,IAAI,IAAIC,QAAQ,EAAE;MAAA,IAAAW,eAAA,EAAAC,mBAAA,EAAAC,KAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,qBAAA;MACpB,IAAIC,IAAI,IAAAN,eAAA,GAAGN,cAAc,CAACL,QAAQ,CAAC,cAAAW,eAAA,wBAAAC,mBAAA,GAAxBD,eAAA,CAA0BO,GAAG,cAAAN,mBAAA,uBAA7BA,mBAAA,CAAAO,IAAA,CAAAR,eAAA,EAAiCf,KAAK,KAAM;QAAEA;MAAM,CAAC,CAAC,CAAC;MAElE,IAAI,CAACqB,IAAI,EAAE;QACTA,IAAI,GAAGR,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEW,QAEjB;MACH;MAEA,MAAMC,KAAK,IAAAR,KAAA,GAAGI,IAAI,cAAAJ,KAAA,wBAAAC,UAAA,GAAJD,KAAA,CAAMS,IAAI,cAAAR,UAAA,wBAAAC,eAAA,GAAVD,UAAA,CAAAK,IAAA,CAAAN,KAAA,EAAcU,KAAK,IAAKA,KAAK,CAAC3B,KAAK,CAACK,KAAK,KAAKA,KAAK,CAAC,cAAAc,eAAA,wBAAAC,qBAAA,GAApDD,eAAA,CACVnB,KAAK,cAAAoB,qBAAA,uBADKA,qBAAA,CACHK,KAAK;MAEhB,OAAOA,KAAK,GAAG3B,kBAAkB,CAAC2B,KAAK,CAAC,GAAGpB,KAAK;IAClD;IAEA,OAAOA,KAAK;EACd,CAAC,EAAE,CAACD,QAAQ,EAAEH,iBAAiB,EAAEQ,cAAc,EAAEN,IAAI,EAAEE,KAAK,CAAC,CAAC;EAE9D,OAAOd,KAAA,CAAAqC,aAAA,CAAClC,WAAW,EAAAmC,QAAA;IAACxB,KAAK,EAAEK,cAAe;IAACP,IAAI,EAAEA;EAAK,GAAKG,IAAI,CAAG,CAAC;AACrE;AAEAP,SAAS,CAAC+B,qBAAqB,GAAG,IAAI;AACtC,eAAe/B,SAAS"}
@@ -13,8 +13,10 @@ import SummaryListContext from '../Value/SummaryList/SummaryListContext';
13
13
  import ValueBlockContext from './ValueBlockContext';
14
14
  import DataContext from '../DataContext/Context';
15
15
  import { pickSpacingProps } from '../../../components/flex/utils';
16
- import IterateElementContext from '../Iterate/IterateItemContext';
16
+ import IterateItemContext from '../Iterate/IterateItemContext';
17
17
  import { convertJsxToString } from '../../../shared/component-helper';
18
+ import VisibilityContext from '../Form/Visibility/VisibilityContext';
19
+ import Visibility from '../Form/Visibility/Visibility';
18
20
  function ValueBlock(props) {
19
21
  const summaryListContext = useContext(SummaryListContext);
20
22
  const valueBlockContext = useContext(ValueBlockContext);
@@ -23,10 +25,12 @@ function ValueBlock(props) {
23
25
  } = useContext(DataContext) || {};
24
26
  const {
25
27
  index: iterateIndex
26
- } = useContext(IterateElementContext) || {};
28
+ } = useContext(IterateItemContext) || {};
27
29
  const {
28
30
  className,
29
31
  label: labelProp,
32
+ path,
33
+ itemPath,
30
34
  labelSrOnly,
31
35
  transformLabel = label => label,
32
36
  inline,
@@ -48,7 +52,7 @@ function ValueBlock(props) {
48
52
  return transformLabel(label, transformLabelParameters);
49
53
  }, [inline, iterateIndex, labelProp, transformLabel]);
50
54
  const ref = useRef(null);
51
- useNotInSummaryList(valueBlockContext !== null && valueBlockContext !== void 0 && valueBlockContext.composition ? null : ref, label);
55
+ useNotInSummaryList(valueBlockContext !== null && valueBlockContext !== void 0 && valueBlockContext.composition ? null : ref, label, path, itemPath);
52
56
  const hide = prerenderFieldProps || (children === undefined || children === null || children === false) && !showEmpty && !placeholder;
53
57
  if (hide) {
54
58
  return React.createElement(React.Fragment, null);
@@ -72,13 +76,13 @@ function ValueBlock(props) {
72
76
  })
73
77
  }, React.createElement(Item, null, React.createElement(Dt, {
74
78
  className: 'dnb-forms-value-block__label' + (!label || labelSrOnly ? " dnb-sr-only" : "")
75
- }, label && React.createElement("strong", null, label)), React.createElement(Dd, {
79
+ }, React.createElement(VisibilityWrapper, null, label && React.createElement("strong", null, label))), React.createElement(Dd, {
76
80
  className: classnames(compositionClass, summaryListContext.layout !== 'grid' && !summaryListContext.isNested && maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`)
77
- }, children ? React.createElement("span", {
81
+ }, React.createElement(VisibilityWrapper, null, children ? React.createElement("span", {
78
82
  className: defaultClass
79
83
  }, children) : React.createElement("span", {
80
84
  className: "dnb-forms-value-block__placeholder"
81
- }, placeholder))));
85
+ }, placeholder)))));
82
86
  }
83
87
  } else {
84
88
  content = React.createElement(Span, _extends({
@@ -99,21 +103,34 @@ function ValueBlock(props) {
99
103
  value: props
100
104
  }, content);
101
105
  }
102
- function useNotInSummaryList(ref, label) {
106
+ function useNotInSummaryList(ref, label, path, itemPath) {
103
107
  useEffect(() => {
104
108
  if (ref !== null && ref !== void 0 && ref.current) {
105
109
  try {
106
110
  const sibling = ref.current.previousElementSibling;
107
111
  if (sibling !== null && sibling !== void 0 && sibling.classList.contains('dnb-forms-value-block') && !ref.current.closest('.dnb-forms-summary-list')) {
108
- warn.apply(warn, ['Value components as siblings should be wrapped inside a Value.SummaryList!', label].filter(Boolean));
112
+ warn.apply(warn, ['Value components as siblings should be wrapped inside a Value.SummaryList:', {
113
+ label,
114
+ path,
115
+ itemPath
116
+ }].filter(Boolean));
109
117
  }
110
118
  } catch (error) {}
111
119
  }
112
- }, [label, ref]);
120
+ }, [itemPath, label, path, ref]);
113
121
  }
114
122
  ValueBlock._supportsSpacingProps = true;
115
123
  export default ValueBlock;
116
124
  const transformLabelParameters = {
117
125
  convertJsxToString
118
126
  };
127
+ function VisibilityWrapper({
128
+ children
129
+ }) {
130
+ const visibilityContext = useContext(VisibilityContext);
131
+ if (visibilityContext) {
132
+ return React.createElement(Visibility, visibilityContext.props, children);
133
+ }
134
+ return children;
135
+ }
119
136
  //# sourceMappingURL=ValueBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","useEffect","useMemo","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueBlockContext","DataContext","pickSpacingProps","IterateElementContext","convertJsxToString","ValueBlock","props","summaryListContext","valueBlockContext","prerenderFieldProps","index","iterateIndex","className","label","labelProp","labelSrOnly","transformLabel","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","replace","String","transformLabelParameters","ref","useNotInSummaryList","hide","createElement","content","compositionClass","defaultClass","Item","isNested","layout","_span","Provider","value","_objectSpread","_extends","element","labelDirection","srOnly","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, {\n Fragment,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { convertJsxToString } from '../../../shared/component-helper'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const { prerenderFieldProps } = useContext(DataContext) || {}\n const { index: iterateIndex } = useContext(IterateElementContext) || {}\n\n const {\n className,\n label: labelProp,\n labelSrOnly,\n transformLabel = (label: Props['label']) => label,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = useMemo(() => {\n if (inline) {\n return null\n }\n\n let label = labelProp\n\n if (iterateIndex !== undefined) {\n label = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n return transformLabel(label, transformLabelParameters)\n }, [inline, iterateIndex, labelProp, transformLabel])\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(valueBlockContext?.composition ? null : ref, label)\n\n const hide =\n prerenderFieldProps ||\n ((children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder)\n\n if (hide) {\n return <></>\n }\n\n let content = null\n\n const compositionClass =\n composition &&\n classnames(\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n const defaultClass = classnames(\n 'dnb-forms-value-block__content',\n `dnb-forms-value-block__content--gap-${gap === false ? 'none' : gap}`\n )\n\n if (summaryListContext) {\n const Item = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = <span className={defaultClass}>{children}</span> ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n <Item>\n <Dt\n className={classnames(\n 'dnb-forms-value-block__label',\n (!label || labelSrOnly) && 'dnb-sr-only'\n )}\n >\n {label && <strong>{label}</strong>}\n </Dt>\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Dd>\n </Item>\n </SummaryListContext.Provider>\n )\n }\n } else {\n content = (\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n srOnly={labelSrOnly}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList!',\n label,\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [label, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n\nconst transformLabelParameters = {\n convertJsxToString,\n} as unknown as Parameters<Props['transformLabel']>[1]\n"],"mappings":"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"}
1
+ {"version":3,"file":"ValueBlock.js","names":["React","Fragment","useContext","useEffect","useMemo","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueBlockContext","DataContext","pickSpacingProps","IterateItemContext","convertJsxToString","VisibilityContext","Visibility","ValueBlock","props","summaryListContext","valueBlockContext","prerenderFieldProps","index","iterateIndex","className","label","labelProp","path","itemPath","labelSrOnly","transformLabel","inline","maxWidth","composition","placeholder","showEmpty","children","gap","undefined","replace","String","transformLabelParameters","ref","useNotInSummaryList","hide","createElement","content","compositionClass","defaultClass","Item","isNested","layout","_span","Provider","value","_objectSpread","VisibilityWrapper","_extends","element","labelDirection","srOnly","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps","visibilityContext"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, {\n Fragment,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { Path, ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport IterateItemContext from '../Iterate/IterateItemContext'\nimport { convertJsxToString } from '../../../shared/component-helper'\nimport VisibilityContext from '../Form/Visibility/VisibilityContext'\nimport Visibility from '../Form/Visibility/Visibility'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n children?: React.ReactNode\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n}\n\nfunction ValueBlock(props: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const { prerenderFieldProps } = useContext(DataContext) || {}\n const { index: iterateIndex } = useContext(IterateItemContext) || {}\n\n const {\n className,\n label: labelProp,\n path,\n itemPath,\n labelSrOnly,\n transformLabel = (label: Props['label']) => label,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n gap = 'xx-small',\n } = props\n\n const label = useMemo(() => {\n if (inline) {\n return null\n }\n\n let label = labelProp\n\n if (iterateIndex !== undefined) {\n label = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n return transformLabel(label, transformLabelParameters)\n }, [inline, iterateIndex, labelProp, transformLabel])\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(\n valueBlockContext?.composition ? null : ref,\n label,\n path,\n itemPath\n )\n\n const hide =\n prerenderFieldProps ||\n ((children === undefined || children === null || children === false) &&\n !showEmpty &&\n !placeholder)\n\n if (hide) {\n return <></>\n }\n\n let content = null\n\n const compositionClass =\n composition &&\n classnames(\n `dnb-forms-value-block__composition--${\n composition === true ? 'horizontal' : composition\n }`\n )\n const defaultClass = classnames(\n 'dnb-forms-value-block__content',\n `dnb-forms-value-block__content--gap-${gap === false ? 'none' : gap}`\n )\n\n if (summaryListContext) {\n const Item = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && valueBlockContext?.composition) {\n content = <span className={defaultClass}>{children}</span> ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n content = (\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n <Item>\n <Dt\n className={classnames(\n 'dnb-forms-value-block__label',\n (!label || labelSrOnly) && 'dnb-sr-only'\n )}\n >\n <VisibilityWrapper>\n {label && <strong>{label}</strong>}\n </VisibilityWrapper>\n </Dt>\n <Dd\n className={classnames(\n summaryListContext.layout !== 'grid' &&\n !summaryListContext.isNested &&\n maxWidth &&\n `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass\n )}\n >\n <VisibilityWrapper>\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </VisibilityWrapper>\n </Dd>\n </Item>\n </SummaryListContext.Provider>\n )\n }\n } else {\n content = (\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {label && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className=\"dnb-forms-value-block__label\"\n labelDirection={inline ? 'horizontal' : 'vertical'}\n srOnly={labelSrOnly}\n >\n {label}\n </FormLabel>\n )}\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode,\n path?: Path,\n itemPath?: Path\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList:',\n { label, path, itemPath },\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [itemPath, label, path, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n\nconst transformLabelParameters = {\n convertJsxToString,\n} as unknown as Parameters<Props['transformLabel']>[1]\n\nfunction VisibilityWrapper({ children }) {\n const visibilityContext = useContext(VisibilityContext)\n\n if (visibilityContext) {\n return <Visibility {...visibilityContext.props}>{children}</Visibility>\n }\n\n return children\n}\n"],"mappings":"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"}
@@ -4,10 +4,15 @@
4
4
  .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt, .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) > .dnb-dd > .dnb-dl, .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space]) > .dnb-dd > .dnb-dl {
5
5
  margin: 0;
6
6
  }
7
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt:empty,
8
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dd:empty {
9
+ display: none;
10
+ }
7
11
  .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd {
8
12
  margin-bottom: var(--spacing-medium);
13
+ transition: margin-bottom 300ms var(--easing-default);
9
14
  }
10
- .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type {
15
+ .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd:last-of-type, .dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid) > .dnb-dd:has(~ .dnb-dt:empty ~ .dnb-dd:empty) {
11
16
  margin-bottom: 0;
12
17
  }
13
18