@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
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","PropTypes","classnames","Context","warn","makeUniqueId","isTrue","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","IconPrimary","FormStatus","Anchor","pickIcon","opensNewTab","launch","Tooltip","buttonVariantPropType","variant","oneOf","Button","PureComponent","getContent","props","constructor","_defineProperty","event","afterContent","isValidElement","setState","_id","id","status","tooltip","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","defaultProps","skeleton","context","FormRow","formElement","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","_objectWithoutProperties","_excluded","showStatus","usedVariant","usedSize","iconSize","content","isIconOnly","Boolean","Element","href","to","omitClass","target","classes","theme","darkBackground","params","_objectSpread","on_click","onClick","onClickHandler","type","undefined","createElement","Fragment","_extends","ref","Content","show","label","text_id","no_animation","targetElement","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","object","shape","message","rel","children","_span","key","_span2","_span3","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n onClickHandler = (event) => {\n const afterContent = dispatchCustomElementEvent(this, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (this.props.on_click || this.props.onClick) {\n params.onClick = this.onClickHandler\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.node,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n className: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.node,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["React","PropTypes","classnames","Context","warn","makeUniqueId","isTrue","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","IconPrimary","FormStatus","Anchor","pickIcon","opensNewTab","launch","Tooltip","buttonVariantPropType","variant","oneOf","Button","PureComponent","getContent","props","constructor","_defineProperty","event","afterContent","isValidElement","setState","_id","id","status","tooltip","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","defaultProps","skeleton","context","FormRow","formElement","class","classProp","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","_objectWithoutProperties","_excluded","showStatus","usedVariant","usedSize","iconSize","content","isIconOnly","Boolean","Element","href","to","omitClass","target","classes","theme","darkBackground","params","_objectSpread","on_click","onClick","onClickHandler","type","undefined","createElement","Fragment","_extends","ref","Content","show","label","text_id","no_animation","targetElement","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","object","shape","message","rel","children","_span","key","_span2","_span3","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n onClickHandler = (event) => {\n const afterContent = dispatchCustomElementEvent(this, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: classProp, // @deprecated – can be removed in v11\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n classProp, // @deprecated – can be removed in v11\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (this.props.on_click || this.props.onClick) {\n params.onClick = this.onClickHandler\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.node,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n className: PropTypes.string,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.node,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["className", "stack", "direction", "gap", "spacing", "innerSpace", "alignSelf", "divider", "rowGap", "responsive", "filled", "title", "children"];
4
+ const _excluded = ["className", "stack", "direction", "gap", "spacing", "innerSpace", "alignSelf", "align", "divider", "rowGap", "responsive", "filled", "title", "children"];
5
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  import React from 'react';
@@ -20,6 +20,7 @@ function Card(props) {
20
20
  spacing,
21
21
  innerSpace,
22
22
  alignSelf = 'stretch',
23
+ align,
23
24
  divider = 'space',
24
25
  rowGap,
25
26
  responsive = true,
@@ -53,7 +54,7 @@ function Card(props) {
53
54
  className: classnames('dnb-card', className, responsive && 'dnb-card--responsive', filled && 'dnb-card--filled'),
54
55
  breakout: responsive ? trueWhenSmall : false,
55
56
  roundedCorner: responsive ? falseWhenSmall : true,
56
- outline: true,
57
+ outline: '--outline-card-color',
57
58
  innerSpace: innerSpace !== null && innerSpace !== void 0 ? innerSpace : {
58
59
  small: smallSpace,
59
60
  medium: basisSpace,
@@ -69,7 +70,7 @@ function Card(props) {
69
70
  direction: direction !== null && direction !== void 0 ? direction : 'vertical',
70
71
  divider: divider,
71
72
  alignSelf: alignSelf,
72
- align: stack ? 'stretch' : undefined,
73
+ align: stack ? 'stretch' : align,
73
74
  wrap: !stack,
74
75
  gap: stack ? 'medium' : (gap !== null && gap !== void 0 ? gap : spacing) || false,
75
76
  rowGap: rowGap || false
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","classnames","Flex","SectionParams","combineLabelledBy","useId","Space","Card","props","className","stack","direction","gap","spacing","innerSpace","alignSelf","divider","rowGap","responsive","filled","title","children","rest","_objectWithoutProperties","_excluded","titleId","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","breakout","roundedCorner","outline","createElement","Item","_extends","element","Container","align","undefined","wrap","id","_supportsSpacingProps"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams, SectionProps } from '../section/Section'\nimport { combineLabelledBy } from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\n\nimport type { BasicProps as FlexContainerProps } from '../flex/Container'\nimport type { BasicProps as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\nimport type { SpaceProps } from '../Space'\nimport Space from '../Space'\n\nexport type Props = {\n /**\n * Define a title that appears on top of the Card\n */\n title?: React.ReactNode\n\n /**\n * Define if the Card should behave responsive. Defaults to `true`\n */\n responsive?: boolean\n\n /**\n * Define if the Card should get the same background color as the outline border\n */\n filled?: boolean\n} & FlexContainerProps &\n FlexItemProps & {\n stack?: boolean\n } & SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction Card(props: Props) {\n const {\n className,\n stack,\n direction,\n gap,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n divider = 'space',\n rowGap,\n responsive = true,\n filled,\n title,\n children,\n ...rest\n } = props\n\n const titleId = useId()\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = responsive\n ? {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n : basisSpace\n\n const params = SectionParams({\n className: classnames(\n 'dnb-card',\n className,\n responsive && 'dnb-card--responsive',\n filled && 'dnb-card--filled'\n ),\n breakout: responsive ? trueWhenSmall : false,\n roundedCorner: responsive ? falseWhenSmall : true,\n outline: true,\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n ...(rest as SectionProps),\n 'aria-labelledby': combineLabelledBy(rest, title && titleId),\n })\n\n return (\n <Flex.Item alignSelf={alignSelf} element=\"section\" {...params}>\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n alignSelf={alignSelf}\n align={stack ? 'stretch' : undefined}\n wrap={!stack}\n gap={stack ? 'medium' : (gap ?? spacing) || false}\n rowGap={rowGap || false}\n >\n {title && (\n <Space id={titleId} className=\"dnb-card__title\">\n {title}\n </Space>\n )}\n {children}\n </Flex.Container>\n </Flex.Item>\n )\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","names":["React","classnames","Flex","SectionParams","combineLabelledBy","useId","Space","Card","props","className","stack","direction","gap","spacing","innerSpace","alignSelf","align","divider","rowGap","responsive","filled","title","children","rest","_objectWithoutProperties","_excluded","titleId","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","breakout","roundedCorner","outline","createElement","Item","_extends","element","Container","wrap","id","_supportsSpacingProps"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams, SectionProps } from '../section/Section'\nimport { combineLabelledBy } from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\n\nimport type { BasicProps as FlexContainerProps } from '../flex/Container'\nimport type { BasicProps as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\nimport type { SpaceProps } from '../Space'\nimport Space from '../Space'\n\nexport type Props = {\n /**\n * Define a title that appears on top of the Card\n */\n title?: React.ReactNode\n\n /**\n * Define if the Card should behave responsive. Defaults to `true`\n */\n responsive?: boolean\n\n /**\n * Define if the Card should get the same background color as the outline border\n */\n filled?: boolean\n} & FlexContainerProps &\n FlexItemProps & {\n stack?: boolean\n } & SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction Card(props: Props) {\n const {\n className,\n stack,\n direction,\n gap,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n align,\n divider = 'space',\n rowGap,\n responsive = true,\n filled,\n title,\n children,\n ...rest\n } = props\n\n const titleId = useId()\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = responsive\n ? {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n : basisSpace\n\n const params = SectionParams({\n className: classnames(\n 'dnb-card',\n className,\n responsive && 'dnb-card--responsive',\n filled && 'dnb-card--filled'\n ),\n breakout: responsive ? trueWhenSmall : false,\n roundedCorner: responsive ? falseWhenSmall : true,\n outline: '--outline-card-color',\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n ...(rest as SectionProps),\n 'aria-labelledby': combineLabelledBy(rest, title && titleId),\n })\n\n return (\n <Flex.Item alignSelf={alignSelf} element=\"section\" {...params}>\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n alignSelf={alignSelf}\n align={stack ? 'stretch' : align}\n wrap={!stack}\n gap={stack ? 'medium' : (gap ?? spacing) || false}\n rowGap={rowGap || false}\n >\n {title && (\n <Space id={titleId} className=\"dnb-card__title\">\n {title}\n </Space>\n )}\n {children}\n </Flex.Container>\n </Flex.Item>\n )\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":"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"}
@@ -17,8 +17,24 @@
17
17
  padding: 1rem;
18
18
  }
19
19
  .dnb-card.dnb-section {
20
+ --outline-color: var(--card-outline-color);
21
+ --outline-width: var(--card-outline-width);
22
+ --background-color: var(--card-background-color);
20
23
  background-color: var(--background-color);
21
24
  }
25
+ .dnb-card .dnb-section {
26
+ z-index: 1;
27
+ }
28
+ @media screen and (min-width: 40em) {
29
+ .dnb-card {
30
+ --nested-space-l: calc(var(--padding-left, 0px) * -1);
31
+ --nested-space-r: calc(var(--padding-right, 0px) * -1);
32
+ }
33
+ .dnb-card .dnb-section::after {
34
+ --left: var(--nested-space-l);
35
+ --width: calc(100% - var(--nested-space-r) * 2);
36
+ }
37
+ }
22
38
  .dnb-card--filled.dnb-card.dnb-section {
23
39
  --background-color: var(--outline-color);
24
40
  }
@@ -1 +1 @@
1
- .dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}.dnb-card__title{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding-bottom:1rem}.dnb-card:not([style*="--space-"]) .dnb-card__title{padding:1rem}.dnb-card.dnb-section{background-color:var(--background-color)}.dnb-card--filled.dnb-card.dnb-section{--background-color:var(--outline-color)}@media screen and (max-width:40em){.dnb-card--responsive.dnb-section:before{--outline:99vw 0 0 0 var(--background-color),198vw 0 0 0 var(--background-color),297vw 0 0 0 var(--background-color),396vw 0 0 0 var(--background-color),0 var(--outline-width) 0 0 var(--outline-color),99vw var(--outline-width) 0 0 var(--outline-color),0 calc(var(--outline-width)*-1) 0 0 var(--outline-color),99vw calc(var(--outline-width)*-1) 0 0 var(--outline-color),198vw var(--outline-width) 0 0 var(--outline-color),198vw calc(var(--outline-width)*-1) 0 0 var(--outline-color);left:var(--left)}.dnb-card+.dnb-card--responsive:not([class*=space__top]){background:linear-gradient(to left,var(--background-color),var(--background-color)) no-repeat 0 var(--outline-width)}.dnb-card+.dnb-card--responsive:not([class*=space__top]):before{top:var(--outline-width)}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive:before{top:var(--outline-width);z-index:0}}.dnb-card .dnb-flex-container:has(>.dnb-card__title+.dnb-scroll-view){align-items:stretch;flex-wrap:nowrap}.dnb-card--filled .dnb-scroll-view{clip-path:inset(0 0 0 0 round var(--rounded-corner) var(--rounded-corner) var(--rounded-corner) var(--rounded-corner))}.dnb-card>.dnb-flex-container>.dnb-space:has(>.dnb-scroll-view){width:100%}.dnb-card>.dnb-flex-container--align-stretch>.dnb-button{align-self:flex-start}
1
+ .dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}.dnb-card__title{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding-bottom:1rem}.dnb-card:not([style*="--space-"]) .dnb-card__title{padding:1rem}.dnb-card.dnb-section{--outline-color:var(--card-outline-color);--outline-width:var(--card-outline-width);--background-color:var(--card-background-color);background-color:var(--background-color)}.dnb-card .dnb-section{z-index:1}@media screen and (min-width:40em){.dnb-card{--nested-space-l:calc(var(--padding-left, 0px)*-1);--nested-space-r:calc(var(--padding-right, 0px)*-1)}.dnb-card .dnb-section:after{--left:var(--nested-space-l);--width:calc(100% - var(--nested-space-r)*2)}}.dnb-card--filled.dnb-card.dnb-section{--background-color:var(--outline-color)}@media screen and (max-width:40em){.dnb-card--responsive.dnb-section:before{--outline:99vw 0 0 0 var(--background-color),198vw 0 0 0 var(--background-color),297vw 0 0 0 var(--background-color),396vw 0 0 0 var(--background-color),0 var(--outline-width) 0 0 var(--outline-color),99vw var(--outline-width) 0 0 var(--outline-color),0 calc(var(--outline-width)*-1) 0 0 var(--outline-color),99vw calc(var(--outline-width)*-1) 0 0 var(--outline-color),198vw var(--outline-width) 0 0 var(--outline-color),198vw calc(var(--outline-width)*-1) 0 0 var(--outline-color);left:var(--left)}.dnb-card+.dnb-card--responsive:not([class*=space__top]){background:linear-gradient(to left,var(--background-color),var(--background-color)) no-repeat 0 var(--outline-width)}.dnb-card+.dnb-card--responsive:not([class*=space__top]):before{top:var(--outline-width)}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive:before{top:var(--outline-width);z-index:0}}.dnb-card .dnb-flex-container:has(>.dnb-card__title+.dnb-scroll-view){align-items:stretch;flex-wrap:nowrap}.dnb-card--filled .dnb-scroll-view{clip-path:inset(0 0 0 0 round var(--rounded-corner) var(--rounded-corner) var(--rounded-corner) var(--rounded-corner))}.dnb-card>.dnb-flex-container>.dnb-space:has(>.dnb-scroll-view){width:100%}.dnb-card>.dnb-flex-container--align-stretch>.dnb-button{align-self:flex-start}
@@ -20,9 +20,26 @@
20
20
  }
21
21
 
22
22
  &.dnb-section {
23
+ --outline-color: var(--card-outline-color);
24
+ --outline-width: var(--card-outline-width);
25
+ --background-color: var(--card-background-color);
26
+
23
27
  background-color: var(--background-color);
24
28
  }
25
29
 
30
+ & .dnb-section {
31
+ z-index: 1;
32
+ }
33
+ @include allAbove(small) {
34
+ // These vars needs to be declared outside of the nested .dnb-section
35
+ --nested-space-l: calc(var(--padding-left, 0px) * -1);
36
+ --nested-space-r: calc(var(--padding-right, 0px) * -1);
37
+ & .dnb-section::after {
38
+ --left: var(--nested-space-l);
39
+ --width: calc(100% - var(--nested-space-r) * 2);
40
+ }
41
+ }
42
+
26
43
  &--filled#{&}.dnb-section {
27
44
  --background-color: var(--outline-color);
28
45
  }
@@ -1,5 +1,5 @@
1
- .dnb-card.dnb-section {
2
- --outline-color: var(--border-color, var(--sb-color-gray-light));
3
- --outline-width: 0.0625rem;
4
- --background-color: var(--sb-color-white);
1
+ .dnb-card {
2
+ --card-outline-color: var(--border-color, var(--sb-color-gray-light));
3
+ --card-outline-width: 0.0625rem;
4
+ --card-background-color: var(--sb-color-white);
5
5
  }
@@ -1 +1 @@
1
- .dnb-card.dnb-section{--outline-color:var(--border-color,var(--sb-color-gray-light));--outline-width:0.0625rem;--background-color:var(--sb-color-white)}
1
+ .dnb-card{--card-outline-color:var(--border-color,var(--sb-color-gray-light));--card-outline-width:0.0625rem;--card-background-color:var(--sb-color-white)}
@@ -1,7 +1,5 @@
1
1
  .dnb-card {
2
- &.dnb-section {
3
- --outline-color: var(--border-color, var(--sb-color-gray-light));
4
- --outline-width: 0.0625rem;
5
- --background-color: var(--sb-color-white);
6
- }
2
+ --card-outline-color: var(--border-color, var(--sb-color-gray-light));
3
+ --card-outline-width: 0.0625rem;
4
+ --card-background-color: var(--sb-color-white);
7
5
  }
@@ -1,8 +1,5 @@
1
- /*
2
- * Utilities
3
- */
4
- .dnb-card.dnb-section {
5
- --outline-color: var(--border-color, var(--color-lavender));
6
- --outline-width: 0.25rem;
7
- --background-color: var(--color-white);
1
+ .dnb-card {
2
+ --card-outline-color: var(--border-color, var(--color-lavender));
3
+ --card-outline-width: 0.25rem;
4
+ --card-background-color: var(--color-white);
8
5
  }
@@ -1 +1 @@
1
- .dnb-card.dnb-section{--outline-color:var(--border-color,var(--color-lavender));--outline-width:0.25rem;--background-color:var(--color-white)}
1
+ .dnb-card{--card-outline-color:var(--border-color,var(--color-lavender));--card-outline-width:0.25rem;--card-background-color:var(--color-white)}
@@ -1,9 +1,5 @@
1
- @import '../../../../style/core/utilities.scss';
2
-
3
1
  .dnb-card {
4
- &.dnb-section {
5
- --outline-color: var(--border-color, var(--color-lavender));
6
- --outline-width: 0.25rem;
7
- --background-color: var(--color-white);
8
- }
2
+ --card-outline-color: var(--border-color, var(--color-lavender));
3
+ --card-outline-width: 0.25rem;
4
+ --card-background-color: var(--color-white);
9
5
  }
@@ -243,7 +243,7 @@
243
243
  */
244
244
 
245
245
  // stylelint-disable no-descending-specificity
246
- // We prioritise categorisation and readability over specificity here
246
+ // We prioritize categorisation and readability over specificity here
247
247
 
248
248
  /** Normal state **/
249
249
 
@@ -34,7 +34,7 @@ export type HeightAnimationProps = {
34
34
  innerRef?: React.RefObject<HTMLElement>;
35
35
  } & useHeightAnimationOptions;
36
36
  export type HeightAnimationAllProps = HeightAnimationProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, 'ref'>;
37
- declare function HeightAnimation({ open, animate, keepInDOM, showOverflow, element, duration, delay, className, innerRef, children, onInit, onOpen, onAnimationStart, onAnimationEnd, ...rest }: HeightAnimationAllProps): import("react/jsx-runtime").JSX.Element;
37
+ declare function HeightAnimation({ open, animate, keepInDOM, showOverflow, element, duration, delay, className, innerRef, children, compensateForGap, onInit, onOpen, onAnimationStart, onAnimationEnd, ...rest }: HeightAnimationAllProps): import("react/jsx-runtime").JSX.Element;
38
38
  declare namespace HeightAnimation {
39
39
  var _supportsSpacingProps: string;
40
40
  }
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["open", "animate", "keepInDOM", "showOverflow", "element", "duration", "delay", "className", "innerRef", "children", "onInit", "onOpen", "onAnimationStart", "onAnimationEnd"];
6
+ const _excluded = ["open", "animate", "keepInDOM", "showOverflow", "element", "duration", "delay", "className", "innerRef", "children", "compensateForGap", "onInit", "onOpen", "onAnimationStart", "onAnimationEnd"];
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
9
  import React, { useRef } from 'react';
@@ -22,6 +22,7 @@ function HeightAnimation(_ref) {
22
22
  className,
23
23
  innerRef,
24
24
  children,
25
+ compensateForGap,
25
26
  onInit = null,
26
27
  onOpen = null,
27
28
  onAnimationStart = null,
@@ -40,6 +41,7 @@ function HeightAnimation(_ref) {
40
41
  open,
41
42
  animate,
42
43
  children,
44
+ compensateForGap,
43
45
  onInit,
44
46
  onOpen,
45
47
  onAnimationStart,
@@ -60,7 +62,9 @@ function HeightAnimation(_ref) {
60
62
  className: classnames('dnb-height-animation', className, isVisible ? 'dnb-height-animation--is-visible' : !isAnimating && !open && 'dnb-height-animation--hidden', isInDOM && 'dnb-height-animation--is-in-dom', animate && isVisibleParallax && 'dnb-height-animation--parallax', isAnimating && 'dnb-height-animation--animating', showOverflow && 'dnb-height-animation--show-overflow'),
61
63
  style: _objectSpread(_objectSpread({}, firstPaintStyle), rest === null || rest === void 0 ? void 0 : rest.style),
62
64
  "aria-hidden": keepInDOM ? !open : undefined
63
- }, rest), children);
65
+ }, rest), compensateForGap ? React.createElement("div", {
66
+ className: "compensateForGap"
67
+ }, children) : children);
64
68
  }
65
69
  HeightAnimation._supportsSpacingProps = 'children';
66
70
  export default HeightAnimation;
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimation.js","names":["React","useRef","classnames","useHeightAnimation","Space","HeightAnimation","_ref","open","animate","keepInDOM","showOverflow","element","duration","delay","className","innerRef","children","onInit","onOpen","onAnimationStart","onAnimationEnd","rest","_objectWithoutProperties","_excluded","elementRef","targetRef","isInDOM","isVisible","isVisibleParallax","isAnimating","firstPaintStyle","createElement","_extends","style","_objectSpread","undefined","_supportsSpacingProps"],"sources":["../../../../src/components/height-animation/HeightAnimation.tsx"],"sourcesContent":["import React, { useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n useHeightAnimation,\n useHeightAnimationOptions,\n} from './useHeightAnimation'\nimport Space from '../space/Space'\n\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type HeightAnimationProps = {\n /**\n * Whether the nested children content should be kept in the DOM or not.\n * Default: false\n */\n keepInDOM?: boolean\n\n /**\n * Set to `true` to omit the usage of \"overflow: hidden;\"\n * Default: false\n */\n showOverflow?: boolean\n\n /**\n * Defines the duration of the animation in milliseconds.\n * Default: 400\n */\n duration?: number\n\n /**\n * Defines the delay of the animation in milliseconds.\n * Default: 0\n */\n delay?: number\n\n /**\n * Define a custom HTML Element.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & useHeightAnimationOptions\n\nexport type HeightAnimationAllProps = HeightAnimationProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nfunction HeightAnimation({\n open = true,\n animate = true,\n keepInDOM = false,\n showOverflow = false,\n element,\n duration,\n delay,\n className,\n innerRef,\n children,\n onInit = null,\n onOpen = null,\n onAnimationStart = null,\n onAnimationEnd = null,\n ...rest\n}: HeightAnimationAllProps) {\n const elementRef = useRef<HTMLElement>()\n const targetRef = innerRef || elementRef\n\n const {\n isInDOM,\n isVisible,\n isVisibleParallax,\n isAnimating,\n firstPaintStyle,\n } = useHeightAnimation(targetRef, {\n open,\n animate,\n children,\n onInit,\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n if (!keepInDOM && !isInDOM && !isAnimating) {\n return null\n }\n\n if (duration) {\n firstPaintStyle['--duration'] = `${duration}ms`\n }\n if (delay) {\n firstPaintStyle['--delay'] = `${delay}ms`\n }\n\n return (\n <Space\n innerRef={targetRef}\n element={element || 'div'}\n className={classnames(\n 'dnb-height-animation',\n isInDOM && 'dnb-height-animation--is-in-dom',\n isVisible && 'dnb-height-animation--is-visible',\n animate && isVisibleParallax && 'dnb-height-animation--parallax',\n isAnimating && 'dnb-height-animation--animating',\n !isVisible &&\n !isAnimating &&\n !open &&\n 'dnb-height-animation--hidden',\n showOverflow && 'dnb-height-animation--show-overflow',\n className\n )}\n style={{ ...firstPaintStyle, ...rest?.style }}\n aria-hidden={keepInDOM ? !open : undefined}\n {...rest}\n >\n {children}\n </Space>\n )\n}\n\nHeightAnimation._supportsSpacingProps = 'children'\n\nexport default HeightAnimation\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,kBAAkB,QAEb,sBAAsB;AAC7B,OAAOC,KAAK,MAAM,gBAAgB;AA8ClC,SAASC,eAAeA,CAAAC,IAAA,EAgBI;EAAA,IAhBH;MACvBC,IAAI,GAAG,IAAI;MACXC,OAAO,GAAG,IAAI;MACdC,SAAS,GAAG,KAAK;MACjBC,YAAY,GAAG,KAAK;MACpBC,OAAO;MACPC,QAAQ;MACRC,KAAK;MACLC,SAAS;MACTC,QAAQ;MACRC,QAAQ;MACRC,MAAM,GAAG,IAAI;MACbC,MAAM,GAAG,IAAI;MACbC,gBAAgB,GAAG,IAAI;MACvBC,cAAc,GAAG;IAEM,CAAC,GAAAd,IAAA;IADrBe,IAAI,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAEP,MAAMC,UAAU,GAAGvB,MAAM,CAAc,CAAC;EACxC,MAAMwB,SAAS,GAAGV,QAAQ,IAAIS,UAAU;EAExC,MAAM;IACJE,OAAO;IACPC,SAAS;IACTC,iBAAiB;IACjBC,WAAW;IACXC;EACF,CAAC,GAAG3B,kBAAkB,CAACsB,SAAS,EAAE;IAChClB,IAAI;IACJC,OAAO;IACPQ,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNC,gBAAgB;IAChBC;EACF,CAAC,CAAC;EAEF,IAAI,CAACX,SAAS,IAAI,CAACiB,OAAO,IAAI,CAACG,WAAW,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,IAAIjB,QAAQ,EAAE;IACZkB,eAAe,CAAC,YAAY,CAAC,GAAI,GAAElB,QAAS,IAAG;EACjD;EACA,IAAIC,KAAK,EAAE;IACTiB,eAAe,CAAC,SAAS,CAAC,GAAI,GAAEjB,KAAM,IAAG;EAC3C;EAEA,OACEb,KAAA,CAAA+B,aAAA,CAAC3B,KAAK,EAAA4B,QAAA;IACJjB,QAAQ,EAAEU,SAAU;IACpBd,OAAO,EAAEA,OAAO,IAAI,KAAM;IAC1BG,SAAS,EAAEZ,UAAU,CACnB,sBAAsB,EAUtBY,SAAS,EARTa,SAAS,GAAI,kCAAkC,GAI7C,CAACE,WAAW,IACZ,CAACtB,IAAI,IACL,8BAA8B,EAPhCmB,OAAO,IAAI,iCAAiC,EAE5ClB,OAAO,IAAIoB,iBAAiB,IAAI,gCAAgC,EAChEC,WAAW,IAAI,iCAAiC,EAKhDnB,YAAY,IAAI,qCAElB,CAAE;IACFuB,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOJ,eAAe,GAAKT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEY,KAAK,CAAG;IAC9C,eAAaxB,SAAS,GAAG,CAACF,IAAI,GAAG4B;EAAU,GACvCd,IAAI,GAEPL,QACI,CAAC;AAEZ;AAEAX,eAAe,CAAC+B,qBAAqB,GAAG,UAAU;AAElD,eAAe/B,eAAe"}
1
+ {"version":3,"file":"HeightAnimation.js","names":["React","useRef","classnames","useHeightAnimation","Space","HeightAnimation","_ref","open","animate","keepInDOM","showOverflow","element","duration","delay","className","innerRef","children","compensateForGap","onInit","onOpen","onAnimationStart","onAnimationEnd","rest","_objectWithoutProperties","_excluded","elementRef","targetRef","isInDOM","isVisible","isVisibleParallax","isAnimating","firstPaintStyle","createElement","_extends","style","_objectSpread","undefined","_supportsSpacingProps"],"sources":["../../../../src/components/height-animation/HeightAnimation.tsx"],"sourcesContent":["import React, { useRef } from 'react'\nimport classnames from 'classnames'\nimport {\n useHeightAnimation,\n useHeightAnimationOptions,\n} from './useHeightAnimation'\nimport Space from '../space/Space'\n\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type HeightAnimationProps = {\n /**\n * Whether the nested children content should be kept in the DOM or not.\n * Default: false\n */\n keepInDOM?: boolean\n\n /**\n * Set to `true` to omit the usage of \"overflow: hidden;\"\n * Default: false\n */\n showOverflow?: boolean\n\n /**\n * Defines the duration of the animation in milliseconds.\n * Default: 400\n */\n duration?: number\n\n /**\n * Defines the delay of the animation in milliseconds.\n * Default: 0\n */\n delay?: number\n\n /**\n * Define a custom HTML Element.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & useHeightAnimationOptions\n\nexport type HeightAnimationAllProps = HeightAnimationProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nfunction HeightAnimation({\n open = true,\n animate = true,\n keepInDOM = false,\n showOverflow = false,\n element,\n duration,\n delay,\n className,\n innerRef,\n children,\n compensateForGap,\n onInit = null,\n onOpen = null,\n onAnimationStart = null,\n onAnimationEnd = null,\n ...rest\n}: HeightAnimationAllProps) {\n const elementRef = useRef<HTMLElement>()\n const targetRef = innerRef || elementRef\n\n const {\n isInDOM,\n isVisible,\n isVisibleParallax,\n isAnimating,\n firstPaintStyle,\n } = useHeightAnimation(targetRef, {\n open,\n animate,\n children,\n compensateForGap,\n onInit,\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n if (!keepInDOM && !isInDOM && !isAnimating) {\n return null\n }\n\n if (duration) {\n firstPaintStyle['--duration'] = `${duration}ms`\n }\n if (delay) {\n firstPaintStyle['--delay'] = `${delay}ms`\n }\n\n return (\n <Space\n innerRef={targetRef}\n element={element || 'div'}\n className={classnames(\n 'dnb-height-animation',\n isInDOM && 'dnb-height-animation--is-in-dom',\n isVisible && 'dnb-height-animation--is-visible',\n animate && isVisibleParallax && 'dnb-height-animation--parallax',\n isAnimating && 'dnb-height-animation--animating',\n !isVisible &&\n !isAnimating &&\n !open &&\n 'dnb-height-animation--hidden',\n showOverflow && 'dnb-height-animation--show-overflow',\n className\n )}\n style={{ ...firstPaintStyle, ...rest?.style }}\n aria-hidden={keepInDOM ? !open : undefined}\n {...rest}\n >\n {compensateForGap ? (\n <div className=\"compensateForGap\">{children}</div>\n ) : (\n children\n )}\n </Space>\n )\n}\n\nHeightAnimation._supportsSpacingProps = 'children'\n\nexport default HeightAnimation\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AACrC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,kBAAkB,QAEb,sBAAsB;AAC7B,OAAOC,KAAK,MAAM,gBAAgB;AA8ClC,SAASC,eAAeA,CAAAC,IAAA,EAiBI;EAAA,IAjBH;MACvBC,IAAI,GAAG,IAAI;MACXC,OAAO,GAAG,IAAI;MACdC,SAAS,GAAG,KAAK;MACjBC,YAAY,GAAG,KAAK;MACpBC,OAAO;MACPC,QAAQ;MACRC,KAAK;MACLC,SAAS;MACTC,QAAQ;MACRC,QAAQ;MACRC,gBAAgB;MAChBC,MAAM,GAAG,IAAI;MACbC,MAAM,GAAG,IAAI;MACbC,gBAAgB,GAAG,IAAI;MACvBC,cAAc,GAAG;IAEM,CAAC,GAAAf,IAAA;IADrBgB,IAAI,GAAAC,wBAAA,CAAAjB,IAAA,EAAAkB,SAAA;EAEP,MAAMC,UAAU,GAAGxB,MAAM,CAAc,CAAC;EACxC,MAAMyB,SAAS,GAAGX,QAAQ,IAAIU,UAAU;EAExC,MAAM;IACJE,OAAO;IACPC,SAAS;IACTC,iBAAiB;IACjBC,WAAW;IACXC;EACF,CAAC,GAAG5B,kBAAkB,CAACuB,SAAS,EAAE;IAChCnB,IAAI;IACJC,OAAO;IACPQ,QAAQ;IACRC,gBAAgB;IAChBC,MAAM;IACNC,MAAM;IACNC,gBAAgB;IAChBC;EACF,CAAC,CAAC;EAEF,IAAI,CAACZ,SAAS,IAAI,CAACkB,OAAO,IAAI,CAACG,WAAW,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,IAAIlB,QAAQ,EAAE;IACZmB,eAAe,CAAC,YAAY,CAAC,GAAI,GAAEnB,QAAS,IAAG;EACjD;EACA,IAAIC,KAAK,EAAE;IACTkB,eAAe,CAAC,SAAS,CAAC,GAAI,GAAElB,KAAM,IAAG;EAC3C;EAEA,OACEb,KAAA,CAAAgC,aAAA,CAAC5B,KAAK,EAAA6B,QAAA;IACJlB,QAAQ,EAAEW,SAAU;IACpBf,OAAO,EAAEA,OAAO,IAAI,KAAM;IAC1BG,SAAS,EAAEZ,UAAU,CACnB,sBAAsB,EAUtBY,SAAS,EARTc,SAAS,GAAI,kCAAkC,GAI7C,CAACE,WAAW,IACZ,CAACvB,IAAI,IACL,8BAA8B,EAPhCoB,OAAO,IAAI,iCAAiC,EAE5CnB,OAAO,IAAIqB,iBAAiB,IAAI,gCAAgC,EAChEC,WAAW,IAAI,iCAAiC,EAKhDpB,YAAY,IAAI,qCAElB,CAAE;IACFwB,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOJ,eAAe,GAAKT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEY,KAAK,CAAG;IAC9C,eAAazB,SAAS,GAAG,CAACF,IAAI,GAAG6B;EAAU,GACvCd,IAAI,GAEPL,gBAAgB,GACfjB,KAAA,CAAAgC,aAAA;IAAKlB,SAAS,EAAC;EAAkB,GAAEE,QAAc,CAAC,GAElDA,QAEG,CAAC;AAEZ;AAEAX,eAAe,CAACgC,qBAAqB,GAAG,UAAU;AAElD,eAAehC,eAAe"}
@@ -0,0 +1,3 @@
1
+ import { PropertiesTableProps } from '../../shared/types';
2
+ export declare const HeightAnimationProperties: PropertiesTableProps;
3
+ export declare const HeightAnimationEvents: PropertiesTableProps;
@@ -0,0 +1,75 @@
1
+ export const HeightAnimationProperties = {
2
+ open: {
3
+ doc: 'Set to `true` on second re-render when the view should animate from 0px to auto. Defaults to `true`.',
4
+ type: 'boolean',
5
+ status: 'optional'
6
+ },
7
+ animate: {
8
+ doc: 'Set to `false` to omit the animation. Defaults to `true`.',
9
+ type: 'boolean',
10
+ status: 'optional'
11
+ },
12
+ keepInDOM: {
13
+ doc: 'Set to `true` ensure the nested children content will be kept in the DOM. Defaults to `false`.',
14
+ type: 'boolean',
15
+ status: 'optional'
16
+ },
17
+ compensateForGap: {
18
+ doc: 'To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`.',
19
+ type: 'string',
20
+ status: 'optional'
21
+ },
22
+ showOverflow: {
23
+ doc: 'Set to `true` to omit the usage of "overflow: hidden;". Defaults to `false`.',
24
+ type: 'boolean',
25
+ status: 'optional'
26
+ },
27
+ duration: {
28
+ doc: 'Custom duration of the animation in milliseconds. Defaults to `400ms`.',
29
+ type: 'number',
30
+ status: 'optional'
31
+ },
32
+ delay: {
33
+ doc: 'Custom delay of the animation in milliseconds. Defaults to `0ms`.',
34
+ type: 'number',
35
+ status: 'optional'
36
+ },
37
+ element: {
38
+ doc: 'Custom HTML element for the component. Defaults to `div` HTML Element.',
39
+ type: 'string',
40
+ status: 'optional'
41
+ },
42
+ innerRef: {
43
+ doc: 'Send along a custom React Ref.',
44
+ type: 'React.RefObject',
45
+ status: 'optional'
46
+ },
47
+ '[Space](/uilib/layout/space/properties)': {
48
+ doc: 'spacing properties like `top` or `bottom` are supported.',
49
+ type: ['string', 'object'],
50
+ status: 'optional'
51
+ }
52
+ };
53
+ export const HeightAnimationEvents = {
54
+ onOpen: {
55
+ doc: 'Is called when fully opened or closed. Returns `true` or `false` depending on the state.',
56
+ type: 'function',
57
+ status: 'optional'
58
+ },
59
+ onAnimationStart: {
60
+ doc: 'Is called when animation has started.',
61
+ type: 'function',
62
+ status: 'optional'
63
+ },
64
+ onAnimationEnd: {
65
+ doc: 'Is called when animation is done and the full height is reached.',
66
+ type: 'function',
67
+ status: 'optional'
68
+ },
69
+ onInit: {
70
+ doc: 'Is called once before mounting the component (useLayoutEffect). Returns the instance of the internal animation class.',
71
+ type: 'function',
72
+ status: 'optional'
73
+ }
74
+ };
75
+ //# sourceMappingURL=HeightAnimationDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeightAnimationDocs.js","names":["HeightAnimationProperties","open","doc","type","status","animate","keepInDOM","compensateForGap","showOverflow","duration","delay","element","innerRef","HeightAnimationEvents","onOpen","onAnimationStart","onAnimationEnd","onInit"],"sources":["../../../../src/components/height-animation/HeightAnimationDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const HeightAnimationProperties: PropertiesTableProps = {\n open: {\n doc: 'Set to `true` on second re-render when the view should animate from 0px to auto. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Set to `false` to omit the animation. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: 'Set to `true` ensure the nested children content will be kept in the DOM. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n compensateForGap: {\n doc: 'To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`.',\n type: 'string',\n status: 'optional',\n },\n showOverflow: {\n doc: 'Set to `true` to omit the usage of \"overflow: hidden;\". Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n duration: {\n doc: 'Custom duration of the animation in milliseconds. Defaults to `400ms`.',\n type: 'number',\n status: 'optional',\n },\n delay: {\n doc: 'Custom delay of the animation in milliseconds. Defaults to `0ms`.',\n type: 'number',\n status: 'optional',\n },\n element: {\n doc: 'Custom HTML element for the component. Defaults to `div` HTML Element.',\n type: 'string',\n status: 'optional',\n },\n innerRef: {\n doc: 'Send along a custom React Ref.',\n type: 'React.RefObject',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const HeightAnimationEvents: PropertiesTableProps = {\n onOpen: {\n doc: 'Is called when fully opened or closed. Returns `true` or `false` depending on the state.',\n type: 'function',\n status: 'optional',\n },\n onAnimationStart: {\n doc: 'Is called when animation has started.',\n type: 'function',\n status: 'optional',\n },\n onAnimationEnd: {\n doc: 'Is called when animation is done and the full height is reached.',\n type: 'function',\n status: 'optional',\n },\n onInit: {\n doc: 'Is called once before mounting the component (useLayoutEffect). Returns the instance of the internal animation class.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,yBAA+C,GAAG;EAC7DC,IAAI,EAAE;IACJC,GAAG,EAAE,sGAAsG;IAC3GC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,gBAAgB,EAAE;IAChBL,GAAG,EAAE,gJAAgJ;IACrJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,YAAY,EAAE;IACZN,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,KAAK,EAAE;IACLR,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,OAAO,EAAE;IACPT,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,gCAAgC;IACrCC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMS,qBAA2C,GAAG;EACzDC,MAAM,EAAE;IACNZ,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDW,gBAAgB,EAAE;IAChBb,GAAG,EAAE,uCAAuC;IAC5CC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDY,cAAc,EAAE;IACdd,GAAG,EAAE,kEAAkE;IACvEC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDa,MAAM,EAAE;IACNf,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -6,8 +6,9 @@
6
6
  * Utilities
7
7
  */
8
8
  .dnb-height-animation {
9
- --height-animation: height var(--duration, 400ms) var(--easing-default)
10
- var(--delay, 0ms);
9
+ --height-animation-duration: var(--duration, 400ms);
10
+ --height-animation: height var(--height-animation-duration)
11
+ var(--easing-default) var(--delay, 0ms);
11
12
  will-change: height;
12
13
  transition: var(--height-animation);
13
14
  }
@@ -1 +1 @@
1
- .dnb-height-animation{--height-animation:height var(--duration,400ms) var(--easing-default) var(--delay,0ms);transition:var(--height-animation);will-change:height}html[data-visual-test] .dnb-height-animation,html[data-visual-test] .dnb-height-animation *{transition:none!important}.dnb-height-animation--animating{overflow-y:hidden}@supports (overflow-y:clip){.dnb-height-animation--animating{overflow-y:clip}}.dnb-height-animation--hidden{display:none}.dnb-height-animation--show-overflow{overflow:visible}
1
+ .dnb-height-animation{--height-animation-duration:var(--duration,400ms);--height-animation:height var(--height-animation-duration) var(--easing-default) var(--delay,0ms);transition:var(--height-animation);will-change:height}html[data-visual-test] .dnb-height-animation,html[data-visual-test] .dnb-height-animation *{transition:none!important}.dnb-height-animation--animating{overflow-y:hidden}@supports (overflow-y:clip){.dnb-height-animation--animating{overflow-y:clip}}.dnb-height-animation--hidden{display:none}.dnb-height-animation--show-overflow{overflow:visible}
@@ -6,8 +6,9 @@
6
6
  @import '../../../style/core/utilities.scss';
7
7
 
8
8
  .dnb-height-animation {
9
- --height-animation: height var(--duration, 400ms) var(--easing-default)
10
- var(--delay, 0ms);
9
+ --height-animation-duration: var(--duration, 400ms);
10
+ --height-animation: height var(--height-animation-duration)
11
+ var(--easing-default) var(--delay, 0ms);
11
12
 
12
13
  will-change: height;
13
14
  transition: var(--height-animation);
@@ -11,6 +11,11 @@ export type useHeightAnimationOptions = {
11
11
  * Default: true
12
12
  */
13
13
  animate?: boolean;
14
+ /**
15
+ * To compensate for CSS gap between the rows, so animation does not jump during the animation.
16
+ * Provide a CSS unit or `var(--row-gap)`.
17
+ */
18
+ compensateForGap?: string | 'auto';
14
19
  /**
15
20
  * In order to let the Hook know when children has changed
16
21
  */
@@ -34,7 +39,7 @@ export type useHeightAnimationOptions = {
34
39
  };
35
40
  export type HeightAnimationOnStartTypes = 'opening' | 'closing' | 'adjusting';
36
41
  export type HeightAnimationOnEndTypes = 'opened' | 'closed' | 'adjusted';
37
- export declare function useHeightAnimation(targetRef: React.RefObject<HTMLElement>, { open, animate, children, onInit, onOpen, onAnimationStart, onAnimationEnd, }?: useHeightAnimationOptions): {
42
+ export declare function useHeightAnimation(targetRef: React.RefObject<HTMLElement>, { open, animate, children, compensateForGap, onInit, onOpen, onAnimationStart, onAnimationEnd, }?: useHeightAnimationOptions): {
38
43
  open: boolean;
39
44
  isOpen: boolean;
40
45
  isInDOM: boolean;