@dnb/eufemia 10.21.0 → 10.22.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 (468) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/breadcrumb/Breadcrumb.d.ts +2 -2
  4. package/cjs/components/breadcrumb/Breadcrumb.js +3 -3
  5. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  6. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  7. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  8. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  9. package/cjs/components/button/Button.js +2 -2
  10. package/cjs/components/button/Button.js.map +1 -1
  11. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  12. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  13. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  14. package/cjs/components/card/style/dnb-card.css +11 -2
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +12 -2
  17. package/cjs/components/form-label/style/dnb-form-label.css +4 -1
  18. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  19. package/cjs/components/form-label/style/dnb-form-label.scss +5 -2
  20. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  21. package/cjs/components/global-status/GlobalStatusProvider.d.ts +1 -1
  22. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  23. package/cjs/components/height-animation/HeightAnimationInstance.js +12 -12
  24. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  25. package/cjs/components/height-animation/useHeightAnimation.js +11 -10
  26. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  27. package/cjs/components/input/Input.d.ts +1 -1
  28. package/cjs/components/pagination/InfinityScroller.d.ts +1 -1
  29. package/cjs/components/progress-indicator/ProgressIndicator.js +5 -7
  30. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  31. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  32. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  33. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  34. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  35. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  36. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  37. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  38. package/cjs/components/space/SpacingHelper.d.ts +5 -5
  39. package/cjs/components/table/Table.js +2 -2
  40. package/cjs/components/table/Table.js.map +1 -1
  41. package/cjs/components/table/TableAccordion.js +40 -57
  42. package/cjs/components/table/TableAccordion.js.map +1 -1
  43. package/cjs/components/table/TableAccordionTd.d.ts +9 -0
  44. package/cjs/components/table/{TableAccordionContent.js → TableAccordionTd.js} +16 -54
  45. package/cjs/components/table/TableAccordionTd.js.map +1 -0
  46. package/cjs/components/table/TableAccordionTr.d.ts +13 -0
  47. package/cjs/components/table/TableAccordionTr.js +61 -0
  48. package/cjs/components/table/TableAccordionTr.js.map +1 -0
  49. package/cjs/components/table/TableContext.d.ts +2 -2
  50. package/cjs/components/table/TableContext.js +4 -3
  51. package/cjs/components/table/TableContext.js.map +1 -1
  52. package/cjs/components/table/TableTd.d.ts +2 -2
  53. package/cjs/components/table/TableTd.js +2 -2
  54. package/cjs/components/table/TableTd.js.map +1 -1
  55. package/cjs/components/table/TableTr.d.ts +6 -1
  56. package/cjs/components/table/TableTr.js +10 -5
  57. package/cjs/components/table/TableTr.js.map +1 -1
  58. package/cjs/components/table/style/dnb-table.css +84 -64
  59. package/cjs/components/table/style/dnb-table.min.css +1 -1
  60. package/cjs/components/table/style/dnb-table.scss +1 -1
  61. package/cjs/components/table/style/table-accordion.scss +62 -44
  62. package/cjs/components/table/style/table-td.scss +1 -1
  63. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  64. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  65. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  66. package/cjs/components/table/useTableAnimationHandler.d.ts +20 -0
  67. package/cjs/components/table/useTableAnimationHandler.js +73 -0
  68. package/cjs/components/table/useTableAnimationHandler.js.map +1 -0
  69. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -3
  71. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  72. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  73. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -5
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  75. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  76. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -2
  77. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  78. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  79. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  80. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  81. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  82. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  83. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  84. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  85. package/cjs/extensions/forms/Form/data-context/useData.js +1 -17
  86. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  87. package/cjs/extensions/forms/Form/data-context/useError.d.ts +2 -1
  88. package/cjs/extensions/forms/Form/data-context/useError.js +4 -2
  89. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  90. package/cjs/extensions/forms/Value/Number/Number.d.ts +2 -2
  91. package/cjs/extensions/forms/Value/Number/Number.js +1 -1
  92. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -12
  94. package/cjs/extensions/forms/hooks/useDataValue.js +3 -3
  95. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  96. package/cjs/extensions/forms/hooks/useMounted.d.ts +2 -0
  97. package/cjs/extensions/forms/hooks/useMounted.js +19 -0
  98. package/cjs/extensions/forms/hooks/useMounted.js.map +1 -0
  99. package/cjs/extensions/forms/style/dnb-forms.css +8 -2
  100. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  101. package/cjs/extensions/forms/types.d.ts +2 -0
  102. package/cjs/extensions/forms/types.js.map +1 -1
  103. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  104. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  105. package/cjs/shared/Eufemia.d.ts +1 -1
  106. package/cjs/shared/Eufemia.js +2 -2
  107. package/cjs/shared/Eufemia.js.map +1 -1
  108. package/cjs/shared/Theme.d.ts +7 -1
  109. package/cjs/shared/Theme.js +20 -7
  110. package/cjs/shared/Theme.js.map +1 -1
  111. package/cjs/shared/helpers/debounce.d.ts +37 -0
  112. package/cjs/shared/helpers/debounce.js +92 -0
  113. package/cjs/shared/helpers/debounce.js.map +1 -0
  114. package/cjs/shared/helpers/useSharedState.d.ts +1 -0
  115. package/cjs/shared/helpers/useSharedState.js +52 -20
  116. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  117. package/cjs/shared/helpers/withCamelCaseProps.d.ts +7 -0
  118. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  119. package/cjs/shared/helpers.d.ts +1 -25
  120. package/cjs/shared/helpers.js +15 -37
  121. package/cjs/shared/helpers.js.map +1 -1
  122. package/cjs/shared/useTheme.d.ts +1 -0
  123. package/cjs/style/dnb-ui-components.css +119 -73
  124. package/cjs/style/dnb-ui-components.min.css +3 -3
  125. package/cjs/style/dnb-ui-extensions.css +8 -2
  126. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  127. package/cjs/style/dnb-ui-forms.css +8 -2
  128. package/cjs/style/dnb-ui-forms.min.css +1 -1
  129. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +127 -75
  130. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  131. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -2
  132. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  133. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -2
  134. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  136. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  137. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +160 -86
  138. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  139. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  140. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +8 -2
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +8 -2
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  145. package/cjs/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  146. package/cjs/style/themes/theme-ui/ui-theme-components.css +127 -75
  147. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  148. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  150. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -2
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  152. package/components/aria-live/useAriaLive.d.ts +1 -1
  153. package/components/breadcrumb/Breadcrumb.d.ts +2 -2
  154. package/components/breadcrumb/Breadcrumb.js +3 -3
  155. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  156. package/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  157. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  158. package/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  159. package/components/button/Button.js +2 -2
  160. package/components/button/Button.js.map +1 -1
  161. package/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  162. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  163. package/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  164. package/components/card/style/dnb-card.css +11 -2
  165. package/components/card/style/dnb-card.min.css +1 -1
  166. package/components/card/style/dnb-card.scss +12 -2
  167. package/components/form-label/style/dnb-form-label.css +4 -1
  168. package/components/form-label/style/dnb-form-label.min.css +1 -1
  169. package/components/form-label/style/dnb-form-label.scss +5 -2
  170. package/components/global-status/GlobalStatus.d.ts +1 -1
  171. package/components/global-status/GlobalStatusProvider.d.ts +1 -1
  172. package/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  173. package/components/height-animation/HeightAnimationInstance.js +12 -12
  174. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  175. package/components/height-animation/useHeightAnimation.js +11 -10
  176. package/components/height-animation/useHeightAnimation.js.map +1 -1
  177. package/components/input/Input.d.ts +1 -1
  178. package/components/pagination/InfinityScroller.d.ts +1 -1
  179. package/components/progress-indicator/ProgressIndicator.js +5 -7
  180. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  181. package/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  182. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  183. package/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  184. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  185. package/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  186. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  187. package/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  188. package/components/space/SpacingHelper.d.ts +5 -5
  189. package/components/table/Table.js +1 -1
  190. package/components/table/Table.js.map +1 -1
  191. package/components/table/TableAccordion.js +38 -53
  192. package/components/table/TableAccordion.js.map +1 -1
  193. package/components/table/TableAccordionTd.d.ts +9 -0
  194. package/{es/components/table/TableAccordionContent.js → components/table/TableAccordionTd.js} +14 -48
  195. package/components/table/TableAccordionTd.js.map +1 -0
  196. package/components/table/TableAccordionTr.d.ts +13 -0
  197. package/components/table/TableAccordionTr.js +51 -0
  198. package/components/table/TableAccordionTr.js.map +1 -0
  199. package/components/table/TableContext.d.ts +2 -2
  200. package/components/table/TableContext.js +2 -2
  201. package/components/table/TableContext.js.map +1 -1
  202. package/components/table/TableTd.d.ts +2 -2
  203. package/components/table/TableTd.js +2 -2
  204. package/components/table/TableTd.js.map +1 -1
  205. package/components/table/TableTr.d.ts +6 -1
  206. package/components/table/TableTr.js +9 -4
  207. package/components/table/TableTr.js.map +1 -1
  208. package/components/table/style/dnb-table.css +84 -64
  209. package/components/table/style/dnb-table.min.css +1 -1
  210. package/components/table/style/dnb-table.scss +1 -1
  211. package/components/table/style/table-accordion.scss +62 -44
  212. package/components/table/style/table-td.scss +1 -1
  213. package/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  214. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  215. package/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  216. package/components/table/useTableAnimationHandler.d.ts +20 -0
  217. package/components/table/useTableAnimationHandler.js +63 -0
  218. package/components/table/useTableAnimationHandler.js.map +1 -0
  219. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  220. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  221. package/es/components/breadcrumb/Breadcrumb.d.ts +2 -2
  222. package/es/components/breadcrumb/Breadcrumb.js +3 -3
  223. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  224. package/es/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  225. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  226. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  227. package/es/components/button/Button.js +2 -2
  228. package/es/components/button/Button.js.map +1 -1
  229. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  230. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  231. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  232. package/es/components/card/style/dnb-card.css +11 -2
  233. package/es/components/card/style/dnb-card.min.css +1 -1
  234. package/es/components/card/style/dnb-card.scss +12 -2
  235. package/es/components/form-label/style/dnb-form-label.css +4 -1
  236. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  237. package/es/components/form-label/style/dnb-form-label.scss +5 -2
  238. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  239. package/es/components/global-status/GlobalStatusProvider.d.ts +1 -1
  240. package/es/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  241. package/es/components/height-animation/HeightAnimationInstance.js +12 -12
  242. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  243. package/es/components/height-animation/useHeightAnimation.js +11 -10
  244. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  245. package/es/components/input/Input.d.ts +1 -1
  246. package/es/components/pagination/InfinityScroller.d.ts +1 -1
  247. package/es/components/progress-indicator/ProgressIndicator.js +5 -7
  248. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  249. package/es/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  250. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  251. package/es/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  252. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  253. package/es/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  254. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  255. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  256. package/es/components/space/SpacingHelper.d.ts +5 -5
  257. package/es/components/table/Table.js +1 -1
  258. package/es/components/table/Table.js.map +1 -1
  259. package/es/components/table/TableAccordion.js +38 -53
  260. package/es/components/table/TableAccordion.js.map +1 -1
  261. package/es/components/table/TableAccordionTd.d.ts +9 -0
  262. package/{components/table/TableAccordionContent.js → es/components/table/TableAccordionTd.js} +14 -49
  263. package/es/components/table/TableAccordionTd.js.map +1 -0
  264. package/es/components/table/TableAccordionTr.d.ts +13 -0
  265. package/es/components/table/TableAccordionTr.js +51 -0
  266. package/es/components/table/TableAccordionTr.js.map +1 -0
  267. package/es/components/table/TableContext.d.ts +2 -2
  268. package/es/components/table/TableContext.js +2 -2
  269. package/es/components/table/TableContext.js.map +1 -1
  270. package/es/components/table/TableTd.d.ts +2 -2
  271. package/es/components/table/TableTd.js +2 -2
  272. package/es/components/table/TableTd.js.map +1 -1
  273. package/es/components/table/TableTr.d.ts +6 -1
  274. package/es/components/table/TableTr.js +9 -4
  275. package/es/components/table/TableTr.js.map +1 -1
  276. package/es/components/table/style/dnb-table.css +84 -64
  277. package/es/components/table/style/dnb-table.min.css +1 -1
  278. package/es/components/table/style/dnb-table.scss +1 -1
  279. package/es/components/table/style/table-accordion.scss +62 -44
  280. package/es/components/table/style/table-td.scss +1 -1
  281. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  282. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  283. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  284. package/es/components/table/useTableAnimationHandler.d.ts +20 -0
  285. package/es/components/table/useTableAnimationHandler.js +62 -0
  286. package/es/components/table/useTableAnimationHandler.js.map +1 -0
  287. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  288. package/es/extensions/forms/DataContext/Context.d.ts +1 -3
  289. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  290. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  291. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -5
  292. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  293. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  294. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -2
  295. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  296. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  297. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  298. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  299. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  300. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  301. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  302. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  303. package/es/extensions/forms/Form/data-context/useData.js +2 -18
  304. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  305. package/es/extensions/forms/Form/data-context/useError.d.ts +2 -1
  306. package/es/extensions/forms/Form/data-context/useError.js +4 -2
  307. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  308. package/es/extensions/forms/Value/Number/Number.d.ts +2 -2
  309. package/es/extensions/forms/Value/Number/Number.js +1 -1
  310. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  311. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -12
  312. package/es/extensions/forms/hooks/useDataValue.js +5 -5
  313. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  314. package/es/extensions/forms/hooks/useMounted.d.ts +2 -0
  315. package/es/extensions/forms/hooks/useMounted.js +14 -0
  316. package/es/extensions/forms/hooks/useMounted.js.map +1 -0
  317. package/es/extensions/forms/style/dnb-forms.css +8 -2
  318. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  319. package/es/extensions/forms/types.d.ts +2 -0
  320. package/es/extensions/forms/types.js.map +1 -1
  321. package/es/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  322. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  323. package/es/shared/Eufemia.d.ts +1 -1
  324. package/es/shared/Eufemia.js +2 -2
  325. package/es/shared/Eufemia.js.map +1 -1
  326. package/es/shared/Theme.d.ts +7 -1
  327. package/es/shared/Theme.js +20 -7
  328. package/es/shared/Theme.js.map +1 -1
  329. package/es/shared/helpers/debounce.d.ts +37 -0
  330. package/es/shared/helpers/debounce.js +76 -0
  331. package/es/shared/helpers/debounce.js.map +1 -0
  332. package/es/shared/helpers/useSharedState.d.ts +1 -0
  333. package/es/shared/helpers/useSharedState.js +49 -20
  334. package/es/shared/helpers/useSharedState.js.map +1 -1
  335. package/es/shared/helpers/withCamelCaseProps.d.ts +7 -0
  336. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  337. package/es/shared/helpers.d.ts +1 -25
  338. package/es/shared/helpers.js +1 -29
  339. package/es/shared/helpers.js.map +1 -1
  340. package/es/shared/useTheme.d.ts +1 -0
  341. package/es/style/dnb-ui-components.css +119 -73
  342. package/es/style/dnb-ui-components.min.css +3 -3
  343. package/es/style/dnb-ui-extensions.css +8 -2
  344. package/es/style/dnb-ui-extensions.min.css +1 -1
  345. package/es/style/dnb-ui-forms.css +8 -2
  346. package/es/style/dnb-ui-forms.min.css +1 -1
  347. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +127 -75
  348. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  349. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -2
  350. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  351. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -2
  352. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  353. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  354. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  355. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +160 -86
  356. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  357. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  358. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  359. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +8 -2
  360. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  361. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +8 -2
  362. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  363. package/es/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  364. package/es/style/themes/theme-ui/ui-theme-components.css +127 -75
  365. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  366. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -2
  367. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  368. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -2
  369. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  370. package/esm/dnb-ui-basis.min.mjs +1 -1
  371. package/esm/dnb-ui-components.min.mjs +1 -1
  372. package/esm/dnb-ui-elements.min.mjs +1 -1
  373. package/esm/dnb-ui-extensions.min.mjs +3 -3
  374. package/esm/dnb-ui-lib.min.mjs +1 -1
  375. package/extensions/forms/DataContext/Context.d.ts +1 -3
  376. package/extensions/forms/DataContext/Context.js.map +1 -1
  377. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  378. package/extensions/forms/DataContext/Provider/Provider.js +1 -5
  379. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  380. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  381. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -2
  382. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  383. package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  384. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  385. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  386. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  387. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  388. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  389. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  390. package/extensions/forms/Form/data-context/useData.js +2 -18
  391. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  392. package/extensions/forms/Form/data-context/useError.d.ts +2 -1
  393. package/extensions/forms/Form/data-context/useError.js +4 -2
  394. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  395. package/extensions/forms/Value/Number/Number.d.ts +2 -2
  396. package/extensions/forms/Value/Number/Number.js +1 -1
  397. package/extensions/forms/Value/Number/Number.js.map +1 -1
  398. package/extensions/forms/hooks/useDataValue.d.ts +4 -12
  399. package/extensions/forms/hooks/useDataValue.js +5 -5
  400. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  401. package/extensions/forms/hooks/useMounted.d.ts +2 -0
  402. package/extensions/forms/hooks/useMounted.js +14 -0
  403. package/extensions/forms/hooks/useMounted.js.map +1 -0
  404. package/extensions/forms/style/dnb-forms.css +8 -2
  405. package/extensions/forms/style/dnb-forms.min.css +1 -1
  406. package/extensions/forms/types.d.ts +2 -0
  407. package/extensions/forms/types.js.map +1 -1
  408. package/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  409. package/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  410. package/package.json +1 -1
  411. package/shared/Eufemia.d.ts +1 -1
  412. package/shared/Eufemia.js +2 -2
  413. package/shared/Eufemia.js.map +1 -1
  414. package/shared/Theme.d.ts +7 -1
  415. package/shared/Theme.js +20 -7
  416. package/shared/Theme.js.map +1 -1
  417. package/shared/helpers/debounce.d.ts +37 -0
  418. package/shared/helpers/debounce.js +83 -0
  419. package/shared/helpers/debounce.js.map +1 -0
  420. package/shared/helpers/useSharedState.d.ts +1 -0
  421. package/shared/helpers/useSharedState.js +49 -20
  422. package/shared/helpers/useSharedState.js.map +1 -1
  423. package/shared/helpers/withCamelCaseProps.d.ts +7 -0
  424. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  425. package/shared/helpers.d.ts +1 -25
  426. package/shared/helpers.js +3 -36
  427. package/shared/helpers.js.map +1 -1
  428. package/shared/useTheme.d.ts +1 -0
  429. package/style/dnb-ui-components.css +119 -73
  430. package/style/dnb-ui-components.min.css +3 -3
  431. package/style/dnb-ui-extensions.css +8 -2
  432. package/style/dnb-ui-extensions.min.css +1 -1
  433. package/style/dnb-ui-forms.css +8 -2
  434. package/style/dnb-ui-forms.min.css +1 -1
  435. package/style/themes/theme-eiendom/eiendom-theme-components.css +127 -75
  436. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  437. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -2
  438. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  439. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -2
  440. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  441. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  442. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  443. package/style/themes/theme-sbanken/sbanken-theme-components.css +160 -86
  444. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  445. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  446. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  447. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +8 -2
  448. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-forms.css +8 -2
  450. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  451. package/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  452. package/style/themes/theme-ui/ui-theme-components.css +127 -75
  453. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  454. package/style/themes/theme-ui/ui-theme-extensions.css +8 -2
  455. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  456. package/style/themes/theme-ui/ui-theme-forms.css +8 -2
  457. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  458. package/umd/dnb-ui-basis.min.js +1 -1
  459. package/umd/dnb-ui-components.min.js +1 -1
  460. package/umd/dnb-ui-elements.min.js +1 -1
  461. package/umd/dnb-ui-extensions.min.js +3 -3
  462. package/umd/dnb-ui-lib.min.js +1 -1
  463. package/cjs/components/table/TableAccordionContent.d.ts +0 -18
  464. package/cjs/components/table/TableAccordionContent.js.map +0 -1
  465. package/components/table/TableAccordionContent.d.ts +0 -18
  466. package/components/table/TableAccordionContent.js.map +0 -1
  467. package/es/components/table/TableAccordionContent.d.ts +0 -18
  468. package/es/components/table/TableAccordionContent.js.map +0 -1
