@dnb/eufemia 10.37.0 → 10.39.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 (480) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/components/accordion/Accordion.d.ts +13 -3
  3. package/cjs/components/accordion/Accordion.js +14 -9
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionContext.d.ts +2 -0
  6. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  7. package/cjs/components/accordion/AccordionDocs.js +5 -0
  8. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  9. package/cjs/components/accordion/AccordionGroup.js +6 -3
  10. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  11. package/cjs/components/accordion/AccordionProviderContext.d.ts +2 -0
  12. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  13. package/cjs/components/accordion/AccordionStore.d.ts +2 -0
  14. package/cjs/components/accordion/AccordionStore.js +1 -1
  15. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  16. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +1 -0
  17. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +1 -1
  18. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +3 -0
  19. package/cjs/components/button/Button.d.ts +2 -1
  20. package/cjs/components/button/Button.js +5 -2
  21. package/cjs/components/button/Button.js.map +1 -1
  22. package/cjs/components/card/Card.js +4 -3
  23. package/cjs/components/card/Card.js.map +1 -1
  24. package/cjs/components/card/style/dnb-card.css +16 -0
  25. package/cjs/components/card/style/dnb-card.min.css +1 -1
  26. package/cjs/components/card/style/dnb-card.scss +17 -0
  27. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +4 -4
  28. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  29. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +3 -5
  30. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +4 -7
  31. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  32. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +3 -7
  33. package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
  34. package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
  35. package/cjs/components/height-animation/HeightAnimation.js +6 -2
  36. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  37. package/cjs/components/height-animation/HeightAnimationDocs.d.ts +3 -0
  38. package/cjs/components/height-animation/HeightAnimationDocs.js +83 -0
  39. package/cjs/components/height-animation/HeightAnimationDocs.js.map +1 -0
  40. package/cjs/components/height-animation/style/dnb-height-animation.css +3 -2
  41. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  42. package/cjs/components/height-animation/style/dnb-height-animation.scss +3 -2
  43. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  44. package/cjs/components/height-animation/useHeightAnimation.js +36 -6
  45. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  46. package/cjs/components/modal/Modal.js +1 -1
  47. package/cjs/components/modal/Modal.js.map +1 -1
  48. package/cjs/components/modal/types.d.ts +4 -0
  49. package/cjs/components/modal/types.js.map +1 -1
  50. package/cjs/components/radio/RadioGroup.js +4 -2
  51. package/cjs/components/radio/RadioGroup.js.map +1 -1
  52. package/cjs/components/radio/style/dnb-radio.css +8 -5
  53. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  54. package/cjs/components/radio/style/dnb-radio.scss +11 -13
  55. package/cjs/components/section/Section.js +3 -0
  56. package/cjs/components/section/Section.js.map +1 -1
  57. package/cjs/components/section/style/dnb-section.scss +2 -0
  58. package/cjs/components/table/Table.d.ts +6 -3
  59. package/cjs/components/table/Table.js +6 -2
  60. package/cjs/components/table/Table.js.map +1 -1
  61. package/cjs/components/table/TableClickableHead.d.ts +22 -0
  62. package/cjs/components/table/TableClickableHead.js +116 -0
  63. package/cjs/components/table/TableClickableHead.js.map +1 -0
  64. package/cjs/components/table/TableDocs.js +6 -6
  65. package/cjs/components/table/TableDocs.js.map +1 -1
  66. package/cjs/components/table/TableTr.d.ts +12 -12
  67. package/cjs/components/table/TableTr.js +13 -6
  68. package/cjs/components/table/TableTr.js.map +1 -1
  69. package/cjs/components/table/style/dnb-table.css +61 -61
  70. package/cjs/components/table/style/dnb-table.min.css +1 -1
  71. package/cjs/components/table/style/dnb-table.scss +1 -1
  72. package/cjs/components/table/style/table-accordion.scss +28 -36
  73. package/cjs/components/table/style/table-td.scss +1 -1
  74. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  75. package/cjs/components/table/table-accordion/TableAccordionHead.js +45 -74
  76. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  77. package/cjs/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  78. package/cjs/components/table/table-navigation/TableNavigationHead.js +56 -0
  79. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  80. package/cjs/components/toggle-button/ToggleButtonGroup.js +6 -3
  81. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  82. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
  83. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  84. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +6 -2
  85. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +14 -0
  86. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +90 -31
  87. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  88. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -3
  89. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  90. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +14 -3
  91. package/cjs/extensions/forms/Field/Number/Number.d.ts +3 -1
  92. package/cjs/extensions/forms/Field/Number/Number.js +6 -2
  93. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  94. package/cjs/extensions/forms/Field/Number/NumberDocs.js +10 -0
  95. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  96. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +15 -3
  97. package/cjs/extensions/forms/Field/Selection/Selection.js +71 -42
  98. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  99. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +9 -0
  100. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  101. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +16 -0
  102. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +3 -1
  103. package/cjs/extensions/forms/Form/Visibility/Visibility.js +4 -2
  104. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  105. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  106. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  107. package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
  108. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  109. package/cjs/extensions/forms/style/dnb-forms.css +21 -3
  110. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  111. package/cjs/extensions/forms/types.d.ts +1 -1
  112. package/cjs/extensions/forms/types.js.map +1 -1
  113. package/cjs/extensions/payment-card/utils/cardProducts.js +7 -7
  114. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  115. package/cjs/shared/Eufemia.d.ts +1 -1
  116. package/cjs/shared/Eufemia.js +2 -2
  117. package/cjs/shared/Eufemia.js.map +1 -1
  118. package/cjs/shared/locales/en-GB.d.ts +1 -0
  119. package/cjs/shared/locales/en-GB.js +2 -1
  120. package/cjs/shared/locales/en-GB.js.map +1 -1
  121. package/cjs/shared/locales/en-US.d.ts +1 -0
  122. package/cjs/shared/locales/index.d.ts +2 -0
  123. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  124. package/cjs/shared/locales/nb-NO.js +2 -1
  125. package/cjs/shared/locales/nb-NO.js.map +1 -1
  126. package/cjs/style/core/scopes.scss +1 -1
  127. package/cjs/style/dnb-ui-basis.css +1 -1
  128. package/cjs/style/dnb-ui-basis.min.css +1 -1
  129. package/cjs/style/dnb-ui-body.css +1 -1
  130. package/cjs/style/dnb-ui-body.min.css +1 -1
  131. package/cjs/style/dnb-ui-components.css +112 -74
  132. package/cjs/style/dnb-ui-components.min.css +3 -3
  133. package/cjs/style/dnb-ui-core.css +1 -1
  134. package/cjs/style/dnb-ui-core.min.css +1 -1
  135. package/cjs/style/dnb-ui-extensions.css +21 -3
  136. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  137. package/cjs/style/dnb-ui-forms.css +21 -3
  138. package/cjs/style/dnb-ui-forms.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +138 -84
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  141. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -3
  142. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  143. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -3
  144. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/fonts.scss +1 -1
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +137 -81
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -3
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -3
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  152. package/cjs/style/themes/theme-ui/ui-theme-components.css +138 -84
  153. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  154. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +21 -3
  155. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  156. package/cjs/style/themes/theme-ui/ui-theme-forms.css +21 -3
  157. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  158. package/components/accordion/Accordion.d.ts +13 -3
  159. package/components/accordion/Accordion.js +15 -10
  160. package/components/accordion/Accordion.js.map +1 -1
  161. package/components/accordion/AccordionContext.d.ts +2 -0
  162. package/components/accordion/AccordionContext.js.map +1 -1
  163. package/components/accordion/AccordionDocs.js +5 -0
  164. package/components/accordion/AccordionDocs.js.map +1 -1
  165. package/components/accordion/AccordionGroup.js +6 -3
  166. package/components/accordion/AccordionGroup.js.map +1 -1
  167. package/components/accordion/AccordionProviderContext.d.ts +2 -0
  168. package/components/accordion/AccordionProviderContext.js.map +1 -1
  169. package/components/accordion/AccordionStore.d.ts +2 -0
  170. package/components/accordion/AccordionStore.js +1 -1
  171. package/components/accordion/AccordionStore.js.map +1 -1
  172. package/components/accordion/style/themes/dnb-accordion-theme-ui.css +1 -0
  173. package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +1 -1
  174. package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +3 -0
  175. package/components/button/Button.d.ts +2 -1
  176. package/components/button/Button.js +5 -2
  177. package/components/button/Button.js.map +1 -1
  178. package/components/card/Card.js +4 -3
  179. package/components/card/Card.js.map +1 -1
  180. package/components/card/style/dnb-card.css +16 -0
  181. package/components/card/style/dnb-card.min.css +1 -1
  182. package/components/card/style/dnb-card.scss +17 -0
  183. package/components/card/style/themes/dnb-card-theme-sbanken.css +4 -4
  184. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  185. package/components/card/style/themes/dnb-card-theme-sbanken.scss +3 -5
  186. package/components/card/style/themes/dnb-card-theme-ui.css +4 -7
  187. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  188. package/components/card/style/themes/dnb-card-theme-ui.scss +3 -7
  189. package/components/checkbox/style/dnb-checkbox.scss +1 -1
  190. package/components/height-animation/HeightAnimation.d.ts +1 -1
  191. package/components/height-animation/HeightAnimation.js +6 -2
  192. package/components/height-animation/HeightAnimation.js.map +1 -1
  193. package/components/height-animation/HeightAnimationDocs.d.ts +3 -0
  194. package/components/height-animation/HeightAnimationDocs.js +75 -0
  195. package/components/height-animation/HeightAnimationDocs.js.map +1 -0
  196. package/components/height-animation/style/dnb-height-animation.css +3 -2
  197. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  198. package/components/height-animation/style/dnb-height-animation.scss +3 -2
  199. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  200. package/components/height-animation/useHeightAnimation.js +37 -7
  201. package/components/height-animation/useHeightAnimation.js.map +1 -1
  202. package/components/modal/Modal.js +1 -1
  203. package/components/modal/Modal.js.map +1 -1
  204. package/components/modal/types.d.ts +4 -0
  205. package/components/modal/types.js.map +1 -1
  206. package/components/radio/RadioGroup.js +4 -2
  207. package/components/radio/RadioGroup.js.map +1 -1
  208. package/components/radio/style/dnb-radio.css +8 -5
  209. package/components/radio/style/dnb-radio.min.css +1 -1
  210. package/components/radio/style/dnb-radio.scss +11 -13
  211. package/components/section/Section.js +3 -0
  212. package/components/section/Section.js.map +1 -1
  213. package/components/section/style/dnb-section.scss +2 -0
  214. package/components/table/Table.d.ts +6 -3
  215. package/components/table/Table.js +6 -2
  216. package/components/table/Table.js.map +1 -1
  217. package/components/table/TableClickableHead.d.ts +22 -0
  218. package/components/table/TableClickableHead.js +103 -0
  219. package/components/table/TableClickableHead.js.map +1 -0
  220. package/components/table/TableDocs.js +6 -6
  221. package/components/table/TableDocs.js.map +1 -1
  222. package/components/table/TableTr.d.ts +12 -12
  223. package/components/table/TableTr.js +13 -6
  224. package/components/table/TableTr.js.map +1 -1
  225. package/components/table/style/dnb-table.css +61 -61
  226. package/components/table/style/dnb-table.min.css +1 -1
  227. package/components/table/style/dnb-table.scss +1 -1
  228. package/components/table/style/table-accordion.scss +28 -36
  229. package/components/table/style/table-td.scss +1 -1
  230. package/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  231. package/components/table/table-accordion/TableAccordionHead.js +44 -72
  232. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  233. package/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  234. package/components/table/table-navigation/TableNavigationHead.js +48 -0
  235. package/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  236. package/components/toggle-button/ToggleButtonGroup.js +6 -3
  237. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  238. package/components/toggle-button/style/dnb-toggle-button.css +3 -3
  239. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  240. package/components/toggle-button/style/dnb-toggle-button.scss +6 -2
  241. package/es/components/accordion/Accordion.d.ts +13 -3
  242. package/es/components/accordion/Accordion.js +15 -10
  243. package/es/components/accordion/Accordion.js.map +1 -1
  244. package/es/components/accordion/AccordionContext.d.ts +2 -0
  245. package/es/components/accordion/AccordionContext.js.map +1 -1
  246. package/es/components/accordion/AccordionDocs.js +5 -0
  247. package/es/components/accordion/AccordionDocs.js.map +1 -1
  248. package/es/components/accordion/AccordionGroup.js +6 -3
  249. package/es/components/accordion/AccordionGroup.js.map +1 -1
  250. package/es/components/accordion/AccordionProviderContext.d.ts +2 -0
  251. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  252. package/es/components/accordion/AccordionStore.d.ts +2 -0
  253. package/es/components/accordion/AccordionStore.js +1 -1
  254. package/es/components/accordion/AccordionStore.js.map +1 -1
  255. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +1 -0
  256. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +1 -1
  257. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +3 -0
  258. package/es/components/button/Button.d.ts +2 -1
  259. package/es/components/button/Button.js +5 -2
  260. package/es/components/button/Button.js.map +1 -1
  261. package/es/components/card/Card.js +4 -3
  262. package/es/components/card/Card.js.map +1 -1
  263. package/es/components/card/style/dnb-card.css +16 -0
  264. package/es/components/card/style/dnb-card.min.css +1 -1
  265. package/es/components/card/style/dnb-card.scss +17 -0
  266. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +4 -4
  267. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  268. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +3 -5
  269. package/es/components/card/style/themes/dnb-card-theme-ui.css +4 -7
  270. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  271. package/es/components/card/style/themes/dnb-card-theme-ui.scss +3 -7
  272. package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
  273. package/es/components/height-animation/HeightAnimation.d.ts +1 -1
  274. package/es/components/height-animation/HeightAnimation.js +6 -2
  275. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  276. package/es/components/height-animation/HeightAnimationDocs.d.ts +3 -0
  277. package/es/components/height-animation/HeightAnimationDocs.js +75 -0
  278. package/es/components/height-animation/HeightAnimationDocs.js.map +1 -0
  279. package/es/components/height-animation/style/dnb-height-animation.css +3 -2
  280. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  281. package/es/components/height-animation/style/dnb-height-animation.scss +3 -2
  282. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  283. package/es/components/height-animation/useHeightAnimation.js +37 -7
  284. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  285. package/es/components/modal/Modal.js +1 -1
  286. package/es/components/modal/Modal.js.map +1 -1
  287. package/es/components/modal/types.d.ts +4 -0
  288. package/es/components/modal/types.js.map +1 -1
  289. package/es/components/radio/RadioGroup.js +4 -2
  290. package/es/components/radio/RadioGroup.js.map +1 -1
  291. package/es/components/radio/style/dnb-radio.css +8 -5
  292. package/es/components/radio/style/dnb-radio.min.css +1 -1
  293. package/es/components/radio/style/dnb-radio.scss +11 -13
  294. package/es/components/section/Section.js +3 -0
  295. package/es/components/section/Section.js.map +1 -1
  296. package/es/components/section/style/dnb-section.scss +2 -0
  297. package/es/components/table/Table.d.ts +6 -3
  298. package/es/components/table/Table.js +6 -2
  299. package/es/components/table/Table.js.map +1 -1
  300. package/es/components/table/TableClickableHead.d.ts +22 -0
  301. package/es/components/table/TableClickableHead.js +101 -0
  302. package/es/components/table/TableClickableHead.js.map +1 -0
  303. package/es/components/table/TableDocs.js +6 -6
  304. package/es/components/table/TableDocs.js.map +1 -1
  305. package/es/components/table/TableTr.d.ts +12 -12
  306. package/es/components/table/TableTr.js +13 -6
  307. package/es/components/table/TableTr.js.map +1 -1
  308. package/es/components/table/style/dnb-table.css +61 -61
  309. package/es/components/table/style/dnb-table.min.css +1 -1
  310. package/es/components/table/style/dnb-table.scss +1 -1
  311. package/es/components/table/style/table-accordion.scss +28 -36
  312. package/es/components/table/style/table-td.scss +1 -1
  313. package/es/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  314. package/es/components/table/table-accordion/TableAccordionHead.js +44 -71
  315. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  316. package/es/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  317. package/es/components/table/table-navigation/TableNavigationHead.js +48 -0
  318. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  319. package/es/components/toggle-button/ToggleButtonGroup.js +6 -3
  320. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  321. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
  322. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  323. package/es/components/toggle-button/style/dnb-toggle-button.scss +6 -2
  324. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +14 -0
  325. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +87 -29
  326. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  327. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -3
  328. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  329. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +14 -3
  330. package/es/extensions/forms/Field/Number/Number.d.ts +3 -1
  331. package/es/extensions/forms/Field/Number/Number.js +6 -2
  332. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  333. package/es/extensions/forms/Field/Number/NumberDocs.js +10 -0
  334. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  335. package/es/extensions/forms/Field/Selection/Selection.d.ts +15 -3
  336. package/es/extensions/forms/Field/Selection/Selection.js +68 -42
  337. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  338. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +9 -0
  339. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  340. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +16 -0
  341. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +3 -1
  342. package/es/extensions/forms/Form/Visibility/Visibility.js +4 -2
  343. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  344. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  345. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  346. package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
  347. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  348. package/es/extensions/forms/style/dnb-forms.css +21 -3
  349. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  350. package/es/extensions/forms/types.d.ts +1 -1
  351. package/es/extensions/forms/types.js.map +1 -1
  352. package/es/extensions/payment-card/utils/cardProducts.js +7 -7
  353. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  354. package/es/shared/Eufemia.d.ts +1 -1
  355. package/es/shared/Eufemia.js +2 -2
  356. package/es/shared/Eufemia.js.map +1 -1
  357. package/es/shared/locales/en-GB.d.ts +1 -0
  358. package/es/shared/locales/en-GB.js +2 -1
  359. package/es/shared/locales/en-GB.js.map +1 -1
  360. package/es/shared/locales/en-US.d.ts +1 -0
  361. package/es/shared/locales/index.d.ts +2 -0
  362. package/es/shared/locales/nb-NO.d.ts +1 -0
  363. package/es/shared/locales/nb-NO.js +2 -1
  364. package/es/shared/locales/nb-NO.js.map +1 -1
  365. package/es/style/core/scopes.scss +1 -1
  366. package/es/style/dnb-ui-basis.css +1 -1
  367. package/es/style/dnb-ui-basis.min.css +1 -1
  368. package/es/style/dnb-ui-body.css +1 -1
  369. package/es/style/dnb-ui-body.min.css +1 -1
  370. package/es/style/dnb-ui-components.css +112 -74
  371. package/es/style/dnb-ui-components.min.css +3 -3
  372. package/es/style/dnb-ui-core.css +1 -1
  373. package/es/style/dnb-ui-core.min.css +1 -1
  374. package/es/style/dnb-ui-extensions.css +21 -3
  375. package/es/style/dnb-ui-extensions.min.css +1 -1
  376. package/es/style/dnb-ui-forms.css +21 -3
  377. package/es/style/dnb-ui-forms.min.css +1 -1
  378. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +138 -84
  379. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  380. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -3
  381. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  382. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -3
  383. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  384. package/es/style/themes/theme-sbanken/fonts.scss +1 -1
  385. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +137 -81
  386. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  387. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -3
  388. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  389. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -3
  390. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  391. package/es/style/themes/theme-ui/ui-theme-components.css +138 -84
  392. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  393. package/es/style/themes/theme-ui/ui-theme-extensions.css +21 -3
  394. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  395. package/es/style/themes/theme-ui/ui-theme-forms.css +21 -3
  396. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  397. package/esm/dnb-ui-basis.min.mjs +1 -1
  398. package/esm/dnb-ui-components.min.mjs +1 -1
  399. package/esm/dnb-ui-elements.min.mjs +1 -1
  400. package/esm/dnb-ui-extensions.min.mjs +2 -2
  401. package/esm/dnb-ui-lib.min.mjs +1 -1
  402. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +14 -0
  403. package/extensions/forms/Field/ArraySelection/ArraySelection.js +88 -29
  404. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  405. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -3
  406. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  407. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +14 -3
  408. package/extensions/forms/Field/Number/Number.d.ts +3 -1
  409. package/extensions/forms/Field/Number/Number.js +6 -2
  410. package/extensions/forms/Field/Number/Number.js.map +1 -1
  411. package/extensions/forms/Field/Number/NumberDocs.js +10 -0
  412. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  413. package/extensions/forms/Field/Selection/Selection.d.ts +15 -3
  414. package/extensions/forms/Field/Selection/Selection.js +69 -42
  415. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  416. package/extensions/forms/Field/Selection/style/dnb-selection.css +9 -0
  417. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  418. package/extensions/forms/Field/Selection/style/dnb-selection.scss +16 -0
  419. package/extensions/forms/Form/Visibility/Visibility.d.ts +3 -1
  420. package/extensions/forms/Form/Visibility/Visibility.js +4 -2
  421. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  422. package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  423. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  424. package/extensions/forms/hooks/DataValueDocs.js +1 -1
  425. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  426. package/extensions/forms/style/dnb-forms.css +21 -3
  427. package/extensions/forms/style/dnb-forms.min.css +1 -1
  428. package/extensions/forms/types.d.ts +1 -1
  429. package/extensions/forms/types.js.map +1 -1
  430. package/extensions/payment-card/utils/cardProducts.js +7 -7
  431. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  432. package/package.json +1 -1
  433. package/shared/Eufemia.d.ts +1 -1
  434. package/shared/Eufemia.js +2 -2
  435. package/shared/Eufemia.js.map +1 -1
  436. package/shared/locales/en-GB.d.ts +1 -0
  437. package/shared/locales/en-GB.js +2 -1
  438. package/shared/locales/en-GB.js.map +1 -1
  439. package/shared/locales/en-US.d.ts +1 -0
  440. package/shared/locales/index.d.ts +2 -0
  441. package/shared/locales/nb-NO.d.ts +1 -0
  442. package/shared/locales/nb-NO.js +2 -1
  443. package/shared/locales/nb-NO.js.map +1 -1
  444. package/style/core/scopes.scss +1 -1
  445. package/style/dnb-ui-basis.css +1 -1
  446. package/style/dnb-ui-basis.min.css +1 -1
  447. package/style/dnb-ui-body.css +1 -1
  448. package/style/dnb-ui-body.min.css +1 -1
  449. package/style/dnb-ui-components.css +112 -74
  450. package/style/dnb-ui-components.min.css +3 -3
  451. package/style/dnb-ui-core.css +1 -1
  452. package/style/dnb-ui-core.min.css +1 -1
  453. package/style/dnb-ui-extensions.css +21 -3
  454. package/style/dnb-ui-extensions.min.css +1 -1
  455. package/style/dnb-ui-forms.css +21 -3
  456. package/style/dnb-ui-forms.min.css +1 -1
  457. package/style/themes/theme-eiendom/eiendom-theme-components.css +138 -84
  458. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  459. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -3
  460. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  461. package/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -3
  462. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  463. package/style/themes/theme-sbanken/fonts.scss +1 -1
  464. package/style/themes/theme-sbanken/sbanken-theme-components.css +137 -81
  465. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  466. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -3
  467. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  468. package/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -3
  469. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  470. package/style/themes/theme-ui/ui-theme-components.css +138 -84
  471. package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  472. package/style/themes/theme-ui/ui-theme-extensions.css +21 -3
  473. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  474. package/style/themes/theme-ui/ui-theme-forms.css +21 -3
  475. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  476. package/umd/dnb-ui-basis.min.js +1 -1
  477. package/umd/dnb-ui-components.min.js +1 -1
  478. package/umd/dnb-ui-elements.min.js +1 -1
  479. package/umd/dnb-ui-extensions.min.js +3 -3
  480. package/umd/dnb-ui-lib.min.js +1 -1
