@dnb/eufemia 10.19.0 → 10.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/accordion/AccordionContent.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  4. package/cjs/components/accordion/style/dnb-accordion.css +0 -3
  5. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  7. package/cjs/components/breadcrumb/Breadcrumb.js +11 -2
  8. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  9. package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -8
  10. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  11. package/cjs/components/card/Card.d.ts +6 -4
  12. package/cjs/components/card/Card.js +11 -15
  13. package/cjs/components/card/Card.js.map +1 -1
  14. package/cjs/components/card/style/dnb-card.css +29 -0
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +41 -0
  17. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  18. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  19. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  20. package/cjs/components/date-picker/DatePickerProvider.js +10 -10
  21. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  22. package/cjs/components/flex/Container.js +1 -1
  23. package/cjs/components/flex/Container.js.map +1 -1
  24. package/cjs/components/flex/Item.js +8 -13
  25. package/cjs/components/flex/Item.js.map +1 -1
  26. package/cjs/components/flex/style/dnb-flex.css +3 -0
  27. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  28. package/cjs/components/flex/style/flex-container.scss +3 -0
  29. package/cjs/components/flex/utils.d.ts +35 -7
  30. package/cjs/components/flex/utils.js +65 -33
  31. package/cjs/components/flex/utils.js.map +1 -1
  32. package/cjs/components/form-status/FormStatus.d.ts +5 -1
  33. package/cjs/components/form-status/FormStatus.js +38 -44
  34. package/cjs/components/form-status/FormStatus.js.map +1 -1
  35. package/cjs/components/form-status/style/dnb-form-status.css +0 -18
  36. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  37. package/cjs/components/form-status/style/dnb-form-status.scss +0 -45
  38. package/cjs/components/global-status/GlobalStatus.js +52 -138
  39. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  40. package/cjs/components/global-status/style/dnb-global-status.css +6 -16
  41. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  42. package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
  43. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  44. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  45. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  46. package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
  47. package/cjs/components/height-animation/HeightAnimation.js +31 -14
  48. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  49. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  50. package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
  51. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  52. package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
  53. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  54. package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
  55. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  56. package/cjs/components/height-animation/useHeightAnimation.js +125 -92
  57. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  58. package/cjs/components/number-format/NumberFormat.d.ts +7 -12
  59. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
  60. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  61. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
  62. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  63. package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
  64. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  65. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  66. package/cjs/components/table/TableAccordionContent.js +51 -23
  67. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  68. package/cjs/components/table/style/dnb-table.css +6 -3
  69. package/cjs/components/table/style/dnb-table.min.css +1 -1
  70. package/cjs/components/table/style/table-accordion.scss +6 -3
  71. package/cjs/components/tabs/Tabs.js +2 -1
  72. package/cjs/components/tabs/Tabs.js.map +1 -1
  73. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
  74. package/cjs/components/tabs/TabsContentWrapper.js +8 -6
  75. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  76. package/cjs/components/upload/Upload.js +15 -18
  77. package/cjs/components/upload/Upload.js.map +1 -1
  78. package/cjs/components/upload/UploadFileInput.js +3 -1
  79. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  80. package/cjs/components/upload/UploadFileList.js +1 -1
  81. package/cjs/components/upload/UploadFileList.js.map +1 -1
  82. package/cjs/components/upload/UploadStatus.js +6 -2
  83. package/cjs/components/upload/UploadStatus.js.map +1 -1
  84. package/cjs/components/upload/useUpload.js +5 -6
  85. package/cjs/components/upload/useUpload.js.map +1 -1
  86. package/cjs/elements/lib.d.ts +6 -0
  87. package/cjs/elements/typography/H1.d.ts +1 -0
  88. package/cjs/elements/typography/H1.js +1 -1
  89. package/cjs/elements/typography/H1.js.map +1 -1
  90. package/cjs/elements/typography/H2.d.ts +1 -0
  91. package/cjs/elements/typography/H2.js +1 -1
  92. package/cjs/elements/typography/H2.js.map +1 -1
  93. package/cjs/elements/typography/H3.d.ts +1 -0
  94. package/cjs/elements/typography/H3.js +1 -1
  95. package/cjs/elements/typography/H3.js.map +1 -1
  96. package/cjs/elements/typography/H4.d.ts +1 -0
  97. package/cjs/elements/typography/H4.js +1 -1
  98. package/cjs/elements/typography/H4.js.map +1 -1
  99. package/cjs/elements/typography/H5.d.ts +1 -0
  100. package/cjs/elements/typography/H5.js +1 -1
  101. package/cjs/elements/typography/H5.js.map +1 -1
  102. package/cjs/elements/typography/H6.d.ts +1 -0
  103. package/cjs/elements/typography/H6.js +1 -1
  104. package/cjs/elements/typography/H6.js.map +1 -1
  105. package/cjs/extensions/forms/DataContext/Context.d.ts +18 -5
  106. package/cjs/extensions/forms/DataContext/Context.js +9 -0
  107. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  108. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  109. package/cjs/extensions/forms/DataContext/Provider/Provider.js +127 -57
  110. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  111. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  112. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  113. package/cjs/extensions/forms/Field/Date/Date.js +4 -3
  114. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Email/Email.js +3 -2
  116. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  118. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  119. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  120. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -4
  122. package/cjs/extensions/forms/Field/Number/Number.js +14 -15
  123. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  124. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  125. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  127. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  129. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  130. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  131. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  132. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  133. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/String/String.js +5 -3
  135. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  136. package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -2
  137. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  138. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  139. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  140. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  141. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  142. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  143. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  144. package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
  145. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  146. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  147. package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
  148. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  149. package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
  150. package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
  151. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
  152. package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
  153. package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
  154. package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
  155. package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
  156. package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
  157. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
  158. package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
  159. package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
  160. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
  161. package/cjs/extensions/forms/Form/index.d.ts +4 -1
  162. package/cjs/extensions/forms/Form/index.js +22 -1
  163. package/cjs/extensions/forms/Form/index.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  165. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  166. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  167. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
  168. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  169. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  170. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  171. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  172. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -3
  173. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
  175. package/cjs/extensions/forms/Value/Number/Number.js +25 -27
  176. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  177. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  178. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  179. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  180. package/cjs/extensions/forms/hooks/index.js +7 -0
  181. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  182. package/cjs/extensions/forms/hooks/useDataValue.d.ts +6 -1
  183. package/cjs/extensions/forms/hooks/useDataValue.js +76 -21
  184. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  186. package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
  187. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  188. package/cjs/extensions/forms/index.d.ts +1 -0
  189. package/cjs/extensions/forms/index.js +9 -1
  190. package/cjs/extensions/forms/index.js.map +1 -1
  191. package/cjs/extensions/forms/style/dnb-forms.css +34 -5
  192. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  193. package/cjs/extensions/forms/types.d.ts +22 -7
  194. package/cjs/extensions/forms/types.js.map +1 -1
  195. package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
  196. package/cjs/extensions/forms/utils/ajv.js +29 -13
  197. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  198. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  199. package/cjs/extensions/forms/utils/index.js +0 -12
  200. package/cjs/extensions/forms/utils/index.js.map +1 -1
  201. package/cjs/shared/Eufemia.d.ts +1 -1
  202. package/cjs/shared/Eufemia.js +2 -2
  203. package/cjs/shared/Eufemia.js.map +1 -1
  204. package/cjs/shared/component-helper.js +0 -3
  205. package/cjs/shared/component-helper.js.map +1 -1
  206. package/cjs/shared/helpers/useSharedState.d.ts +28 -7
  207. package/cjs/shared/helpers/useSharedState.js +62 -43
  208. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  209. package/cjs/shared/locales/en-GB.d.ts +1 -0
  210. package/cjs/shared/locales/en-GB.js +1 -0
  211. package/cjs/shared/locales/en-GB.js.map +1 -1
  212. package/cjs/shared/locales/en-US.d.ts +1 -0
  213. package/cjs/shared/locales/index.d.ts +2 -0
  214. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  215. package/cjs/shared/locales/nb-NO.js +1 -0
  216. package/cjs/shared/locales/nb-NO.js.map +1 -1
  217. package/cjs/style/core/utilities.scss +1 -1
  218. package/cjs/style/dnb-ui-components.css +94 -52
  219. package/cjs/style/dnb-ui-components.min.css +3 -3
  220. package/cjs/style/dnb-ui-extensions.css +34 -5
  221. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  222. package/cjs/style/dnb-ui-forms.css +34 -5
  223. package/cjs/style/dnb-ui-forms.min.css +1 -1
  224. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  225. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  230. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  231. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  232. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  233. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  235. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  236. package/cjs/style/themes/theme-ui/ui-theme-components.css +129 -79
  237. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  238. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  239. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  240. package/cjs/style/themes/theme-ui/ui-theme-forms.css +34 -5
  241. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  242. package/components/accordion/AccordionContent.d.ts +1 -1
  243. package/components/accordion/AccordionContent.js.map +1 -1
  244. package/components/accordion/style/dnb-accordion.css +0 -3
  245. package/components/accordion/style/dnb-accordion.min.css +1 -1
  246. package/components/accordion/style/dnb-accordion.scss +0 -5
  247. package/components/breadcrumb/Breadcrumb.js +11 -2
  248. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  249. package/components/breadcrumb/BreadcrumbItem.js +11 -8
  250. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  251. package/components/card/Card.d.ts +6 -4
  252. package/components/card/Card.js +11 -15
  253. package/components/card/Card.js.map +1 -1
  254. package/components/card/style/dnb-card.css +29 -0
  255. package/components/card/style/dnb-card.min.css +1 -1
  256. package/components/card/style/dnb-card.scss +41 -0
  257. package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  258. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  259. package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  260. package/components/date-picker/DatePickerProvider.js +10 -10
  261. package/components/date-picker/DatePickerProvider.js.map +1 -1
  262. package/components/flex/Container.js +1 -1
  263. package/components/flex/Container.js.map +1 -1
  264. package/components/flex/Item.js +8 -11
  265. package/components/flex/Item.js.map +1 -1
  266. package/components/flex/style/dnb-flex.css +3 -0
  267. package/components/flex/style/dnb-flex.min.css +1 -1
  268. package/components/flex/style/flex-container.scss +3 -0
  269. package/components/flex/utils.d.ts +35 -7
  270. package/components/flex/utils.js +56 -24
  271. package/components/flex/utils.js.map +1 -1
  272. package/components/form-status/FormStatus.d.ts +5 -1
  273. package/components/form-status/FormStatus.js +38 -44
  274. package/components/form-status/FormStatus.js.map +1 -1
  275. package/components/form-status/style/dnb-form-status.css +0 -18
  276. package/components/form-status/style/dnb-form-status.min.css +1 -1
  277. package/components/form-status/style/dnb-form-status.scss +0 -45
  278. package/components/global-status/GlobalStatus.js +53 -139
  279. package/components/global-status/GlobalStatus.js.map +1 -1
  280. package/components/global-status/style/dnb-global-status.css +6 -16
  281. package/components/global-status/style/dnb-global-status.min.css +1 -1
  282. package/components/global-status/style/dnb-global-status.scss +11 -23
  283. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  284. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  285. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  286. package/components/height-animation/HeightAnimation.d.ts +12 -4
  287. package/components/height-animation/HeightAnimation.js +27 -14
  288. package/components/height-animation/HeightAnimation.js.map +1 -1
  289. package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  290. package/components/height-animation/HeightAnimationInstance.js +186 -158
  291. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  292. package/components/height-animation/style/dnb-height-animation.css +16 -2
  293. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  294. package/components/height-animation/style/dnb-height-animation.scss +18 -2
  295. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  296. package/components/height-animation/useHeightAnimation.js +124 -92
  297. package/components/height-animation/useHeightAnimation.js.map +1 -1
  298. package/components/number-format/NumberFormat.d.ts +7 -12
  299. package/components/step-indicator/StepIndicatorItem.js +4 -22
  300. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  301. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  302. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  303. package/components/step-indicator/style/dnb-step-indicator.css +0 -5
  304. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  305. package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  306. package/components/table/TableAccordionContent.js +48 -23
  307. package/components/table/TableAccordionContent.js.map +1 -1
  308. package/components/table/style/dnb-table.css +6 -3
  309. package/components/table/style/dnb-table.min.css +1 -1
  310. package/components/table/style/table-accordion.scss +6 -3
  311. package/components/tabs/Tabs.js +2 -1
  312. package/components/tabs/Tabs.js.map +1 -1
  313. package/components/tabs/TabsContentWrapper.d.ts +1 -0
  314. package/components/tabs/TabsContentWrapper.js +8 -6
  315. package/components/tabs/TabsContentWrapper.js.map +1 -1
  316. package/components/upload/Upload.js +13 -18
  317. package/components/upload/Upload.js.map +1 -1
  318. package/components/upload/UploadFileInput.js +3 -1
  319. package/components/upload/UploadFileInput.js.map +1 -1
  320. package/components/upload/UploadFileList.js +1 -1
  321. package/components/upload/UploadFileList.js.map +1 -1
  322. package/components/upload/UploadStatus.js +6 -2
  323. package/components/upload/UploadStatus.js.map +1 -1
  324. package/components/upload/useUpload.js +5 -7
  325. package/components/upload/useUpload.js.map +1 -1
  326. package/elements/lib.d.ts +6 -0
  327. package/elements/typography/H1.d.ts +1 -0
  328. package/elements/typography/H1.js +1 -1
  329. package/elements/typography/H1.js.map +1 -1
  330. package/elements/typography/H2.d.ts +1 -0
  331. package/elements/typography/H2.js +1 -1
  332. package/elements/typography/H2.js.map +1 -1
  333. package/elements/typography/H3.d.ts +1 -0
  334. package/elements/typography/H3.js +1 -1
  335. package/elements/typography/H3.js.map +1 -1
  336. package/elements/typography/H4.d.ts +1 -0
  337. package/elements/typography/H4.js +1 -1
  338. package/elements/typography/H4.js.map +1 -1
  339. package/elements/typography/H5.d.ts +1 -0
  340. package/elements/typography/H5.js +1 -1
  341. package/elements/typography/H5.js.map +1 -1
  342. package/elements/typography/H6.d.ts +1 -0
  343. package/elements/typography/H6.js +1 -1
  344. package/elements/typography/H6.js.map +1 -1
  345. package/es/components/accordion/AccordionContent.d.ts +1 -1
  346. package/es/components/accordion/AccordionContent.js.map +1 -1
  347. package/es/components/accordion/style/dnb-accordion.css +0 -3
  348. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  349. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  350. package/es/components/breadcrumb/Breadcrumb.js +11 -2
  351. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  352. package/es/components/breadcrumb/BreadcrumbItem.js +11 -8
  353. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  354. package/es/components/card/Card.d.ts +6 -4
  355. package/es/components/card/Card.js +11 -15
  356. package/es/components/card/Card.js.map +1 -1
  357. package/es/components/card/style/dnb-card.css +29 -0
  358. package/es/components/card/style/dnb-card.min.css +1 -1
  359. package/es/components/card/style/dnb-card.scss +41 -0
  360. package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  361. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  362. package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  363. package/es/components/date-picker/DatePickerProvider.js +10 -10
  364. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  365. package/es/components/flex/Container.js +1 -1
  366. package/es/components/flex/Container.js.map +1 -1
  367. package/es/components/flex/Item.js +8 -11
  368. package/es/components/flex/Item.js.map +1 -1
  369. package/es/components/flex/style/dnb-flex.css +3 -0
  370. package/es/components/flex/style/dnb-flex.min.css +1 -1
  371. package/es/components/flex/style/flex-container.scss +3 -0
  372. package/es/components/flex/utils.d.ts +35 -7
  373. package/es/components/flex/utils.js +55 -24
  374. package/es/components/flex/utils.js.map +1 -1
  375. package/es/components/form-status/FormStatus.d.ts +5 -1
  376. package/es/components/form-status/FormStatus.js +38 -44
  377. package/es/components/form-status/FormStatus.js.map +1 -1
  378. package/es/components/form-status/style/dnb-form-status.css +0 -18
  379. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  380. package/es/components/form-status/style/dnb-form-status.scss +0 -45
  381. package/es/components/global-status/GlobalStatus.js +51 -133
  382. package/es/components/global-status/GlobalStatus.js.map +1 -1
  383. package/es/components/global-status/style/dnb-global-status.css +6 -16
  384. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  385. package/es/components/global-status/style/dnb-global-status.scss +11 -23
  386. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  387. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  388. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  389. package/es/components/height-animation/HeightAnimation.d.ts +12 -4
  390. package/es/components/height-animation/HeightAnimation.js +27 -14
  391. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  392. package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  393. package/es/components/height-animation/HeightAnimationInstance.js +188 -155
  394. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  395. package/es/components/height-animation/style/dnb-height-animation.css +16 -2
  396. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  397. package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
  398. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  399. package/es/components/height-animation/useHeightAnimation.js +124 -92
  400. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  401. package/es/components/number-format/NumberFormat.d.ts +7 -12
  402. package/es/components/step-indicator/StepIndicatorItem.js +4 -22
  403. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  404. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  405. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  406. package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
  407. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  408. package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  409. package/es/components/table/TableAccordionContent.js +47 -23
  410. package/es/components/table/TableAccordionContent.js.map +1 -1
  411. package/es/components/table/style/dnb-table.css +6 -3
  412. package/es/components/table/style/dnb-table.min.css +1 -1
  413. package/es/components/table/style/table-accordion.scss +6 -3
  414. package/es/components/tabs/Tabs.js +2 -1
  415. package/es/components/tabs/Tabs.js.map +1 -1
  416. package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
  417. package/es/components/tabs/TabsContentWrapper.js +8 -6
  418. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  419. package/es/components/upload/Upload.js +13 -18
  420. package/es/components/upload/Upload.js.map +1 -1
  421. package/es/components/upload/UploadFileInput.js +3 -1
  422. package/es/components/upload/UploadFileInput.js.map +1 -1
  423. package/es/components/upload/UploadFileList.js +1 -1
  424. package/es/components/upload/UploadFileList.js.map +1 -1
  425. package/es/components/upload/UploadStatus.js +6 -2
  426. package/es/components/upload/UploadStatus.js.map +1 -1
  427. package/es/components/upload/useUpload.js +5 -7
  428. package/es/components/upload/useUpload.js.map +1 -1
  429. package/es/elements/lib.d.ts +6 -0
  430. package/es/elements/typography/H1.d.ts +1 -0
  431. package/es/elements/typography/H1.js +1 -1
  432. package/es/elements/typography/H1.js.map +1 -1
  433. package/es/elements/typography/H2.d.ts +1 -0
  434. package/es/elements/typography/H2.js +1 -1
  435. package/es/elements/typography/H2.js.map +1 -1
  436. package/es/elements/typography/H3.d.ts +1 -0
  437. package/es/elements/typography/H3.js +1 -1
  438. package/es/elements/typography/H3.js.map +1 -1
  439. package/es/elements/typography/H4.d.ts +1 -0
  440. package/es/elements/typography/H4.js +1 -1
  441. package/es/elements/typography/H4.js.map +1 -1
  442. package/es/elements/typography/H5.d.ts +1 -0
  443. package/es/elements/typography/H5.js +1 -1
  444. package/es/elements/typography/H5.js.map +1 -1
  445. package/es/elements/typography/H6.d.ts +1 -0
  446. package/es/elements/typography/H6.js +1 -1
  447. package/es/elements/typography/H6.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Context.d.ts +18 -5
  449. package/es/extensions/forms/DataContext/Context.js +9 -0
  450. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  451. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  452. package/es/extensions/forms/DataContext/Provider/Provider.js +126 -58
  453. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  454. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  455. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  456. package/es/extensions/forms/Field/Date/Date.js +4 -3
  457. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  458. package/es/extensions/forms/Field/Email/Email.js +4 -3
  459. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  460. package/es/extensions/forms/Field/Expiry/Expiry.js +5 -4
  461. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  462. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  463. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  464. package/es/extensions/forms/Field/Number/Number.d.ts +2 -4
  465. package/es/extensions/forms/Field/Number/Number.js +14 -15
  466. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  467. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  468. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  469. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  470. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  471. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  472. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  473. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  474. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  475. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  476. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  477. package/es/extensions/forms/Field/String/String.js +5 -3
  478. package/es/extensions/forms/Field/String/String.js.map +1 -1
  479. package/es/extensions/forms/Field/Toggle/Toggle.js +5 -2
  480. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  486. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  487. package/es/extensions/forms/Form/Handler/Handler.js +7 -1
  488. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  489. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  490. package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
  491. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  492. package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
  493. package/es/extensions/forms/Form/data-context/getData.js +15 -0
  494. package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
  495. package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
  496. package/es/extensions/forms/Form/data-context/setData.js +6 -0
  497. package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
  498. package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
  499. package/es/extensions/forms/Form/data-context/useData.js +58 -0
  500. package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
  501. package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
  502. package/es/extensions/forms/Form/data-context/useError.js +13 -0
  503. package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
  504. package/es/extensions/forms/Form/index.d.ts +4 -1
  505. package/es/extensions/forms/Form/index.js +4 -1
  506. package/es/extensions/forms/Form/index.js.map +1 -1
  507. package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  508. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  509. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  510. package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  511. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  512. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  513. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  514. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  515. package/es/extensions/forms/Value/Currency/Currency.js +2 -3
  516. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  517. package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
  518. package/es/extensions/forms/Value/Number/Number.js +22 -27
  519. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  520. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  521. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  522. package/es/extensions/forms/hooks/index.d.ts +1 -0
  523. package/es/extensions/forms/hooks/index.js +1 -0
  524. package/es/extensions/forms/hooks/index.js.map +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.d.ts +6 -1
  526. package/es/extensions/forms/hooks/useDataValue.js +72 -19
  527. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  528. package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  529. package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
  530. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  531. package/es/extensions/forms/index.d.ts +1 -0
  532. package/es/extensions/forms/index.js +1 -0
  533. package/es/extensions/forms/index.js.map +1 -1
  534. package/es/extensions/forms/style/dnb-forms.css +34 -5
  535. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  536. package/es/extensions/forms/types.d.ts +22 -7
  537. package/es/extensions/forms/types.js.map +1 -1
  538. package/es/extensions/forms/utils/ajv.d.ts +47 -6
  539. package/es/extensions/forms/utils/ajv.js +23 -15
  540. package/es/extensions/forms/utils/ajv.js.map +1 -1
  541. package/es/extensions/forms/utils/index.d.ts +0 -1
  542. package/es/extensions/forms/utils/index.js +0 -1
  543. package/es/extensions/forms/utils/index.js.map +1 -1
  544. package/es/shared/Eufemia.d.ts +1 -1
  545. package/es/shared/Eufemia.js +2 -2
  546. package/es/shared/Eufemia.js.map +1 -1
  547. package/es/shared/component-helper.js +0 -3
  548. package/es/shared/component-helper.js.map +1 -1
  549. package/es/shared/helpers/useSharedState.d.ts +28 -7
  550. package/es/shared/helpers/useSharedState.js +62 -43
  551. package/es/shared/helpers/useSharedState.js.map +1 -1
  552. package/es/shared/locales/en-GB.d.ts +1 -0
  553. package/es/shared/locales/en-GB.js +1 -0
  554. package/es/shared/locales/en-GB.js.map +1 -1
  555. package/es/shared/locales/en-US.d.ts +1 -0
  556. package/es/shared/locales/index.d.ts +2 -0
  557. package/es/shared/locales/nb-NO.d.ts +1 -0
  558. package/es/shared/locales/nb-NO.js +1 -0
  559. package/es/shared/locales/nb-NO.js.map +1 -1
  560. package/es/style/core/utilities.scss +1 -1
  561. package/es/style/dnb-ui-components.css +94 -52
  562. package/es/style/dnb-ui-components.min.css +3 -3
  563. package/es/style/dnb-ui-extensions.css +34 -5
  564. package/es/style/dnb-ui-extensions.min.css +1 -1
  565. package/es/style/dnb-ui-forms.css +34 -5
  566. package/es/style/dnb-ui-forms.min.css +1 -1
  567. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  568. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  569. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  570. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  571. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  572. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  573. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  574. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  575. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  576. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  577. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  578. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  579. package/es/style/themes/theme-ui/ui-theme-components.css +129 -79
  580. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  581. package/es/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  582. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  583. package/es/style/themes/theme-ui/ui-theme-forms.css +34 -5
  584. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  585. package/esm/dnb-ui-basis.min.mjs +1 -1
  586. package/esm/dnb-ui-components.min.mjs +1 -1
  587. package/esm/dnb-ui-elements.min.mjs +1 -1
  588. package/esm/dnb-ui-extensions.min.mjs +3 -3
  589. package/esm/dnb-ui-lib.min.mjs +1 -1
  590. package/extensions/forms/DataContext/Context.d.ts +18 -5
  591. package/extensions/forms/DataContext/Context.js +9 -0
  592. package/extensions/forms/DataContext/Context.js.map +1 -1
  593. package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  594. package/extensions/forms/DataContext/Provider/Provider.js +128 -58
  595. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  596. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  597. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  598. package/extensions/forms/Field/Date/Date.js +4 -3
  599. package/extensions/forms/Field/Date/Date.js.map +1 -1
  600. package/extensions/forms/Field/Email/Email.js +4 -3
  601. package/extensions/forms/Field/Email/Email.js.map +1 -1
  602. package/extensions/forms/Field/Expiry/Expiry.js +5 -4
  603. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  604. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  605. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  606. package/extensions/forms/Field/Number/Number.d.ts +2 -4
  607. package/extensions/forms/Field/Number/Number.js +14 -15
  608. package/extensions/forms/Field/Number/Number.js.map +1 -1
  609. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  610. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  611. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  612. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  613. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  614. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  615. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  616. package/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  617. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  618. package/extensions/forms/Field/String/String.d.ts +2 -2
  619. package/extensions/forms/Field/String/String.js +5 -3
  620. package/extensions/forms/Field/String/String.js.map +1 -1
  621. package/extensions/forms/Field/Toggle/Toggle.js +5 -2
  622. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  623. package/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  624. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  625. package/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  626. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  627. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  628. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  629. package/extensions/forms/Form/Handler/Handler.js +7 -1
  630. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  631. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  632. package/extensions/forms/Form/Visibility/Visibility.js +53 -39
  633. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  634. package/extensions/forms/Form/data-context/getData.d.ts +8 -0
  635. package/extensions/forms/Form/data-context/getData.js +15 -0
  636. package/extensions/forms/Form/data-context/getData.js.map +1 -0
  637. package/extensions/forms/Form/data-context/setData.d.ts +2 -0
  638. package/extensions/forms/Form/data-context/setData.js +6 -0
  639. package/extensions/forms/Form/data-context/setData.js.map +1 -0
  640. package/extensions/forms/Form/data-context/useData.d.ts +22 -0
  641. package/extensions/forms/Form/data-context/useData.js +59 -0
  642. package/extensions/forms/Form/data-context/useData.js.map +1 -0
  643. package/extensions/forms/Form/data-context/useError.d.ts +5 -0
  644. package/extensions/forms/Form/data-context/useError.js +13 -0
  645. package/extensions/forms/Form/data-context/useError.js.map +1 -0
  646. package/extensions/forms/Form/index.d.ts +4 -1
  647. package/extensions/forms/Form/index.js +4 -1
  648. package/extensions/forms/Form/index.js.map +1 -1
  649. package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  650. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  651. package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  652. package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  653. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  654. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  655. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  656. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  657. package/extensions/forms/Value/Currency/Currency.js +2 -3
  658. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  659. package/extensions/forms/Value/Number/Number.d.ts +6 -10
  660. package/extensions/forms/Value/Number/Number.js +22 -27
  661. package/extensions/forms/Value/Number/Number.js.map +1 -1
  662. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  663. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  664. package/extensions/forms/hooks/index.d.ts +1 -0
  665. package/extensions/forms/hooks/index.js +1 -0
  666. package/extensions/forms/hooks/index.js.map +1 -1
  667. package/extensions/forms/hooks/useDataValue.d.ts +6 -1
  668. package/extensions/forms/hooks/useDataValue.js +74 -19
  669. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  670. package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  671. package/extensions/forms/hooks/useErrorMessage.js +15 -0
  672. package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  673. package/extensions/forms/index.d.ts +1 -0
  674. package/extensions/forms/index.js +1 -0
  675. package/extensions/forms/index.js.map +1 -1
  676. package/extensions/forms/style/dnb-forms.css +34 -5
  677. package/extensions/forms/style/dnb-forms.min.css +1 -1
  678. package/extensions/forms/types.d.ts +22 -7
  679. package/extensions/forms/types.js.map +1 -1
  680. package/extensions/forms/utils/ajv.d.ts +47 -6
  681. package/extensions/forms/utils/ajv.js +23 -15
  682. package/extensions/forms/utils/ajv.js.map +1 -1
  683. package/extensions/forms/utils/index.d.ts +0 -1
  684. package/extensions/forms/utils/index.js +0 -1
  685. package/extensions/forms/utils/index.js.map +1 -1
  686. package/package.json +1 -1
  687. package/shared/Eufemia.d.ts +1 -1
  688. package/shared/Eufemia.js +2 -2
  689. package/shared/Eufemia.js.map +1 -1
  690. package/shared/component-helper.js +0 -3
  691. package/shared/component-helper.js.map +1 -1
  692. package/shared/helpers/useSharedState.d.ts +28 -7
  693. package/shared/helpers/useSharedState.js +62 -43
  694. package/shared/helpers/useSharedState.js.map +1 -1
  695. package/shared/locales/en-GB.d.ts +1 -0
  696. package/shared/locales/en-GB.js +1 -0
  697. package/shared/locales/en-GB.js.map +1 -1
  698. package/shared/locales/en-US.d.ts +1 -0
  699. package/shared/locales/index.d.ts +2 -0
  700. package/shared/locales/nb-NO.d.ts +1 -0
  701. package/shared/locales/nb-NO.js +1 -0
  702. package/shared/locales/nb-NO.js.map +1 -1
  703. package/style/core/utilities.scss +1 -1
  704. package/style/dnb-ui-components.css +94 -52
  705. package/style/dnb-ui-components.min.css +3 -3
  706. package/style/dnb-ui-extensions.css +34 -5
  707. package/style/dnb-ui-extensions.min.css +1 -1
  708. package/style/dnb-ui-forms.css +34 -5
  709. package/style/dnb-ui-forms.min.css +1 -1
  710. package/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  711. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  712. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  713. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  714. package/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  715. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  716. package/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  717. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  718. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  719. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  720. package/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  721. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  722. package/style/themes/theme-ui/ui-theme-components.css +129 -79
  723. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  724. package/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  725. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  726. package/style/themes/theme-ui/ui-theme-forms.css +34 -5
  727. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  728. package/umd/dnb-ui-basis.min.js +1 -1
  729. package/umd/dnb-ui-components.min.js +1 -1
  730. package/umd/dnb-ui-elements.min.js +1 -1
  731. package/umd/dnb-ui-extensions.min.js +3 -3
  732. package/umd/dnb-ui-lib.min.js +1 -1
  733. package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
  734. package/cjs/components/global-status/AnimationHelper.js +0 -109
  735. package/cjs/components/global-status/AnimationHelper.js.map +0 -1
  736. package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
  737. package/cjs/extensions/forms/Form/hooks/useData.js +0 -39
  738. package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
  739. package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
  740. package/cjs/extensions/forms/utils/numbers.js +0 -42
  741. package/cjs/extensions/forms/utils/numbers.js.map +0 -1
  742. package/components/global-status/AnimationHelper.d.ts +0 -12
  743. package/components/global-status/AnimationHelper.js +0 -100
  744. package/components/global-status/AnimationHelper.js.map +0 -1
  745. package/es/components/global-status/AnimationHelper.d.ts +0 -12
  746. package/es/components/global-status/AnimationHelper.js +0 -100
  747. package/es/components/global-status/AnimationHelper.js.map +0 -1
  748. package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
  749. package/es/extensions/forms/Form/hooks/useData.js +0 -32
  750. package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
  751. package/es/extensions/forms/utils/numbers.d.ts +0 -17
  752. package/es/extensions/forms/utils/numbers.js +0 -35
  753. package/es/extensions/forms/utils/numbers.js.map +0 -1
  754. package/extensions/forms/Form/hooks/useData.d.ts +0 -10
  755. package/extensions/forms/Form/hooks/useData.js +0 -33
  756. package/extensions/forms/Form/hooks/useData.js.map +0 -1
  757. package/extensions/forms/utils/numbers.d.ts +0 -17
  758. package/extensions/forms/utils/numbers.js +0 -35
  759. package/extensions/forms/utils/numbers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","WarnIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","context","_globalStatus$items","Boolean","length","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","_this$context","_this$context$theme","fallbackProps","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","name","titleToRender","noAnimation","itemsToRender","contentToRender","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","variant","role","type","undefined","on_click","icon_position","_Hr","fullscreen","bottom","left","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","args","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe","_supportsSpacingProps"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon, WarnIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info', 'warning', 'success']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size, theme }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warning':\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad state={state} theme={theme} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n theme: this.context?.theme?.name || 'ui',\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" variant={state}>\n <div\n className=\"dnb-global-status__title\"\n role={titleToRender?.type ? undefined : 'paragraph'}\n lang={lang}\n >\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </div>\n {hasContent && (\n <Section\n element=\"div\"\n variant={state}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen bottom={0} left={1} />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n\nGlobalStatus._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","extendPropsWithContextInClassComponent","HeightAnimation","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","WarnIcon","Section","Button","GlobalStatus","PureComponent","getIcon","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","props","_items","items","globalStatus","combineMessages","constructor","_defineProperty","isActive","show","isPassive","setState","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","status_anchor_text","lang","i","text","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","isAnimating","scrollToStatus","setFocus","omit_set_focus_on_update","isOpened","_wrapperRef","createRef","create","init","onUpdate","on_close","autoclose","_hadContent","hasContent","setHidden","setVisible","componentWillUnmount","clearTimeout","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","context","_globalStatus$items","Boolean","length","correctStatus","activeElement","current","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","_this$context","_this$context$theme","fallbackProps","getTranslation","locale","title","default_title","rawState","no_animation","hide_close_button","close_text","class","_className","skeleton","delay","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","name","titleToRender","noAnimation","itemsToRender","contentToRender","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","role","type","undefined","variant","on_click","icon_position","_Hr","fullscreen","_extends","ref","duration","open","animate","onAnimationEnd","onAnimationStart","onOpen","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","args","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe","setTimeout","_supportsSpacingProps"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon, WarnIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info', 'warning', 'success']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: null,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getIcon({ state, icon, icon_size, theme }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warning':\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad state={state} theme={theme} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n this.state.isActive = true\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden()\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n this.setVisible()\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentWillUnmount() {\n clearTimeout(this._scrollToStatusTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = () => {\n if (this.isPassive()) {\n return // stop here\n }\n\n this.setState({\n isActive: true,\n })\n }\n\n setHidden = () => {\n this.setState({\n isActive: false,\n })\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n onAnimationStart = (state) => {\n this.setState({\n isAnimating: true,\n })\n\n switch (state) {\n case 'opening':\n this.scrollToStatus()\n }\n }\n\n onAnimationEnd = (state) => {\n switch (state) {\n case 'opened':\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n break\n\n case 'adjusted':\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n break\n\n case 'closed':\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n\n break\n }\n }\n\n onOpen = (isOpened) => {\n if (isOpened) {\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n }\n }\n\n render() {\n const { isActive } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay,\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n theme: this.context?.theme?.name || 'ui',\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = props.text || props.children\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <>\n {title !== false && (\n <>\n <div\n className=\"dnb-global-status__title\"\n role={titleToRender?.type ? undefined : 'paragraph'}\n lang={lang}\n >\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </div>\n {hasContent && (\n <div className=\"dnb-global-status__message\">\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </div>\n )}\n <Hr fullscreen />\n </>\n )}\n </>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <HeightAnimation\n className=\"dnb-global-status__shell\"\n duration={800}\n delay={delay}\n open={isActive}\n animate={!noAnimation}\n onAnimationEnd={this.onAnimationEnd}\n onAnimationStart={this.onAnimationStart}\n onOpen={this.onOpen}\n >\n <Section\n element=\"div\"\n variant={state}\n className=\"dnb-global-status__content\"\n >\n {renderedContent}\n </Section>\n </HeightAnimation>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n\nGlobalStatus._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -5,30 +5,20 @@
5
5
  /*
6
6
  * Utilities
7
7
  */
8
- .dnb-global-status {
9
- --global-status-easing: var(--easing-default);
10
- }
11
8
  .dnb-global-status.dnb-section {
12
9
  display: block;
13
10
  }
14
11
  .dnb-global-status__shell {
15
12
  width: 100%;
16
- opacity: 1;
17
- will-change: height;
18
- transition: height 800ms var(--global-status-easing), opacity 600ms var(--global-status-easing);
19
- }
20
- .dnb-global-status--hidden .dnb-global-status__shell {
21
- height: 0;
22
- opacity: 0;
23
13
  }
24
- .dnb-global-status--no-animation .dnb-global-status__shell, html[data-visual-test] .dnb-global-status__shell {
25
- transition-duration: 1ms !important;
14
+ .dnb-global-status__shell.dnb-height-animation--hidden {
15
+ overflow-y: clip;
26
16
  }
27
- .dnb-global-status, .dnb-global-status--no-animation.dnb-global-status--visible {
28
- display: flex;
17
+ .dnb-global-status__shell .dnb-hr, .dnb-spacing .dnb-global-status__shell .dnb-hr:not([class*=dnb-space__bottom]) {
18
+ margin: 0 0 0 1rem;
29
19
  }
30
- .dnb-global-status--no-animation.dnb-global-status--hidden {
31
- display: none;
20
+ .dnb-global-status__shell .dnb-hr::after, .dnb-spacing .dnb-global-status__shell .dnb-hr:not([class*=dnb-space__bottom])::after {
21
+ top: calc(var(--thickness) * -1);
32
22
  }
33
23
  .dnb-global-status__title {
34
24
  position: relative;
@@ -1 +1 @@
1
- .dnb-global-status{--global-status-easing:var(--easing-default)}.dnb-global-status.dnb-section{display:block}.dnb-global-status__shell{opacity:1;transition:height .8s var(--global-status-easing),opacity .6s var(--global-status-easing);width:100%;will-change:height}.dnb-global-status--hidden .dnb-global-status__shell{height:0;opacity:0}.dnb-global-status--no-animation .dnb-global-status__shell,html[data-visual-test] .dnb-global-status__shell{transition-duration:1ms!important}.dnb-global-status,.dnb-global-status--no-animation.dnb-global-status--visible{display:flex}.dnb-global-status--no-animation.dnb-global-status--hidden{display:none}.dnb-global-status__title{align-items:center;cursor:text;display:flex;font-size:var(--font-size-basis);min-height:4.5rem;padding:1rem 5rem 1rem 2.5rem;position:relative}.dnb-global-status__title .dnb-p,.dnb-spacing .dnb-global-status__title .dnb-p,.dnb-spacing .dnb-global-status__title .dnb-p:not([class*=dnb-space]){margin:0}.dnb-global-status__message{cursor:text;z-index:1}.dnb-global-status__message__content{display:flex;flex-direction:column;padding:.5rem 0 2.5rem 2.5rem}.dnb-global-status__message__content .dnb-p,.dnb-spacing .dnb-global-status__message__content .dnb-p,.dnb-spacing .dnb-global-status__message__content .dnb-p:not([class*=dnb-space]){display:inline-block;margin:0;padding:0}.dnb-global-status__icon{left:0;margin-top:1.5rem;position:absolute;top:0}.dnb-global-status__close-button,.dnb-global-status__close-button.dnb-button--tertiary{left:auto;position:absolute;right:1rem;z-index:1}.dnb-modal__content__inner .dnb-global-status__close-button{right:0}.dnb-global-status__content{width:100%}.dnb-global-status__content .dnb-ul,.dnb-spacing .dnb-global-status__content .dnb-ul,.dnb-spacing .dnb-global-status__content .dnb-ul:not([class*=dnb-space]){margin:.5rem 0 0;padding-left:1rem}.dnb-global-status__content .dnb-ul .dnb-anchor:last-of-type,.dnb-spacing .dnb-global-status__content .dnb-ul .dnb-anchor:last-of-type,.dnb-spacing .dnb-global-status__content .dnb-ul:not([class*=dnb-space]) .dnb-anchor:last-of-type{margin-left:.5rem}
1
+ .dnb-global-status.dnb-section{display:block}.dnb-global-status__shell{width:100%}.dnb-global-status__shell.dnb-height-animation--hidden{overflow-y:clip}.dnb-global-status__shell .dnb-hr,.dnb-spacing .dnb-global-status__shell .dnb-hr:not([class*=dnb-space__bottom]){margin:0 0 0 1rem}.dnb-global-status__shell .dnb-hr:after,.dnb-spacing .dnb-global-status__shell .dnb-hr:not([class*=dnb-space__bottom]):after{top:calc(var(--thickness)*-1)}.dnb-global-status__title{align-items:center;cursor:text;display:flex;font-size:var(--font-size-basis);min-height:4.5rem;padding:1rem 5rem 1rem 2.5rem;position:relative}.dnb-global-status__title .dnb-p,.dnb-spacing .dnb-global-status__title .dnb-p,.dnb-spacing .dnb-global-status__title .dnb-p:not([class*=dnb-space]){margin:0}.dnb-global-status__message{cursor:text;z-index:1}.dnb-global-status__message__content{display:flex;flex-direction:column;padding:.5rem 0 2.5rem 2.5rem}.dnb-global-status__message__content .dnb-p,.dnb-spacing .dnb-global-status__message__content .dnb-p,.dnb-spacing .dnb-global-status__message__content .dnb-p:not([class*=dnb-space]){display:inline-block;margin:0;padding:0}.dnb-global-status__icon{left:0;margin-top:1.5rem;position:absolute;top:0}.dnb-global-status__close-button,.dnb-global-status__close-button.dnb-button--tertiary{left:auto;position:absolute;right:1rem;z-index:1}.dnb-modal__content__inner .dnb-global-status__close-button{right:0}.dnb-global-status__content{width:100%}.dnb-global-status__content .dnb-ul,.dnb-spacing .dnb-global-status__content .dnb-ul,.dnb-spacing .dnb-global-status__content .dnb-ul:not([class*=dnb-space]){margin:.5rem 0 0;padding-left:1rem}.dnb-global-status__content .dnb-ul .dnb-anchor:last-of-type,.dnb-spacing .dnb-global-status__content .dnb-ul .dnb-anchor:last-of-type,.dnb-spacing .dnb-global-status__content .dnb-ul:not([class*=dnb-space]) .dnb-anchor:last-of-type{margin-left:.5rem}
@@ -6,38 +6,26 @@
6
6
  @import '../../../style/core/utilities.scss';
7
7
 
8
8
  .dnb-global-status {
9
- --global-status-easing: var(--easing-default);
10
-
11
9
  &.dnb-section {
12
10
  display: block;
13
11
  }
14
12
 
15
13
  &__shell {
16
14
  width: 100%;
17
- opacity: 1;
18
-
19
- will-change: height;
20
- transition:
21
- height 800ms var(--global-status-easing),
22
- opacity 600ms var(--global-status-easing);
23
- }
24
15
 
25
- &--hidden &__shell {
26
- height: 0;
27
- opacity: 0;
28
- }
16
+ &.dnb-height-animation--hidden {
17
+ // Ensure Section is not overflowing with its after/before pseudo elements
18
+ overflow-y: clip;
19
+ }
29
20
 
30
- &--no-animation &__shell,
31
- html[data-visual-test] &__shell {
32
- transition-duration: 1ms !important;
33
- }
21
+ .dnb-hr,
22
+ .dnb-spacing & .dnb-hr:not([class*='dnb-space__bottom']) {
23
+ margin: 0 0 0 1rem;
34
24
 
35
- &,
36
- &--no-animation#{&}--visible {
37
- display: flex;
38
- }
39
- &--no-animation#{&}--hidden {
40
- display: none;
25
+ &::after {
26
+ top: calc(var(--thickness) * -1);
27
+ }
28
+ }
41
29
  }
42
30
 
43
31
  &__title {
@@ -5,9 +5,6 @@
5
5
  /*
6
6
  * Utilities
7
7
  */
8
- .dnb-global-status:not(.dnb-global-status--no-animation).dnb-global-status--fade-in.dnb-global-status.dnb-section::after {
9
- box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor, 297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor, 0 0.0625rem 0 0 var(--color-black-80), 100vw 0.0625rem 0 0 var(--color-black-80);
10
- }
11
8
  .dnb-global-status__icon {
12
9
  font-size: 1rem;
13
10
  }
@@ -1 +1 @@
1
- .dnb-global-status:not(.dnb-global-status--no-animation).dnb-global-status--fade-in.dnb-global-status.dnb-section:after{box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor,0 .0625rem 0 0 var(--color-black-80),100vw .0625rem 0 0 var(--color-black-80)}.dnb-global-status__icon{font-size:1rem}.dnb-global-status__message.dnb-section--white ::selection{background-color:var(--color-mint-green)}.dnb-global-status__content .dnb-hr{color:var(--color-fire-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--color-sea-green)}.dnb-global-status--warning .dnb-global-status__content .dnb-hr{color:var(--color-accent-yellow)}.dnb-global-status--success .dnb-global-status__content .dnb-hr{color:var(--color-ocean-green)}
1
+ .dnb-global-status__icon{font-size:1rem}.dnb-global-status__message.dnb-section--white ::selection{background-color:var(--color-mint-green)}.dnb-global-status__content .dnb-hr{color:var(--color-fire-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--color-sea-green)}.dnb-global-status--warning .dnb-global-status__content .dnb-hr{color:var(--color-accent-yellow)}.dnb-global-status--success .dnb-global-status__content .dnb-hr{color:var(--color-ocean-green)}
@@ -6,16 +6,6 @@
6
6
  @import '../../../../style/core/utilities.scss';
7
7
 
8
8
  .dnb-global-status {
9
- &:not(#{&}--no-animation)#{&}--fade-in#{&}.dnb-section::after {
10
- box-shadow:
11
- 99vw 0 0 0 currentcolor,
12
- 198vw 0 0 0 currentcolor,
13
- 297vw 0 0 0 currentcolor,
14
- 396vw 0 0 0 currentcolor,
15
- 0 0.0625rem 0 0 var(--color-black-80),
16
- 100vw 0.0625rem 0 0 var(--color-black-80);
17
- }
18
-
19
9
  &__icon {
20
10
  font-size: 1rem;
21
11
  }
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import type { SpacingProps } from '../../shared/types';
3
2
  import { useHeightAnimationOptions } from './useHeightAnimation';
4
- import type { DynamicElement } from '../../shared/types';
3
+ import type { DynamicElement, SpacingProps } from '../../shared/types';
5
4
  export type HeightAnimationProps = {
6
5
  /**
7
6
  * Whether the nested children content should be kept in the DOM or not.
@@ -14,10 +13,15 @@ export type HeightAnimationProps = {
14
13
  */
15
14
  showOverflow?: boolean;
16
15
  /**
17
- * Set to `true` ensure the nested children content will be kept in the DOM.
16
+ * Defines the duration of the animation in milliseconds.
18
17
  * Default: 400
19
18
  */
20
19
  duration?: number;
20
+ /**
21
+ * Defines the delay of the animation in milliseconds.
22
+ * Default: 0
23
+ */
24
+ delay?: number;
21
25
  /**
22
26
  * Define a custom HTML Element.
23
27
  * Default: div
@@ -30,4 +34,8 @@ export type HeightAnimationProps = {
30
34
  innerRef?: React.RefObject<HTMLElement>;
31
35
  } & useHeightAnimationOptions;
32
36
  export type HeightAnimationAllProps = HeightAnimationProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, 'ref'>;
33
- export default function HeightAnimation({ open, animate, keepInDOM, showOverflow, element, duration, className, innerRef, children, onInit, onOpen, onAnimationEnd, ...rest }: HeightAnimationAllProps): import("react/jsx-runtime").JSX.Element;
37
+ declare function HeightAnimation({ open, animate, keepInDOM, showOverflow, element, duration, delay, className, innerRef, children, onInit, onOpen, onAnimationStart, onAnimationEnd, ...rest }: HeightAnimationAllProps): import("react/jsx-runtime").JSX.Element;
38
+ declare namespace HeightAnimation {
39
+ var _supportsSpacingProps: string;
40
+ }
41
+ export default HeightAnimation;
@@ -1,11 +1,16 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- const _excluded = ["open", "animate", "keepInDOM", "showOverflow", "element", "duration", "className", "innerRef", "children", "onInit", "onOpen", "onAnimationEnd"];
4
- import React from 'react';
6
+ const _excluded = ["open", "animate", "keepInDOM", "showOverflow", "element", "duration", "delay", "className", "innerRef", "children", "onInit", "onOpen", "onAnimationStart", "onAnimationEnd"];
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+ import React, { useRef } from 'react';
5
10
  import classnames from 'classnames';
6
11
  import { useHeightAnimation } from './useHeightAnimation';
7
12
  import Space from '../space/Space';
8
- export default function HeightAnimation(_ref) {
13
+ function HeightAnimation(_ref) {
9
14
  let {
10
15
  open = true,
11
16
  animate = true,
@@ -13,42 +18,50 @@ export default function HeightAnimation(_ref) {
13
18
  showOverflow = false,
14
19
  element,
15
20
  duration,
21
+ delay,
16
22
  className,
17
23
  innerRef,
18
24
  children,
19
25
  onInit = null,
20
26
  onOpen = null,
27
+ onAnimationStart = null,
21
28
  onAnimationEnd = null
22
29
  } = _ref,
23
30
  rest = _objectWithoutProperties(_ref, _excluded);
24
- const ref = React.useRef();
25
- const props = rest;
31
+ const elementRef = useRef();
32
+ const targetRef = innerRef || elementRef;
26
33
  const {
27
34
  isInDOM,
28
35
  isVisible,
29
36
  isVisibleParallax,
30
- isAnimating
31
- } = useHeightAnimation(innerRef || ref, {
37
+ isAnimating,
38
+ firstPaintStyle
39
+ } = useHeightAnimation(targetRef, {
32
40
  open,
33
41
  animate,
34
42
  children,
35
43
  onInit,
36
44
  onOpen,
45
+ onAnimationStart,
37
46
  onAnimationEnd
38
47
  });
39
- if (!isInDOM && !keepInDOM) {
48
+ if (!keepInDOM && !isInDOM && !isAnimating) {
40
49
  return null;
41
50
  }
42
- const style = {};
43
51
  if (duration) {
44
- style['--duration'] = `${duration}ms`;
52
+ firstPaintStyle['--duration'] = `${duration}ms`;
53
+ }
54
+ if (delay) {
55
+ firstPaintStyle['--delay'] = `${delay}ms`;
45
56
  }
46
57
  return React.createElement(Space, _extends({
47
- innerRef: innerRef || ref,
58
+ innerRef: targetRef,
48
59
  element: element || 'div',
49
- className: classnames('dnb-height-animation', className, isVisible ? 'dnb-height-animation--is-visible' : !isAnimating && !open && 'dnb-height-animation--hidden', isInDOM && 'dnb-height-animation--is-in-dom', isVisibleParallax && 'dnb-height-animation--parallax', isAnimating && 'dnb-height-animation--animating', showOverflow && 'dnb-height-animation--show-overflow'),
50
- style: style,
60
+ className: classnames('dnb-height-animation', className, isVisible ? 'dnb-height-animation--is-visible' : !isAnimating && !open && 'dnb-height-animation--hidden', isInDOM && 'dnb-height-animation--is-in-dom', animate && isVisibleParallax && 'dnb-height-animation--parallax', isAnimating && 'dnb-height-animation--animating', showOverflow && 'dnb-height-animation--show-overflow'),
61
+ style: _objectSpread(_objectSpread({}, firstPaintStyle), rest === null || rest === void 0 ? void 0 : rest.style),
51
62
  "aria-hidden": keepInDOM ? !open : undefined
52
- }, props), children);
63
+ }, rest), children);
53
64
  }
65
+ HeightAnimation._supportsSpacingProps = 'children';
66
+ export default HeightAnimation;
54
67
  //# sourceMappingURL=HeightAnimation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimation.js","names":["React","classnames","useHeightAnimation","Space","HeightAnimation","_ref","open","animate","keepInDOM","showOverflow","element","duration","className","innerRef","children","onInit","onOpen","onAnimationEnd","rest","_objectWithoutProperties","_excluded","ref","useRef","props","isInDOM","isVisible","isVisibleParallax","isAnimating","style","createElement","_extends","undefined"],"sources":["../../../../src/components/height-animation/HeightAnimation.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n useHeightAnimation,\n useHeightAnimationOptions,\n} from './useHeightAnimation'\nimport Space, { SpaceProps } from '../space/Space'\n\nimport type { DynamicElement } from '../../shared/types'\n\nexport type HeightAnimationProps = {\n /**\n * Whether the nested children content should be kept in the DOM or not.\n * Default: false\n */\n keepInDOM?: boolean\n\n /**\n * Set to `true` to omit the usage of \"overflow: hidden;\"\n * Default: false\n */\n showOverflow?: boolean\n\n /**\n * Set to `true` ensure the nested children content will be kept in the DOM.\n * Default: 400\n */\n duration?: number\n\n /**\n * Define a custom HTML Element.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & useHeightAnimationOptions\n\nexport type HeightAnimationAllProps = HeightAnimationProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nexport default function HeightAnimation({\n open = true,\n animate = true,\n keepInDOM = false,\n showOverflow = false,\n element,\n duration,\n className,\n innerRef,\n children,\n onInit = null,\n onOpen = null,\n onAnimationEnd = null,\n ...rest\n}: HeightAnimationAllProps) {\n const ref = React.useRef<HTMLElement>()\n const props = rest as SpaceProps\n\n const { isInDOM, isVisible, isVisibleParallax, isAnimating } =\n useHeightAnimation(innerRef || ref, {\n open,\n animate,\n children,\n onInit,\n onOpen,\n onAnimationEnd,\n })\n\n if (!isInDOM && !keepInDOM) {\n return null\n }\n\n const style: React.CSSProperties = {}\n if (duration) {\n style['--duration'] = `${duration}ms`\n }\n\n return (\n <Space\n innerRef={innerRef || ref}\n element={element || 'div'}\n className={classnames(\n 'dnb-height-animation',\n isInDOM && 'dnb-height-animation--is-in-dom',\n isVisible && 'dnb-height-animation--is-visible',\n isVisibleParallax && 'dnb-height-animation--parallax',\n isAnimating && 'dnb-height-animation--animating',\n !isVisible &&\n !isAnimating &&\n !open &&\n 'dnb-height-animation--hidden',\n showOverflow && 'dnb-height-animation--show-overflow',\n className\n )}\n style={style}\n aria-hidden={keepInDOM ? !open : undefined}\n {...props}\n >\n {children}\n </Space>\n )\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,SACEC,kBAAkB,QAEb,sBAAsB;AAC7B,OAAOC,KAAK,MAAsB,gBAAgB;AAwClD,eAAe,SAASC,eAAeA,CAAAC,IAAA,EAcX;EAAA,IAdY;MACtCC,IAAI,GAAG,IAAI;MACXC,OAAO,GAAG,IAAI;MACdC,SAAS,GAAG,KAAK;MACjBC,YAAY,GAAG,KAAK;MACpBC,OAAO;MACPC,QAAQ;MACRC,SAAS;MACTC,QAAQ;MACRC,QAAQ;MACRC,MAAM,GAAG,IAAI;MACbC,MAAM,GAAG,IAAI;MACbC,cAAc,GAAG;IAEM,CAAC,GAAAZ,IAAA;IADrBa,IAAI,GAAAC,wBAAA,CAAAd,IAAA,EAAAe,SAAA;EAEP,MAAMC,GAAG,GAAGrB,KAAK,CAACsB,MAAM,CAAc,CAAC;EACvC,MAAMC,KAAK,GAAGL,IAAkB;EAEhC,MAAM;IAAEM,OAAO;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC;EAAY,CAAC,GAC1DzB,kBAAkB,CAACW,QAAQ,IAAIQ,GAAG,EAAE;IAClCf,IAAI;IACJC,OAAO;IACPO,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,CAAC;EAEJ,IAAI,CAACO,OAAO,IAAI,CAAChB,SAAS,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAMoB,KAA0B,GAAG,CAAC,CAAC;EACrC,IAAIjB,QAAQ,EAAE;IACZiB,KAAK,CAAC,YAAY,CAAC,GAAI,GAAEjB,QAAS,IAAG;EACvC;EAEA,OACEX,KAAA,CAAA6B,aAAA,CAAC1B,KAAK,EAAA2B,QAAA;IACJjB,QAAQ,EAAEA,QAAQ,IAAIQ,GAAI;IAC1BX,OAAO,EAAEA,OAAO,IAAI,KAAM;IAC1BE,SAAS,EAAEX,UAAU,CACnB,sBAAsB,EAUtBW,SAAS,EARTa,SAAS,GAAI,kCAAkC,GAI7C,CAACE,WAAW,IACZ,CAACrB,IAAI,IACL,8BAA8B,EAPhCkB,OAAO,IAAI,iCAAiC,EAE5CE,iBAAiB,IAAI,gCAAgC,EACrDC,WAAW,IAAI,iCAAiC,EAKhDlB,YAAY,IAAI,qCAElB,CAAE;IACFmB,KAAK,EAAEA,KAAM;IACb,eAAapB,SAAS,GAAG,CAACF,IAAI,GAAGyB;EAAU,GACvCR,KAAK,GAERT,QACI,CAAC;AAEZ"}
1
+ {"version":3,"file":"HeightAnimation.js","names":["React","useRef","classnames","useHeightAnimation","Space","HeightAnimation","_ref","open","animate","keepInDOM","showOverflow","element","duration","delay","className","innerRef","children","onInit","onOpen","onAnimationStart","onAnimationEnd","rest","_objectWithoutProperties","_excluded","elementRef","targetRef","isInDOM","isVisible","isVisibleParallax","isAnimating","firstPaintStyle","createElement","_extends","style","_objectSpread","undefined","_supportsSpacingProps"],"sources":["../../../../src/components/height-animation/HeightAnimation.tsx"],"sourcesContent":["import React, { useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n useHeightAnimation,\n useHeightAnimationOptions,\n} from './useHeightAnimation'\nimport Space from '../space/Space'\n\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type HeightAnimationProps = {\n /**\n * Whether the nested children content should be kept in the DOM or not.\n * Default: false\n */\n keepInDOM?: boolean\n\n /**\n * Set to `true` to omit the usage of \"overflow: hidden;\"\n * Default: false\n */\n showOverflow?: boolean\n\n /**\n * Defines the duration of the animation in milliseconds.\n * Default: 400\n */\n duration?: number\n\n /**\n * Defines the delay of the animation in milliseconds.\n * Default: 0\n */\n delay?: number\n\n /**\n * Define a custom HTML Element.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & useHeightAnimationOptions\n\nexport type HeightAnimationAllProps = HeightAnimationProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nfunction HeightAnimation({\n open = true,\n animate = true,\n keepInDOM = false,\n showOverflow = false,\n element,\n duration,\n delay,\n className,\n innerRef,\n children,\n onInit = null,\n onOpen = null,\n onAnimationStart = null,\n onAnimationEnd = null,\n ...rest\n}: HeightAnimationAllProps) {\n const elementRef = useRef<HTMLElement>()\n const targetRef = innerRef || elementRef\n\n const {\n isInDOM,\n isVisible,\n isVisibleParallax,\n isAnimating,\n firstPaintStyle,\n } = useHeightAnimation(targetRef, {\n open,\n animate,\n children,\n onInit,\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n if (!keepInDOM && !isInDOM && !isAnimating) {\n return null\n }\n\n if (duration) {\n firstPaintStyle['--duration'] = `${duration}ms`\n }\n if (delay) {\n firstPaintStyle['--delay'] = `${delay}ms`\n }\n\n return (\n <Space\n innerRef={targetRef}\n element={element || 'div'}\n className={classnames(\n 'dnb-height-animation',\n isInDOM && 'dnb-height-animation--is-in-dom',\n isVisible && 'dnb-height-animation--is-visible',\n animate && isVisibleParallax && 'dnb-height-animation--parallax',\n isAnimating && 'dnb-height-animation--animating',\n !isVisible &&\n !isAnimating &&\n !open &&\n 'dnb-height-animation--hidden',\n showOverflow && 'dnb-height-animation--show-overflow',\n className\n )}\n style={{ ...firstPaintStyle, ...rest?.style }}\n aria-hidden={keepInDOM ? !open : undefined}\n {...rest}\n >\n {children}\n </Space>\n )\n}\n\nHeightAnimation._supportsSpacingProps = 'children'\n\nexport default HeightAnimation\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,kBAAkB,QAEb,sBAAsB;AAC7B,OAAOC,KAAK,MAAM,gBAAgB;AA8ClC,SAASC,eAAeA,CAAAC,IAAA,EAgBI;EAAA,IAhBH;MACvBC,IAAI,GAAG,IAAI;MACXC,OAAO,GAAG,IAAI;MACdC,SAAS,GAAG,KAAK;MACjBC,YAAY,GAAG,KAAK;MACpBC,OAAO;MACPC,QAAQ;MACRC,KAAK;MACLC,SAAS;MACTC,QAAQ;MACRC,QAAQ;MACRC,MAAM,GAAG,IAAI;MACbC,MAAM,GAAG,IAAI;MACbC,gBAAgB,GAAG,IAAI;MACvBC,cAAc,GAAG;IAEM,CAAC,GAAAd,IAAA;IADrBe,IAAI,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAEP,MAAMC,UAAU,GAAGvB,MAAM,CAAc,CAAC;EACxC,MAAMwB,SAAS,GAAGV,QAAQ,IAAIS,UAAU;EAExC,MAAM;IACJE,OAAO;IACPC,SAAS;IACTC,iBAAiB;IACjBC,WAAW;IACXC;EACF,CAAC,GAAG3B,kBAAkB,CAACsB,SAAS,EAAE;IAChClB,IAAI;IACJC,OAAO;IACPQ,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNC,gBAAgB;IAChBC;EACF,CAAC,CAAC;EAEF,IAAI,CAACX,SAAS,IAAI,CAACiB,OAAO,IAAI,CAACG,WAAW,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,IAAIjB,QAAQ,EAAE;IACZkB,eAAe,CAAC,YAAY,CAAC,GAAI,GAAElB,QAAS,IAAG;EACjD;EACA,IAAIC,KAAK,EAAE;IACTiB,eAAe,CAAC,SAAS,CAAC,GAAI,GAAEjB,KAAM,IAAG;EAC3C;EAEA,OACEb,KAAA,CAAA+B,aAAA,CAAC3B,KAAK,EAAA4B,QAAA;IACJjB,QAAQ,EAAEU,SAAU;IACpBd,OAAO,EAAEA,OAAO,IAAI,KAAM;IAC1BG,SAAS,EAAEZ,UAAU,CACnB,sBAAsB,EAUtBY,SAAS,EARTa,SAAS,GAAI,kCAAkC,GAI7C,CAACE,WAAW,IACZ,CAACtB,IAAI,IACL,8BAA8B,EAPhCmB,OAAO,IAAI,iCAAiC,EAE5ClB,OAAO,IAAIoB,iBAAiB,IAAI,gCAAgC,EAChEC,WAAW,IAAI,iCAAiC,EAKhDnB,YAAY,IAAI,qCAElB,CAAE;IACFuB,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOJ,eAAe,GAAKT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEY,KAAK,CAAG;IAC9C,eAAaxB,SAAS,GAAG,CAACF,IAAI,GAAG4B;EAAU,GACvCd,IAAI,GAEPL,QACI,CAAC;AAEZ;AAEAX,eAAe,CAAC+B,qBAAqB,GAAG,UAAU;AAElD,eAAe/B,eAAe"}
@@ -16,8 +16,8 @@ export type HeightAnimationContainer = HTMLElement;
16
16
  export type HeightAnimationFromHeight = number;
17
17
  export type HeightAnimationToHeight = number;
18
18
  export default class HeightAnimation {
19
+ private state;
19
20
  isInBrowser: boolean;
20
- state: HeightAnimationStates;
21
21
  onStartStack: HeightAnimationOnStartStack;
22
22
  onEndStack: HeightAnimationOnEndStack;
23
23
  events: HeightAnimationEvents;
@@ -26,33 +26,50 @@ export default class HeightAnimation {
26
26
  reqId1: number;
27
27
  reqId2: number;
28
28
  resizeTimeout: NodeJS.Timeout;
29
+ timeouts: NodeJS.Timeout[];
30
+ firstTime?: number;
31
+ startTime?: number;
32
+ duration?: number;
29
33
  isAnimating: boolean;
30
34
  __currentHeight: number;
31
- onResize: () => void;
32
35
  constructor(opts?: HeightAnimationOptions);
33
- _callOnStart(): void;
34
- _callOnEnd(): void;
35
- reset(): void;
36
- _restore(): void;
37
- _addEndEvents(listener: HeightAnimationEventListener): void;
38
- _removeEndEvents(): void;
39
- _emitTransitionEnd(): void;
36
+ callAnimationStart(): void;
37
+ callAnimationEnd(): void;
38
+ addEndEvent(listener: HeightAnimationEventListener): void;
39
+ removeEndEvents(): void;
40
40
  setElement(elem: HeightAnimationElement): void;
41
+ setState(state: HeightAnimationStates): void;
42
+ setOptions(opts: HeightAnimationOptions): void;
43
+ getOptions(): HeightAnimationOptions;
41
44
  remove(): void;
45
+ setAsOpen(): void;
46
+ setAsClosed(): void;
42
47
  getHeight(): number;
43
- getWidth(): string;
48
+ firstPaintStyle(): {
49
+ position: string;
50
+ visibility: string;
51
+ opacity: string;
52
+ height: string;
53
+ };
44
54
  getUnknownHeight(): number;
45
55
  onStart(fn: HeightAnimationOnStartCallback): void;
46
56
  onEnd(fn: HeightAnimationOnEndCallback): void;
47
- start(fromHeight: HeightAnimationFromHeight, toHeight: HeightAnimationToHeight, { animate }?: HeightAnimationOptions): void;
57
+ start(fromHeight: HeightAnimationFromHeight, toHeight: HeightAnimationToHeight): void;
48
58
  stop(): void;
59
+ open(): void;
60
+ close(): void;
61
+ adjustTo(fromHeight?: HeightAnimationFromHeight, toHeight?: HeightAnimationToHeight): void;
62
+ readjust(): void;
49
63
  /**
50
- * Deprecated
51
- * "adjustFrom" is only used by GlobalStatus.js
52
- * it should be replaced with "useHeightAnimation"
64
+ * Determines whether the animation can finish.
65
+ * Check for certain states and if the time passed is too short.
66
+ * With a so short first state change, we do not call animation end.
53
67
  */
54
- adjustFrom(height?: HeightAnimationFromHeight): number;
55
- adjustTo(fromHeight?: HeightAnimationFromHeight, toHeight?: HeightAnimationToHeight, { animate }?: HeightAnimationOptions): void;
56
- open({ animate }?: HeightAnimationOptions): void;
57
- close({ animate }?: HeightAnimationOptions): void;
68
+ canFinish(): boolean;
69
+ /**
70
+ * Determines whether the animation should be bypassed.
71
+ * Check for certain states and if the time passed is too short to be correct.
72
+ * With a very short first state change, we skip animation.
73
+ */
74
+ shouldBypassAnimation(): boolean;
58
75
  }