@dnb/eufemia 10.69.0 → 10.70.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 (900) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/cjs/components/aria-live/AriaLiveDocs.d.ts +2 -0
  3. package/cjs/components/aria-live/AriaLiveDocs.js +54 -0
  4. package/cjs/components/aria-live/AriaLiveDocs.js.map +1 -0
  5. package/cjs/components/avatar/Avatar.d.ts +10 -0
  6. package/cjs/components/avatar/Avatar.js +17 -3
  7. package/cjs/components/avatar/Avatar.js.map +1 -1
  8. package/cjs/components/avatar/AvatarDocs.d.ts +3 -0
  9. package/cjs/components/avatar/AvatarDocs.js +101 -0
  10. package/cjs/components/avatar/AvatarDocs.js.map +1 -0
  11. package/cjs/components/avatar/AvatarGroup.d.ts +10 -0
  12. package/cjs/components/avatar/AvatarGroup.js +17 -5
  13. package/cjs/components/avatar/AvatarGroup.js.map +1 -1
  14. package/cjs/components/avatar/style/dnb-avatar.css +8 -0
  15. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
  16. package/cjs/components/avatar/style/dnb-avatar.scss +9 -0
  17. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  18. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  20. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  21. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  22. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  23. package/cjs/components/badge/BadgeDocs.d.ts +2 -0
  24. package/cjs/components/badge/BadgeDocs.js +54 -0
  25. package/cjs/components/badge/BadgeDocs.js.map +1 -0
  26. package/cjs/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  27. package/cjs/components/breadcrumb/BreadcrumbDocs.js +125 -0
  28. package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  29. package/cjs/components/button/Button.d.ts +0 -3
  30. package/cjs/components/button/ButtonDocs.d.ts +1 -0
  31. package/cjs/components/button/ButtonDocs.js +8 -1
  32. package/cjs/components/button/ButtonDocs.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerAddon.js +1 -3
  34. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  35. package/cjs/components/date-picker/DatePickerCalc.d.ts +13 -0
  36. package/cjs/components/date-picker/DatePickerCalc.js +44 -0
  37. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerCalendar.js +13 -11
  39. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
  41. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerProvider.js +2 -2
  43. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  44. package/cjs/components/date-picker/hooks/useViews.d.ts +2 -4
  45. package/cjs/components/date-picker/hooks/useViews.js +37 -23
  46. package/cjs/components/date-picker/hooks/useViews.js.map +1 -1
  47. package/cjs/components/dialog/DialogDocs.d.ts +1 -0
  48. package/cjs/components/dialog/DialogDocs.js +13 -1
  49. package/cjs/components/dialog/DialogDocs.js.map +1 -1
  50. package/cjs/components/drawer/DrawerDocs.d.ts +2 -0
  51. package/cjs/components/drawer/DrawerDocs.js +69 -0
  52. package/cjs/components/drawer/DrawerDocs.js.map +1 -0
  53. package/cjs/components/dropdown/DropdownDocs.d.ts +2 -0
  54. package/cjs/components/dropdown/DropdownDocs.js +29 -0
  55. package/cjs/components/dropdown/DropdownDocs.js.map +1 -0
  56. package/cjs/components/form-label/FormLabelDocs.d.ts +2 -0
  57. package/cjs/components/form-label/FormLabelDocs.js +59 -0
  58. package/cjs/components/form-label/FormLabelDocs.js.map +1 -0
  59. package/cjs/components/form-row/FormRow.d.ts +45 -0
  60. package/cjs/components/form-row/FormRowDocs.d.ts +2 -0
  61. package/cjs/components/form-row/FormRowDocs.js +89 -0
  62. package/cjs/components/form-row/FormRowDocs.js.map +1 -0
  63. package/cjs/components/form-set/FormSet.d.ts +18 -0
  64. package/cjs/components/form-set/FormSetDocs.d.ts +3 -0
  65. package/cjs/components/form-set/FormSetDocs.js +56 -0
  66. package/cjs/components/form-set/FormSetDocs.js.map +1 -0
  67. package/cjs/components/form-status/FormStatus.d.ts +18 -18
  68. package/cjs/components/form-status/FormStatusDocs.d.ts +2 -0
  69. package/cjs/components/form-status/FormStatusDocs.js +89 -0
  70. package/cjs/components/form-status/FormStatusDocs.js.map +1 -0
  71. package/cjs/components/global-error/GlobalError.d.ts +13 -1
  72. package/cjs/components/global-error/GlobalError.js +15 -6
  73. package/cjs/components/global-error/GlobalError.js.map +1 -1
  74. package/cjs/components/global-error/GlobalErrorDocs.d.ts +2 -0
  75. package/cjs/components/global-error/GlobalErrorDocs.js +74 -0
  76. package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
  77. package/cjs/components/global-status/GlobalStatus.d.ts +37 -58
  78. package/cjs/components/global-status/GlobalStatusController.d.ts +0 -9
  79. package/cjs/components/global-status/GlobalStatusDocs.d.ts +6 -0
  80. package/cjs/components/global-status/GlobalStatusDocs.js +192 -0
  81. package/cjs/components/global-status/GlobalStatusDocs.js.map +1 -0
  82. package/cjs/components/heading/HeadingDocs.d.ts +2 -0
  83. package/cjs/components/heading/HeadingDocs.js +79 -0
  84. package/cjs/components/heading/HeadingDocs.js.map +1 -0
  85. package/cjs/components/help-button/HelpButtonDocs.d.ts +3 -0
  86. package/cjs/components/help-button/HelpButtonDocs.js +46 -0
  87. package/cjs/components/help-button/HelpButtonDocs.js.map +1 -0
  88. package/cjs/components/icon/IconDocs.d.ts +2 -0
  89. package/cjs/components/icon/IconDocs.js +59 -0
  90. package/cjs/components/icon/IconDocs.js.map +1 -0
  91. package/cjs/components/icon/IconPrimaryDocs.d.ts +2 -0
  92. package/cjs/components/icon/IconPrimaryDocs.js +24 -0
  93. package/cjs/components/icon/IconPrimaryDocs.js.map +1 -0
  94. package/cjs/components/info-card/InfoCard.d.ts +6 -1
  95. package/cjs/components/info-card/InfoCard.js +4 -3
  96. package/cjs/components/info-card/InfoCard.js.map +1 -1
  97. package/cjs/components/info-card/InfoCardDocs.d.ts +3 -0
  98. package/cjs/components/info-card/InfoCardDocs.js +106 -0
  99. package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
  100. package/cjs/components/input/Input.d.ts +0 -21
  101. package/cjs/components/input/InputDocs.d.ts +1 -0
  102. package/cjs/components/input/InputDocs.js +33 -1
  103. package/cjs/components/input/InputDocs.js.map +1 -1
  104. package/cjs/components/input-masked/InputMasked.d.ts +0 -12
  105. package/cjs/components/input-masked/InputMaskedDocs.d.ts +1 -0
  106. package/cjs/components/input-masked/InputMaskedDocs.js +13 -1
  107. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  108. package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  109. package/cjs/components/input-masked/MultiInputMaskedDocs.js +24 -0
  110. package/cjs/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  111. package/cjs/components/pagination/Pagination.d.ts +35 -33
  112. package/cjs/components/pagination/Pagination.js +2 -0
  113. package/cjs/components/pagination/Pagination.js.map +1 -1
  114. package/cjs/components/pagination/PaginationDocs.d.ts +3 -0
  115. package/cjs/components/pagination/PaginationDocs.js +191 -0
  116. package/cjs/components/pagination/PaginationDocs.js.map +1 -0
  117. package/cjs/components/pagination/PaginationHelpers.d.ts +0 -3
  118. package/cjs/components/pagination/PaginationInfinity.d.ts +0 -3
  119. package/cjs/components/pagination/PaginationProvider.js +1 -1
  120. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  121. package/cjs/components/radio/Radio.d.ts +12 -15
  122. package/cjs/components/radio/RadioDocs.d.ts +5 -0
  123. package/cjs/components/radio/RadioDocs.js +145 -0
  124. package/cjs/components/radio/RadioDocs.js.map +1 -0
  125. package/cjs/components/radio/RadioGroup.d.ts +0 -30
  126. package/cjs/components/skeleton/SkeletonDocs.d.ts +2 -0
  127. package/cjs/components/skeleton/SkeletonDocs.js +44 -0
  128. package/cjs/components/skeleton/SkeletonDocs.js.map +1 -0
  129. package/cjs/components/skeleton/SkeletonHelper.d.ts +0 -6
  130. package/cjs/components/skip-content/SkipContentDocs.d.ts +2 -0
  131. package/cjs/components/skip-content/SkipContentDocs.js +29 -0
  132. package/cjs/components/skip-content/SkipContentDocs.js.map +1 -0
  133. package/cjs/components/tabs/Tabs.js +2 -2
  134. package/cjs/components/tabs/Tabs.js.map +1 -1
  135. package/cjs/components/tag/TagDocs.d.ts +4 -0
  136. package/cjs/components/tag/TagDocs.js +93 -0
  137. package/cjs/components/tag/TagDocs.js.map +1 -0
  138. package/cjs/components/textarea/Textarea.d.ts +0 -12
  139. package/cjs/components/textarea/TextareaDocs.d.ts +1 -0
  140. package/cjs/components/textarea/TextareaDocs.js +23 -1
  141. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  142. package/cjs/components/timeline/TimelineDocs.d.ts +3 -0
  143. package/cjs/components/timeline/TimelineDocs.js +66 -0
  144. package/cjs/components/timeline/TimelineDocs.js.map +1 -0
  145. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -3
  146. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  147. package/cjs/components/toggle-button/ToggleButtonDocs.js +8 -1
  148. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  149. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  150. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  151. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
  152. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  153. package/cjs/components/tooltip/TooltipDocs.d.ts +2 -0
  154. package/cjs/components/tooltip/TooltipDocs.js +79 -0
  155. package/cjs/components/tooltip/TooltipDocs.js.map +1 -0
  156. package/cjs/components/upload/Upload.js +6 -4
  157. package/cjs/components/upload/Upload.js.map +1 -1
  158. package/cjs/components/upload/UploadDocs.js +5 -0
  159. package/cjs/components/upload/UploadDocs.js.map +1 -1
  160. package/cjs/components/upload/UploadFileList.js +5 -4
  161. package/cjs/components/upload/UploadFileList.js.map +1 -1
  162. package/cjs/components/upload/UploadFileListCell.d.ts +6 -1
  163. package/cjs/components/upload/UploadFileListCell.js +8 -5
  164. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  165. package/cjs/components/upload/types.d.ts +5 -0
  166. package/cjs/components/upload/types.js.map +1 -1
  167. package/cjs/components/upload/useUpload.d.ts +1 -0
  168. package/cjs/components/upload/useUpload.js +9 -2
  169. package/cjs/components/upload/useUpload.js.map +1 -1
  170. package/cjs/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  171. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js +19 -0
  172. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  173. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -6
  174. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  175. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  176. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  177. package/cjs/extensions/forms/DataContext/Provider/Provider.js +63 -75
  178. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  179. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -0
  180. package/cjs/extensions/forms/Field/Date/Date.js +8 -8
  181. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  182. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  183. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  184. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  185. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  186. package/cjs/extensions/forms/Field/Upload/Upload.js +10 -2
  187. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  188. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  189. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  190. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  191. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  192. package/cjs/extensions/forms/Form/Isolation/Isolation.js +3 -4
  193. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  194. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  195. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  196. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  197. package/cjs/extensions/forms/Form/Visibility/Visibility.js +1 -0
  198. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  199. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  200. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  201. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  202. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  203. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  204. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  205. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  206. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  207. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  208. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  209. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  210. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  211. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  212. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  213. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  214. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  215. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  216. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  217. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  218. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  219. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  220. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  221. package/cjs/extensions/forms/Value/Date/Date.d.ts +0 -6
  222. package/cjs/extensions/forms/Value/Date/Date.js +14 -38
  223. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  224. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  225. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  227. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  228. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  229. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -35
  230. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  231. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +106 -59
  232. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  233. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  234. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js +66 -0
  235. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  236. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  237. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  238. package/cjs/extensions/forms/Wizard/Context/types.d.ts +9 -6
  239. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -1
  240. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  241. package/cjs/extensions/forms/Wizard/Step/Step.js +65 -22
  242. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  243. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  244. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  245. package/cjs/extensions/forms/Wizard/hooks/useStep.js +10 -18
  246. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  247. package/cjs/extensions/forms/hooks/useFieldProps.js +16 -9
  248. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  249. package/cjs/extensions/forms/hooks/useValueProps.js +1 -1
  250. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  251. package/cjs/extensions/payment-card/PaymentCard.d.ts +7 -7
  252. package/cjs/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  253. package/cjs/extensions/payment-card/PaymentCardDocs.js +205 -0
  254. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  255. package/cjs/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  256. package/cjs/fragments/scroll-view/ScrollViewDocs.js +19 -0
  257. package/cjs/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  258. package/cjs/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  259. package/cjs/fragments/text-counter/TextCounterDocs.js +29 -0
  260. package/cjs/fragments/text-counter/TextCounterDocs.js.map +1 -0
  261. package/cjs/shared/Eufemia.d.ts +1 -1
  262. package/cjs/shared/Eufemia.js +2 -2
  263. package/cjs/shared/Eufemia.js.map +1 -1
  264. package/cjs/shared/MediaQueryDocs.d.ts +2 -0
  265. package/cjs/shared/MediaQueryDocs.js +34 -0
  266. package/cjs/shared/MediaQueryDocs.js.map +1 -0
  267. package/cjs/shared/ThemeDocs.d.ts +2 -0
  268. package/cjs/shared/ThemeDocs.js +39 -0
  269. package/cjs/shared/ThemeDocs.js.map +1 -0
  270. package/cjs/shared/component-helper.js +1 -1
  271. package/cjs/shared/component-helper.js.map +1 -1
  272. package/cjs/shared/locales/en-GB.d.ts +1 -0
  273. package/cjs/shared/locales/en-GB.js +1 -0
  274. package/cjs/shared/locales/en-GB.js.map +1 -1
  275. package/cjs/shared/locales/en-US.d.ts +1 -0
  276. package/cjs/shared/locales/index.d.ts +2 -0
  277. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  278. package/cjs/shared/locales/nb-NO.js +1 -0
  279. package/cjs/shared/locales/nb-NO.js.map +1 -1
  280. package/cjs/shared/locales/sv-SE.d.ts +1 -0
  281. package/cjs/shared/locales/sv-SE.js +1 -0
  282. package/cjs/shared/locales/sv-SE.js.map +1 -1
  283. package/cjs/style/core/scopes.scss +1 -1
  284. package/cjs/style/dnb-ui-basis.css +1 -1
  285. package/cjs/style/dnb-ui-basis.min.css +1 -1
  286. package/cjs/style/dnb-ui-body.css +1 -1
  287. package/cjs/style/dnb-ui-body.min.css +1 -1
  288. package/cjs/style/dnb-ui-components.css +8 -0
  289. package/cjs/style/dnb-ui-components.min.css +1 -1
  290. package/cjs/style/dnb-ui-core.css +1 -1
  291. package/cjs/style/dnb-ui-core.min.css +1 -1
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  293. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  296. package/cjs/style/themes/theme-ui/ui-theme-components.css +13 -5
  297. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  298. package/components/aria-live/AriaLiveDocs.d.ts +2 -0
  299. package/components/aria-live/AriaLiveDocs.js +48 -0
  300. package/components/aria-live/AriaLiveDocs.js.map +1 -0
  301. package/components/avatar/Avatar.d.ts +10 -0
  302. package/components/avatar/Avatar.js +17 -3
  303. package/components/avatar/Avatar.js.map +1 -1
  304. package/components/avatar/AvatarDocs.d.ts +3 -0
  305. package/components/avatar/AvatarDocs.js +95 -0
  306. package/components/avatar/AvatarDocs.js.map +1 -0
  307. package/components/avatar/AvatarGroup.d.ts +10 -0
  308. package/components/avatar/AvatarGroup.js +17 -5
  309. package/components/avatar/AvatarGroup.js.map +1 -1
  310. package/components/avatar/style/dnb-avatar.css +8 -0
  311. package/components/avatar/style/dnb-avatar.min.css +1 -1
  312. package/components/avatar/style/dnb-avatar.scss +9 -0
  313. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  314. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  315. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  316. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  317. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  318. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  319. package/components/badge/BadgeDocs.d.ts +2 -0
  320. package/components/badge/BadgeDocs.js +48 -0
  321. package/components/badge/BadgeDocs.js.map +1 -0
  322. package/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  323. package/components/breadcrumb/BreadcrumbDocs.js +119 -0
  324. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  325. package/components/button/Button.d.ts +0 -3
  326. package/components/button/ButtonDocs.d.ts +1 -0
  327. package/components/button/ButtonDocs.js +7 -0
  328. package/components/button/ButtonDocs.js.map +1 -1
  329. package/components/date-picker/DatePickerAddon.js +1 -3
  330. package/components/date-picker/DatePickerAddon.js.map +1 -1
  331. package/components/date-picker/DatePickerCalc.d.ts +13 -0
  332. package/components/date-picker/DatePickerCalc.js +41 -0
  333. package/components/date-picker/DatePickerCalc.js.map +1 -1
  334. package/components/date-picker/DatePickerCalendar.js +13 -11
  335. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  336. package/components/date-picker/DatePickerContext.d.ts +1 -1
  337. package/components/date-picker/DatePickerContext.js.map +1 -1
  338. package/components/date-picker/DatePickerProvider.js +2 -2
  339. package/components/date-picker/DatePickerProvider.js.map +1 -1
  340. package/components/date-picker/hooks/useViews.d.ts +2 -4
  341. package/components/date-picker/hooks/useViews.js +38 -24
  342. package/components/date-picker/hooks/useViews.js.map +1 -1
  343. package/components/dialog/DialogDocs.d.ts +1 -0
  344. package/components/dialog/DialogDocs.js +12 -0
  345. package/components/dialog/DialogDocs.js.map +1 -1
  346. package/components/drawer/DrawerDocs.d.ts +2 -0
  347. package/components/drawer/DrawerDocs.js +63 -0
  348. package/components/drawer/DrawerDocs.js.map +1 -0
  349. package/components/dropdown/DropdownDocs.d.ts +2 -0
  350. package/components/dropdown/DropdownDocs.js +23 -0
  351. package/components/dropdown/DropdownDocs.js.map +1 -0
  352. package/components/form-label/FormLabelDocs.d.ts +2 -0
  353. package/components/form-label/FormLabelDocs.js +53 -0
  354. package/components/form-label/FormLabelDocs.js.map +1 -0
  355. package/components/form-row/FormRow.d.ts +45 -0
  356. package/components/form-row/FormRowDocs.d.ts +2 -0
  357. package/components/form-row/FormRowDocs.js +83 -0
  358. package/components/form-row/FormRowDocs.js.map +1 -0
  359. package/components/form-set/FormSet.d.ts +18 -0
  360. package/components/form-set/FormSetDocs.d.ts +3 -0
  361. package/components/form-set/FormSetDocs.js +50 -0
  362. package/components/form-set/FormSetDocs.js.map +1 -0
  363. package/components/form-status/FormStatus.d.ts +18 -18
  364. package/components/form-status/FormStatusDocs.d.ts +2 -0
  365. package/components/form-status/FormStatusDocs.js +83 -0
  366. package/components/form-status/FormStatusDocs.js.map +1 -0
  367. package/components/global-error/GlobalError.d.ts +13 -1
  368. package/components/global-error/GlobalError.js +15 -6
  369. package/components/global-error/GlobalError.js.map +1 -1
  370. package/components/global-error/GlobalErrorDocs.d.ts +2 -0
  371. package/components/global-error/GlobalErrorDocs.js +68 -0
  372. package/components/global-error/GlobalErrorDocs.js.map +1 -0
  373. package/components/global-status/GlobalStatus.d.ts +37 -58
  374. package/components/global-status/GlobalStatusController.d.ts +0 -9
  375. package/components/global-status/GlobalStatusDocs.d.ts +6 -0
  376. package/components/global-status/GlobalStatusDocs.js +186 -0
  377. package/components/global-status/GlobalStatusDocs.js.map +1 -0
  378. package/components/heading/HeadingDocs.d.ts +2 -0
  379. package/components/heading/HeadingDocs.js +73 -0
  380. package/components/heading/HeadingDocs.js.map +1 -0
  381. package/components/help-button/HelpButtonDocs.d.ts +3 -0
  382. package/components/help-button/HelpButtonDocs.js +40 -0
  383. package/components/help-button/HelpButtonDocs.js.map +1 -0
  384. package/components/icon/IconDocs.d.ts +2 -0
  385. package/components/icon/IconDocs.js +53 -0
  386. package/components/icon/IconDocs.js.map +1 -0
  387. package/components/icon/IconPrimaryDocs.d.ts +2 -0
  388. package/components/icon/IconPrimaryDocs.js +18 -0
  389. package/components/icon/IconPrimaryDocs.js.map +1 -0
  390. package/components/info-card/InfoCard.d.ts +6 -1
  391. package/components/info-card/InfoCard.js +4 -3
  392. package/components/info-card/InfoCard.js.map +1 -1
  393. package/components/info-card/InfoCardDocs.d.ts +3 -0
  394. package/components/info-card/InfoCardDocs.js +100 -0
  395. package/components/info-card/InfoCardDocs.js.map +1 -0
  396. package/components/input/Input.d.ts +0 -21
  397. package/components/input/InputDocs.d.ts +1 -0
  398. package/components/input/InputDocs.js +32 -0
  399. package/components/input/InputDocs.js.map +1 -1
  400. package/components/input-masked/InputMasked.d.ts +0 -12
  401. package/components/input-masked/InputMaskedDocs.d.ts +1 -0
  402. package/components/input-masked/InputMaskedDocs.js +12 -0
  403. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  404. package/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  405. package/components/input-masked/MultiInputMaskedDocs.js +18 -0
  406. package/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  407. package/components/pagination/Pagination.d.ts +35 -33
  408. package/components/pagination/Pagination.js +2 -0
  409. package/components/pagination/Pagination.js.map +1 -1
  410. package/components/pagination/PaginationDocs.d.ts +3 -0
  411. package/components/pagination/PaginationDocs.js +185 -0
  412. package/components/pagination/PaginationDocs.js.map +1 -0
  413. package/components/pagination/PaginationHelpers.d.ts +0 -3
  414. package/components/pagination/PaginationInfinity.d.ts +0 -3
  415. package/components/pagination/PaginationProvider.js +1 -1
  416. package/components/pagination/PaginationProvider.js.map +1 -1
  417. package/components/radio/Radio.d.ts +12 -15
  418. package/components/radio/RadioDocs.d.ts +5 -0
  419. package/components/radio/RadioDocs.js +139 -0
  420. package/components/radio/RadioDocs.js.map +1 -0
  421. package/components/radio/RadioGroup.d.ts +0 -30
  422. package/components/skeleton/SkeletonDocs.d.ts +2 -0
  423. package/components/skeleton/SkeletonDocs.js +38 -0
  424. package/components/skeleton/SkeletonDocs.js.map +1 -0
  425. package/components/skeleton/SkeletonHelper.d.ts +0 -6
  426. package/components/skip-content/SkipContentDocs.d.ts +2 -0
  427. package/components/skip-content/SkipContentDocs.js +23 -0
  428. package/components/skip-content/SkipContentDocs.js.map +1 -0
  429. package/components/tabs/Tabs.js +2 -2
  430. package/components/tabs/Tabs.js.map +1 -1
  431. package/components/tag/TagDocs.d.ts +4 -0
  432. package/components/tag/TagDocs.js +87 -0
  433. package/components/tag/TagDocs.js.map +1 -0
  434. package/components/textarea/Textarea.d.ts +0 -12
  435. package/components/textarea/TextareaDocs.d.ts +1 -0
  436. package/components/textarea/TextareaDocs.js +22 -0
  437. package/components/textarea/TextareaDocs.js.map +1 -1
  438. package/components/timeline/TimelineDocs.d.ts +3 -0
  439. package/components/timeline/TimelineDocs.js +60 -0
  440. package/components/timeline/TimelineDocs.js.map +1 -0
  441. package/components/toggle-button/ToggleButton.d.ts +0 -3
  442. package/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  443. package/components/toggle-button/ToggleButtonDocs.js +7 -0
  444. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  445. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  446. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  447. package/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  448. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  449. package/components/tooltip/TooltipDocs.d.ts +2 -0
  450. package/components/tooltip/TooltipDocs.js +73 -0
  451. package/components/tooltip/TooltipDocs.js.map +1 -0
  452. package/components/upload/Upload.js +6 -4
  453. package/components/upload/Upload.js.map +1 -1
  454. package/components/upload/UploadDocs.js +5 -0
  455. package/components/upload/UploadDocs.js.map +1 -1
  456. package/components/upload/UploadFileList.js +5 -4
  457. package/components/upload/UploadFileList.js.map +1 -1
  458. package/components/upload/UploadFileListCell.d.ts +6 -1
  459. package/components/upload/UploadFileListCell.js +8 -5
  460. package/components/upload/UploadFileListCell.js.map +1 -1
  461. package/components/upload/types.d.ts +5 -0
  462. package/components/upload/types.js.map +1 -1
  463. package/components/upload/useUpload.d.ts +1 -0
  464. package/components/upload/useUpload.js +7 -1
  465. package/components/upload/useUpload.js.map +1 -1
  466. package/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  467. package/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  468. package/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  469. package/es/components/aria-live/AriaLiveDocs.d.ts +2 -0
  470. package/es/components/aria-live/AriaLiveDocs.js +48 -0
  471. package/es/components/aria-live/AriaLiveDocs.js.map +1 -0
  472. package/es/components/avatar/Avatar.d.ts +10 -0
  473. package/es/components/avatar/Avatar.js +17 -3
  474. package/es/components/avatar/Avatar.js.map +1 -1
  475. package/es/components/avatar/AvatarDocs.d.ts +3 -0
  476. package/es/components/avatar/AvatarDocs.js +95 -0
  477. package/es/components/avatar/AvatarDocs.js.map +1 -0
  478. package/es/components/avatar/AvatarGroup.d.ts +10 -0
  479. package/es/components/avatar/AvatarGroup.js +17 -5
  480. package/es/components/avatar/AvatarGroup.js.map +1 -1
  481. package/es/components/avatar/style/dnb-avatar.css +8 -0
  482. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  483. package/es/components/avatar/style/dnb-avatar.scss +9 -0
  484. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  485. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  486. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  487. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  488. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  489. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  490. package/es/components/badge/BadgeDocs.d.ts +2 -0
  491. package/es/components/badge/BadgeDocs.js +48 -0
  492. package/es/components/badge/BadgeDocs.js.map +1 -0
  493. package/es/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  494. package/es/components/breadcrumb/BreadcrumbDocs.js +119 -0
  495. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  496. package/es/components/button/Button.d.ts +0 -3
  497. package/es/components/button/ButtonDocs.d.ts +1 -0
  498. package/es/components/button/ButtonDocs.js +7 -0
  499. package/es/components/button/ButtonDocs.js.map +1 -1
  500. package/es/components/date-picker/DatePickerAddon.js +1 -3
  501. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  502. package/es/components/date-picker/DatePickerCalc.d.ts +13 -0
  503. package/es/components/date-picker/DatePickerCalc.js +39 -0
  504. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  505. package/es/components/date-picker/DatePickerCalendar.js +13 -11
  506. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  507. package/es/components/date-picker/DatePickerContext.d.ts +1 -1
  508. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  509. package/es/components/date-picker/DatePickerProvider.js +2 -2
  510. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  511. package/es/components/date-picker/hooks/useViews.d.ts +2 -4
  512. package/es/components/date-picker/hooks/useViews.js +39 -25
  513. package/es/components/date-picker/hooks/useViews.js.map +1 -1
  514. package/es/components/dialog/DialogDocs.d.ts +1 -0
  515. package/es/components/dialog/DialogDocs.js +12 -0
  516. package/es/components/dialog/DialogDocs.js.map +1 -1
  517. package/es/components/drawer/DrawerDocs.d.ts +2 -0
  518. package/es/components/drawer/DrawerDocs.js +63 -0
  519. package/es/components/drawer/DrawerDocs.js.map +1 -0
  520. package/es/components/dropdown/DropdownDocs.d.ts +2 -0
  521. package/es/components/dropdown/DropdownDocs.js +23 -0
  522. package/es/components/dropdown/DropdownDocs.js.map +1 -0
  523. package/es/components/form-label/FormLabelDocs.d.ts +2 -0
  524. package/es/components/form-label/FormLabelDocs.js +53 -0
  525. package/es/components/form-label/FormLabelDocs.js.map +1 -0
  526. package/es/components/form-row/FormRow.d.ts +45 -0
  527. package/es/components/form-row/FormRowDocs.d.ts +2 -0
  528. package/es/components/form-row/FormRowDocs.js +83 -0
  529. package/es/components/form-row/FormRowDocs.js.map +1 -0
  530. package/es/components/form-set/FormSet.d.ts +18 -0
  531. package/es/components/form-set/FormSetDocs.d.ts +3 -0
  532. package/es/components/form-set/FormSetDocs.js +50 -0
  533. package/es/components/form-set/FormSetDocs.js.map +1 -0
  534. package/es/components/form-status/FormStatus.d.ts +18 -18
  535. package/es/components/form-status/FormStatusDocs.d.ts +2 -0
  536. package/es/components/form-status/FormStatusDocs.js +83 -0
  537. package/es/components/form-status/FormStatusDocs.js.map +1 -0
  538. package/es/components/global-error/GlobalError.d.ts +13 -1
  539. package/es/components/global-error/GlobalError.js +14 -6
  540. package/es/components/global-error/GlobalError.js.map +1 -1
  541. package/es/components/global-error/GlobalErrorDocs.d.ts +2 -0
  542. package/es/components/global-error/GlobalErrorDocs.js +68 -0
  543. package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
  544. package/es/components/global-status/GlobalStatus.d.ts +37 -58
  545. package/es/components/global-status/GlobalStatusController.d.ts +0 -9
  546. package/es/components/global-status/GlobalStatusDocs.d.ts +6 -0
  547. package/es/components/global-status/GlobalStatusDocs.js +186 -0
  548. package/es/components/global-status/GlobalStatusDocs.js.map +1 -0
  549. package/es/components/heading/HeadingDocs.d.ts +2 -0
  550. package/es/components/heading/HeadingDocs.js +73 -0
  551. package/es/components/heading/HeadingDocs.js.map +1 -0
  552. package/es/components/help-button/HelpButtonDocs.d.ts +3 -0
  553. package/es/components/help-button/HelpButtonDocs.js +40 -0
  554. package/es/components/help-button/HelpButtonDocs.js.map +1 -0
  555. package/es/components/icon/IconDocs.d.ts +2 -0
  556. package/es/components/icon/IconDocs.js +53 -0
  557. package/es/components/icon/IconDocs.js.map +1 -0
  558. package/es/components/icon/IconPrimaryDocs.d.ts +2 -0
  559. package/es/components/icon/IconPrimaryDocs.js +18 -0
  560. package/es/components/icon/IconPrimaryDocs.js.map +1 -0
  561. package/es/components/info-card/InfoCard.d.ts +6 -1
  562. package/es/components/info-card/InfoCard.js +4 -3
  563. package/es/components/info-card/InfoCard.js.map +1 -1
  564. package/es/components/info-card/InfoCardDocs.d.ts +3 -0
  565. package/es/components/info-card/InfoCardDocs.js +100 -0
  566. package/es/components/info-card/InfoCardDocs.js.map +1 -0
  567. package/es/components/input/Input.d.ts +0 -21
  568. package/es/components/input/InputDocs.d.ts +1 -0
  569. package/es/components/input/InputDocs.js +32 -0
  570. package/es/components/input/InputDocs.js.map +1 -1
  571. package/es/components/input-masked/InputMasked.d.ts +0 -12
  572. package/es/components/input-masked/InputMaskedDocs.d.ts +1 -0
  573. package/es/components/input-masked/InputMaskedDocs.js +12 -0
  574. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  575. package/es/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  576. package/es/components/input-masked/MultiInputMaskedDocs.js +18 -0
  577. package/es/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  578. package/es/components/pagination/Pagination.d.ts +35 -33
  579. package/es/components/pagination/Pagination.js +2 -0
  580. package/es/components/pagination/Pagination.js.map +1 -1
  581. package/es/components/pagination/PaginationDocs.d.ts +3 -0
  582. package/es/components/pagination/PaginationDocs.js +185 -0
  583. package/es/components/pagination/PaginationDocs.js.map +1 -0
  584. package/es/components/pagination/PaginationHelpers.d.ts +0 -3
  585. package/es/components/pagination/PaginationInfinity.d.ts +0 -3
  586. package/es/components/pagination/PaginationProvider.js +1 -1
  587. package/es/components/pagination/PaginationProvider.js.map +1 -1
  588. package/es/components/radio/Radio.d.ts +12 -15
  589. package/es/components/radio/RadioDocs.d.ts +5 -0
  590. package/es/components/radio/RadioDocs.js +139 -0
  591. package/es/components/radio/RadioDocs.js.map +1 -0
  592. package/es/components/radio/RadioGroup.d.ts +0 -30
  593. package/es/components/skeleton/SkeletonDocs.d.ts +2 -0
  594. package/es/components/skeleton/SkeletonDocs.js +38 -0
  595. package/es/components/skeleton/SkeletonDocs.js.map +1 -0
  596. package/es/components/skeleton/SkeletonHelper.d.ts +0 -6
  597. package/es/components/skip-content/SkipContentDocs.d.ts +2 -0
  598. package/es/components/skip-content/SkipContentDocs.js +23 -0
  599. package/es/components/skip-content/SkipContentDocs.js.map +1 -0
  600. package/es/components/tabs/Tabs.js +2 -2
  601. package/es/components/tabs/Tabs.js.map +1 -1
  602. package/es/components/tag/TagDocs.d.ts +4 -0
  603. package/es/components/tag/TagDocs.js +87 -0
  604. package/es/components/tag/TagDocs.js.map +1 -0
  605. package/es/components/textarea/Textarea.d.ts +0 -12
  606. package/es/components/textarea/TextareaDocs.d.ts +1 -0
  607. package/es/components/textarea/TextareaDocs.js +22 -0
  608. package/es/components/textarea/TextareaDocs.js.map +1 -1
  609. package/es/components/timeline/TimelineDocs.d.ts +3 -0
  610. package/es/components/timeline/TimelineDocs.js +60 -0
  611. package/es/components/timeline/TimelineDocs.js.map +1 -0
  612. package/es/components/toggle-button/ToggleButton.d.ts +0 -3
  613. package/es/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  614. package/es/components/toggle-button/ToggleButtonDocs.js +7 -0
  615. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  616. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  617. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  618. package/es/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  619. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  620. package/es/components/tooltip/TooltipDocs.d.ts +2 -0
  621. package/es/components/tooltip/TooltipDocs.js +73 -0
  622. package/es/components/tooltip/TooltipDocs.js.map +1 -0
  623. package/es/components/upload/Upload.js +6 -4
  624. package/es/components/upload/Upload.js.map +1 -1
  625. package/es/components/upload/UploadDocs.js +5 -0
  626. package/es/components/upload/UploadDocs.js.map +1 -1
  627. package/es/components/upload/UploadFileList.js +5 -4
  628. package/es/components/upload/UploadFileList.js.map +1 -1
  629. package/es/components/upload/UploadFileListCell.d.ts +6 -1
  630. package/es/components/upload/UploadFileListCell.js +8 -5
  631. package/es/components/upload/UploadFileListCell.js.map +1 -1
  632. package/es/components/upload/types.d.ts +5 -0
  633. package/es/components/upload/types.js.map +1 -1
  634. package/es/components/upload/useUpload.d.ts +1 -0
  635. package/es/components/upload/useUpload.js +7 -1
  636. package/es/components/upload/useUpload.js.map +1 -1
  637. package/es/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  638. package/es/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  639. package/es/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  640. package/es/extensions/forms/DataContext/Context.d.ts +7 -6
  641. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  642. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  643. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  644. package/es/extensions/forms/DataContext/Provider/Provider.js +48 -62
  645. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  646. package/es/extensions/forms/Field/Date/Date.d.ts +1 -0
  647. package/es/extensions/forms/Field/Date/Date.js +2 -3
  648. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  649. package/es/extensions/forms/Field/Password/Password.js +2 -1
  650. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  651. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  652. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  653. package/es/extensions/forms/Field/Upload/Upload.js +10 -2
  654. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  655. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  656. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  657. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  658. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  659. package/es/extensions/forms/Form/Isolation/Isolation.js +3 -4
  660. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  661. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  662. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  663. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  664. package/es/extensions/forms/Form/Visibility/Visibility.js +1 -0
  665. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  666. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  667. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  668. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  669. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  670. package/es/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  671. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  672. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  673. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  674. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  675. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  676. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  677. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  678. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  679. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  680. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  681. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  682. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  683. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  684. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  685. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  686. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  687. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  688. package/es/extensions/forms/Value/Date/Date.d.ts +0 -6
  689. package/es/extensions/forms/Value/Date/Date.js +13 -34
  690. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  691. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  692. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  693. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  694. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  695. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  696. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +35 -34
  697. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  698. package/es/extensions/forms/Wizard/Container/WizardContainer.js +103 -60
  699. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  700. package/es/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  701. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js +59 -0
  702. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  703. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  704. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  705. package/es/extensions/forms/Wizard/Context/types.d.ts +9 -6
  706. package/es/extensions/forms/Wizard/Context/types.js.map +1 -1
  707. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  708. package/es/extensions/forms/Wizard/Step/Step.js +64 -22
  709. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  710. package/es/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  711. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  712. package/es/extensions/forms/Wizard/hooks/useStep.js +10 -18
  713. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  714. package/es/extensions/forms/hooks/useFieldProps.js +16 -9
  715. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  716. package/es/extensions/forms/hooks/useValueProps.js +1 -1
  717. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  718. package/es/extensions/payment-card/PaymentCard.d.ts +7 -7
  719. package/es/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  720. package/es/extensions/payment-card/PaymentCardDocs.js +199 -0
  721. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  722. package/es/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  723. package/es/fragments/scroll-view/ScrollViewDocs.js +13 -0
  724. package/es/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  725. package/es/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  726. package/es/fragments/text-counter/TextCounterDocs.js +23 -0
  727. package/es/fragments/text-counter/TextCounterDocs.js.map +1 -0
  728. package/es/shared/Eufemia.d.ts +1 -1
  729. package/es/shared/Eufemia.js +2 -2
  730. package/es/shared/Eufemia.js.map +1 -1
  731. package/es/shared/MediaQueryDocs.d.ts +2 -0
  732. package/es/shared/MediaQueryDocs.js +28 -0
  733. package/es/shared/MediaQueryDocs.js.map +1 -0
  734. package/es/shared/ThemeDocs.d.ts +2 -0
  735. package/es/shared/ThemeDocs.js +33 -0
  736. package/es/shared/ThemeDocs.js.map +1 -0
  737. package/es/shared/component-helper.js +1 -1
  738. package/es/shared/component-helper.js.map +1 -1
  739. package/es/shared/locales/en-GB.d.ts +1 -0
  740. package/es/shared/locales/en-GB.js +1 -0
  741. package/es/shared/locales/en-GB.js.map +1 -1
  742. package/es/shared/locales/en-US.d.ts +1 -0
  743. package/es/shared/locales/index.d.ts +2 -0
  744. package/es/shared/locales/nb-NO.d.ts +1 -0
  745. package/es/shared/locales/nb-NO.js +1 -0
  746. package/es/shared/locales/nb-NO.js.map +1 -1
  747. package/es/shared/locales/sv-SE.d.ts +1 -0
  748. package/es/shared/locales/sv-SE.js +1 -0
  749. package/es/shared/locales/sv-SE.js.map +1 -1
  750. package/es/style/core/scopes.scss +1 -1
  751. package/es/style/dnb-ui-basis.css +1 -1
  752. package/es/style/dnb-ui-basis.min.css +1 -1
  753. package/es/style/dnb-ui-body.css +1 -1
  754. package/es/style/dnb-ui-body.min.css +1 -1
  755. package/es/style/dnb-ui-components.css +8 -0
  756. package/es/style/dnb-ui-components.min.css +1 -1
  757. package/es/style/dnb-ui-core.css +1 -1
  758. package/es/style/dnb-ui-core.min.css +1 -1
  759. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  760. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  761. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  762. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  763. package/es/style/themes/theme-ui/ui-theme-components.css +13 -5
  764. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  765. package/esm/dnb-ui-basis.min.mjs +1 -1
  766. package/esm/dnb-ui-components.min.mjs +1 -1
  767. package/esm/dnb-ui-elements.min.mjs +1 -1
  768. package/esm/dnb-ui-extensions.min.mjs +1 -1
  769. package/esm/dnb-ui-lib.min.mjs +1 -1
  770. package/extensions/forms/DataContext/Context.d.ts +7 -6
  771. package/extensions/forms/DataContext/Context.js.map +1 -1
  772. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  773. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  774. package/extensions/forms/DataContext/Provider/Provider.js +63 -75
  775. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  776. package/extensions/forms/Field/Date/Date.d.ts +1 -0
  777. package/extensions/forms/Field/Date/Date.js +2 -3
  778. package/extensions/forms/Field/Date/Date.js.map +1 -1
  779. package/extensions/forms/Field/Password/Password.js +2 -1
  780. package/extensions/forms/Field/Password/Password.js.map +1 -1
  781. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  782. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  783. package/extensions/forms/Field/Upload/Upload.js +10 -2
  784. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  785. package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  786. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  787. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  788. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  789. package/extensions/forms/Form/Isolation/Isolation.js +3 -4
  790. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  791. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  792. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  793. package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  794. package/extensions/forms/Form/Visibility/Visibility.js +1 -0
  795. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  796. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  797. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  798. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  799. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  800. package/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  801. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  802. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  803. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  804. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  805. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  806. package/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  807. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  808. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  809. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  810. package/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  811. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  812. package/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  813. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  814. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  815. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  816. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  817. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  818. package/extensions/forms/Value/Date/Date.d.ts +0 -6
  819. package/extensions/forms/Value/Date/Date.js +14 -36
  820. package/extensions/forms/Value/Date/Date.js.map +1 -1
  821. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  822. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  823. package/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  824. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  825. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  826. package/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -34
  827. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  828. package/extensions/forms/Wizard/Container/WizardContainer.js +107 -60
  829. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  830. package/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  831. package/extensions/forms/Wizard/Container/useCollectStepsData.js +60 -0
  832. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  833. package/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  834. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  835. package/extensions/forms/Wizard/Context/types.d.ts +9 -6
  836. package/extensions/forms/Wizard/Context/types.js.map +1 -1
  837. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  838. package/extensions/forms/Wizard/Step/Step.js +66 -22
  839. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  840. package/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  841. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  842. package/extensions/forms/Wizard/hooks/useStep.js +10 -18
  843. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  844. package/extensions/forms/hooks/useFieldProps.js +16 -9
  845. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  846. package/extensions/forms/hooks/useValueProps.js +1 -1
  847. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  848. package/extensions/payment-card/PaymentCard.d.ts +7 -7
  849. package/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  850. package/extensions/payment-card/PaymentCardDocs.js +199 -0
  851. package/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  852. package/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  853. package/fragments/scroll-view/ScrollViewDocs.js +13 -0
  854. package/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  855. package/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  856. package/fragments/text-counter/TextCounterDocs.js +23 -0
  857. package/fragments/text-counter/TextCounterDocs.js.map +1 -0
  858. package/package.json +1 -1
  859. package/shared/Eufemia.d.ts +1 -1
  860. package/shared/Eufemia.js +2 -2
  861. package/shared/Eufemia.js.map +1 -1
  862. package/shared/MediaQueryDocs.d.ts +2 -0
  863. package/shared/MediaQueryDocs.js +28 -0
  864. package/shared/MediaQueryDocs.js.map +1 -0
  865. package/shared/ThemeDocs.d.ts +2 -0
  866. package/shared/ThemeDocs.js +33 -0
  867. package/shared/ThemeDocs.js.map +1 -0
  868. package/shared/component-helper.js +1 -1
  869. package/shared/component-helper.js.map +1 -1
  870. package/shared/locales/en-GB.d.ts +1 -0
  871. package/shared/locales/en-GB.js +1 -0
  872. package/shared/locales/en-GB.js.map +1 -1
  873. package/shared/locales/en-US.d.ts +1 -0
  874. package/shared/locales/index.d.ts +2 -0
  875. package/shared/locales/nb-NO.d.ts +1 -0
  876. package/shared/locales/nb-NO.js +1 -0
  877. package/shared/locales/nb-NO.js.map +1 -1
  878. package/shared/locales/sv-SE.d.ts +1 -0
  879. package/shared/locales/sv-SE.js +1 -0
  880. package/shared/locales/sv-SE.js.map +1 -1
  881. package/style/core/scopes.scss +1 -1
  882. package/style/dnb-ui-basis.css +1 -1
  883. package/style/dnb-ui-basis.min.css +1 -1
  884. package/style/dnb-ui-body.css +1 -1
  885. package/style/dnb-ui-body.min.css +1 -1
  886. package/style/dnb-ui-components.css +8 -0
  887. package/style/dnb-ui-components.min.css +1 -1
  888. package/style/dnb-ui-core.css +1 -1
  889. package/style/dnb-ui-core.min.css +1 -1
  890. package/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  891. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  892. package/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  893. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  894. package/style/themes/theme-ui/ui-theme-components.css +13 -5
  895. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  896. package/umd/dnb-ui-basis.min.js +1 -1
  897. package/umd/dnb-ui-components.min.js +1 -1
  898. package/umd/dnb-ui-elements.min.js +1 -1
  899. package/umd/dnb-ui-extensions.min.js +1 -1
  900. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitConfirmation.js","names":["React","useCallback","useContext","useMemo","useReducer","useRef","DataContext","SharedProvider","HeightAnimation","removeUndefinedProps","SubmitConfirmation","props","forceUpdate","preventSubmitWhen","onStateChange","onSubmitResult","renderWithState","children","setFormState","setHandleSubmit","handleSubmit","handleFinalSubmit","submitState","formElementRef","internalDataRef","confirmationStateRef","submitStateRef","preventSubmitRef","undefined","validatePreventSubmit","current","getParamsRef","setConfirmationState","state","window","requestAnimationFrame","keepPending","confirmationState","connectWithDialog","openState","onConfirm","submitHandler","onDecline","cancelHandler","onClose","_ref","triggeredBy","data","Object","keys","length","_objectSpread","setFocusOnButton","form","element","querySelector","focus","e","_ref2","preventSubmit","remove","sharedProviderParams","formElement","disabled","createElement","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport DataContext from '../../DataContext/Context'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport { HeightAnimation } from '../../../../components'\nimport {\n DialogContentProps,\n DialogProps,\n} from '../../../../components/dialog/types'\nimport { EventStateObject } from '../../types'\nimport { removeUndefinedProps } from '../../../../shared/component-helper'\n\nexport type ConfirmationState =\n | 'idle'\n | 'readyToBeSubmitted'\n | 'submitInProgress'\n | 'submissionComplete'\n\nexport type ConfirmParams = {\n data: unknown\n confirmationState: ConfirmationState\n submitState: EventStateObject | undefined\n connectWithDialog: Pick<\n DialogProps & DialogContentProps,\n 'openState' | 'onConfirm' | 'onDecline' | 'onClose'\n >\n setConfirmationState: (state: ConfirmationState) => void\n submitHandler: () => void | Promise<void>\n cancelHandler: () => void | Promise<void>\n}\n\nexport type ConfirmProps = {\n preventSubmitWhen?: (params: ConfirmParams) => boolean\n onStateChange?: (params: ConfirmParams) => void | Promise<void>\n onSubmitResult?: (params: ConfirmParams) => void\n renderWithState?: (params: ConfirmParams) => React.ReactNode\n children?: React.ReactNode\n}\n\nfunction SubmitConfirmation(props: ConfirmProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n preventSubmitWhen,\n onStateChange,\n onSubmitResult,\n renderWithState,\n children,\n } = props\n\n const {\n setFormState,\n setHandleSubmit,\n handleSubmit: handleFinalSubmit,\n submitState,\n formElementRef,\n internalDataRef,\n } = useContext(DataContext)\n\n const confirmationStateRef = useRef<ConfirmationState>('idle')\n const submitStateRef = useRef<EventStateObject>()\n const preventSubmitRef = useRef<boolean>(undefined)\n\n const validatePreventSubmit = useCallback(() => {\n return (preventSubmitRef.current = preventSubmitWhen?.(\n getParamsRef.current()\n ))\n }, [preventSubmitWhen])\n\n const setConfirmationState = useCallback(\n async (state: ConfirmationState) => {\n confirmationStateRef.current = state\n await onStateChange?.(getParamsRef.current())\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(() => {\n switch (state) {\n case 'idle':\n setFormState('complete', { keepPending: false })\n break\n case 'readyToBeSubmitted':\n setFormState('pending', { keepPending: true })\n break\n case 'submitInProgress':\n setFormState('pending', { keepPending: true })\n break\n case 'submissionComplete':\n setFormState('complete', { keepPending: false })\n break\n default:\n forceUpdate()\n }\n })\n }\n },\n [onStateChange, setFormState]\n )\n\n const getParamsRef = useRef(() => {\n const confirmationState = confirmationStateRef.current\n\n const connectWithDialog = {\n openState: confirmationState === 'readyToBeSubmitted',\n onConfirm: submitHandler,\n onDecline: cancelHandler,\n onClose: ({ triggeredBy }) => {\n if (triggeredBy === 'keyboard') {\n cancelHandler()\n }\n },\n }\n\n return {\n data: internalDataRef?.current,\n confirmationState,\n setConfirmationState,\n submitHandler,\n cancelHandler,\n connectWithDialog,\n submitState: submitStateRef.current,\n } satisfies ConfirmParams\n })\n\n useMemo(() => {\n if (Object.keys(removeUndefinedProps(submitState) || {}).length > 0) {\n submitStateRef.current = {\n ...submitState,\n } as EventStateObject\n onSubmitResult?.(getParamsRef.current())\n }\n }, [submitState, onSubmitResult])\n\n const setFocusOnButton = useCallback(() => {\n try {\n const form = formElementRef.current\n const element = (form.querySelector('.dnb-forms-submit-button') ||\n form) as HTMLElement\n element.focus()\n } catch (e) {\n //\n }\n }, [formElementRef])\n\n const cancelHandler = useCallback(async () => {\n await setConfirmationState('idle')\n setFocusOnButton()\n }, [setFocusOnButton, setConfirmationState])\n\n const handleSubmit = useCallback(\n async ({ preventSubmit }) => {\n if (confirmationStateRef.current === 'submitInProgress') {\n return // stop here\n }\n\n if (validatePreventSubmit() !== true) {\n await setConfirmationState('submitInProgress')\n return // stop here\n }\n\n submitStateRef.current = undefined\n\n // Prevent the form form from being submitted\n preventSubmit()\n\n await setConfirmationState('readyToBeSubmitted')\n },\n [setConfirmationState, validatePreventSubmit]\n )\n setHandleSubmit?.(handleSubmit)\n\n const submitHandler = useCallback(async () => {\n setHandleSubmit?.(handleSubmit, { remove: true })\n\n await setConfirmationState('submitInProgress')\n await handleFinalSubmit()\n await setConfirmationState('submissionComplete')\n\n setFocusOnButton()\n }, [\n handleFinalSubmit,\n handleSubmit,\n setFocusOnButton,\n setHandleSubmit,\n setConfirmationState,\n ])\n\n const sharedProviderParams: ContextProps = {\n formElement: {\n disabled: false,\n },\n }\n\n return (\n <>\n {children}\n\n <SharedProvider {...sharedProviderParams}>\n <HeightAnimation>\n {renderWithState?.(getParamsRef.current())}\n </HeightAnimation>\n </SharedProvider>\n </>\n )\n}\n\nSubmitConfirmation._supportsSpacingProps = 'children'\nexport default SubmitConfirmation\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SubmitConfirmation.js","names":["React","useCallback","useContext","useMemo","useReducer","useRef","DataContext","SharedProvider","HeightAnimation","removeUndefinedProps","SubmitConfirmation","props","forceUpdate","preventSubmitWhen","onStateChange","onSubmitResult","renderWithState","children","setFormState","setFieldEventListener","handleSubmit","handleFinalSubmit","submitState","formElementRef","internalDataRef","confirmationStateRef","submitStateRef","preventSubmitRef","undefined","validatePreventSubmit","current","getParamsRef","setConfirmationState","state","window","requestAnimationFrame","keepPending","confirmationState","connectWithDialog","openState","onConfirm","submitHandler","onDecline","cancelHandler","onClose","_ref","triggeredBy","data","Object","keys","length","_objectSpread","setFocusOnButton","form","element","querySelector","focus","e","_ref2","preventSubmit","remove","sharedProviderParams","formElement","disabled","createElement","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport DataContext from '../../DataContext/Context'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport { HeightAnimation } from '../../../../components'\nimport {\n DialogContentProps,\n DialogProps,\n} from '../../../../components/dialog/types'\nimport { EventStateObject } from '../../types'\nimport { removeUndefinedProps } from '../../../../shared/component-helper'\n\nexport type ConfirmationState =\n | 'idle'\n | 'readyToBeSubmitted'\n | 'submitInProgress'\n | 'submissionComplete'\n\nexport type ConfirmParams = {\n data: unknown\n confirmationState: ConfirmationState\n submitState: EventStateObject | undefined\n connectWithDialog: Pick<\n DialogProps & DialogContentProps,\n 'openState' | 'onConfirm' | 'onDecline' | 'onClose'\n >\n setConfirmationState: (state: ConfirmationState) => void\n submitHandler: () => void | Promise<void>\n cancelHandler: () => void | Promise<void>\n}\n\nexport type ConfirmProps = {\n preventSubmitWhen?: (params: ConfirmParams) => boolean\n onStateChange?: (params: ConfirmParams) => void | Promise<void>\n onSubmitResult?: (params: ConfirmParams) => void\n renderWithState?: (params: ConfirmParams) => React.ReactNode\n children?: React.ReactNode\n}\n\nfunction SubmitConfirmation(props: ConfirmProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n preventSubmitWhen,\n onStateChange,\n onSubmitResult,\n renderWithState,\n children,\n } = props\n\n const {\n setFormState,\n setFieldEventListener,\n handleSubmit: handleFinalSubmit,\n submitState,\n formElementRef,\n internalDataRef,\n } = useContext(DataContext)\n\n const confirmationStateRef = useRef<ConfirmationState>('idle')\n const submitStateRef = useRef<EventStateObject>()\n const preventSubmitRef = useRef<boolean>(undefined)\n\n const validatePreventSubmit = useCallback(() => {\n return (preventSubmitRef.current = preventSubmitWhen?.(\n getParamsRef.current()\n ))\n }, [preventSubmitWhen])\n\n const setConfirmationState = useCallback(\n async (state: ConfirmationState) => {\n confirmationStateRef.current = state\n await onStateChange?.(getParamsRef.current())\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(() => {\n switch (state) {\n case 'idle':\n setFormState('complete', { keepPending: false })\n break\n case 'readyToBeSubmitted':\n setFormState('pending', { keepPending: true })\n break\n case 'submitInProgress':\n setFormState('pending', { keepPending: true })\n break\n case 'submissionComplete':\n setFormState('complete', { keepPending: false })\n break\n default:\n forceUpdate()\n }\n })\n }\n },\n [onStateChange, setFormState]\n )\n\n const getParamsRef = useRef(() => {\n const confirmationState = confirmationStateRef.current\n\n const connectWithDialog = {\n openState: confirmationState === 'readyToBeSubmitted',\n onConfirm: submitHandler,\n onDecline: cancelHandler,\n onClose: ({ triggeredBy }) => {\n if (triggeredBy === 'keyboard') {\n cancelHandler()\n }\n },\n }\n\n return {\n data: internalDataRef?.current,\n confirmationState,\n setConfirmationState,\n submitHandler,\n cancelHandler,\n connectWithDialog,\n submitState: submitStateRef.current,\n } satisfies ConfirmParams\n })\n\n useMemo(() => {\n if (Object.keys(removeUndefinedProps(submitState) || {}).length > 0) {\n submitStateRef.current = {\n ...submitState,\n } as EventStateObject\n onSubmitResult?.(getParamsRef.current())\n }\n }, [submitState, onSubmitResult])\n\n const setFocusOnButton = useCallback(() => {\n try {\n const form = formElementRef.current\n const element = (form.querySelector('.dnb-forms-submit-button') ||\n form) as HTMLElement\n element.focus()\n } catch (e) {\n //\n }\n }, [formElementRef])\n\n const cancelHandler = useCallback(async () => {\n await setConfirmationState('idle')\n setFocusOnButton()\n }, [setFocusOnButton, setConfirmationState])\n\n const handleSubmit = useCallback(\n async ({ preventSubmit }) => {\n if (confirmationStateRef.current === 'submitInProgress') {\n return // stop here\n }\n\n if (validatePreventSubmit() !== true) {\n await setConfirmationState('submitInProgress')\n return // stop here\n }\n\n submitStateRef.current = undefined\n\n // Prevent the form form from being submitted\n preventSubmit()\n\n await setConfirmationState('readyToBeSubmitted')\n },\n [setConfirmationState, validatePreventSubmit]\n )\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit)\n\n const submitHandler = useCallback(async () => {\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit, {\n remove: true,\n })\n\n await setConfirmationState('submitInProgress')\n await handleFinalSubmit()\n await setConfirmationState('submissionComplete')\n\n setFocusOnButton()\n }, [\n handleFinalSubmit,\n handleSubmit,\n setFocusOnButton,\n setFieldEventListener,\n setConfirmationState,\n ])\n\n const sharedProviderParams: ContextProps = {\n formElement: {\n disabled: false,\n },\n }\n\n return (\n <>\n {children}\n\n <SharedProvider {...sharedProviderParams}>\n <HeightAnimation>\n {renderWithState?.(getParamsRef.current())}\n </HeightAnimation>\n </SharedProvider>\n </>\n )\n}\n\nSubmitConfirmation._supportsSpacingProps = 'children'\nexport default SubmitConfirmation\n"],"mappings":"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","ignoreList":[]}
@@ -64,19 +64,10 @@ export type Props = {
64
64
  inferData?: (data: unknown) => boolean;
65
65
  /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */
66
66
  filterData?: FilterData;
67
- /** Animate the visibility change */
68
- animate?: boolean;
69
- /** Keep the content in the DOM, even if it's not visible */
70
- keepInDOM?: boolean;
71
67
  /** Callback for when the content gets visible. */
72
68
  onVisible?: HeightAnimationAllProps['onOpen'];
73
- /** Callback for when animation has ended */
74
- onAnimationEnd?: HeightAnimationAllProps['onAnimationEnd'];
75
- /** To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`. */
76
- compensateForGap?: HeightAnimationAllProps['compensateForGap'];
77
69
  /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */
78
70
  fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes;
79
- element?: HeightAnimationAllProps['element'];
80
71
  children: React.ReactNode;
81
72
  /** For internal use only. Used by "Iterate.Visibility" */
82
73
  withinIterate?: boolean;
@@ -84,7 +75,7 @@ export type Props = {
84
75
  pathValue?: string;
85
76
  /** @deprecated Use `visibleWhen` instead */
86
77
  whenValue?: unknown;
87
- };
78
+ } & Pick<HeightAnimationAllProps, 'onAnimationEnd' | 'animate' | 'keepInDOM' | 'element' | 'compensateForGap'>;
88
79
  declare function Visibility(props: Props): import("react/jsx-runtime").JSX.Element;
89
80
  declare namespace Visibility {
90
81
  var _supportsSpacingProps: string;
@@ -64,6 +64,7 @@ function Visibility(props) {
64
64
  const content = React.createElement(VisibilityContext.Provider, {
65
65
  value: {
66
66
  isVisible: open,
67
+ keepInDOM,
67
68
  props
68
69
  }
69
70
  }, children);
@@ -1 +1 @@
1
- {"version":3,"file":"Visibility.js","names":["React","useCallback","useContext","warn","useMountEffect","useMounted","HeightAnimation","FieldProvider","useVisibility","VisibilityContext","SummaryListContext","Visibility","props","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","visibleWhen","visibleWhenNot","inferData","filterData","onVisible","onAnimationEnd","animate","keepInDOM","compensateForGap","fieldPropsWhenHidden","withinIterate","children","rest","_objectWithoutProperties","_excluded","check","open","content","createElement","Provider","value","isVisible","mountedRef","onOpen","state","current","summaryListContext","providerProps","isNested","_extends","Boolean","className","hidden","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { AriaAttributes, useCallback, useContext } from 'react'\n\nimport { warn } from '../../../../shared/helpers'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useMounted from '../../../../shared/helpers/useMounted'\nimport HeightAnimation, {\n HeightAnimationAllProps,\n} from '../../../../components/HeightAnimation'\nimport FieldProvider from '../../Field/Provider'\nimport useVisibility from './useVisibility'\nimport VisibilityContext from './VisibilityContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\n\nimport type { Path, UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\nimport { FilterData } from '../../DataContext'\n\nexport type VisibleWhen =\n | {\n path: Path\n hasValue: unknown | ((value: unknown) => boolean)\n }\n | {\n itemPath: Path\n hasValue: unknown | ((value: unknown) => boolean)\n }\n | {\n path: Path\n isValid: boolean\n /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n validateContinuously?: boolean\n }\n | {\n itemPath: Path\n isValid: boolean\n /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n validateContinuously?: boolean\n }\n\n /**\n * @deprecated Will be removed in v11!\n */\n | {\n path: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n /**\n * @deprecated Will be removed in v11!\n */\n | {\n itemPath: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: Path\n /** Given data context path must be undefined to show children */\n pathUndefined?: Path\n /** Given data context path must be truthy to show children */\n pathTruthy?: Path\n /** Given data context path must be falsy to show children */\n pathFalsy?: Path\n /** Given data context path must be true to show children */\n pathTrue?: Path\n /** Given data context path must be false to show children */\n pathFalse?: Path\n /** Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the expected value in order to show children. The first parameter is the value of the path. */\n visibleWhen?: VisibleWhen\n /** Same as `visibleWhen`, but with inverted logic. */\n visibleWhenNot?: VisibleWhen\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */\n filterData?: FilterData\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n /** Callback for when the content gets visible. */\n onVisible?: HeightAnimationAllProps['onOpen']\n /** Callback for when animation has ended */\n onAnimationEnd?: HeightAnimationAllProps['onAnimationEnd']\n /** To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`. */\n compensateForGap?: HeightAnimationAllProps['compensateForGap']\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes\n element?: HeightAnimationAllProps['element']\n children: React.ReactNode\n\n /** For internal use only. Used by \"Iterate.Visibility\" */\n withinIterate?: boolean\n\n /** @deprecated Use `visibleWhen` instead */\n pathValue?: string\n /** @deprecated Use `visibleWhen` instead */\n whenValue?: unknown\n}\n\nfunction Visibility(props: Props) {\n const {\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n onVisible,\n onAnimationEnd,\n animate,\n keepInDOM,\n compensateForGap,\n fieldPropsWhenHidden,\n withinIterate,\n children,\n ...rest\n } = props\n\n useMountEffect(() => {\n if (fieldPropsWhenHidden && !keepInDOM) {\n warn('Using \"fieldPropsWhenHidden\" requires \"keepInDOM\" to be true.')\n }\n })\n\n const { check } = useVisibility({\n visible,\n withinIterate,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n })\n const open = check()\n const content = (\n <VisibilityContext.Provider\n value={{\n isVisible: open,\n props,\n }}\n >\n {children}\n </VisibilityContext.Provider>\n )\n const mountedRef = useMounted()\n\n const onOpen: HeightAnimationAllProps['onOpen'] = useCallback(\n (state) => {\n if (mountedRef.current) {\n onVisible?.(state)\n }\n },\n [mountedRef, onVisible]\n )\n\n const summaryListContext = useContext(SummaryListContext)\n const providerProps = !open ? fieldPropsWhenHidden : null\n\n if (\n (animate || keepInDOM) &&\n summaryListContext &&\n !summaryListContext.isNested\n ) {\n // Handle the animation inside the SummaryList\n return <FieldProvider {...providerProps}>{content}</FieldProvider>\n }\n\n if (animate) {\n return (\n <HeightAnimation\n open={open}\n onAnimationEnd={onAnimationEnd}\n onOpen={onOpen}\n keepInDOM={Boolean(keepInDOM)}\n className=\"dnb-forms-visibility\"\n compensateForGap={compensateForGap}\n {...rest}\n >\n <FieldProvider {...providerProps}>{content}</FieldProvider>\n </HeightAnimation>\n )\n }\n\n if (mountedRef.current) {\n onVisible?.(open)\n }\n\n if (keepInDOM) {\n return (\n <span className=\"dnb-forms-visibility\" hidden={!open}>\n <FieldProvider {...providerProps}>{content}</FieldProvider>\n </span>\n )\n }\n\n return <>{open ? content : null}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAoBC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AAEtE,SAASC,IAAI,QAAQ,4BAA4B;AACjD,OAAOC,cAAc,MAAM,2CAA2C;AACtE,OAAOC,UAAU,MAAM,uCAAuC;AAC9D,OAAOC,eAAe,MAEf,wCAAwC;AAC/C,OAAOC,aAAa,MAAM,sBAAsB;AAChD,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,kBAAkB,MAAM,4CAA4C;AAiG3E,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAM;MACJC,OAAO;MACPC,WAAW;MACXC,aAAa;MACbC,UAAU;MACVC,SAAS;MACTC,QAAQ;MACRC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC,WAAW;MACXC,cAAc;MACdC,SAAS;MACTC,UAAU;MACVC,SAAS;MACTC,cAAc;MACdC,OAAO;MACPC,SAAS;MACTC,gBAAgB;MAChBC,oBAAoB;MACpBC,aAAa;MACbC;IAEF,CAAC,GAAGrB,KAAK;IADJsB,IAAI,GAAAC,wBAAA,CACLvB,KAAK,EAAAwB,SAAA;EAEThC,cAAc,CAAC,MAAM;IACnB,IAAI2B,oBAAoB,IAAI,CAACF,SAAS,EAAE;MACtC1B,IAAI,CAAC,+DAA+D,CAAC;IACvE;EACF,CAAC,CAAC;EAEF,MAAM;IAAEkC;EAAM,CAAC,GAAG7B,aAAa,CAAC;IAC9BK,OAAO;IACPmB,aAAa;IACblB,WAAW;IACXC,aAAa;IACbC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,cAAc;IACdC,SAAS;IACTC;EACF,CAAC,CAAC;EACF,MAAMa,IAAI,GAAGD,KAAK,CAAC,CAAC;EACpB,MAAME,OAAO,GACXvC,KAAA,CAAAwC,aAAA,CAAC/B,iBAAiB,CAACgC,QAAQ;IACzBC,KAAK,EAAE;MACLC,SAAS,EAAEL,IAAI;MACf1B;IACF;EAAE,GAEDqB,QACyB,CAC7B;EACD,MAAMW,UAAU,GAAGvC,UAAU,CAAC,CAAC;EAE/B,MAAMwC,MAAyC,GAAG5C,WAAW,CAC1D6C,KAAK,IAAK;IACT,IAAIF,UAAU,CAACG,OAAO,EAAE;MACtBrB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGoB,KAAK,CAAC;IACpB;EACF,CAAC,EACD,CAACF,UAAU,EAAElB,SAAS,CACxB,CAAC;EAED,MAAMsB,kBAAkB,GAAG9C,UAAU,CAACQ,kBAAkB,CAAC;EACzD,MAAMuC,aAAa,GAAG,CAACX,IAAI,GAAGP,oBAAoB,GAAG,IAAI;EAEzD,IACE,CAACH,OAAO,IAAIC,SAAS,KACrBmB,kBAAkB,IAClB,CAACA,kBAAkB,CAACE,QAAQ,EAC5B;IAEA,OAAOlD,KAAA,CAAAwC,aAAA,CAACjC,aAAa,EAAK0C,aAAa,EAAGV,OAAuB,CAAC;EACpE;EAEA,IAAIX,OAAO,EAAE;IACX,OACE5B,KAAA,CAAAwC,aAAA,CAAClC,eAAe,EAAA6C,QAAA;MACdb,IAAI,EAAEA,IAAK;MACXX,cAAc,EAAEA,cAAe;MAC/BkB,MAAM,EAAEA,MAAO;MACfhB,SAAS,EAAEuB,OAAO,CAACvB,SAAS,CAAE;MAC9BwB,SAAS,EAAC,sBAAsB;MAChCvB,gBAAgB,EAAEA;IAAiB,GAC/BI,IAAI,GAERlC,KAAA,CAAAwC,aAAA,CAACjC,aAAa,EAAK0C,aAAa,EAAGV,OAAuB,CAC3C,CAAC;EAEtB;EAEA,IAAIK,UAAU,CAACG,OAAO,EAAE;IACtBrB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGY,IAAI,CAAC;EACnB;EAEA,IAAIT,SAAS,EAAE;IACb,OACE7B,KAAA,CAAAwC,aAAA;MAAMa,SAAS,EAAC,sBAAsB;MAACC,MAAM,EAAE,CAAChB;IAAK,GACnDtC,KAAA,CAAAwC,aAAA,CAACjC,aAAa,EAAK0C,aAAa,EAAGV,OAAuB,CACtD,CAAC;EAEX;EAEA,OAAOvC,KAAA,CAAAwC,aAAA,CAAAxC,KAAA,CAAAuD,QAAA,QAAGjB,IAAI,GAAGC,OAAO,GAAG,IAAO,CAAC;AACrC;AAEA5B,UAAU,CAAC6C,qBAAqB,GAAG,UAAU;AAC7C,eAAe7C,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"Visibility.js","names":["React","useCallback","useContext","warn","useMountEffect","useMounted","HeightAnimation","FieldProvider","useVisibility","VisibilityContext","SummaryListContext","Visibility","props","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","visibleWhen","visibleWhenNot","inferData","filterData","onVisible","onAnimationEnd","animate","keepInDOM","compensateForGap","fieldPropsWhenHidden","withinIterate","children","rest","_objectWithoutProperties","_excluded","check","open","content","createElement","Provider","value","isVisible","mountedRef","onOpen","state","current","summaryListContext","providerProps","isNested","_extends","Boolean","className","hidden","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { AriaAttributes, useCallback, useContext } from 'react'\n\nimport { warn } from '../../../../shared/helpers'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useMounted from '../../../../shared/helpers/useMounted'\nimport HeightAnimation, {\n HeightAnimationAllProps,\n} from '../../../../components/HeightAnimation'\nimport FieldProvider from '../../Field/Provider'\nimport useVisibility from './useVisibility'\nimport VisibilityContext from './VisibilityContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\n\nimport type { Path, UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\nimport { FilterData } from '../../DataContext'\n\nexport type VisibleWhen =\n | {\n path: Path\n hasValue: unknown | ((value: unknown) => boolean)\n }\n | {\n itemPath: Path\n hasValue: unknown | ((value: unknown) => boolean)\n }\n | {\n path: Path\n isValid: boolean\n /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n validateContinuously?: boolean\n }\n | {\n itemPath: Path\n isValid: boolean\n /**\n * @deprecated – Replaced with validateContinuously, continuousValidation can be removed in v11.\n */\n continuousValidation?: boolean\n validateContinuously?: boolean\n }\n\n /**\n * @deprecated Will be removed in v11!\n */\n | {\n path: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n /**\n * @deprecated Will be removed in v11!\n */\n | {\n itemPath: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: Path\n /** Given data context path must be undefined to show children */\n pathUndefined?: Path\n /** Given data context path must be truthy to show children */\n pathTruthy?: Path\n /** Given data context path must be falsy to show children */\n pathFalsy?: Path\n /** Given data context path must be true to show children */\n pathTrue?: Path\n /** Given data context path must be false to show children */\n pathFalse?: Path\n /** Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the expected value in order to show children. The first parameter is the value of the path. */\n visibleWhen?: VisibleWhen\n /** Same as `visibleWhen`, but with inverted logic. */\n visibleWhenNot?: VisibleWhen\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */\n filterData?: FilterData\n /** Callback for when the content gets visible. */\n onVisible?: HeightAnimationAllProps['onOpen']\n\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes\n children: React.ReactNode\n\n /** For internal use only. Used by \"Iterate.Visibility\" */\n withinIterate?: boolean\n\n /** @deprecated Use `visibleWhen` instead */\n pathValue?: string\n /** @deprecated Use `visibleWhen` instead */\n whenValue?: unknown\n} & Pick<\n HeightAnimationAllProps,\n | 'onAnimationEnd'\n | 'animate'\n | 'keepInDOM'\n | 'element'\n | 'compensateForGap'\n>\n\nfunction Visibility(props: Props) {\n const {\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n onVisible,\n onAnimationEnd,\n animate,\n keepInDOM,\n compensateForGap,\n fieldPropsWhenHidden,\n withinIterate,\n children,\n ...rest\n } = props\n\n useMountEffect(() => {\n if (fieldPropsWhenHidden && !keepInDOM) {\n warn('Using \"fieldPropsWhenHidden\" requires \"keepInDOM\" to be true.')\n }\n })\n\n const { check } = useVisibility({\n visible,\n withinIterate,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n })\n const open = check()\n const content = (\n <VisibilityContext.Provider\n value={{\n isVisible: open,\n keepInDOM,\n props, // Used by ValueBlock and for when nested in a Visibility\n }}\n >\n {children}\n </VisibilityContext.Provider>\n )\n const mountedRef = useMounted()\n\n const onOpen: HeightAnimationAllProps['onOpen'] = useCallback(\n (state) => {\n if (mountedRef.current) {\n onVisible?.(state)\n }\n },\n [mountedRef, onVisible]\n )\n\n const summaryListContext = useContext(SummaryListContext)\n const providerProps = !open ? fieldPropsWhenHidden : null\n\n if (\n (animate || keepInDOM) &&\n summaryListContext &&\n !summaryListContext.isNested\n ) {\n // Handle the animation inside the SummaryList\n return <FieldProvider {...providerProps}>{content}</FieldProvider>\n }\n\n if (animate) {\n return (\n <HeightAnimation\n open={open}\n onAnimationEnd={onAnimationEnd}\n onOpen={onOpen}\n keepInDOM={Boolean(keepInDOM)}\n className=\"dnb-forms-visibility\"\n compensateForGap={compensateForGap}\n {...rest}\n >\n <FieldProvider {...providerProps}>{content}</FieldProvider>\n </HeightAnimation>\n )\n }\n\n if (mountedRef.current) {\n onVisible?.(open)\n }\n\n if (keepInDOM) {\n return (\n <span className=\"dnb-forms-visibility\" hidden={!open}>\n <FieldProvider {...providerProps}>{content}</FieldProvider>\n </span>\n )\n }\n\n return <>{open ? content : null}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { Props } from './Visibility';
3
3
  type VisibilityContext = {
4
+ isVisible: boolean;
5
+ keepInDOM: boolean;
4
6
  inheritVisibility?: boolean;
5
- isVisible?: boolean;
6
7
  props?: Props;
7
8
  };
8
9
  declare const VisibilityContext: import("react").Context<VisibilityContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityContext.js","names":["createContext","VisibilityContext"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityContext.ts"],"sourcesContent":["import { createContext } from 'react'\nimport { Props } from './Visibility'\n\ntype VisibilityContext = {\n inheritVisibility?: boolean\n isVisible?: boolean\n props?: Props\n}\n\nconst VisibilityContext = createContext<VisibilityContext>(null)\n\nexport default VisibilityContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AASrC,MAAMC,iBAAiB,GAAGD,aAAa,CAAoB,IAAI,CAAC;AAEhE,eAAeC,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"VisibilityContext.js","names":["createContext","VisibilityContext"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityContext.ts"],"sourcesContent":["import { createContext } from 'react'\nimport { Props } from './Visibility'\n\ntype VisibilityContext = {\n isVisible: boolean\n keepInDOM: boolean\n inheritVisibility?: boolean\n props?: Props\n}\n\nconst VisibilityContext = createContext<VisibilityContext>(null)\n\nexport default VisibilityContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAUrC,MAAMC,iBAAiB,GAAGD,aAAa,CAAoB,IAAI,CAAC;AAEhE,eAAeC,iBAAiB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { HeightAnimationEvents } from '../../../../components/height-animation/HeightAnimationDocs';
2
2
  export const VisibilityProperties = {
3
3
  visibleWhen: {
4
- doc: 'Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the expected value in order to show children. The first parameter is the value of the path. You can also use `isValid` instead of `hasValue` to only show the children when the field has no errors and has lost focus (blurred). You can change that behavior by using the `validateContinuously` property.',
4
+ doc: 'Provide a `path` or `itemPath`, and a `hasValue` function that returns either a boolean or the expected value to determine whether the children should be shown. The first parameter passed to `hasValue` is the value at the given `path`. If the `path` does not exist, the value will be `undefined`. \nAlternatively, you can use `isValid` instead of `hasValue` to show the children only when the field has no validation errors and has been blurred (lost focus). You can change this behavior by setting the `validateContinuously` property.',
5
5
  type: 'object',
6
6
  status: 'optional'
7
7
  },
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityDocs.js","names":["HeightAnimationEvents","VisibilityProperties","visibleWhen","doc","type","status","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","inferData","visible","animate","keepInDOM","compensateForGap","filterData","fieldPropsWhenHidden","element","children","VisibilityEvents","onVisible","onOpen","onAnimationEnd"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { HeightAnimationEvents } from '../../../../components/height-animation/HeightAnimationDocs'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n visibleWhen: {\n doc: 'Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the expected value in order to show children. The first parameter is the value of the path. You can also use `isValid` instead of `hasValue` to only show the children when the field has no errors and has lost focus (blurred). You can change that behavior by using the `validateContinuously` property.',\n type: 'object',\n status: 'optional',\n },\n visibleWhenNot: {\n doc: 'Same as `visibleWhen`, but with inverted logic.',\n type: 'object',\n status: 'optional',\n },\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly using the `visible` prop. When used alongside other conditions, the `visible` prop takes precedence.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n compensateForGap: {\n doc: 'To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`.',\n type: 'string',\n status: 'optional',\n },\n filterData: {\n doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',\n type: ['object', 'function'],\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const VisibilityEvents: PropertiesTableProps = {\n onVisible: {\n doc: 'Callback for when the content gets visible. Returns a boolean as the first parameter.',\n type: HeightAnimationEvents.onOpen.type,\n status: 'optional',\n },\n onAnimationEnd: HeightAnimationEvents.onAnimationEnd,\n}\n"],"mappings":"AACA,SAASA,qBAAqB,QAAQ,6DAA6D;AAEnG,OAAO,MAAMC,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,+XAA+X;IACpYC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACbL,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,UAAU,EAAE;IACVN,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,kIAAkI;IACvIC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,gBAAgB,EAAE;IAChBd,GAAG,EAAE,gJAAgJ;IACrJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,UAAU,EAAE;IACVf,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDc,oBAAoB,EAAE;IACpBhB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDe,OAAO,EAAE;IACPjB,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDgB,QAAQ,EAAE;IACRlB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMiB,gBAAsC,GAAG;EACpDC,SAAS,EAAE;IACTpB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAEJ,qBAAqB,CAACwB,MAAM,CAACpB,IAAI;IACvCC,MAAM,EAAE;EACV,CAAC;EACDoB,cAAc,EAAEzB,qBAAqB,CAACyB;AACxC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VisibilityDocs.js","names":["HeightAnimationEvents","VisibilityProperties","visibleWhen","doc","type","status","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","inferData","visible","animate","keepInDOM","compensateForGap","filterData","fieldPropsWhenHidden","element","children","VisibilityEvents","onVisible","onOpen","onAnimationEnd"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { HeightAnimationEvents } from '../../../../components/height-animation/HeightAnimationDocs'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n visibleWhen: {\n doc: 'Provide a `path` or `itemPath`, and a `hasValue` function that returns either a boolean or the expected value to determine whether the children should be shown. The first parameter passed to `hasValue` is the value at the given `path`. If the `path` does not exist, the value will be `undefined`. \\nAlternatively, you can use `isValid` instead of `hasValue` to show the children only when the field has no validation errors and has been blurred (lost focus). You can change this behavior by setting the `validateContinuously` property.',\n type: 'object',\n status: 'optional',\n },\n visibleWhenNot: {\n doc: 'Same as `visibleWhen`, but with inverted logic.',\n type: 'object',\n status: 'optional',\n },\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly using the `visible` prop. When used alongside other conditions, the `visible` prop takes precedence.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n compensateForGap: {\n doc: 'To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`.',\n type: 'string',\n status: 'optional',\n },\n filterData: {\n doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',\n type: ['object', 'function'],\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n\nexport const VisibilityEvents: PropertiesTableProps = {\n onVisible: {\n doc: 'Callback for when the content gets visible. Returns a boolean as the first parameter.',\n type: HeightAnimationEvents.onOpen.type,\n status: 'optional',\n },\n onAnimationEnd: HeightAnimationEvents.onAnimationEnd,\n}\n"],"mappings":"AACA,SAASA,qBAAqB,QAAQ,6DAA6D;AAEnG,OAAO,MAAMC,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,yhBAAyhB;IAC9hBC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdH,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACbL,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,UAAU,EAAE;IACVN,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,kIAAkI;IACvIC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,gBAAgB,EAAE;IAChBd,GAAG,EAAE,gJAAgJ;IACrJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,UAAU,EAAE;IACVf,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDc,oBAAoB,EAAE;IACpBhB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDe,OAAO,EAAE;IACPjB,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDgB,QAAQ,EAAE;IACRlB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMiB,gBAAsC,GAAG;EACpDC,SAAS,EAAE;IACTpB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAEJ,qBAAqB,CAACwB,MAAM,CAACpB,IAAI;IACvCC,MAAM,EAAE;EACV,CAAC;EACDoB,cAAc,EAAEzB,qBAAqB,CAACyB;AACxC,CAAC","ignoreList":[]}
@@ -52,7 +52,7 @@ export default function useVisibility(props) {
52
52
  }
53
53
  const path = 'itemPath' in visibleWhen ? makeIteratePath(visibleWhen.itemPath) : makePath(visibleWhen.path);
54
54
  if ('isValid' in visibleWhen) {
55
- const item = mountedFieldsRef.current[path];
55
+ const item = mountedFieldsRef.current.get(path);
56
56
  if (!item || item.isMounted !== true) {
57
57
  return visibleWhenNot ? true : false;
58
58
  }
@@ -60,23 +60,19 @@ export default function useVisibility(props) {
60
60
  return visibleWhenNot ? !result : result;
61
61
  }
62
62
  if ('hasValue' in visibleWhen || 'withValue' in visibleWhen) {
63
+ var _visibleWhen, _visibleWhen$hasValue, _visibleWhen2, _visibleWhen3;
63
64
  const hasPath = pointer.has(data, path);
64
- if (hasPath) {
65
- var _visibleWhen, _visibleWhen$hasValue, _visibleWhen2, _visibleWhen3;
66
- const value = pointer.get(data, path);
67
- if ((_visibleWhen = visibleWhen) !== null && _visibleWhen !== void 0 && _visibleWhen['withValue']) {
68
- console.warn('VisibleWhen: "withValue" is deprecated, use "hasValue" instead');
69
- }
70
- const hasValue = (_visibleWhen$hasValue = (_visibleWhen2 = visibleWhen) === null || _visibleWhen2 === void 0 ? void 0 : _visibleWhen2['hasValue']) !== null && _visibleWhen$hasValue !== void 0 ? _visibleWhen$hasValue : (_visibleWhen3 = visibleWhen) === null || _visibleWhen3 === void 0 ? void 0 : _visibleWhen3['withValue'];
71
- const result = typeof hasValue === 'function' ? hasValue(value) === false : hasValue !== value;
72
- if (visibleWhenNot) {
73
- if (!result) {
74
- return false;
75
- }
76
- } else if (result) {
65
+ const value = hasPath ? pointer.get(data, path) : undefined;
66
+ if ((_visibleWhen = visibleWhen) !== null && _visibleWhen !== void 0 && _visibleWhen['withValue']) {
67
+ console.warn('VisibleWhen: "withValue" is deprecated, use "hasValue" instead');
68
+ }
69
+ const hasValue = (_visibleWhen$hasValue = (_visibleWhen2 = visibleWhen) === null || _visibleWhen2 === void 0 ? void 0 : _visibleWhen2['hasValue']) !== null && _visibleWhen$hasValue !== void 0 ? _visibleWhen$hasValue : (_visibleWhen3 = visibleWhen) === null || _visibleWhen3 === void 0 ? void 0 : _visibleWhen3['withValue'];
70
+ const result = typeof hasValue === 'function' ? hasValue(value) === false : hasValue !== value;
71
+ if (visibleWhenNot) {
72
+ if (!result) {
77
73
  return false;
78
74
  }
79
- } else {
75
+ } else if (result) {
80
76
  return false;
81
77
  }
82
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useVisibility.js","names":["useCallback","useContext","useRef","pointer","DataContext","usePath","useVisibility","props","hasFieldError","filterDataHandler","mountedFieldsRef","data","originalData","makePath","makeIteratePath","propsRef","current","withinIterate","makeLocalPath","path","check","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","itemPath","item","isMounted","result","continuousValidation","validateContinuously","isFocused","hasPath","has","_visibleWhen","_visibleWhen$hasValue","_visibleWhen2","_visibleWhen3","value","get","console","warn","hasValue","getValue","Boolean"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/useVisibility.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport usePath from '../../hooks/usePath'\nimport { Path } from '../../types'\nimport { Props } from './Visibility'\n\nexport type { Props }\n\nexport default function useVisibility(props?: Partial<Props>) {\n const {\n hasFieldError,\n filterDataHandler,\n mountedFieldsRef,\n data: originalData,\n } = useContext(DataContext)\n\n const { makePath, makeIteratePath } = usePath()\n\n // Forward props to the \"check\" method with ref to avoid infinite loop\n const propsRef = useRef(props)\n propsRef.current = props\n\n const { withinIterate } = props || {}\n const makeLocalPath = useCallback(\n (path: Path) => {\n if (withinIterate) {\n return makeIteratePath(path)\n }\n\n return makePath(path)\n },\n [makeIteratePath, makePath, withinIterate]\n )\n\n const check = useCallback(\n (\n {\n visible,\n visibleWhen,\n visibleWhenNot,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n filterData,\n }: Partial<Props> = propsRef.current\n ) => {\n if (typeof visible === 'boolean') {\n return visible\n }\n\n const data =\n (filterData && filterDataHandler?.(originalData, filterData)) ||\n originalData\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n\n const path =\n 'itemPath' in visibleWhen\n ? makeIteratePath(visibleWhen.itemPath)\n : makePath(visibleWhen.path)\n\n if ('isValid' in visibleWhen) {\n const item = mountedFieldsRef.current[path]\n if (!item || item.isMounted !== true) {\n return visibleWhenNot ? true : false\n }\n const result =\n (visibleWhen.continuousValidation ||\n visibleWhen.validateContinuously\n ? true\n : item.isFocused !== true) && hasFieldError(path) === false\n return visibleWhenNot ? !result : result\n }\n\n if ('hasValue' in visibleWhen || 'withValue' in visibleWhen) {\n const hasPath = pointer.has(data, path)\n\n if (hasPath) {\n const value = pointer.get(data, path)\n\n if (visibleWhen?.['withValue']) {\n console.warn(\n 'VisibleWhen: \"withValue\" is deprecated, use \"hasValue\" instead'\n )\n }\n\n const hasValue =\n visibleWhen?.['hasValue'] ?? visibleWhen?.['withValue']\n const result =\n typeof hasValue === 'function'\n ? hasValue(value) === false\n : hasValue !== value\n\n if (visibleWhenNot) {\n if (!result) {\n return false\n }\n } else if (result) {\n return false\n }\n } else {\n return false\n }\n }\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathDefined) {\n return getValue(makeLocalPath(pathDefined)) !== undefined\n }\n if (pathUndefined) {\n return getValue(makeLocalPath(pathUndefined)) === undefined\n }\n\n if (pathTrue && getValue(makeLocalPath(pathTrue)) !== true) {\n return false\n }\n if (pathFalse && getValue(makeLocalPath(pathFalse)) !== false) {\n return false\n }\n\n if (\n pathTruthy &&\n Boolean(getValue(makeLocalPath(pathTruthy))) === false\n ) {\n return false\n }\n if (\n pathFalsy &&\n Boolean(getValue(makeLocalPath(pathFalsy))) === true\n ) {\n return false\n }\n\n if (inferData && !inferData(data)) {\n return false\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(makeLocalPath(pathValue)) !== whenValue) {\n return false\n }\n\n return true\n },\n [\n filterDataHandler,\n originalData,\n makeLocalPath,\n makeIteratePath,\n makePath,\n mountedFieldsRef,\n hasFieldError,\n ]\n )\n\n return { check }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useVisibility.js","names":["useCallback","useContext","useRef","pointer","DataContext","usePath","useVisibility","props","hasFieldError","filterDataHandler","mountedFieldsRef","data","originalData","makePath","makeIteratePath","propsRef","current","withinIterate","makeLocalPath","path","check","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","itemPath","item","get","isMounted","result","continuousValidation","validateContinuously","isFocused","_visibleWhen","_visibleWhen$hasValue","_visibleWhen2","_visibleWhen3","hasPath","has","value","console","warn","hasValue","getValue","Boolean"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/useVisibility.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport usePath from '../../hooks/usePath'\nimport { Path } from '../../types'\nimport { Props } from './Visibility'\n\nexport type { Props }\n\nexport default function useVisibility(props?: Partial<Props>) {\n const {\n hasFieldError,\n filterDataHandler,\n mountedFieldsRef,\n data: originalData,\n } = useContext(DataContext)\n\n const { makePath, makeIteratePath } = usePath()\n\n // Forward props to the \"check\" method with ref to avoid infinite loop\n const propsRef = useRef(props)\n propsRef.current = props\n\n const { withinIterate } = props || {}\n const makeLocalPath = useCallback(\n (path: Path) => {\n if (withinIterate) {\n return makeIteratePath(path)\n }\n\n return makePath(path)\n },\n [makeIteratePath, makePath, withinIterate]\n )\n\n const check = useCallback(\n (\n {\n visible,\n visibleWhen,\n visibleWhenNot,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n filterData,\n }: Partial<Props> = propsRef.current\n ) => {\n if (typeof visible === 'boolean') {\n return visible\n }\n\n const data =\n (filterData && filterDataHandler?.(originalData, filterData)) ||\n originalData\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n\n const path =\n 'itemPath' in visibleWhen\n ? makeIteratePath(visibleWhen.itemPath)\n : makePath(visibleWhen.path)\n\n if ('isValid' in visibleWhen) {\n const item = mountedFieldsRef.current.get(path)\n if (!item || item.isMounted !== true) {\n return visibleWhenNot ? true : false\n }\n const result =\n (visibleWhen.continuousValidation ||\n visibleWhen.validateContinuously\n ? true\n : item.isFocused !== true) && hasFieldError(path) === false\n return visibleWhenNot ? !result : result\n }\n\n if ('hasValue' in visibleWhen || 'withValue' in visibleWhen) {\n const hasPath = pointer.has(data, path)\n const value = hasPath ? pointer.get(data, path) : undefined\n\n if (visibleWhen?.['withValue']) {\n console.warn(\n 'VisibleWhen: \"withValue\" is deprecated, use \"hasValue\" instead'\n )\n }\n\n const hasValue =\n visibleWhen?.['hasValue'] ?? visibleWhen?.['withValue']\n const result =\n typeof hasValue === 'function'\n ? hasValue(value) === false\n : hasValue !== value\n\n if (visibleWhenNot) {\n if (!result) {\n return false\n }\n } else if (result) {\n return false\n }\n }\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathDefined) {\n return getValue(makeLocalPath(pathDefined)) !== undefined\n }\n if (pathUndefined) {\n return getValue(makeLocalPath(pathUndefined)) === undefined\n }\n\n if (pathTrue && getValue(makeLocalPath(pathTrue)) !== true) {\n return false\n }\n if (pathFalse && getValue(makeLocalPath(pathFalse)) !== false) {\n return false\n }\n\n if (\n pathTruthy &&\n Boolean(getValue(makeLocalPath(pathTruthy))) === false\n ) {\n return false\n }\n if (\n pathFalsy &&\n Boolean(getValue(makeLocalPath(pathFalsy))) === true\n ) {\n return false\n }\n\n if (inferData && !inferData(data)) {\n return false\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(makeLocalPath(pathValue)) !== whenValue) {\n return false\n }\n\n return true\n },\n [\n filterDataHandler,\n originalData,\n makeLocalPath,\n makeIteratePath,\n makePath,\n mountedFieldsRef,\n hasFieldError,\n ]\n )\n\n return { check }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { HeightAnimationProps } from '../../../../components/HeightAnimation';
1
2
  import { Props as FlexContainerProps } from '../../../../components/flex/Container';
2
3
  import { ContainerMode } from './types';
3
4
  export type ArrayItemAreaProps = {
@@ -13,8 +14,8 @@ export type Props = {
13
14
  open?: boolean | undefined;
14
15
  ariaLabel?: string;
15
16
  openDelay?: number;
16
- } & ArrayItemAreaProps;
17
- declare function ArrayItemArea(props: Props & FlexContainerProps): import("react/jsx-runtime").JSX.Element;
17
+ } & ArrayItemAreaProps & Pick<HeightAnimationProps, 'onAnimationEnd'>;
18
+ declare function ArrayItemArea(props: Props & Omit<FlexContainerProps, 'onAnimationEnd'>): import("react/jsx-runtime").JSX.Element;
18
19
  declare namespace ArrayItemArea {
19
20
  var _supportsSpacingProps: boolean;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayItemArea.js","names":["React","useCallback","useContext","useReducer","useRef","classnames","Card","HeightAnimation","IterateItemContext","ArrayItemAreaContext","FieldBoundaryContext","useLayoutEffect","window","useEffect","ArrayItemArea","props","forceUpdate","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","toolbarVariant","restProps","_objectWithoutProperties","_excluded","localContextRef","hasError","hasSubmitError","current","nextFocusElementRef","isNew","determineMode","value","initialContainerMode","Object","keys","length","containerMode","modeOptions","omitFocusManagement","editMode","switchContainerMode","preventUpdate","handleRemove","index","previousContainerMode","openRef","isRemoving","setOpenState","setTimeout","setFocus","state","_localContextRef$curr","_localContextRef$curr2","_localContextRef$curr3","_localContextRef$curr4","elementRef","focus","call","_nextFocusElementRef$","_nextFocusElementRef$2","handleAnimationEnd","_localContextRef$curr5","_localContextRef$curr6","fulfillRemove","handleRemoveItem","Array","from","parentElement","childNodes","at","e","keepItems","createElement","Provider","divider","duration","keepInDOM","_extends","stack","filled","innerSpace","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemArea.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Card, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ArrayItemAreaContext from './ArrayItemAreaContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from './types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type ArrayItemAreaProps = {\n /**\n * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline`, `filled` or `basic`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic' | 'filled'\n toolbarVariant?: 'minimumOneItem' | 'custom'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ArrayItemAreaProps\n\nfunction ArrayItemArea(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n toolbarVariant,\n ...restProps\n } = props\n\n const localContextRef = useRef<IterateItemContextState>()\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n localContextRef.current = useContext(IterateItemContext) || {}\n const nextFocusElementRef = useRef<HTMLElement>()\n const { isNew } = localContextRef.current\n\n const determineMode = useCallback(() => {\n const { value, initialContainerMode } = localContextRef.current\n if (initialContainerMode === 'auto') {\n // - Set the container mode to \"edit\" if we have an error\n if (\n hasSubmitError ||\n hasError ||\n !value ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n ) {\n return 'edit'\n }\n }\n }, [hasError, hasSubmitError])\n\n if (determineMode() === 'edit') {\n localContextRef.current.containerMode = 'edit'\n if (!localContextRef.current.modeOptions) {\n localContextRef.current.modeOptions = {}\n }\n localContextRef.current.modeOptions.omitFocusManagement = true\n }\n if (localContextRef.current.containerMode === 'auto') {\n localContextRef.current.containerMode = 'view'\n }\n\n useLayoutEffect(() => {\n if (mode === 'edit') {\n const editMode = determineMode()\n if (editMode) {\n const { switchContainerMode } = localContextRef.current\n switchContainerMode?.(editMode, {\n omitFocusManagement: true,\n preventUpdate: true,\n })\n }\n }\n }, [determineMode, mode])\n\n const { handleRemove, index, previousContainerMode, containerMode } =\n localContextRef.current\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useLayoutEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n const setFocus = useCallback(\n (state) => {\n if (\n localContextRef.current.modeOptions?.omitFocusManagement !==\n true &&\n !hasSubmitError &&\n containerMode === mode && // ensure we match the correct mode\n containerMode !== previousContainerMode // ensure we have a new mode\n ) {\n if (state === 'opened') {\n localContextRef.current.elementRef?.current?.focus?.()\n } else if (state === 'closed') {\n nextFocusElementRef.current?.focus?.()\n }\n }\n },\n [containerMode, hasSubmitError, mode, previousContainerMode]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n localContextRef.current.fulfillRemove?.()\n }\n\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n const handleRemoveItem = useCallback(() => {\n try {\n // Because \"previousElementSibling\" did not work in Jest/JSDOM\n nextFocusElementRef.current = Array.from(\n localContextRef.current.elementRef.current.parentElement.childNodes\n ).at(index - 1) as HTMLElement\n } catch (e) {\n //\n }\n isRemoving.current = true\n setOpenState(false)\n handleRemove?.({ keepItems: true })\n }, [handleRemove, index, setOpenState])\n\n return (\n <ArrayItemAreaContext.Provider\n value={{\n handleRemoveItem,\n variant,\n toolbarVariant,\n divider: restProps.divider,\n }}\n >\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n hasSubmitError && 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Card\n stack\n filled={variant === 'filled'}\n innerSpace={variant === 'basic' ? false : 'small'}\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n aria-label={ariaLabel}\n >\n {children}\n </Card>\n </HeightAnimation>\n </ArrayItemAreaContext.Provider>\n )\n}\n\nArrayItemArea._supportsSpacingProps = true\nexport default ArrayItemArea\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ArrayItemArea.js","names":["React","useCallback","useContext","useReducer","useRef","classnames","Card","HeightAnimation","IterateItemContext","ArrayItemAreaContext","FieldBoundaryContext","useLayoutEffect","window","useEffect","ArrayItemArea","props","forceUpdate","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","toolbarVariant","restProps","_objectWithoutProperties","_excluded","localContextRef","hasError","hasSubmitError","current","nextFocusElementRef","isNew","determineMode","value","initialContainerMode","Object","keys","length","containerMode","modeOptions","omitFocusManagement","editMode","switchContainerMode","preventUpdate","handleRemove","index","previousContainerMode","openRef","isRemoving","setOpenState","setTimeout","setFocus","state","_localContextRef$curr","_localContextRef$curr2","_localContextRef$curr3","_localContextRef$curr4","elementRef","focus","call","_nextFocusElementRef$","_nextFocusElementRef$2","handleAnimationEnd","_localContextRef$curr5","_localContextRef$curr6","fulfillRemove","handleRemoveItem","Array","from","parentElement","childNodes","at","e","keepItems","createElement","Provider","divider","duration","keepInDOM","_extends","stack","filled","innerSpace","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemArea.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Card, HeightAnimation } from '../../../../components'\nimport { HeightAnimationOnEndStates } from '../../../../components/height-animation/HeightAnimationInstance'\nimport { HeightAnimationProps } from '../../../../components/HeightAnimation'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ArrayItemAreaContext from './ArrayItemAreaContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from './types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type ArrayItemAreaProps = {\n /**\n * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline`, `filled` or `basic`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic' | 'filled'\n toolbarVariant?: 'minimumOneItem' | 'custom'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ArrayItemAreaProps &\n Pick<HeightAnimationProps, 'onAnimationEnd'>\n\nfunction ArrayItemArea(\n props: Props & Omit<FlexContainerProps, 'onAnimationEnd'>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n toolbarVariant,\n ...restProps\n } = props\n\n const localContextRef = useRef<IterateItemContextState>()\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n localContextRef.current = useContext(IterateItemContext) || {}\n const nextFocusElementRef = useRef<HTMLElement>()\n const { isNew } = localContextRef.current\n\n const determineMode = useCallback(() => {\n const { value, initialContainerMode } = localContextRef.current\n if (initialContainerMode === 'auto') {\n // - Set the container mode to \"edit\" if we have an error\n if (\n hasSubmitError ||\n hasError ||\n !value ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n ) {\n return 'edit'\n }\n }\n }, [hasError, hasSubmitError])\n\n if (determineMode() === 'edit') {\n localContextRef.current.containerMode = 'edit'\n if (!localContextRef.current.modeOptions) {\n localContextRef.current.modeOptions = {}\n }\n localContextRef.current.modeOptions.omitFocusManagement = true\n }\n if (localContextRef.current.containerMode === 'auto') {\n localContextRef.current.containerMode = 'view'\n }\n\n useLayoutEffect(() => {\n if (mode === 'edit') {\n const editMode = determineMode()\n if (editMode) {\n const { switchContainerMode } = localContextRef.current\n switchContainerMode?.(editMode, {\n omitFocusManagement: true,\n preventUpdate: true,\n })\n }\n }\n }, [determineMode, mode])\n\n const { handleRemove, index, previousContainerMode, containerMode } =\n localContextRef.current\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useLayoutEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n const setFocus = useCallback(\n (state: HeightAnimationOnEndStates) => {\n if (\n localContextRef.current.modeOptions?.omitFocusManagement !==\n true &&\n !hasSubmitError &&\n containerMode === mode && // ensure we match the correct mode\n containerMode !== previousContainerMode // ensure we have a new mode\n ) {\n if (state === 'opened') {\n localContextRef.current.elementRef?.current?.focus?.()\n } else if (state === 'closed') {\n nextFocusElementRef.current?.focus?.()\n }\n }\n },\n [containerMode, hasSubmitError, mode, previousContainerMode]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state: HeightAnimationOnEndStates) => {\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n localContextRef.current.fulfillRemove?.()\n }\n\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n const handleRemoveItem = useCallback(() => {\n try {\n // Because \"previousElementSibling\" did not work in Jest/JSDOM\n nextFocusElementRef.current = Array.from(\n localContextRef.current.elementRef.current.parentElement.childNodes\n ).at(index - 1) as HTMLElement\n } catch (e) {\n //\n }\n isRemoving.current = true\n setOpenState(false)\n handleRemove?.({ keepItems: true })\n }, [handleRemove, index, setOpenState])\n\n return (\n <ArrayItemAreaContext.Provider\n value={{\n handleRemoveItem,\n variant,\n toolbarVariant,\n divider: restProps.divider,\n }}\n >\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n hasSubmitError && 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Card\n stack\n filled={variant === 'filled'}\n innerSpace={variant === 'basic' ? false : 'small'}\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n aria-label={ariaLabel}\n >\n {children}\n </Card>\n </HeightAnimation>\n </ArrayItemAreaContext.Provider>\n )\n}\n\nArrayItemArea._supportsSpacingProps = true\nexport default ArrayItemArea\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,9 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  var _Fragment;
6
- const _excluded = ["onClick"];
6
+ const _excluded = ["onClick", "className"];
7
7
  import React, { useCallback, useContext, useEffect, useRef } from 'react';
8
+ import classnames from 'classnames';
8
9
  import { Button } from '../../../../components';
9
10
  import useTranslation from '../../hooks/useTranslation';
10
11
  import IterateItemContext from '../IterateItemContext';
@@ -14,7 +15,8 @@ import { close } from '../../../../icons';
14
15
  import RemoveButton from '../RemoveButton';
15
16
  export default function CancelButton(props) {
16
17
  const {
17
- onClick
18
+ onClick,
19
+ className
18
20
  } = props,
19
21
  rest = _objectWithoutProperties(props, _excluded);
20
22
  const {
@@ -69,6 +71,7 @@ export default function CancelButton(props) {
69
71
  }
70
72
  return React.createElement(Button, _extends({
71
73
  variant: "tertiary",
74
+ className: classnames('dnb-forms-iterate__cancel-button', className),
72
75
  icon: close,
73
76
  icon_position: "left",
74
77
  on_click: cancelHandler
@@ -1 +1 @@
1
- {"version":3,"file":"CancelButton.js","names":["React","useCallback","useContext","useEffect","useRef","Button","useTranslation","IterateItemContext","ToolbarContext","FieldBoundaryContext","close","RemoveButton","CancelButton","props","onClick","rest","_objectWithoutProperties","_excluded","restoreOriginalValue","switchContainerMode","containerMode","arrayValue","isNew","index","setShowBoundaryErrors","setShowError","cancelButton","removeButton","IterateEditContainer","valueBackupRef","current","cancelHandler","_ref","event","wasNew","useWasNew","length","_Fragment","createElement","Fragment","_extends","text","variant","icon","icon_position","on_click","_ref2","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/CancelButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport ToolbarContext from '../Toolbar/ToolbarContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { close } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\nimport RemoveButton, { Props as RemoveButtonProps } from '../RemoveButton'\nimport { ContainerMode } from '../Array'\n\ntype Props = ButtonProps\n\nexport default function CancelButton(props: Props) {\n const { onClick, ...rest } = props\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n arrayValue,\n isNew,\n index,\n } = useContext(IterateItemContext) || {}\n const { setShowBoundaryErrors } = useContext(FieldBoundaryContext) || {}\n const { setShowError } = useContext(ToolbarContext) || {}\n\n const { cancelButton, removeButton } =\n useTranslation().IterateEditContainer\n const valueBackupRef = useRef<unknown>()\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n onClick?.(event)\n restoreOriginalValue?.(valueBackupRef.current)\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n },\n [\n onClick,\n restoreOriginalValue,\n setShowBoundaryErrors,\n setShowError,\n switchContainerMode,\n ]\n )\n\n const wasNew = useWasNew({ isNew, containerMode })\n\n if (containerMode === 'edit' && arrayValue?.length === 0) {\n return <></>\n }\n\n if (wasNew) {\n return (\n <RemoveButton\n text={removeButton}\n onClick={onClick}\n {...(rest as RemoveButtonProps)}\n />\n )\n }\n\n return (\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n {...rest}\n >\n {cancelButton}\n </Button>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CancelButton.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","Button","useTranslation","IterateItemContext","ToolbarContext","FieldBoundaryContext","close","RemoveButton","CancelButton","props","onClick","className","rest","_objectWithoutProperties","_excluded","restoreOriginalValue","switchContainerMode","containerMode","arrayValue","isNew","index","setShowBoundaryErrors","setShowError","cancelButton","removeButton","IterateEditContainer","valueBackupRef","current","cancelHandler","_ref","event","wasNew","useWasNew","length","_Fragment","createElement","Fragment","_extends","text","variant","icon","icon_position","on_click","_ref2","wasNewRef"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/CancelButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport ToolbarContext from '../Toolbar/ToolbarContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { close } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\nimport RemoveButton, { Props as RemoveButtonProps } from '../RemoveButton'\nimport { ContainerMode } from '../Array'\n\ntype Props = ButtonProps\n\nexport default function CancelButton(props: Props) {\n const { onClick, className, ...rest } = props\n const {\n restoreOriginalValue,\n switchContainerMode,\n containerMode,\n arrayValue,\n isNew,\n index,\n } = useContext(IterateItemContext) || {}\n const { setShowBoundaryErrors } = useContext(FieldBoundaryContext) || {}\n const { setShowError } = useContext(ToolbarContext) || {}\n\n const { cancelButton, removeButton } =\n useTranslation().IterateEditContainer\n const valueBackupRef = useRef<unknown>()\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const cancelHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n onClick?.(event)\n restoreOriginalValue?.(valueBackupRef.current)\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n },\n [\n onClick,\n restoreOriginalValue,\n setShowBoundaryErrors,\n setShowError,\n switchContainerMode,\n ]\n )\n\n const wasNew = useWasNew({ isNew, containerMode })\n\n if (containerMode === 'edit' && arrayValue?.length === 0) {\n return <></>\n }\n\n if (wasNew) {\n return (\n <RemoveButton\n text={removeButton}\n onClick={onClick}\n {...(rest as RemoveButtonProps)}\n />\n )\n }\n\n return (\n <Button\n variant=\"tertiary\"\n className={classnames('dnb-forms-iterate__cancel-button', className)}\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n {...rest}\n >\n {cancelButton}\n </Button>\n )\n}\n\nexport function useWasNew({\n isNew,\n containerMode,\n}: {\n isNew: boolean\n containerMode: ContainerMode\n}) {\n const wasNewRef = useRef<unknown>(isNew)\n\n useEffect(() => {\n if (containerMode === 'view') {\n wasNewRef.current = false\n }\n }, [isNew, containerMode])\n\n return wasNewRef.current\n}\n"],"mappings":"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","ignoreList":[]}
@@ -65,7 +65,7 @@ export default function DoneButton(props) {
65
65
  }, [commitHandleRef, hasError, hasVisibleError, setShowBoundaryErrors, setShowError, switchContainerMode]);
66
66
  return React.createElement(Button, _extends({
67
67
  variant: "tertiary",
68
- className: classnames('dnb-push-container__done-button', className),
68
+ className: classnames('dnb-forms-iterate__done-button', className),
69
69
  icon: check,
70
70
  icon_position: "left",
71
71
  on_click: doneHandler
@@ -1 +1 @@
1
- {"version":3,"file":"DoneButton.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","Button","useTranslation","IterateItemContext","ToolbarContext","FieldBoundaryContext","PushContainerContext","check","DoneButton","props","className","restProps","_objectWithoutProperties","_excluded","switchContainerMode","containerMode","arrayValue","index","hasError","hasVisibleError","setShowBoundaryErrors","commitHandleRef","setShowError","doneButton","IterateEditContainer","valueBackupRef","current","doneHandler","_commitHandleRef$curr","call","createElement","_extends","variant","icon","icon_position","on_click"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/DoneButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport ToolbarContext from '../Toolbar/ToolbarContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport PushContainerContext from '../PushContainer/PushContainerContext'\nimport { check } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\n\ntype Props = ButtonProps\n\nexport default function DoneButton(props: Props) {\n const { className, ...restProps } = props\n const { switchContainerMode, containerMode, arrayValue, index } =\n useContext(IterateItemContext) || {}\n const { hasError, hasVisibleError, setShowBoundaryErrors } =\n useContext(FieldBoundaryContext) || {}\n const { commitHandleRef } = useContext(PushContainerContext) || {}\n const { setShowError } = useContext(ToolbarContext) || {}\n\n const { doneButton } = useTranslation().IterateEditContainer\n const valueBackupRef = useRef<unknown>()\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(true)\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowBoundaryErrors?.(false)\n setShowError(false)\n if (commitHandleRef) {\n commitHandleRef.current?.()\n } else {\n switchContainerMode?.('view')\n }\n }\n }, [\n commitHandleRef,\n hasError,\n hasVisibleError,\n setShowBoundaryErrors,\n setShowError,\n switchContainerMode,\n ])\n\n return (\n <Button\n variant=\"tertiary\"\n className={classnames('dnb-push-container__done-button', className)}\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n {...restProps}\n >\n {doneButton}\n </Button>\n )\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,cAAc,MAAM,2BAA2B;AACtD,OAAOC,oBAAoB,MAAM,sDAAsD;AACvF,OAAOC,oBAAoB,MAAM,uCAAuC;AACxE,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,eAAe,SAASC,UAAUA,CAACC,KAAY,EAAE;EAC/C,MAAM;MAAEC;IAAwB,CAAC,GAAGD,KAAK;IAAnBE,SAAS,GAAAC,wBAAA,CAAKH,KAAK,EAAAI,SAAA;EACzC,MAAM;IAAEC,mBAAmB;IAAEC,aAAa;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAC7DpB,UAAU,CAACM,kBAAkB,CAAC,IAAI,CAAC,CAAC;EACtC,MAAM;IAAEe,QAAQ;IAAEC,eAAe;IAAEC;EAAsB,CAAC,GACxDvB,UAAU,CAACQ,oBAAoB,CAAC,IAAI,CAAC,CAAC;EACxC,MAAM;IAAEgB;EAAgB,CAAC,GAAGxB,UAAU,CAACS,oBAAoB,CAAC,IAAI,CAAC,CAAC;EAClE,MAAM;IAAEgB;EAAa,CAAC,GAAGzB,UAAU,CAACO,cAAc,CAAC,IAAI,CAAC,CAAC;EAEzD,MAAM;IAAEmB;EAAW,CAAC,GAAGrB,cAAc,CAAC,CAAC,CAACsB,oBAAoB;EAC5D,MAAMC,cAAc,GAAG1B,MAAM,CAAU,CAAC;EAExCD,SAAS,CAAC,MAAM;IACd,IAAIiB,aAAa,KAAK,MAAM,IAAI,CAACU,cAAc,CAACC,OAAO,EAAE;MACvDD,cAAc,CAACC,OAAO,GAAGV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGC,KAAK,CAAC;IAC9C;IACA,IAAIF,aAAa,KAAK,MAAM,EAAE;MAC5BU,cAAc,CAACC,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,CAACV,UAAU,EAAED,aAAa,EAAEE,KAAK,CAAC,CAAC;EAEtC,MAAMU,WAAW,GAAG/B,WAAW,CAAC,MAAM;IACpC,IAAIsB,QAAQ,EAAE;MACZE,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,IAAI,CAAC;MAC7B,IAAID,eAAe,EAAE;QACnBG,YAAY,CAAC,IAAI,CAAC;MACpB;IACF,CAAC,MAAM;MACLF,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,KAAK,CAAC;MAC9BE,YAAY,CAAC,KAAK,CAAC;MACnB,IAAID,eAAe,EAAE;QAAA,IAAAO,qBAAA;QACnB,CAAAA,qBAAA,GAAAP,eAAe,CAACK,OAAO,cAAAE,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAAR,eAA0B,CAAC;MAC7B,CAAC,MAAM;QACLP,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;MAC/B;IACF;EACF,CAAC,EAAE,CACDO,eAAe,EACfH,QAAQ,EACRC,eAAe,EACfC,qBAAqB,EACrBE,YAAY,EACZR,mBAAmB,CACpB,CAAC;EAEF,OACEnB,KAAA,CAAAmC,aAAA,CAAC7B,MAAM,EAAA8B,QAAA;IACLC,OAAO,EAAC,UAAU;IAClBtB,SAAS,EAAEV,UAAU,CAAC,iCAAiC,EAAEU,SAAS,CAAE;IACpEuB,IAAI,EAAE1B,KAAM;IACZ2B,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAER;EAAY,GAClBhB,SAAS,GAEZY,UACK,CAAC;AAEb","ignoreList":[]}
1
+ {"version":3,"file":"DoneButton.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","Button","useTranslation","IterateItemContext","ToolbarContext","FieldBoundaryContext","PushContainerContext","check","DoneButton","props","className","restProps","_objectWithoutProperties","_excluded","switchContainerMode","containerMode","arrayValue","index","hasError","hasVisibleError","setShowBoundaryErrors","commitHandleRef","setShowError","doneButton","IterateEditContainer","valueBackupRef","current","doneHandler","_commitHandleRef$curr","call","createElement","_extends","variant","icon","icon_position","on_click"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/DoneButton.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport useTranslation from '../../hooks/useTranslation'\nimport IterateItemContext from '../IterateItemContext'\nimport ToolbarContext from '../Toolbar/ToolbarContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport PushContainerContext from '../PushContainer/PushContainerContext'\nimport { check } from '../../../../icons'\nimport { ButtonProps } from '../../../../components/Button'\n\ntype Props = ButtonProps\n\nexport default function DoneButton(props: Props) {\n const { className, ...restProps } = props\n const { switchContainerMode, containerMode, arrayValue, index } =\n useContext(IterateItemContext) || {}\n const { hasError, hasVisibleError, setShowBoundaryErrors } =\n useContext(FieldBoundaryContext) || {}\n const { commitHandleRef } = useContext(PushContainerContext) || {}\n const { setShowError } = useContext(ToolbarContext) || {}\n\n const { doneButton } = useTranslation().IterateEditContainer\n const valueBackupRef = useRef<unknown>()\n\n useEffect(() => {\n if (containerMode === 'edit' && !valueBackupRef.current) {\n valueBackupRef.current = arrayValue?.[index]\n }\n if (containerMode === 'view') {\n valueBackupRef.current = null\n }\n }, [arrayValue, containerMode, index])\n\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(true)\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowBoundaryErrors?.(false)\n setShowError(false)\n if (commitHandleRef) {\n commitHandleRef.current?.()\n } else {\n switchContainerMode?.('view')\n }\n }\n }, [\n commitHandleRef,\n hasError,\n hasVisibleError,\n setShowBoundaryErrors,\n setShowError,\n switchContainerMode,\n ])\n\n return (\n <Button\n variant=\"tertiary\"\n className={classnames('dnb-forms-iterate__done-button', className)}\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n {...restProps}\n >\n {doneButton}\n </Button>\n )\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,OAAOC,cAAc,MAAM,4BAA4B;AACvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,cAAc,MAAM,2BAA2B;AACtD,OAAOC,oBAAoB,MAAM,sDAAsD;AACvF,OAAOC,oBAAoB,MAAM,uCAAuC;AACxE,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,eAAe,SAASC,UAAUA,CAACC,KAAY,EAAE;EAC/C,MAAM;MAAEC;IAAwB,CAAC,GAAGD,KAAK;IAAnBE,SAAS,GAAAC,wBAAA,CAAKH,KAAK,EAAAI,SAAA;EACzC,MAAM;IAAEC,mBAAmB;IAAEC,aAAa;IAAEC,UAAU;IAAEC;EAAM,CAAC,GAC7DpB,UAAU,CAACM,kBAAkB,CAAC,IAAI,CAAC,CAAC;EACtC,MAAM;IAAEe,QAAQ;IAAEC,eAAe;IAAEC;EAAsB,CAAC,GACxDvB,UAAU,CAACQ,oBAAoB,CAAC,IAAI,CAAC,CAAC;EACxC,MAAM;IAAEgB;EAAgB,CAAC,GAAGxB,UAAU,CAACS,oBAAoB,CAAC,IAAI,CAAC,CAAC;EAClE,MAAM;IAAEgB;EAAa,CAAC,GAAGzB,UAAU,CAACO,cAAc,CAAC,IAAI,CAAC,CAAC;EAEzD,MAAM;IAAEmB;EAAW,CAAC,GAAGrB,cAAc,CAAC,CAAC,CAACsB,oBAAoB;EAC5D,MAAMC,cAAc,GAAG1B,MAAM,CAAU,CAAC;EAExCD,SAAS,CAAC,MAAM;IACd,IAAIiB,aAAa,KAAK,MAAM,IAAI,CAACU,cAAc,CAACC,OAAO,EAAE;MACvDD,cAAc,CAACC,OAAO,GAAGV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGC,KAAK,CAAC;IAC9C;IACA,IAAIF,aAAa,KAAK,MAAM,EAAE;MAC5BU,cAAc,CAACC,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,CAACV,UAAU,EAAED,aAAa,EAAEE,KAAK,CAAC,CAAC;EAEtC,MAAMU,WAAW,GAAG/B,WAAW,CAAC,MAAM;IACpC,IAAIsB,QAAQ,EAAE;MACZE,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,IAAI,CAAC;MAC7B,IAAID,eAAe,EAAE;QACnBG,YAAY,CAAC,IAAI,CAAC;MACpB;IACF,CAAC,MAAM;MACLF,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,KAAK,CAAC;MAC9BE,YAAY,CAAC,KAAK,CAAC;MACnB,IAAID,eAAe,EAAE;QAAA,IAAAO,qBAAA;QACnB,CAAAA,qBAAA,GAAAP,eAAe,CAACK,OAAO,cAAAE,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAAR,eAA0B,CAAC;MAC7B,CAAC,MAAM;QACLP,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;MAC/B;IACF;EACF,CAAC,EAAE,CACDO,eAAe,EACfH,QAAQ,EACRC,eAAe,EACfC,qBAAqB,EACrBE,YAAY,EACZR,mBAAmB,CACpB,CAAC;EAEF,OACEnB,KAAA,CAAAmC,aAAA,CAAC7B,MAAM,EAAA8B,QAAA;IACLC,OAAO,EAAC,UAAU;IAClBtB,SAAS,EAAEV,UAAU,CAAC,gCAAgC,EAAEU,SAAS,CAAE;IACnEuB,IAAI,EAAE1B,KAAM;IACZ2B,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAER;EAAY,GAClBhB,SAAS,GAEZY,UACK,CAAC;AAEb","ignoreList":[]}
@@ -23,7 +23,7 @@ export type Props = {
23
23
  */
24
24
  toolbarVariant?: ArrayItemAreaProps['toolbarVariant'];
25
25
  };
26
- export type AllProps = Props & FlexContainerProps & ArrayItemAreaProps;
26
+ export type AllProps = Props & Omit<FlexContainerProps, 'onAnimationEnd'> & ArrayItemAreaProps;
27
27
  declare function EditContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
28
28
  declare namespace EditContainer {
29
29
  var DoneButton: typeof import("./DoneButton").default;
@@ -31,7 +31,7 @@ declare namespace EditContainer {
31
31
  var _supportsSpacingProps: boolean;
32
32
  }
33
33
  export default EditContainer;
34
- export declare function EditContainerWithoutToolbar(props: Props & FlexContainerProps & {
34
+ export declare function EditContainerWithoutToolbar(props: Props & Omit<FlexContainerProps, 'onAnimationEnd'> & {
35
35
  toolbar?: React.ReactNode;
36
36
  }): import("react/jsx-runtime").JSX.Element;
37
37
  export declare namespace EditContainerWithoutToolbar {
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Lead","IterateItemContext","ArrayItemArea","Toolbar","useSwitchContainerMode","DoneButton","CancelButton","useWasNew","replaceItemNo","EditContainer","props","toolbar","toolbarVariant","children","rest","_objectWithoutProperties","_excluded","arrayValue","toolbarElement","length","_Fragment","createElement","Fragment","hasToolbar","Children","toArray","some","child","EditContainerWithoutToolbar","_extends","_Toolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","_excluded2","wasNew","itemTitle","mode","ariaLabel","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\nimport { replaceItemNo } from '../ItemNo'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: ArrayItemAreaProps['toolbarVariant']\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ??\n (toolbarVariant !== 'custom' && (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n ))\n }\n toolbarVariant={toolbarVariant}\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n const itemTitle = useMemo(() => {\n return replaceItemNo(\n wasNew && titleWhenNew ? titleWhenNew : title,\n index\n )\n }, [index, title, titleWhenNew, wasNew])\n\n useSwitchContainerMode(path)\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={convertJsxToString(itemTitle)}\n toolbarVariant={toolbarVariant}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,aAAa,MAA8B,wBAAwB;AAC1E,OAAOC,OAAO,MAAM,YAAY;AAChC,SAASC,sBAAsB,QAAQ,UAAU;AACjD,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,YAAY,IAAIC,SAAS,QAAQ,gBAAgB;AACxD,SAASC,aAAa,QAAQ,WAAW;AA+BzC,eAAe,SAASC,aAAaA,CAACC,KAAe,EAAE;EACrD,MAAM;MAAEC,OAAO;MAAEC,cAAc;MAAEC;IAAkB,CAAC,GAAGH,KAAK;IAAdI,IAAI,GAAAC,wBAAA,CAAKL,KAAK,EAAAM,SAAA;EAC5D,MAAM;IAAEC;EAAW,CAAC,GAAGrB,UAAU,CAACK,kBAAkB,CAAC;EAErD,IAAIiB,cAAc,GAAGP,OAAO;EAC5B,IAAIC,cAAc,KAAK,gBAAgB,IAAIK,UAAU,CAACE,MAAM,IAAI,CAAC,EAAE;IACjED,cAAc,GAAAE,SAAA,KAAAA,SAAA,GAAGzB,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAA2B,QAAA,MAAI,CAAC;EACxB;EAEA,MAAMC,UAAU,GACd,CAACL,cAAc,IACfvB,KAAK,CAAC6B,QAAQ,CAACC,OAAO,CAACZ,QAAQ,CAAC,CAACa,IAAI,CAAEC,KAAK,IAAK;IAC/C,OAAO,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,MAAM,CAAC,MAAKxB,OAAO;EACpC,CAAC,CAAC;EAEJ,OACER,KAAA,CAAA0B,aAAA,CAACO,2BAA2B,EAAAC,QAAA;IAC1BlB,OAAO,EACLY,UAAU,GACN,IAAI,GACJL,cAAc,aAAdA,cAAc,cAAdA,cAAc,GACbN,cAAc,KAAK,QAAQ,KAAAkB,QAAA,KAAAA,QAAA,GAC1BnC,KAAA,CAAA0B,aAAA,CAAClB,OAAO,QACNR,KAAA,CAAA0B,aAAA,CAAChB,UAAU,MAAE,CAAC,EACdV,KAAA,CAAA0B,aAAA,CAACf,YAAY,MAAE,CACR,CAAC,EAEjB;IACDM,cAAc,EAAEA;EAAe,GAC3BE,IAAI,GAEPD,QAC0B,CAAC;AAElC;AAEA,OAAO,SAASe,2BAA2BA,CACzClB,KAAiE,EACjE;EACA,MAAM;IAAEqB,aAAa;IAAEC,KAAK;IAAEC,KAAK;IAAEC;EAAK,CAAC,GACzCtC,UAAU,CAACK,kBAAkB,CAAC;EAEhC,MAAAkC,IAAA,GAQIzB,KAAK,IAAI,CAAC,CAAC;IART;MACJG,QAAQ;MACRuB,SAAS;MACTC,KAAK;MACLC,YAAY;MACZ3B,OAAO;MACPC;IAEF,CAAC,GAAAuB,IAAA;IADII,SAAS,GAAAxB,wBAAA,CAAAoB,IAAA,EAAAK,UAAA;EAGd,MAAMC,MAAM,GAAGlC,SAAS,CAAC;IAAEyB,KAAK;IAAED;EAAc,CAAC,CAAC;EAClD,MAAMW,SAAS,GAAG7C,OAAO,CAAC,MAAM;IAC9B,OAAOW,aAAa,CAClBiC,MAAM,IAAIH,YAAY,GAAGA,YAAY,GAAGD,KAAK,EAC7CJ,KACF,CAAC;EACH,CAAC,EAAE,CAACA,KAAK,EAAEI,KAAK,EAAEC,YAAY,EAAEG,MAAM,CAAC,CAAC;EAExCrC,sBAAsB,CAAC8B,IAAI,CAAC;EAE5B,OACEvC,KAAA,CAAA0B,aAAA,CAACnB,aAAa,EAAA2B,QAAA;IACZc,IAAI,EAAC,MAAM;IACXP,SAAS,EAAEtC,UAAU,CAAC,8BAA8B,EAAEsC,SAAS,CAAE;IACjEQ,SAAS,EAAE7C,kBAAkB,CAAC2C,SAAS,CAAE;IACzC9B,cAAc,EAAEA;EAAe,GAC3B2B,SAAS,GAEZG,SAAS,IAAI/C,KAAA,CAAA0B,aAAA,CAACrB,IAAI;IAAC6C,IAAI,EAAC;EAAO,GAAEH,SAAgB,CAAC,EAClD7B,QAAQ,EACRF,OACY,CAAC;AAEpB;AAEAF,aAAa,CAACJ,UAAU,GAAGA,UAAU;AACrCI,aAAa,CAACH,YAAY,GAAGA,YAAY;AAEzCG,aAAa,CAACqC,qBAAqB,GAAG,IAAI;AAC1ClB,2BAA2B,CAACkB,qBAAqB,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"EditContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Lead","IterateItemContext","ArrayItemArea","Toolbar","useSwitchContainerMode","DoneButton","CancelButton","useWasNew","replaceItemNo","EditContainer","props","toolbar","toolbarVariant","children","rest","_objectWithoutProperties","_excluded","arrayValue","toolbarElement","length","_Fragment","createElement","Fragment","hasToolbar","Children","toArray","some","child","EditContainerWithoutToolbar","_extends","_Toolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","_excluded2","wasNew","itemTitle","mode","ariaLabel","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\nimport { replaceItemNo } from '../ItemNo'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: ArrayItemAreaProps['toolbarVariant']\n}\n\nexport type AllProps = Props &\n Omit<FlexContainerProps, 'onAnimationEnd'> &\n ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ??\n (toolbarVariant !== 'custom' && (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n ))\n }\n toolbarVariant={toolbarVariant}\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props &\n Omit<FlexContainerProps, 'onAnimationEnd'> & {\n toolbar?: React.ReactNode\n }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n const itemTitle = useMemo(() => {\n return replaceItemNo(\n wasNew && titleWhenNew ? titleWhenNew : title,\n index\n )\n }, [index, title, titleWhenNew, wasNew])\n\n useSwitchContainerMode(path)\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={convertJsxToString(itemTitle)}\n toolbarVariant={toolbarVariant}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,7 @@ function OpenButton(props) {
39
39
  return children || text;
40
40
  }, [entries === null || entries === void 0 ? void 0 : entries.length, children, text]);
41
41
  return React.createElement(Button, _extends({
42
- className: classnames('dnb-forms-iterate-open-button', className),
42
+ className: classnames('dnb-forms-iterate__open-button', className),
43
43
  variant: "secondary",
44
44
  icon: add,
45
45
  icon_position: "left",