@dnb/eufemia 10.75.1 → 10.75.3

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 (689) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/cjs/components/accordion/Accordion.js +2 -3
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionContext.d.ts +0 -4
  5. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  6. package/cjs/components/accordion/AccordionGroup.js +1 -3
  7. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  8. package/cjs/components/accordion/AccordionProviderContext.d.ts +0 -4
  9. package/cjs/components/accordion/AccordionProviderContext.js +3 -1
  10. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  11. package/cjs/components/accordion/AccordionStore.js +1 -2
  12. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  13. package/cjs/components/accordion/style/dnb-accordion.css +0 -6
  14. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  16. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  17. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  18. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
  20. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  21. package/cjs/components/button/Button.js +8 -7
  22. package/cjs/components/button/Button.js.map +1 -1
  23. package/cjs/components/date-picker/DatePickerDocs.js +3 -3
  24. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerInput.js +2 -2
  26. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  27. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  28. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  29. package/cjs/components/dialog/style/dnb-dialog.css +0 -4
  30. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  31. package/cjs/components/dialog/style/dnb-dialog.scss +0 -5
  32. package/cjs/components/drawer/DrawerDocs.js +2 -2
  33. package/cjs/components/drawer/DrawerDocs.js.map +1 -1
  34. package/cjs/components/drawer/style/dnb-drawer.css +0 -4
  35. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  36. package/cjs/components/drawer/style/dnb-drawer.scss +0 -5
  37. package/cjs/components/dropdown/Dropdown.js +1 -1
  38. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  39. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  40. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  41. package/cjs/components/form-row/FormRow.d.ts +1 -1
  42. package/cjs/components/form-row/FormRowDocs.js +1 -1
  43. package/cjs/components/form-row/FormRowDocs.js.map +1 -1
  44. package/cjs/components/input-masked/style/dnb-input-masked.css +0 -1
  45. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  46. package/cjs/components/list-format/ListFormatDocs.js +2 -2
  47. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  48. package/cjs/components/modal/style/dnb-modal.css +0 -4
  49. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  50. package/cjs/components/modal/style/dnb-modal.scss +0 -5
  51. package/cjs/components/pagination/PaginationDocs.js +2 -2
  52. package/cjs/components/pagination/PaginationDocs.js.map +1 -1
  53. package/cjs/components/slider/SliderDocs.js +1 -1
  54. package/cjs/components/slider/SliderDocs.js.map +1 -1
  55. package/cjs/components/step-indicator/StepIndicatorDocs.js +4 -4
  56. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  57. package/cjs/components/timeline/TimelineItem.js +5 -5
  58. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  59. package/cjs/components/toggle-button/ToggleButton.d.ts +1 -1
  60. package/cjs/components/toggle-button/ToggleButtonDocs.js +2 -2
  61. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  62. package/cjs/components/upload/Upload.js +5 -2
  63. package/cjs/components/upload/Upload.js.map +1 -1
  64. package/cjs/components/upload/UploadFileInput.d.ts +2 -1
  65. package/cjs/components/upload/UploadFileInput.js +7 -4
  66. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  67. package/cjs/components/upload/style/dnb-upload.css +0 -1
  68. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  69. package/cjs/core/jest/jestSetupScreenshots.css +6 -0
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
  71. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  72. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  73. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  74. package/cjs/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
  75. package/cjs/extensions/forms/DataContext/Provider/useEventListener.js +29 -0
  76. package/cjs/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
  77. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +8 -2
  78. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Date/Date.js +10 -4
  80. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  81. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  82. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  83. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  84. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  85. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  86. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +8 -2
  87. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  88. package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
  89. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  90. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +8 -2
  91. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Password/PasswordDocs.js +8 -2
  93. package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  94. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  95. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  96. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +9 -0
  97. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  98. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  99. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  101. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
  102. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  103. package/cjs/extensions/forms/Field/String/StringDocs.js +7 -7
  104. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  105. package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
  106. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  107. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  108. package/cjs/extensions/forms/Field/Upload/Upload.js +3 -1
  109. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  111. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  112. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  113. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  114. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
  116. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
  117. package/cjs/extensions/forms/Form/Isolation/Isolation.js +2 -3
  118. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  119. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
  120. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +20 -4
  121. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
  122. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  123. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  124. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
  125. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
  126. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +15 -8
  127. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  128. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
  129. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
  130. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
  131. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
  132. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -1
  133. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  134. package/cjs/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
  135. package/cjs/extensions/forms/Form/Isolation/useReportError.js +22 -7
  136. package/cjs/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
  137. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
  138. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
  140. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
  142. package/cjs/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
  143. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
  144. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
  145. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
  147. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  148. package/cjs/extensions/forms/Tools/Errors.d.ts +5 -0
  149. package/cjs/extensions/forms/Tools/Errors.js +46 -0
  150. package/cjs/extensions/forms/Tools/Errors.js.map +1 -0
  151. package/cjs/extensions/forms/Tools/index.d.ts +1 -0
  152. package/cjs/extensions/forms/Tools/index.js +7 -0
  153. package/cjs/extensions/forms/Tools/index.js.map +1 -1
  154. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
  155. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
  156. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
  157. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  158. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  159. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  160. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  161. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  162. package/cjs/extensions/forms/Wizard/Step/Step.js +1 -1
  163. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  164. package/cjs/extensions/forms/Wizard/hooks/useStep.js +13 -5
  165. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  166. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
  167. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  168. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  169. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  170. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  171. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  172. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  173. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  174. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  175. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  176. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  177. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  178. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  179. package/cjs/extensions/forms/hooks/useFieldProps.js +6 -6
  180. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  181. package/cjs/extensions/payment-card/PaymentCard.js +8 -1
  182. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  183. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
  184. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
  185. package/cjs/extensions/payment-card/icons/providers/BankAxept.js +2 -2
  186. package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
  187. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
  188. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
  189. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
  190. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
  191. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
  192. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
  193. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
  194. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
  195. package/cjs/fragments/drawer-list/DrawerListHelpers.js +2 -1
  196. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  197. package/cjs/shared/AlignmentHelper.d.ts +14 -8
  198. package/cjs/shared/AlignmentHelper.js +4 -8
  199. package/cjs/shared/AlignmentHelper.js.map +1 -1
  200. package/cjs/shared/BuildInfo.d.cts +2 -0
  201. package/cjs/shared/BuildInfo.js +5 -0
  202. package/cjs/shared/BuildInfo.js.map +1 -0
  203. package/cjs/shared/Eufemia.d.ts +14 -1
  204. package/cjs/shared/Eufemia.js +31 -3
  205. package/cjs/shared/Eufemia.js.map +1 -1
  206. package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  207. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  208. package/cjs/shared/useMedia.js +66 -55
  209. package/cjs/shared/useMedia.js.map +1 -1
  210. package/cjs/style/core/helper-classes/helper-classes.scss +3 -0
  211. package/cjs/style/core/scopes.scss +1 -1
  212. package/cjs/style/core/utilities.scss +3 -1
  213. package/cjs/style/dnb-ui-basis.css +13 -2
  214. package/cjs/style/dnb-ui-basis.min.css +1 -1
  215. package/cjs/style/dnb-ui-body.css +1 -2
  216. package/cjs/style/dnb-ui-body.min.css +1 -1
  217. package/cjs/style/dnb-ui-components.css +0 -22
  218. package/cjs/style/dnb-ui-components.min.css +3 -3
  219. package/cjs/style/dnb-ui-core.css +13 -3
  220. package/cjs/style/dnb-ui-core.min.css +1 -1
  221. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  222. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  225. package/cjs/style/themes/theme-ui/ui-theme-components.css +0 -22
  226. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  227. package/components/accordion/Accordion.js +2 -3
  228. package/components/accordion/Accordion.js.map +1 -1
  229. package/components/accordion/AccordionContext.d.ts +0 -4
  230. package/components/accordion/AccordionContext.js.map +1 -1
  231. package/components/accordion/AccordionGroup.js +1 -3
  232. package/components/accordion/AccordionGroup.js.map +1 -1
  233. package/components/accordion/AccordionProviderContext.d.ts +0 -4
  234. package/components/accordion/AccordionProviderContext.js +3 -1
  235. package/components/accordion/AccordionProviderContext.js.map +1 -1
  236. package/components/accordion/AccordionStore.js +1 -2
  237. package/components/accordion/AccordionStore.js.map +1 -1
  238. package/components/accordion/style/dnb-accordion.css +0 -6
  239. package/components/accordion/style/dnb-accordion.min.css +1 -1
  240. package/components/accordion/style/dnb-accordion.scss +0 -5
  241. package/components/autocomplete/Autocomplete.d.ts +1 -1
  242. package/components/autocomplete/Autocomplete.js +2 -2
  243. package/components/autocomplete/Autocomplete.js.map +1 -1
  244. package/components/autocomplete/AutocompleteDocs.js +1 -1
  245. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  246. package/components/button/Button.js +8 -7
  247. package/components/button/Button.js.map +1 -1
  248. package/components/date-picker/DatePickerDocs.js +3 -3
  249. package/components/date-picker/DatePickerDocs.js.map +1 -1
  250. package/components/date-picker/DatePickerInput.js +2 -2
  251. package/components/date-picker/DatePickerInput.js.map +1 -1
  252. package/components/date-picker/style/dnb-date-picker.css +0 -1
  253. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  254. package/components/dialog/style/dnb-dialog.css +0 -4
  255. package/components/dialog/style/dnb-dialog.min.css +1 -1
  256. package/components/dialog/style/dnb-dialog.scss +0 -5
  257. package/components/drawer/DrawerDocs.js +2 -2
  258. package/components/drawer/DrawerDocs.js.map +1 -1
  259. package/components/drawer/style/dnb-drawer.css +0 -4
  260. package/components/drawer/style/dnb-drawer.min.css +1 -1
  261. package/components/drawer/style/dnb-drawer.scss +0 -5
  262. package/components/dropdown/Dropdown.js +2 -2
  263. package/components/dropdown/Dropdown.js.map +1 -1
  264. package/components/form-label/style/dnb-form-label.css +0 -1
  265. package/components/form-label/style/dnb-form-label.min.css +1 -1
  266. package/components/form-row/FormRow.d.ts +1 -1
  267. package/components/form-row/FormRowDocs.js +1 -1
  268. package/components/form-row/FormRowDocs.js.map +1 -1
  269. package/components/input-masked/style/dnb-input-masked.css +0 -1
  270. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  271. package/components/list-format/ListFormatDocs.js +2 -2
  272. package/components/list-format/ListFormatDocs.js.map +1 -1
  273. package/components/modal/style/dnb-modal.css +0 -4
  274. package/components/modal/style/dnb-modal.min.css +1 -1
  275. package/components/modal/style/dnb-modal.scss +0 -5
  276. package/components/pagination/PaginationDocs.js +2 -2
  277. package/components/pagination/PaginationDocs.js.map +1 -1
  278. package/components/slider/SliderDocs.js +1 -1
  279. package/components/slider/SliderDocs.js.map +1 -1
  280. package/components/step-indicator/StepIndicatorDocs.js +4 -4
  281. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  282. package/components/timeline/TimelineItem.js +5 -5
  283. package/components/timeline/TimelineItem.js.map +1 -1
  284. package/components/toggle-button/ToggleButton.d.ts +1 -1
  285. package/components/toggle-button/ToggleButtonDocs.js +2 -2
  286. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  287. package/components/upload/Upload.js +5 -2
  288. package/components/upload/Upload.js.map +1 -1
  289. package/components/upload/UploadFileInput.d.ts +2 -1
  290. package/components/upload/UploadFileInput.js +7 -4
  291. package/components/upload/UploadFileInput.js.map +1 -1
  292. package/components/upload/style/dnb-upload.css +0 -1
  293. package/components/upload/style/dnb-upload.min.css +1 -1
  294. package/core/jest/jestSetupScreenshots.css +6 -0
  295. package/es/components/accordion/Accordion.js +2 -3
  296. package/es/components/accordion/Accordion.js.map +1 -1
  297. package/es/components/accordion/AccordionContext.d.ts +0 -4
  298. package/es/components/accordion/AccordionContext.js.map +1 -1
  299. package/es/components/accordion/AccordionGroup.js +1 -3
  300. package/es/components/accordion/AccordionGroup.js.map +1 -1
  301. package/es/components/accordion/AccordionProviderContext.d.ts +0 -4
  302. package/es/components/accordion/AccordionProviderContext.js +3 -1
  303. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  304. package/es/components/accordion/AccordionStore.js +1 -2
  305. package/es/components/accordion/AccordionStore.js.map +1 -1
  306. package/es/components/accordion/style/dnb-accordion.css +0 -6
  307. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  308. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  309. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  310. package/es/components/autocomplete/Autocomplete.js +2 -2
  311. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  312. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  313. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  314. package/es/components/button/Button.js +8 -7
  315. package/es/components/button/Button.js.map +1 -1
  316. package/es/components/date-picker/DatePickerDocs.js +3 -3
  317. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  318. package/es/components/date-picker/DatePickerInput.js +2 -2
  319. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  320. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  321. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  322. package/es/components/dialog/style/dnb-dialog.css +0 -4
  323. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  324. package/es/components/dialog/style/dnb-dialog.scss +0 -5
  325. package/es/components/drawer/DrawerDocs.js +2 -2
  326. package/es/components/drawer/DrawerDocs.js.map +1 -1
  327. package/es/components/drawer/style/dnb-drawer.css +0 -4
  328. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  329. package/es/components/drawer/style/dnb-drawer.scss +0 -5
  330. package/es/components/dropdown/Dropdown.js +2 -2
  331. package/es/components/dropdown/Dropdown.js.map +1 -1
  332. package/es/components/form-label/style/dnb-form-label.css +0 -1
  333. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  334. package/es/components/form-row/FormRow.d.ts +1 -1
  335. package/es/components/form-row/FormRowDocs.js +1 -1
  336. package/es/components/form-row/FormRowDocs.js.map +1 -1
  337. package/es/components/input-masked/style/dnb-input-masked.css +0 -1
  338. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  339. package/es/components/list-format/ListFormatDocs.js +2 -2
  340. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  341. package/es/components/modal/style/dnb-modal.css +0 -4
  342. package/es/components/modal/style/dnb-modal.min.css +1 -1
  343. package/es/components/modal/style/dnb-modal.scss +0 -5
  344. package/es/components/pagination/PaginationDocs.js +2 -2
  345. package/es/components/pagination/PaginationDocs.js.map +1 -1
  346. package/es/components/slider/SliderDocs.js +1 -1
  347. package/es/components/slider/SliderDocs.js.map +1 -1
  348. package/es/components/step-indicator/StepIndicatorDocs.js +4 -4
  349. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  350. package/es/components/timeline/TimelineItem.js +5 -5
  351. package/es/components/timeline/TimelineItem.js.map +1 -1
  352. package/es/components/toggle-button/ToggleButton.d.ts +1 -1
  353. package/es/components/toggle-button/ToggleButtonDocs.js +2 -2
  354. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  355. package/es/components/upload/Upload.js +5 -2
  356. package/es/components/upload/Upload.js.map +1 -1
  357. package/es/components/upload/UploadFileInput.d.ts +2 -1
  358. package/es/components/upload/UploadFileInput.js +7 -4
  359. package/es/components/upload/UploadFileInput.js.map +1 -1
  360. package/es/components/upload/style/dnb-upload.css +0 -1
  361. package/es/components/upload/style/dnb-upload.min.css +1 -1
  362. package/es/core/jest/jestSetupScreenshots.css +6 -0
  363. package/es/extensions/forms/DataContext/Context.d.ts +5 -2
  364. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  365. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  366. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  367. package/es/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
  368. package/es/extensions/forms/DataContext/Provider/useEventListener.js +22 -0
  369. package/es/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
  370. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +6 -2
  371. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  372. package/es/extensions/forms/Field/Date/Date.js +10 -4
  373. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  374. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  375. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  376. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  377. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  378. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  379. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +6 -2
  380. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  381. package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
  382. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  383. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +6 -2
  384. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  385. package/es/extensions/forms/Field/Password/PasswordDocs.js +6 -2
  386. package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  387. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  388. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  389. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +7 -0
  390. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  391. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  392. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  393. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  394. package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
  395. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  396. package/es/extensions/forms/Field/String/StringDocs.js +7 -7
  397. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  398. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  399. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  400. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  401. package/es/extensions/forms/Field/Upload/Upload.js +3 -1
  402. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  403. package/es/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  404. package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  405. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  406. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  407. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  408. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
  409. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
  410. package/es/extensions/forms/Form/Isolation/Isolation.js +2 -3
  411. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  412. package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
  413. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +18 -4
  414. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
  415. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  416. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  417. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
  418. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
  419. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +14 -8
  420. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  421. package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
  422. package/es/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
  423. package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
  424. package/es/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
  425. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -2
  426. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  427. package/es/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
  428. package/es/extensions/forms/Form/Isolation/useReportError.js +22 -7
  429. package/es/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
  430. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
  431. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  432. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
  433. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  434. package/es/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
  435. package/es/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
  436. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
  437. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
  438. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  439. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
  440. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  441. package/es/extensions/forms/Tools/Errors.d.ts +5 -0
  442. package/es/extensions/forms/Tools/Errors.js +37 -0
  443. package/es/extensions/forms/Tools/Errors.js.map +1 -0
  444. package/es/extensions/forms/Tools/index.d.ts +1 -0
  445. package/es/extensions/forms/Tools/index.js +1 -0
  446. package/es/extensions/forms/Tools/index.js.map +1 -1
  447. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
  448. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
  449. package/es/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
  450. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  451. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  452. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  453. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  454. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  455. package/es/extensions/forms/Wizard/Step/Step.js +1 -1
  456. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  457. package/es/extensions/forms/Wizard/hooks/useStep.js +13 -5
  458. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  459. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
  460. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  461. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  462. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  463. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  464. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  465. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  466. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  467. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  468. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  469. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  470. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  471. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  472. package/es/extensions/forms/hooks/useFieldProps.js +8 -8
  473. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  474. package/es/extensions/payment-card/PaymentCard.js +1 -0
  475. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  476. package/es/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
  477. package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
  478. package/es/extensions/payment-card/icons/providers/BankAxept.js +2 -2
  479. package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
  480. package/es/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
  481. package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
  482. package/es/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
  483. package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
  484. package/es/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
  485. package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
  486. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
  487. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
  488. package/es/fragments/drawer-list/DrawerListHelpers.js +2 -1
  489. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  490. package/es/shared/AlignmentHelper.d.ts +14 -8
  491. package/es/shared/AlignmentHelper.js +4 -8
  492. package/es/shared/AlignmentHelper.js.map +1 -1
  493. package/es/shared/BuildInfo.cjs +6 -0
  494. package/es/shared/BuildInfo.d.cts +2 -0
  495. package/es/shared/Eufemia.d.ts +14 -1
  496. package/es/shared/Eufemia.js +27 -2
  497. package/es/shared/Eufemia.js.map +1 -1
  498. package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  499. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  500. package/es/shared/useMedia.js +66 -55
  501. package/es/shared/useMedia.js.map +1 -1
  502. package/es/style/core/helper-classes/helper-classes.scss +3 -0
  503. package/es/style/core/scopes.scss +1 -1
  504. package/es/style/core/utilities.scss +3 -1
  505. package/es/style/dnb-ui-basis.css +13 -2
  506. package/es/style/dnb-ui-basis.min.css +1 -1
  507. package/es/style/dnb-ui-body.css +1 -2
  508. package/es/style/dnb-ui-body.min.css +1 -1
  509. package/es/style/dnb-ui-components.css +0 -22
  510. package/es/style/dnb-ui-components.min.css +3 -3
  511. package/es/style/dnb-ui-core.css +13 -3
  512. package/es/style/dnb-ui-core.min.css +1 -1
  513. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  514. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  515. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  516. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  517. package/es/style/themes/theme-ui/ui-theme-components.css +0 -22
  518. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  519. package/esm/dnb-ui-components.min.mjs +1 -1
  520. package/esm/dnb-ui-elements.min.mjs +1 -1
  521. package/esm/dnb-ui-extensions.min.mjs +3 -3
  522. package/esm/dnb-ui-lib.min.mjs +1 -1
  523. package/extensions/forms/DataContext/Context.d.ts +5 -2
  524. package/extensions/forms/DataContext/Context.js.map +1 -1
  525. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  526. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  527. package/extensions/forms/DataContext/Provider/useEventListener.d.ts +3 -0
  528. package/extensions/forms/DataContext/Provider/useEventListener.js +23 -0
  529. package/extensions/forms/DataContext/Provider/useEventListener.js.map +1 -0
  530. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +6 -2
  531. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  532. package/extensions/forms/Field/Date/Date.js +10 -4
  533. package/extensions/forms/Field/Date/Date.js.map +1 -1
  534. package/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  535. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  536. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  537. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  538. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  539. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +6 -2
  540. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  541. package/extensions/forms/Field/Number/NumberDocs.js +1 -1
  542. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  543. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +6 -2
  544. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  545. package/extensions/forms/Field/Password/PasswordDocs.js +6 -2
  546. package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
  547. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +1 -1
  548. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  549. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +7 -0
  550. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  551. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  552. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  553. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  554. package/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
  555. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  556. package/extensions/forms/Field/String/StringDocs.js +7 -7
  557. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  558. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  559. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  560. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  561. package/extensions/forms/Field/Upload/Upload.js +3 -1
  562. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  563. package/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  564. package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  565. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  566. package/extensions/forms/FieldBlock/FieldBlockDocs.js +1 -1
  567. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  568. package/extensions/forms/Form/Isolation/IsolatedContainer.js +4 -6
  569. package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -1
  570. package/extensions/forms/Form/Isolation/Isolation.js +2 -3
  571. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  572. package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +4 -2
  573. package/extensions/forms/Form/Isolation/IsolationDataReference.js +20 -4
  574. package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -1
  575. package/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  576. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  577. package/extensions/forms/Form/Isolation/IsolationResetButton.js +2 -1
  578. package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -1
  579. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +15 -8
  580. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  581. package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +2 -1
  582. package/extensions/forms/Form/Isolation/useHandleStatus.js +10 -3
  583. package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -1
  584. package/extensions/forms/Form/Isolation/useHasContentChanged.d.ts +3 -1
  585. package/extensions/forms/Form/Isolation/useHasContentChanged.js +4 -1
  586. package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  587. package/extensions/forms/Form/Isolation/useReportError.d.ts +1 -1
  588. package/extensions/forms/Form/Isolation/useReportError.js +22 -7
  589. package/extensions/forms/Form/Isolation/useReportError.js.map +1 -1
  590. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +6 -6
  591. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  592. package/extensions/forms/Iterate/EditContainer/ResetButton.js +3 -1
  593. package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  594. package/extensions/forms/Iterate/ItemNo/{useIItemNo.js → useIterateItemNo.js} +2 -2
  595. package/extensions/forms/Iterate/ItemNo/useIterateItemNo.js.map +1 -0
  596. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +3 -1
  597. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -3
  598. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  599. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +6 -1
  600. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  601. package/extensions/forms/Tools/Errors.d.ts +5 -0
  602. package/extensions/forms/Tools/Errors.js +38 -0
  603. package/extensions/forms/Tools/Errors.js.map +1 -0
  604. package/extensions/forms/Tools/index.d.ts +1 -0
  605. package/extensions/forms/Tools/index.js +1 -0
  606. package/extensions/forms/Tools/index.js.map +1 -1
  607. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +2 -4
  608. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -1
  609. package/extensions/forms/Wizard/Container/WizardContainer.js +11 -5
  610. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  611. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  612. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  613. package/extensions/forms/Wizard/Context/WizardContext.d.ts +2 -1
  614. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  615. package/extensions/forms/Wizard/Step/Step.js +1 -1
  616. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  617. package/extensions/forms/Wizard/hooks/useStep.js +13 -5
  618. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  619. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -3
  620. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  621. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  622. package/extensions/forms/constants/locales/en-GB.js +2 -1
  623. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  624. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  625. package/extensions/forms/constants/locales/index.d.ts +2 -0
  626. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  627. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  628. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  629. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  630. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  631. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  632. package/extensions/forms/hooks/useFieldProps.js +8 -8
  633. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  634. package/extensions/payment-card/PaymentCard.js +1 -0
  635. package/extensions/payment-card/PaymentCard.js.map +1 -1
  636. package/extensions/payment-card/icons/brandLogos/DNB.js +2 -2
  637. package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -1
  638. package/extensions/payment-card/icons/providers/BankAxept.js +2 -2
  639. package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -1
  640. package/extensions/payment-card/icons/providers/ClickToPay.js +2 -2
  641. package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -1
  642. package/extensions/payment-card/icons/providers/MastercardDefault.js +2 -2
  643. package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -1
  644. package/extensions/payment-card/icons/providers/VisaDefault.js +2 -2
  645. package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -1
  646. package/extensions/payment-card/icons/providers/VisaPlatinum.js +2 -2
  647. package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -1
  648. package/fragments/drawer-list/DrawerListHelpers.js +2 -1
  649. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  650. package/package.json +1 -1
  651. package/shared/AlignmentHelper.d.ts +14 -8
  652. package/shared/AlignmentHelper.js +4 -8
  653. package/shared/AlignmentHelper.js.map +1 -1
  654. package/shared/BuildInfo.cjs +6 -0
  655. package/shared/BuildInfo.d.cts +2 -0
  656. package/shared/Eufemia.d.ts +14 -1
  657. package/shared/Eufemia.js +27 -2
  658. package/shared/Eufemia.js.map +1 -1
  659. package/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  660. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  661. package/shared/useMedia.js +67 -56
  662. package/shared/useMedia.js.map +1 -1
  663. package/style/core/helper-classes/helper-classes.scss +3 -0
  664. package/style/core/scopes.scss +1 -1
  665. package/style/core/utilities.scss +3 -1
  666. package/style/dnb-ui-basis.css +13 -2
  667. package/style/dnb-ui-basis.min.css +1 -1
  668. package/style/dnb-ui-body.css +1 -2
  669. package/style/dnb-ui-body.min.css +1 -1
  670. package/style/dnb-ui-components.css +0 -22
  671. package/style/dnb-ui-components.min.css +3 -3
  672. package/style/dnb-ui-core.css +13 -3
  673. package/style/dnb-ui-core.min.css +1 -1
  674. package/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  675. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  676. package/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  677. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  678. package/style/themes/theme-ui/ui-theme-components.css +0 -22
  679. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  680. package/umd/dnb-ui-components.min.js +1 -1
  681. package/umd/dnb-ui-elements.min.js +1 -1
  682. package/umd/dnb-ui-extensions.min.js +1 -1
  683. package/umd/dnb-ui-lib.min.js +1 -1
  684. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
  685. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
  686. package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +0 -1
  687. /package/cjs/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
  688. /package/es/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
  689. /package/extensions/forms/Iterate/ItemNo/{useIItemNo.d.ts → useIterateItemNo.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"StepIndicatorDocs.js","names":["StepIndicatorProperties","mode","doc","type","status","data","current_step","overview_title","step_title","hide_numbers","no_animation","expandedInitially","outset","status_state","skeleton","sidebar_id","step_title_extended","on_item_render","StepIndicatorEvents","on_click","on_change","StepIndicatorStepProperties","title","is_current","inactive","disabled","on_render","StepIndicatorStepEvents"],"sources":["../../../../src/components/step-indicator/StepIndicatorDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const StepIndicatorProperties: PropertiesTableProps = {\n mode: {\n doc: 'Defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.',\n type: [`'static'`, `'strict'`, `'loose'`],\n status: 'required',\n },\n data: {\n doc: 'Defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See below for properties of `STEP_DATA`.',\n type: ['[Step Item](#step-item-properties)[]', 'string[]'],\n status: 'required',\n },\n current_step: {\n doc: 'Defines the initial step starting from 0. Also defines the furthest step visited when `mode=\"strict\"`. Will update to the new step if changed (but will not trigger the `on_change` event). Defaults to `0`.',\n type: 'number',\n status: 'optional',\n },\n overview_title: {\n doc: 'The title shown inside the `<StepIndicatorModal />` supplemental screen reader text for the `<StepIndicatorTriggerButton />`. Defaults to `Steps Overview`.',\n type: 'string',\n status: 'optional',\n },\n step_title: {\n doc: 'Label for `<StepIndicatorTriggerButton />` and screen reader text for `<StepIndicatorItem />`. Must contain `%step` and `%count` to interpolate `current_step` and `stepCount` into the text. Defaults to `Step %step of %count`.',\n type: 'string',\n status: 'optional',\n },\n hide_numbers: {\n doc: 'Define whether to show automatically counted numbers or not. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n no_animation: {\n doc: 'If set to `true`, the height animation on step change and list expansion will be omitted. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n expandedInitially: {\n doc: 'Set to `true` to have the list be expanded initially. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n outset: {\n doc: 'Same as `outset` in [Card](/uilib/components/card/properties). Defaults to `false`',\n type: 'boolean',\n status: 'optional',\n },\n status: {\n doc: 'Text for status shown below the step indicator when it is not expanded. Defaults to `undefined`',\n type: 'string',\n status: 'optional',\n },\n status_state: {\n doc: 'The type of status shown when the `status` prop is set. Defaults to `warn`.',\n type: `['warn', 'info', 'error']`,\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n sidebar_id: {\n doc: 'A unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.',\n type: 'string',\n status: 'deprecated',\n },\n step_title_extended: {\n doc: 'Descriptive label for `<StepIndicatorModal />`. Must contain `%step` and `%count` to interpolate `current_step` and `stepCount` into the text. Defaults to `You are on step %step of %count`.',\n type: 'string',\n status: 'deprecated',\n },\n on_item_render: {\n doc: 'Deprecated, just use step item `title`. Callback function whose return is rendered inside each step instead of the default render. Has to return a React Node. Receives parameter `{ StepItem, element, attributes, props, context }`, where `props` also includes all props from the step object (like `title` or `status`) and the `<StepItem>` is a component that can be used to wrap your returned content.',\n type: 'function',\n status: 'deprecated',\n },\n}\n\nexport const StepIndicatorEvents: PropertiesTableProps = {\n on_click: {\n doc: 'Will be called when the user clicks on any clickable step in the list. Is called right before `on_change`. Receives parameter `{ event, item, current_step, currentStep }`',\n type: 'function',\n status: 'optional',\n },\n on_change: {\n doc: 'Will be called when the user changes step by clicking in the steps list (changing the `current_step` prop does not trigger the event). Receives parameter `{ event, item, current_step, currentStep }`',\n type: 'function',\n status: 'optional',\n },\n}\n\nexport const StepIndicatorStepProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the step.',\n type: ['string', 'React.ReactNode'],\n status: 'required',\n },\n is_current: {\n doc: 'If set to `true`, this item step will be set as the current selected step. This can be used instead of `current_step` on the main component.',\n type: 'boolean',\n status: 'optional',\n },\n inactive: {\n doc: 'If set to `true`, this item step will be handled as an inactive step and will not be clickable. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'If set to `true`, this step will be handled the same as `inactive` as well as getting a disabled mouseover and `aria-disabled=\"true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n status: {\n doc: 'Is used to set the status text.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n status_state: {\n doc: 'In case the status state should be `info` or `error`. Defaults to `warn`.',\n type: [`'warn'`, `'info'`, `'error'`],\n status: 'optional',\n },\n on_render: {\n doc: 'Deprecated, just use `title`. Callback function whose return is rendered inside the step instead of the default render (or `on_item_render`). Has to return a React Node. <br/> Receives parameter `{ StepItem, element, attributes, props, context }`, where `props` also includes all props in the step object (like `title` or `status`) and the `<StepItem>` is a component that can be used to wrap your returned content.',\n type: 'function',\n status: 'deprecated',\n },\n}\n\nexport const StepIndicatorStepEvents: PropertiesTableProps = {\n on_click: {\n doc: \"Called when user clicks the step. Is called right before the main component's `on_click`. Receives parameter `{ event, item, current_step, currentStep }`\",\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StepIndicatorDocs.js","names":["StepIndicatorProperties","mode","doc","type","status","data","current_step","overview_title","step_title","hide_numbers","no_animation","expandedInitially","outset","status_state","skeleton","sidebar_id","step_title_extended","on_item_render","StepIndicatorEvents","on_click","on_change","StepIndicatorStepProperties","title","is_current","inactive","disabled","on_render","StepIndicatorStepEvents"],"sources":["../../../../src/components/step-indicator/StepIndicatorDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const StepIndicatorProperties: PropertiesTableProps = {\n mode: {\n doc: 'Defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.',\n type: [`'static'`, `'strict'`, `'loose'`],\n status: 'required',\n },\n data: {\n doc: 'Defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See below for properties of `STEP_DATA`.',\n type: ['[Step Item](#step-item-properties)[]', 'string[]'],\n status: 'required',\n },\n current_step: {\n doc: 'Defines the initial step starting from 0. Also defines the furthest step visited when `mode=\"strict\"`. Will update to the new step if changed (but will not trigger the `on_change` event). Defaults to `0`.',\n type: 'number',\n status: 'optional',\n },\n overview_title: {\n doc: 'The title shown inside the `<StepIndicatorModal />` supplemental screen reader text for the `<StepIndicatorTriggerButton />`. Defaults to `Steps Overview`.',\n type: 'string',\n status: 'optional',\n },\n step_title: {\n doc: 'Label for `<StepIndicatorTriggerButton />` and screen reader text for `<StepIndicatorItem />`. Must contain `%step` and `%count` to interpolate `current_step` and `stepCount` into the text. Defaults to `Step %step of %count`.',\n type: 'string',\n status: 'optional',\n },\n hide_numbers: {\n doc: 'Define whether to show automatically counted numbers or not. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n no_animation: {\n doc: 'If set to `true`, the height animation on step change and list expansion will be omitted. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n expandedInitially: {\n doc: 'Set to `true` to have the list be expanded initially. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n outset: {\n doc: 'Same as `outset` in [Card](/uilib/components/card/properties). Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n status: {\n doc: 'Text for status shown below the step indicator when it is not expanded. Defaults to `undefined`.',\n type: 'string',\n status: 'optional',\n },\n status_state: {\n doc: 'The type of status shown when the `status` prop is set. Defaults to `warn`.',\n type: `['warn', 'info', 'error']`,\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n sidebar_id: {\n doc: 'A unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.',\n type: 'string',\n status: 'deprecated',\n },\n step_title_extended: {\n doc: 'Descriptive label for `<StepIndicatorModal />`. Must contain `%step` and `%count` to interpolate `current_step` and `stepCount` into the text. Defaults to `You are on step %step of %count`.',\n type: 'string',\n status: 'deprecated',\n },\n on_item_render: {\n doc: 'Deprecated, just use step item `title`. Callback function whose return is rendered inside each step instead of the default render. Has to return a React Node. Receives parameter `{ StepItem, element, attributes, props, context }`, where `props` also includes all props from the step object (like `title` or `status`) and the `<StepItem>` is a component that can be used to wrap your returned content.',\n type: 'function',\n status: 'deprecated',\n },\n}\n\nexport const StepIndicatorEvents: PropertiesTableProps = {\n on_click: {\n doc: 'Will be called when the user clicks on any clickable step in the list. Is called right before `on_change`. Receives parameter `{ event, item, current_step, currentStep }`.',\n type: 'function',\n status: 'optional',\n },\n on_change: {\n doc: 'Will be called when the user changes step by clicking in the steps list (changing the `current_step` prop does not trigger the event). Receives parameter `{ event, item, current_step, currentStep }`.',\n type: 'function',\n status: 'optional',\n },\n}\n\nexport const StepIndicatorStepProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the step.',\n type: ['string', 'React.ReactNode'],\n status: 'required',\n },\n is_current: {\n doc: 'If set to `true`, this item step will be set as the current selected step. This can be used instead of `current_step` on the main component.',\n type: 'boolean',\n status: 'optional',\n },\n inactive: {\n doc: 'If set to `true`, this item step will be handled as an inactive step and will not be clickable. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'If set to `true`, this step will be handled the same as `inactive` as well as getting a disabled mouseover and `aria-disabled=\"true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n status: {\n doc: 'Is used to set the status text.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n status_state: {\n doc: 'In case the status state should be `info` or `error`. Defaults to `warn`.',\n type: [`'warn'`, `'info'`, `'error'`],\n status: 'optional',\n },\n on_render: {\n doc: 'Deprecated, just use `title`. Callback function whose return is rendered inside the step instead of the default render (or `on_item_render`). Has to return a React Node. <br/> Receives parameter `{ StepItem, element, attributes, props, context }`, where `props` also includes all props in the step object (like `title` or `status`) and the `<StepItem>` is a component that can be used to wrap your returned content.',\n type: 'function',\n status: 'deprecated',\n },\n}\n\nexport const StepIndicatorStepEvents: PropertiesTableProps = {\n on_click: {\n doc: \"Called when user clicks the step. Is called right before the main component's `on_click`. Receives parameter `{ event, item, current_step, currentStep }`\",\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _span;
5
+ var _AlignmentHelper;
6
6
  const _excluded = ["icon", "iconAlt", "title", "subtitle", "infoMessage", "state", "skeleton"],
7
7
  _excluded2 = ["title"];
8
8
  import React from 'react';
@@ -15,6 +15,7 @@ import calendarIcon from '../../icons/calendar';
15
15
  import pinIcon from '../../icons/pin';
16
16
  import Context from '../../shared/Context';
17
17
  import { extendPropsWithContext } from '../../shared/component-helper';
18
+ import AlignmentHelper from '../../shared/AlignmentHelper';
18
19
  const defaultProps = {
19
20
  icon: null,
20
21
  iconAlt: null,
@@ -93,10 +94,9 @@ const TimelineItemIcon = ({
93
94
  const currentAltLabel = iconAlt || labels[state];
94
95
  return React.createElement("span", {
95
96
  className: "dnb-timeline__item__label__icon"
96
- }, _span || (_span = React.createElement("span", {
97
- key: "icon-alignment",
98
- "aria-hidden": true
99
- }, "\u200C")), !skeleton && currentIcon && React.createElement(IconPrimary, {
97
+ }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, {
98
+ pseudoElementOnly: true
99
+ })), !skeleton && currentIcon && React.createElement(IconPrimary, {
100
100
  icon: currentIcon,
101
101
  alt: currentAltLabel,
102
102
  size: state === 'current' ? undefined : 'small'
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineItem.js","names":["React","classnames","FormStatus","IconPrimary","createSkeletonClass","checkIcon","calendarIcon","pinIcon","Context","extendPropsWithContext","defaultProps","icon","iconAlt","title","subtitle","infoMessage","state","skeleton","TimelineItem","localProps","context","useContext","allProps","props","_objectWithoutProperties","_excluded","skeletonClasses","classes","createElement","_extends","className","undefined","TimelineItemLabel","translations","translation","TimelineItemContent","_ref","iconProps","_excluded2","TimelineItemIcon","TimelineItemTitle","alt_label_completed","alt_label_current","alt_label_upcoming","icons","completed","current","upcoming","labels","currentIcon","currentAltLabel","_span","key","alt","size","_TimelineItemSubtitle","renderSubtitles","Array","isArray","map","i","TimelineItemSubtitle","text","stretch"],"sources":["../../../../src/components/timeline/TimelineItem.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\n\n// Icons\nimport checkIcon from '../../icons/check'\nimport calendarIcon from '../../icons/calendar'\nimport pinIcon from '../../icons/pin'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nexport type TimeLineItemStates = 'completed' | 'current' | 'upcoming'\n\nexport type TimelineItemProps = {\n /**\n * Icon displaying on the left side.\n * Default: `check` for state `completed`, `pin` for state `current`, and `calendar` for state `upcoming` .\n */\n icon?: IconIcon\n\n /**\n * Text displaying the title of the item's corresponding page.\n * Default: translations based on the icon.\n */\n iconAlt?: string\n\n /**\n * Text displaying the title of the timeline item.\n */\n title: React.ReactNode\n\n /**\n * Text displaying the subtitle of the timeline item.\n */\n subtitle?: React.ReactNode | React.ReactNode[]\n\n /**\n * Text displaying info message of the timeline item.\n */\n infoMessage?: React.ReactNode\n\n /**\n * The component state. State 'completed', 'current' or 'upcoming'.\n * Default: null\n */\n state: TimeLineItemStates\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n}\n\nexport type TimelineItemAllProps = TimelineItemProps &\n Omit<React.AllHTMLAttributes<HTMLLIElement>, 'title' | 'name'>\n\nconst defaultProps = {\n icon: null,\n iconAlt: null,\n title: null,\n subtitle: null,\n infoMessage: null,\n state: null,\n skeleton: false,\n}\n\nconst TimelineItem = (localProps: TimelineItemAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.TimelineItem,\n { skeleton: context?.skeleton }\n )\n\n const {\n icon,\n iconAlt,\n title,\n subtitle,\n infoMessage,\n state,\n skeleton,\n ...props\n } = allProps\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const classes = classnames(\n 'dnb-timeline__item',\n skeletonClasses,\n `dnb-timeline__item--${state}`\n )\n\n return (\n <li\n className={classes}\n aria-current={state === 'current' ? 'step' : undefined}\n {...props}\n >\n <TimelineItemLabel\n state={state}\n title={title}\n icon={icon}\n iconAlt={iconAlt}\n skeleton={skeleton}\n translations={\n context.translation.TimelineItem as TimeLineIconAltTranslations\n }\n />\n <TimelineItemContent subtitle={subtitle} infoMessage={infoMessage} />\n </li>\n )\n}\n\n// Label\n\ntype TimelineItemLabelProps = TimeLineIconProps & TimelineItemTitleProps\n\nconst TimelineItemLabel = ({\n title,\n ...iconProps\n}: TimelineItemLabelProps) => {\n return (\n <span className=\"dnb-timeline__item__label\">\n <TimelineItemIcon {...iconProps} />\n <TimelineItemTitle title={title} />\n </span>\n )\n}\n\ntype TimeLineIconProps = Pick<\n TimelineItemProps,\n 'icon' | 'iconAlt' | 'state' | 'skeleton'\n> & { translations: TimeLineIconAltTranslations }\n\ntype TimeLineIconAltTranslations = {\n alt_label_completed: string\n alt_label_current: string\n alt_label_upcoming: string\n}\n\nconst TimelineItemIcon = ({\n icon,\n state,\n iconAlt,\n skeleton,\n translations,\n}: TimeLineIconProps) => {\n const { alt_label_completed, alt_label_current, alt_label_upcoming } =\n translations\n\n const icons: Record<TimeLineItemStates, IconIcon> = {\n completed: checkIcon,\n current: pinIcon,\n upcoming: calendarIcon,\n }\n\n const labels: Record<TimeLineItemStates, string> = {\n completed: alt_label_completed,\n current: alt_label_current,\n upcoming: alt_label_upcoming,\n }\n\n const currentIcon = icon || icons[state]\n const currentAltLabel = iconAlt || labels[state]\n\n return (\n <span className=\"dnb-timeline__item__label__icon\">\n <span key=\"icon-alignment\" aria-hidden>\n &zwnj;\n </span>\n {!skeleton && currentIcon && (\n <IconPrimary\n icon={currentIcon}\n alt={currentAltLabel}\n size={state === 'current' ? undefined : 'small'}\n />\n )}\n </span>\n )\n}\n\ntype TimelineItemTitleProps = Pick<TimelineItemProps, 'title'>\n\nconst TimelineItemTitle = ({ title }: TimelineItemTitleProps) => {\n return <span className=\"dnb-timeline__item__label__title\">{title}</span>\n}\n\n// Content\n\ntype TimeLineItemContentProps = Pick<\n TimelineItemProps,\n 'subtitle' | 'infoMessage'\n>\n\nconst TimelineItemContent = ({\n subtitle,\n infoMessage,\n}: TimeLineItemContentProps) => {\n const renderSubtitles = () => {\n if (!subtitle) {\n return null\n }\n\n if (Array.isArray(subtitle)) {\n return subtitle.map((subtitle, i) => (\n <TimelineItemSubtitle key={i} subtitle={subtitle} />\n ))\n }\n return <TimelineItemSubtitle subtitle={subtitle} />\n }\n\n return (\n <div className=\"dnb-timeline__item__content\">\n {renderSubtitles()}\n {infoMessage && (\n <FormStatus\n text={infoMessage}\n state=\"info\"\n className=\"dnb-timeline__item__content__info\"\n stretch\n />\n )}\n </div>\n )\n}\n\ntype TimelineItemSubtitleProps = {\n subtitle: React.ReactNode\n}\n\nconst TimelineItemSubtitle = ({ subtitle }: TimelineItemSubtitleProps) => (\n <div className=\"dnb-timeline__item__content__subtitle\">{subtitle}</div>\n)\n\nexport default TimelineItem\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TimelineItem.js","names":["React","classnames","FormStatus","IconPrimary","createSkeletonClass","checkIcon","calendarIcon","pinIcon","Context","extendPropsWithContext","AlignmentHelper","defaultProps","icon","iconAlt","title","subtitle","infoMessage","state","skeleton","TimelineItem","localProps","context","useContext","allProps","props","_objectWithoutProperties","_excluded","skeletonClasses","classes","createElement","_extends","className","undefined","TimelineItemLabel","translations","translation","TimelineItemContent","_ref","iconProps","_excluded2","TimelineItemIcon","TimelineItemTitle","alt_label_completed","alt_label_current","alt_label_upcoming","icons","completed","current","upcoming","labels","currentIcon","currentAltLabel","_AlignmentHelper","pseudoElementOnly","alt","size","_TimelineItemSubtitle","renderSubtitles","Array","isArray","map","i","TimelineItemSubtitle","key","text","stretch"],"sources":["../../../../src/components/timeline/TimelineItem.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\n\n// Icons\nimport checkIcon from '../../icons/check'\nimport calendarIcon from '../../icons/calendar'\nimport pinIcon from '../../icons/pin'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\n\nexport type TimeLineItemStates = 'completed' | 'current' | 'upcoming'\n\nexport type TimelineItemProps = {\n /**\n * Icon displaying on the left side.\n * Default: `check` for state `completed`, `pin` for state `current`, and `calendar` for state `upcoming` .\n */\n icon?: IconIcon\n\n /**\n * Text displaying the title of the item's corresponding page.\n * Default: translations based on the icon.\n */\n iconAlt?: string\n\n /**\n * Text displaying the title of the timeline item.\n */\n title: React.ReactNode\n\n /**\n * Text displaying the subtitle of the timeline item.\n */\n subtitle?: React.ReactNode | React.ReactNode[]\n\n /**\n * Text displaying info message of the timeline item.\n */\n infoMessage?: React.ReactNode\n\n /**\n * The component state. State 'completed', 'current' or 'upcoming'.\n * Default: null\n */\n state: TimeLineItemStates\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n}\n\nexport type TimelineItemAllProps = TimelineItemProps &\n Omit<React.AllHTMLAttributes<HTMLLIElement>, 'title' | 'name'>\n\nconst defaultProps = {\n icon: null,\n iconAlt: null,\n title: null,\n subtitle: null,\n infoMessage: null,\n state: null,\n skeleton: false,\n}\n\nconst TimelineItem = (localProps: TimelineItemAllProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.TimelineItem,\n { skeleton: context?.skeleton }\n )\n\n const {\n icon,\n iconAlt,\n title,\n subtitle,\n infoMessage,\n state,\n skeleton,\n ...props\n } = allProps\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const classes = classnames(\n 'dnb-timeline__item',\n skeletonClasses,\n `dnb-timeline__item--${state}`\n )\n\n return (\n <li\n className={classes}\n aria-current={state === 'current' ? 'step' : undefined}\n {...props}\n >\n <TimelineItemLabel\n state={state}\n title={title}\n icon={icon}\n iconAlt={iconAlt}\n skeleton={skeleton}\n translations={\n context.translation.TimelineItem as TimeLineIconAltTranslations\n }\n />\n <TimelineItemContent subtitle={subtitle} infoMessage={infoMessage} />\n </li>\n )\n}\n\n// Label\n\ntype TimelineItemLabelProps = TimeLineIconProps & TimelineItemTitleProps\n\nconst TimelineItemLabel = ({\n title,\n ...iconProps\n}: TimelineItemLabelProps) => {\n return (\n <span className=\"dnb-timeline__item__label\">\n <TimelineItemIcon {...iconProps} />\n <TimelineItemTitle title={title} />\n </span>\n )\n}\n\ntype TimeLineIconProps = Pick<\n TimelineItemProps,\n 'icon' | 'iconAlt' | 'state' | 'skeleton'\n> & { translations: TimeLineIconAltTranslations }\n\ntype TimeLineIconAltTranslations = {\n alt_label_completed: string\n alt_label_current: string\n alt_label_upcoming: string\n}\n\nconst TimelineItemIcon = ({\n icon,\n state,\n iconAlt,\n skeleton,\n translations,\n}: TimeLineIconProps) => {\n const { alt_label_completed, alt_label_current, alt_label_upcoming } =\n translations\n\n const icons: Record<TimeLineItemStates, IconIcon> = {\n completed: checkIcon,\n current: pinIcon,\n upcoming: calendarIcon,\n }\n\n const labels: Record<TimeLineItemStates, string> = {\n completed: alt_label_completed,\n current: alt_label_current,\n upcoming: alt_label_upcoming,\n }\n\n const currentIcon = icon || icons[state]\n const currentAltLabel = iconAlt || labels[state]\n\n return (\n <span className=\"dnb-timeline__item__label__icon\">\n <AlignmentHelper pseudoElementOnly />\n {!skeleton && currentIcon && (\n <IconPrimary\n icon={currentIcon}\n alt={currentAltLabel}\n size={state === 'current' ? undefined : 'small'}\n />\n )}\n </span>\n )\n}\n\ntype TimelineItemTitleProps = Pick<TimelineItemProps, 'title'>\n\nconst TimelineItemTitle = ({ title }: TimelineItemTitleProps) => {\n return <span className=\"dnb-timeline__item__label__title\">{title}</span>\n}\n\n// Content\n\ntype TimeLineItemContentProps = Pick<\n TimelineItemProps,\n 'subtitle' | 'infoMessage'\n>\n\nconst TimelineItemContent = ({\n subtitle,\n infoMessage,\n}: TimeLineItemContentProps) => {\n const renderSubtitles = () => {\n if (!subtitle) {\n return null\n }\n\n if (Array.isArray(subtitle)) {\n return subtitle.map((subtitle, i) => (\n <TimelineItemSubtitle key={i} subtitle={subtitle} />\n ))\n }\n return <TimelineItemSubtitle subtitle={subtitle} />\n }\n\n return (\n <div className=\"dnb-timeline__item__content\">\n {renderSubtitles()}\n {infoMessage && (\n <FormStatus\n text={infoMessage}\n state=\"info\"\n className=\"dnb-timeline__item__content__info\"\n stretch\n />\n )}\n </div>\n )\n}\n\ntype TimelineItemSubtitleProps = {\n subtitle: React.ReactNode\n}\n\nconst TimelineItemSubtitle = ({ subtitle }: TimelineItemSubtitleProps) => (\n <div className=\"dnb-timeline__item__content__subtitle\">{subtitle}</div>\n)\n\nexport default TimelineItem\n"],"mappings":"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","ignoreList":[]}
@@ -98,7 +98,7 @@ export interface ToggleButtonProps
98
98
  */
99
99
  icon_position?: ButtonIconPosition;
100
100
  /**
101
- * Define icon width and height. Defaults to 16px.
101
+ * Define icon width and height. Defaults to `16px`.
102
102
  */
103
103
  icon_size?: IconSize;
104
104
  attributes?: ToggleButtonAttributes;
@@ -36,7 +36,7 @@ export const ToggleButtonProperties = {
36
36
  status: 'optional'
37
37
  },
38
38
  icon_size: {
39
- doc: 'Define icon width and height. Defaults to 16px.',
39
+ doc: 'Define icon width and height. Defaults to `16px`.',
40
40
  type: 'string',
41
41
  status: 'optional'
42
42
  },
@@ -80,7 +80,7 @@ export const ToggleButtonProperties = {
80
80
  };
81
81
  export const ToggleButtonEvents = {
82
82
  on_change: {
83
- doc: 'will be called on state changes made by the user. Returns a boolean and string `{ checked, value, event }`',
83
+ doc: 'will be called on state changes made by the user. Returns a boolean and string `{ checked, value, event }`.',
84
84
  type: 'function',
85
85
  status: 'optional'
86
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButtonDocs.js","names":["ButtonProperties","ToggleButtonProperties","value","doc","type","status","text","checked","title","label","icon","icon_position","icon_size","tooltip","size","status_state","status_props","globalStatus","suffix","skeleton","ToggleButtonEvents","on_change"],"sources":["../../../../src/components/toggle-button/ToggleButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\nimport { ButtonProperties } from '../button/ButtonDocs'\n\nexport const ToggleButtonProperties: PropertiesTableProps = {\n value: {\n doc: 'Defines the `value` as a string. Use it to get the value during the `on_change` event listener callback in the **ToggleButtonGroup**.',\n type: 'string',\n status: 'required',\n },\n text: {\n doc: 'The text shown in the ToggleButton.',\n type: 'string',\n status: 'required',\n },\n checked: {\n doc: 'Determine whether the ToggleButton is checked or not. The default will be `false`.',\n type: 'boolean',\n status: 'optional',\n },\n title: {\n doc: 'The `title` of the input - describing it a bit further for accessibility reasons.',\n type: 'string',\n status: 'optional',\n },\n label: {\n doc: 'Use either the `label` property or provide a custom one.',\n type: 'string',\n status: 'optional',\n },\n icon: {\n doc: 'Icon to be included in the toggle button.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n icon_position: {\n doc: 'Position of the icon inside the toggle button. Set to `left` or `right`. Defaults to `right` if not set.',\n type: ['left', 'right'],\n status: 'optional',\n },\n icon_size: {\n doc: 'Define icon width and height. Defaults to 16px.',\n type: 'string',\n status: 'optional',\n },\n tooltip: ButtonProperties.tooltip,\n size: ButtonProperties.size,\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: ['error', 'info', 'boolean'],\n status: 'optional',\n },\n status_state: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: ['error', 'info'],\n status: 'optional',\n },\n status_props: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',\n type: 'object',\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the ToggleButton more than the label. You can also send in a React component, so it gets wrapped inside the ToggleButton component.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const ToggleButtonEvents: PropertiesTableProps = {\n on_change: {\n doc: 'will be called on state changes made by the user. Returns a boolean and string `{ checked, value, event }`',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AAEvD,OAAO,MAAMC,sBAA4C,GAAG;EAC1DC,KAAK,EAAE;IACLC,GAAG,EAAE,uIAAuI;IAC5IC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,qCAAqC;IAC1CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,oFAAoF;IACzFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,2CAA2C;IAChDC,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACnCC,MAAM,EAAE;EACV,CAAC;EACDM,aAAa,EAAE;IACbR,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvBC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,OAAO,EAAEb,gBAAgB,CAACa,OAAO;EACjCC,IAAI,EAAEd,gBAAgB,CAACc,IAAI;EAC3BT,MAAM,EAAE;IACNF,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;IAClCC,MAAM,EAAE;EACV,CAAC;EACDU,YAAY,EAAE;IACZZ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACvBC,MAAM,EAAE;EACV,CAAC;EACDW,YAAY,EAAE;IACZb,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDY,YAAY,EAAE;IACZd,GAAG,EAAE,4JAA4J;IACjKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,MAAM,EAAE;IACNf,GAAG,EAAE,oKAAoK;IACzKC,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACnCC,MAAM,EAAE;EACV,CAAC;EACDc,QAAQ,EAAE;IACRhB,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMe,kBAAwC,GAAG;EACtDC,SAAS,EAAE;IACTlB,GAAG,EAAE,4GAA4G;IACjHC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ToggleButtonDocs.js","names":["ButtonProperties","ToggleButtonProperties","value","doc","type","status","text","checked","title","label","icon","icon_position","icon_size","tooltip","size","status_state","status_props","globalStatus","suffix","skeleton","ToggleButtonEvents","on_change"],"sources":["../../../../src/components/toggle-button/ToggleButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\nimport { ButtonProperties } from '../button/ButtonDocs'\n\nexport const ToggleButtonProperties: PropertiesTableProps = {\n value: {\n doc: 'Defines the `value` as a string. Use it to get the value during the `on_change` event listener callback in the **ToggleButtonGroup**.',\n type: 'string',\n status: 'required',\n },\n text: {\n doc: 'The text shown in the ToggleButton.',\n type: 'string',\n status: 'required',\n },\n checked: {\n doc: 'Determine whether the ToggleButton is checked or not. The default will be `false`.',\n type: 'boolean',\n status: 'optional',\n },\n title: {\n doc: 'The `title` of the input - describing it a bit further for accessibility reasons.',\n type: 'string',\n status: 'optional',\n },\n label: {\n doc: 'Use either the `label` property or provide a custom one.',\n type: 'string',\n status: 'optional',\n },\n icon: {\n doc: 'Icon to be included in the toggle button.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n icon_position: {\n doc: 'Position of the icon inside the toggle button. Set to `left` or `right`. Defaults to `right` if not set.',\n type: ['left', 'right'],\n status: 'optional',\n },\n icon_size: {\n doc: 'Define icon width and height. Defaults to `16px`.',\n type: 'string',\n status: 'optional',\n },\n tooltip: ButtonProperties.tooltip,\n size: ButtonProperties.size,\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: ['error', 'info', 'boolean'],\n status: 'optional',\n },\n status_state: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: ['error', 'info'],\n status: 'optional',\n },\n status_props: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',\n type: 'object',\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the ToggleButton more than the label. You can also send in a React component, so it gets wrapped inside the ToggleButton component.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const ToggleButtonEvents: PropertiesTableProps = {\n on_change: {\n doc: 'will be called on state changes made by the user. Returns a boolean and string `{ checked, value, event }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AAEvD,OAAO,MAAMC,sBAA4C,GAAG;EAC1DC,KAAK,EAAE;IACLC,GAAG,EAAE,uIAAuI;IAC5IC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJH,GAAG,EAAE,qCAAqC;IAC1CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,oFAAoF;IACzFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,2CAA2C;IAChDC,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACnCC,MAAM,EAAE;EACV,CAAC;EACDM,aAAa,EAAE;IACbR,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvBC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,OAAO,EAAEb,gBAAgB,CAACa,OAAO;EACjCC,IAAI,EAAEd,gBAAgB,CAACc,IAAI;EAC3BT,MAAM,EAAE;IACNF,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;IAClCC,MAAM,EAAE;EACV,CAAC;EACDU,YAAY,EAAE;IACZZ,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACvBC,MAAM,EAAE;EACV,CAAC;EACDW,YAAY,EAAE;IACZb,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDY,YAAY,EAAE;IACZd,GAAG,EAAE,4JAA4J;IACjKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,MAAM,EAAE;IACNf,GAAG,EAAE,oKAAoK;IACzKC,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACnCC,MAAM,EAAE;EACV,CAAC;EACDc,QAAQ,EAAE;IACRhB,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMe,kBAAwC,GAAG;EACtDC,SAAS,EAAE;IACTlB,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
 
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
6
  var _UploadInfo, _UploadFileList;
@@ -104,7 +105,7 @@ const Upload = localProps => {
104
105
  }
105
106
  return validFiles;
106
107
  }, [acceptedFileTypes, errorLargeFile, errorUnsupportedFile, fileMaxSize, files, filesAmountLimit, getExistingFile, onChange, setFiles, setInternalFiles]);
107
- const UploadWrapper = disableDragAndDrop ? HeightAnimation : UploadDropzone;
108
+ const UploadWrapper = disableDragAndDrop || props.disabled ? HeightAnimation : UploadDropzone;
108
109
  return React.createElement(UploadContext.Provider, {
109
110
  value: _objectSpread(_objectSpread({}, extendedProps), {}, {
110
111
  id,
@@ -114,7 +115,9 @@ const Upload = localProps => {
114
115
  skeleton: skeleton
115
116
  }, React.createElement(UploadWrapper, {
116
117
  className: classnames('dnb-upload', spacingClasses, className)
117
- }, _UploadInfo || (_UploadInfo = React.createElement(UploadInfo, null)), React.createElement(UploadFileInput, props), _UploadFileList || (_UploadFileList = React.createElement(UploadFileList, null)))));
118
+ }, _UploadInfo || (_UploadInfo = React.createElement(UploadInfo, null)), React.createElement(UploadFileInput, _extends({
119
+ disabled: props.disabled
120
+ }, props)), _UploadFileList || (_UploadFileList = React.createElement(UploadFileList, null)))));
118
121
  };
119
122
  Upload.useUpload = useUpload;
120
123
  Upload._formElement = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","useId","HeightAnimation","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","idProp","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","onFileClick","download","allowDuplicates","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","disableDragAndDrop","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","filesToVerify","filter","verifiedFiles","validFiles","slice","UploadWrapper","createElement","value","_objectSpread","_UploadInfo","_UploadFileList","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport HeightAnimation from '../height-animation/HeightAnimation'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id: idProp,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n onFileClick, // eslint-disable-line\n download, // eslint-disable-line\n allowDuplicates,\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n disableDragAndDrop,\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const id = useId(idProp)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: Array<UploadFile>) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id =\n fileItem.exists && !allowDuplicates\n ? existingFile.id\n : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const filesToVerify = allowDuplicates\n ? mergedFiles\n : mergedFiles.filter(({ exists }) => !exists)\n\n const verifiedFiles = verifyFiles(filesToVerify, {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n })\n\n const validFiles = [...verifiedFiles].slice(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n const UploadWrapper = disableDragAndDrop\n ? HeightAnimation\n : UploadDropzone\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadWrapper\n className={classnames('dnb-upload', spacingClasses, className)}\n >\n <UploadInfo />\n\n <UploadFileInput {...props} />\n\n <UploadFileList />\n </UploadWrapper>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","useId","HeightAnimation","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","idProp","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","onFileClick","download","allowDuplicates","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","disableDragAndDrop","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","filesToVerify","filter","verifiedFiles","validFiles","slice","UploadWrapper","disabled","createElement","value","_objectSpread","_UploadInfo","_extends","_UploadFileList","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport HeightAnimation from '../height-animation/HeightAnimation'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id: idProp,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n onFileClick, // eslint-disable-line\n download, // eslint-disable-line\n allowDuplicates,\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n disableDragAndDrop,\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const id = useId(idProp)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: Array<UploadFile>) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id =\n fileItem.exists && !allowDuplicates\n ? existingFile.id\n : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const filesToVerify = allowDuplicates\n ? mergedFiles\n : mergedFiles.filter(({ exists }) => !exists)\n\n const verifiedFiles = verifyFiles(filesToVerify, {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n })\n\n const validFiles = [...verifiedFiles].slice(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n const UploadWrapper =\n disableDragAndDrop || props.disabled ? HeightAnimation : UploadDropzone\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadWrapper\n className={classnames('dnb-upload', spacingClasses, className)}\n >\n <UploadInfo />\n\n <UploadFileInput disabled={props.disabled} {...props} />\n\n <UploadFileList />\n </UploadWrapper>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- declare const UploadFileInput: ({ children, ...rest }: {
2
+ declare const UploadFileInput: ({ children, disabled, ...rest }: {
3
3
  children?: React.ReactNode;
4
+ disabled?: boolean;
4
5
  }) => import("react/jsx-runtime").JSX.Element;
5
6
  export default UploadFileInput;
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  var _UploadStatus;
6
- const _excluded = ["children"];
6
+ const _excluded = ["children", "disabled"];
7
7
  import React, { useRef } from 'react';
8
8
  import Button from '../button/Button';
9
9
  import { folder as FolderIcon } from '../../icons';
@@ -13,7 +13,8 @@ import UploadStatus from './UploadStatus';
13
13
  import { getAcceptedFileTypes } from './UploadVerify';
14
14
  const UploadFileInput = _ref => {
15
15
  let {
16
- children
16
+ children,
17
+ disabled
17
18
  } = _ref,
18
19
  rest = _objectWithoutProperties(_ref, _excluded);
19
20
  const fileInput = useRef(null);
@@ -41,7 +42,8 @@ const UploadFileInput = _ref => {
41
42
  icon_position: "left",
42
43
  variant: "secondary",
43
44
  wrap: true,
44
- onClick: openFileDialog
45
+ onClick: openFileDialog,
46
+ disabled: disabled
45
47
  }, buttonText), _UploadStatus || (_UploadStatus = React.createElement(UploadStatus, null)), React.createElement("input", _extends({
46
48
  "aria-labelledby": `${sharedId}-input`,
47
49
  ref: fileInput,
@@ -50,7 +52,8 @@ const UploadFileInput = _ref => {
50
52
  type: "file",
51
53
  onChange: onChangeHandler,
52
54
  onClick: onClickHandler,
53
- multiple: filesAmountLimit > 1
55
+ multiple: filesAmountLimit > 1,
56
+ disabled: disabled
54
57
  }, rest)));
55
58
  function onChangeHandler(event) {
56
59
  const target = event.target;
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFileInput.js","names":["React","useRef","Button","folder","FolderIcon","makeUniqueId","UploadContext","UploadStatus","getAcceptedFileTypes","UploadFileInput","_ref","children","rest","_objectWithoutProperties","_excluded","fileInput","context","useContext","id","acceptedFileTypes","buttonText","onInputUpload","filesAmountLimit","openFileDialog","_fileInput$current","current","click","sharedId","accept","createElement","className","top","icon","icon_position","variant","wrap","onClick","_UploadStatus","_extends","ref","type","onChange","onChangeHandler","onClickHandler","multiple","event","target","files","Array","from","map","file","value"],"sources":["../../../../src/components/upload/UploadFileInput.tsx"],"sourcesContent":["import React, { useRef } from 'react'\n\n// Components\nimport Button from '../button/Button'\n\n// Icons\nimport { folder as FolderIcon } from '../../icons'\n\n// Shared\nimport { makeUniqueId } from '../../shared/component-helper'\n\n// Internal\nimport { UploadContext } from './UploadContext'\nimport UploadStatus from './UploadStatus'\nimport { getAcceptedFileTypes } from './UploadVerify'\n\nconst UploadFileInput = ({\n children,\n ...rest\n}: {\n children?: React.ReactNode\n}) => {\n const fileInput = useRef<HTMLInputElement>(null)\n\n const context = React.useContext(UploadContext)\n\n const {\n id,\n acceptedFileTypes,\n buttonText,\n onInputUpload,\n filesAmountLimit,\n } = context\n\n const openFileDialog = () => fileInput.current?.click()\n\n const sharedId = id || makeUniqueId()\n const accept = getAcceptedFileTypes(acceptedFileTypes)\n\n return (\n <div className=\"dnb-upload__file-input-area\">\n <Button\n top=\"medium\"\n id={`${sharedId}-input`}\n className=\"dnb-upload__file-input-button\"\n icon={FolderIcon}\n icon_position=\"left\"\n variant=\"secondary\"\n wrap\n onClick={openFileDialog}\n >\n {buttonText}\n </Button>\n\n <UploadStatus />\n\n <input\n aria-labelledby={`${sharedId}-input`}\n ref={fileInput}\n accept={accept}\n className=\"dnb-upload__file-input\"\n type=\"file\"\n onChange={onChangeHandler}\n onClick={onClickHandler}\n multiple={filesAmountLimit > 1}\n {...rest}\n />\n </div>\n )\n\n function onChangeHandler(event: React.SyntheticEvent) {\n const target = event.target as HTMLInputElement\n const { files } = target\n\n onInputUpload(\n Array.from(files).map((file) => {\n return { file }\n })\n )\n }\n\n function onClickHandler(event: React.SyntheticEvent) {\n const target = event.target as HTMLInputElement\n\n /**\n * This resets the internal state.\n * Some browsers (chromium) to check for already selected files.\n * But we have our own logic for that.\n * We also align the UX to be the same to all browsers,\n * and to be same when the drag file API is used.\n */\n target.value = null\n }\n}\n\nexport default UploadFileInput\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAGrC,OAAOC,MAAM,MAAM,kBAAkB;AAGrC,SAASC,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAGlD,SAASC,YAAY,QAAQ,+BAA+B;AAG5D,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,oBAAoB,QAAQ,gBAAgB;AAErD,MAAMC,eAAe,GAAGC,IAAA,IAKlB;EAAA,IALmB;MACvBC;IAIF,CAAC,GAAAD,IAAA;IAHIE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAIP,MAAMC,SAAS,GAAGd,MAAM,CAAmB,IAAI,CAAC;EAEhD,MAAMe,OAAO,GAAGhB,KAAK,CAACiB,UAAU,CAACX,aAAa,CAAC;EAE/C,MAAM;IACJY,EAAE;IACFC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC;EACF,CAAC,GAAGN,OAAO;EAEX,MAAMO,cAAc,GAAGA,CAAA;IAAA,IAAAC,kBAAA;IAAA,QAAAA,kBAAA,GAAMT,SAAS,CAACU,OAAO,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBE,KAAK,CAAC,CAAC;EAAA;EAEvD,MAAMC,QAAQ,GAAGT,EAAE,IAAIb,YAAY,CAAC,CAAC;EACrC,MAAMuB,MAAM,GAAGpB,oBAAoB,CAACW,iBAAiB,CAAC;EAEtD,OACEnB,KAAA,CAAA6B,aAAA;IAAKC,SAAS,EAAC;EAA6B,GAC1C9B,KAAA,CAAA6B,aAAA,CAAC3B,MAAM;IACL6B,GAAG,EAAC,QAAQ;IACZb,EAAE,EAAE,GAAGS,QAAQ,QAAS;IACxBG,SAAS,EAAC,+BAA+B;IACzCE,IAAI,EAAE5B,UAAW;IACjB6B,aAAa,EAAC,MAAM;IACpBC,OAAO,EAAC,WAAW;IACnBC,IAAI;IACJC,OAAO,EAAEb;EAAe,GAEvBH,UACK,CAAC,EAAAiB,aAAA,KAAAA,aAAA,GAETrC,KAAA,CAAA6B,aAAA,CAACtB,YAAY,MAAE,CAAC,GAEhBP,KAAA,CAAA6B,aAAA,UAAAS,QAAA;IACE,mBAAiB,GAAGX,QAAQ,QAAS;IACrCY,GAAG,EAAExB,SAAU;IACfa,MAAM,EAAEA,MAAO;IACfE,SAAS,EAAC,wBAAwB;IAClCU,IAAI,EAAC,MAAM;IACXC,QAAQ,EAAEC,eAAgB;IAC1BN,OAAO,EAAEO,cAAe;IACxBC,QAAQ,EAAEtB,gBAAgB,GAAG;EAAE,GAC3BV,IAAI,CACT,CACE,CAAC;EAGR,SAAS8B,eAAeA,CAACG,KAA2B,EAAE;IACpD,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAA0B;IAC/C,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IAExBzB,aAAa,CACX2B,KAAK,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,GAAG,CAAEC,IAAI,IAAK;MAC9B,OAAO;QAAEA;MAAK,CAAC;IACjB,CAAC,CACH,CAAC;EACH;EAEA,SAASR,cAAcA,CAACE,KAA2B,EAAE;IACnD,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAA0B;IAS/CA,MAAM,CAACM,KAAK,GAAG,IAAI;EACrB;AACF,CAAC;AAED,eAAe3C,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"UploadFileInput.js","names":["React","useRef","Button","folder","FolderIcon","makeUniqueId","UploadContext","UploadStatus","getAcceptedFileTypes","UploadFileInput","_ref","children","disabled","rest","_objectWithoutProperties","_excluded","fileInput","context","useContext","id","acceptedFileTypes","buttonText","onInputUpload","filesAmountLimit","openFileDialog","_fileInput$current","current","click","sharedId","accept","createElement","className","top","icon","icon_position","variant","wrap","onClick","_UploadStatus","_extends","ref","type","onChange","onChangeHandler","onClickHandler","multiple","event","target","files","Array","from","map","file","value"],"sources":["../../../../src/components/upload/UploadFileInput.tsx"],"sourcesContent":["import React, { useRef } from 'react'\n\n// Components\nimport Button from '../button/Button'\n\n// Icons\nimport { folder as FolderIcon } from '../../icons'\n\n// Shared\nimport { makeUniqueId } from '../../shared/component-helper'\n\n// Internal\nimport { UploadContext } from './UploadContext'\nimport UploadStatus from './UploadStatus'\nimport { getAcceptedFileTypes } from './UploadVerify'\n\nconst UploadFileInput = ({\n children,\n disabled,\n ...rest\n}: {\n children?: React.ReactNode\n disabled?: boolean\n}) => {\n const fileInput = useRef<HTMLInputElement>(null)\n\n const context = React.useContext(UploadContext)\n\n const {\n id,\n acceptedFileTypes,\n buttonText,\n onInputUpload,\n filesAmountLimit,\n } = context\n\n const openFileDialog = () => fileInput.current?.click()\n\n const sharedId = id || makeUniqueId()\n const accept = getAcceptedFileTypes(acceptedFileTypes)\n\n return (\n <div className=\"dnb-upload__file-input-area\">\n <Button\n top=\"medium\"\n id={`${sharedId}-input`}\n className=\"dnb-upload__file-input-button\"\n icon={FolderIcon}\n icon_position=\"left\"\n variant=\"secondary\"\n wrap\n onClick={openFileDialog}\n disabled={disabled}\n >\n {buttonText}\n </Button>\n\n <UploadStatus />\n\n <input\n aria-labelledby={`${sharedId}-input`}\n ref={fileInput}\n accept={accept}\n className=\"dnb-upload__file-input\"\n type=\"file\"\n onChange={onChangeHandler}\n onClick={onClickHandler}\n multiple={filesAmountLimit > 1}\n disabled={disabled}\n {...rest}\n />\n </div>\n )\n\n function onChangeHandler(event: React.SyntheticEvent) {\n const target = event.target as HTMLInputElement\n const { files } = target\n\n onInputUpload(\n Array.from(files).map((file) => {\n return { file }\n })\n )\n }\n\n function onClickHandler(event: React.SyntheticEvent) {\n const target = event.target as HTMLInputElement\n\n /**\n * This resets the internal state.\n * Some browsers (chromium) to check for already selected files.\n * But we have our own logic for that.\n * We also align the UX to be the same to all browsers,\n * and to be same when the drag file API is used.\n */\n target.value = null\n }\n}\n\nexport default UploadFileInput\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAGrC,OAAOC,MAAM,MAAM,kBAAkB;AAGrC,SAASC,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAGlD,SAASC,YAAY,QAAQ,+BAA+B;AAG5D,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,oBAAoB,QAAQ,gBAAgB;AAErD,MAAMC,eAAe,GAAGC,IAAA,IAOlB;EAAA,IAPmB;MACvBC,QAAQ;MACRC;IAKF,CAAC,GAAAF,IAAA;IAJIG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAKP,MAAMC,SAAS,GAAGf,MAAM,CAAmB,IAAI,CAAC;EAEhD,MAAMgB,OAAO,GAAGjB,KAAK,CAACkB,UAAU,CAACZ,aAAa,CAAC;EAE/C,MAAM;IACJa,EAAE;IACFC,iBAAiB;IACjBC,UAAU;IACVC,aAAa;IACbC;EACF,CAAC,GAAGN,OAAO;EAEX,MAAMO,cAAc,GAAGA,CAAA;IAAA,IAAAC,kBAAA;IAAA,QAAAA,kBAAA,GAAMT,SAAS,CAACU,OAAO,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBE,KAAK,CAAC,CAAC;EAAA;EAEvD,MAAMC,QAAQ,GAAGT,EAAE,IAAId,YAAY,CAAC,CAAC;EACrC,MAAMwB,MAAM,GAAGrB,oBAAoB,CAACY,iBAAiB,CAAC;EAEtD,OACEpB,KAAA,CAAA8B,aAAA;IAAKC,SAAS,EAAC;EAA6B,GAC1C/B,KAAA,CAAA8B,aAAA,CAAC5B,MAAM;IACL8B,GAAG,EAAC,QAAQ;IACZb,EAAE,EAAE,GAAGS,QAAQ,QAAS;IACxBG,SAAS,EAAC,+BAA+B;IACzCE,IAAI,EAAE7B,UAAW;IACjB8B,aAAa,EAAC,MAAM;IACpBC,OAAO,EAAC,WAAW;IACnBC,IAAI;IACJC,OAAO,EAAEb,cAAe;IACxBZ,QAAQ,EAAEA;EAAS,GAElBS,UACK,CAAC,EAAAiB,aAAA,KAAAA,aAAA,GAETtC,KAAA,CAAA8B,aAAA,CAACvB,YAAY,MAAE,CAAC,GAEhBP,KAAA,CAAA8B,aAAA,UAAAS,QAAA;IACE,mBAAiB,GAAGX,QAAQ,QAAS;IACrCY,GAAG,EAAExB,SAAU;IACfa,MAAM,EAAEA,MAAO;IACfE,SAAS,EAAC,wBAAwB;IAClCU,IAAI,EAAC,MAAM;IACXC,QAAQ,EAAEC,eAAgB;IAC1BN,OAAO,EAAEO,cAAe;IACxBC,QAAQ,EAAEtB,gBAAgB,GAAG,CAAE;IAC/BX,QAAQ,EAAEA;EAAS,GACfC,IAAI,CACT,CACE,CAAC;EAGR,SAAS8B,eAAeA,CAACG,KAA2B,EAAE;IACpD,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAA0B;IAC/C,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IAExBzB,aAAa,CACX2B,KAAK,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,GAAG,CAAEC,IAAI,IAAK;MAC9B,OAAO;QAAEA;MAAK,CAAC;IACjB,CAAC,CACH,CAAC;EACH;EAEA,SAASR,cAAcA,CAACE,KAA2B,EAAE;IACnD,MAAMC,MAAM,GAAGD,KAAK,CAACC,MAA0B;IAS/CA,MAAM,CAACM,KAAK,GAAG,IAAI;EACrB;AACF,CAAC;AAED,eAAe5C,eAAe","ignoreList":[]}
@@ -124,7 +124,6 @@
124
124
  }
125
125
  .dnb-upload__accepted-file-types-table.dnb-table {
126
126
  width: -webkit-fit-content;
127
- width: -moz-fit-content;
128
127
  width: fit-content;
129
128
  }
130
129
  .dnb-upload__accepted-file-types-table.dnb-table thead th {
@@ -1 +1 @@
1
- .dnb-upload{--upload-background:#fff;--upload-background--active:#d3d3d3;--upload-border:gray;--upload-border--active:#000;--upload-border-width:2px;--upload-list-border:#000;--upload-icon--default:#000;--upload-icon--warning:red;--upload-highlight:#ffffe0;--upload-text--primary:#000;--upload-text--secondary:#000;background-color:var(--upload-background);border-radius:.5rem;display:flex;flex-direction:column;flex-grow:1;padding:var(--spacing-medium);position:relative}@media screen and (max-width:40em){.dnb-upload{padding:var(--spacing-medium) var(--spacing-small)}}.dnb-upload__outline{stroke:var(--upload-border);stroke-width:.1875rem;border-radius:.5rem;bottom:0;content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0;width:100%}.dnb-upload--active .dnb-upload__outline{stroke:var(--upload-border--active);bottom:-1px;height:calc(100% + var(--upload-border-width));left:-1px;right:-1px;top:-1px;width:calc(100% + var(--upload-border-width))}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:var(--upload-background--active)}.dnb-upload__file-input{position:absolute;visibility:hidden}.dnb-upload__file-list{list-style:none;margin-bottom:0;margin-top:var(--spacing-medium);padding:0;position:relative}.dnb-upload__file-cell:after,.dnb-upload__file-list:before{background-color:var(--upload-list-border);bottom:0;content:"";height:1px;left:0;position:absolute;right:0;top:0}.dnb-upload__file-cell{padding:var(--spacing-small) 0;position:relative;transition:background-color;transition-duration:1.5s;transition-timing-function:var(--easing-default)}.dnb-upload__file-cell:after{top:auto}.dnb-upload__file-cell__content{justify-content:space-between}.dnb-upload__file-cell__content,.dnb-upload__file-cell__content__left{align-items:center;column-gap:var(--spacing-small);display:flex}.dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--warning)}.dnb-upload__file-cell--highlight{background-color:var(--upload-highlight)}.dnb-upload__file-cell__text-container{display:flex;flex-direction:column}.dnb-upload__file-cell__text-container--loading{font-size:var(--font-size-basis)}.dnb-upload__text.dnb-p{color:var(--upload-text--secondary)}.dnb-upload__accepted-file-types-table.dnb-table{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.dnb-upload__accepted-file-types-table.dnb-table thead th{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium);padding-top:0}.dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child,.dnb-upload__accepted-file-types-table.dnb-table thead th:first-child{padding-left:0}.dnb-upload__subtitle.dnb-p{color:var(--upload-text--secondary)}
1
+ .dnb-upload{--upload-background:#fff;--upload-background--active:#d3d3d3;--upload-border:gray;--upload-border--active:#000;--upload-border-width:2px;--upload-list-border:#000;--upload-icon--default:#000;--upload-icon--warning:red;--upload-highlight:#ffffe0;--upload-text--primary:#000;--upload-text--secondary:#000;background-color:var(--upload-background);border-radius:.5rem;display:flex;flex-direction:column;flex-grow:1;padding:var(--spacing-medium);position:relative}@media screen and (max-width:40em){.dnb-upload{padding:var(--spacing-medium) var(--spacing-small)}}.dnb-upload__outline{stroke:var(--upload-border);stroke-width:.1875rem;border-radius:.5rem;bottom:0;content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0;width:100%}.dnb-upload--active .dnb-upload__outline{stroke:var(--upload-border--active);bottom:-1px;height:calc(100% + var(--upload-border-width));left:-1px;right:-1px;top:-1px;width:calc(100% + var(--upload-border-width))}.dnb-upload--active .dnb-upload__outline rect{stroke-width:.25rem;stroke-dasharray:0}.dnb-upload--active{background-color:var(--upload-background--active)}.dnb-upload__file-input{position:absolute;visibility:hidden}.dnb-upload__file-list{list-style:none;margin-bottom:0;margin-top:var(--spacing-medium);padding:0;position:relative}.dnb-upload__file-cell:after,.dnb-upload__file-list:before{background-color:var(--upload-list-border);bottom:0;content:"";height:1px;left:0;position:absolute;right:0;top:0}.dnb-upload__file-cell{padding:var(--spacing-small) 0;position:relative;transition:background-color;transition-duration:1.5s;transition-timing-function:var(--easing-default)}.dnb-upload__file-cell:after{top:auto}.dnb-upload__file-cell__content{justify-content:space-between}.dnb-upload__file-cell__content,.dnb-upload__file-cell__content__left{align-items:center;column-gap:var(--spacing-small);display:flex}.dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--default)}.dnb-upload__file-cell--warning .dnb-upload__file-cell__content__left .dnb-icon{color:var(--upload-icon--warning)}.dnb-upload__file-cell--highlight{background-color:var(--upload-highlight)}.dnb-upload__file-cell__text-container{display:flex;flex-direction:column}.dnb-upload__file-cell__text-container--loading{font-size:var(--font-size-basis)}.dnb-upload__text.dnb-p{color:var(--upload-text--secondary)}.dnb-upload__accepted-file-types-table.dnb-table{width:-webkit-fit-content;width:fit-content}.dnb-upload__accepted-file-types-table.dnb-table thead th{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium);padding-top:0}.dnb-upload__accepted-file-types-table.dnb-table tbody td:first-child,.dnb-upload__accepted-file-types-table.dnb-table thead th:first-child{padding-left:0}.dnb-upload__subtitle.dnb-p{color:var(--upload-text--secondary)}
@@ -51,3 +51,9 @@ html {
51
51
  gatsby-qod {
52
52
  opacity: 0;
53
53
  }
54
+
55
+ [data-visual-test].hide-page-content
56
+ div.eufemia-theme:not(.dnb-modal__content) {
57
+ /* NB: visibility: hidden; does not work here, because puppeteer does not find the selectors anymore */
58
+ opacity: 0;
59
+ }
@@ -13,7 +13,7 @@ export type MountState = {
13
13
  };
14
14
  export type EventListenerCall = {
15
15
  path?: Path;
16
- type?: 'onSubmit' | 'onBeforeSubmit' | 'onSubmitCall' | 'onSubmitRequest' | 'onBeforeCommit' | 'onPathChange' | 'onMount';
16
+ type?: 'onSubmit' | 'onBeforeSubmit' | 'onSubmitCall' | 'onSubmitRequest' | 'onBeforeCommit' | 'onPathChange' | 'onMount' | 'onSetFieldError';
17
17
  callback: (params?: {
18
18
  value: unknown;
19
19
  } | {
@@ -84,7 +84,9 @@ export interface ContextState {
84
84
  updateDataValue: (path: Path, value: any, options?: {
85
85
  preventUpdate?: boolean;
86
86
  }) => void;
87
- setData: (data: any) => void;
87
+ setData: (data: any, options?: {
88
+ preventUpdate?: boolean;
89
+ }) => void;
88
90
  clearData?: () => void;
89
91
  mutateDataHandler?: MutateDataHandler<unknown>;
90
92
  filterDataHandler?: FilterDataHandler<unknown>;
@@ -133,6 +135,7 @@ export interface ContextState {
133
135
  existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>;
134
136
  formElementRef?: React.MutableRefObject<HTMLFormElement>;
135
137
  fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>;
138
+ errorsRef?: React.MutableRefObject<Record<Path, Error>>;
136
139
  showAllErrors: boolean | number;
137
140
  hasVisibleError: boolean;
138
141
  formState: SubmitState;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","contextErrorMessages","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n CountryCode,\n Identifier,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?:\n | 'onSubmit'\n | 'onBeforeSubmit'\n | 'onSubmitCall'\n | 'onSubmitRequest'\n | 'onBeforeCommit'\n | 'onPathChange'\n | 'onMount'\n callback: (\n params?: { value: unknown } | { preventSubmit: () => void }\n ) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters = DataPathHandlerParameters & {\n path: Path\n}\nexport type DataPathHandler<Data = unknown> = (\n parameters: DataPathHandlerParameters<Data>\n) => boolean | undefined\nexport type DataPathHandlerParameters<Data = unknown> = {\n path: Path\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n error: Error | undefined\n\n /**\n * Used in the \"filterData\" given by the \"useData\" hook.\n */\n data: Data\n\n /** @deprecated – can be removed in v11 */\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n DataPathHandler<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsValue<Props = FieldInternalsRefProps> = {\n id?: Identifier\n props?: Props\n}\nexport type FieldInternalsRef = Record<Path, FieldInternalsValue>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback'],\n params?: { remove?: boolean }\n ) => void\n revealError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: <Props>(\n path: Path,\n internals: FieldInternalsValue<Props>\n ) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Map<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n countryCode?: CountryCode\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAqCC,eAAe,QAAQ,UAAU;AA+NtE,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAEzB,eAAe,CAAC,CAAC;EAC9B0B,oBAAoB,EAAEtB,SAAS;EAC/BuB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,aAAa,CAAe5B,mBAAmB,CAAC;AAEtE,eAAe2B,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","contextErrorMessages","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n CountryCode,\n Identifier,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?:\n | 'onSubmit'\n | 'onBeforeSubmit'\n | 'onSubmitCall'\n | 'onSubmitRequest'\n | 'onBeforeCommit'\n | 'onPathChange'\n | 'onMount'\n | 'onSetFieldError'\n callback: (\n params?: { value: unknown } | { preventSubmit: () => void }\n ) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters = DataPathHandlerParameters & {\n path: Path\n}\nexport type DataPathHandler<Data = unknown> = (\n parameters: DataPathHandlerParameters<Data>\n) => boolean | undefined\nexport type DataPathHandlerParameters<Data = unknown> = {\n path: Path\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n error: Error | undefined\n\n /**\n * Used in the \"filterData\" given by the \"useData\" hook.\n */\n data: Data\n\n /** @deprecated – can be removed in v11 */\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n DataPathHandler<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsValue<Props = FieldInternalsRefProps> = {\n id?: Identifier\n props?: Props\n}\nexport type FieldInternalsRef = Record<Path, FieldInternalsValue>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any, options?: { preventUpdate?: boolean }) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback'],\n params?: { remove?: boolean }\n ) => void\n revealError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: <Props>(\n path: Path,\n internals: FieldInternalsValue<Props>\n ) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Map<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n errorsRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n countryCode?: CountryCode\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAqCC,eAAe,QAAQ,UAAU;AAiOtE,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAEzB,eAAe,CAAC,CAAC;EAC9B0B,oBAAoB,EAAEtB,SAAS;EAC/BuB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,aAAa,CAAe5B,mBAAmB,CAAC;AAEtE,eAAe2B,OAAO","ignoreList":[]}
@@ -154,7 +154,20 @@ export default function Provider(props) {
154
154
  return hasFieldState('error');
155
155
  }, [hasFieldState]);
156
156
  const setFieldError = useCallback((path, error) => {
157
- fieldErrorRef.current[path] = error;
157
+ if (error) {
158
+ fieldErrorRef.current[path] = error;
159
+ } else {
160
+ delete fieldErrorRef.current[path];
161
+ }
162
+ for (const item of fieldEventListenersRef.current) {
163
+ const {
164
+ type,
165
+ callback
166
+ } = item;
167
+ if (type === 'onSetFieldError') {
168
+ callback();
169
+ }
170
+ }
158
171
  }, []);
159
172
  const setFieldState = useCallback((path, fieldState) => {
160
173
  if (fieldState !== fieldStateRef.current[path]) {
@@ -397,7 +410,9 @@ export default function Provider(props) {
397
410
  (_window$sessionStorag2 = window.sessionStorage) === null || _window$sessionStorag2 === void 0 ? void 0 : _window$sessionStorag2.setItem(sessionStorageId, JSON.stringify(internalDataRef.current));
398
411
  }, process.env.NODE_ENV === 'test' ? 1 : 800);
399
412
  }, [sessionStorageId]);
400
- const setData = useCallback((newData, preventUpdate = false) => {
413
+ const setData = useCallback((newData, {
414
+ preventUpdate = false
415
+ } = {}) => {
401
416
  if (transformIn) {
402
417
  newData = mutateDataHandler(newData, transformIn);
403
418
  }
@@ -434,7 +449,9 @@ export default function Provider(props) {
434
449
  if (path !== '/') {
435
450
  pointer.set(newData, path, value);
436
451
  }
437
- setData(newData, preventUpdate);
452
+ setData(newData, {
453
+ preventUpdate
454
+ });
438
455
  onUpdateDataValue === null || onUpdateDataValue === void 0 ? void 0 : onUpdateDataValue(path, value, {
439
456
  preventUpdate
440
457
  });
@@ -744,7 +761,7 @@ export default function Provider(props) {
744
761
  (_onSubmitContinueRef$ = onSubmitContinueRef.current) === null || _onSubmitContinueRef$ === void 0 ? void 0 : _onSubmitContinueRef$.call(onSubmitContinueRef);
745
762
  onSubmitContinueRef.current = null;
746
763
  }
747
- useEffect(() => {
764
+ useLayoutEffect(() => {
748
765
  if (schema) {
749
766
  var _ajvRef$current;
750
767
  ajvValidatorRef.current = (_ajvRef$current = ajvRef.current) === null || _ajvRef$current === void 0 ? void 0 : _ajvRef$current.compile(schema);
@@ -869,6 +886,7 @@ export default function Provider(props) {
869
886
  formElementRef,
870
887
  isEmptyDataRef,
871
888
  fieldErrorRef,
889
+ errorsRef,
872
890
  ajvInstance: ajvRef.current,
873
891
  countryCode: countryCode ? getSourceValue(countryCode) : undefined,
874
892
  id,