@dnb/eufemia 10.46.0 → 10.47.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 (510) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/cjs/components/accordion/Accordion.d.ts +17 -1
  3. package/cjs/components/accordion/Accordion.js +4 -2
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionContext.d.ts +4 -0
  6. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  7. package/cjs/components/accordion/AccordionDocs.js +6 -1
  8. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  9. package/cjs/components/accordion/AccordionGroup.js +5 -3
  10. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  11. package/cjs/components/accordion/AccordionProviderContext.d.ts +4 -0
  12. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  13. package/cjs/components/accordion/AccordionStore.js +2 -1
  14. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  16. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  17. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  18. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  19. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  20. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  21. package/cjs/components/button/Button.d.ts +1 -1
  22. package/cjs/components/button/Button.js +5 -2
  23. package/cjs/components/button/Button.js.map +1 -1
  24. package/cjs/components/card/style/dnb-card.css +1 -1
  25. package/cjs/components/card/style/dnb-card.min.css +1 -1
  26. package/cjs/components/copy-on-click/CopyOnClick.d.ts +1 -1
  27. package/cjs/components/copy-on-click/CopyOnClick.js +5 -4
  28. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -1
  29. package/cjs/components/copy-on-click/CopyOnClickDocs.js +5 -0
  30. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  31. package/cjs/components/copy-on-click/types.d.ts +5 -0
  32. package/cjs/components/copy-on-click/types.js.map +1 -1
  33. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  34. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  35. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  36. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  37. package/cjs/components/flex/Container.js +9 -1
  38. package/cjs/components/flex/Container.js.map +1 -1
  39. package/cjs/components/flex/utils.d.ts +1 -1
  40. package/cjs/components/flex/utils.js +1 -1
  41. package/cjs/components/flex/utils.js.map +1 -1
  42. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  43. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  44. package/cjs/components/grid/style/dnb-grid.css +6 -6
  45. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  46. package/cjs/components/lib.d.ts +1 -1
  47. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  48. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  49. package/cjs/components/section/style/dnb-section.css +2 -2
  50. package/cjs/components/section/style/dnb-section.min.css +2 -2
  51. package/cjs/components/space/style/dnb-space.css +2 -2
  52. package/cjs/components/space/style/dnb-space.min.css +1 -1
  53. package/cjs/components/tabs/Tabs.js +2 -2
  54. package/cjs/components/tabs/Tabs.js.map +1 -1
  55. package/cjs/components/tag/Tag.js +2 -2
  56. package/cjs/components/tag/Tag.js.map +1 -1
  57. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  58. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  59. package/cjs/extensions/forms/DataContext/Context.d.ts +8 -5
  60. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  61. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  62. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  63. package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -16
  64. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  65. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  66. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  67. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  68. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  69. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  70. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +20 -0
  71. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  72. package/cjs/extensions/forms/Field/Slider/Slider.js +7 -7
  73. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  74. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  75. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  76. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  77. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  78. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  79. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  80. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  81. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  82. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  83. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  84. package/cjs/extensions/forms/Iterate/Array/Array.js +4 -4
  85. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  86. package/cjs/extensions/forms/Value/Date/Date.d.ts +1 -1
  87. package/cjs/extensions/forms/Value/Date/Date.js +15 -5
  88. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  89. package/cjs/extensions/forms/Value/Date/DateDocs.js +1 -1
  90. package/cjs/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  91. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  92. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  93. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  94. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  95. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  96. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  97. package/cjs/extensions/forms/constants/countries.d.ts +5 -2
  98. package/cjs/extensions/forms/constants/countries.js +72 -0
  99. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  100. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  101. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  102. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -1
  103. package/cjs/extensions/forms/hooks/useDataValue.js +7 -7
  104. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  105. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -1
  106. package/cjs/extensions/forms/hooks/useFieldProps.js +296 -115
  107. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  108. package/cjs/extensions/forms/style/dnb-forms.css +10 -10
  109. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  110. package/cjs/extensions/forms/types.d.ts +28 -2
  111. package/cjs/extensions/forms/types.js.map +1 -1
  112. package/cjs/shared/Eufemia.d.ts +1 -1
  113. package/cjs/shared/Eufemia.js +2 -2
  114. package/cjs/shared/Eufemia.js.map +1 -1
  115. package/cjs/style/core/scopes.scss +1 -1
  116. package/cjs/style/core/utilities.scss +3 -6
  117. package/cjs/style/dnb-ui-basis.css +1 -1
  118. package/cjs/style/dnb-ui-basis.min.css +1 -1
  119. package/cjs/style/dnb-ui-body.css +1 -1
  120. package/cjs/style/dnb-ui-body.min.css +1 -1
  121. package/cjs/style/dnb-ui-components.css +34 -34
  122. package/cjs/style/dnb-ui-components.min.css +5 -5
  123. package/cjs/style/dnb-ui-core.css +1 -1
  124. package/cjs/style/dnb-ui-core.min.css +1 -1
  125. package/cjs/style/dnb-ui-elements.css +1 -1
  126. package/cjs/style/dnb-ui-elements.min.css +1 -1
  127. package/cjs/style/dnb-ui-extensions.css +10 -10
  128. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  129. package/cjs/style/dnb-ui-forms.css +10 -10
  130. package/cjs/style/dnb-ui-forms.min.css +1 -1
  131. package/cjs/style/dnb-ui-fragments.css +2 -2
  132. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  133. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  134. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +45 -45
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -10
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -10
  142. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +45 -45
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -10
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -10
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  153. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  154. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  155. package/cjs/style/themes/theme-ui/ui-theme-components.css +45 -45
  156. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  157. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  158. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  159. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -10
  160. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  161. package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -10
  162. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  163. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  164. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  165. package/components/accordion/Accordion.d.ts +17 -1
  166. package/components/accordion/Accordion.js +4 -2
  167. package/components/accordion/Accordion.js.map +1 -1
  168. package/components/accordion/AccordionContext.d.ts +4 -0
  169. package/components/accordion/AccordionContext.js.map +1 -1
  170. package/components/accordion/AccordionDocs.js +6 -1
  171. package/components/accordion/AccordionDocs.js.map +1 -1
  172. package/components/accordion/AccordionGroup.js +5 -3
  173. package/components/accordion/AccordionGroup.js.map +1 -1
  174. package/components/accordion/AccordionProviderContext.d.ts +4 -0
  175. package/components/accordion/AccordionProviderContext.js.map +1 -1
  176. package/components/accordion/AccordionStore.js +2 -1
  177. package/components/accordion/AccordionStore.js.map +1 -1
  178. package/components/accordion/style/dnb-accordion.css +3 -3
  179. package/components/accordion/style/dnb-accordion.min.css +1 -1
  180. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  181. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  182. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  183. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  184. package/components/button/Button.d.ts +1 -1
  185. package/components/button/Button.js +5 -2
  186. package/components/button/Button.js.map +1 -1
  187. package/components/card/style/dnb-card.css +1 -1
  188. package/components/card/style/dnb-card.min.css +1 -1
  189. package/components/copy-on-click/CopyOnClick.d.ts +1 -1
  190. package/components/copy-on-click/CopyOnClick.js +5 -4
  191. package/components/copy-on-click/CopyOnClick.js.map +1 -1
  192. package/components/copy-on-click/CopyOnClickDocs.js +5 -0
  193. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  194. package/components/copy-on-click/types.d.ts +5 -0
  195. package/components/copy-on-click/types.js.map +1 -1
  196. package/components/drawer/style/dnb-drawer.css +3 -3
  197. package/components/drawer/style/dnb-drawer.min.css +1 -1
  198. package/components/dropdown/style/dnb-dropdown.css +1 -1
  199. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  200. package/components/flex/Container.js +10 -2
  201. package/components/flex/Container.js.map +1 -1
  202. package/components/flex/utils.d.ts +1 -1
  203. package/components/flex/utils.js +1 -1
  204. package/components/flex/utils.js.map +1 -1
  205. package/components/form-row/style/dnb-form-row.css +1 -1
  206. package/components/form-row/style/dnb-form-row.min.css +1 -1
  207. package/components/grid/style/dnb-grid.css +6 -6
  208. package/components/grid/style/dnb-grid.min.css +1 -1
  209. package/components/lib.d.ts +1 -1
  210. package/components/progress-indicator/ProgressIndicator.js +2 -2
  211. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  212. package/components/section/style/dnb-section.css +2 -2
  213. package/components/section/style/dnb-section.min.css +2 -2
  214. package/components/space/style/dnb-space.css +2 -2
  215. package/components/space/style/dnb-space.min.css +1 -1
  216. package/components/tabs/Tabs.js +2 -2
  217. package/components/tabs/Tabs.js.map +1 -1
  218. package/components/tag/Tag.js +2 -2
  219. package/components/tag/Tag.js.map +1 -1
  220. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  221. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  222. package/es/components/accordion/Accordion.d.ts +17 -1
  223. package/es/components/accordion/Accordion.js +4 -2
  224. package/es/components/accordion/Accordion.js.map +1 -1
  225. package/es/components/accordion/AccordionContext.d.ts +4 -0
  226. package/es/components/accordion/AccordionContext.js.map +1 -1
  227. package/es/components/accordion/AccordionDocs.js +6 -1
  228. package/es/components/accordion/AccordionDocs.js.map +1 -1
  229. package/es/components/accordion/AccordionGroup.js +5 -3
  230. package/es/components/accordion/AccordionGroup.js.map +1 -1
  231. package/es/components/accordion/AccordionProviderContext.d.ts +4 -0
  232. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  233. package/es/components/accordion/AccordionStore.js +2 -1
  234. package/es/components/accordion/AccordionStore.js.map +1 -1
  235. package/es/components/accordion/style/dnb-accordion.css +3 -3
  236. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  237. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  238. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  239. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  240. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  241. package/es/components/button/Button.d.ts +1 -1
  242. package/es/components/button/Button.js +5 -2
  243. package/es/components/button/Button.js.map +1 -1
  244. package/es/components/card/style/dnb-card.css +1 -1
  245. package/es/components/card/style/dnb-card.min.css +1 -1
  246. package/es/components/copy-on-click/CopyOnClick.d.ts +1 -1
  247. package/es/components/copy-on-click/CopyOnClick.js +5 -4
  248. package/es/components/copy-on-click/CopyOnClick.js.map +1 -1
  249. package/es/components/copy-on-click/CopyOnClickDocs.js +5 -0
  250. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -1
  251. package/es/components/copy-on-click/types.d.ts +5 -0
  252. package/es/components/copy-on-click/types.js.map +1 -1
  253. package/es/components/drawer/style/dnb-drawer.css +3 -3
  254. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  255. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  256. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  257. package/es/components/flex/Container.js +10 -2
  258. package/es/components/flex/Container.js.map +1 -1
  259. package/es/components/flex/utils.d.ts +1 -1
  260. package/es/components/flex/utils.js +1 -1
  261. package/es/components/flex/utils.js.map +1 -1
  262. package/es/components/form-row/style/dnb-form-row.css +1 -1
  263. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  264. package/es/components/grid/style/dnb-grid.css +6 -6
  265. package/es/components/grid/style/dnb-grid.min.css +1 -1
  266. package/es/components/lib.d.ts +1 -1
  267. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  268. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  269. package/es/components/section/style/dnb-section.css +2 -2
  270. package/es/components/section/style/dnb-section.min.css +2 -2
  271. package/es/components/space/style/dnb-space.css +2 -2
  272. package/es/components/space/style/dnb-space.min.css +1 -1
  273. package/es/components/tabs/Tabs.js +2 -2
  274. package/es/components/tabs/Tabs.js.map +1 -1
  275. package/es/components/tag/Tag.js +2 -2
  276. package/es/components/tag/Tag.js.map +1 -1
  277. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  278. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  279. package/es/extensions/forms/DataContext/Context.d.ts +8 -5
  280. package/es/extensions/forms/DataContext/Context.js +0 -1
  281. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  282. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  283. package/es/extensions/forms/DataContext/Provider/Provider.js +35 -16
  284. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  285. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  286. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  287. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  288. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  289. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  290. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  291. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  292. package/es/extensions/forms/Field/Slider/Slider.js +7 -7
  293. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  294. package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  295. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  296. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  297. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  298. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  299. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  300. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  301. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  302. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  303. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  304. package/es/extensions/forms/Iterate/Array/Array.js +4 -4
  305. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  306. package/es/extensions/forms/Value/Date/Date.d.ts +1 -1
  307. package/es/extensions/forms/Value/Date/Date.js +15 -5
  308. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  309. package/es/extensions/forms/Value/Date/DateDocs.js +1 -1
  310. package/es/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  311. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  312. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  313. package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  314. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  315. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  316. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  317. package/es/extensions/forms/constants/countries.d.ts +5 -2
  318. package/es/extensions/forms/constants/countries.js +72 -0
  319. package/es/extensions/forms/constants/countries.js.map +1 -1
  320. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  321. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  322. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -1
  323. package/es/extensions/forms/hooks/useDataValue.js +7 -7
  324. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  325. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -1
  326. package/es/extensions/forms/hooks/useFieldProps.js +288 -112
  327. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  328. package/es/extensions/forms/style/dnb-forms.css +10 -10
  329. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  330. package/es/extensions/forms/types.d.ts +28 -2
  331. package/es/extensions/forms/types.js.map +1 -1
  332. package/es/shared/Eufemia.d.ts +1 -1
  333. package/es/shared/Eufemia.js +2 -2
  334. package/es/shared/Eufemia.js.map +1 -1
  335. package/es/style/core/scopes.scss +1 -1
  336. package/es/style/core/utilities.scss +3 -6
  337. package/es/style/dnb-ui-basis.css +1 -1
  338. package/es/style/dnb-ui-basis.min.css +1 -1
  339. package/es/style/dnb-ui-body.css +1 -1
  340. package/es/style/dnb-ui-body.min.css +1 -1
  341. package/es/style/dnb-ui-components.css +34 -34
  342. package/es/style/dnb-ui-components.min.css +5 -5
  343. package/es/style/dnb-ui-core.css +1 -1
  344. package/es/style/dnb-ui-core.min.css +1 -1
  345. package/es/style/dnb-ui-elements.css +1 -1
  346. package/es/style/dnb-ui-elements.min.css +1 -1
  347. package/es/style/dnb-ui-extensions.css +10 -10
  348. package/es/style/dnb-ui-extensions.min.css +1 -1
  349. package/es/style/dnb-ui-forms.css +10 -10
  350. package/es/style/dnb-ui-forms.min.css +1 -1
  351. package/es/style/dnb-ui-fragments.css +2 -2
  352. package/es/style/dnb-ui-fragments.min.css +1 -1
  353. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  354. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  355. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +45 -45
  356. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  357. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  358. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  359. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -10
  360. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  361. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -10
  362. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  363. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  364. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  365. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +45 -45
  366. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  367. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  368. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  369. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -10
  370. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  371. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -10
  372. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  373. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  374. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  375. package/es/style/themes/theme-ui/ui-theme-components.css +45 -45
  376. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  377. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  378. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  379. package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -10
  380. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  381. package/es/style/themes/theme-ui/ui-theme-forms.css +10 -10
  382. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  383. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  384. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  385. package/esm/dnb-ui-basis.min.mjs +1 -1
  386. package/esm/dnb-ui-components.min.mjs +1 -1
  387. package/esm/dnb-ui-elements.min.mjs +1 -1
  388. package/esm/dnb-ui-extensions.min.mjs +5 -5
  389. package/esm/dnb-ui-lib.min.mjs +1 -1
  390. package/extensions/forms/DataContext/Context.d.ts +8 -5
  391. package/extensions/forms/DataContext/Context.js +0 -1
  392. package/extensions/forms/DataContext/Context.js.map +1 -1
  393. package/extensions/forms/DataContext/Provider/Provider.d.ts +6 -2
  394. package/extensions/forms/DataContext/Provider/Provider.js +35 -16
  395. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  396. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  397. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  398. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +21 -12
  399. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  400. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.d.ts +2 -0
  401. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +13 -0
  402. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -0
  403. package/extensions/forms/Field/Slider/Slider.js +7 -7
  404. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  405. package/extensions/forms/FieldBlock/FieldBlock.js +3 -4
  406. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  407. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  408. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  409. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  410. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  411. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  412. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  413. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +9 -5
  414. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  415. package/extensions/forms/Iterate/Array/Array.js +4 -4
  416. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  417. package/extensions/forms/Value/Date/Date.d.ts +1 -1
  418. package/extensions/forms/Value/Date/Date.js +15 -5
  419. package/extensions/forms/Value/Date/Date.js.map +1 -1
  420. package/extensions/forms/Value/Date/DateDocs.js +1 -1
  421. package/extensions/forms/Value/Date/DateDocs.js.map +1 -1
  422. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  423. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  424. package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  425. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  426. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  427. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  428. package/extensions/forms/constants/countries.d.ts +5 -2
  429. package/extensions/forms/constants/countries.js +72 -0
  430. package/extensions/forms/constants/countries.js.map +1 -1
  431. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  432. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  433. package/extensions/forms/hooks/useDataValue.d.ts +2 -1
  434. package/extensions/forms/hooks/useDataValue.js +7 -7
  435. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  436. package/extensions/forms/hooks/useFieldProps.d.ts +1 -1
  437. package/extensions/forms/hooks/useFieldProps.js +297 -116
  438. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  439. package/extensions/forms/style/dnb-forms.css +10 -10
  440. package/extensions/forms/style/dnb-forms.min.css +1 -1
  441. package/extensions/forms/types.d.ts +28 -2
  442. package/extensions/forms/types.js.map +1 -1
  443. package/package.json +1 -1
  444. package/shared/Eufemia.d.ts +1 -1
  445. package/shared/Eufemia.js +2 -2
  446. package/shared/Eufemia.js.map +1 -1
  447. package/style/core/scopes.scss +1 -1
  448. package/style/core/utilities.scss +3 -6
  449. package/style/dnb-ui-basis.css +1 -1
  450. package/style/dnb-ui-basis.min.css +1 -1
  451. package/style/dnb-ui-body.css +1 -1
  452. package/style/dnb-ui-body.min.css +1 -1
  453. package/style/dnb-ui-components.css +34 -34
  454. package/style/dnb-ui-components.min.css +5 -5
  455. package/style/dnb-ui-core.css +1 -1
  456. package/style/dnb-ui-core.min.css +1 -1
  457. package/style/dnb-ui-elements.css +1 -1
  458. package/style/dnb-ui-elements.min.css +1 -1
  459. package/style/dnb-ui-extensions.css +10 -10
  460. package/style/dnb-ui-extensions.min.css +1 -1
  461. package/style/dnb-ui-forms.css +10 -10
  462. package/style/dnb-ui-forms.min.css +1 -1
  463. package/style/dnb-ui-fragments.css +2 -2
  464. package/style/dnb-ui-fragments.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  466. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  467. package/style/themes/theme-eiendom/eiendom-theme-components.css +45 -45
  468. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  469. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  470. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  471. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -10
  472. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  473. package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -10
  474. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  475. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  476. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  477. package/style/themes/theme-sbanken/sbanken-theme-components.css +45 -45
  478. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  479. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  480. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  481. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -10
  482. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  483. package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -10
  484. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  485. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  486. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  487. package/style/themes/theme-ui/ui-theme-components.css +45 -45
  488. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  489. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  490. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  491. package/style/themes/theme-ui/ui-theme-extensions.css +10 -10
  492. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  493. package/style/themes/theme-ui/ui-theme-forms.css +10 -10
  494. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  495. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  496. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  497. package/umd/dnb-ui-basis.min.js +1 -1
  498. package/umd/dnb-ui-components.min.js +1 -1
  499. package/umd/dnb-ui-elements.min.js +1 -1
  500. package/umd/dnb-ui-extensions.min.js +5 -5
  501. package/umd/dnb-ui-lib.min.js +1 -1
  502. package/cjs/shared/helpers/useUnmountEffect.d.ts +0 -4
  503. package/cjs/shared/helpers/useUnmountEffect.js +0 -14
  504. package/cjs/shared/helpers/useUnmountEffect.js.map +0 -1
  505. package/es/shared/helpers/useUnmountEffect.d.ts +0 -4
  506. package/es/shared/helpers/useUnmountEffect.js +0 -9
  507. package/es/shared/helpers/useUnmountEffect.js.map +0 -1
  508. package/shared/helpers/useUnmountEffect.d.ts +0 -4
  509. package/shared/helpers/useUnmountEffect.js +0 -9
  510. package/shared/helpers/useUnmountEffect.js.map +0 -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","src","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","getOnClickHandler","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 getOnClickHandler = (src) => (event) => {\n const afterContent = dispatchCustomElementEvent(src, '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 (props.on_click || props.onClick) {\n params.onClick = this.getOnClickHandler(props)\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 onClick: 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","src","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","getOnClickHandler","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 getOnClickHandler = (src) => (event) => {\n const afterContent = dispatchCustomElementEvent(src, '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 (props.on_click || props.onClick) {\n params.onClick = this.getOnClickHandler(props)\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n if (isIconOnly) {\n params['aria-label'] = params['aria-label'] || title\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.string,\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 onClick: 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.string,\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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"}
@@ -25,7 +25,7 @@
25
25
  .dnb-card .dnb-section {
26
26
  z-index: 1;
27
27
  }
28
- @media screen and (min-width: 40em) {
28
+ @media screen and (min-width: 40.0625em) {
29
29
  .dnb-card {
30
30
  --nested-space-l: calc(var(--padding-left, 0px) * -1);
31
31
  --nested-space-r: calc(var(--padding-right, 0px) * -1);
@@ -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{--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}
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:40.0625em){.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}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { CopyOnClickAllProps } from './types';
5
5
  declare const CopyOnClick: {
6
- ({ children, className, disabled, showCursor, ...props }: CopyOnClickAllProps): import("react/jsx-runtime").JSX.Element;
6
+ ({ children, className, disabled, showCursor, copyContent, ...props }: CopyOnClickAllProps): import("react/jsx-runtime").JSX.Element;
7
7
  _supportsSpacingProps: boolean;
8
8
  };
9
9
  export default CopyOnClick;
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["children", "className", "disabled", "showCursor"];
5
+ const _excluded = ["children", "className", "disabled", "showCursor", "copyContent"];
6
6
  import React, { useCallback, useEffect, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { runIOSSelectionFix, copyWithEffect } from '../number-format/NumberUtils';
@@ -15,7 +15,8 @@ const CopyOnClick = _ref => {
15
15
  children,
16
16
  className = null,
17
17
  disabled,
18
- showCursor = true
18
+ showCursor = true,
19
+ copyContent = null
19
20
  } = _ref,
20
21
  props = _objectWithoutProperties(_ref, _excluded);
21
22
  const ref = useRef(null);
@@ -35,7 +36,7 @@ const CopyOnClick = _ref => {
35
36
  const onClickHandler = useCallback(() => {
36
37
  if (!hasSelectedText()) {
37
38
  try {
38
- const str = convertJsxToString(children);
39
+ const str = convertJsxToString(copyContent || children);
39
40
  if (str) {
40
41
  const selection = window.getSelection();
41
42
  const range = document.createRange();
@@ -48,7 +49,7 @@ const CopyOnClick = _ref => {
48
49
  warn(e);
49
50
  }
50
51
  }
51
- }, [children, copy]);
52
+ }, [children, copyContent, copy]);
52
53
  const params = {
53
54
  onClick: disabled ? undefined : onClickHandler
54
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CopyOnClick.js","names":["React","useCallback","useEffect","useRef","classnames","runIOSSelectionFix","copyWithEffect","hasSelectedText","IS_IOS","warn","convertJsxToString","useTranslation","Span","CopyOnClick","_ref","children","className","disabled","showCursor","props","_objectWithoutProperties","_excluded","ref","clipboard_copy","copy","value","positionElement","onClickHandler","str","selection","window","getSelection","range","document","createRange","selectNodeContents","current","removeAllRanges","addRange","e","params","onClick","undefined","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/copy-on-click/CopyOnClick.tsx"],"sourcesContent":["/**\n * Web CopyOnClick Component\n */\n\nimport React, { useCallback, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport type { CopyOnClickAllProps } from './types'\nimport {\n runIOSSelectionFix,\n copyWithEffect,\n} from '../number-format/NumberUtils'\nimport { hasSelectedText, IS_IOS, warn } from '../../shared/helpers'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport { useTranslation } from '../../shared'\nimport { Span } from '../../elements'\n\nconst CopyOnClick = ({\n children,\n className = null,\n disabled,\n showCursor = true,\n ...props\n}: CopyOnClickAllProps) => {\n const ref = useRef<HTMLSpanElement>(null)\n\n useEffect(() => {\n if (IS_IOS) {\n runIOSSelectionFix()\n }\n }, [])\n\n const {\n CopyOnClick: { clipboard_copy },\n } = useTranslation()\n\n const copy = useCallback(\n (value: string, positionElement: HTMLElement) => {\n copyWithEffect(value, clipboard_copy, positionElement) // use copyWithNotice only to use the nice effect / animation\n },\n [clipboard_copy]\n )\n\n const onClickHandler = useCallback(() => {\n if (!hasSelectedText()) {\n try {\n const str = convertJsxToString(children)\n\n if (str) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(ref.current)\n selection.removeAllRanges()\n selection.addRange(range)\n\n copy(str, ref.current)\n }\n } catch (e) {\n warn(e)\n }\n }\n }, [children, copy])\n\n const params = {\n onClick: disabled ? undefined : onClickHandler,\n }\n\n return (\n <Span\n className={classnames(\n 'dnb-copy-on-click',\n showCursor && !disabled && 'dnb-copy-on-click--cursor',\n className\n )}\n ref={ref}\n {...props}\n {...params}\n >\n {children}\n </Span>\n )\n}\n\nCopyOnClick._supportsSpacingProps = true\nexport default CopyOnClick\n"],"mappings":";;;;;AAIA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC7D,OAAOC,UAAU,MAAM,YAAY;AAEnC,SACEC,kBAAkB,EAClBC,cAAc,QACT,8BAA8B;AACrC,SAASC,eAAe,EAAEC,MAAM,EAAEC,IAAI,QAAQ,sBAAsB;AACpE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,IAAI,QAAQ,gBAAgB;AAErC,MAAMC,WAAW,GAAGC,IAAA,IAMO;EAAA,IANN;MACnBC,QAAQ;MACRC,SAAS,GAAG,IAAI;MAChBC,QAAQ;MACRC,UAAU,GAAG;IAEM,CAAC,GAAAJ,IAAA;IADjBK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAER,MAAMC,GAAG,GAAGnB,MAAM,CAAkB,IAAI,CAAC;EAEzCD,SAAS,CAAC,MAAM;IACd,IAAIM,MAAM,EAAE;MACVH,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IACJQ,WAAW,EAAE;MAAEU;IAAe;EAChC,CAAC,GAAGZ,cAAc,CAAC,CAAC;EAEpB,MAAMa,IAAI,GAAGvB,WAAW,CACtB,CAACwB,KAAa,EAAEC,eAA4B,KAAK;IAC/CpB,cAAc,CAACmB,KAAK,EAAEF,cAAc,EAAEG,eAAe,CAAC;EACxD,CAAC,EACD,CAACH,cAAc,CACjB,CAAC;EAED,MAAMI,cAAc,GAAG1B,WAAW,CAAC,MAAM;IACvC,IAAI,CAACM,eAAe,CAAC,CAAC,EAAE;MACtB,IAAI;QACF,MAAMqB,GAAG,GAAGlB,kBAAkB,CAACK,QAAQ,CAAC;QAExC,IAAIa,GAAG,EAAE;UACP,MAAMC,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;UACvC,MAAMC,KAAK,GAAGC,QAAQ,CAACC,WAAW,CAAC,CAAC;UACpCF,KAAK,CAACG,kBAAkB,CAACb,GAAG,CAACc,OAAO,CAAC;UACrCP,SAAS,CAACQ,eAAe,CAAC,CAAC;UAC3BR,SAAS,CAACS,QAAQ,CAACN,KAAK,CAAC;UAEzBR,IAAI,CAACI,GAAG,EAAEN,GAAG,CAACc,OAAO,CAAC;QACxB;MACF,CAAC,CAAC,OAAOG,CAAC,EAAE;QACV9B,IAAI,CAAC8B,CAAC,CAAC;MACT;IACF;EACF,CAAC,EAAE,CAACxB,QAAQ,EAAES,IAAI,CAAC,CAAC;EAEpB,MAAMgB,MAAM,GAAG;IACbC,OAAO,EAAExB,QAAQ,GAAGyB,SAAS,GAAGf;EAClC,CAAC;EAED,OACE3B,KAAA,CAAA2C,aAAA,CAAC/B,IAAI,EAAAgC,QAAA;IACH5B,SAAS,EAAEZ,UAAU,CACnB,mBAAmB,EAEnBY,SAAS,EADTE,UAAU,IAAI,CAACD,QAAQ,IAAI,2BAE7B,CAAE;IACFK,GAAG,EAAEA;EAAI,GACLH,KAAK,EACLqB,MAAM,GAETzB,QACG,CAAC;AAEX,CAAC;AAEDF,WAAW,CAACgC,qBAAqB,GAAG,IAAI;AACxC,eAAehC,WAAW"}
1
+ {"version":3,"file":"CopyOnClick.js","names":["React","useCallback","useEffect","useRef","classnames","runIOSSelectionFix","copyWithEffect","hasSelectedText","IS_IOS","warn","convertJsxToString","useTranslation","Span","CopyOnClick","_ref","children","className","disabled","showCursor","copyContent","props","_objectWithoutProperties","_excluded","ref","clipboard_copy","copy","value","positionElement","onClickHandler","str","selection","window","getSelection","range","document","createRange","selectNodeContents","current","removeAllRanges","addRange","e","params","onClick","undefined","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/copy-on-click/CopyOnClick.tsx"],"sourcesContent":["/**\n * Web CopyOnClick Component\n */\n\nimport React, { useCallback, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport type { CopyOnClickAllProps } from './types'\nimport {\n runIOSSelectionFix,\n copyWithEffect,\n} from '../number-format/NumberUtils'\nimport { hasSelectedText, IS_IOS, warn } from '../../shared/helpers'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport { useTranslation } from '../../shared'\nimport { Span } from '../../elements'\n\nconst CopyOnClick = ({\n children,\n className = null,\n disabled,\n showCursor = true,\n copyContent = null,\n ...props\n}: CopyOnClickAllProps) => {\n const ref = useRef<HTMLSpanElement>(null)\n\n useEffect(() => {\n if (IS_IOS) {\n runIOSSelectionFix()\n }\n }, [])\n\n const {\n CopyOnClick: { clipboard_copy },\n } = useTranslation()\n\n const copy = useCallback(\n (value: string, positionElement: HTMLElement) => {\n copyWithEffect(value, clipboard_copy, positionElement) // use copyWithNotice only to use the nice effect / animation\n },\n [clipboard_copy]\n )\n\n const onClickHandler = useCallback(() => {\n if (!hasSelectedText()) {\n try {\n const str = convertJsxToString(copyContent || children)\n\n if (str) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(ref.current)\n selection.removeAllRanges()\n selection.addRange(range)\n\n copy(str, ref.current)\n }\n } catch (e) {\n warn(e)\n }\n }\n }, [children, copyContent, copy])\n\n const params = {\n onClick: disabled ? undefined : onClickHandler,\n }\n\n return (\n <Span\n className={classnames(\n 'dnb-copy-on-click',\n showCursor && !disabled && 'dnb-copy-on-click--cursor',\n className\n )}\n ref={ref}\n {...props}\n {...params}\n >\n {children}\n </Span>\n )\n}\n\nCopyOnClick._supportsSpacingProps = true\nexport default CopyOnClick\n"],"mappings":";;;;;AAIA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC7D,OAAOC,UAAU,MAAM,YAAY;AAEnC,SACEC,kBAAkB,EAClBC,cAAc,QACT,8BAA8B;AACrC,SAASC,eAAe,EAAEC,MAAM,EAAEC,IAAI,QAAQ,sBAAsB;AACpE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,IAAI,QAAQ,gBAAgB;AAErC,MAAMC,WAAW,GAAGC,IAAA,IAOO;EAAA,IAPN;MACnBC,QAAQ;MACRC,SAAS,GAAG,IAAI;MAChBC,QAAQ;MACRC,UAAU,GAAG,IAAI;MACjBC,WAAW,GAAG;IAEK,CAAC,GAAAL,IAAA;IADjBM,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAER,MAAMC,GAAG,GAAGpB,MAAM,CAAkB,IAAI,CAAC;EAEzCD,SAAS,CAAC,MAAM;IACd,IAAIM,MAAM,EAAE;MACVH,kBAAkB,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IACJQ,WAAW,EAAE;MAAEW;IAAe;EAChC,CAAC,GAAGb,cAAc,CAAC,CAAC;EAEpB,MAAMc,IAAI,GAAGxB,WAAW,CACtB,CAACyB,KAAa,EAAEC,eAA4B,KAAK;IAC/CrB,cAAc,CAACoB,KAAK,EAAEF,cAAc,EAAEG,eAAe,CAAC;EACxD,CAAC,EACD,CAACH,cAAc,CACjB,CAAC;EAED,MAAMI,cAAc,GAAG3B,WAAW,CAAC,MAAM;IACvC,IAAI,CAACM,eAAe,CAAC,CAAC,EAAE;MACtB,IAAI;QACF,MAAMsB,GAAG,GAAGnB,kBAAkB,CAACS,WAAW,IAAIJ,QAAQ,CAAC;QAEvD,IAAIc,GAAG,EAAE;UACP,MAAMC,SAAS,GAAGC,MAAM,CAACC,YAAY,CAAC,CAAC;UACvC,MAAMC,KAAK,GAAGC,QAAQ,CAACC,WAAW,CAAC,CAAC;UACpCF,KAAK,CAACG,kBAAkB,CAACb,GAAG,CAACc,OAAO,CAAC;UACrCP,SAAS,CAACQ,eAAe,CAAC,CAAC;UAC3BR,SAAS,CAACS,QAAQ,CAACN,KAAK,CAAC;UAEzBR,IAAI,CAACI,GAAG,EAAEN,GAAG,CAACc,OAAO,CAAC;QACxB;MACF,CAAC,CAAC,OAAOG,CAAC,EAAE;QACV/B,IAAI,CAAC+B,CAAC,CAAC;MACT;IACF;EACF,CAAC,EAAE,CAACzB,QAAQ,EAAEI,WAAW,EAAEM,IAAI,CAAC,CAAC;EAEjC,MAAMgB,MAAM,GAAG;IACbC,OAAO,EAAEzB,QAAQ,GAAG0B,SAAS,GAAGf;EAClC,CAAC;EAED,OACE5B,KAAA,CAAA4C,aAAA,CAAChC,IAAI,EAAAiC,QAAA;IACH7B,SAAS,EAAEZ,UAAU,CACnB,mBAAmB,EAEnBY,SAAS,EADTE,UAAU,IAAI,CAACD,QAAQ,IAAI,2BAE7B,CAAE;IACFM,GAAG,EAAEA;EAAI,GACLH,KAAK,EACLqB,MAAM,GAET1B,QACG,CAAC;AAEX,CAAC;AAEDF,WAAW,CAACiC,qBAAqB,GAAG,IAAI;AACxC,eAAejC,WAAW"}
@@ -9,6 +9,11 @@ export const CopyOnClickProperties = {
9
9
  type: 'boolean',
10
10
  status: 'optional'
11
11
  },
12
+ copyContent: {
13
+ doc: 'Contents to copy. Used when the copied value should differ from the visually shown value(`children`).',
14
+ type: 'React.Node',
15
+ status: 'optional'
16
+ },
12
17
  children: {
13
18
  doc: 'Contents.',
14
19
  type: 'React.Node',
@@ -1 +1 @@
1
- {"version":3,"file":"CopyOnClickDocs.js","names":["CopyOnClickProperties","showCursor","doc","type","status","disabled","children"],"sources":["../../../../src/components/copy-on-click/CopyOnClickDocs.ts"],"sourcesContent":["import type { PropertiesTableProps } from '../../shared/types'\n\nexport const CopyOnClickProperties: PropertiesTableProps = {\n showCursor: {\n doc: 'Define if the copy cursor should be visible. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'If `false`, the copy functionality and copy cursor will be omitted. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,qBAA2C,GAAG;EACzDC,UAAU,EAAE;IACVC,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"CopyOnClickDocs.js","names":["CopyOnClickProperties","showCursor","doc","type","status","disabled","copyContent","children"],"sources":["../../../../src/components/copy-on-click/CopyOnClickDocs.ts"],"sourcesContent":["import type { PropertiesTableProps } from '../../shared/types'\n\nexport const CopyOnClickProperties: PropertiesTableProps = {\n showCursor: {\n doc: 'Define if the copy cursor should be visible. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n disabled: {\n doc: 'If `false`, the copy functionality and copy cursor will be omitted. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n copyContent: {\n doc: 'Contents to copy. Used when the copied value should differ from the visually shown value(`children`).',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,qBAA2C,GAAG;EACzDC,UAAU,EAAE;IACVC,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -13,6 +13,11 @@ export type CopyOnClickProps = {
13
13
  disabled?: boolean;
14
14
  /**
15
15
  * The content to be copied.
16
+ * Used when the copied value should differ from the visually shown value(`children`).
17
+ */
18
+ copyContent?: React.ReactNode;
19
+ /**
20
+ * The content/children to be copied.
16
21
  */
17
22
  children: React.ReactNode;
18
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/copy-on-click/types.ts"],"sourcesContent":["import { SpacingProps } from '../space/types'\n\nexport type CopyOnClickProps = {\n /**\n * Whether to show the copy cursor or not.\n * @default true\n */\n showCursor?: boolean\n\n /**\n * Whether the CopyOnClick component is on or off.\n * @default false\n */\n disabled?: boolean\n\n /**\n * The content to be copied.\n */\n children: React.ReactNode\n}\n\nexport type CopyOnClickAllProps = CopyOnClickProps &\n SpacingProps &\n React.HTMLAttributes<HTMLSpanElement>\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/copy-on-click/types.ts"],"sourcesContent":["import { SpacingProps } from '../space/types'\n\nexport type CopyOnClickProps = {\n /**\n * Whether to show the copy cursor or not.\n * @default true\n */\n showCursor?: boolean\n\n /**\n * Whether the CopyOnClick component is on or off.\n * @default false\n */\n disabled?: boolean\n\n /**\n * The content to be copied.\n * Used when the copied value should differ from the visually shown value(`children`).\n */\n copyContent?: React.ReactNode\n\n /**\n * The content/children to be copied.\n */\n children: React.ReactNode\n}\n\nexport type CopyOnClickAllProps = CopyOnClickProps &\n SpacingProps &\n React.HTMLAttributes<HTMLSpanElement>\n"],"mappings":""}
@@ -158,7 +158,7 @@
158
158
  .dnb-drawer--spacing .dnb-drawer__content {
159
159
  padding: 0 var(--drawer-spacing);
160
160
  }
161
- @media screen and (min-width: 80em) {
161
+ @media screen and (min-width: 80.0625em) {
162
162
  .dnb-drawer--spacing .dnb-drawer__content {
163
163
  padding: 0 calc(var(--drawer-spacing) * 1.75);
164
164
  }
@@ -266,7 +266,7 @@ html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--bottom {
266
266
  .dnb-drawer--spacing .dnb-drawer__header {
267
267
  padding: 0 var(--drawer-spacing);
268
268
  }
269
- @media screen and (min-width: 80em) {
269
+ @media screen and (min-width: 80.0625em) {
270
270
  .dnb-drawer--spacing .dnb-drawer__header {
271
271
  padding: 0 calc(var(--drawer-spacing) * 1.75);
272
272
  }
@@ -306,7 +306,7 @@ html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--bottom {
306
306
  margin: var(--drawer-spacing) 0;
307
307
  padding: 0 var(--drawer-spacing);
308
308
  }
309
- @media screen and (min-width: 80em) {
309
+ @media screen and (min-width: 80.0625em) {
310
310
  .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section {
311
311
  padding: 0 calc(var(--drawer-spacing) * 1.75);
312
312
  }
@@ -1 +1 @@
1
- @keyframes show-modal{0%{opacity:.1;transform:translate3d(0,-1rem,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hide-modal{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,1rem,0)}}@keyframes show-drawer{to{opacity:1;transform:translateZ(0)}}@keyframes hide-drawer-left{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-20rem,0,0)}}@keyframes hide-drawer-top{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20rem,0)}}@keyframes hide-drawer-bottom{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,20rem,0)}}@keyframes hide-drawer-right{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(20rem,0,0)}}@keyframes show-modal-overlay{0%{opacity:0}to{opacity:1}}@keyframes hide-modal-overlay{0%{opacity:1}to{opacity:0}}.dnb-drawer{--drawer-width:40vw;--drawer-min-width:25rem;--drawer-max-width:40rem;--drawer-spacing:2rem;--drawer-spacing-minus:-2rem;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none;border-radius:0;box-shadow:none;box-shadow:var(--shadow-default);height:100vh;max-height:100vh;max-width:100%;max-width:var(--drawer-max-width);min-width:var(--drawer-min-width);position:relative;-webkit-user-select:text;user-select:text;width:100%;width:var(--drawer-width)}@media screen and (max-width:40em){.dnb-drawer{max-width:auto;min-width:auto;width:100vw}.dnb-drawer--auto-fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:100vh;max-width:100%;width:100%}}.dnb-drawer__inner{background-color:var(--modal-background-color,transparent);display:flex;flex-direction:column;height:calc(100% - var(--header-height, 0));position:relative;width:100%;z-index:10}.dnb-drawer__align--centered .dnb-drawer__inner{align-items:center;justify-content:center}.dnb-drawer__content{position:relative;z-index:1}.dnb-drawer--spacing .dnb-drawer__content{padding:0 var(--drawer-spacing)}@media screen and (min-width:80em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer__align--center .dnb-drawer__content{align-items:center;text-align:center}.dnb-drawer__align--right .dnb-drawer__content{align-items:flex-end;text-align:right}.dnb-drawer--bottom,.dnb-drawer--top{height:40vh;max-width:100%;width:100vw}@media screen and (max-height:40em){.dnb-drawer--bottom,.dnb-drawer--top{height:100vw;max-height:auto;min-height:auto}}.dnb-drawer--fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:100vh;max-width:100%;width:100%}html:not([data-visual-test]) .dnb-drawer{animation:show-drawer var(--modal-animation-duration) ease-out forwards;opacity:.1}html:not([data-visual-test]) .dnb-drawer--left{transform:translate3d(-20rem,0,0)}html:not([data-visual-test]) .dnb-drawer--right{transform:translate3d(20rem,0,0)}html:not([data-visual-test]) .dnb-drawer--top{transform:translate3d(0,-20rem,0)}html:not([data-visual-test]) .dnb-drawer--bottom{transform:translate3d(0,20rem,0)}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--left{animation:hide-drawer-left var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--right{animation:hide-drawer-right var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--top{animation:hide-drawer-top var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--bottom{animation:hide-drawer-bottom var(--modal-animation-duration) ease-in-out forwards}.dnb-drawer--no-animation{animation-duration:0ms!important}@media screen and (max-width:40em){.dnb-drawer--no-animation-on-mobile{animation-duration:0ms!important}}.dnb-drawer__root{align-items:flex-start;justify-content:flex-start}@media screen and (max-width:60em){.dnb-drawer__title{font-size:var(--font-size-large)!important;line-height:var(--line-height-medium)!important}}.dnb-drawer__title~.dnb-drawer__content{padding-top:calc(var(--drawer-spacing)/1.33333)}.dnb-drawer .dnb-drawer__header .dnb-drawer__title,.dnb-drawer .dnb-drawer__header [class*=dnb-h--]{padding:0}.dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__top]),.dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__top]){margin-top:0}.dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__bottom]),.dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__bottom]){margin-bottom:0}.dnb-drawer .dnb-drawer__header:after{height:600%;top:-500%}.dnb-drawer--spacing .dnb-drawer__header{padding:0 var(--drawer-spacing)}@media screen and (min-width:80em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer--spacing .dnb-drawer__header .dnb-tabs{margin-top:var(--drawer-spacing)}.dnb-drawer__body{margin-bottom:calc(var(--drawer-spacing-minus)*2);padding-bottom:calc(var(--drawer-spacing)*2)}@supports (-webkit-touch-callout:none){.dnb-drawer__body{padding-bottom:calc(var(--drawer-spacing-minus)*8)}}.dnb-drawer__navigation.dnb-section{display:flex;flex-direction:row;justify-content:space-between}.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{left:0;margin:var(--drawer-spacing) 0;padding:0 var(--drawer-spacing);position:sticky;top:0;z-index:99}@media screen and (min-width:80em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section.dnb-drawer__navigation--sticky{z-index:2999}.dnb-drawer .dnb-drawer__navigation--sticky:before{bottom:0;box-shadow:var(--shadow-default);content:"";height:300%;left:0;position:absolute;right:0;z-index:-1}.dnb-drawer .dnb-drawer__navigation:not(.dnb-drawer__navigation--sticky):after{color:transparent}@media screen and (max-width:40em){.dnb-drawer--no-animation-on-mobile{animation-delay:0ms!important;animation-duration:0ms!important}}[data-visual-test].hide-page-content #___gatsby{opacity:0}
1
+ @keyframes show-modal{0%{opacity:.1;transform:translate3d(0,-1rem,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hide-modal{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,1rem,0)}}@keyframes show-drawer{to{opacity:1;transform:translateZ(0)}}@keyframes hide-drawer-left{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(-20rem,0,0)}}@keyframes hide-drawer-top{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20rem,0)}}@keyframes hide-drawer-bottom{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,20rem,0)}}@keyframes hide-drawer-right{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(20rem,0,0)}}@keyframes show-modal-overlay{0%{opacity:0}to{opacity:1}}@keyframes hide-modal-overlay{0%{opacity:1}to{opacity:0}}.dnb-drawer{--drawer-width:40vw;--drawer-min-width:25rem;--drawer-max-width:40rem;--drawer-spacing:2rem;--drawer-spacing-minus:-2rem;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none;border-radius:0;box-shadow:none;box-shadow:var(--shadow-default);height:100vh;max-height:100vh;max-width:100%;max-width:var(--drawer-max-width);min-width:var(--drawer-min-width);position:relative;-webkit-user-select:text;user-select:text;width:100%;width:var(--drawer-width)}@media screen and (max-width:40em){.dnb-drawer{max-width:auto;min-width:auto;width:100vw}.dnb-drawer--auto-fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:100vh;max-width:100%;width:100%}}.dnb-drawer__inner{background-color:var(--modal-background-color,transparent);display:flex;flex-direction:column;height:calc(100% - var(--header-height, 0));position:relative;width:100%;z-index:10}.dnb-drawer__align--centered .dnb-drawer__inner{align-items:center;justify-content:center}.dnb-drawer__content{position:relative;z-index:1}.dnb-drawer--spacing .dnb-drawer__content{padding:0 var(--drawer-spacing)}@media screen and (min-width:80.0625em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__content{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer__align--center .dnb-drawer__content{align-items:center;text-align:center}.dnb-drawer__align--right .dnb-drawer__content{align-items:flex-end;text-align:right}.dnb-drawer--bottom,.dnb-drawer--top{height:40vh;max-width:100%;width:100vw}@media screen and (max-height:40em){.dnb-drawer--bottom,.dnb-drawer--top{height:100vw;max-height:auto;min-height:auto}}.dnb-drawer--fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:100vh;max-width:100%;width:100%}html:not([data-visual-test]) .dnb-drawer{animation:show-drawer var(--modal-animation-duration) ease-out forwards;opacity:.1}html:not([data-visual-test]) .dnb-drawer--left{transform:translate3d(-20rem,0,0)}html:not([data-visual-test]) .dnb-drawer--right{transform:translate3d(20rem,0,0)}html:not([data-visual-test]) .dnb-drawer--top{transform:translate3d(0,-20rem,0)}html:not([data-visual-test]) .dnb-drawer--bottom{transform:translate3d(0,20rem,0)}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--left{animation:hide-drawer-left var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--right{animation:hide-drawer-right var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--top{animation:hide-drawer-top var(--modal-animation-duration) ease-in-out forwards}html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--bottom{animation:hide-drawer-bottom var(--modal-animation-duration) ease-in-out forwards}.dnb-drawer--no-animation{animation-duration:0ms!important}@media screen and (max-width:40em){.dnb-drawer--no-animation-on-mobile{animation-duration:0ms!important}}.dnb-drawer__root{align-items:flex-start;justify-content:flex-start}@media screen and (max-width:60em){.dnb-drawer__title{font-size:var(--font-size-large)!important;line-height:var(--line-height-medium)!important}}.dnb-drawer__title~.dnb-drawer__content{padding-top:calc(var(--drawer-spacing)/1.33333)}.dnb-drawer .dnb-drawer__header .dnb-drawer__title,.dnb-drawer .dnb-drawer__header [class*=dnb-h--]{padding:0}.dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__top]),.dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__top]){margin-top:0}.dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__bottom]),.dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__bottom]){margin-bottom:0}.dnb-drawer .dnb-drawer__header:after{height:600%;top:-500%}.dnb-drawer--spacing .dnb-drawer__header{padding:0 var(--drawer-spacing)}@media screen and (min-width:80.0625em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__header{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer--spacing .dnb-drawer__header .dnb-tabs{margin-top:var(--drawer-spacing)}.dnb-drawer__body{margin-bottom:calc(var(--drawer-spacing-minus)*2);padding-bottom:calc(var(--drawer-spacing)*2)}@supports (-webkit-touch-callout:none){.dnb-drawer__body{padding-bottom:calc(var(--drawer-spacing-minus)*8)}}.dnb-drawer__navigation.dnb-section{display:flex;flex-direction:row;justify-content:space-between}.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{left:0;margin:var(--drawer-spacing) 0;padding:0 var(--drawer-spacing);position:sticky;top:0;z-index:99}@media screen and (min-width:80.0625em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)*1.75)}}@media screen and (max-width:60em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)/1.33333)}}@media screen and (max-width:40em){.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section{padding:0 calc(var(--drawer-spacing)/2)}}.dnb-drawer--spacing .dnb-drawer__navigation.dnb-section.dnb-drawer__navigation--sticky{z-index:2999}.dnb-drawer .dnb-drawer__navigation--sticky:before{bottom:0;box-shadow:var(--shadow-default);content:"";height:300%;left:0;position:absolute;right:0;z-index:-1}.dnb-drawer .dnb-drawer__navigation:not(.dnb-drawer__navigation--sticky):after{color:transparent}@media screen and (max-width:40em){.dnb-drawer--no-animation-on-mobile{animation-delay:0ms!important;animation-duration:0ms!important}}[data-visual-test].hide-page-content #___gatsby{opacity:0}
@@ -145,7 +145,7 @@ html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown
145
145
  border-radius: 50%;
146
146
  }
147
147
  }