@@ -5,22 +5,33 @@
5
5
 
6
6
  @mixin tableAccordionActiveColor {
7
7
  .dnb-table__td__accordion-icon .dnb-icon {
8
- color: var(--color-emerald-green);
8
+ color: var(--table-accordion-icon-color--active);
9
9
  }
10
10
  }
11
11
  @mixin tableAccordionDisabledColor {
12
12
  .dnb-table__td__accordion-icon .dnb-icon {
13
- color: var(--color-sea-green-30);
13
+ color: var(--table-accordion-icon-color--disabled);
14
14
  }
15
15
  }
16
16
 
17
17
  .dnb-table {
18
18
  --table-accordion-background: var(--color-white);
19
+ --table-accordion-header-background: var(--color-white);
19
20
  --table-accordion-border-width: 0.0625rem;
20
21
  --table-accordion-border-color: var(--color-black-20);
21
22
  --table-accordion-border: var(--table-accordion-border-width) solid
22
23
  var(--table-accordion-border-color);
23
24
 
25
+ // Icon
26
+ --table-accordion-icon-color: var(--color-sea-green);
27
+ --table-accordion-icon-color--active: var(--color-emerald-green);
28
+ --table-accordion-icon-color--disabled: var(--color-sea-green-30);
29
+
30
+ // Outline
31
+ --table-accordion-outline-color: var(--color-emerald-green);
32
+ --table-accordion-outline-width: var(--focus-ring-width);
33
+ --table-accordion-outline-background--active: var(--color-pistachio);
34
+
24
35
  &__th#{&}__th__accordion-icon {
25
36
  &.dnb-table__th {
26
37
  padding: 0;
@@ -54,7 +65,7 @@
54
65
  justify-content: center;
55
66
 
56
67
  .dnb-icon {
57
- color: var(--color-sea-green);
68
+ color: var(--table-accordion-icon-color);
58
69
  transition: transform 500ms var(--easing-default);
59
70
  }
60
71
  }
@@ -114,7 +125,7 @@
114
125
 
115
126
  // Here we use border to support Safari v16 on macOS
116
127
  // but also to only have a border on specific sides
117
- border: var(--focus-ring-width) solid transparent;
128
+ border: var(--table-accordion-outline-width) solid transparent;
118
129
  }