@@ -4,12 +4,12 @@
4
4
  */
5
5
 
6
6
  @mixin tableAccordionActiveColor {
7
- .dnb-table__td__accordion-icon .dnb-icon {
7
+ .dnb-table__td__button-icon .dnb-icon {
8
8
  color: var(--table-accordion-icon-color--active);
9
9
  }
10
10
  }
11
11
  @mixin tableAccordionDisabledColor {
12
- .dnb-table__td__accordion-icon .dnb-icon {
12
+ .dnb-table__td__button-icon .dnb-icon {
13
13
  color: var(--table-accordion-icon-color--disabled);
14
14
  }
15
15
  }
@@ -32,7 +32,7 @@
32
32
  --table-accordion-outline-width: var(--focus-ring-width);
33
33
  --table-accordion-outline-background--active: var(--color-pistachio);
34
34
 
35
- &__th#{&}__th__accordion-icon {
35
+ &__th#{&}__th__button-icon {
36
36
  &.dnb-table__th {
37
37
  padding: 0;
38
38
  }
@@ -53,14 +53,14 @@
53
53
  }
54
54
  }
55
55
 
56
- &__td#{&}__td__accordion-icon {
56
+ &__td#{&}__td__button-icon {
57
57
  &.dnb-table__td {
58
58
  padding: 0;
59
59
  }