148
- @media screen and (min-width: 40em) {
148
+ @media screen and (min-width: 40.0625em) {
149
149
  .dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text {
150
150
  padding: 0 0.5rem;
151
151
  }
@@ -1 +1 @@
1
- .dnb-dropdown{--dropdown-width:16rem;--dropdown-height:2rem;--dropdown-height--small:1.5rem;--dropdown-height--medium:2.5rem;--dropdown-height--large:3rem;--dropdown-padding-horizontal:1rem;--dropdown-focus-border-width:0.125rem;--dropdown-error-border-width:0.125rem;--dropdown-text-padding:0.5rem;--dropdown-button-padding:0 1rem;--dropdown-border-radius:0.25rem;--dropdown-foreground-color-primary:var(--color-black-55);--dropdown-foreground-color-error:var(--color-fire-red);--dropdown-background-color-disabled:var(--color-black-3);--dropdown-background-color-error-active:var(--color-fire-red-8);align-items:center;display:inline-flex;font-size:var(--font-size-small);line-height:var(--dropdown-height)}.dnb-dropdown__inner{color:inherit;display:inline-flex;flex-direction:column;margin:0;padding:0;width:auto}.dnb-dropdown__shell{color:inherit;height:var(--dropdown-height);margin:0;padding:0;position:relative;width:var(--dropdown-width)}.dnb-dropdown__row{display:inline-flex}.dnb-dropdown--large .dnb-drawer-list__triangle{margin-left:calc(var(--dropdown-padding-horizontal) - .25rem)}.dnb-dropdown--icon-position-left.dnb-dropdown--large .dnb-drawer-list__triangle{margin-left:calc(var(--dropdown-padding-horizontal) + .25rem)}.dnb-dropdown__icon{display:inline-flex;justify-content:center;order:2;pointer-events:none;position:relative}.dnb-dropdown__trigger{position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:1}.dnb-dropdown__trigger.dnb-button{border-radius:var(--dropdown-border-radius);padding:var(--dropdown-button-padding)}.dnb-dropdown--is-popup .dnb-dropdown__trigger.dnb-button{border-radius:50%;padding:0}.dnb-dropdown__text{color:inherit;display:inline-block;font-size:var(--font-size-basis);line-height:inherit;order:1;overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis;width:100%;z-index:4}.dnb-dropdown__text__inner{display:inherit;overflow:hidden;text-overflow:inherit;white-space:nowrap}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger{--border-color:var(--dropdown-foreground-color-error);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]){--border-color:var(--dropdown-foreground-color-error);--border-width:var(--dropdown-error-border-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--dropdown-foreground-color-error)}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]) .dnb-dropdown__icon .dnb-icon{color:var(--dropdown-foreground-color-error)}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled],html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled]{cursor:not-allowed}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]){background-color:var(--dropdown-background-color-error-active);color:var(--dropdown-foreground-color-error)}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__icon,.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger{color:var(--dropdown-foreground-color-error)}.dnb-dropdown>.dnb-form-status{transform:translateY(-.4375rem)}.dnb-dropdown--icon-position-left .dnb-dropdown__text{order:2;padding-left:var(--dropdown-text-padding);padding-right:0}.dnb-dropdown--icon-position-left .dnb-dropdown__icon{order:1}.dnb-dropdown--icon-position-right .dnb-dropdown__text{padding-right:var(--dropdown-text-padding)}.dnb-dropdown--independent-width .dnb-dropdown__shell{width:auto}@media screen and (max-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__trigger.dnb-button{border-radius:50%;padding-left:.5rem;padding-right:.5rem}}@media screen and (min-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text{padding:0 .5rem}}@media screen and (max-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text{padding:0;width:0}}.dnb-dropdown--icon-position-left .dnb-button--tertiary~.dnb-drawer-list__root--portal{left:-.5rem}.dnb-dropdown--icon-position-right .dnb-button--tertiary~.dnb-drawer-list__root--portal{left:.5rem}.dnb-dropdown .dnb-button--tertiary.dnb-button--active{box-shadow:none}.dnb-dropdown .dnb-button--tertiary .dnb-button__text{margin:0 .5rem}.dnb-dropdown .dnb-button--tertiary .dnb-button__text:after{bottom:0}.dnb-dropdown .dnb-button--tertiary,.dnb-dropdown--icon-position-left .dnb-button--tertiary .dnb-dropdown__text,.dnb-dropdown--icon-position-right .dnb-button--tertiary .dnb-dropdown__text{padding:0}.dnb-dropdown .dnb-button--tertiary:focus:before{left:0!important;right:0!important}.dnb-dropdown--default.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--is-popup .dnb-dropdown__trigger{height:var(--dropdown-height);padding:0;width:var(--dropdown-height)}.dnb-dropdown--is-popup .dnb-dropdown__icon{width:100%}.dnb-dropdown--is-popup.dnb-dropdown--scroll .dnb-dropdown__options{min-height:1rem}.dnb-dropdown--is-popup .dnb-drawer-list__root{width:var(--dropdown-width)}.dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--small)}.dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--medium)}.dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--large)}.dnb-dropdown--small .dnb-dropdown__shell,.dnb-dropdown--small .dnb-dropdown__trigger{height:var(--dropdown-height--small)}.dnb-dropdown--small,.dnb-dropdown--small .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--small)}.dnb-dropdown--medium .dnb-dropdown__shell,.dnb-dropdown--medium .dnb-dropdown__trigger{height:var(--dropdown-height--medium)}.dnb-dropdown--medium,.dnb-dropdown--medium .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--medium)}.dnb-dropdown--large .dnb-dropdown__shell,.dnb-dropdown--large .dnb-dropdown__trigger{height:var(--dropdown-height--large)}.dnb-dropdown--large,.dnb-dropdown--large .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--large)}.dnb-dropdown--large .dnb-dropdown__trigger.dnb-button .dnb-dropdown__text,.dnb-dropdown>.dnb-form-label{line-height:var(--line-height-basis)}.dnb-dropdown>.dnb-form-label{margin-right:1rem}@media screen and (max-width:40em){.dnb-dropdown{flex-wrap:wrap}.dnb-dropdown>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-dropdown--stretch{display:flex;flex-grow:1}.dnb-dropdown--stretch .dnb-dropdown__inner{flex-grow:1}.dnb-dropdown--stretch .dnb-dropdown__inner,.dnb-dropdown--stretch .dnb-dropdown__row,.dnb-dropdown--stretch .dnb-dropdown__shell{width:100%}.dnb-dropdown--stretch .dnb-form-label+.dnb-dropdown__inner{width:auto}.dnb-dropdown--vertical.dnb-dropdown--stretch .dnb-dropdown__inner,.dnb-form-row--horizontal .dnb-dropdown--stretch{width:100%}label+.dnb-dropdown[class*=__form-status]{vertical-align:top}label+.dnb-dropdown[class*=__form-status] .dnb-dropdown__shell{top:-.375rem}.dnb-dropdown__inner>.dnb-form-status{margin-top:.5rem;order:2}.dnb-dropdown--vertical{align-items:flex-start;display:flex;flex-direction:column}.dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status]{align-items:flex-start}.dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status]>.dnb-form-label{margin-top:.25rem}@media screen and (max-width:40em){.dnb-responsive-component .dnb-dropdown{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.5rem}.dnb-responsive-component .dnb-dropdown>.dnb-form-label{margin-bottom:.5rem}.dnb-responsive-component .dnb-dropdown__helper{display:none}}
1
+ .dnb-dropdown{--dropdown-width:16rem;--dropdown-height:2rem;--dropdown-height--small:1.5rem;--dropdown-height--medium:2.5rem;--dropdown-height--large:3rem;--dropdown-padding-horizontal:1rem;--dropdown-focus-border-width:0.125rem;--dropdown-error-border-width:0.125rem;--dropdown-text-padding:0.5rem;--dropdown-button-padding:0 1rem;--dropdown-border-radius:0.25rem;--dropdown-foreground-color-primary:var(--color-black-55);--dropdown-foreground-color-error:var(--color-fire-red);--dropdown-background-color-disabled:var(--color-black-3);--dropdown-background-color-error-active:var(--color-fire-red-8);align-items:center;display:inline-flex;font-size:var(--font-size-small);line-height:var(--dropdown-height)}.dnb-dropdown__inner{color:inherit;display:inline-flex;flex-direction:column;margin:0;padding:0;width:auto}.dnb-dropdown__shell{color:inherit;height:var(--dropdown-height);margin:0;padding:0;position:relative;width:var(--dropdown-width)}.dnb-dropdown__row{display:inline-flex}.dnb-dropdown--large .dnb-drawer-list__triangle{margin-left:calc(var(--dropdown-padding-horizontal) - .25rem)}.dnb-dropdown--icon-position-left.dnb-dropdown--large .dnb-drawer-list__triangle{margin-left:calc(var(--dropdown-padding-horizontal) + .25rem)}.dnb-dropdown__icon{display:inline-flex;justify-content:center;order:2;pointer-events:none;position:relative}.dnb-dropdown__trigger{position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:1}.dnb-dropdown__trigger.dnb-button{border-radius:var(--dropdown-border-radius);padding:var(--dropdown-button-padding)}.dnb-dropdown--is-popup .dnb-dropdown__trigger.dnb-button{border-radius:50%;padding:0}.dnb-dropdown__text{color:inherit;display:inline-block;font-size:var(--font-size-basis);line-height:inherit;order:1;overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis;width:100%;z-index:4}.dnb-dropdown__text__inner{display:inherit;overflow:hidden;text-overflow:inherit;white-space:nowrap}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger{--border-color:var(--dropdown-foreground-color-error);--border-width:0.0625rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]){--border-color:var(--dropdown-foreground-color-error);--border-width:var(--dropdown-error-border-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--dropdown-foreground-color-error)}html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]) .dnb-dropdown__icon .dnb-icon{color:var(--dropdown-foreground-color-error)}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled],html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled]{cursor:not-allowed}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]){background-color:var(--dropdown-background-color-error-active);color:var(--dropdown-foreground-color-error)}.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__icon,.dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger{color:var(--dropdown-foreground-color-error)}.dnb-dropdown>.dnb-form-status{transform:translateY(-.4375rem)}.dnb-dropdown--icon-position-left .dnb-dropdown__text{order:2;padding-left:var(--dropdown-text-padding);padding-right:0}.dnb-dropdown--icon-position-left .dnb-dropdown__icon{order:1}.dnb-dropdown--icon-position-right .dnb-dropdown__text{padding-right:var(--dropdown-text-padding)}.dnb-dropdown--independent-width .dnb-dropdown__shell{width:auto}@media screen and (max-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__trigger.dnb-button{border-radius:50%;padding-left:.5rem;padding-right:.5rem}}@media screen and (min-width:40.0625em){.dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text{padding:0 .5rem}}@media screen and (max-width:40em){.dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text{padding:0;width:0}}.dnb-dropdown--icon-position-left .dnb-button--tertiary~.dnb-drawer-list__root--portal{left:-.5rem}.dnb-dropdown--icon-position-right .dnb-button--tertiary~.dnb-drawer-list__root--portal{left:.5rem}.dnb-dropdown .dnb-button--tertiary.dnb-button--active{box-shadow:none}.dnb-dropdown .dnb-button--tertiary .dnb-button__text{margin:0 .5rem}.dnb-dropdown .dnb-button--tertiary .dnb-button__text:after{bottom:0}.dnb-dropdown .dnb-button--tertiary,.dnb-dropdown--icon-position-left .dnb-button--tertiary .dnb-dropdown__text,.dnb-dropdown--icon-position-right .dnb-button--tertiary .dnb-dropdown__text{padding:0}.dnb-dropdown .dnb-button--tertiary:focus:before{left:0!important;right:0!important}.dnb-dropdown--default.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--is-popup .dnb-dropdown__trigger{height:var(--dropdown-height);padding:0;width:var(--dropdown-height)}.dnb-dropdown--is-popup .dnb-dropdown__icon{width:100%}.dnb-dropdown--is-popup.dnb-dropdown--scroll .dnb-dropdown__options{min-height:1rem}.dnb-dropdown--is-popup .dnb-drawer-list__root{width:var(--dropdown-width)}.dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--small)}.dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--medium)}.dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__shell,.dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__trigger{width:var(--dropdown-height--large)}.dnb-dropdown--small .dnb-dropdown__shell,.dnb-dropdown--small .dnb-dropdown__trigger{height:var(--dropdown-height--small)}.dnb-dropdown--small,.dnb-dropdown--small .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--small)}.dnb-dropdown--medium .dnb-dropdown__shell,.dnb-dropdown--medium .dnb-dropdown__trigger{height:var(--dropdown-height--medium)}.dnb-dropdown--medium,.dnb-dropdown--medium .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--medium)}.dnb-dropdown--large .dnb-dropdown__shell,.dnb-dropdown--large .dnb-dropdown__trigger{height:var(--dropdown-height--large)}.dnb-dropdown--large,.dnb-dropdown--large .dnb-dropdown__trigger.dnb-button{line-height:var(--dropdown-height--large)}.dnb-dropdown--large .dnb-dropdown__trigger.dnb-button .dnb-dropdown__text,.dnb-dropdown>.dnb-form-label{line-height:var(--line-height-basis)}.dnb-dropdown>.dnb-form-label{margin-right:1rem}@media screen and (max-width:40em){.dnb-dropdown{flex-wrap:wrap}.dnb-dropdown>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-dropdown--stretch{display:flex;flex-grow:1}.dnb-dropdown--stretch .dnb-dropdown__inner{flex-grow:1}.dnb-dropdown--stretch .dnb-dropdown__inner,.dnb-dropdown--stretch .dnb-dropdown__row,.dnb-dropdown--stretch .dnb-dropdown__shell{width:100%}.dnb-dropdown--stretch .dnb-form-label+.dnb-dropdown__inner{width:auto}.dnb-dropdown--vertical.dnb-dropdown--stretch .dnb-dropdown__inner,.dnb-form-row--horizontal .dnb-dropdown--stretch{width:100%}label+.dnb-dropdown[class*=__form-status]{vertical-align:top}label+.dnb-dropdown[class*=__form-status] .dnb-dropdown__shell{top:-.375rem}.dnb-dropdown__inner>.dnb-form-status{margin-top:.5rem;order:2}.dnb-dropdown--vertical{align-items:flex-start;display:flex;flex-direction:column}.dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status]{align-items:flex-start}.dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status]>.dnb-form-label{margin-top:.25rem}@media screen and (max-width:40em){.dnb-responsive-component .dnb-dropdown{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.5rem}.dnb-responsive-component .dnb-dropdown>.dnb-form-label{margin-bottom:.5rem}.dnb-responsive-component .dnb-dropdown__helper{display:none}}
@@ -6,7 +6,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
6
  const _excluded = ["className", "style", "children", "element", "direction", "wrap", "sizeCount", "rowGap", "justify", "align", "alignSelf", "divider", "gap", "spacing", "breakpoints", "queries"];
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
- import React, { useCallback } from 'react';
9
+ import React, { Fragment, useCallback } from 'react';
10
10
  import classnames from 'classnames';