119
130
  td:not(:first-of-type)::before {
120
131
  border-left: none;
@@ -125,20 +136,18 @@
125
136
 
126
137
  @include hover() {
127
138
  td::before {
128
- border-color: var(--color-emerald-green);
139
+ border-color: var(--table-accordion-outline-color);
129
140
  }
130
141
 
131
142
  @include tableAccordionActiveColor();
132
143
  }
133
144
  }
134
145
 
135
- &--outline
146
+ &--border
136
147
  tbody
137
- &__tr--has-accordion-content:not(#{&}__tr--expanded):not(
138
- :nth-last-child(2)
139
- )
148
+ &__tr--has-accordion-content:not(#{&}__tr--expanded):not(&__tr--last)
140
149
  &__td::before {
141
- bottom: calc(var(--table-outline-width) * -1);
150
+ bottom: calc(var(--table-border-width) * -1);
142
151
  }
143
152
 
144
153
  &__tr--has-accordion-content#{&}__tr--expanded:not(&__tr--disabled):hover
@@ -151,9 +160,8 @@
151
160
  ):not(:hover):focus {
152
161
  td::before {
153
162
  @include whatInput(keyboard) {
154
- top: 0;
155
- bottom: 0;
156
- border-color: var(--color-emerald-green);
163
+ border-color: var(--focus-ring-color);
164
+ border-width: var(--focus-ring-width);
157
165
  }
158
166
  }
159
167
  td:first-of-type::before {
@@ -167,7 +175,7 @@
167
175
  &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):active {
168
176
  html:not([data-whatintent='touch']) &:hover td::before,
169
177
  td::before {
170
- border-color: var(--color-emerald-green);
178
+ border-color: var(--table-accordion-outline-color);
171
179
  border-width: var(
172
180
  --table-accordion-border-width
173
181
  ); // TODO: we should have something like activeRingWidth
@@ -175,7 +183,7 @@
175
183
  }
176
184
 
177
185
  &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):active &__td {
178
- background-color: var(--color-pistachio);
186
+ background-color: var(--table-accordion-outline-background--active);
179
187
 
180
188
  @include tableAccordionActiveColor();
181
189
  }
@@ -184,7 +192,7 @@
184
192
  &__tr--disabled
185
193
  )#{&}__tr--hover:not(:active):hover