60
60
  user-select: none; // prevent selection on double-click
61
61
  }
62
62
 
63
- &__tr--has-accordion-content &__toggle-button {
63
+ &__tr--clickable &__button {
64
64
  display: flex; // to ensure we inherit the correct size from its content
65
65
  justify-content: center;
66
66
 
@@ -69,26 +69,21 @@
69
69
  transition: transform 500ms var(--easing-default);
70
70
  }
71
71
  }
72
- &__tr--has-accordion-content#{&}__tr--no-animation
73
- &__toggle-button
74
- .dnb-icon,
75
- html[data-visual-test]
76
- &__tr--has-accordion-content
77
- &__toggle-button
78
- .dnb-icon {
72
+ &__tr--clickable#{&}__tr--no-animation &__button .dnb-icon,
73
+ html[data-visual-test] &__tr--clickable &__button .dnb-icon {
79
74
  transition: none !important;
80
75
  }
81
76
 
82
- &__tr--has-accordion-content,
77
+ &__tr--clickable,
83
78
  &__tr__accordion-content {
84
79
  position: relative;
85
80
  }
86
- &__tr--has-accordion-content#{&}__tr--expanded,
81
+ &__tr--clickable#{&}__tr--expanded,
87
82
  &__tr__accordion-content {
88
83
  z-index: 3; // ensure borders are visible in certain states
89
84
  }
90
85
 
91
- &__tr--has-accordion-content {
86
+ &__tr--clickable {
92
87
  &:active,
93
88
  html[data-whatinput='keyboard'] &:focus,
94
89
  &:hover:not(.dnb-table__tr--hover.dnb-table__tr--expanded) {
@@ -96,13 +91,11 @@
96
91
  }
97
92
  }
98
93
 
99
- &__tr--has-accordion-content#{&}__tr--expanded
100
- &__toggle-button
101
- .dnb-icon {
94
+ &__tr--clickable#{&}__tr--expanded &__button .dnb-icon {
102
95
  transform: rotate(180deg);
103
96
  }
104
97
 
105
- &__tr--has-accordion-content#{&}__tr--expanded {
98
+ &__tr--clickable#{&}__tr--expanded {
106
99
  .dnb-table--border & td::after {
107
100
  border-bottom: none;
108
101
  border-left: none;
@@ -110,7 +103,7 @@
110
103
  }
111
104
  }
112
105
 
113
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled) {
106
+ &__tr--clickable#{&}__tr:not(&__tr--disabled) {
114
107
  outline: none;
115
108
 
116
109
  td::before {
@@ -145,19 +138,18 @@
145
138
 
146
139
  &--border
147
140
  tbody
148
- &__tr--has-accordion-content:not(#{&}__tr--expanded):not(&__tr--last)
141
+ &__tr--clickable:not(#{&}__tr--expanded):not(&__tr--last)
149
142
  &__td::before {
150
143
  bottom: calc(var(--table-border-width) * -1);
151
144
  }
152
145
 
153
- &__tr--has-accordion-content#{&}__tr--expanded:not(&__tr--disabled):hover
154
- &__td {
146
+ &__tr--clickable#{&}__tr--expanded:not(&__tr--disabled):hover &__td {
155
147
  background-color: var(--color-white);
156
148
  }
157
149
 
158
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):not(
159
- :active
160
- ):not(:hover):focus {
150
+ &__tr--clickable#{&}__tr:not(&__tr--disabled):not(:active):not(
151
+ :hover
152
+ ):focus {
161
153
  td::before {
162
154
  @include whatInput(keyboard) {
163
155
  border-color: var(--focus-ring-color);
@@ -172,7 +164,7 @@
172
164
  }
173
165
  }
174
166
 
175
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):active {
167
+ &__tr--clickable#{&}__tr:not(&__tr--disabled):active {
176
168
  html:not([data-whatintent='touch']) &:hover td::before,
177
169
  td::before {
178
170
  border-color: var(--table-accordion-outline-color);
@@ -182,13 +174,13 @@
182
174
  }
183
175
  }
184
176
 
185
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):active &__td {
177
+ &__tr--clickable#{&}__tr:not(&__tr--disabled):active &__td {
186
178
  background-color: var(--table-accordion-outline-background--active);
187
179
 
188
180
  @include tableAccordionActiveColor();
189
181
  }
190
182
 
191
- &__tr--has-accordion-content#{&}__tr--expanded:not(
183
+ &__tr--clickable#{&}__tr--expanded:not(
192
184
  &__tr--disabled
193
185
  )#{&}__tr--hover:not(:active):hover
194
186
  &__td {
@@ -200,9 +192,9 @@
200
192
  }
201
193
  }
