@dnb/eufemia 10.21.0 → 10.23.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 (1269) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/cjs/components/accordion/Accordion.js +1 -1
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionContext.d.ts +1 -1
  5. package/cjs/components/accordion/AccordionGroup.js +1 -1
  6. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  7. package/cjs/components/anchor/Anchor.d.ts +2 -3
  8. package/cjs/components/anchor/Anchor.js +14 -23
  9. package/cjs/components/anchor/Anchor.js.map +1 -1
  10. package/cjs/components/anchor/style/anchor-mixins.scss +16 -10
  11. package/cjs/components/anchor/style/dnb-anchor.css +6 -12
  12. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  13. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +8 -16
  14. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +126 -78
  16. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  17. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +55 -52
  18. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +8 -16
  19. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  20. package/cjs/components/aria-live/useAriaLive.d.ts +2 -2
  21. package/cjs/components/breadcrumb/Breadcrumb.d.ts +2 -2
  22. package/cjs/components/breadcrumb/Breadcrumb.js +28 -19
  23. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  24. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
  25. package/cjs/components/breadcrumb/BreadcrumbItem.js +17 -9
  26. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  27. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +36 -6
  28. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  29. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +42 -6
  30. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
  31. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
  32. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
  33. package/cjs/components/button/Button.js +2 -2
  34. package/cjs/components/button/Button.js.map +1 -1
  35. package/cjs/components/button/style/button--tertiary.scss +30 -75
  36. package/cjs/components/button/style/dnb-button.css +43 -49
  37. package/cjs/components/button/style/dnb-button.min.css +1 -1
  38. package/cjs/components/button/style/dnb-button.scss +46 -59
  39. package/cjs/components/button/style/themes/button-mixins.scss +26 -5
  40. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
  41. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
  42. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +67 -83
  43. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
  44. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +44 -30
  45. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +29 -60
  46. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
  47. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  48. package/cjs/components/card/Card.d.ts +15 -2
  49. package/cjs/components/card/Card.js +19 -7
  50. package/cjs/components/card/Card.js.map +1 -1
  51. package/cjs/components/card/CardDocs.d.ts +2 -0
  52. package/cjs/components/card/CardDocs.js +65 -0
  53. package/cjs/components/card/CardDocs.js.map +1 -0
  54. package/cjs/components/card/style/dnb-card.css +35 -7
  55. package/cjs/components/card/style/dnb-card.min.css +1 -1
  56. package/cjs/components/card/style/dnb-card.scss +47 -6
  57. package/cjs/components/checkbox/style/dnb-checkbox.css +3 -0
  58. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  59. package/cjs/components/checkbox/style/dnb-checkbox.scss +7 -0
  60. package/cjs/components/date-picker/DatePicker.d.ts +2 -0
  61. package/cjs/components/date-picker/DatePicker.js +2 -1
  62. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  63. package/cjs/components/date-picker/DatePickerInput.js +19 -3
  64. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  65. package/cjs/components/date-picker/DatePickerProvider.js +8 -3
  66. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  67. package/cjs/components/dropdown/style/dnb-dropdown.css +3 -0
  68. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  69. package/cjs/components/dropdown/style/dnb-dropdown.scss +4 -0
  70. package/cjs/components/form-label/FormLabel.js +1 -1
  71. package/cjs/components/form-label/FormLabel.js.map +1 -1
  72. package/cjs/components/form-label/style/dnb-form-label.css +7 -1
  73. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  74. package/cjs/components/form-label/style/dnb-form-label.scss +9 -2
  75. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
  76. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
  77. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
  78. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
  79. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  80. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
  81. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  82. package/cjs/components/global-status/GlobalStatusProvider.d.ts +1 -1
  83. package/cjs/components/heading/HeadingContext.d.ts +1 -1
  84. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  85. package/cjs/components/height-animation/HeightAnimationInstance.js +12 -12
  86. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  87. package/cjs/components/height-animation/style/dnb-height-animation.css +2 -2
  88. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  89. package/cjs/components/height-animation/style/dnb-height-animation.scss +3 -2
  90. package/cjs/components/height-animation/useHeightAnimation.js +11 -10
  91. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  92. package/cjs/components/input/Input.d.ts +1 -1
  93. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  94. package/cjs/components/pagination/InfinityScroller.d.ts +1 -1
  95. package/cjs/components/progress-indicator/ProgressIndicator.js +5 -7
  96. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  97. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  98. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  99. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  100. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  101. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  102. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  103. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  104. package/cjs/components/radio/style/dnb-radio.css +4 -0
  105. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  106. package/cjs/components/radio/style/dnb-radio.scss +9 -0
  107. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +3 -6
  108. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  109. package/cjs/components/skeleton/SkeletonHelper.d.ts +6 -6
  110. package/cjs/components/skeleton/style/dnb-skeleton.css +1 -0
  111. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  112. package/cjs/components/skeleton/style/dnb-skeleton.scss +1 -0
  113. package/cjs/components/slider/SliderInstance.js +1 -0
  114. package/cjs/components/slider/SliderInstance.js.map +1 -1
  115. package/cjs/components/slider/SliderThumb.js +4 -2
  116. package/cjs/components/slider/SliderThumb.js.map +1 -1
  117. package/cjs/components/space/SpacingHelper.d.ts +5 -5
  118. package/cjs/components/step-indicator/StepIndicator.js +11 -5
  119. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  120. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
  121. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
  122. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
  123. package/cjs/components/table/Table.js +2 -2
  124. package/cjs/components/table/Table.js.map +1 -1
  125. package/cjs/components/table/TableAccordion.js +40 -57
  126. package/cjs/components/table/TableAccordion.js.map +1 -1
  127. package/cjs/components/table/TableAccordionTd.d.ts +9 -0
  128. package/cjs/components/table/{TableAccordionContent.js → TableAccordionTd.js} +16 -54
  129. package/cjs/components/table/TableAccordionTd.js.map +1 -0
  130. package/cjs/components/table/TableAccordionTr.d.ts +13 -0
  131. package/cjs/components/table/TableAccordionTr.js +61 -0
  132. package/cjs/components/table/TableAccordionTr.js.map +1 -0
  133. package/cjs/components/table/TableContext.d.ts +2 -2
  134. package/cjs/components/table/TableContext.js +4 -3
  135. package/cjs/components/table/TableContext.js.map +1 -1
  136. package/cjs/components/table/TableScrollView.d.ts +5 -1
  137. package/cjs/components/table/TableScrollView.js +1 -0
  138. package/cjs/components/table/TableScrollView.js.map +1 -1
  139. package/cjs/components/table/TableTd.d.ts +2 -2
  140. package/cjs/components/table/TableTd.js +2 -2
  141. package/cjs/components/table/TableTd.js.map +1 -1
  142. package/cjs/components/table/TableTr.d.ts +7 -3
  143. package/cjs/components/table/TableTr.js +10 -5
  144. package/cjs/components/table/TableTr.js.map +1 -1
  145. package/cjs/components/table/style/dnb-table.css +92 -65
  146. package/cjs/components/table/style/dnb-table.min.css +1 -1
  147. package/cjs/components/table/style/dnb-table.scss +8 -2
  148. package/cjs/components/table/style/table-accordion.scss +62 -44
  149. package/cjs/components/table/style/table-header-buttons.scss +4 -1
  150. package/cjs/components/table/style/table-td.scss +1 -1
  151. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  152. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  153. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  154. package/cjs/components/table/useTableAnimationHandler.d.ts +20 -0
  155. package/cjs/components/table/useTableAnimationHandler.js +73 -0
  156. package/cjs/components/table/useTableAnimationHandler.js.map +1 -0
  157. package/cjs/components/tag/Tag.d.ts +11 -0
  158. package/cjs/components/tag/Tag.js +55 -40
  159. package/cjs/components/tag/Tag.js.map +1 -1
  160. package/cjs/components/tag/style/dnb-tag.css +50 -86
  161. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  162. package/cjs/components/tag/style/dnb-tag.scss +37 -45
  163. package/cjs/components/tag/style/themes/tag-mixins.scss +24 -6
  164. package/cjs/components/tooltip/Tooltip.js +1 -1
  165. package/cjs/components/tooltip/Tooltip.js.map +1 -1
  166. package/cjs/elements/Element.d.ts +3 -4
  167. package/cjs/elements/Element.js.map +1 -1
  168. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  169. package/cjs/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
  170. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  171. package/cjs/extensions/forms/DataContext/Context.d.ts +31 -10
  172. package/cjs/extensions/forms/DataContext/Context.js +14 -3
  173. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  174. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +29 -17
  175. package/cjs/extensions/forms/DataContext/Provider/Provider.js +325 -82
  176. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  177. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
  178. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +93 -0
  179. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
  180. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  181. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  182. package/cjs/extensions/forms/Field/Date/Date.js +3 -3
  183. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  184. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -4
  185. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  186. package/cjs/extensions/forms/Field/Number/Number.js +3 -3
  187. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  188. package/cjs/extensions/forms/Field/Password/Password.d.ts +1 -1
  189. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  190. package/cjs/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
  191. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +4 -4
  192. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  193. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  194. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  195. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -3
  196. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  197. package/cjs/extensions/forms/Field/Selection/Selection.js +5 -5
  198. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  199. package/cjs/extensions/forms/Field/String/String.js +3 -3
  200. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  201. package/cjs/extensions/forms/Field/String/StringDocs.js +9 -4
  202. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  203. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
  204. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  205. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
  206. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +41 -19
  207. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  208. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -4
  209. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  210. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  211. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  212. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  213. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  214. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  215. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  216. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  217. package/cjs/extensions/forms/Form/Handler/Handler.js +50 -8
  218. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  219. package/cjs/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
  220. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +49 -0
  221. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
  222. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
  223. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +19 -10
  224. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  225. package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
  226. package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +30 -0
  227. package/cjs/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
  228. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
  229. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +81 -0
  230. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
  231. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
  232. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +25 -0
  233. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
  234. package/cjs/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
  235. package/cjs/extensions/forms/Form/SubmitIndicator/index.js +27 -0
  236. package/cjs/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
  237. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
  238. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
  239. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
  240. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
  241. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js +4 -0
  242. package/cjs/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
  243. package/cjs/extensions/forms/Form/data-context/getData.d.ts +1 -1
  244. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  245. package/cjs/extensions/forms/Form/data-context/useData.d.ts +4 -4
  246. package/cjs/extensions/forms/Form/data-context/useData.js +33 -29
  247. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  248. package/cjs/extensions/forms/Form/data-context/useError.d.ts +4 -2
  249. package/cjs/extensions/forms/Form/data-context/useError.js +7 -2
  250. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  251. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  252. package/cjs/extensions/forms/Form/index.js +7 -0
  253. package/cjs/extensions/forms/Form/index.js.map +1 -1
  254. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
  255. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  256. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +1 -1
  257. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  258. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +1 -1
  259. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  260. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
  261. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
  262. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  263. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
  264. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
  265. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  266. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +2 -2
  267. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +54 -25
  268. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  269. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
  270. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +58 -0
  271. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
  272. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
  273. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  274. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
  275. package/cjs/extensions/forms/Value/Boolean/Boolean.js +1 -1
  276. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  277. package/cjs/extensions/forms/Value/Number/Number.d.ts +2 -2
  278. package/cjs/extensions/forms/Value/Number/Number.js +5 -5
  279. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  280. package/cjs/extensions/forms/Value/String/String.js +1 -1
  281. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  282. package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
  283. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  284. package/cjs/extensions/forms/hooks/index.d.ts +6 -3
  285. package/cjs/extensions/forms/hooks/index.js +4 -12
  286. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  287. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +23 -0
  288. package/cjs/extensions/forms/hooks/useFieldProps.js +774 -0
  289. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -0
  290. package/cjs/extensions/forms/style/dnb-forms.css +113 -3
  291. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  292. package/cjs/extensions/forms/types.d.ts +69 -4
  293. package/cjs/extensions/forms/types.js +3 -2
  294. package/cjs/extensions/forms/types.js.map +1 -1
  295. package/cjs/extensions/forms/utils/ajv.d.ts +9 -7
  296. package/cjs/extensions/forms/utils/ajv.js +29 -16
  297. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  298. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  299. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  300. package/cjs/fragments/scroll-view/ScrollView.d.ts +2 -2
  301. package/cjs/fragments/scroll-view/ScrollView.js +4 -1
  302. package/cjs/fragments/scroll-view/ScrollView.js.map +1 -1
  303. package/cjs/shared/Context.d.ts +20 -11
  304. package/cjs/shared/Context.js.map +1 -1
  305. package/cjs/shared/Eufemia.d.ts +2 -2
  306. package/cjs/shared/Eufemia.js +2 -2
  307. package/cjs/shared/Eufemia.js.map +1 -1
  308. package/cjs/shared/Provider.js.map +1 -1
  309. package/cjs/shared/Theme.d.ts +7 -1
  310. package/cjs/shared/Theme.js +20 -7
  311. package/cjs/shared/Theme.js.map +1 -1
  312. package/cjs/shared/defaults.d.ts +3 -3
  313. package/cjs/shared/defaults.js.map +1 -1
  314. package/cjs/shared/helpers/debounce.d.ts +28 -0
  315. package/cjs/shared/helpers/debounce.js +104 -0
  316. package/cjs/shared/helpers/debounce.js.map +1 -0
  317. package/cjs/shared/helpers/isAsync.d.ts +7 -0
  318. package/cjs/shared/helpers/isAsync.js +20 -0
  319. package/cjs/shared/helpers/isAsync.js.map +1 -0
  320. package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
  321. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +31 -0
  322. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
  323. package/cjs/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
  324. package/cjs/shared/helpers/useId.js.map +1 -0
  325. package/cjs/shared/helpers/useMountEffect.js.map +1 -0
  326. package/cjs/shared/helpers/useMounted.d.ts +2 -0
  327. package/cjs/shared/helpers/useMounted.js +19 -0
  328. package/cjs/shared/helpers/useMounted.js.map +1 -0
  329. package/cjs/shared/helpers/useSharedState.d.ts +1 -0
  330. package/cjs/shared/helpers/useSharedState.js +64 -26
  331. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  332. package/cjs/shared/helpers/useUnmountEffect.js.map +1 -0
  333. package/cjs/shared/helpers/useUpdateEffect.js.map +1 -0
  334. package/cjs/shared/helpers/withCamelCaseProps.d.ts +7 -0
  335. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  336. package/cjs/shared/helpers.d.ts +1 -25
  337. package/cjs/shared/helpers.js +17 -37
  338. package/cjs/shared/helpers.js.map +1 -1
  339. package/cjs/shared/index.d.ts +10 -10
  340. package/cjs/shared/index.js +7 -1
  341. package/cjs/shared/index.js.map +1 -1
  342. package/cjs/shared/locales/en-GB.d.ts +1 -0
  343. package/cjs/shared/locales/en-GB.js +2 -1
  344. package/cjs/shared/locales/en-GB.js.map +1 -1
  345. package/cjs/shared/locales/en-US.d.ts +1 -0
  346. package/cjs/shared/locales/index.d.ts +4 -2
  347. package/cjs/shared/locales/index.js +2 -1
  348. package/cjs/shared/locales/index.js.map +1 -1
  349. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  350. package/cjs/shared/locales/nb-NO.js +2 -1
  351. package/cjs/shared/locales/nb-NO.js.map +1 -1
  352. package/cjs/shared/types.d.ts +4 -1
  353. package/cjs/shared/types.js.map +1 -1
  354. package/cjs/shared/useLocale.d.ts +2 -0
  355. package/cjs/shared/useLocale.js +37 -0
  356. package/cjs/shared/useLocale.js.map +1 -0
  357. package/cjs/shared/useTheme.d.ts +1 -0
  358. package/cjs/style/core/scopes.scss +3 -0
  359. package/cjs/style/dnb-ui-basis.css +1 -0
  360. package/cjs/style/dnb-ui-basis.min.css +1 -1
  361. package/cjs/style/dnb-ui-body.css +1 -0
  362. package/cjs/style/dnb-ui-body.min.css +1 -1
  363. package/cjs/style/dnb-ui-components.css +400 -233
  364. package/cjs/style/dnb-ui-components.min.css +3 -3
  365. package/cjs/style/dnb-ui-core.css +1 -0
  366. package/cjs/style/dnb-ui-core.min.css +1 -1
  367. package/cjs/style/dnb-ui-extensions.css +113 -3
  368. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  369. package/cjs/style/dnb-ui-forms.css +113 -3
  370. package/cjs/style/dnb-ui-forms.min.css +1 -1
  371. package/cjs/style/dnb-ui-forms.scss +1 -0
  372. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
  373. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  374. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +554 -325
  375. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +16 -6
  376. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
  377. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  378. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +113 -3
  379. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  380. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +113 -3
  381. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  382. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +6 -2
  383. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  384. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +726 -401
  385. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +22 -8
  386. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +6 -2
  387. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  388. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +113 -3
  389. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  390. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +113 -3
  391. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  392. package/cjs/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  393. package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -6
  394. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  395. package/cjs/style/themes/theme-ui/ui-theme-components.css +554 -325
  396. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +16 -6
  397. package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -6
  398. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  399. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +113 -3
  400. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  401. package/cjs/style/themes/theme-ui/ui-theme-forms.css +113 -3
  402. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  403. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -6
  404. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  405. package/components/accordion/Accordion.js +1 -1
  406. package/components/accordion/Accordion.js.map +1 -1
  407. package/components/accordion/AccordionContext.d.ts +1 -1
  408. package/components/accordion/AccordionGroup.js +1 -1
  409. package/components/accordion/AccordionGroup.js.map +1 -1
  410. package/components/anchor/Anchor.d.ts +2 -3
  411. package/components/anchor/Anchor.js +14 -23
  412. package/components/anchor/Anchor.js.map +1 -1
  413. package/components/anchor/style/anchor-mixins.scss +16 -10
  414. package/components/anchor/style/dnb-anchor.css +6 -12
  415. package/components/anchor/style/dnb-anchor.min.css +1 -1
  416. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +8 -16
  417. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  418. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +126 -78
  419. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  420. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +55 -52
  421. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +8 -16
  422. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  423. package/components/aria-live/useAriaLive.d.ts +2 -2
  424. package/components/breadcrumb/Breadcrumb.d.ts +2 -2
  425. package/components/breadcrumb/Breadcrumb.js +29 -20
  426. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  427. package/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
  428. package/components/breadcrumb/BreadcrumbItem.js +18 -10
  429. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  430. package/components/breadcrumb/style/dnb-breadcrumb.css +36 -6
  431. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  432. package/components/breadcrumb/style/dnb-breadcrumb.scss +42 -6
  433. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
  434. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
  435. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
  436. package/components/button/Button.js +2 -2
  437. package/components/button/Button.js.map +1 -1
  438. package/components/button/style/button--tertiary.scss +30 -75
  439. package/components/button/style/dnb-button.css +43 -49
  440. package/components/button/style/dnb-button.min.css +1 -1
  441. package/components/button/style/dnb-button.scss +46 -59
  442. package/components/button/style/themes/button-mixins.scss +26 -5
  443. package/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
  444. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
  445. package/components/button/style/themes/dnb-button-theme-sbanken.css +67 -83
  446. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
  447. package/components/button/style/themes/dnb-button-theme-sbanken.scss +44 -30
  448. package/components/button/style/themes/dnb-button-theme-ui.css +29 -60
  449. package/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
  450. package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  451. package/components/card/Card.d.ts +15 -2
  452. package/components/card/Card.js +19 -7
  453. package/components/card/Card.js.map +1 -1
  454. package/components/card/CardDocs.d.ts +2 -0
  455. package/components/card/CardDocs.js +58 -0
  456. package/components/card/CardDocs.js.map +1 -0
  457. package/components/card/style/dnb-card.css +35 -7
  458. package/components/card/style/dnb-card.min.css +1 -1
  459. package/components/card/style/dnb-card.scss +47 -6
  460. package/components/checkbox/style/dnb-checkbox.css +3 -0
  461. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  462. package/components/checkbox/style/dnb-checkbox.scss +7 -0
  463. package/components/date-picker/DatePicker.d.ts +2 -0
  464. package/components/date-picker/DatePicker.js +2 -1
  465. package/components/date-picker/DatePicker.js.map +1 -1
  466. package/components/date-picker/DatePickerInput.js +19 -3
  467. package/components/date-picker/DatePickerInput.js.map +1 -1
  468. package/components/date-picker/DatePickerProvider.js +8 -3
  469. package/components/date-picker/DatePickerProvider.js.map +1 -1
  470. package/components/dropdown/style/dnb-dropdown.css +3 -0
  471. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  472. package/components/dropdown/style/dnb-dropdown.scss +4 -0
  473. package/components/form-label/FormLabel.js +1 -1
  474. package/components/form-label/FormLabel.js.map +1 -1
  475. package/components/form-label/style/dnb-form-label.css +7 -1
  476. package/components/form-label/style/dnb-form-label.min.css +1 -1
  477. package/components/form-label/style/dnb-form-label.scss +9 -2
  478. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
  479. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
  480. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
  481. package/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
  482. package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  483. package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
  484. package/components/global-status/GlobalStatus.d.ts +1 -1
  485. package/components/global-status/GlobalStatusProvider.d.ts +1 -1
  486. package/components/heading/HeadingContext.d.ts +1 -1
  487. package/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  488. package/components/height-animation/HeightAnimationInstance.js +12 -12
  489. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  490. package/components/height-animation/style/dnb-height-animation.css +2 -2
  491. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  492. package/components/height-animation/style/dnb-height-animation.scss +3 -2
  493. package/components/height-animation/useHeightAnimation.js +11 -10
  494. package/components/height-animation/useHeightAnimation.js.map +1 -1
  495. package/components/input/Input.d.ts +1 -1
  496. package/components/number-format/NumberUtils.d.ts +1 -1
  497. package/components/pagination/InfinityScroller.d.ts +1 -1
  498. package/components/progress-indicator/ProgressIndicator.js +5 -7
  499. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  500. package/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  501. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  502. package/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  503. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  504. package/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  505. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  506. package/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  507. package/components/radio/style/dnb-radio.css +4 -0
  508. package/components/radio/style/dnb-radio.min.css +1 -1
  509. package/components/radio/style/dnb-radio.scss +9 -0
  510. package/components/section/style/themes/dnb-section-theme-ui.css +3 -6
  511. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  512. package/components/skeleton/SkeletonHelper.d.ts +6 -6
  513. package/components/skeleton/style/dnb-skeleton.css +1 -0
  514. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  515. package/components/skeleton/style/dnb-skeleton.scss +1 -0
  516. package/components/slider/SliderInstance.js +1 -0
  517. package/components/slider/SliderInstance.js.map +1 -1
  518. package/components/slider/SliderThumb.js +4 -2
  519. package/components/slider/SliderThumb.js.map +1 -1
  520. package/components/space/SpacingHelper.d.ts +5 -5
  521. package/components/step-indicator/StepIndicator.js +11 -6
  522. package/components/step-indicator/StepIndicator.js.map +1 -1
  523. package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
  524. package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
  525. package/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
  526. package/components/table/Table.js +1 -1
  527. package/components/table/Table.js.map +1 -1
  528. package/components/table/TableAccordion.js +38 -53
  529. package/components/table/TableAccordion.js.map +1 -1
  530. package/components/table/TableAccordionTd.d.ts +9 -0
  531. package/{es/components/table/TableAccordionContent.js → components/table/TableAccordionTd.js} +14 -48
  532. package/components/table/TableAccordionTd.js.map +1 -0
  533. package/components/table/TableAccordionTr.d.ts +13 -0
  534. package/components/table/TableAccordionTr.js +51 -0
  535. package/components/table/TableAccordionTr.js.map +1 -0
  536. package/components/table/TableContext.d.ts +2 -2
  537. package/components/table/TableContext.js +2 -2
  538. package/components/table/TableContext.js.map +1 -1
  539. package/components/table/TableScrollView.d.ts +5 -1
  540. package/components/table/TableScrollView.js +1 -0
  541. package/components/table/TableScrollView.js.map +1 -1
  542. package/components/table/TableTd.d.ts +2 -2
  543. package/components/table/TableTd.js +2 -2
  544. package/components/table/TableTd.js.map +1 -1
  545. package/components/table/TableTr.d.ts +7 -3
  546. package/components/table/TableTr.js +9 -4
  547. package/components/table/TableTr.js.map +1 -1
  548. package/components/table/style/dnb-table.css +92 -65
  549. package/components/table/style/dnb-table.min.css +1 -1
  550. package/components/table/style/dnb-table.scss +8 -2
  551. package/components/table/style/table-accordion.scss +62 -44
  552. package/components/table/style/table-header-buttons.scss +4 -1
  553. package/components/table/style/table-td.scss +1 -1
  554. package/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  555. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  556. package/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  557. package/components/table/useTableAnimationHandler.d.ts +20 -0
  558. package/components/table/useTableAnimationHandler.js +63 -0
  559. package/components/table/useTableAnimationHandler.js.map +1 -0
  560. package/components/tag/Tag.d.ts +11 -0
  561. package/components/tag/Tag.js +54 -39
  562. package/components/tag/Tag.js.map +1 -1
  563. package/components/tag/style/dnb-tag.css +50 -86
  564. package/components/tag/style/dnb-tag.min.css +1 -1
  565. package/components/tag/style/dnb-tag.scss +37 -45
  566. package/components/tag/style/themes/tag-mixins.scss +24 -6
  567. package/components/tooltip/Tooltip.js +1 -1
  568. package/components/tooltip/Tooltip.js.map +1 -1
  569. package/elements/Element.d.ts +3 -4
  570. package/elements/Element.js.map +1 -1
  571. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  572. package/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
  573. package/es/components/accordion/Accordion.js +1 -1
  574. package/es/components/accordion/Accordion.js.map +1 -1
  575. package/es/components/accordion/AccordionContext.d.ts +1 -1
  576. package/es/components/accordion/AccordionGroup.js +1 -1
  577. package/es/components/accordion/AccordionGroup.js.map +1 -1
  578. package/es/components/anchor/Anchor.d.ts +2 -3
  579. package/es/components/anchor/Anchor.js +14 -23
  580. package/es/components/anchor/Anchor.js.map +1 -1
  581. package/es/components/anchor/style/anchor-mixins.scss +16 -10
  582. package/es/components/anchor/style/dnb-anchor.css +6 -12
  583. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  584. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +8 -16
  585. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  586. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +126 -78
  587. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  588. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +55 -52
  589. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +8 -16
  590. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  591. package/es/components/aria-live/useAriaLive.d.ts +2 -2
  592. package/es/components/breadcrumb/Breadcrumb.d.ts +2 -2
  593. package/es/components/breadcrumb/Breadcrumb.js +29 -20
  594. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  595. package/es/components/breadcrumb/BreadcrumbItem.d.ts +6 -4
  596. package/es/components/breadcrumb/BreadcrumbItem.js +18 -10
  597. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  598. package/es/components/breadcrumb/style/dnb-breadcrumb.css +36 -6
  599. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  600. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +42 -6
  601. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +9 -0
  602. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -1
  603. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +7 -0
  604. package/es/components/button/Button.js +2 -2
  605. package/es/components/button/Button.js.map +1 -1
  606. package/es/components/button/style/button--tertiary.scss +30 -75
  607. package/es/components/button/style/dnb-button.css +43 -49
  608. package/es/components/button/style/dnb-button.min.css +1 -1
  609. package/es/components/button/style/dnb-button.scss +46 -59
  610. package/es/components/button/style/themes/button-mixins.scss +26 -5
  611. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +29 -60
  612. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +12 -2
  613. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +67 -83
  614. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +16 -4
  615. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +44 -30
  616. package/es/components/button/style/themes/dnb-button-theme-ui.css +29 -60
  617. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +12 -2
  618. package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  619. package/es/components/card/Card.d.ts +15 -2
  620. package/es/components/card/Card.js +19 -7
  621. package/es/components/card/Card.js.map +1 -1
  622. package/es/components/card/CardDocs.d.ts +2 -0
  623. package/es/components/card/CardDocs.js +58 -0
  624. package/es/components/card/CardDocs.js.map +1 -0
  625. package/es/components/card/style/dnb-card.css +35 -7
  626. package/es/components/card/style/dnb-card.min.css +1 -1
  627. package/es/components/card/style/dnb-card.scss +47 -6
  628. package/es/components/checkbox/style/dnb-checkbox.css +3 -0
  629. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  630. package/es/components/checkbox/style/dnb-checkbox.scss +7 -0
  631. package/es/components/date-picker/DatePicker.d.ts +2 -0
  632. package/es/components/date-picker/DatePicker.js +2 -1
  633. package/es/components/date-picker/DatePicker.js.map +1 -1
  634. package/es/components/date-picker/DatePickerInput.js +19 -3
  635. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  636. package/es/components/date-picker/DatePickerProvider.js +8 -3
  637. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  638. package/es/components/dropdown/style/dnb-dropdown.css +3 -0
  639. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  640. package/es/components/dropdown/style/dnb-dropdown.scss +4 -0
  641. package/es/components/form-label/FormLabel.js +1 -1
  642. package/es/components/form-label/FormLabel.js.map +1 -1
  643. package/es/components/form-label/style/dnb-form-label.css +7 -1
  644. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  645. package/es/components/form-label/style/dnb-form-label.scss +9 -2
  646. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +0 -3
  647. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -1
  648. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +0 -8
  649. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +0 -6
  650. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  651. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +0 -8
  652. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  653. package/es/components/global-status/GlobalStatusProvider.d.ts +1 -1
  654. package/es/components/heading/HeadingContext.d.ts +1 -1
  655. package/es/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  656. package/es/components/height-animation/HeightAnimationInstance.js +12 -12
  657. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  658. package/es/components/height-animation/style/dnb-height-animation.css +2 -2
  659. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  660. package/es/components/height-animation/style/dnb-height-animation.scss +3 -2
  661. package/es/components/height-animation/useHeightAnimation.js +11 -10
  662. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  663. package/es/components/input/Input.d.ts +1 -1
  664. package/es/components/number-format/NumberUtils.d.ts +1 -1
  665. package/es/components/pagination/InfinityScroller.d.ts +1 -1
  666. package/es/components/progress-indicator/ProgressIndicator.js +5 -7
  667. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  668. package/es/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  669. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  670. package/es/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  671. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  672. package/es/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  673. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  674. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  675. package/es/components/radio/style/dnb-radio.css +4 -0
  676. package/es/components/radio/style/dnb-radio.min.css +1 -1
  677. package/es/components/radio/style/dnb-radio.scss +9 -0
  678. package/es/components/section/style/themes/dnb-section-theme-ui.css +3 -6
  679. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  680. package/es/components/skeleton/SkeletonHelper.d.ts +6 -6
  681. package/es/components/skeleton/style/dnb-skeleton.css +1 -0
  682. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  683. package/es/components/skeleton/style/dnb-skeleton.scss +1 -0
  684. package/es/components/slider/SliderInstance.js +1 -0
  685. package/es/components/slider/SliderInstance.js.map +1 -1
  686. package/es/components/slider/SliderThumb.js +4 -2
  687. package/es/components/slider/SliderThumb.js.map +1 -1
  688. package/es/components/space/SpacingHelper.d.ts +5 -5
  689. package/es/components/step-indicator/StepIndicator.js +11 -6
  690. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  691. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.css +1 -1
  692. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.min.css +1 -1
  693. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss +1 -1
  694. package/es/components/table/Table.js +1 -1
  695. package/es/components/table/Table.js.map +1 -1
  696. package/es/components/table/TableAccordion.js +38 -53
  697. package/es/components/table/TableAccordion.js.map +1 -1
  698. package/es/components/table/TableAccordionTd.d.ts +9 -0
  699. package/{components/table/TableAccordionContent.js → es/components/table/TableAccordionTd.js} +14 -49
  700. package/es/components/table/TableAccordionTd.js.map +1 -0
  701. package/es/components/table/TableAccordionTr.d.ts +13 -0
  702. package/es/components/table/TableAccordionTr.js +51 -0
  703. package/es/components/table/TableAccordionTr.js.map +1 -0
  704. package/es/components/table/TableContext.d.ts +2 -2
  705. package/es/components/table/TableContext.js +2 -2
  706. package/es/components/table/TableContext.js.map +1 -1
  707. package/es/components/table/TableScrollView.d.ts +5 -1
  708. package/es/components/table/TableScrollView.js +1 -0
  709. package/es/components/table/TableScrollView.js.map +1 -1
  710. package/es/components/table/TableTd.d.ts +2 -2
  711. package/es/components/table/TableTd.js +2 -2
  712. package/es/components/table/TableTd.js.map +1 -1
  713. package/es/components/table/TableTr.d.ts +7 -3
  714. package/es/components/table/TableTr.js +9 -4
  715. package/es/components/table/TableTr.js.map +1 -1
  716. package/es/components/table/style/dnb-table.css +92 -65
  717. package/es/components/table/style/dnb-table.min.css +1 -1
  718. package/es/components/table/style/dnb-table.scss +8 -2
  719. package/es/components/table/style/table-accordion.scss +62 -44
  720. package/es/components/table/style/table-header-buttons.scss +4 -1
  721. package/es/components/table/style/table-td.scss +1 -1
  722. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  723. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  724. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  725. package/es/components/table/useTableAnimationHandler.d.ts +20 -0
  726. package/es/components/table/useTableAnimationHandler.js +62 -0
  727. package/es/components/table/useTableAnimationHandler.js.map +1 -0
  728. package/es/components/tag/Tag.d.ts +11 -0
  729. package/es/components/tag/Tag.js +54 -39
  730. package/es/components/tag/Tag.js.map +1 -1
  731. package/es/components/tag/style/dnb-tag.css +50 -86
  732. package/es/components/tag/style/dnb-tag.min.css +1 -1
  733. package/es/components/tag/style/dnb-tag.scss +37 -45
  734. package/es/components/tag/style/themes/tag-mixins.scss +24 -6
  735. package/es/components/tooltip/Tooltip.js +1 -1
  736. package/es/components/tooltip/Tooltip.js.map +1 -1
  737. package/es/elements/Element.d.ts +3 -4
  738. package/es/elements/Element.js.map +1 -1
  739. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  740. package/es/elements/code/style/themes/dnb-code-theme-sbanken.scss +5 -3
  741. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  742. package/es/extensions/forms/DataContext/Context.d.ts +31 -10
  743. package/es/extensions/forms/DataContext/Context.js +14 -3
  744. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  745. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +29 -17
  746. package/es/extensions/forms/DataContext/Provider/Provider.js +322 -80
  747. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  748. package/es/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
  749. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +85 -0
  750. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
  751. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +2 -2
  752. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  753. package/es/extensions/forms/Field/Date/Date.js +4 -4
  754. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  755. package/es/extensions/forms/Field/Expiry/Expiry.js +5 -5
  756. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  757. package/es/extensions/forms/Field/Number/Number.js +4 -4
  758. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  759. package/es/extensions/forms/Field/Password/Password.d.ts +1 -1
  760. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  761. package/es/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
  762. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -5
  763. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  764. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  765. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  766. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  767. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  768. package/es/extensions/forms/Field/Selection/Selection.js +6 -6
  769. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  770. package/es/extensions/forms/Field/String/String.js +4 -4
  771. package/es/extensions/forms/Field/String/String.js.map +1 -1
  772. package/es/extensions/forms/Field/String/StringDocs.js +9 -4
  773. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  774. package/es/extensions/forms/Field/Toggle/Toggle.js +8 -8
  775. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  776. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
  777. package/es/extensions/forms/FieldBlock/FieldBlock.js +41 -20
  778. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  779. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -4
  780. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  781. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  782. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  783. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  784. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  785. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  786. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  787. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  788. package/es/extensions/forms/Form/Handler/Handler.js +45 -9
  789. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  790. package/es/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
  791. package/es/extensions/forms/Form/Handler/HandlerDocs.js +39 -0
  792. package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
  793. package/es/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
  794. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +21 -12
  795. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  796. package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
  797. package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +23 -0
  798. package/es/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
  799. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
  800. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +69 -0
  801. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
  802. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
  803. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +18 -0
  804. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
  805. package/es/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
  806. package/es/extensions/forms/Form/SubmitIndicator/index.js +3 -0
  807. package/es/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
  808. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
  809. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
  810. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
  811. package/es/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
  812. package/es/extensions/forms/Form/SubmitIndicator/style/index.js +1 -0
  813. package/es/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
  814. package/es/extensions/forms/Form/data-context/getData.d.ts +1 -1
  815. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  816. package/es/extensions/forms/Form/data-context/useData.d.ts +4 -4
  817. package/es/extensions/forms/Form/data-context/useData.js +31 -29
  818. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  819. package/es/extensions/forms/Form/data-context/useError.d.ts +4 -2
  820. package/es/extensions/forms/Form/data-context/useError.js +6 -3
  821. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  822. package/es/extensions/forms/Form/index.d.ts +1 -0
  823. package/es/extensions/forms/Form/index.js +1 -0
  824. package/es/extensions/forms/Form/index.js.map +1 -1
  825. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  826. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  827. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +2 -2
  828. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  829. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -2
  830. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  831. package/es/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
  832. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
  833. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  834. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
  835. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
  836. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  837. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +2 -2
  838. package/es/extensions/forms/StepsLayout/StepsLayout.js +55 -26
  839. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  840. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
  841. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +50 -0
  842. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
  843. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
  844. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  845. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
  846. package/es/extensions/forms/Value/Boolean/Boolean.js +2 -2
  847. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  848. package/es/extensions/forms/Value/Number/Number.d.ts +2 -2
  849. package/es/extensions/forms/Value/Number/Number.js +5 -5
  850. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  851. package/es/extensions/forms/Value/String/String.js +2 -2
  852. package/es/extensions/forms/Value/String/String.js.map +1 -1
  853. package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
  854. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  855. package/es/extensions/forms/hooks/index.d.ts +6 -3
  856. package/es/extensions/forms/hooks/index.js +2 -3
  857. package/es/extensions/forms/hooks/index.js.map +1 -1
  858. package/es/extensions/forms/hooks/useFieldProps.d.ts +23 -0
  859. package/es/extensions/forms/hooks/useFieldProps.js +749 -0
  860. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -0
  861. package/es/extensions/forms/style/dnb-forms.css +113 -3
  862. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  863. package/es/extensions/forms/types.d.ts +69 -4
  864. package/es/extensions/forms/types.js +3 -2
  865. package/es/extensions/forms/types.js.map +1 -1
  866. package/es/extensions/forms/utils/ajv.d.ts +9 -7
  867. package/es/extensions/forms/utils/ajv.js +29 -14
  868. package/es/extensions/forms/utils/ajv.js.map +1 -1
  869. package/es/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  870. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  871. package/es/fragments/scroll-view/ScrollView.d.ts +2 -2
  872. package/es/fragments/scroll-view/ScrollView.js +4 -1
  873. package/es/fragments/scroll-view/ScrollView.js.map +1 -1
  874. package/es/shared/Context.d.ts +20 -11
  875. package/es/shared/Context.js.map +1 -1
  876. package/es/shared/Eufemia.d.ts +2 -2
  877. package/es/shared/Eufemia.js +2 -2
  878. package/es/shared/Eufemia.js.map +1 -1
  879. package/es/shared/Provider.js.map +1 -1
  880. package/es/shared/Theme.d.ts +7 -1
  881. package/es/shared/Theme.js +20 -7
  882. package/es/shared/Theme.js.map +1 -1
  883. package/es/shared/defaults.d.ts +3 -3
  884. package/es/shared/defaults.js.map +1 -1
  885. package/es/shared/helpers/debounce.d.ts +28 -0
  886. package/es/shared/helpers/debounce.js +88 -0
  887. package/es/shared/helpers/debounce.js.map +1 -0
  888. package/es/shared/helpers/isAsync.d.ts +7 -0
  889. package/es/shared/helpers/isAsync.js +14 -0
  890. package/es/shared/helpers/isAsync.js.map +1 -0
  891. package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
  892. package/es/shared/helpers/runCssVersionMismatchWarning.js +25 -0
  893. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
  894. package/es/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
  895. package/es/shared/helpers/useId.js.map +1 -0
  896. package/es/shared/helpers/useMountEffect.js.map +1 -0
  897. package/es/shared/helpers/useMounted.d.ts +2 -0
  898. package/es/shared/helpers/useMounted.js +14 -0
  899. package/es/shared/helpers/useMounted.js.map +1 -0
  900. package/es/shared/helpers/useSharedState.d.ts +1 -0
  901. package/es/shared/helpers/useSharedState.js +61 -26
  902. package/es/shared/helpers/useSharedState.js.map +1 -1
  903. package/es/shared/helpers/useUnmountEffect.js.map +1 -0
  904. package/es/shared/helpers/useUpdateEffect.js.map +1 -0
  905. package/es/shared/helpers/withCamelCaseProps.d.ts +7 -0
  906. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  907. package/es/shared/helpers.d.ts +1 -25
  908. package/es/shared/helpers.js +3 -29
  909. package/es/shared/helpers.js.map +1 -1
  910. package/es/shared/index.d.ts +10 -10
  911. package/es/shared/index.js +9 -11
  912. package/es/shared/index.js.map +1 -1
  913. package/es/shared/locales/en-GB.d.ts +1 -0
  914. package/es/shared/locales/en-GB.js +2 -1
  915. package/es/shared/locales/en-GB.js.map +1 -1
  916. package/es/shared/locales/en-US.d.ts +1 -0
  917. package/es/shared/locales/index.d.ts +4 -2
  918. package/es/shared/locales/index.js +2 -1
  919. package/es/shared/locales/index.js.map +1 -1
  920. package/es/shared/locales/nb-NO.d.ts +1 -0
  921. package/es/shared/locales/nb-NO.js +2 -1
  922. package/es/shared/locales/nb-NO.js.map +1 -1
  923. package/es/shared/types.d.ts +4 -1
  924. package/es/shared/types.js.map +1 -1
  925. package/es/shared/useLocale.d.ts +2 -0
  926. package/es/shared/useLocale.js +29 -0
  927. package/es/shared/useLocale.js.map +1 -0
  928. package/es/shared/useTheme.d.ts +1 -0
  929. package/es/style/core/scopes.scss +3 -0
  930. package/es/style/dnb-ui-basis.css +1 -0
  931. package/es/style/dnb-ui-basis.min.css +1 -1
  932. package/es/style/dnb-ui-body.css +1 -0
  933. package/es/style/dnb-ui-body.min.css +1 -1
  934. package/es/style/dnb-ui-components.css +400 -233
  935. package/es/style/dnb-ui-components.min.css +3 -3
  936. package/es/style/dnb-ui-core.css +1 -0
  937. package/es/style/dnb-ui-core.min.css +1 -1
  938. package/es/style/dnb-ui-extensions.css +113 -3
  939. package/es/style/dnb-ui-extensions.min.css +1 -1
  940. package/es/style/dnb-ui-forms.css +113 -3
  941. package/es/style/dnb-ui-forms.min.css +1 -1
  942. package/es/style/dnb-ui-forms.scss +1 -0
  943. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
  944. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  945. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +554 -325
  946. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +16 -6
  947. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
  948. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  949. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +113 -3
  950. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  951. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +113 -3
  952. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  953. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +6 -2
  954. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  955. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +726 -401
  956. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +22 -8
  957. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +6 -2
  958. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  959. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +113 -3
  960. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  961. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +113 -3
  962. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  963. package/es/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  964. package/es/style/themes/theme-ui/ui-theme-basis.css +3 -6
  965. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  966. package/es/style/themes/theme-ui/ui-theme-components.css +554 -325
  967. package/es/style/themes/theme-ui/ui-theme-components.min.css +16 -6
  968. package/es/style/themes/theme-ui/ui-theme-elements.css +3 -6
  969. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  970. package/es/style/themes/theme-ui/ui-theme-extensions.css +113 -3
  971. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  972. package/es/style/themes/theme-ui/ui-theme-forms.css +113 -3
  973. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  974. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -6
  975. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  976. package/esm/dnb-ui-basis.min.mjs +1 -1
  977. package/esm/dnb-ui-components.min.mjs +1 -1
  978. package/esm/dnb-ui-elements.min.mjs +1 -1
  979. package/esm/dnb-ui-extensions.min.mjs +3 -3
  980. package/esm/dnb-ui-lib.min.mjs +1 -1
  981. package/extensions/forms/DataContext/At/At.js.map +1 -1
  982. package/extensions/forms/DataContext/Context.d.ts +31 -10
  983. package/extensions/forms/DataContext/Context.js +14 -3
  984. package/extensions/forms/DataContext/Context.js.map +1 -1
  985. package/extensions/forms/DataContext/Provider/Provider.d.ts +29 -17
  986. package/extensions/forms/DataContext/Provider/Provider.js +326 -83
  987. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  988. package/extensions/forms/DataContext/Provider/ProviderDocs.d.ts +3 -0
  989. package/extensions/forms/DataContext/Provider/ProviderDocs.js +85 -0
  990. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -0
  991. package/extensions/forms/Field/ArraySelection/ArraySelection.js +2 -2
  992. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  993. package/extensions/forms/Field/Date/Date.js +4 -4
  994. package/extensions/forms/Field/Date/Date.js.map +1 -1
  995. package/extensions/forms/Field/Expiry/Expiry.js +5 -5
  996. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  997. package/extensions/forms/Field/Number/Number.js +4 -4
  998. package/extensions/forms/Field/Number/Number.js.map +1 -1
  999. package/extensions/forms/Field/Password/Password.d.ts +1 -1
  1000. package/extensions/forms/Field/Password/Password.js.map +1 -1
  1001. package/extensions/forms/Field/Password/style/dnb-password.scss +1 -1
  1002. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -5
  1003. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  1004. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -1
  1005. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  1006. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  1007. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  1008. package/extensions/forms/Field/Selection/Selection.js +6 -6
  1009. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  1010. package/extensions/forms/Field/String/String.js +4 -4
  1011. package/extensions/forms/Field/String/String.js.map +1 -1
  1012. package/extensions/forms/Field/String/StringDocs.js +9 -4
  1013. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  1014. package/extensions/forms/Field/Toggle/Toggle.js +8 -8
  1015. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  1016. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -1
  1017. package/extensions/forms/FieldBlock/FieldBlock.js +42 -20
  1018. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1019. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -4
  1020. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  1021. package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  1022. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1023. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  1024. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  1025. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  1026. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  1027. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  1028. package/extensions/forms/Form/Handler/Handler.js +49 -9
  1029. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  1030. package/extensions/forms/Form/Handler/HandlerDocs.d.ts +3 -0
  1031. package/extensions/forms/Form/Handler/HandlerDocs.js +39 -0
  1032. package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -0
  1033. package/extensions/forms/Form/SubmitButton/SubmitButton.d.ts +6 -1
  1034. package/extensions/forms/Form/SubmitButton/SubmitButton.js +21 -12
  1035. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  1036. package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.d.ts +2 -0
  1037. package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js +23 -0
  1038. package/extensions/forms/Form/SubmitButton/SubmitButtonDocs.js.map +1 -0
  1039. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.d.ts +14 -0
  1040. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +69 -0
  1041. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -0
  1042. package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.d.ts +2 -0
  1043. package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js +18 -0
  1044. package/extensions/forms/Form/SubmitIndicator/SubmitIndicatorDocs.js.map +1 -0
  1045. package/extensions/forms/Form/SubmitIndicator/index.d.ts +2 -0
  1046. package/extensions/forms/Form/SubmitIndicator/index.js +3 -0
  1047. package/extensions/forms/Form/SubmitIndicator/index.js.map +1 -0
  1048. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +99 -0
  1049. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -0
  1050. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +117 -0
  1051. package/extensions/forms/Form/SubmitIndicator/style/index.d.ts +5 -0
  1052. package/extensions/forms/Form/SubmitIndicator/style/index.js +1 -0
  1053. package/extensions/forms/Form/SubmitIndicator/style/index.js.map +1 -0
  1054. package/extensions/forms/Form/data-context/getData.d.ts +1 -1
  1055. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  1056. package/extensions/forms/Form/data-context/useData.d.ts +4 -4
  1057. package/extensions/forms/Form/data-context/useData.js +33 -29
  1058. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  1059. package/extensions/forms/Form/data-context/useError.d.ts +4 -2
  1060. package/extensions/forms/Form/data-context/useError.js +7 -3
  1061. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  1062. package/extensions/forms/Form/index.d.ts +1 -0
  1063. package/extensions/forms/Form/index.js +1 -0
  1064. package/extensions/forms/Form/index.js.map +1 -1
  1065. package/extensions/forms/Iterate/Array/Array.js +2 -2
  1066. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  1067. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +2 -2
  1068. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  1069. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -2
  1070. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  1071. package/extensions/forms/StepsLayout/NextButton/NextButton.d.ts +1 -3
  1072. package/extensions/forms/StepsLayout/NextButton/NextButton.js +4 -3
  1073. package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  1074. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.d.ts +1 -3
  1075. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +6 -2
  1076. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  1077. package/extensions/forms/StepsLayout/StepsLayout.d.ts +2 -2
  1078. package/extensions/forms/StepsLayout/StepsLayout.js +55 -26
  1079. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1080. package/extensions/forms/StepsLayout/StepsLayoutDocs.d.ts +3 -0
  1081. package/extensions/forms/StepsLayout/StepsLayoutDocs.js +50 -0
  1082. package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -0
  1083. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -1
  1084. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1085. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +11 -1
  1086. package/extensions/forms/Value/Boolean/Boolean.js +2 -2
  1087. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  1088. package/extensions/forms/Value/Number/Number.d.ts +2 -2
  1089. package/extensions/forms/Value/Number/Number.js +5 -5
  1090. package/extensions/forms/Value/Number/Number.js.map +1 -1
  1091. package/extensions/forms/Value/String/String.js +2 -2
  1092. package/extensions/forms/Value/String/String.js.map +1 -1
  1093. package/extensions/forms/hooks/DataValueDocs.js +3 -3
  1094. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  1095. package/extensions/forms/hooks/index.d.ts +6 -3
  1096. package/extensions/forms/hooks/index.js +2 -3
  1097. package/extensions/forms/hooks/index.js.map +1 -1
  1098. package/extensions/forms/hooks/useFieldProps.d.ts +23 -0
  1099. package/extensions/forms/hooks/useFieldProps.js +764 -0
  1100. package/extensions/forms/hooks/useFieldProps.js.map +1 -0
  1101. package/extensions/forms/style/dnb-forms.css +113 -3
  1102. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1103. package/extensions/forms/types.d.ts +69 -4
  1104. package/extensions/forms/types.js +3 -2
  1105. package/extensions/forms/types.js.map +1 -1
  1106. package/extensions/forms/utils/ajv.d.ts +9 -7
  1107. package/extensions/forms/utils/ajv.js +29 -14
  1108. package/extensions/forms/utils/ajv.js.map +1 -1
  1109. package/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  1110. package/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  1111. package/fragments/scroll-view/ScrollView.d.ts +2 -2
  1112. package/fragments/scroll-view/ScrollView.js +4 -1
  1113. package/fragments/scroll-view/ScrollView.js.map +1 -1
  1114. package/package.json +1 -1
  1115. package/shared/Context.d.ts +20 -11
  1116. package/shared/Context.js.map +1 -1
  1117. package/shared/Eufemia.d.ts +2 -2
  1118. package/shared/Eufemia.js +2 -2
  1119. package/shared/Eufemia.js.map +1 -1
  1120. package/shared/Provider.js.map +1 -1
  1121. package/shared/Theme.d.ts +7 -1
  1122. package/shared/Theme.js +20 -7
  1123. package/shared/Theme.js.map +1 -1
  1124. package/shared/defaults.d.ts +3 -3
  1125. package/shared/defaults.js.map +1 -1
  1126. package/shared/helpers/debounce.d.ts +28 -0
  1127. package/shared/helpers/debounce.js +95 -0
  1128. package/shared/helpers/debounce.js.map +1 -0
  1129. package/shared/helpers/isAsync.d.ts +7 -0
  1130. package/shared/helpers/isAsync.js +14 -0
  1131. package/shared/helpers/isAsync.js.map +1 -0
  1132. package/shared/helpers/runCssVersionMismatchWarning.d.ts +8 -0
  1133. package/shared/helpers/runCssVersionMismatchWarning.js +25 -0
  1134. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -0
  1135. package/{extensions/forms/hooks → shared/helpers}/useId.js +1 -1
  1136. package/shared/helpers/useId.js.map +1 -0
  1137. package/shared/helpers/useMountEffect.js.map +1 -0
  1138. package/shared/helpers/useMounted.d.ts +2 -0
  1139. package/shared/helpers/useMounted.js +14 -0
  1140. package/shared/helpers/useMounted.js.map +1 -0
  1141. package/shared/helpers/useSharedState.d.ts +1 -0
  1142. package/shared/helpers/useSharedState.js +61 -26
  1143. package/shared/helpers/useSharedState.js.map +1 -1
  1144. package/shared/helpers/useUnmountEffect.js.map +1 -0
  1145. package/shared/helpers/useUpdateEffect.js.map +1 -0
  1146. package/shared/helpers/withCamelCaseProps.d.ts +7 -0
  1147. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1148. package/shared/helpers.d.ts +1 -25
  1149. package/shared/helpers.js +5 -36
  1150. package/shared/helpers.js.map +1 -1
  1151. package/shared/index.d.ts +10 -10
  1152. package/shared/index.js +9 -11
  1153. package/shared/index.js.map +1 -1
  1154. package/shared/locales/en-GB.d.ts +1 -0
  1155. package/shared/locales/en-GB.js +2 -1
  1156. package/shared/locales/en-GB.js.map +1 -1
  1157. package/shared/locales/en-US.d.ts +1 -0
  1158. package/shared/locales/index.d.ts +4 -2
  1159. package/shared/locales/index.js +2 -1
  1160. package/shared/locales/index.js.map +1 -1
  1161. package/shared/locales/nb-NO.d.ts +1 -0
  1162. package/shared/locales/nb-NO.js +2 -1
  1163. package/shared/locales/nb-NO.js.map +1 -1
  1164. package/shared/types.d.ts +4 -1
  1165. package/shared/types.js.map +1 -1
  1166. package/shared/useLocale.d.ts +2 -0
  1167. package/shared/useLocale.js +29 -0
  1168. package/shared/useLocale.js.map +1 -0
  1169. package/shared/useTheme.d.ts +1 -0
  1170. package/style/core/scopes.scss +3 -0
  1171. package/style/dnb-ui-basis.css +1 -0
  1172. package/style/dnb-ui-basis.min.css +1 -1
  1173. package/style/dnb-ui-body.css +1 -0
  1174. package/style/dnb-ui-body.min.css +1 -1
  1175. package/style/dnb-ui-components.css +400 -233
  1176. package/style/dnb-ui-components.min.css +3 -3
  1177. package/style/dnb-ui-core.css +1 -0
  1178. package/style/dnb-ui-core.min.css +1 -1
  1179. package/style/dnb-ui-extensions.css +113 -3
  1180. package/style/dnb-ui-extensions.min.css +1 -1
  1181. package/style/dnb-ui-forms.css +113 -3
  1182. package/style/dnb-ui-forms.min.css +1 -1
  1183. package/style/dnb-ui-forms.scss +1 -0
  1184. package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -6
  1185. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1186. package/style/themes/theme-eiendom/eiendom-theme-components.css +554 -325
  1187. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +16 -6
  1188. package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -6
  1189. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1190. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +113 -3
  1191. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1192. package/style/themes/theme-eiendom/eiendom-theme-forms.css +113 -3
  1193. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1194. package/style/themes/theme-sbanken/sbanken-theme-basis.css +6 -2
  1195. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1196. package/style/themes/theme-sbanken/sbanken-theme-components.css +726 -401
  1197. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +22 -8
  1198. package/style/themes/theme-sbanken/sbanken-theme-elements.css +6 -2
  1199. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1200. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +113 -3
  1201. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1202. package/style/themes/theme-sbanken/sbanken-theme-forms.css +113 -3
  1203. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  1204. package/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  1205. package/style/themes/theme-ui/ui-theme-basis.css +3 -6
  1206. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1207. package/style/themes/theme-ui/ui-theme-components.css +554 -325
  1208. package/style/themes/theme-ui/ui-theme-components.min.css +16 -6
  1209. package/style/themes/theme-ui/ui-theme-elements.css +3 -6
  1210. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1211. package/style/themes/theme-ui/ui-theme-extensions.css +113 -3
  1212. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1213. package/style/themes/theme-ui/ui-theme-forms.css +113 -3
  1214. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1215. package/style/themes/theme-ui/ui-theme-tags.css +3 -6
  1216. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1217. package/umd/dnb-ui-basis.min.js +1 -1
  1218. package/umd/dnb-ui-components.min.js +1 -1
  1219. package/umd/dnb-ui-elements.min.js +1 -1
  1220. package/umd/dnb-ui-extensions.min.js +3 -3
  1221. package/umd/dnb-ui-lib.min.js +1 -1
  1222. package/cjs/components/table/TableAccordionContent.d.ts +0 -18
  1223. package/cjs/components/table/TableAccordionContent.js.map +0 -1
  1224. package/cjs/extensions/forms/hooks/useDataValue.d.ts +0 -26
  1225. package/cjs/extensions/forms/hooks/useDataValue.js +0 -461
  1226. package/cjs/extensions/forms/hooks/useDataValue.js.map +0 -1
  1227. package/cjs/extensions/forms/hooks/useId.js.map +0 -1
  1228. package/cjs/extensions/forms/hooks/useMountEffect.js.map +0 -1
  1229. package/cjs/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
  1230. package/cjs/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
  1231. package/components/table/TableAccordionContent.d.ts +0 -18
  1232. package/components/table/TableAccordionContent.js.map +0 -1
  1233. package/es/components/table/TableAccordionContent.d.ts +0 -18
  1234. package/es/components/table/TableAccordionContent.js.map +0 -1
  1235. package/es/extensions/forms/hooks/useDataValue.d.ts +0 -26
  1236. package/es/extensions/forms/hooks/useDataValue.js +0 -443
  1237. package/es/extensions/forms/hooks/useDataValue.js.map +0 -1
  1238. package/es/extensions/forms/hooks/useId.js.map +0 -1
  1239. package/es/extensions/forms/hooks/useMountEffect.js.map +0 -1
  1240. package/es/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
  1241. package/es/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
  1242. package/extensions/forms/hooks/useDataValue.d.ts +0 -26
  1243. package/extensions/forms/hooks/useDataValue.js +0 -451
  1244. package/extensions/forms/hooks/useDataValue.js.map +0 -1
  1245. package/extensions/forms/hooks/useId.js.map +0 -1
  1246. package/extensions/forms/hooks/useMountEffect.js.map +0 -1
  1247. package/extensions/forms/hooks/useUnmountEffect.js.map +0 -1
  1248. package/extensions/forms/hooks/useUpdateEffect.js.map +0 -1
  1249. /package/cjs/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
  1250. /package/cjs/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
  1251. /package/cjs/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
  1252. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
  1253. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
  1254. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
  1255. /package/cjs/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
  1256. /package/es/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
  1257. /package/es/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
  1258. /package/es/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
  1259. /package/es/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
  1260. /package/es/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
  1261. /package/es/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
  1262. /package/es/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
  1263. /package/{extensions/forms/hooks → shared/helpers}/useId.d.ts +0 -0
  1264. /package/{extensions/forms/hooks → shared/helpers}/useMountEffect.d.ts +0 -0
  1265. /package/{extensions/forms/hooks → shared/helpers}/useMountEffect.js +0 -0
  1266. /package/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.d.ts +0 -0
  1267. /package/{extensions/forms/hooks → shared/helpers}/useUnmountEffect.js +0 -0
  1268. /package/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.d.ts +0 -0
  1269. /package/{extensions/forms/hooks → shared/helpers}/useUpdateEffect.js +0 -0