186
194
  &__td {
187
- background-color: var(--table-accordion-background);
195
+ background-color: var(--table-accordion-header-background);
188
196
 
189
197
  &::before {
190
198
  border: none;
@@ -196,7 +204,7 @@
196
204
  &__tr--disabled
197
205
  ):not(:active):not(:hover) {
198
206
  @include whatInputNot('keyboard') {
199
- background-color: var(--table-accordion-background);
207
+ background-color: var(--table-accordion-header-background);
200
208
 
201
209
  td::before {
202
210
  border: none;
@@ -220,6 +228,43 @@
220
228
  }
221
229
  }
222
230
 
231
+ &__inner {
232
+ overflow: hidden;
233
+ will-change: height;
234
+ transition: height 400ms var(--easing-default);
235
+
236
+ &__spacing {
237
+ padding: 1rem;
238
+
239
+ transform: translateY(-10px);
240
+ transition: transform 500ms var(--easing-default);
241
+ }
242
+
243
+ position: relative;
244
+ }
245
+ &--parallax &__inner {
246
+ &__spacing {
247
+ transform: translateY(0);
248
+ html[data-visual-test] & {
249
+ transition: none;
250
+ }
251
+ }
252
+ }
253
+
254
+ &--expanded {
255
+ > td.dnb-table__td {
256
+ background-color: var(--color-white);
257
+ }
258
+
259
+ + .dnb-table__tr--has-accordion-content .dnb-table__td {
260
+ @include tableBorder() {
261
+ border-top: var(--table-accordion-border);
262
+ }
263
+ }
264
+ }
265
+ }
266
+
267
+ &__tr__accordion-content--single {
223
268
  td {
224
269
  padding: 0 !important; // medium and small size sets padding – but we never want a padding on this td
225
270
 
@@ -256,29 +301,6 @@
256
301
  border-top: none;
257
302
  }
258
303
 
259
- &__inner {
260
- overflow: hidden;
261
- will-change: height;
262
- transition: height 400ms var(--easing-default);
263
-
264
- &__spacing {
265
- padding: 1rem;
266
-
267
- transform: translateY(-10px);
268
- transition: transform 500ms var(--easing-default);
269
- }
270
-
271
- position: relative;
272
- }
273
- &--parallax &__inner {
274
- &__spacing {
275
- transform: translateY(0);
276
- html[data-visual-test] & {
277
- transition: none;
278
- }
279
- }
280
- }
281
-
282
304
  > td.dnb-table__td {
283
305
  padding: 0;
284
306
 
@@ -287,10 +309,6 @@
287
309
  margin: 0;
288
310
  }
289
311
  }
290
-
291
- &--expanded > td.dnb-table__td {
292
- background-color: var(--color-white);
293
- }
294
312
  }