202
194
 
203
- &__tr--has-accordion-content#{&}__tr#{&}__tr--expanded:not(
204
- &__tr--disabled
205
- ):not(:active):not(:hover) {
195
+ &__tr--clickable#{&}__tr#{&}__tr--expanded:not(&__tr--disabled):not(
196
+ :active
197
+ ):not(:hover) {
206
198
  @include whatInputNot('keyboard') {
207
199
  background-color: var(--table-accordion-header-background);
208
200
 
@@ -213,7 +205,7 @@
213
205
  }
214
206
  }
215
207
 
216
- &__tr--has-accordion-content#{&}__tr--disabled {
208
+ &__tr--clickable#{&}__tr--disabled {
217
209
  @include tableAccordionDisabledColor();
218
210
  }
219
211
 
@@ -256,7 +248,7 @@
256
248
  background-color: var(--color-white);
257
249
  }
258
250
 
259
- + .dnb-table__tr--has-accordion-content .dnb-table__td {
251
+ + .dnb-table__tr--clickable .dnb-table__td {
260
252
  @include tableBorder() {
261
253
  border-top: var(--table-accordion-border);
262
254
  }
@@ -323,13 +315,13 @@
323
315
  }
324
316
 
325
317
  // stylelint-disable-next-line
326
- &__tr--has-accordion-content:not(&__tr--disabled) {
318
+ &__tr--clickable:not(&__tr--disabled) {
327
319
  cursor: pointer;
328
320
  }
329
321
 
330
322
  // prevent selection while animating – useful when user double-clicks
331
323
  // TODO: Our SASS version does not support :has – so we may use this in future
332
- // &__tr--has-accordion-content:has(& + &__tr__accordion-content--animating) {
324
+ // &__tr--clickable:has(& + &__tr__accordion-content--animating) {
333
325
  // user-select: none;
334
326
  // }
335
327
 
@@ -73,7 +73,7 @@
73
73
  //last row must be rounded
74
74
  &--outline tbody:last-child {
75
75
  .dnb-table__tr:last-child,
76
- .dnb-table__tr--has-accordion-content:not(
76
+ .dnb-table__tr--clickable:not(
77
77
  .dnb-table__tr--expanded
78
78
  ).dnb-table__tr--last {
79
79
  clip-path: inset(
@@ -5,4 +5,3 @@ export type TableAccordionHeadProps = {
5
5
  count: number;
6
6
  } & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>;
7
7
  export declare function TableAccordionHead(allProps: TableAccordionHeadProps): import("react/jsx-runtime").JSX.Element;
8
- export declare function TableAccordionToggleButton(): import("react/jsx-runtime").JSX.Element;
@@ -3,24 +3,18 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  var _Td;
6
- const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
6
+ const _excluded = ["children", "expanded", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
7
7
  import React, { useEffect } from 'react';
8
- import classnames from 'classnames';
9
- import keycode from 'keycode';
10
- import { hasSelectedText } from '../../../shared/helpers';
11
- import Button from '../../button/Button';
12
- import IconPrimary from '../../icon/IconPrimary';
13
- import Th from '../TableTh';
14
8
  import Td from '../TableTd';
15
9
  import { TableContext } from '../TableContext';
10
+ import { TableClickableButtonTd, TableClickableHead, TableIconSrTh, isTableHead, onClickTr } from '../TableClickableHead';
16
11
  import { TableAccordionContext } from './TableAccordionContext';
17
12
  import { TableAccordionContentSingle, TableAccordionContentRow } from './TableAccordionContent';
18
13
  export function TableAccordionHead(allProps) {
14
+ var _React$useContext;
19
15
  const {
20
16
  children,
21
- className,
22
17
  expanded,
23
- disabled,
24
18
  noAnimation,
25
19
  onClick,
26
20
  onOpened,
@@ -43,11 +37,11 @@ export function TableAccordionHead(allProps) {
43
37
  const [trIsHover, setHover] = React.useState(false);
44
38
  const [trHadClick, setHadClick] = React.useState(false);
45
39
  let headerContent = React.Children.toArray(children);
46
- const addExpandIcon = icon => {
40
+ const addContent = content => {
47
41
  if (tableContext.allProps.accordionChevronPlacement === 'end') {
48
- headerContent.push(icon);
42
+ headerContent.push(content);
49
43
  } else {
50
- headerContent.unshift(icon);
44
+ headerContent.unshift(content);
51
45
  }
52
46
  };
53
47
  const accordionContent = headerContent.filter(element => {
@@ -62,30 +56,31 @@ export function TableAccordionHead(allProps) {
62
56
  };
63
57
  }
64
58
  }, [count, tableContext === null || tableContext === void 0 ? void 0 : tableContext.collapseTrCallbacks, hasAccordionContent]);
65
- const trParams = !disabled && hasAccordionContent ? {
66
- onClick: toggleOpenTr,
67
- onMouseEnter: onMouseEnterHandler,
68
- onMouseLeave: onMouseLeaveHandler,
69
- onKeyDown: onKeydownHandler
70
- } : {};
59
+ const tableContextAllProps = (_React$useContext = React.useContext(TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
71
60
  if (hasAccordionContent) {
72
61
  headerContent = headerContent.filter(element => {
73
62
  return !isAccordionElement(element);
74
63
  });
75
- addExpandIcon(_Td || (_Td = React.createElement(Td, {
76
- className: "dnb-table__td__accordion-icon",
64
+ addContent(React.createElement(TableClickableButtonTd, {
65
+ trIsOpen: trIsOpen,
66
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
67
+ icon: "chevron_down",
68
+ onClick: toggleOpenTr,
77
69
  key: "td-icon"
78
- }, React.createElement(TableAccordionToggleButton, null))));
70
+ }));
79
71
  } else if (isTableHead(headerContent)) {
80
72
  var _tableContext$allProp;
81
- addExpandIcon(React.createElement(Th, {
82
- "aria-hidden": true,
83
- className: "dnb-table__th__accordion-icon",
84
- key: "th-icon"
85
- }, React.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR)));
73
+ addContent(React.createElement(TableIconSrTh, {
74
+ key: "th-icon",
75
+ text: tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR
76
+ }));
77
+ } else if (!hasAccordionContent) {
78
+ addContent(_Td || (_Td = React.createElement(Td, {
79
+ key: "empty-td"
80
+ })));
86
81
  }
87
82
  const countTds = hasAccordionContent ? headerContent.filter(element => {
88
- return element.type === Td;
83
+ return element.type === Td || element.type === TableClickableButtonTd;
89
84
  }).length : null;
90
85
  return React.createElement(TableAccordionContext.Provider, {
91
86
  value: {
@@ -96,59 +91,36 @@ export function TableAccordionHead(allProps) {
96
91
  onOpened,
97
92
  onClosed
98
93
  }
99
- }, React.createElement("tr", _extends({
100
- tabIndex: accordionContent && !disabled ? 0 : undefined,
101
- className: classnames(className, hasAccordionContent && 'dnb-table__tr--has-accordion-content', trIsOpen && 'dnb-table__tr--expanded', disabled && 'dnb-table__tr--disabled', noAnimation && 'dnb-table__tr--no-animation', trIsHover && trHadClick && 'dnb-table__tr--hover')
102
- }, trParams, props), headerContent), accordionContent);
103
- function onKeydownHandler(event) {
104
- switch (keycode(event.nativeEvent)) {
105
- case 'space':
106
- case 'enter':
107
- {
108
- const target = event.target;
109
- if (document.activeElement !== target || target.tagName === 'TR') {
110
- setOpen(!trIsOpen);
111
- event.preventDefault();
112
- }
113
- }
114
- break;
115
- }
116
- }
94
+ }, React.createElement(TableClickableHead, _extends({
95
+ trIsOpen: trIsOpen,
96
+ trIsHover: trIsHover,
97
+ trHadClick: trHadClick,
98
+ clickable: hasAccordionContent,
99
+ noAnimation: noAnimation,
100
+ onClick: toggleOpenTr,
101
+ onMouseEnter: onMouseEnterHandler,
102
+ onMouseLeave: onMouseLeaveHandler,
103
+ onKeyDown: onKeyDownHandler,
104
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR
105
+ }, props), headerContent), accordionContent);
117
106
  function onMouseEnterHandler() {
118
107
  setHover(true);
119
108
  }
109
+ function onKeyDownHandler(event) {
110
+ toggleOpenTr(event, true);
111
+ }
120
112
  function onMouseLeaveHandler() {
121
113
  setHover(false);
122
114
  setHadClick(false);
123
115
  }
124
- function toggleOpenTr(event) {
125
- let allowInteractiveElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
126
- const target = event.target;
127
- if ((document.activeElement !== target && target.tagName !== 'INPUT' && target.tagName !== 'LABEL' || allowInteractiveElement) && !hasSelectedText()) {
128
- setOpen(!trIsOpen);
129
- setHadClick(true);
130
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
131
- }
116
+ function toggleOpenFn(event) {
117
+ setOpen(!trIsOpen);
118
+ setHadClick(true);
119
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
120
+ }
121
+ function toggleOpenTr(event, allowInteractiveElement) {
122
+ onClickTr(event, allowInteractiveElement, toggleOpenFn);
132
123
  }
133
- }
134
- export function TableAccordionToggleButton() {
135
- var _React$useContext;
136
- const tableAccordionContext = React.useContext(TableAccordionContext);
137
- const tableContextAllProps = (_React$useContext = React.useContext(TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
138
- const iconSize = (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'medium' || (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'small' ? 'basis' : 'medium';
139
- return React.createElement("span", {
140
- className: "dnb-table__toggle-button"
141
- }, React.createElement(IconPrimary, {
142
- icon: "chevron_down",
143
- size: iconSize
144
- }), React.createElement(Button, {
145
- className: "dnb-sr-only",
146
- tabIndex: -1,
147
- "aria-label": tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
148
- "aria-expanded": Boolean(tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.trIsOpen),
149
- on_click: event => tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.toggleOpenTr(event, true)
150
- }));
151
124
  }
152
125
  const isAccordionElement = element => element.type === TableAccordionContentSingle || element.type === TableAccordionContentRow;
153
- const isTableHead = children => children.some(element => element.type === Th);
154
126
  //# sourceMappingURL=TableAccordionHead.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordionHead.js","names":["React","useEffect","classnames","keycode","hasSelectedText","Button","IconPrimary","Th","Td","TableContext","TableAccordionContext","TableAccordionContentSingle","TableAccordionContentRow","TableAccordionHead","allProps","children","className","expanded","disabled","noAnimation","onClick","onOpened","onClosed","count","props","_objectWithoutProperties","_excluded","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","length","every","isValidElement","_tableContext$collaps","collapseTrCallbacks","current","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","_Td","createElement","key","TableAccordionToggleButton","isTableHead","_tableContext$allProp","accordionToggleButtonSR","countTds","type","Provider","value","_extends","tabIndex","undefined","event","nativeEvent","target","document","activeElement","tagName","preventDefault","allowInteractiveElement","arguments","_React$useContext","tableAccordionContext","tableContextAllProps","iconSize","size","Boolean","on_click","some"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../../shared/helpers'\nimport Button from '../../button/Button'\nimport IconPrimary from '../../icon/IconPrimary'\nimport Th from '../TableTh'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\n const {\n children,\n className,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addExpandIcon = (icon) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(icon)\n } else {\n headerContent.unshift(icon)\n }\n }\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addExpandIcon(\n <Td className=\"dnb-table__td__accordion-icon\" key=\"td-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n } else if (isTableHead(headerContent)) {\n addExpandIcon(\n <Th\n aria-hidden\n className=\"dnb-table__th__accordion-icon\"\n key=\"th-icon\"\n >\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {headerContent}\n </tr>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onKeydownHandler(event: React.SyntheticEvent) {\n switch (keycode(event.nativeEvent)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n const iconSize =\n tableContextAllProps?.size === 'medium' ||\n tableContextAllProps?.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={tableContextAllProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(tableAccordionContext?.trIsOpen)}\n on_click={(event) =>\n tableAccordionContext?.toggleOpenTr(event, true)\n }\n />\n </span>\n )\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableAccordionHead.js","names":["React","useEffect","Td","TableContext","TableClickableButtonTd","TableClickableHead","TableIconSrTh","isTableHead","onClickTr","TableAccordionContext","TableAccordionContentSingle","TableAccordionContentRow","TableAccordionHead","allProps","_React$useContext","children","expanded","noAnimation","onClick","onOpened","onClosed","count","props","_objectWithoutProperties","_excluded","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addContent","content","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","length","every","isValidElement","_tableContext$collaps","collapseTrCallbacks","current","tableContextAllProps","createElement","ariaLabel","accordionToggleButtonSR","icon","toggleOpenTr","key","_tableContext$allProp","text","_Td","countTds","type","Provider","value","_extends","clickable","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeyDownHandler","event","toggleOpenFn","allowInteractiveElement"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\n const {\n children,\n expanded,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addContent = (content) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(content)\n } else {\n headerContent.unshift(content)\n }\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addContent(\n <TableClickableButtonTd\n trIsOpen={trIsOpen}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n icon=\"chevron_down\"\n onClick={toggleOpenTr}\n key=\"td-icon\"\n />\n )\n } else if (isTableHead(headerContent)) {\n addContent(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.accordionToggleButtonSR}\n />\n )\n } else if (!hasAccordionContent) {\n addContent(<Td key=\"empty-td\"></Td>)\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return (\n element.type === Td || element.type === TableClickableButtonTd\n ) // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n onOpened,\n onClosed,\n }}\n >\n <TableClickableHead\n trIsOpen={trIsOpen}\n trIsHover={trIsHover}\n trHadClick={trHadClick}\n clickable={hasAccordionContent}\n noAnimation={noAnimation}\n onClick={toggleOpenTr}\n onMouseEnter={onMouseEnterHandler}\n onMouseLeave={onMouseLeaveHandler}\n onKeyDown={onKeyDownHandler}\n ariaLabel={tableContextAllProps?.accordionToggleButtonSR}\n {...props}\n >\n {headerContent}\n </TableClickableHead>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onMouseEnterHandler() {\n setHover(true)\n }\n\n function onKeyDownHandler(event: React.SyntheticEvent) {\n toggleOpenTr(event, true)\n }\n\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n\n function toggleOpenFn(event: React.SyntheticEvent) {\n setOpen(!trIsOpen)\n setHadClick(true)\n onClick?.(event)\n }\n\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, toggleOpenFn)\n }\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { TableTrProps } from '../TableTr';
3
+ export type TableNavigationHeadProps = TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>;
4
+ export declare function TableNavigationHead(allProps: TableNavigationHeadProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,48 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _Td;
4
+ const _excluded = ["children", "onClick"];
5
+ import React from 'react';
6
+ import Td from '../TableTd';
7
+ import { TableContext } from '../TableContext';
8
+ import { TableClickableButtonTd, TableClickableHead, TableIconSrTh, isTableHead, onClickTr } from '../TableClickableHead';
9
+ export function TableNavigationHead(allProps) {
10
+ var _React$useContext;
11
+ const {
12
+ children,
13
+ onClick
14
+ } = allProps,
15
+ props = _objectWithoutProperties(allProps, _excluded);
16
+ const tableContext = React.useContext(TableContext);
17
+ let content = React.Children.toArray(children);
18
+ const hasOnClick = typeof onClick === 'function';
19
+ const tableContextAllProps = (_React$useContext = React.useContext(TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
20
+ if (hasOnClick) {
21
+ content.push(React.createElement(TableClickableButtonTd, {
22
+ key: "td-icon",
23
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.navigationButtonSR,
24
+ icon: "chevron_right",
25
+ onClick: onClickHandler
26
+ }));
27
+ } else if (isTableHead(content)) {
28
+ var _tableContext$allProp;
29
+ content.push(React.createElement(TableIconSrTh, {
30
+ key: "th-icon",
31
+ text: tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.navigationButtonSR
32
+ }));
33
+ } else if (!hasOnClick) {
34
+ content.push(_Td || (_Td = React.createElement(Td, {
35
+ key: "empty-td"
36
+ })));
37
+ }
38
+ return React.createElement(TableClickableHead, _extends({
39
+ clickable: hasOnClick,
40
+ onClick: onClickHandler,
41
+ onKeyDown: onClick,
42
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.navigationButtonSR
43
+ }, props), content);
44
+ function onClickHandler(event, allowInteractiveElement) {
45
+ onClickTr(event, allowInteractiveElement, onClick);
46
+ }
47
+ }
48
+ //# sourceMappingURL=TableNavigationHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableNavigationHead.js","names":["React","Td","TableContext","TableClickableButtonTd","TableClickableHead","TableIconSrTh","isTableHead","onClickTr","TableNavigationHead","allProps","_React$useContext","children","onClick","props","_objectWithoutProperties","_excluded","tableContext","useContext","content","Children","toArray","hasOnClick","tableContextAllProps","push","createElement","key","ariaLabel","navigationButtonSR","icon","onClickHandler","_tableContext$allProp","text","_Td","_extends","clickable","onKeyDown","event","allowInteractiveElement"],"sources":["../../../../../src/components/table/table-navigation/TableNavigationHead.tsx"],"sourcesContent":["import React from 'react'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport {\n TableClickableButtonTd,\n TableClickableHead,\n TableIconSrTh,\n isTableHead,\n onClickTr,\n} from '../TableClickableHead'\n\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableNavigationHeadProps = TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableNavigationHead(allProps: TableNavigationHeadProps) {\n const { children, onClick, ...props } = allProps\n const tableContext = React.useContext(TableContext)\n\n let content = React.Children.toArray(children)\n\n const hasOnClick = typeof onClick === 'function'\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n\n if (hasOnClick) {\n content.push(\n <TableClickableButtonTd\n key=\"td-icon\"\n ariaLabel={tableContextAllProps?.navigationButtonSR}\n icon=\"chevron_right\"\n onClick={onClickHandler}\n />\n )\n } else if (isTableHead(content)) {\n content.push(\n <TableIconSrTh\n key=\"th-icon\"\n text={tableContext?.allProps?.navigationButtonSR}\n />\n )\n } else if (!hasOnClick) {\n content.push(<Td key=\"empty-td\"></Td>)\n }\n\n return (\n <TableClickableHead\n clickable={hasOnClick}\n onClick={onClickHandler}\n onKeyDown={onClick}\n ariaLabel={tableContextAllProps?.navigationButtonSR}\n {...props}\n >\n {content}\n </TableClickableHead>\n )\n\n function onClickHandler(\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) {\n onClickTr(event, allowInteractiveElement, onClick)\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,YAAY;AAC3B,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SACEC,sBAAsB,EACtBC,kBAAkB,EAClBC,aAAa,EACbC,WAAW,EACXC,SAAS,QACJ,uBAAuB;AAO9B,OAAO,SAASC,mBAAmBA,CAACC,QAAkC,EAAE;EAAA,IAAAC,iBAAA;EACtE,MAAM;MAAEC,QAAQ;MAAEC;IAAkB,CAAC,GAAGH,QAAQ;IAAlBI,KAAK,GAAAC,wBAAA,CAAKL,QAAQ,EAAAM,SAAA;EAChD,MAAMC,YAAY,GAAGhB,KAAK,CAACiB,UAAU,CAACf,YAAY,CAAC;EAEnD,IAAIgB,OAAO,GAAGlB,KAAK,CAACmB,QAAQ,CAACC,OAAO,CAACT,QAAQ,CAAC;EAE9C,MAAMU,UAAU,GAAG,OAAOT,OAAO,KAAK,UAAU;EAEhD,MAAMU,oBAAoB,IAAAZ,iBAAA,GAAGV,KAAK,CAACiB,UAAU,CAACf,YAAY,CAAC,cAAAQ,iBAAA,uBAA9BA,iBAAA,CAAgCD,QAAQ;EAErE,IAAIY,UAAU,EAAE;IACdH,OAAO,CAACK,IAAI,CACVvB,KAAA,CAAAwB,aAAA,CAACrB,sBAAsB;MACrBsB,GAAG,EAAC,SAAS;MACbC,SAAS,EAAEJ,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEK,kBAAmB;MACpDC,IAAI,EAAC,eAAe;MACpBhB,OAAO,EAAEiB;IAAe,CACzB,CACH,CAAC;EACH,CAAC,MAAM,IAAIvB,WAAW,CAACY,OAAO,CAAC,EAAE;IAAA,IAAAY,qBAAA;IAC/BZ,OAAO,CAACK,IAAI,CACVvB,KAAA,CAAAwB,aAAA,CAACnB,aAAa;MACZoB,GAAG,EAAC,SAAS;MACbM,IAAI,EAAEf,YAAY,aAAZA,YAAY,wBAAAc,qBAAA,GAAZd,YAAY,CAAEP,QAAQ,cAAAqB,qBAAA,uBAAtBA,qBAAA,CAAwBH;IAAmB,CAClD,CACH,CAAC;EACH,CAAC,MAAM,IAAI,CAACN,UAAU,EAAE;IACtBH,OAAO,CAACK,IAAI,CAAAS,GAAA,KAAAA,GAAA,GAAChC,KAAA,CAAAwB,aAAA,CAACvB,EAAE;MAACwB,GAAG,EAAC;IAAU,CAAK,CAAC,EAAC;EACxC;EAEA,OACEzB,KAAA,CAAAwB,aAAA,CAACpB,kBAAkB,EAAA6B,QAAA;IACjBC,SAAS,EAAEb,UAAW;IACtBT,OAAO,EAAEiB,cAAe;IACxBM,SAAS,EAAEvB,OAAQ;IACnBc,SAAS,EAAEJ,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEK;EAAmB,GAChDd,KAAK,GAERK,OACiB,CAAC;EAGvB,SAASW,cAAcA,CACrBO,KAA2B,EAC3BC,uBAAiC,EACjC;IACA9B,SAAS,CAAC6B,KAAK,EAAEC,uBAAuB,EAAEzB,OAAO,CAAC;EACpD;AACF"}
@@ -16,6 +16,7 @@ import AlignmentHelper from '../../shared/AlignmentHelper';
16
16
  import FormLabel from '../FormLabel';
17
17
  import FormStatus from '../FormStatus';
18
18
  import Flex from '../Flex';
19
+ import Space from '../Space';
19
20
  import Context from '../../shared/Context';
20
21
  import Suffix from '../../shared/helpers/Suffix';
21
22
  import ToggleButtonGroupContext from './ToggleButtonGroupContext';
@@ -144,15 +145,17 @@ export default class ToggleButtonGroup extends React.PureComponent {
144
145
  value: context
145
146
  }, React.createElement("div", {
146
147
  className: classes
147
- }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(Fieldset, null, React.createElement(Flex.Container, {
148
- align: "baseline",
148
+ }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(Fieldset, {
149
+ className: "dnb-toggle-button-group__fieldset"
150
+ }, React.createElement(Flex.Container, {
149
151
  direction: vertical || label_direction === 'vertical' ? 'vertical' : 'horizontal',
150
152
  gap: vertical ? 'x-small' : 'small'
151
153
  }, label && React.createElement(FormLabel, {
152
154
  element: "legend",
153
155
  id: id + '-label',
154
156
  srOnly: label_sr_only
155
- }, label), React.createElement("span", _extends({
157
+ }, label), React.createElement(Space, _extends({
158
+ element: "span",
156
159
  id: id,
157
160
  className: "dnb-toggle-button-group__shell",
158
161
  role: "group"