@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","_ref","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_this","this","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","arguments","length","undefined","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","_ref2","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","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","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","_len","args","Array","_key","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","_ref","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","_ref2","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","arguments","undefined","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","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","_len","args","Array","_key","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
  }