@@ -5,12 +5,4 @@
5
5
 
6
6
  .dnb-form-label {
7
7
  color: var(--color-black-80);
8
-
9
- &--interactive {
10
- cursor: pointer;
11
-
12
- &:hover {
13
- color: var(--color-sea-green);
14
- }
15
- }
16
8
  }
@@ -53,7 +53,7 @@ export interface GlobalStatusProps
53
53
  */
54
54
  icon_size?: IconSize;
55
55
  /**
56
- * Defines the visual appearance of the status. There are two main statuses `error`, `warning`, `info` and `success`. The default status is `error`.
56
+ * Defines the visual appearance of the status. There are four main statuses `error`, `warning`, `info` and `success`. The default status is `error`.
57
57
  */
58
58
  state?: GlobalStatusState;
59
59
  /**
@@ -33,5 +33,5 @@ declare class GlobalStatusProvider {
33
33
  static combineMessages(stack: any): any;
34
34
  }
35
35
  declare namespace GlobalStatusProvider {
36
- const _supportsSpacingProps: boolean;
36
+ let _supportsSpacingProps: boolean;
37
37
  }
@@ -8,5 +8,5 @@ import { HeadingProps } from './Heading';
8
8
  export type HeadingContextProps = {
9
9
  heading?: HeadingProps;
10
10
  } & SkeletonContextProps;
11
- declare const HeadingContext: React.Context<HeadingContextProps>;
11
+ declare const HeadingContext: React.Context<any>;
12
12
  export default HeadingContext;
@@ -32,6 +32,11 @@ export default class HeightAnimation {
32
32
  duration?: number;
33
33
  isAnimating: boolean;
34
34
  __currentHeight: number;
35
+ firstPaintStyle: {
36
+ visibility: string;
37
+ opacity: string;
38
+ height: string;
39
+ };
35
40
  constructor(opts?: HeightAnimationOptions);
36
41
  callAnimationStart(): void;
37
42
  callAnimationEnd(): void;
@@ -45,12 +50,6 @@ export default class HeightAnimation {
45
50
  setAsOpen(): void;
46
51
  setAsClosed(): void;
47
52
  getHeight(): number;
48
- firstPaintStyle(): {
49
- position: string;
50
- visibility: string;
51
- opacity: string;
52
- height: string;
53
- };
54
53
  getUnknownHeight(): number;
55
54
  onStart(fn: HeightAnimationOnStartCallback): void;
56
55
  onEnd(fn: HeightAnimationOnEndCallback): void;
@@ -22,6 +22,11 @@ export default class HeightAnimation {
22
22
  _defineProperty(this, "duration", 0);
23
23
  _defineProperty(this, "isAnimating", void 0);
24
24
  _defineProperty(this, "__currentHeight", void 0);
25
+ _defineProperty(this, "firstPaintStyle", {
26
+ visibility: 'hidden',
27
+ opacity: '0',
28
+ height: 'auto'
29
+ });
25
30
  this.isInBrowser = typeof window !== 'undefined';
26
31
  this.setState('init');
27
32
  this.setOptions(opts);
@@ -127,14 +132,6 @@ export default class HeightAnimation {
127
132
  var _this$elem4;
128
133
  return parseFloat(String((_this$elem4 = this.elem) === null || _this$elem4 === void 0 ? void 0 : _this$elem4.clientHeight)) || null;
129
134
  }
130
- firstPaintStyle() {
131
- return {
132
- position: 'absolute',
133
- visibility: 'hidden',
134
- opacity: '0',
135
- height: 'auto'
136
- };
137
- }
138
135
  getUnknownHeight() {
139
136
  var _this$elem$parentNode, _clonedElem$parentNod;
140
137
  if (!this.elem) {
@@ -143,12 +140,14 @@ export default class HeightAnimation {
143
140
  if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {
144
141
  return this.__currentHeight;
145
142
  }
143
+ const width = this.elem.clientWidth;
146
144
  const clonedElem = this.elem.cloneNode(true);
147
145
  (_this$elem$parentNode = this.elem.parentNode) === null || _this$elem$parentNode === void 0 ? void 0 : _this$elem$parentNode.insertBefore(clonedElem, this.elem.nextSibling);
148
146
  for (const key in this.firstPaintStyle) {
149
147
  clonedElem.style[key] = this.firstPaintStyle[key];
150
148
  }
151
- clonedElem.style.height = 'auto';
149
+ clonedElem.style.width = width ? `${String(width)}px` : 'auto';
150
+ clonedElem.style.position = 'absolute';
152
151
  const height = parseFloat(String(clonedElem.clientHeight)) || parseFloat(clonedElem.getAttribute('data-height')) || null;
153
152
  (_clonedElem$parentNod = clonedElem.parentNode) === null || _clonedElem$parentNod === void 0 ? void 0 : _clonedElem$parentNod.removeChild(clonedElem);
154
153
  if (height) {
@@ -170,6 +169,7 @@ export default class HeightAnimation {
170
169
  if (opts.animate === false) {
171
170
  return;
172
171
  }
172
+ this.stop();
173
173
  this.isAnimating = true;
174
174
  this.reqId1 = window.requestAnimationFrame(() => {
175
175
  if (!this.elem) {
@@ -201,7 +201,7 @@ export default class HeightAnimation {
201
201
  this.callAnimationStart();
202
202
  const toHeight = this.getUnknownHeight();
203
203
  this.addEndEvent(e => {
204
- if (e.target === e.currentTarget) {
204
+ if (e.target === e.currentTarget || !e.currentTarget) {
205
205
  this.setState('opened');
206
206
  this.readjust();
207
207
  }
@@ -217,7 +217,7 @@ export default class HeightAnimation {
217
217
  this.callAnimationStart();
218
218
  const fromHeight = this.getHeight();
219
219
  this.addEndEvent(e => {
220
- if (e.target === e.currentTarget) {
220
+ if (e.target === e.currentTarget || !e.currentTarget) {
221
221
  if (this.elem) {
222
222
  this.elem.style.visibility = 'hidden';
223
223
  this.elem.style.overflowY = 'clip';
@@ -248,7 +248,7 @@ export default class HeightAnimation {
248
248
  this.setState('adjusting');
249
249
  this.callAnimationStart();
250
250
  this.addEndEvent(e => {
251
- if (this.state === 'adjusting' && e.target === e.currentTarget) {
251
+ if (this.state === 'adjusting' && (e.target === e.currentTarget || !e.currentTarget)) {
252
252
  if (this.elem) {
253
253
  this.elem.style.height = 'auto';
254
254
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","arguments","length","undefined","_defineProperty","animate","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","firstPaintStyle","position","visibility","opacity","height","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","clonedElem","cloneNode","parentNode","insertBefore","nextSibling","key","style","getAttribute","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","readjust","close","overflowY","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n firstPaintStyle() {\n return {\n position: 'absolute',\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n }\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.height = 'auto'\n\n const height =\n parseFloat(String(clonedElem.clientHeight)) ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget) {\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (this.state === 'adjusting' && e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"HeightAnimationInstance.js","names":["HeightAnimation","constructor","opts","arguments","length","undefined","_defineProperty","animate","visibility","opacity","height","isInBrowser","window","setState","setOptions","callAnimationStart","startTime","Date","now","firstTime","onStartStack","forEach","fn","state","callAnimationEnd","isAnimating","__currentHeight","removeEndEvents","onEndStack","addEndEvent","listener","_this$elem","_this$elem$addEventLi","handleTransitionEnd","e","canFinish","delay","duration","timeouts","push","setTimeout","events","elem","addEventListener","call","_this$elem2","_this$elem2$removeEve","removeEventListener","setElement","_this$elem3","_globalThis$animation","document","createElement","String","nodeName","toLowerCase","parentElement","globalThis","animationDuration","parseFloat","getComputedStyle","transitionDuration","Object","freeze","_objectSpread","getOptions","remove","stop","setAsOpen","setAsClosed","getHeight","_this$elem4","clientHeight","getUnknownHeight","_this$elem$parentNode","_clonedElem$parentNod","width","clientWidth","clonedElem","cloneNode","parentNode","insertBefore","nextSibling","key","firstPaintStyle","style","position","getAttribute","removeChild","onStart","onEnd","start","fromHeight","toHeight","requestAnimationFrame","reqId1","reqId2","id","clearTimeout","cancelAnimationFrame","open","shouldBypassAnimation","target","currentTarget","readjust","close","overflowY","adjustTo","endHeight","newHeight","_globalThis$animation2","Boolean","_globalThis$bypassTim","IS_TEST","bypassTime"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["export type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n private state: Readonly<HeightAnimationStates>\n isInBrowser: boolean\n onStartStack: HeightAnimationOnStartStack = []\n onEndStack: HeightAnimationOnEndStack = []\n events: HeightAnimationEvents = []\n opts: HeightAnimationOptions = { animate: true }\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n timeouts: NodeJS.Timeout[] = []\n firstTime?: number = 0\n startTime?: number = 0\n duration?: number = 0\n isAnimating: boolean\n __currentHeight: number\n\n firstPaintStyle = {\n visibility: 'hidden',\n opacity: '0', // prevents before/after elements to be visible\n height: 'auto',\n }\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.setState('init')\n this.setOptions(opts)\n }\n\n callAnimationStart() {\n this.startTime = Date.now()\n if (!this.firstTime) {\n this.firstTime = this.startTime\n }\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n callAnimationEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this.removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n addEndEvent(listener: HeightAnimationEventListener) {\n this.removeEndEvents() // also, remove events on every open (but not on close!)\n\n const handleTransitionEnd = (e) => {\n if (this.canFinish()) {\n listener(e)\n } else {\n const delay = this.duration - (Date.now() - this.startTime)\n\n if (delay === -1) {\n listener(e)\n } else {\n this.timeouts.push(setTimeout(() => listener(e), delay))\n }\n }\n }\n\n this.events.push(handleTransitionEnd)\n this.elem?.addEventListener?.('transitionend', handleTransitionEnd)\n }\n removeEndEvents() {\n this.events.forEach((listener) => {\n this.elem?.removeEventListener?.('transitionend', listener)\n })\n this.events = []\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n\n this.duration =\n globalThis.animationDuration ??\n (parseFloat(window.getComputedStyle(this.elem).transitionDuration) *\n 1000 ||\n 400) // The default duration\n }\n setState(state: HeightAnimationStates) {\n this.state = Object.freeze(state)\n }\n setOptions(opts: HeightAnimationOptions) {\n this.opts = Object.freeze({ ...this.opts, ...opts })\n }\n getOptions() {\n return this.opts\n }\n remove() {\n this.stop()\n this.removeEndEvents()\n this.setState('init')\n this.isAnimating = false\n this.onEndStack = []\n this.onStartStack = []\n this.__currentHeight = undefined\n this.elem = undefined\n }\n setAsOpen() {\n if (this.state === 'opened') {\n return\n }\n this.setState('opening')\n this.callAnimationStart()\n this.setState('opened')\n this.callAnimationEnd()\n }\n setAsClosed() {\n if (this.state === 'closed') {\n return\n }\n this.setState('closing')\n this.callAnimationStart()\n this.setState('closed')\n this.callAnimationEnd()\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && typeof this.__currentHeight !== 'undefined') {\n return this.__currentHeight\n }\n\n const width = this.elem.clientWidth\n const clonedElem = this.elem.cloneNode(true) as HTMLElement\n this.elem.parentNode?.insertBefore(clonedElem, this.elem.nextSibling)\n\n for (const key in this.firstPaintStyle) {\n clonedElem.style[key] = this.firstPaintStyle[key]\n }\n clonedElem.style.width = width ? `${String(width)}px` : 'auto' // set width because of the \"position: absolute\"\n clonedElem.style.position = 'absolute' // not a part of the \"firstPaintStyle\"\n\n const height =\n parseFloat(String(clonedElem.clientHeight)) ||\n // data-height is used for mockup testing with \"mockHeight\"\n parseFloat(clonedElem.getAttribute('data-height')) ||\n null\n\n clonedElem.parentNode?.removeChild(clonedElem)\n\n if (height) {\n this.__currentHeight = height\n }\n\n return height\n }\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight\n ) {\n if (\n !this.elem ||\n !(\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n )\n ) {\n return\n }\n\n const opts = this.getOptions()\n if (opts.animate === false) {\n return\n }\n\n this.stop()\n this.isAnimating = true\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return\n }\n\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n stop() {\n this.timeouts.forEach((id) => clearTimeout(id))\n this.timeouts = []\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n open() {\n if (\n this.state === 'opened' ||\n this.state === 'opening' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsOpen()\n return\n }\n\n this.setState('opening')\n this.callAnimationStart()\n\n const toHeight = this.getUnknownHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n this.setState('opened')\n this.readjust()\n }\n })\n\n this.start(0, toHeight)\n }\n close() {\n if (\n this.state === 'closed' ||\n this.state === 'closing' ||\n this.shouldBypassAnimation()\n ) {\n this.setAsClosed()\n return\n }\n\n this.setState('closing')\n this.callAnimationStart()\n\n const fromHeight = this.getHeight()\n\n this.addEndEvent((e) => {\n if (e.target === e.currentTarget || !e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n this.elem.style.overflowY = 'clip'\n }\n this.setState('closed')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, 0)\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null\n ) {\n const opts = this.getOptions()\n\n if (\n !this.elem ||\n opts.animate === false ||\n this.state === 'opening' ||\n this.state === 'closing'\n ) {\n return\n }\n\n if (fromHeight === 0 || fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n if (fromHeight === toHeight) {\n this.setState('adjusted')\n return\n }\n\n this.setState('adjusting')\n this.callAnimationStart()\n\n this.addEndEvent((e) => {\n if (\n this.state === 'adjusting' &&\n (e.target === e.currentTarget || !e.currentTarget)\n ) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n this.setState('adjusted')\n this.callAnimationEnd()\n }\n })\n\n this.start(fromHeight, toHeight)\n }\n readjust() {\n const endHeight = this.getHeight()\n\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.__currentHeight = undefined\n const newHeight = this.getUnknownHeight()\n\n // If the height has changed during the animation, we need to adjust it\n if (endHeight !== newHeight) {\n this.adjustTo(endHeight, newHeight)\n } else {\n this.callAnimationEnd()\n }\n }\n /**\n * Determines whether the animation can finish.\n * Check for certain states and if the time passed is too short.\n * With a so short first state change, we do not call animation end.\n */\n canFinish() {\n return Boolean(\n this.startTime &&\n Date.now() - this.startTime >\n (globalThis.animationDuration ?? this.duration)\n )\n }\n /**\n * Determines whether the animation should be bypassed.\n * Check for certain states and if the time passed is too short to be correct.\n * With a very short first state change, we skip animation.\n */\n shouldBypassAnimation() {\n const opts = this.getOptions()\n\n if (!this.elem || opts.animate === false) {\n return true\n }\n\n if (\n this.isInBrowser &&\n (globalThis.IS_TEST || globalThis.bypassTime === -1)\n ) {\n return false\n }\n\n return Boolean(\n this.firstTime &&\n Date.now() - this.firstTime < (globalThis.bypassTime ?? 100)\n )\n }\n}\n"],"mappings":"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"}
@@ -11,8 +11,8 @@
11
11
  will-change: height;