11
11
  import Space from '../space/Space';
12
12
  import { Hr } from '../../elements';
@@ -38,7 +38,7 @@ function FlexContainer(props) {
38
38
  } = props,
39
39
  rest = _objectWithoutProperties(props, _excluded);
40
40
  const spacing = (_ref = spacingProp !== null && spacingProp !== void 0 ? spacingProp : gap) !== null && _ref !== void 0 ? _ref : 'small';
41
- const childrenArray = wrapChildren(props, children);
41
+ const childrenArray = replaceRootFragment(wrapChildren(props, children));
42
42
  const hasHeading = childrenArray.some((child, i) => {
43
43
  const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
44
44
  return isHeadingElement(child) || i > 0 && isHeadingElement(previousChild);
@@ -139,6 +139,14 @@ function wrapChildren(props, children) {
139
139
  return child;
140
140
  });
141
141
  }
142
+ function replaceRootFragment(children) {
143
+ const firstChild = children[0];
144
+ if (React.Children.count(children) === 1 && (firstChild === null || firstChild === void 0 ? void 0 : firstChild.type) === Fragment) {
145
+ var _firstChild$props;
146
+ return React.Children.toArray(firstChild === null || firstChild === void 0 ? void 0 : (_firstChild$props = firstChild.props) === null || _firstChild$props === void 0 ? void 0 : _firstChild$props.children);
147
+ }
148
+ return children;
149
+ }
142
150
  FlexContainer._supportsSpacingProps = true;
