@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;
@@ -5,20 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.TableAccordionHead = TableAccordionHead;
8
- exports.TableAccordionToggleButton = TableAccordionToggleButton;
9
8
  var _react = _interopRequireWildcard(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _keycode = _interopRequireDefault(require("keycode"));
12
- var _helpers = require("../../../shared/helpers");
13
- var _Button = _interopRequireDefault(require("../../button/Button"));
14
- var _IconPrimary = _interopRequireDefault(require("../../icon/IconPrimary"));
15
- var _TableTh = _interopRequireDefault(require("../TableTh"));
16
9
  var _TableTd = _interopRequireDefault(require("../TableTd"));
17
10
  var _TableContext = require("../TableContext");
11
+ var _TableClickableHead = require("../TableClickableHead");
18
12
  var _TableAccordionContext = require("./TableAccordionContext");
19
13
  var _TableAccordionContent = require("./TableAccordionContent");
20
14
  var _Td;
21
- const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
15
+ const _excluded = ["children", "expanded", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
22
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
17
  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); }
24
18
  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; }
@@ -26,11 +20,10 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
26
20
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
21
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
22
  function TableAccordionHead(allProps) {
23
+ var _React$useContext;
29
24
  const {
30
25
  children,
31
- className,
32
26
  expanded,
33
- disabled,
34
27
  noAnimation,
35
28
  onClick,
36
29
  onOpened,
@@ -53,11 +46,11 @@ function TableAccordionHead(allProps) {
53
46
  const [trIsHover, setHover] = _react.default.useState(false);
54
47
  const [trHadClick, setHadClick] = _react.default.useState(false);
55
48
  let headerContent = _react.default.Children.toArray(children);
56
- const addExpandIcon = icon => {
49
+ const addContent = content => {
57
50
  if (tableContext.allProps.accordionChevronPlacement === 'end') {
58
- headerContent.push(icon);
51
+ headerContent.push(content);
59
52
  } else {
60
- headerContent.unshift(icon);
53
+ headerContent.unshift(content);
61
54
  }
62
55
  };
63
56
  const accordionContent = headerContent.filter(element => {
@@ -72,30 +65,31 @@ function TableAccordionHead(allProps) {
72
65
  };
73
66
  }
74
67
  }, [count, tableContext === null || tableContext === void 0 ? void 0 : tableContext.collapseTrCallbacks, hasAccordionContent]);
75
- const trParams = !disabled && hasAccordionContent ? {
76
- onClick: toggleOpenTr,
77
- onMouseEnter: onMouseEnterHandler,
78
- onMouseLeave: onMouseLeaveHandler,
79
- onKeyDown: onKeydownHandler
80
- } : {};
68
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
81
69
  if (hasAccordionContent) {
82
70
  headerContent = headerContent.filter(element => {
83
71
  return !isAccordionElement(element);
84
72
  });
85
- addExpandIcon(_Td || (_Td = _react.default.createElement(_TableTd.default, {
86
- className: "dnb-table__td__accordion-icon",
73
+ addContent(_react.default.createElement(_TableClickableHead.TableClickableButtonTd, {
74
+ trIsOpen: trIsOpen,
75
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
76
+ icon: "chevron_down",
77
+ onClick: toggleOpenTr,
87
78
  key: "td-icon"
88
- }, _react.default.createElement(TableAccordionToggleButton, null))));
89
- } else if (isTableHead(headerContent)) {
79
+ }));
80
+ } else if ((0, _TableClickableHead.isTableHead)(headerContent)) {
90
81
  var _tableContext$allProp;
91
- addExpandIcon(_react.default.createElement(_TableTh.default, {
92
- "aria-hidden": true,
93
- className: "dnb-table__th__accordion-icon",
94
- key: "th-icon"
95
- }, _react.default.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR)));
82
+ addContent(_react.default.createElement(_TableClickableHead.TableIconSrTh, {
83
+ key: "th-icon",
84
+ text: tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR
85
+ }));
86
+ } else if (!hasAccordionContent) {
87
+ addContent(_Td || (_Td = _react.default.createElement(_TableTd.default, {
88
+ key: "empty-td"
89
+ })));
96
90
  }
97
91
  const countTds = hasAccordionContent ? headerContent.filter(element => {
98
- return element.type === _TableTd.default;
92
+ return element.type === _TableTd.default || element.type === _TableClickableHead.TableClickableButtonTd;
99
93
  }).length : null;
100
94
  return _react.default.createElement(_TableAccordionContext.TableAccordionContext.Provider, {
101
95
  value: {
@@ -106,59 +100,36 @@ function TableAccordionHead(allProps) {
106
100
  onOpened,
107
101
  onClosed
108
102
  }
109
- }, _react.default.createElement("tr", _extends({
110
- tabIndex: accordionContent && !disabled ? 0 : undefined,
111
- className: (0, _classnames.default)(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')
112
- }, trParams, props), headerContent), accordionContent);
113
- function onKeydownHandler(event) {
114
- switch ((0, _keycode.default)(event.nativeEvent)) {
115
- case 'space':
116
- case 'enter':
117
- {
118
- const target = event.target;
119
- if (document.activeElement !== target || target.tagName === 'TR') {
120
- setOpen(!trIsOpen);
121
- event.preventDefault();
122
- }
123
- }
124
- break;
125
- }
126
- }
103
+ }, _react.default.createElement(_TableClickableHead.TableClickableHead, _extends({
104
+ trIsOpen: trIsOpen,
105
+ trIsHover: trIsHover,
106
+ trHadClick: trHadClick,
107
+ clickable: hasAccordionContent,
108
+ noAnimation: noAnimation,
109
+ onClick: toggleOpenTr,
110
+ onMouseEnter: onMouseEnterHandler,
111
+ onMouseLeave: onMouseLeaveHandler,
112
+ onKeyDown: onKeyDownHandler,
113
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR
114
+ }, props), headerContent), accordionContent);
127
115
  function onMouseEnterHandler() {
128
116
  setHover(true);
129
117
  }
118
+ function onKeyDownHandler(event) {
119
+ toggleOpenTr(event, true);
120
+ }
130
121
  function onMouseLeaveHandler() {
131
122
  setHover(false);
132
123
  setHadClick(false);
133
124
  }
134
- function toggleOpenTr(event) {
135
- let allowInteractiveElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
136
- const target = event.target;
137
- if ((document.activeElement !== target && target.tagName !== 'INPUT' && target.tagName !== 'LABEL' || allowInteractiveElement) && !(0, _helpers.hasSelectedText)()) {
138
- setOpen(!trIsOpen);
139
- setHadClick(true);
140
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
141
- }
125
+ function toggleOpenFn(event) {
126
+ setOpen(!trIsOpen);
127
+ setHadClick(true);
128
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
129
+ }
130
+ function toggleOpenTr(event, allowInteractiveElement) {
131
+ (0, _TableClickableHead.onClickTr)(event, allowInteractiveElement, toggleOpenFn);
142
132
  }
143
- }
144
- function TableAccordionToggleButton() {
145
- var _React$useContext;
146
- const tableAccordionContext = _react.default.useContext(_TableAccordionContext.TableAccordionContext);
147
- const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
148
- const iconSize = (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'medium' || (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'small' ? 'basis' : 'medium';
149
- return _react.default.createElement("span", {
150
- className: "dnb-table__toggle-button"
151
- }, _react.default.createElement(_IconPrimary.default, {
152
- icon: "chevron_down",
153
- size: iconSize
154
- }), _react.default.createElement(_Button.default, {
155
- className: "dnb-sr-only",
156
- tabIndex: -1,
157
- "aria-label": tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
158
- "aria-expanded": Boolean(tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.trIsOpen),
159
- on_click: event => tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.toggleOpenTr(event, true)
160
- }));
161
133
  }
162
134
  const isAccordionElement = element => element.type === _TableAccordionContent.TableAccordionContentSingle || element.type === _TableAccordionContent.TableAccordionContentRow;
163
- const isTableHead = children => children.some(element => element.type === _TableTh.default);
164
135
  //# sourceMappingURL=TableAccordionHead.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordionHead.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_keycode","_helpers","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_TableAccordionContext","_TableAccordionContent","_Td","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableAccordionHead","allProps","children","className","expanded","disabled","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","createElement","TableAccordionToggleButton","isTableHead","_tableContext$allProp","accordionToggleButtonSR","countTds","type","Td","TableAccordionContext","Provider","value","tabIndex","undefined","classnames","event","keycode","nativeEvent","document","activeElement","tagName","preventDefault","allowInteractiveElement","hasSelectedText","_React$useContext","tableAccordionContext","tableContextAllProps","iconSize","size","Boolean","on_click","TableAccordionContentSingle","TableAccordionContentRow","some","Th"],"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","_interopRequireWildcard","require","_TableTd","_interopRequireDefault","_TableContext","_TableClickableHead","_TableAccordionContext","_TableAccordionContent","_Td","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableAccordionHead","allProps","_React$useContext","children","expanded","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addContent","content","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","tableContextAllProps","createElement","TableClickableButtonTd","ariaLabel","accordionToggleButtonSR","icon","toggleOpenTr","isTableHead","_tableContext$allProp","TableIconSrTh","text","countTds","type","Td","TableAccordionContext","Provider","value","TableClickableHead","clickable","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeyDownHandler","event","toggleOpenFn","allowInteractiveElement","onClickTr","TableAccordionContentSingle","TableAccordionContentRow"],"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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAOA,IAAAK,sBAAA,GAAAL,OAAA;AACA,IAAAM,sBAAA,GAAAN,OAAA;AAGgC,IAAAO,GAAA;AAAA,MAAAC,SAAA;AAAA,SAAAN,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,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,SAAAd,wBAAAU,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,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,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAczB,SAASe,kBAAkBA,CAACC,QAAiC,EAAE;EAAA,IAAAC,iBAAA;EACpE,MAAM;MACJC,QAAQ;MACRC,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPC,QAAQ;MACRC,QAAQ;MACRC;IAEF,CAAC,GAAGR,QAAQ;IADPS,KAAK,GAAAnB,wBAAA,CACNU,QAAQ,EAAA1C,SAAA;EACZ,MAAMoD,YAAY,GAAGC,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC;EAEnD,MAAM,CAACC,QAAQ,EAAEC,OAAO,CAAC,GAAGJ,cAAK,CAACK,QAAQ,CAAC,MAAM;IAC/C,IAAI,OAAOb,QAAQ,KAAK,SAAS,EAAE;MACjC,OAAOA,QAAQ;IACjB,CAAC,MAAM,IAAI,OAAOc,QAAQ,KAAK,WAAW,EAAE;MAC1C,MAAMC,EAAE,GAAGT,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,EAAE;MACpB,IAAIA,EAAE,IAAI,GAAG,GAAGA,EAAE,KAAKD,QAAQ,CAACE,IAAI,EAAE;QACpC,OAAO,IAAI;MACb;IACF;IAEA,OAAO,KAAK;EACd,CAAC,CAAC;EACF,MAAM,CAACC,SAAS,EAAEC,QAAQ,CAAC,GAAGV,cAAK,CAACK,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACM,UAAU,EAAEC,WAAW,CAAC,GAAGZ,cAAK,CAACK,QAAQ,CAAC,KAAK,CAAC;EAEvD,IAAIQ,aAAa,GAAGb,cAAK,CAACc,QAAQ,CAACC,OAAO,CAACxB,QAAQ,CAAC;EAEpD,MAAMyB,UAAU,GAAIC,OAAO,IAAK;IAC9B,IAAIlB,YAAY,CAACV,QAAQ,CAAC6B,yBAAyB,KAAK,KAAK,EAAE;MAC7DL,aAAa,CAACM,IAAI,CAACF,OAAO,CAAC;IAC7B,CAAC,MAAM;MACLJ,aAAa,CAACO,OAAO,CAACH,OAAO,CAAC;IAChC;EACF,CAAC;EAKD,MAAMI,gBAAgB,GAAGR,aAAa,CAACS,MAAM,CAC1CC,OAA2B,IAAK;IAC/B,OAAOC,kBAAkB,CAACD,OAAO,CAAC;EACpC,CACF,CAEG;EAEH,MAAME,mBAAmB,GACvBJ,gBAAgB,CAAC7C,MAAM,KAAK,CAAC,IAC7B6C,gBAAgB,CAACK,KAAK,CAAEH,OAAO,IAAKvB,cAAK,CAAC2B,cAAc,CAACJ,OAAO,CAAC,CAAC;EAEpE,IAAAK,gBAAS,EAAC,MAAM;IAAA,IAAAC,qBAAA;IACd,IACEJ,mBAAmB,IACnB1B,YAAY,aAAZA,YAAY,gBAAA8B,qBAAA,GAAZ9B,YAAY,CAAE+B,mBAAmB,cAAAD,qBAAA,eAAjCA,qBAAA,CAAmCE,OAAO,IAC1ClC,KAAK,EACL;MACAE,YAAY,CAAC+B,mBAAmB,CAACC,OAAO,CAAClC,KAAK,CAAC,GAAG,MAAM;QACtDO,OAAO,CAAC,KAAK,CAAC;MAChB,CAAC;IACH;EACF,CAAC,EAAE,CAACP,KAAK,EAAEE,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE+B,mBAAmB,EAAEL,mBAAmB,CAAC,CAAC;EAEnE,MAAMO,oBAAoB,IAAA1C,iBAAA,GAAGU,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC,cAAAZ,iBAAA,uBAA9BA,iBAAA,CAAgCD,QAAQ;EAErE,IAAIoC,mBAAmB,EAAE;IAEvBZ,aAAa,GAAGA,aAAa,CAACS,MAAM,CAAEC,OAA2B,IAAK;MACpE,OAAO,CAACC,kBAAkB,CAACD,OAAO,CAAC;IACrC,CAAC,CAAC;IAEFP,UAAU,CACR/E,MAAA,CAAAa,OAAA,CAAAmF,aAAA,CAAC1F,mBAAA,CAAA2F,sBAAsB;MACrB/B,QAAQ,EAAEA,QAAS;MACnBgC,SAAS,EAAEH,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEI,uBAAwB;MACzDC,IAAI,EAAC,cAAc;MACnB3C,OAAO,EAAE4C,YAAa;MACtB1E,GAAG,EAAC;IAAS,CACd,CACH,CAAC;EACH,CAAC,MAAM,IAAI,IAAA2E,+BAAW,EAAC1B,aAAa,CAAC,EAAE;IAAA,IAAA2B,qBAAA;IACrCxB,UAAU,CACR/E,MAAA,CAAAa,OAAA,CAAAmF,aAAA,CAAC1F,mBAAA,CAAAkG,aAAa;MACZ7E,GAAG,EAAC,SAAS;MACb8E,IAAI,EAAE3C,YAAY,aAAZA,YAAY,wBAAAyC,qBAAA,GAAZzC,YAAY,CAAEV,QAAQ,cAAAmD,qBAAA,uBAAtBA,qBAAA,CAAwBJ;IAAwB,CACvD,CACH,CAAC;EACH,CAAC,MAAM,IAAI,CAACX,mBAAmB,EAAE;IAC/BT,UAAU,CAAAtE,GAAA,KAAAA,GAAA,GAACT,MAAA,CAAAa,OAAA,CAAAmF,aAAA,CAAC7F,QAAA,CAAAU,OAAE;MAACc,GAAG,EAAC;IAAU,CAAK,CAAC,EAAC;EACtC;EAEA,MAAM+E,QAAQ,GAAGlB,mBAAmB,GAChCZ,aAAa,CAACS,MAAM,CAAEC,OAA2B,IAAK;IACpD,OACEA,OAAO,CAACqB,IAAI,KAAKC,gBAAE,IAAItB,OAAO,CAACqB,IAAI,KAAKV,0CAAsB;EAElE,CAAC,CAAC,CAAC1D,MAAM,GACT,IAAI;EAER,OACEvC,MAAA,CAAAa,OAAA,CAAAmF,aAAA,CAACzF,sBAAA,CAAAsG,qBAAqB,CAACC,QAAQ;IAC7BC,KAAK,EAAE;MACLV,YAAY;MACZnC,QAAQ;MACRV,WAAW;MACXkD,QAAQ;MACRhD,QAAQ;MACRC;IACF;EAAE,GAEF3D,MAAA,CAAAa,OAAA,CAAAmF,aAAA,CAAC1F,mBAAA,CAAA0G,kBAAkB,EAAA/E,QAAA;IACjBiC,QAAQ,EAAEA,QAAS;IACnBM,SAAS,EAAEA,SAAU;IACrBE,UAAU,EAAEA,UAAW;IACvBuC,SAAS,EAAEzB,mBAAoB;IAC/BhC,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAE4C,YAAa;IACtBa,YAAY,EAAEC,mBAAoB;IAClCC,YAAY,EAAEC,mBAAoB;IAClCC,SAAS,EAAEC,gBAAiB;IAC5BrB,SAAS,EAAEH,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEI;EAAwB,GACrDtC,KAAK,GAERe,aACiB,CAAC,EACpBQ,gBAC6B,CAAC;EAGnC,SAAS+B,mBAAmBA,CAAA,EAAG;IAC7B1C,QAAQ,CAAC,IAAI,CAAC;EAChB;EAEA,SAAS8C,gBAAgBA,CAACC,KAA2B,EAAE;IACrDnB,YAAY,CAACmB,KAAK,EAAE,IAAI,CAAC;EAC3B;EAEA,SAASH,mBAAmBA,CAAA,EAAG;IAC7B5C,QAAQ,CAAC,KAAK,CAAC;IACfE,WAAW,CAAC,KAAK,CAAC;EACpB;EAEA,SAAS8C,YAAYA,CAACD,KAA2B,EAAE;IACjDrD,OAAO,CAAC,CAACD,QAAQ,CAAC;IAClBS,WAAW,CAAC,IAAI,CAAC;IACjBlB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG+D,KAAK,CAAC;EAClB;EAEA,SAASnB,YAAYA,CACnBmB,KAA2B,EAC3BE,uBAAiC,EACjC;IACA,IAAAC,6BAAS,EAACH,KAAK,EAAEE,uBAAuB,EAAED,YAAY,CAAC;EACzD;AACF;AAEA,MAAMlC,kBAAkB,GAAID,OAA2B,IACrDA,OAAO,CAACqB,IAAI,KAAKiB,kDAA2B,IAC5CtC,OAAO,CAACqB,IAAI,KAAKkB,+CAAwB"}
@@ -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,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TableNavigationHead = TableNavigationHead;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _TableTd = _interopRequireDefault(require("../TableTd"));
9
+ var _TableContext = require("../TableContext");
10
+ var _TableClickableHead = require("../TableClickableHead");
11
+ var _Td;
12
+ const _excluded = ["children", "onClick"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
+ function TableNavigationHead(allProps) {
18
+ var _React$useContext;
19
+ const {
20
+ children,
21
+ onClick
22
+ } = allProps,
23
+ props = _objectWithoutProperties(allProps, _excluded);
24
+ const tableContext = _react.default.useContext(_TableContext.TableContext);
25
+ let content = _react.default.Children.toArray(children);
26
+ const hasOnClick = typeof onClick === 'function';
27
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
28
+ if (hasOnClick) {
29
+ content.push(_react.default.createElement(_TableClickableHead.TableClickableButtonTd, {
30
+ key: "td-icon",
31
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.navigationButtonSR,
32
+ icon: "chevron_right",
33
+ onClick: onClickHandler
34
+ }));
35
+ } else if ((0, _TableClickableHead.isTableHead)(content)) {
36
+ var _tableContext$allProp;
37
+ content.push(_react.default.createElement(_TableClickableHead.TableIconSrTh, {
38
+ key: "th-icon",
39
+ text: tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.navigationButtonSR
40
+ }));
41
+ } else if (!hasOnClick) {
42
+ content.push(_Td || (_Td = _react.default.createElement(_TableTd.default, {
43
+ key: "empty-td"
44
+ })));
45
+ }
46
+ return _react.default.createElement(_TableClickableHead.TableClickableHead, _extends({
47
+ clickable: hasOnClick,
48
+ onClick: onClickHandler,
49
+ onKeyDown: onClick,
50
+ ariaLabel: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.navigationButtonSR
51
+ }, props), content);
52
+ function onClickHandler(event, allowInteractiveElement) {
53
+ (0, _TableClickableHead.onClickTr)(event, allowInteractiveElement, onClick);
54
+ }
55
+ }
56
+ //# sourceMappingURL=TableNavigationHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableNavigationHead.js","names":["_react","_interopRequireDefault","require","_TableTd","_TableContext","_TableClickableHead","_Td","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableNavigationHead","allProps","_React$useContext","children","onClick","props","tableContext","React","useContext","TableContext","content","Children","toArray","hasOnClick","tableContextAllProps","push","createElement","TableClickableButtonTd","ariaLabel","navigationButtonSR","icon","onClickHandler","isTableHead","_tableContext$allProp","TableIconSrTh","text","TableClickableHead","clickable","onKeyDown","event","allowInteractiveElement","onClickTr"],"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":"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"}
@@ -14,6 +14,7 @@ var _AlignmentHelper2 = _interopRequireDefault(require("../../shared/AlignmentHe
14
14
  var _FormLabel = _interopRequireDefault(require("../FormLabel"));
15
15
  var _FormStatus = _interopRequireDefault(require("../FormStatus"));
16
16
  var _Flex = _interopRequireDefault(require("../Flex"));
17
+ var _Space = _interopRequireDefault(require("../Space"));
17
18
  var _Context = _interopRequireDefault(require("../../shared/Context"));
18
19
  var _Suffix = _interopRequireDefault(require("../../shared/helpers/Suffix"));
19
20
  var _ToggleButtonGroupContext = _interopRequireDefault(require("./ToggleButtonGroupContext"));
@@ -153,15 +154,17 @@ class ToggleButtonGroup extends _react.default.PureComponent {
153
154
  value: context
154
155
  }, _react.default.createElement("div", {
155
156
  className: classes
156
- }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(Fieldset, null, _react.default.createElement(_Flex.default.Container, {
157
- align: "baseline",
157
+ }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(Fieldset, {
158
+ className: "dnb-toggle-button-group__fieldset"
159
+ }, _react.default.createElement(_Flex.default.Container, {
158
160
  direction: vertical || label_direction === 'vertical' ? 'vertical' : 'horizontal',
159
161
  gap: vertical ? 'x-small' : 'small'
160
162
  }, label && _react.default.createElement(_FormLabel.default, {
161
163
  element: "legend",
162
164
  id: id + '-label',
163
165
  srOnly: label_sr_only
164
- }, label), _react.default.createElement("span", _extends({
166
+ }, label), _react.default.createElement(_Space.default, _extends({
167
+ element: "span",
165
168
  id: id,
166
169
  className: "dnb-toggle-button-group__shell",
167
170
  role: "group"