295
313
 
296
314
  &__tr__accordion-content#{&}__tr &__td {
@@ -75,7 +75,7 @@
75
75
  .dnb-table__tr:last-child,
76
76
  .dnb-table__tr--has-accordion-content:not(
77
77
  .dnb-table__tr--expanded
78
- ):nth-last-child(2) {
78
+ ).dnb-table__tr--last {
79
79
  clip-path: inset(
80
80
  0 round 0 0 var(--table-outline-radius) var(--table-outline-radius)
81
81
  );
@@ -135,6 +135,16 @@ html:not([data-whatintent=touch]) .dnb-table > thead > tr > th.dnb-table--active
135
135
  .dnb-table__container {
136
136
  --table-border-color: var(--sb-color-gray-light-2);
137
137
  --table-outline-color: var(--sb-color-gray-light-2);
138
+ --table-accordion-border-color: var(--sb-color-gray-light-2);
139
+ --table-accordion-header-background: var(--sb-color-gray-light-2);
140
+ --table-accordion-icon-color: var(--sb-color-text);
141
+ --table-accordion-icon-color--active: var(--sb-color-violet);
142
+ --table-accordion-icon-color--disabled: var(--sb-color-gray-dark-2);
143
+ --table-accordion-outline-color: var(--sb-color-violet);
144
+ --table-accordion-outline-width: var(--table-accordion-border-width);
145
+ --table-accordion-outline-background--active: var(
146
+ --sb-color-gray-light-2
147
+ );
138
148
  background-color: var(--sb-color-white);
139
149
  }
140
150
  html[data-visual-test] .dnb-table,
@@ -1 +1,3 @@
1
- .dnb-table{text-align:left}.dnb-table thead th,.dnb-table__th{background-color:var(--sb-color-white);font-weight:var(--font-weight-medium);padding:.5rem 1.5rem .25rem}.dnb-table .dnb-table__tr--even{background-color:var(--sb-color-gray-light-3)}.dnb-table tbody .dnb-table__th,.dnb-table tbody td,.dnb-table tbody th,.dnb-table__td{padding:1rem 1.5rem}.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__td:after,.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__th:after{border-top:var(--table-border);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:-.0625rem;top:0;z-index:1}.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__td:last-child:after,.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__th:last-child:after{right:0}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button{color:var(--sb-color-violet)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button .dnb-button__text:after,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button .dnb-button__text:after{bottom:-.0625rem;color:var(--sb-color-violet);left:0;opacity:0}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:not(:focus) .dnb-button__text:after,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:not(:focus) .dnb-button__text:after{color:var(--sb-color-violet)}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover:not([disabled]){color:var(--sb-color-violet)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled],.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled],html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled]{cursor:not-allowed}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]),.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]){color:var(--sb-color-violet)}html[data-whatinput=mouse] .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=mouse] .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=mouse] html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=mouse] html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=touch] .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=touch] .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=touch] html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=touch] html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{bottom:-.25rem;left:-.6875rem;right:-.4375rem;top:-.375rem}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled],.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled],html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled]{cursor:not-allowed}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before{bottom:-.25rem;left:-.6875rem;right:-.4375rem;top:-.375rem}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible{color:var(--sb-color-blue-dark)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after{visibility:hidden}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--active .dnb-table__sort-button.dnb-button:hover[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--active .dnb-table__sort-button.dnb-button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--active .dnb-table__sort-button.dnb-button:hover:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--active .dnb-table__sort-button.dnb-button:hover:not([disabled]) .dnb-button__text:after{color:var(--sb-color-violet)}.dnb-table,.dnb-table__container{--table-border-color:var(--sb-color-gray-light-2);--table-outline-color:var(--sb-color-gray-light-2);background-color:var(--sb-color-white)}html[data-visual-test] .dnb-table,html[data-visual-test] .dnb-table__container{--table-border-color:blue;--table-outline-color:red;--table-accordion-border-color:green}
1
+ .dnb-table{text-align:left}.dnb-table thead th,.dnb-table__th{background-color:var(--sb-color-white);font-weight:var(--font-weight-medium);padding:.5rem 1.5rem .25rem}.dnb-table .dnb-table__tr--even{background-color:var(--sb-color-gray-light-3)}.dnb-table tbody .dnb-table__th,.dnb-table tbody td,.dnb-table tbody th,.dnb-table__td{padding:1rem 1.5rem}.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__td:after,.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__th:after{border-top:var(--table-border);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:-.0625rem;top:0;z-index:1}.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__td:last-child:after,.dnb-table thead+tbody .dnb-table__tr:first-child .dnb-table__th:last-child:after{right:0}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button{color:var(--sb-color-violet)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button .dnb-button__text:after,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button .dnb-button__text:after{bottom:-.0625rem;color:var(--sb-color-violet);left:0;opacity:0}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:not(:focus) .dnb-button__text:after,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:not(:focus) .dnb-button__text:after{color:var(--sb-color-violet)}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:hover:not([disabled]){color:var(--sb-color-violet)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled],.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled],html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active[disabled]{cursor:not-allowed}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]),.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]){color:var(--sb-color-violet)}html[data-whatinput=mouse] .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=mouse] .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=mouse] html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=mouse] html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=touch] .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=touch] .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=touch] html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html[data-whatinput=touch] html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:active:not([disabled]):before{bottom:-.25rem;left:-.6875rem;right:-.4375rem;top:-.375rem}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled],.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled],html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus[disabled]{cursor:not-allowed}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):before{bottom:-.25rem;left:-.6875rem;right:-.4375rem;top:-.375rem}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):focus-visible{color:var(--sb-color-blue-dark)}.dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after,.dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--sortable .dnb-table__sort-button.dnb-button:focus:not([disabled]):not(:active) .dnb-button__text:after{visibility:hidden}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--active .dnb-table__sort-button.dnb-button:hover[disabled],html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--active .dnb-table__sort-button.dnb-button:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-table .dnb-table__th.dnb-table--active .dnb-table__sort-button.dnb-button:hover:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-table>thead>tr>th.dnb-table--active .dnb-table__sort-button.dnb-button:hover:not([disabled]) .dnb-button__text:after{color:var(--sb-color-violet)}.dnb-table,.dnb-table__container{--table-border-color:var(--sb-color-gray-light-2);--table-outline-color:var(--sb-color-gray-light-2);--table-accordion-border-color:var(--sb-color-gray-light-2);--table-accordion-header-background:var(--sb-color-gray-light-2);--table-accordion-icon-color:var(--sb-color-text);--table-accordion-icon-color--active:var(--sb-color-violet);--table-accordion-icon-color--disabled:var(--sb-color-gray-dark-2);--table-accordion-outline-color:var(--sb-color-violet);--table-accordion-outline-width:var(--table-accordion-border-width);--table-accordion-outline-background--active:var(
2
+ --sb-color-gray-light-2
3
+ );background-color:var(--sb-color-white)}html[data-visual-test] .dnb-table,html[data-visual-test] .dnb-table__container{--table-border-color:blue;--table-outline-color:red;--table-accordion-border-color:green}
@@ -106,6 +106,20 @@
106
106
  .dnb-table__container {
107
107
  --table-border-color: var(--sb-color-gray-light-2);
108
108
  --table-outline-color: var(--sb-color-gray-light-2);
109
+ --table-accordion-border-color: var(--sb-color-gray-light-2);
110
+ --table-accordion-header-background: var(--sb-color-gray-light-2);
111
+
112
+ // Icon
113
+ --table-accordion-icon-color: var(--sb-color-text);
114
+ --table-accordion-icon-color--active: var(--sb-color-violet);
115
+ --table-accordion-icon-color--disabled: var(--sb-color-gray-dark-2);
116
+
117
+ // Outline
118
+ --table-accordion-outline-color: var(--sb-color-violet);
119
+ --table-accordion-outline-width: var(--table-accordion-border-width);
120
+ --table-accordion-outline-background--active: var(
121
+ --sb-color-gray-light-2
122
+ );
109
123
 
110
124
  background-color: var(--sb-color-white);
111
125
 
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { TableAccordionTrProps } from './TableAccordionTr';
3
+ export type useTableAnimationHandlerProps = {
4
+ /**
5
+ * Ref to <div> inside the <tr> element being exapanded/collapsed
6
+ */
7
+ innerRef: React.MutableRefObject<HTMLDivElement>;
8
+ /**
9
+ * Ref to the <tr> element being clicked
10
+ */
11
+ trRef: React.MutableRefObject<HTMLTableRowElement>;
12
+ };
13
+ export declare function useTableAnimationHandler({ innerRef, trRef, expanded, noAnimation, }: useTableAnimationHandlerProps & TableAccordionTrProps): {
14
+ ariaLive: any;
15
+ isInDOM: boolean;
16
+ isAnimating: boolean;
17
+ isVisibleParallax: boolean;
18
+ firstPaintStyle: React.CSSProperties;
19
+ };
20
+ export default useTableAnimationHandler;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.useTableAnimationHandler = useTableAnimationHandler;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _componentHelper = require("../../shared/component-helper");
10
+ var _useHeightAnimation = require("../height-animation/useHeightAnimation");
11
+ var _TableContext = require("./TableContext");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function useTableAnimationHandler(_ref) {
15
+ let {
16
+ innerRef,
17
+ trRef,
18
+ expanded,
19
+ noAnimation
20
+ } = _ref;
21
+ const tableAccordionContext = _react.default.useContext(_TableContext.TableAccordionContext);
22
+ const [ariaLive, setAriaLive] = _react.default.useState(null);
23
+ const open = Boolean(expanded || (tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.trIsOpen));
24
+ const scrollViewHandler = (0, _react.useCallback)(clip => {
25
+ const scollView = (0, _componentHelper.getClosestScrollViewElement)(trRef.current);
26
+ if (scollView instanceof HTMLElement) {
27
+ scollView.style.overflow = clip ? 'clip' : '';
28
+ }
29
+ }, [trRef]);
30
+ const onOpen = (0, _react.useCallback)(state => {
31
+ setAriaLive(state ? true : null);
32
+ }, []);
33
+ const onAnimationStart = (0, _react.useCallback)(() => {
34
+ scrollViewHandler(true);
35
+ }, [scrollViewHandler]);
36
+ const onAnimationEnd = (0, _react.useCallback)(state => {
37
+ var _tableAccordionContex, _tableAccordionContex2;
38
+ const event = {
39
+ target: trRef.current
40
+ };
41
+ switch (state) {
42
+ case 'opened':
43
+ (_tableAccordionContex = tableAccordionContext.onOpened) === null || _tableAccordionContex === void 0 ? void 0 : _tableAccordionContex.call(tableAccordionContext, event);
44
+ break;
45
+ case 'closed':
46
+ (_tableAccordionContex2 = tableAccordionContext.onClosed) === null || _tableAccordionContex2 === void 0 ? void 0 : _tableAccordionContex2.call(tableAccordionContext, event);
47
+ break;
48
+ }
49
+ scrollViewHandler(false);
50
+ }, [scrollViewHandler, tableAccordionContext, trRef]);
51
+ const {
52
+ isInDOM,
53
+ isAnimating,
54
+ isVisibleParallax,
55
+ firstPaintStyle
56
+ } = (0, _useHeightAnimation.useHeightAnimation)(innerRef, {
57
+ open,
58
+ animate: Boolean(!noAnimation && !(tableAccordionContext !== null && tableAccordionContext !== void 0 && tableAccordionContext.noAnimation)),
59
+ onOpen,
60
+ onAnimationStart,
61
+ onAnimationEnd
62
+ });
63
+ return {
64
+ ariaLive,
65
+ isInDOM,
66
+ isAnimating,
67
+ isVisibleParallax,
68
+ firstPaintStyle
69
+ };
70
+ }
71
+ var _default = useTableAnimationHandler;
72
+ exports.default = _default;
73
+ //# sourceMappingURL=useTableAnimationHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableAnimationHandler.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_useHeightAnimation","_TableContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useTableAnimationHandler","_ref","innerRef","trRef","expanded","noAnimation","tableAccordionContext","React","useContext","TableAccordionContext","ariaLive","setAriaLive","useState","open","Boolean","trIsOpen","scrollViewHandler","useCallback","clip","scollView","getClosestScrollViewElement","current","HTMLElement","style","overflow","onOpen","state","onAnimationStart","onAnimationEnd","_tableAccordionContex","_tableAccordionContex2","event","target","onOpened","onClosed","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","useHeightAnimation","animate","_default","exports"],"sources":["../../../../src/components/table/useTableAnimationHandler.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { getClosestScrollViewElement } from '../../shared/component-helper'\nimport { useHeightAnimation } from '../height-animation/useHeightAnimation'\nimport { TableAccordionTrProps } from './TableAccordionTr'\nimport { TableAccordionContext } from './TableContext'\n\nexport type useTableAnimationHandlerProps = {\n /**\n * Ref to <div> inside the <tr> element being exapanded/collapsed\n */\n innerRef: React.MutableRefObject<HTMLDivElement>\n /**\n * Ref to the <tr> element being clicked\n */\n trRef: React.MutableRefObject<HTMLTableRowElement>\n}\n\nexport function useTableAnimationHandler({\n innerRef,\n trRef,\n expanded,\n noAnimation,\n}: useTableAnimationHandlerProps & TableAccordionTrProps) {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const [ariaLive, setAriaLive] = React.useState(null)\n const open = Boolean(expanded || tableAccordionContext?.trIsOpen)\n\n const scrollViewHandler = useCallback(\n (clip: boolean) => {\n const scollView = getClosestScrollViewElement(\n trRef.current\n ) as HTMLElement\n if (scollView instanceof HTMLElement) {\n scollView.style.overflow = clip ? 'clip' : ''\n }\n },\n [trRef]\n )\n\n const onOpen = useCallback((state) => {\n setAriaLive(state ? true : null)\n }, [])\n\n const onAnimationStart = useCallback(() => {\n scrollViewHandler(true)\n }, [scrollViewHandler])\n\n const onAnimationEnd = useCallback(\n (state) => {\n const event = { target: trRef.current }\n switch (state) {\n case 'opened':\n tableAccordionContext.onOpened?.(event)\n break\n\n case 'closed':\n tableAccordionContext.onClosed?.(event)\n break\n }\n\n scrollViewHandler(false)\n },\n [scrollViewHandler, tableAccordionContext, trRef]\n )\n\n const { isInDOM, isAnimating, isVisibleParallax, firstPaintStyle } =\n useHeightAnimation(innerRef, {\n open,\n animate: Boolean(\n !noAnimation && !tableAccordionContext?.noAnimation\n ),\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n return {\n ariaLive,\n isInDOM,\n isAnimating,\n isVisibleParallax,\n firstPaintStyle,\n }\n}\n\nexport default useTableAnimationHandler\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAAsD,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAN,wBAAAU,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAa/C,SAASW,wBAAwBA,CAAAC,IAAA,EAKkB;EAAA,IALjB;IACvCC,QAAQ;IACRC,KAAK;IACLC,QAAQ;IACRC;EACqD,CAAC,GAAAJ,IAAA;EACtD,MAAMK,qBAAqB,GAAGC,cAAK,CAACC,UAAU,CAACC,mCAAqB,CAAC;EACrE,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGJ,cAAK,CAACK,QAAQ,CAAC,IAAI,CAAC;EACpD,MAAMC,IAAI,GAAGC,OAAO,CAACV,QAAQ,KAAIE,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAES,QAAQ,EAAC;EAEjE,MAAMC,iBAAiB,GAAG,IAAAC,kBAAW,EAClCC,IAAa,IAAK;IACjB,MAAMC,SAAS,GAAG,IAAAC,4CAA2B,EAC3CjB,KAAK,CAACkB,OACR,CAAgB;IAChB,IAAIF,SAAS,YAAYG,WAAW,EAAE;MACpCH,SAAS,CAACI,KAAK,CAACC,QAAQ,GAAGN,IAAI,GAAG,MAAM,GAAG,EAAE;IAC/C;EACF,CAAC,EACD,CAACf,KAAK,CACR,CAAC;EAED,MAAMsB,MAAM,GAAG,IAAAR,kBAAW,EAAES,KAAK,IAAK;IACpCf,WAAW,CAACe,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAG,IAAAV,kBAAW,EAAC,MAAM;IACzCD,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,MAAMY,cAAc,GAAG,IAAAX,kBAAW,EAC/BS,KAAK,IAAK;IAAA,IAAAG,qBAAA,EAAAC,sBAAA;IACT,MAAMC,KAAK,GAAG;MAAEC,MAAM,EAAE7B,KAAK,CAACkB;IAAQ,CAAC;IACvC,QAAQK,KAAK;MACX,KAAK,QAAQ;QACX,CAAAG,qBAAA,GAAAvB,qBAAqB,CAAC2B,QAAQ,cAAAJ,qBAAA,uBAA9BA,qBAAA,CAAAhC,IAAA,CAAAS,qBAAqB,EAAYyB,KAAK,CAAC;QACvC;MAEF,KAAK,QAAQ;QACX,CAAAD,sBAAA,GAAAxB,qBAAqB,CAAC4B,QAAQ,cAAAJ,sBAAA,uBAA9BA,sBAAA,CAAAjC,IAAA,CAAAS,qBAAqB,EAAYyB,KAAK,CAAC;QACvC;IACJ;IAEAf,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EACD,CAACA,iBAAiB,EAAEV,qBAAqB,EAAEH,KAAK,CAClD,CAAC;EAED,MAAM;IAAEgC,OAAO;IAAEC,WAAW;IAAEC,iBAAiB;IAAEC;EAAgB,CAAC,GAChE,IAAAC,sCAAkB,EAACrC,QAAQ,EAAE;IAC3BW,IAAI;IACJ2B,OAAO,EAAE1B,OAAO,CACd,CAACT,WAAW,IAAI,EAACC,qBAAqB,aAArBA,qBAAqB,eAArBA,qBAAqB,CAAED,WAAW,CACrD,CAAC;IACDoB,MAAM;IACNE,gBAAgB;IAChBC;EACF,CAAC,CAAC;EAEJ,OAAO;IACLlB,QAAQ;IACRyB,OAAO;IACPC,WAAW;IACXC,iBAAiB;IACjBC;EACF,CAAC;AACH;AAAC,IAAAG,QAAA,GAEczC,wBAAwB;AAAA0C,OAAA,CAAAzD,OAAA,GAAAwD,QAAA"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  .dnb-blockquote {
4
4
  --blockquote-padding-top: 1.5rem;
5
+ --blockquote-padding-bottom: 2rem;
5
6
  --blockquote-quote-padding: 5.5rem;
6
7
  --blockquote-cite-style: normal;
7
8
 
@@ -1,8 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Ajv } from '../utils/ajv';
3
- import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths } from '../types';
4
- export type Path = string;
5
- export type Identifier = string;
3
+ import { AllJSONSchemaVersions, CustomErrorMessagesWithPaths, Path } from '../types';
6
4
  type HandleSubmitProps = {
7
5
  formElement?: HTMLFormElement;
8
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","handlePathChange","updateDataValue","validateData","handleSubmit","scrollToTop","showAllErrors","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","hasFieldError","setValueWithError","setProps","ajvInstance","makeAjvInstance","contextErrorMessages","_isInsideFormElement","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n} from '../types'\n\nexport type Path = string\nexport type Identifier = string\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport interface ContextState {\n hasContext: boolean\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n props: { disabled: boolean }\n ) => void\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setValueWithError: (path: Path, hasError: boolean) => void\n setProps: (path: Path, props: any) => void\n hasErrors: () => boolean\n hasFieldError: (path: Path) => boolean\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n _isInsideFormElement?: boolean\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n handlePathChange: () => null,\n updateDataValue: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldError: () => false,\n setValueWithError: () => null,\n setProps: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n _isInsideFormElement: false,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA+C5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,iBAAiB,EAAEA,CAAA,KAAM,IAAI;EAC7BC,QAAQ,EAAEA,CAAA,KAAM,IAAI;EACpBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAElB,SAAS;EAC/BmB,oBAAoB,EAAE;AACxB,CAAC;AAAAC,OAAA,CAAAvB,mBAAA,GAAAA,mBAAA;AAED,MAAMwB,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAe1B,mBAAmB,CAAC;AAAA,IAAA2B,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAxB,OAAA,GAAA4B,QAAA"}
1
+ {"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_ajv","obj","__esModule","default","defaultContextState","hasContext","data","undefined","schema","handlePathChange","updateDataValue","validateData","handleSubmit","scrollToTop","showAllErrors","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","hasFieldError","setValueWithError","setProps","ajvInstance","makeAjvInstance","contextErrorMessages","_isInsideFormElement","exports","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, makeAjvInstance } from '../utils/ajv'\nimport {\n AllJSONSchemaVersions,\n CustomErrorMessagesWithPaths,\n Path,\n} from '../types'\n\ntype HandleSubmitProps = {\n formElement?: HTMLFormElement\n}\n\nexport interface ContextState {\n hasContext: boolean\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n props: { disabled: boolean }\n ) => void\n validateData: () => void\n handleSubmit: (props?: HandleSubmitProps) => any\n scrollToTop: () => void\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: Path) => void\n handleUnMountField: (path: Path) => void\n setValueWithError: (path: Path, hasError: boolean) => void\n setProps: (path: Path, props: any) => void\n hasErrors: () => boolean\n hasFieldError: (path: Path) => boolean\n ajvInstance: Ajv\n contextErrorMessages: CustomErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n _isInsideFormElement?: boolean\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n handlePathChange: () => null,\n updateDataValue: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n hasFieldError: () => false,\n setValueWithError: () => null,\n setProps: () => null,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n _isInsideFormElement: false,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAAmD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA6C5C,MAAMG,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,iBAAiB,EAAEA,CAAA,KAAM,IAAI;EAC7BC,QAAQ,EAAEA,CAAA,KAAM,IAAI;EACpBC,WAAW,EAAE,IAAAC,oBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAElB,SAAS;EAC/BmB,oBAAoB,EAAE;AACxB,CAAC;AAAAC,OAAA,CAAAvB,mBAAA,GAAAA,mBAAA;AAED,MAAMwB,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAe1B,mBAAmB,CAAC;AAAA,IAAA2B,QAAA,GAEvDH,OAAO;AAAAD,OAAA,CAAAxB,OAAA,GAAA4B,QAAA"}
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
2
  import { JsonObject } from 'json-pointer';