12
12
  transition: var(--height-animation);
13
13
  }
14
- html[data-visual-test] .dnb-height-animation {
15
- transition: none;
14
+ html[data-visual-test] .dnb-height-animation, html[data-visual-test] .dnb-height-animation * {
15
+ transition: none !important;
16
16
  }
17
17
  .dnb-height-animation--animating {
18
18
  overflow-y: hidden;
@@ -1 +1 @@
1
- .dnb-height-animation{--height-animation:height var(--duration,400ms) var(--easing-default) var(--delay,0ms);transition:var(--height-animation);will-change:height}html[data-visual-test] .dnb-height-animation{transition:none}.dnb-height-animation--animating{overflow-y:hidden}@supports (overflow-y:clip){.dnb-height-animation--animating{overflow-y:clip}}.dnb-height-animation--hidden{display:none}.dnb-height-animation--show-overflow{overflow:visible}
1
+ .dnb-height-animation{--height-animation:height var(--duration,400ms) var(--easing-default) var(--delay,0ms);transition:var(--height-animation);will-change:height}html[data-visual-test] .dnb-height-animation,html[data-visual-test] .dnb-height-animation *{transition:none!important}.dnb-height-animation--animating{overflow-y:hidden}@supports (overflow-y:clip){.dnb-height-animation--animating{overflow-y:clip}}.dnb-height-animation--hidden{display:none}.dnb-height-animation--show-overflow{overflow:visible}
@@ -12,8 +12,9 @@
12
12
  will-change: height;
13
13
  transition: var(--height-animation);
14
14
 
15
- html[data-visual-test] & {
16
- transition: none;
15
+ html[data-visual-test] &,
16
+ html[data-visual-test] & * {
17
+ transition: none !important;
17
18
  }
18
19
 
19
20
  &--animating {
@@ -55,7 +55,9 @@ export function useHeightAnimation(targetRef) {
55
55
  setIsAnimating(true);
56
56
  break;
57
57
  }
58
- onAnimationStart === null || onAnimationStart === void 0 ? void 0 : onAnimationStart(state);
58
+ if (!isInitialRenderRef.current) {
59
+ onAnimationStart === null || onAnimationStart === void 0 ? void 0 : onAnimationStart(state);
60
+ }
59
61
  });
60
62
  instRef.current.onEnd(state => {
61
63
  switch (state) {
@@ -93,7 +95,7 @@ export function useHeightAnimation(targetRef) {
93
95
  isInitialRenderRef,
94
96
  targetRef
95
97
  });
96
- const firstPaintStyle = open && !isVisible && !isAnimating && ((_instRef$current2 = instRef.current) === null || _instRef$current2 === void 0 ? void 0 : _instRef$current2.firstPaintStyle()) || {};
98
+ const firstPaintStyle = open && !isVisible && !isAnimating && ((_instRef$current2 = instRef.current) === null || _instRef$current2 === void 0 ? void 0 : _instRef$current2.firstPaintStyle) || {};
97
99
  const isInDOM = open || isVisible;
98
100
  return {
99
101
  open,
@@ -112,6 +114,7 @@ function useOpenClose(_ref) {
112
114
  isInitialRenderRef,
113
115
  targetRef
114
116
  } = _ref;
117
+ const isTest = typeof process !== 'undefined' && process.env.NODE_ENV === 'test' && typeof globalThis.IS_TEST === 'undefined';
115
118
  useLayoutEffect(() => {
116
119
  instRef.current.setElement(targetRef.current);
117
120
  if (!targetRef.current || instRef.current.state === 'init' && isInitialRenderRef.current) {
@@ -120,21 +123,19 @@ function useOpenClose(_ref) {
120
123
  } else {
121
124
  instRef.current.setAsClosed();
122
125
  }
123
- }
124
- }, [open, targetRef, instRef, isInitialRenderRef]);
125
- const isTest = typeof process !== 'undefined' && process.env.NODE_ENV === 'test' && typeof globalThis.IS_TEST === 'undefined';
126
- useLayoutEffect(() => {
127
- if (open) {
128
- instRef.current.open();
129
126
  } else {
130
- instRef.current.close();
127
+ if (open) {
128
+ instRef.current.open();
129
+ } else {
130
+ instRef.current.close();
131
+ }
131
132
  }
132
133
  if (isTest) {
133
134
  var _targetRef$current;
134
135
  const event = new CustomEvent('transitionend');
135
136
  (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.dispatchEvent(event);
136
137
  }
137
- }, [open, instRef, isInitialRenderRef, targetRef, isTest]);
138
+ }, [open, targetRef, instRef, isInitialRenderRef, isTest]);
138
139
  useLayoutEffect(() => {
139
140
  const run = () => {
140
141
  isInitialRenderRef.current = false;
@@ -1 +1 @@
1
- {"version":3,"file":"useHeightAnimation.js","names":["React","useMemo","useRef","useState","HeightAnimationInstance","useLayoutEffect","window","useEffect","useHeightAnimation","targetRef","_instRef$current2","open","animate","children","onInit","onOpen","onAnimationStart","onAnimationEnd","arguments","length","undefined","instRef","isInitialRenderRef","globalThis","readjustTime","isOpen","setIsOpen","isVisible","setIsVisible","isAnimating","setIsAnimating","isVisibleParallax","setParallax","current","_instRef$current","remove","setOptions","global","IS_TEST","onStart","state","onEnd","useOpenClose","useAdjust","firstPaintStyle","isInDOM","_ref","setElement","setAsOpen","setAsClosed","isTest","process","env","NODE_ENV","close","_targetRef$current","event","CustomEvent","dispatchEvent","run","bypassTime","_window$requestAnimat","_window","requestAnimationFrame","call","_ref2","fromHeight","timer","Date","now","shouldAdjust","_instRef$current3","_instRef$current4","getHeight","elem","style","height","toHeight","adjustTo"],"sources":["../../../../src/components/height-animation/useHeightAnimation.tsx"],"sourcesContent":["import React, { useMemo, useRef, useState } from 'react'\nimport HeightAnimationInstance from './HeightAnimationInstance'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type useHeightAnimationOptions = {\n /**\n * Set to `true`, when initially `false` was given, to animate from 0px to auto.\n * Default: true\n */\n open?: boolean\n\n /**\n * Set to `false` to omit the animation.\n * Default: true\n */\n animate?: boolean\n\n /**\n * In order to let the Hook know when children has changed\n */\n children?: React.ReactNode | HTMLElement\n\n /**\n * Is called once before mounting the component (useLayoutEffect)\n */\n onInit?: (instance: HeightAnimationInstance) => void\n\n /**\n * Is called when fully opened or closed\n */\n onOpen?: (isOpen: boolean) => void\n\n /**\n * Is called when animation has started.\n */\n onAnimationStart?: (state: HeightAnimationOnStartTypes) => void\n\n /**\n * Is called when animation is done and the full height is reached.\n */\n onAnimationEnd?: (state: HeightAnimationOnEndTypes) => void\n}\n\nexport type HeightAnimationOnStartTypes =\n | 'opening'\n | 'closing'\n | 'adjusting'\n\nexport type HeightAnimationOnEndTypes = 'opened' | 'closed' | 'adjusted'\n\nexport function useHeightAnimation(\n targetRef: React.RefObject<HTMLElement>,\n {\n open = true,\n animate = true,\n children = null,\n onInit = null,\n onOpen = null,\n onAnimationStart = null,\n onAnimationEnd = null,\n }: useHeightAnimationOptions = {}\n) {\n const instRef = useRef<HeightAnimationInstance>(null)\n const isInitialRenderRef = useRef(\n typeof globalThis !== 'undefined'\n ? globalThis.readjustTime !== -1\n : true\n )\n\n const [isOpen, setIsOpen] = useState(open)\n const [isVisible, setIsVisible] = useState(false)\n const [isAnimating, setIsAnimating] = useState(false)\n const [isVisibleParallax, setParallax] = useState(open)\n\n useLayoutEffect(() => {\n instRef.current = new HeightAnimationInstance()\n onInit?.(instRef.current)\n return () => {\n instRef.current?.remove()\n instRef.current = null\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n instRef.current.setOptions({ animate })\n\n if (typeof global !== 'undefined' && globalThis.IS_TEST) {\n instRef.current.setOptions({ animate: false })\n }\n }, [animate])\n\n useLayoutEffect(() => {\n instRef.current.onStart((state: HeightAnimationOnStartTypes) => {\n switch (state) {\n case 'opening':\n setIsVisible(true)\n setParallax(true)\n setIsAnimating(true)\n break\n\n case 'closing':\n setParallax(false)\n setIsAnimating(true)\n break\n\n case 'adjusting':\n setIsAnimating(true)\n break\n }\n\n onAnimationStart?.(state)\n })\n\n instRef.current.onEnd((state: HeightAnimationOnEndTypes) => {\n switch (state) {\n case 'opened':\n setIsVisible(true)\n setIsOpen(true)\n setIsAnimating(false)\n onOpen?.(true)\n break\n\n case 'closed':\n setIsVisible(false)\n setIsOpen(false)\n setParallax(false)\n setIsAnimating(false)\n onOpen?.(false)\n break\n\n case 'adjusted':\n setIsAnimating(false)\n break\n }\n\n if (!isInitialRenderRef.current) {\n onAnimationEnd?.(state)\n }\n })\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useOpenClose({ open, instRef, isInitialRenderRef, targetRef })\n useAdjust({ children, instRef, isInitialRenderRef, targetRef })\n\n /**\n * Returns the first paint style, to be used for the initial render,\n * to avoid flickering.\n */\n const firstPaintStyle = ((open &&\n !isVisible &&\n !isAnimating &&\n instRef.current?.firstPaintStyle()) ||\n {}) as React.CSSProperties\n const isInDOM = open || isVisible\n\n return {\n open,\n isOpen,\n isInDOM,\n isVisible,\n isVisibleParallax,\n isAnimating,\n firstPaintStyle,\n }\n}\n\nfunction useOpenClose({ open, instRef, isInitialRenderRef, targetRef }) {\n useLayoutEffect(() => {\n instRef.current.setElement(targetRef.current)\n\n if (\n !targetRef.current ||\n (instRef.current.state === 'init' && isInitialRenderRef.current)\n ) {\n if (open) {\n instRef.current.setAsOpen()\n } else {\n instRef.current.setAsClosed()\n }\n }\n }, [open, targetRef, instRef, isInitialRenderRef])\n\n const isTest =\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test' &&\n typeof globalThis.IS_TEST === 'undefined'\n\n useLayoutEffect(() => {\n if (open) {\n instRef.current.open()\n } else {\n instRef.current.close()\n }\n\n // For testing purposes, we need to trigger the transitionend event\n if (isTest) {\n const event = new CustomEvent('transitionend')\n targetRef.current?.dispatchEvent(event)\n }\n }, [open, instRef, isInitialRenderRef, targetRef, isTest])\n\n useLayoutEffect(() => {\n const run = () => {\n isInitialRenderRef.current = false\n }\n if (globalThis.bypassTime === -1 || isTest) {\n run()\n } else {\n window.requestAnimationFrame?.(run)\n }\n }, [isInitialRenderRef, isTest])\n}\n\nfunction useAdjust({ children, instRef, isInitialRenderRef, targetRef }) {\n const fromHeight = useRef(0)\n\n const [timer] = useState(() => Date.now())\n\n /**\n * Wait for some criteria and a certain time, before we adjust the height,\n * so it will not run when a open/close animation is running.\n */\n const shouldAdjust = () => {\n switch (instRef.current?.state) {\n case 'opened':\n case 'adjusted':\n case 'adjusting':\n return (\n !isInitialRenderRef.current &&\n Date.now() - timer > (globalThis.readjustTime || 100)\n )\n }\n\n return false\n }\n\n useMemo(() => {\n if (shouldAdjust()) {\n fromHeight.current = instRef.current?.getHeight()\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n if (shouldAdjust()) {\n /**\n * In certain cases, the targetRef.current is outdated, so we need to set it again.\n * E.g. in Tabs.js, when we switch tabs, the targetRef.current is not updated.\n */\n instRef.current.setElement(targetRef.current)\n\n /**\n * Ensure we don't have height, while we get the \"toHeight\" again.\n * We may move this inside of the HeightAnimationInstance class later,\n * but the \"GlobalStatus\" is currently relying on \"getUnknownHeight\" inside of adjustTo.\n */\n instRef.current.elem.style.height = ''\n\n /**\n * Use getHeight instead of getUnknownHeight because of the additional,\n * disturbing DOM manipulation.\n */\n const toHeight = instRef.current.getHeight()\n\n instRef.current.adjustTo(fromHeight.current, toHeight)\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useHeightAnimation.js","names":["React","useMemo","useRef","useState","HeightAnimationInstance","useLayoutEffect","window","useEffect","useHeightAnimation","targetRef","_instRef$current2","open","animate","children","onInit","onOpen","onAnimationStart","onAnimationEnd","arguments","length","undefined","instRef","isInitialRenderRef","globalThis","readjustTime","isOpen","setIsOpen","isVisible","setIsVisible","isAnimating","setIsAnimating","isVisibleParallax","setParallax","current","_instRef$current","remove","setOptions","global","IS_TEST","onStart","state","onEnd","useOpenClose","useAdjust","firstPaintStyle","isInDOM","_ref","isTest","process","env","NODE_ENV","setElement","setAsOpen","setAsClosed","close","_targetRef$current","event","CustomEvent","dispatchEvent","run","bypassTime","_window$requestAnimat","_window","requestAnimationFrame","call","_ref2","fromHeight","timer","Date","now","shouldAdjust","_instRef$current3","_instRef$current4","getHeight","elem","style","height","toHeight","adjustTo"],"sources":["../../../../src/components/height-animation/useHeightAnimation.tsx"],"sourcesContent":["import React, { useMemo, useRef, useState } from 'react'\nimport HeightAnimationInstance from './HeightAnimationInstance'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type useHeightAnimationOptions = {\n /**\n * Set to `true`, when initially `false` was given, to animate from 0px to auto.\n * Default: true\n */\n open?: boolean\n\n /**\n * Set to `false` to omit the animation.\n * Default: true\n */\n animate?: boolean\n\n /**\n * In order to let the Hook know when children has changed\n */\n children?: React.ReactNode | HTMLElement\n\n /**\n * Is called once before mounting the component (useLayoutEffect)\n */\n onInit?: (instance: HeightAnimationInstance) => void\n\n /**\n * Is called when fully opened or closed\n */\n onOpen?: (isOpen: boolean) => void\n\n /**\n * Is called when animation has started.\n */\n onAnimationStart?: (state: HeightAnimationOnStartTypes) => void\n\n /**\n * Is called when animation is done and the full height is reached.\n */\n onAnimationEnd?: (state: HeightAnimationOnEndTypes) => void\n}\n\nexport type HeightAnimationOnStartTypes =\n | 'opening'\n | 'closing'\n | 'adjusting'\n\nexport type HeightAnimationOnEndTypes = 'opened' | 'closed' | 'adjusted'\n\nexport function useHeightAnimation(\n targetRef: React.RefObject<HTMLElement>,\n {\n open = true,\n animate = true,\n children = null,\n onInit = null,\n onOpen = null,\n onAnimationStart = null,\n onAnimationEnd = null,\n }: useHeightAnimationOptions = {}\n) {\n const instRef = useRef<HeightAnimationInstance>(null)\n const isInitialRenderRef = useRef(\n typeof globalThis !== 'undefined'\n ? globalThis.readjustTime !== -1\n : true\n )\n\n const [isOpen, setIsOpen] = useState(open)\n const [isVisible, setIsVisible] = useState(false)\n const [isAnimating, setIsAnimating] = useState(false)\n const [isVisibleParallax, setParallax] = useState(open)\n\n useLayoutEffect(() => {\n instRef.current = new HeightAnimationInstance()\n onInit?.(instRef.current)\n return () => {\n instRef.current?.remove()\n instRef.current = null\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n instRef.current.setOptions({ animate })\n\n if (typeof global !== 'undefined' && globalThis.IS_TEST) {\n instRef.current.setOptions({ animate: false })\n }\n }, [animate])\n\n useLayoutEffect(() => {\n instRef.current.onStart((state: HeightAnimationOnStartTypes) => {\n switch (state) {\n case 'opening':\n setIsVisible(true)\n setParallax(true)\n setIsAnimating(true)\n break\n\n case 'closing':\n setParallax(false)\n setIsAnimating(true)\n break\n\n case 'adjusting':\n setIsAnimating(true)\n break\n }\n\n if (!isInitialRenderRef.current) {\n onAnimationStart?.(state)\n }\n })\n\n instRef.current.onEnd((state: HeightAnimationOnEndTypes) => {\n switch (state) {\n case 'opened':\n setIsVisible(true)\n setIsOpen(true)\n setIsAnimating(false)\n onOpen?.(true)\n break\n\n case 'closed':\n setIsVisible(false)\n setIsOpen(false)\n setParallax(false)\n setIsAnimating(false)\n onOpen?.(false)\n break\n\n case 'adjusted':\n setIsAnimating(false)\n break\n }\n\n if (!isInitialRenderRef.current) {\n onAnimationEnd?.(state)\n }\n })\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useOpenClose({ open, instRef, isInitialRenderRef, targetRef })\n useAdjust({ children, instRef, isInitialRenderRef, targetRef })\n\n /**\n * Returns the first paint style, to be used for the initial render,\n * to avoid flickering.\n */\n const firstPaintStyle = ((open &&\n !isVisible &&\n !isAnimating &&\n instRef.current?.firstPaintStyle) ||\n {}) as React.CSSProperties\n const isInDOM = open || isVisible\n\n return {\n open,\n isOpen,\n isInDOM,\n isVisible,\n isVisibleParallax,\n isAnimating,\n firstPaintStyle,\n }\n}\n\nfunction useOpenClose({ open, instRef, isInitialRenderRef, targetRef }) {\n const isTest =\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test' &&\n typeof globalThis.IS_TEST === 'undefined'\n\n useLayoutEffect(() => {\n instRef.current.setElement(targetRef.current)\n\n if (\n !targetRef.current ||\n (instRef.current.state === 'init' && isInitialRenderRef.current)\n ) {\n if (open) {\n instRef.current.setAsOpen()\n } else {\n instRef.current.setAsClosed()\n }\n } else {\n if (open) {\n instRef.current.open()\n } else {\n instRef.current.close()\n }\n }\n\n // For testing purposes, we need to trigger the transitionend event\n if (isTest) {\n const event = new CustomEvent('transitionend')\n targetRef.current?.dispatchEvent(event)\n }\n }, [open, targetRef, instRef, isInitialRenderRef, isTest])\n\n useLayoutEffect(() => {\n const run = () => {\n isInitialRenderRef.current = false\n }\n if (globalThis.bypassTime === -1 || isTest) {\n run()\n } else {\n window.requestAnimationFrame?.(run)\n }\n }, [isInitialRenderRef, isTest])\n}\n\nfunction useAdjust({ children, instRef, isInitialRenderRef, targetRef }) {\n const fromHeight = useRef(0)\n\n const [timer] = useState(() => Date.now())\n\n /**\n * Wait for some criteria and a certain time, before we adjust the height,\n * so it will not run when a open/close animation is running.\n */\n const shouldAdjust = () => {\n switch (instRef.current?.state) {\n case 'opened':\n case 'adjusted':\n case 'adjusting':\n return (\n !isInitialRenderRef.current &&\n Date.now() - timer > (globalThis.readjustTime || 100)\n )\n }\n\n return false\n }\n\n useMemo(() => {\n if (shouldAdjust()) {\n fromHeight.current = instRef.current?.getHeight()\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n if (shouldAdjust()) {\n /**\n * In certain cases, the targetRef.current is outdated, so we need to set it again.\n * E.g. in Tabs.js, when we switch tabs, the targetRef.current is not updated.\n */\n instRef.current.setElement(targetRef.current)\n\n /**\n * Ensure we don't have height, while we get the \"toHeight\" again.\n * We may move this inside of the HeightAnimationInstance class later,\n * but the \"GlobalStatus\" is currently relying on \"getUnknownHeight\" inside of adjustTo.\n */\n instRef.current.elem.style.height = ''\n\n /**\n * Use getHeight instead of getUnknownHeight because of the additional,\n * disturbing DOM manipulation.\n */\n const toHeight = instRef.current.getHeight()\n\n instRef.current.adjustTo(fromHeight.current, toHeight)\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n}\n"],"mappings":"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"}
@@ -196,7 +196,7 @@ export default class Input extends React.Component<InputProps, any> {
196
196
  render(): JSX.Element;
197
197
  }
198
198
  export interface SubmitButtonProps
199
- extends React.HTMLProps<HTMLInputElement> {
199
+ extends React.HTMLProps<HTMLButtonElement> {
200
200
  id?: string;
201
201
  /**
202
202
  * The content value of the input.
@@ -23,7 +23,7 @@ export interface formatReturnValue {
23
23
  aria: string;
24
24
 
25
25
  /** Language code, like en-US */
26
- locale: string;
26
+ locale: Locale;
27
27
 
28
28
  /** The given type */
29
29
  type: formatTypes | string;
@@ -1,5 +1,5 @@
1
1
  declare function InfinityScroller(props: any): import("react/jsx-runtime").JSX.Element;
2
2
  declare namespace InfinityScroller {
3
- const _supportsSpacingProps: boolean;
3
+ let _supportsSpacingProps: boolean;
4
4
  }
5
5
  export default InfinityScroller;
@@ -78,8 +78,8 @@ export default class ProgressIndicator extends React.PureComponent {
78
78
  const indicatorLabel = label || children || isTrue(show_label) && indicator_label;
79
79
  const progressTitle = title || formatProgress(progress);
80
80
  validateDOMAttributes(this.props, params);
81
- return React.createElement("div", _extends({
82
- className: classnames('dnb-progress-indicator', createSpacingClasses(props), className, _className, visible && 'dnb-progress-indicator--visible', complete && 'dnb-progress-indicator--complete', label_direction && `dnb-progress-indicator--${label_direction}`, isTrue(no_animation) && 'dnb-progress-indicator--no-animation', type === 'linear' && 'dnb-progress-indicator--full-width')
81
+ return React.createElement("span", _extends({
82
+ className: classnames('dnb-progress-indicator', createSpacingClasses(props), className, _className, visible && 'dnb-progress-indicator--visible', complete && 'dnb-progress-indicator--complete', label_direction && `dnb-progress-indicator--${label_direction}`, size && `dnb-progress-indicator--${size}`, isTrue(no_animation) && 'dnb-progress-indicator--no-animation', type === 'linear' && 'dnb-progress-indicator--full-width')
83
83
  }, params), type === 'circular' && React.createElement(ProgressIndicatorCircular, {
84
84
  size: size,
85
85
  progress: progress,
@@ -96,11 +96,9 @@ export default class ProgressIndicator extends React.PureComponent {
96
96
  onComplete: on_complete,
97
97
  callOnCompleteHandler: this.callOnCompleteHandler,
98
98
  title: progressTitle
99
- }), indicatorLabel && React.createElement("div", {
100
- className: "dnb-progress-indicator__label"
101
- }, React.createElement("p", {
102
- className: "dnb-p"
103
- }, indicatorLabel)));
99
+ }), indicatorLabel && React.createElement("span", {
100
+ className: "dnb-progress-indicator__label dnb-p"
101
+ }, indicatorLabel));
104
102
  }
105
103
  }
106
104
  _defineProperty(ProgressIndicator, "contextType", Context);
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressIndicator.js","names":["React","PropTypes","classnames","Context","isTrue","validateDOMAttributes","dispatchCustomElementEvent","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","ProgressIndicatorCircular","ProgressIndicatorLinear","format","ProgressIndicator","PureComponent","constructor","arguments","_defineProperty","_listenForPropChanges","completeTimeout","setTimeout","setState","complete","props","on_complete","fadeOutTimeout","getDerivedStateFromProps","state","visible","progress","parseFloat","undefined","componentWillUnmount","clearTimeout","render","defaultProps","context","getTranslation","type","size","no_animation","label","indicator_label","label_direction","show_label","className","class","_className","children","title","_progress","_visible","_complete","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","indicatorLabel","progressTitle","formatProgress","createElement","_extends","onComplete","callOnCompleteHandler","section_style","section_spacing","process","env","NODE_ENV","propTypes","oneOfType","string","bool","oneOf","number","node","func","decimals","percent","_supportsSpacingProps"],"sources":["../../../../src/components/progress-indicator/ProgressIndicator.js"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport ProgressIndicatorCircular from './ProgressIndicatorCircular'\nimport ProgressIndicatorLinear from './ProgressIndicatorLinear'\nimport { format } from '../number-format/NumberUtils'\n\nexport default class ProgressIndicator extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n visible: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n type: PropTypes.oneOf(['circular', 'linear']),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large', 'huge']),\n progress: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.node,\n label_direction: PropTypes.string,\n show_label: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indicator_label: PropTypes.string,\n section_style: PropTypes.string,\n section_spacing: PropTypes.string,\n title: PropTypes.string,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_complete: PropTypes.func,\n }\n\n static defaultProps = {\n visible: true,\n type: 'circular',\n no_animation: false,\n size: 'default',\n progress: null,\n label: null,\n label_direction: 'horizontal',\n show_label: false,\n indicator_label: null,\n section_style: null,\n section_spacing: null,\n title: null,\n class: null,\n className: null,\n children: null,\n\n on_complete: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n state.visible = isTrue(props.visible)\n if (state.visible) {\n state.complete = false\n }\n state.progress =\n parseFloat(props.progress) > -1 ? props.progress : undefined\n }\n state._listenForPropChanges = true\n return state\n }\n\n state = {\n _listenForPropChanges: true,\n }\n\n componentWillUnmount() {\n clearTimeout(this.completeTimeout)\n clearTimeout(this.fadeOutTimeout)\n }\n\n callOnCompleteHandler = () => {\n this.completeTimeout = setTimeout(() => {\n this.setState({\n complete: true,\n })\n if (typeof this.props.on_complete === 'function') {\n this.fadeOutTimeout = setTimeout(() => {\n dispatchCustomElementEvent(this, 'on_complete')\n }, 600) // wait for CSS fade out, defined in \"progress-indicator-fade-out\"\n }\n }, 200)\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ProgressIndicator.defaultProps,\n this.context.getTranslation(this.props).ProgressIndicator,\n this.context.ProgressIndicator\n )\n\n const {\n type,\n size,\n no_animation,\n on_complete,\n label,\n indicator_label,\n label_direction,\n show_label,\n className,\n class: _className,\n children,\n title,\n progress: _progress, //eslint-disable-line\n visible: _visible, //eslint-disable-line\n complete: _complete, //eslint-disable-line\n ...attributes\n } = props\n\n const { progress, visible, complete } = this.state\n\n const params = { ...attributes }\n\n const indicatorLabel =\n label || children || (isTrue(show_label) && indicator_label)\n\n const progressTitle = title || formatProgress(progress)\n\n validateDOMAttributes(this.props, params)\n\n return (\n <div\n className={classnames(\n 'dnb-progress-indicator',\n visible && 'dnb-progress-indicator--visible',\n complete && 'dnb-progress-indicator--complete',\n type === 'linear' && 'dnb-progress-indicator--full-width',\n label_direction && `dnb-progress-indicator--${label_direction}`,\n isTrue(no_animation) && 'dnb-progress-indicator--no-animation',\n createSpacingClasses(props),\n className,\n _className\n )}\n {...params}\n >\n {type === 'circular' && (\n <ProgressIndicatorCircular\n size={size}\n progress={progress}\n visible={visible}\n complete={complete}\n onComplete={on_complete}\n callOnCompleteHandler={this.callOnCompleteHandler}\n title={progressTitle}\n />\n )}\n {type === 'linear' && (\n <ProgressIndicatorLinear\n size={size}\n progress={progress}\n visible={visible}\n complete={complete}\n onComplete={on_complete}\n callOnCompleteHandler={this.callOnCompleteHandler}\n title={progressTitle}\n />\n )}\n {indicatorLabel && (\n <div className=\"dnb-progress-indicator__label\">\n <p className=\"dnb-p\">{indicatorLabel}</p>\n </div>\n )}\n </div>\n )\n }\n}\n\nfunction formatProgress(progress) {\n if (parseFloat(progress) > -1) {\n return format(progress, {\n decimals: 2,\n percent: true,\n })\n }\n return null\n}\n\nProgressIndicator._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressIndicator.js","names":["React","PropTypes","classnames","Context","isTrue","validateDOMAttributes","dispatchCustomElementEvent","extendPropsWithContextInClassComponent","spacingPropTypes","createSpacingClasses","ProgressIndicatorCircular","ProgressIndicatorLinear","format","ProgressIndicator","PureComponent","constructor","arguments","_defineProperty","_listenForPropChanges","completeTimeout","setTimeout","setState","complete","props","on_complete","fadeOutTimeout","getDerivedStateFromProps","state","visible","progress","parseFloat","undefined","componentWillUnmount","clearTimeout","render","defaultProps","context","getTranslation","type","size","no_animation","label","indicator_label","label_direction","show_label","className","class","_className","children","title","_progress","_visible","_complete","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","indicatorLabel","progressTitle","formatProgress","createElement","_extends","onComplete","callOnCompleteHandler","section_style","section_spacing","process","env","NODE_ENV","propTypes","oneOfType","string","bool","oneOf","number","node","func","decimals","percent","_supportsSpacingProps"],"sources":["../../../../src/components/progress-indicator/ProgressIndicator.js"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport ProgressIndicatorCircular from './ProgressIndicatorCircular'\nimport ProgressIndicatorLinear from './ProgressIndicatorLinear'\nimport { format } from '../number-format/NumberUtils'\n\nexport default class ProgressIndicator extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n visible: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n type: PropTypes.oneOf(['circular', 'linear']),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large', 'huge']),\n progress: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.node,\n label_direction: PropTypes.string,\n show_label: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indicator_label: PropTypes.string,\n section_style: PropTypes.string,\n section_spacing: PropTypes.string,\n title: PropTypes.string,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_complete: PropTypes.func,\n }\n\n static defaultProps = {\n visible: true,\n type: 'circular',\n no_animation: false,\n size: 'default',\n progress: null,\n label: null,\n label_direction: 'horizontal',\n show_label: false,\n indicator_label: null,\n section_style: null,\n section_spacing: null,\n title: null,\n class: null,\n className: null,\n children: null,\n\n on_complete: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n state.visible = isTrue(props.visible)\n if (state.visible) {\n state.complete = false\n }\n state.progress =\n parseFloat(props.progress) > -1 ? props.progress : undefined\n }\n state._listenForPropChanges = true\n return state\n }\n\n state = {\n _listenForPropChanges: true,\n }\n\n componentWillUnmount() {\n clearTimeout(this.completeTimeout)\n clearTimeout(this.fadeOutTimeout)\n }\n\n callOnCompleteHandler = () => {\n this.completeTimeout = setTimeout(() => {\n this.setState({\n complete: true,\n })\n if (typeof this.props.on_complete === 'function') {\n this.fadeOutTimeout = setTimeout(() => {\n dispatchCustomElementEvent(this, 'on_complete')\n }, 600) // wait for CSS fade out, defined in \"progress-indicator-fade-out\"\n }\n }, 200)\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ProgressIndicator.defaultProps,\n this.context.getTranslation(this.props).ProgressIndicator,\n this.context.ProgressIndicator\n )\n\n const {\n type,\n size,\n no_animation,\n on_complete,\n label,\n indicator_label,\n label_direction,\n show_label,\n className,\n class: _className,\n children,\n title,\n progress: _progress, // eslint-disable-line\n visible: _visible, // eslint-disable-line\n complete: _complete, // eslint-disable-line\n ...attributes\n } = props\n\n const { progress, visible, complete } = this.state\n\n const params = { ...attributes }\n\n const indicatorLabel =\n label || children || (isTrue(show_label) && indicator_label)\n\n const progressTitle = title || formatProgress(progress)\n\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator',\n visible && 'dnb-progress-indicator--visible',\n complete && 'dnb-progress-indicator--complete',\n type === 'linear' && 'dnb-progress-indicator--full-width',\n label_direction && `dnb-progress-indicator--${label_direction}`,\n size && `dnb-progress-indicator--${size}`,\n isTrue(no_animation) && 'dnb-progress-indicator--no-animation',\n createSpacingClasses(props),\n className,\n _className\n )}\n {...params}\n >\n {type === 'circular' && (\n <ProgressIndicatorCircular\n size={size}\n progress={progress}\n visible={visible}\n complete={complete}\n onComplete={on_complete}\n callOnCompleteHandler={this.callOnCompleteHandler}\n title={progressTitle}\n />\n )}\n {type === 'linear' && (\n <ProgressIndicatorLinear\n size={size}\n progress={progress}\n visible={visible}\n complete={complete}\n onComplete={on_complete}\n callOnCompleteHandler={this.callOnCompleteHandler}\n title={progressTitle}\n />\n )}\n {indicatorLabel && (\n <span className=\"dnb-progress-indicator__label dnb-p\">\n {indicatorLabel}\n </span>\n )}\n </span>\n )\n }\n}\n\nfunction formatProgress(progress) {\n if (parseFloat(progress) > -1) {\n return format(progress, {\n decimals: 2,\n percent: true,\n })\n }\n return null\n}\n\nProgressIndicator._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -141,7 +141,7 @@ export default class ProgressIndicatorCircular extends React.PureComponent {
141
141
  params['aria-busy'] = true;
142
142
  }
143
143
  validateDOMAttributes(this.props, params);
144
- return React.createElement("div", _extends({
144
+ return React.createElement("span", _extends({
145
145
  className: classnames('dnb-progress-indicator__circular', size && `dnb-progress-indicator__circular--${size}`, hasProgressValue && 'dnb-progress-indicator__circular--has-progress-value')
146
146
  }, params), _Circle || (_Circle = React.createElement(Circle, {
147
147
  className: "dnb-progress-indicator__circular__line light paused"