143
151
  export default FlexContainer;
144
152
  //# sourceMappingURL=Container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","_ref","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","gap","spacing","spacingProp","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","length","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref2","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\ntype Gap =\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n gap?: Gap\n /** @deprecated Use `gap` instead */\n spacing?: Gap\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'ref' | 'wrap' | 'value' | 'label' | 'title' | 'placeholder'\n >\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n 'gap',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n gap,\n spacing: spacingProp,\n breakpoints,\n queries,\n ...rest\n } = props\n\n const spacing = spacingProp ?? gap ?? 'small'\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: child?.['key'] || `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["React","Fragment","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","_ref","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","gap","spacing","spacingProp","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","replaceRootFragment","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","length","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","top","space","_ref2","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","firstChild","count","_firstChild$props","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { Fragment, useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\ntype Gap =\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n gap?: Gap\n /** @deprecated Use `gap` instead */\n spacing?: Gap\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'ref' | 'wrap' | 'value' | 'label' | 'title' | 'placeholder'\n >\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n 'gap',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n gap,\n spacing: spacingProp,\n breakpoints,\n queries,\n ...rest\n } = props\n\n const spacing = spacingProp ?? gap ?? 'small'\n const childrenArray = replaceRootFragment(wrapChildren(props, children))\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: child?.['key'] || `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nfunction replaceRootFragment(children) {\n const firstChild = children[0]\n if (\n React.Children.count(children) === 1 &&\n firstChild?.type === Fragment\n ) {\n return React.Children.toArray(firstChild?.props?.children)\n }\n return children\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -43,4 +43,4 @@ export declare function getSpaceVariant(element: React.ReactNode): any;