3
3
  import { Ajv } from '../../utils/ajv';
4
- import { CustomErrorMessagesWithPaths, AllJSONSchemaVersions, FieldProps } from '../../types';
5
- import { Path } from '../Context';
4
+ import { CustomErrorMessagesWithPaths, AllJSONSchemaVersions, FieldProps, Path } from '../../types';
6
5
  export type UpdateDataValue = (path: Path, data: unknown) => void;
7
6
  export type FilterDataHandler<Data> = (data: Data, filter: FilterData) => Partial<Data>;
8
7
  export type FilterData = (path: Path, value: any, props: FieldProps) => boolean | undefined;
@@ -133,10 +133,6 @@ function Provider(_ref) {
133
133
  shared: sharedData.data,
134
134
  hasUsedInitialData: false
135
135
  });
136
- const countRef = (0, _react.useRef)(0);
137
- if (countRef.current++ > 100) {
138
- throw new Error('countRef.current: ' + countRef.current);
139
- }
140
136
  internalDataRef.current = (0, _react.useMemo)(() => {
141
137
  if (id && initialData && !sharedData.data) {
142
138
  sharedData.update(initialData);
@@ -156,7 +152,7 @@ function Provider(_ref) {
156
152
  return data;
157
153
  }
158
154
  return internalDataRef.current;
159
- }, [id, data, initialData, sharedData]);
155
+ }, [data, id, initialData, sharedData]);
160
156
  useLayoutEffect(() => {
161
157
  if (id && initialData && !sharedData.data) {
162
158
  extendSharedData === null || extendSharedData === void 0 ? void 0 : extendSharedData(initialData);