43
43
  export declare function renderWithSpacing(element: React.ReactNode, spaceProps: SpacingProps & {
44
44
  key?: string;
45
45
  className?: string;
46
- }): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
46
+ }): any;
@@ -73,6 +73,6 @@ function wrapWithSpace({
73
73
  spaceProps,
74
74
  variant = null
75
75
  }) {
76
- return (variant !== null && variant !== void 0 ? variant : getSpaceVariant(element) === true) ? React.cloneElement(element, spaceProps) : React.createElement(Space, spaceProps, element);
76
+ return (variant !== null && variant !== void 0 ? variant : getSpaceVariant(element) === true) ? React.cloneElement(element, spaceProps) : getSpaceVariant(element) === 'children' ? renderWithSpacing(element, spaceProps) : React.createElement(Space, spaceProps, element);
77
77
  }
78
78
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["React","Fragment","Space","isValidSpaceProp","removeSpaceProps","omitSpacingProps","pickSpacingProps","props","obj","key","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","space","undefined","isHeadingElement","_element$type","getSpaceVariant","_element$type2","_element$props3","check","keys","some","renderWithSpacing","spaceProps","variant","Children","toArray","map","child","_child$props","children","i","cloneElement","_objectSpread","wrapWithSpace","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React, { Fragment } from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { isValidSpaceProp, removeSpaceProps } from '../space/SpacingUtils'\nimport { End, Start } from './types'\n\nexport const omitSpacingProps = removeSpaceProps\n\n/**\n * Picks the spacing props from the given props object.\n * @template Props - The type of the props object.\n * @param {Props} props - The props object.\n * @returns {SpacingProps} - The spacing props object.\n */\nexport function pickSpacingProps<Props extends SpacingProps>(\n props: Props\n): SpacingProps {\n const obj: SpacingProps = {}\n for (const key in props as SpacingProps) {\n if (isValidSpaceProp(key) && typeof props[key] !== 'undefined') {\n obj[key] = props[key]\n }\n }\n return obj\n}\n\n/**\n * Retrieves the space value of a Flex component based on the specified type and element.\n * @param type - The type of space value to retrieve (Start or End).\n * @param element - The React element to extract the space value from.\n * @returns The space value of the element, or undefined if it cannot be determined.\n */\nexport function getSpaceValue(\n type: Start | End,\n element: React.ReactNode\n): SpaceType | undefined {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\n/**\n * Checks if the provided element is a heading element.\n * @param element - The element to check.\n * @returns `true` if the element is a heading element, `false` otherwise.\n */\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\n/**\n * Determines the spacing variant of a React node element.\n * @param element - The React node element to check.\n * @returns The spacing variant (true, false or \"children\") of the element, or undefined if it does not support spacing props.\n */\nexport function getSpaceVariant(element: React.ReactNode) {\n if (React.isValidElement(element)) {\n if (element?.type === Fragment) {\n return 'children'\n }\n\n const check = element?.type?.['_supportsSpacingProps']\n if (typeof check !== 'undefined') {\n return check\n }\n\n const keys = ['space', 'top', 'right', 'bottom', 'left']\n const props = element?.props ?? {}\n if (keys.some((key) => key in props)) {\n return true\n }\n }\n\n return undefined\n}\n\n/**\n * Renders an element with spacing props applied.\n * If the element is a component that accepts spacing props, the props are directly applied.\n * If the element is a component that has children and accepts spacing props, the props are applied to the children.\n * If the element does not accept spacing props, the element is returned as is.\n *\n * @param element - The element to render with spacing props.\n * @param spaceProps - The spacing props to apply.\n * @returns The rendered element with spacing props applied.\n */\nexport function renderWithSpacing(\n element: React.ReactNode,\n spaceProps: SpacingProps & { key?: string; className?: string }\n) {\n const variant = getSpaceVariant(element)\n\n if (variant === false) {\n return element\n }\n\n if (variant === 'children') {\n return React.Children.toArray(element).map(\n (child: React.ReactElement) => {\n const children = child?.props?.children\n\n return React.Children.toArray(children).map((element, i) => {\n return React.cloneElement(\n child,\n { key: i, ...child?.props },\n wrapWithSpace({ element, spaceProps })\n )\n })\n }\n )\n }\n\n return wrapWithSpace({ element, spaceProps, variant })\n}\n\nfunction wrapWithSpace({ element, spaceProps, variant = null }) {\n return variant ?? getSpaceVariant(element) === true ? (\n React.cloneElement(element as React.ReactElement, spaceProps)\n ) : (\n <Space {...spaceProps}>{element}</Space>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["React","Fragment","Space","isValidSpaceProp","removeSpaceProps","omitSpacingProps","pickSpacingProps","props","obj","key","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","space","undefined","isHeadingElement","_element$type","getSpaceVariant","_element$type2","_element$props3","check","keys","some","renderWithSpacing","spaceProps","variant","Children","toArray","map","child","_child$props","children","i","cloneElement","_objectSpread","wrapWithSpace","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React, { Fragment } from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { isValidSpaceProp, removeSpaceProps } from '../space/SpacingUtils'\nimport { End, Start } from './types'\n\nexport const omitSpacingProps = removeSpaceProps\n\n/**\n * Picks the spacing props from the given props object.\n * @template Props - The type of the props object.\n * @param {Props} props - The props object.\n * @returns {SpacingProps} - The spacing props object.\n */\nexport function pickSpacingProps<Props extends SpacingProps>(\n props: Props\n): SpacingProps {\n const obj: SpacingProps = {}\n for (const key in props as SpacingProps) {\n if (isValidSpaceProp(key) && typeof props[key] !== 'undefined') {\n obj[key] = props[key]\n }\n }\n return obj\n}\n\n/**\n * Retrieves the space value of a Flex component based on the specified type and element.\n * @param type - The type of space value to retrieve (Start or End).\n * @param element - The React element to extract the space value from.\n * @returns The space value of the element, or undefined if it cannot be determined.\n */\nexport function getSpaceValue(\n type: Start | End,\n element: React.ReactNode\n): SpaceType | undefined {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\n/**\n * Checks if the provided element is a heading element.\n * @param element - The element to check.\n * @returns `true` if the element is a heading element, `false` otherwise.\n */\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\n/**\n * Determines the spacing variant of a React node element.\n * @param element - The React node element to check.\n * @returns The spacing variant (true, false or \"children\") of the element, or undefined if it does not support spacing props.\n */\nexport function getSpaceVariant(element: React.ReactNode) {\n if (React.isValidElement(element)) {\n if (element?.type === Fragment) {\n return 'children'\n }\n\n const check = element?.type?.['_supportsSpacingProps']\n if (typeof check !== 'undefined') {\n return check\n }\n\n const keys = ['space', 'top', 'right', 'bottom', 'left']\n const props = element?.props ?? {}\n if (keys.some((key) => key in props)) {\n return true\n }\n }\n\n return undefined\n}\n\n/**\n * Renders an element with spacing props applied.\n * If the element is a component that accepts spacing props, the props are directly applied.\n * If the element is a component that has children and accepts spacing props, the props are applied to the children.\n * If the element does not accept spacing props, the element is returned as is.\n *\n * @param element - The element to render with spacing props.\n * @param spaceProps - The spacing props to apply.\n * @returns The rendered element with spacing props applied.\n */\nexport function renderWithSpacing(\n element: React.ReactNode,\n spaceProps: SpacingProps & { key?: string; className?: string }\n) {\n const variant = getSpaceVariant(element)\n\n if (variant === false) {\n return element\n }\n\n if (variant === 'children') {\n return React.Children.toArray(element).map(\n (child: React.ReactElement) => {\n const children = child?.props?.children\n\n return React.Children.toArray(children).map((element, i) => {\n return React.cloneElement(\n child,\n { key: i, ...child?.props },\n wrapWithSpace({ element, spaceProps })\n )\n })\n }\n )\n }\n\n return wrapWithSpace({ element, spaceProps, variant })\n}\n\nfunction wrapWithSpace({ element, spaceProps, variant = null }) {\n return variant ?? getSpaceVariant(element) === true ? (\n React.cloneElement(element as React.ReactElement, spaceProps)\n ) : getSpaceVariant(element) === 'children' ? (\n renderWithSpacing(element, spaceProps)\n ) : (\n <Space {...spaceProps}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -40,7 +40,7 @@
40
40
  margin-top: 1rem;
41
41
  }
42
42
  }
43
- @media screen and (min-width: 40em) {
43
+ @media screen and (min-width: 40.0625em) {
44
44
  .dnb-form-row--centered.dnb-form-row:not(.dnb-form-row--vertical) .dnb-form-row__content {
45
45
  align-items: center;
46
46
  }
@@ -1 +1 @@
1
- .dnb-form-row{align-items:baseline}.dnb-form-row,.dnb-form-row.dnb-section{display:flex}.dnb-form-row__content{display:inline-flex;flex:1;width:100%}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content{align-items:baseline}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content .dnb-form-label{white-space:nowrap}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content--wrap{display:block}@media screen and (max-width:40em){.dnb-form-row:not(.dnb-form-row--vertical){align-items:flex-start;flex-direction:column}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-label{margin-bottom:.5rem}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content{flex-direction:column}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content>.dnb-form-label{margin-top:1rem}}@media screen and (min-width:40em){.dnb-form-row--centered.dnb-form-row:not(.dnb-form-row--vertical) .dnb-form-row__content{align-items:center}}.dnb-form-row--vertical>.dnb-form-row__label{margin-bottom:.5rem}.dnb-form-row--vertical-label,.dnb-form-row--vertical.dnb-form-row:not(.dnb-form-row--nested),.dnb-form-row--vertical>.dnb-form-row__content{flex-direction:column}.dnb-form-row>.dnb-form-status{margin:.5rem 0}.dnb-form-row>.dnb-form-row__label--vertical{align-items:flex-start;display:flex;flex-direction:column}.dnb-form-row>.dnb-form-row__label--vertical~.dnb-form-row__content{grid-column:column1-start/column1-end}.dnb-form-row__label-dummy{margin:0}.dnb-core-style .dnb-form-row__fieldset,.dnb-form-row__fieldset{border:none;margin:0;padding:0;width:100%}
1
+ .dnb-form-row{align-items:baseline}.dnb-form-row,.dnb-form-row.dnb-section{display:flex}.dnb-form-row__content{display:inline-flex;flex:1;width:100%}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content{align-items:baseline}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content .dnb-form-label{white-space:nowrap}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content--wrap{display:block}@media screen and (max-width:40em){.dnb-form-row:not(.dnb-form-row--vertical){align-items:flex-start;flex-direction:column}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-label{margin-bottom:.5rem}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content{flex-direction:column}.dnb-form-row:not(.dnb-form-row--vertical)>.dnb-form-row__content>.dnb-form-label{margin-top:1rem}}@media screen and (min-width:40.0625em){.dnb-form-row--centered.dnb-form-row:not(.dnb-form-row--vertical) .dnb-form-row__content{align-items:center}}.dnb-form-row--vertical>.dnb-form-row__label{margin-bottom:.5rem}.dnb-form-row--vertical-label,.dnb-form-row--vertical.dnb-form-row:not(.dnb-form-row--nested),.dnb-form-row--vertical>.dnb-form-row__content{flex-direction:column}.dnb-form-row>.dnb-form-status{margin:.5rem 0}.dnb-form-row>.dnb-form-row__label--vertical{align-items:flex-start;display:flex;flex-direction:column}.dnb-form-row>.dnb-form-row__label--vertical~.dnb-form-row__content{grid-column:column1-start/column1-end}.dnb-form-row__label-dummy{margin:0}.dnb-core-style .dnb-form-row__fieldset,.dnb-form-row__fieldset{border:none;margin:0;padding:0;width:100%}