@dnb/eufemia 10.31.0 → 10.32.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 (549) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/components/anchor/Anchor.d.ts +8 -1
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/card/Card.js +3 -2
  5. package/cjs/components/card/Card.js.map +1 -1
  6. package/cjs/components/card/style/dnb-card.css +1 -2
  7. package/cjs/components/card/style/dnb-card.min.css +1 -1
  8. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  9. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  10. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  11. package/cjs/components/checkbox/style/dnb-checkbox.css +2 -2
  12. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  13. package/cjs/components/checkbox/style/dnb-checkbox.scss +2 -3
  14. package/cjs/components/flex/Container.d.ts +4 -1
  15. package/cjs/components/flex/Container.js +10 -7
  16. package/cjs/components/flex/Container.js.map +1 -1
  17. package/cjs/components/flex/Stack.js +3 -3
  18. package/cjs/components/flex/Stack.js.map +1 -1
  19. package/cjs/components/flex/utils.js +7 -7
  20. package/cjs/components/flex/utils.js.map +1 -1
  21. package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
  22. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  23. package/cjs/components/space/SpacingUtils.d.ts +1 -1
  24. package/cjs/components/space/SpacingUtils.js +1 -1
  25. package/cjs/components/space/SpacingUtils.js.map +1 -1
  26. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  27. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  28. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  29. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  30. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  31. package/cjs/components/table/style/dnb-table.css +5 -10
  32. package/cjs/components/table/style/dnb-table.min.css +1 -1
  33. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  34. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  35. package/cjs/extensions/forms/DataContext/Context.d.ts +19 -9
  36. package/cjs/extensions/forms/DataContext/Context.js +2 -2
  37. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  38. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  39. package/cjs/extensions/forms/DataContext/Provider/Provider.js +68 -32
  40. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  41. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  42. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  43. package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
  44. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  46. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  47. package/cjs/extensions/forms/Field/Number/Number.js +3 -1
  48. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  49. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  50. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  51. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  52. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  53. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  54. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  55. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  56. package/cjs/extensions/forms/Form/Element/Element.js +1 -1
  57. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  58. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  59. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  60. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  61. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
  62. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  63. package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
  64. package/cjs/extensions/forms/Form/Tools/index.js +14 -0
  65. package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
  66. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  67. package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
  68. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  69. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  70. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  71. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  72. package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
  73. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  74. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  75. package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
  76. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  77. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  78. package/cjs/extensions/forms/Form/index.js +5 -0
  79. package/cjs/extensions/forms/Form/index.js.map +1 -1
  80. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  81. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  82. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  84. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  85. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  86. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  87. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  88. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  89. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  90. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  91. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  92. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  93. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  94. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  95. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  96. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  97. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  98. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  99. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  100. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  101. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  102. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  103. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
  104. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  105. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  106. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  107. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  108. package/cjs/extensions/forms/Wizard/Step/Step.js +9 -5
  109. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  110. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  111. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  112. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  113. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  114. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  115. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  116. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  117. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  118. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  119. package/cjs/extensions/forms/hooks/useFieldProps.js +70 -31
  120. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  121. package/cjs/extensions/forms/style/dnb-forms.css +4 -5
  122. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  123. package/cjs/extensions/forms/types.d.ts +4 -0
  124. package/cjs/extensions/forms/types.js.map +1 -1
  125. package/cjs/fragments/drawer-list/DrawerListHelpers.js +5 -2
  126. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  127. package/cjs/shared/Eufemia.d.ts +1 -1
  128. package/cjs/shared/Eufemia.js +2 -2
  129. package/cjs/shared/Eufemia.js.map +1 -1
  130. package/cjs/shared/MediaQuery.js +19 -1
  131. package/cjs/shared/MediaQuery.js.map +1 -1
  132. package/cjs/shared/MediaQueryUtils.d.ts +12 -34
  133. package/cjs/shared/MediaQueryUtils.js +22 -12
  134. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  135. package/cjs/shared/component-helper.d.ts +1 -1
  136. package/cjs/shared/component-helper.js +5 -1
  137. package/cjs/shared/component-helper.js.map +1 -1
  138. package/cjs/shared/useMedia.d.ts +7 -2
  139. package/cjs/shared/useMedia.js +16 -11
  140. package/cjs/shared/useMedia.js.map +1 -1
  141. package/cjs/shared/useMediaQuery.js +30 -9
  142. package/cjs/shared/useMediaQuery.js.map +1 -1
  143. package/cjs/style/core/scopes.scss +1 -1
  144. package/cjs/style/dnb-ui-basis.css +2 -3
  145. package/cjs/style/dnb-ui-basis.min.css +1 -1
  146. package/cjs/style/dnb-ui-body.css +1 -1
  147. package/cjs/style/dnb-ui-body.min.css +1 -1
  148. package/cjs/style/dnb-ui-components.css +17 -29
  149. package/cjs/style/dnb-ui-components.min.css +3 -3
  150. package/cjs/style/dnb-ui-core.css +2 -3
  151. package/cjs/style/dnb-ui-core.min.css +1 -1
  152. package/cjs/style/dnb-ui-extensions.css +4 -5
  153. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  154. package/cjs/style/dnb-ui-forms.css +4 -5
  155. package/cjs/style/dnb-ui-forms.min.css +1 -1
  156. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
  157. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  158. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  159. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  160. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  161. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  162. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  163. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  164. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
  165. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  166. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  167. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  168. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  169. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  170. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  171. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  172. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  173. package/cjs/style/themes/theme-ui/ui-theme-components.css +26 -36
  174. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  175. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  176. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  177. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  178. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
  179. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  180. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  181. package/components/anchor/Anchor.d.ts +8 -1
  182. package/components/anchor/Anchor.js.map +1 -1
  183. package/components/card/Card.js +3 -2
  184. package/components/card/Card.js.map +1 -1
  185. package/components/card/style/dnb-card.css +1 -2
  186. package/components/card/style/dnb-card.min.css +1 -1
  187. package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  188. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  189. package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  190. package/components/checkbox/style/dnb-checkbox.css +2 -2
  191. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  192. package/components/checkbox/style/dnb-checkbox.scss +2 -3
  193. package/components/flex/Container.d.ts +4 -1
  194. package/components/flex/Container.js +10 -7
  195. package/components/flex/Container.js.map +1 -1
  196. package/components/flex/Stack.js +3 -3
  197. package/components/flex/Stack.js.map +1 -1
  198. package/components/flex/utils.js +8 -8
  199. package/components/flex/utils.js.map +1 -1
  200. package/components/skeleton/style/dnb-skeleton.css +4 -8
  201. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  202. package/components/space/SpacingUtils.d.ts +1 -1
  203. package/components/space/SpacingUtils.js +1 -1
  204. package/components/space/SpacingUtils.js.map +1 -1
  205. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  206. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  207. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  208. package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  209. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  210. package/components/table/style/dnb-table.css +5 -10
  211. package/components/table/style/dnb-table.min.css +1 -1
  212. package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  213. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  214. package/es/components/anchor/Anchor.d.ts +8 -1
  215. package/es/components/anchor/Anchor.js.map +1 -1
  216. package/es/components/card/Card.js +3 -2
  217. package/es/components/card/Card.js.map +1 -1
  218. package/es/components/card/style/dnb-card.css +1 -2
  219. package/es/components/card/style/dnb-card.min.css +1 -1
  220. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  221. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  222. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  223. package/es/components/checkbox/style/dnb-checkbox.css +2 -2
  224. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  225. package/es/components/checkbox/style/dnb-checkbox.scss +2 -3
  226. package/es/components/flex/Container.d.ts +4 -1
  227. package/es/components/flex/Container.js +10 -7
  228. package/es/components/flex/Container.js.map +1 -1
  229. package/es/components/flex/Stack.js +3 -3
  230. package/es/components/flex/Stack.js.map +1 -1
  231. package/es/components/flex/utils.js +8 -8
  232. package/es/components/flex/utils.js.map +1 -1
  233. package/es/components/skeleton/style/dnb-skeleton.css +4 -8
  234. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  235. package/es/components/space/SpacingUtils.d.ts +1 -1
  236. package/es/components/space/SpacingUtils.js +1 -1
  237. package/es/components/space/SpacingUtils.js.map +1 -1
  238. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  239. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  240. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  241. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  242. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  243. package/es/components/table/style/dnb-table.css +5 -10
  244. package/es/components/table/style/dnb-table.min.css +1 -1
  245. package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  246. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  247. package/es/extensions/forms/DataContext/Context.d.ts +19 -9
  248. package/es/extensions/forms/DataContext/Context.js +2 -2
  249. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  250. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  251. package/es/extensions/forms/DataContext/Provider/Provider.js +65 -30
  252. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  253. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  254. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  255. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
  256. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  257. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  258. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  259. package/es/extensions/forms/Field/Number/Number.js +3 -1
  260. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  261. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  262. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  263. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  264. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  265. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  266. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  267. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  268. package/es/extensions/forms/Form/Element/Element.js +1 -1
  269. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  270. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  271. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  272. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  273. package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
  274. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  275. package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
  276. package/es/extensions/forms/Form/Tools/index.js +1 -0
  277. package/es/extensions/forms/Form/Tools/index.js.map +1 -0
  278. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  279. package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
  280. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  281. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  282. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  283. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  284. package/es/extensions/forms/Form/data-context/useData.js +1 -2
  285. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  286. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  287. package/es/extensions/forms/Form/data-context/useError.js +5 -3
  288. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  289. package/es/extensions/forms/Form/index.d.ts +1 -0
  290. package/es/extensions/forms/Form/index.js +1 -0
  291. package/es/extensions/forms/Form/index.js.map +1 -1
  292. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  293. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  294. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  295. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  296. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  297. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  298. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  299. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  300. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  301. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  302. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  303. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  304. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  305. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  306. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  307. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  308. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  309. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  310. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  311. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  312. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  313. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  314. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  315. package/es/extensions/forms/Wizard/Container/WizardContainer.js +98 -32
  316. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  317. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  318. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  319. package/es/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  320. package/es/extensions/forms/Wizard/Step/Step.js +9 -5
  321. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  322. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  323. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  324. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  325. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  326. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  327. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  328. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  329. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  330. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  331. package/es/extensions/forms/hooks/useFieldProps.js +67 -28
  332. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  333. package/es/extensions/forms/style/dnb-forms.css +4 -5
  334. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  335. package/es/extensions/forms/types.d.ts +4 -0
  336. package/es/extensions/forms/types.js.map +1 -1
  337. package/es/fragments/drawer-list/DrawerListHelpers.js +5 -2
  338. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  339. package/es/shared/Eufemia.d.ts +1 -1
  340. package/es/shared/Eufemia.js +2 -2
  341. package/es/shared/Eufemia.js.map +1 -1
  342. package/es/shared/MediaQuery.js +19 -1
  343. package/es/shared/MediaQuery.js.map +1 -1
  344. package/es/shared/MediaQueryUtils.d.ts +12 -34
  345. package/es/shared/MediaQueryUtils.js +22 -17
  346. package/es/shared/MediaQueryUtils.js.map +1 -1
  347. package/es/shared/component-helper.d.ts +1 -1
  348. package/es/shared/component-helper.js +5 -2
  349. package/es/shared/component-helper.js.map +1 -1
  350. package/es/shared/useMedia.d.ts +7 -2
  351. package/es/shared/useMedia.js +14 -11
  352. package/es/shared/useMedia.js.map +1 -1
  353. package/es/shared/useMediaQuery.js +28 -9
  354. package/es/shared/useMediaQuery.js.map +1 -1
  355. package/es/style/core/scopes.scss +1 -1
  356. package/es/style/dnb-ui-basis.css +2 -3
  357. package/es/style/dnb-ui-basis.min.css +1 -1
  358. package/es/style/dnb-ui-body.css +1 -1
  359. package/es/style/dnb-ui-body.min.css +1 -1
  360. package/es/style/dnb-ui-components.css +17 -29
  361. package/es/style/dnb-ui-components.min.css +3 -3
  362. package/es/style/dnb-ui-core.css +2 -3
  363. package/es/style/dnb-ui-core.min.css +1 -1
  364. package/es/style/dnb-ui-extensions.css +4 -5
  365. package/es/style/dnb-ui-extensions.min.css +1 -1
  366. package/es/style/dnb-ui-forms.css +4 -5
  367. package/es/style/dnb-ui-forms.min.css +1 -1
  368. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
  369. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  370. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  371. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  372. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  373. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  374. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  375. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  376. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
  377. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  378. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  379. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  380. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  381. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  382. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  383. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  384. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  385. package/es/style/themes/theme-ui/ui-theme-components.css +26 -36
  386. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  387. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  388. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  389. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  390. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
  391. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  392. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  393. package/esm/dnb-ui-basis.min.mjs +1 -1
  394. package/esm/dnb-ui-components.min.mjs +1 -1
  395. package/esm/dnb-ui-elements.min.mjs +1 -1
  396. package/esm/dnb-ui-extensions.min.mjs +2 -2
  397. package/esm/dnb-ui-lib.min.mjs +1 -1
  398. package/extensions/forms/DataContext/Context.d.ts +19 -9
  399. package/extensions/forms/DataContext/Context.js +2 -2
  400. package/extensions/forms/DataContext/Context.js.map +1 -1
  401. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  402. package/extensions/forms/DataContext/Provider/Provider.js +68 -32
  403. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  404. package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  405. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  406. package/extensions/forms/Field/Boolean/Boolean.js +2 -1
  407. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  408. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  409. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  410. package/extensions/forms/Field/Number/Number.js +3 -1
  411. package/extensions/forms/Field/Number/Number.js.map +1 -1
  412. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  413. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  414. package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  415. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  416. package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  417. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  418. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  419. package/extensions/forms/Form/Element/Element.js +1 -1
  420. package/extensions/forms/Form/Element/Element.js.map +1 -1
  421. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  422. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  423. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  424. package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
  425. package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  426. package/extensions/forms/Form/Tools/index.d.ts +1 -0
  427. package/extensions/forms/Form/Tools/index.js +1 -0
  428. package/extensions/forms/Form/Tools/index.js.map +1 -0
  429. package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  430. package/extensions/forms/Form/Visibility/Visibility.js +41 -10
  431. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  432. package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  433. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  434. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  435. package/extensions/forms/Form/data-context/useData.js +2 -2
  436. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  437. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  438. package/extensions/forms/Form/data-context/useError.js +5 -3
  439. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  440. package/extensions/forms/Form/index.d.ts +1 -0
  441. package/extensions/forms/Form/index.js +2 -0
  442. package/extensions/forms/Form/index.js.map +1 -1
  443. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  444. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  445. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  446. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  447. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  448. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  449. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  450. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  451. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  452. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  453. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  454. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  455. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  456. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  457. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  458. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  459. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  460. package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  461. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  462. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  463. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  464. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  465. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  466. package/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
  467. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  468. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  469. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  470. package/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  471. package/extensions/forms/Wizard/Step/Step.js +9 -5
  472. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  473. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  474. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  475. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  476. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  477. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  478. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  479. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  480. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  481. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  482. package/extensions/forms/hooks/useFieldProps.js +70 -31
  483. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  484. package/extensions/forms/style/dnb-forms.css +4 -5
  485. package/extensions/forms/style/dnb-forms.min.css +1 -1
  486. package/extensions/forms/types.d.ts +4 -0
  487. package/extensions/forms/types.js.map +1 -1
  488. package/fragments/drawer-list/DrawerListHelpers.js +5 -2
  489. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  490. package/package.json +1 -1
  491. package/shared/Eufemia.d.ts +1 -1
  492. package/shared/Eufemia.js +2 -2
  493. package/shared/Eufemia.js.map +1 -1
  494. package/shared/MediaQuery.js +19 -1
  495. package/shared/MediaQuery.js.map +1 -1
  496. package/shared/MediaQueryUtils.d.ts +12 -34
  497. package/shared/MediaQueryUtils.js +22 -12
  498. package/shared/MediaQueryUtils.js.map +1 -1
  499. package/shared/component-helper.d.ts +1 -1
  500. package/shared/component-helper.js +5 -1
  501. package/shared/component-helper.js.map +1 -1
  502. package/shared/useMedia.d.ts +7 -2
  503. package/shared/useMedia.js +14 -11
  504. package/shared/useMedia.js.map +1 -1
  505. package/shared/useMediaQuery.js +28 -9
  506. package/shared/useMediaQuery.js.map +1 -1
  507. package/style/core/scopes.scss +1 -1
  508. package/style/dnb-ui-basis.css +2 -3
  509. package/style/dnb-ui-basis.min.css +1 -1
  510. package/style/dnb-ui-body.css +1 -1
  511. package/style/dnb-ui-body.min.css +1 -1
  512. package/style/dnb-ui-components.css +17 -29
  513. package/style/dnb-ui-components.min.css +3 -3
  514. package/style/dnb-ui-core.css +2 -3
  515. package/style/dnb-ui-core.min.css +1 -1
  516. package/style/dnb-ui-extensions.css +4 -5
  517. package/style/dnb-ui-extensions.min.css +1 -1
  518. package/style/dnb-ui-forms.css +4 -5
  519. package/style/dnb-ui-forms.min.css +1 -1
  520. package/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
  521. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  522. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  523. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  524. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  525. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  526. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  527. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  528. package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
  529. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  530. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  531. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  532. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  533. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  534. package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  535. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  536. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  537. package/style/themes/theme-ui/ui-theme-components.css +26 -36
  538. package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  539. package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  540. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  541. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  542. package/style/themes/theme-ui/ui-theme-forms.css +8 -5
  543. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  544. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  545. package/umd/dnb-ui-basis.min.js +1 -1
  546. package/umd/dnb-ui-components.min.js +1 -1
  547. package/umd/dnb-ui-elements.min.js +1 -1
  548. package/umd/dnb-ui-extensions.min.js +2 -2
  549. package/umd/dnb-ui-lib.min.js +1 -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{background-color:var(--background-color)}.dnb-card--filled.dnb-card.dnb-section{--background-color:var(--outline-color)}@media screen and (max-width:40em){.dnb-card--responsive.dnb-section:before{--outline:99vw 0 0 0 var(--background-color),198vw 0 0 0 var(--background-color),297vw 0 0 0 var(--background-color),396vw 0 0 0 var(--background-color),0 var(--outline-width) 0 0 var(--outline-color),99vw var(--outline-width) 0 0 var(--outline-color),0 calc(var(--outline-width)*-1) 0 0 var(--outline-color),99vw calc(var(--outline-width)*-1) 0 0 var(--outline-color),198vw var(--outline-width) 0 0 var(--outline-color),198vw calc(var(--outline-width)*-1) 0 0 var(--outline-color);left:var(--left)}.dnb-card+.dnb-card--responsive:not([class*=space__top]){background:linear-gradient(to left,var(--background-color),var(--background-color)) no-repeat 0 var(--outline-width)}.dnb-card+.dnb-card--responsive:not([class*=space__top]):before{top:var(--outline-width)}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive:before{top:var(--outline-width);z-index:0}}.dnb-card .dnb-flex-container:has(>.dnb-card__title+.dnb-scroll-view){align-items:stretch;flex-wrap:nowrap}.dnb-card--filled .dnb-scroll-view{-webkit-clip-path:inset(0 0 0 0 round var(--rounded-corner) var(--rounded-corner) var(--rounded-corner) var(--rounded-corner));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%}
1
+ .dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}.dnb-card__title{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding-bottom:1rem}.dnb-card:not([style*="--space-"]) .dnb-card__title{padding:1rem}.dnb-card.dnb-section{background-color:var(--background-color)}.dnb-card--filled.dnb-card.dnb-section{--background-color:var(--outline-color)}@media screen and (max-width:40em){.dnb-card--responsive.dnb-section:before{--outline:99vw 0 0 0 var(--background-color),198vw 0 0 0 var(--background-color),297vw 0 0 0 var(--background-color),396vw 0 0 0 var(--background-color),0 var(--outline-width) 0 0 var(--outline-color),99vw var(--outline-width) 0 0 var(--outline-color),0 calc(var(--outline-width)*-1) 0 0 var(--outline-color),99vw calc(var(--outline-width)*-1) 0 0 var(--outline-color),198vw var(--outline-width) 0 0 var(--outline-color),198vw calc(var(--outline-width)*-1) 0 0 var(--outline-color);left:var(--left)}.dnb-card+.dnb-card--responsive:not([class*=space__top]){background:linear-gradient(to left,var(--background-color),var(--background-color)) no-repeat 0 var(--outline-width)}.dnb-card+.dnb-card--responsive:not([class*=space__top]):before{top:var(--outline-width)}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card--responsive:before{top:var(--outline-width);z-index:0}}.dnb-card .dnb-flex-container:has(>.dnb-card__title+.dnb-scroll-view){align-items:stretch;flex-wrap:nowrap}.dnb-card--filled .dnb-scroll-view{clip-path:inset(0 0 0 0 round var(--rounded-corner) var(--rounded-corner) var(--rounded-corner) var(--rounded-corner))}.dnb-card>.dnb-flex-container>.dnb-space:has(>.dnb-scroll-view){width:100%}
@@ -0,0 +1,5 @@
1
+ .dnb-card.dnb-section {
2
+ --outline-color: var(--border-color, var(--sb-color-gray-light));
3
+ --outline-width: 0.0625rem;
4
+ --background-color: var(--sb-color-white);
5
+ }
@@ -0,0 +1 @@
1
+ .dnb-card.dnb-section{--outline-color:var(--border-color,var(--sb-color-gray-light));--outline-width:0.0625rem;--background-color:var(--sb-color-white)}
@@ -0,0 +1,7 @@
1
+ .dnb-card {
2
+ &.dnb-section {
3
+ --outline-color: var(--border-color, var(--sb-color-gray-light));
4
+ --outline-width: 0.0625rem;
5
+ --background-color: var(--sb-color-white);
6
+ }
7
+ }
@@ -197,7 +197,7 @@ html[data-whatinput=keyboard] .dnb-checkbox__focus {
197
197
  background-color: var(--checkbox-color-background-on);
198
198
  border-color: var(--checkbox-color-border-on);
199
199
  }
200
- .dnb-checkbox__input:not([disabled]):not(:checked):not([data-checked=true]) ~ .dnb-checkbox__gfx {
200
+ .dnb-checkbox__input:not(:checked):not([data-checked=true]) ~ .dnb-checkbox__gfx {
201
201
  opacity: 0;
202
202
  transform: scale(0.8);
203
203
  color: var(--checkbox-color-gfx-off);
@@ -268,7 +268,7 @@ html[data-whatinput=keyboard] .dnb-checkbox__focus {
268
268
  border-color: var(--checkbox-color-border-off--hover);
269
269
  background-color: var(--checkbox-color-background--hover);
270
270
  }
271
- .dnb-checkbox__input:not([disabled]):hover ~ .dnb-checkbox__gfx {
271
+ .dnb-checkbox__input:hover ~ .dnb-checkbox__gfx {
272
272
  color: var(--checkbox-color-gfx--hover);
273
273
  }
274
274
  .dnb-checkbox__input:not([disabled]):checked:hover ~ .dnb-checkbox__button, .dnb-checkbox__input:not([disabled])[data-checked=true]:hover ~ .dnb-checkbox__button {
@@ -1 +1 @@
1
- :root{--checkbox-width--medium:1.5rem;--checkbox-height--medium:1.5rem}.dnb-checkbox{--checkbox-border-radius:0.25rem;--checkbox-gfx-border-radius__indeterminate:0.125rem;--checkbox-width--large:2rem;--checkbox-height--large:2rem;--checkbox-gfx-height__indeterminate:0.625rem;--checkbox-gfx-width__indeterminate:0.625rem;--checkbox-gfx-height__indeterminate--large:0.875rem;--checkbox-gfx-width__indeterminate--large:0.875rem;--checkbox-border-width:0.125rem;--checkbox-border-width--hover:0.125rem;--checkbox-color-gfx-on:#000;--checkbox-color-gfx-off:#fff;--checkbox-color-background-on:#fff;--checkbox-color-background-off:#fff;--checkbox-color-border-on:#000;--checkbox-color-border-off:#000;--checkbox-color-gfx--disabled:grey;--checkbox-color-background-on--disabled:#d3d3d3;--checkbox-color-background-off--disabled:#d3d3d3;--checkbox-color-border-on--disabled:grey;--checkbox-color-border-off--disabled:grey;--checkbox-color-gfx__indeterminate--disabled:grey;--checkbox-color-background--active:#d3d3d3;--checkbox-color-border--active:transparent;--checkbox-color-gfx--hover:grey;--checkbox-color-background--hover:#fff;--checkbox-color-border-on--hover:grey;--checkbox-color-border-off--hover:grey;--checkbox-color-gfx--focus:grey;--checkbox-color-background--focus:#d3d3d3;--checkbox-color-gfx--error:#fff0f5;--checkbox-color-gfx--error-contrast:red;--checkbox-color-background-on--error:red;--checkbox-color-background--error-contrast:#fff0f5;--checkbox-color-border--error:red;--checkbox-color-gfx-indeterminate--error:red;--checkbox-color-gfx--error--hover:red;--checkbox-color-background--error--hover:#fff0f5;--checkbox-color-border--error--hover:red;--checkbox-color-background-indeterminate:grey;--checkbox-color-gfx-indeterminate:#a9a9a9;--checkbox-color-background-indeterminate--active:grey;--checkbox-color-border-indeterminate--active:#fff;--checkbox-color-gfx-indeterminate--active:#fff;--checkbox-bounding--medium:1.75,1.75;font-size:var(--font-size-small);line-height:var(--line-height-basis)}.dnb-checkbox,.dnb-checkbox__inner{display:inline-flex;flex-direction:column}.dnb-checkbox__inner{align-self:center}.dnb-checkbox__shell{align-items:center;display:flex;height:var(--checkbox-height--medium);justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:var(--checkbox-width--medium)}.dnb-checkbox--large .dnb-checkbox__shell{height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__button{border:var(--checkbox-border-width) solid transparent;display:inline-block}.dnb-checkbox__focus{display:none;outline:none}html[data-whatinput=keyboard] .dnb-checkbox__focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-checkbox__button,.dnb-checkbox__focus{border-radius:var(--checkbox-border-radius);height:calc(var(--checkbox-height--medium) - .25rem);position:relative;width:calc(var(--checkbox-width--medium) - .25rem);z-index:4}.dnb-checkbox--large .dnb-checkbox__button,.dnb-checkbox--large .dnb-checkbox__focus{border-radius:var(--checkbox-border-radius);height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__gfx{shape-rendering:geometricprecision;height:calc(var(--checkbox-height--medium) - .5rem);left:auto;position:absolute;top:auto;transition:opacity .2s ease-out,transform .2s ease-out;width:calc(var(--checkbox-width--medium) - .5rem);z-index:5}.dnb-checkbox--large{line-height:var(--checkbox-height--large)}.dnb-checkbox--large .dnb-checkbox__gfx{height:calc(var(--checkbox-height--large) - .5rem);width:calc(var(--checkbox-width--large) - .5rem)}.dnb-checkbox__input{border:0;height:var(--checkbox-height--medium);left:auto;margin:0;opacity:0;padding:0;position:absolute;top:auto;transform:scale(var(--checkbox-bounding--medium));width:var(--checkbox-width--medium);z-index:6}.dnb-checkbox--large .dnb-checkbox__input{height:var(--checkbox-height--large);transform:scale(1);width:var(--checkbox-width--large)}.dnb-checkbox__input:not([disabled]){cursor:pointer}.dnb-checkbox .dnb-form-label{margin-bottom:0;margin-left:0;margin-right:0}.dnb-checkbox__order{align-items:baseline;display:inline-flex}.dnb-checkbox__suffix{order:4}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-checkbox__inner{order:2}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-label{order:1;padding-right:.5rem}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-status{margin-top:.5rem;order:3}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-checkbox__inner{order:1}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-form-label{order:2;padding-left:.5rem}.dnb-checkbox--label-position-right .dnb-checkbox__order+.dnb-form-status{margin-top:.5rem;order:3;vertical-align:top}.dnb-checkbox__input:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on);opacity:1;transform:scale(1)}.dnb-checkbox__input:checked~.dnb-checkbox__button,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on);border-color:var(--checkbox-color-border-on)}.dnb-checkbox__input:not([disabled]):not(:checked):not([data-checked=true])~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-off);opacity:0;transform:scale(.8)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off);border-color:var(--checkbox-color-border-off);transition:background-color .1s ease-out}.dnb-checkbox__input~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate);border-radius:var(--checkbox-gfx-border-radius__indeterminate);height:var(--checkbox-gfx-height__indeterminate);opacity:0;position:absolute;transform:scale(.85);transition:opacity .2s ease-out,transform .2s ease-out;width:var(--checkbox-gfx-width__indeterminate);z-index:5}.dnb-checkbox__input:indeterminate~.dnb-checkbox__indeterminate{opacity:1;transform:scale(1)}.dnb-checkbox__input:indeterminate:checked~.dnb-checkbox__button{background-color:transparent;border-color:var(--checkbox-color-border-off)}.dnb-checkbox__input:indeterminate:checked:hover~.dnb-checkbox__gfx,.dnb-checkbox__input:indeterminate:checked~.dnb-checkbox__gfx,.dnb-checkbox__input:indeterminate:hover~.dnb-checkbox__gfx{color:transparent}.dnb-checkbox--large .dnb-checkbox__input:indeterminate~.dnb-checkbox__indeterminate{height:var(--checkbox-gfx-height__indeterminate--large);width:var(--checkbox-gfx-width__indeterminate--large)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__button,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--disabled);border-color:var(--checkbox-color-border-on--disabled)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--disabled)}.dnb-checkbox__input[disabled]:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off--disabled);border-color:var(--checkbox-color-border-off--disabled)}.dnb-checkbox__input[disabled]:indeterminate~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx__indeterminate--disabled)}.dnb-checkbox__input[disabled]:indeterminate~.dnb-checkbox__gfx{color:transparent}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button{background-color:var(--checkbox-color-background--active);border-color:var(--checkbox-color-border--active)}.dnb-checkbox__input:not([disabled]):checked:active~.dnb-checkbox__gfx,.dnb-checkbox__input:not([disabled])[data-checked=true]:active~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on)}.dnb-checkbox__input:not([disabled]):indeterminate:active~.dnb-checkbox__button{background-color:var(--checkbox-color-background-indeterminate--active);border-color:var(--checkbox-color-border-indeterminate--active)}.dnb-checkbox__input:not([disabled]):indeterminate:active~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--active)}.dnb-checkbox__input:not([disabled]):not(:active):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--hover);border-color:var(--checkbox-color-border-off--hover)}.dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--hover)}.dnb-checkbox__input:not([disabled]):checked:hover~.dnb-checkbox__button,.dnb-checkbox__input:not([disabled])[data-checked=true]:hover~.dnb-checkbox__button{border:var(--checkbox-border-width--hover) solid var(--checkbox-color-border-on--hover)}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__button{background-color:var(--checkbox-color-background--focus);border:none}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__button .dnb-checkbox__focus{display:block}.dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button{border:none}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus{--border-color:var(--checkbox-color-border--error);--border-width:var(--checkbox-border-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);display:block}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button[data-checked=true]{border-color:var(--checkbox-color-border--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__button{--border-color:var(--checkbox-color-border--error);--border-width:calc(var(--checkbox-border-width--hover));background-color:var(--checkbox-color-background--error-contrast);border:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover):checked~.dnb-checkbox__button,.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--error)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{background-color:var(--checkbox-color-gfx--error-contrast);border-radius:var(--checkbox-border-radius);color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not(:active):not(:hover)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--error)}.dnb-checkbox__status--error .dnb-checkbox__input:not(:indeterminate)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--error)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:hover:not(:active)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button{border-color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button:before{border-radius:0}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__gfx{color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__indeterminate{background-color:var(--skeleton-color)}
1
+ :root{--checkbox-width--medium:1.5rem;--checkbox-height--medium:1.5rem}.dnb-checkbox{--checkbox-border-radius:0.25rem;--checkbox-gfx-border-radius__indeterminate:0.125rem;--checkbox-width--large:2rem;--checkbox-height--large:2rem;--checkbox-gfx-height__indeterminate:0.625rem;--checkbox-gfx-width__indeterminate:0.625rem;--checkbox-gfx-height__indeterminate--large:0.875rem;--checkbox-gfx-width__indeterminate--large:0.875rem;--checkbox-border-width:0.125rem;--checkbox-border-width--hover:0.125rem;--checkbox-color-gfx-on:#000;--checkbox-color-gfx-off:#fff;--checkbox-color-background-on:#fff;--checkbox-color-background-off:#fff;--checkbox-color-border-on:#000;--checkbox-color-border-off:#000;--checkbox-color-gfx--disabled:grey;--checkbox-color-background-on--disabled:#d3d3d3;--checkbox-color-background-off--disabled:#d3d3d3;--checkbox-color-border-on--disabled:grey;--checkbox-color-border-off--disabled:grey;--checkbox-color-gfx__indeterminate--disabled:grey;--checkbox-color-background--active:#d3d3d3;--checkbox-color-border--active:transparent;--checkbox-color-gfx--hover:grey;--checkbox-color-background--hover:#fff;--checkbox-color-border-on--hover:grey;--checkbox-color-border-off--hover:grey;--checkbox-color-gfx--focus:grey;--checkbox-color-background--focus:#d3d3d3;--checkbox-color-gfx--error:#fff0f5;--checkbox-color-gfx--error-contrast:red;--checkbox-color-background-on--error:red;--checkbox-color-background--error-contrast:#fff0f5;--checkbox-color-border--error:red;--checkbox-color-gfx-indeterminate--error:red;--checkbox-color-gfx--error--hover:red;--checkbox-color-background--error--hover:#fff0f5;--checkbox-color-border--error--hover:red;--checkbox-color-background-indeterminate:grey;--checkbox-color-gfx-indeterminate:#a9a9a9;--checkbox-color-background-indeterminate--active:grey;--checkbox-color-border-indeterminate--active:#fff;--checkbox-color-gfx-indeterminate--active:#fff;--checkbox-bounding--medium:1.75,1.75;font-size:var(--font-size-small);line-height:var(--line-height-basis)}.dnb-checkbox,.dnb-checkbox__inner{display:inline-flex;flex-direction:column}.dnb-checkbox__inner{align-self:center}.dnb-checkbox__shell{align-items:center;display:flex;height:var(--checkbox-height--medium);justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:var(--checkbox-width--medium)}.dnb-checkbox--large .dnb-checkbox__shell{height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__button{border:var(--checkbox-border-width) solid transparent;display:inline-block}.dnb-checkbox__focus{display:none;outline:none}html[data-whatinput=keyboard] .dnb-checkbox__focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-checkbox__button,.dnb-checkbox__focus{border-radius:var(--checkbox-border-radius);height:calc(var(--checkbox-height--medium) - .25rem);position:relative;width:calc(var(--checkbox-width--medium) - .25rem);z-index:4}.dnb-checkbox--large .dnb-checkbox__button,.dnb-checkbox--large .dnb-checkbox__focus{border-radius:var(--checkbox-border-radius);height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__gfx{shape-rendering:geometricprecision;height:calc(var(--checkbox-height--medium) - .5rem);left:auto;position:absolute;top:auto;transition:opacity .2s ease-out,transform .2s ease-out;width:calc(var(--checkbox-width--medium) - .5rem);z-index:5}.dnb-checkbox--large{line-height:var(--checkbox-height--large)}.dnb-checkbox--large .dnb-checkbox__gfx{height:calc(var(--checkbox-height--large) - .5rem);width:calc(var(--checkbox-width--large) - .5rem)}.dnb-checkbox__input{border:0;height:var(--checkbox-height--medium);left:auto;margin:0;opacity:0;padding:0;position:absolute;top:auto;transform:scale(var(--checkbox-bounding--medium));width:var(--checkbox-width--medium);z-index:6}.dnb-checkbox--large .dnb-checkbox__input{height:var(--checkbox-height--large);transform:scale(1);width:var(--checkbox-width--large)}.dnb-checkbox__input:not([disabled]){cursor:pointer}.dnb-checkbox .dnb-form-label{margin-bottom:0;margin-left:0;margin-right:0}.dnb-checkbox__order{align-items:baseline;display:inline-flex}.dnb-checkbox__suffix{order:4}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-checkbox__inner{order:2}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-label{order:1;padding-right:.5rem}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-status{margin-top:.5rem;order:3}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-checkbox__inner{order:1}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-form-label{order:2;padding-left:.5rem}.dnb-checkbox--label-position-right .dnb-checkbox__order+.dnb-form-status{margin-top:.5rem;order:3;vertical-align:top}.dnb-checkbox__input:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on);opacity:1;transform:scale(1)}.dnb-checkbox__input:checked~.dnb-checkbox__button,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on);border-color:var(--checkbox-color-border-on)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-off);opacity:0;transform:scale(.8)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off);border-color:var(--checkbox-color-border-off);transition:background-color .1s ease-out}.dnb-checkbox__input~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate);border-radius:var(--checkbox-gfx-border-radius__indeterminate);height:var(--checkbox-gfx-height__indeterminate);opacity:0;position:absolute;transform:scale(.85);transition:opacity .2s ease-out,transform .2s ease-out;width:var(--checkbox-gfx-width__indeterminate);z-index:5}.dnb-checkbox__input:indeterminate~.dnb-checkbox__indeterminate{opacity:1;transform:scale(1)}.dnb-checkbox__input:indeterminate:checked~.dnb-checkbox__button{background-color:transparent;border-color:var(--checkbox-color-border-off)}.dnb-checkbox__input:indeterminate:checked:hover~.dnb-checkbox__gfx,.dnb-checkbox__input:indeterminate:checked~.dnb-checkbox__gfx,.dnb-checkbox__input:indeterminate:hover~.dnb-checkbox__gfx{color:transparent}.dnb-checkbox--large .dnb-checkbox__input:indeterminate~.dnb-checkbox__indeterminate{height:var(--checkbox-gfx-height__indeterminate--large);width:var(--checkbox-gfx-width__indeterminate--large)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__button,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--disabled);border-color:var(--checkbox-color-border-on--disabled)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--disabled)}.dnb-checkbox__input[disabled]:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off--disabled);border-color:var(--checkbox-color-border-off--disabled)}.dnb-checkbox__input[disabled]:indeterminate~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx__indeterminate--disabled)}.dnb-checkbox__input[disabled]:indeterminate~.dnb-checkbox__gfx{color:transparent}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button{background-color:var(--checkbox-color-background--active);border-color:var(--checkbox-color-border--active)}.dnb-checkbox__input:not([disabled]):checked:active~.dnb-checkbox__gfx,.dnb-checkbox__input:not([disabled])[data-checked=true]:active~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on)}.dnb-checkbox__input:not([disabled]):indeterminate:active~.dnb-checkbox__button{background-color:var(--checkbox-color-background-indeterminate--active);border-color:var(--checkbox-color-border-indeterminate--active)}.dnb-checkbox__input:not([disabled]):indeterminate:active~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--active)}.dnb-checkbox__input:not([disabled]):not(:active):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--hover);border-color:var(--checkbox-color-border-off--hover)}.dnb-checkbox__input:hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--hover)}.dnb-checkbox__input:not([disabled]):checked:hover~.dnb-checkbox__button,.dnb-checkbox__input:not([disabled])[data-checked=true]:hover~.dnb-checkbox__button{border:var(--checkbox-border-width--hover) solid var(--checkbox-color-border-on--hover)}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__button{background-color:var(--checkbox-color-background--focus);border:none}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__button .dnb-checkbox__focus{display:block}.dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button{border:none}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus{--border-color:var(--checkbox-color-border--error);--border-width:var(--checkbox-border-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);display:block}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button[data-checked=true]{border-color:var(--checkbox-color-border--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__button{--border-color:var(--checkbox-color-border--error);--border-width:calc(var(--checkbox-border-width--hover));background-color:var(--checkbox-color-background--error-contrast);border:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover):checked~.dnb-checkbox__button,.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--error)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{background-color:var(--checkbox-color-gfx--error-contrast);border-radius:var(--checkbox-border-radius);color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not(:active):not(:hover)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--error)}.dnb-checkbox__status--error .dnb-checkbox__input:not(:indeterminate)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--error)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:hover:not(:active)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button{border-color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button:before{border-radius:0}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__gfx{color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__indeterminate{background-color:var(--skeleton-color)}
@@ -260,8 +260,7 @@
260
260
  }
261
261
 
262
262
  // Off
263
- &__input:not([disabled]):not(:checked):not([data-checked='true'])
264
- ~ &__gfx {
263
+ &__input:not(:checked):not([data-checked='true']) ~ &__gfx {
265
264
  opacity: 0;
266
265
  transform: scale(0.8);
267
266
  // Needed during transition
@@ -378,7 +377,7 @@
378
377
  background-color: var(--checkbox-color-background--hover);
379
378
  }
380
379
 
381
- &__input:not([disabled]):hover ~ &__gfx {
380
+ &__input:hover ~ &__gfx {
382
381
  color: var(--checkbox-color-gfx--hover);
383
382
  }
384
383
 
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { SpaceProps } from '../space/Space';
3
3
  import type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils';
4
4
  import type { UseMediaQueries } from '../../shared/useMedia';
5
+ type Gap = false | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';
5
6
  export type BasicProps = {
6
7
  direction?: 'horizontal' | 'vertical';
7
8
  wrap?: boolean;
@@ -14,7 +15,9 @@ export type BasicProps = {
14
15
  /** When "line-framed" is used, a line will be shown between items and above the first and below the last item */
15
16
  divider?: 'space' | 'line' | 'line-framed';
16
17
  /** Spacing between items inside */
17
- spacing?: false | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';
18
+ gap?: Gap;
19
+ /** @deprecated Use `gap` instead */
20
+ spacing?: Gap;
18
21
  breakpoints?: MediaQueryBreakpoints;
19
22
  queries?: UseMediaQueries;
20
23
  };
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
- const _excluded = ["className", "style", "children", "element", "direction", "wrap", "sizeCount", "rowGap", "justify", "align", "alignSelf", "divider", "spacing", "breakpoints", "queries"];
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
9
  import React, { useCallback } from 'react';
@@ -12,11 +12,12 @@ import Space from '../space/Space';
12
12
  import { Hr } from '../../elements';
13
13
  import useMedia from '../../shared/useMedia';
14
14
  import { getSpaceValue, isHeadingElement, renderWithSpacing } from './utils';
15
- const propNames = ['direction', 'wrap', 'justify', 'align', 'divider', 'spacing'];
15
+ const propNames = ['direction', 'wrap', 'justify', 'align', 'divider', 'spacing', 'gap'];
16
16
  export function pickFlexContainerProps(props, defaults = {}, skip = []) {
17
17
  return _objectSpread(_objectSpread({}, defaults), Object.fromEntries(Object.entries(props !== null && props !== void 0 ? props : {}).filter(([key]) => propNames.includes(key) && !skip.includes(key))));
18
18
  }
19
19
  function FlexContainer(props) {
20
+ var _ref;
20
21
  const {
21
22
  className,
22
23
  style,
@@ -30,11 +31,13 @@ function FlexContainer(props) {
30
31
  align = 'flex-start',
31
32
  alignSelf,
32
33
  divider = 'space',
33
- spacing = 'small',
34
+ gap,
35
+ spacing: spacingProp,
34
36
  breakpoints,
35
37
  queries
36
38
  } = props,
37
39
  rest = _objectWithoutProperties(props, _excluded);
40
+ const spacing = (_ref = spacingProp !== null && spacingProp !== void 0 ? spacingProp : gap) !== null && _ref !== void 0 ? _ref : 'small';
38
41
  const childrenArray = wrapChildren(props, children);
39
42
  const hasHeading = childrenArray.some((child, i) => {
40
43
  const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
@@ -62,9 +65,9 @@ function FlexContainer(props) {
62
65
  const endSpacing = 0;
63
66
  let startSpacing = null;
64
67
  if (!isHeading && (divider === 'line' && !isFirst || divider === 'line-framed')) {
65
- var _getSpaceValue, _getSpaceValue2;
68
+ var _getSpaceValue, _ref2, _getSpaceValue2;
66
69
  const spaceAboveLine = (_getSpaceValue = getSpaceValue(end, previousChild)) !== null && _getSpaceValue !== void 0 ? _getSpaceValue : spacing;
67
- startSpacing = (_getSpaceValue2 = getSpaceValue(start, child)) !== null && _getSpaceValue2 !== void 0 ? _getSpaceValue2 : spacing;
70
+ startSpacing = (_ref2 = (_getSpaceValue2 = getSpaceValue(start, child)) !== null && _getSpaceValue2 !== void 0 ? _getSpaceValue2 : gap) !== null && _ref2 !== void 0 ? _ref2 : spacing;
68
71
  return React.createElement(React.Fragment, {
69
72
  key: `element-${i}`
70
73
  }, React.createElement(Hr, {
@@ -85,8 +88,8 @@ function FlexContainer(props) {
85
88
  if (isFirst && direction !== 'horizontal') {
86
89
  startSpacing = 0;
87
90
  } else {
88
- var _ref, _getSpaceValue3;
89
- startSpacing = (_ref = (_getSpaceValue3 = getSpaceValue(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : getSpaceValue(end, previousChild)) !== null && _ref !== void 0 ? _ref : spacing;
91
+ var _ref3, _ref4, _getSpaceValue3;
92
+ startSpacing = (_ref3 = (_ref4 = (_getSpaceValue3 = getSpaceValue(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : getSpaceValue(end, previousChild)) !== null && _ref4 !== void 0 ? _ref4 : gap) !== null && _ref3 !== void 0 ? _ref3 : spacing;
90
93
  }
91
94
  if (React.isValidElement(previousChild) && (previousChild === null || previousChild === void 0 ? void 0 : (_previousChild$type = previousChild.type) === null || _previousChild$type === void 0 ? void 0 : _previousChild$type['_supportsSpacingProps']) === false) {
92
95
  startSpacing = 0;
@@ -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","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","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","_ref","_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\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 spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\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]\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 spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\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","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","_ref2","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref3","_ref4","_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) ??\n gap ??\n 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 gap ??\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,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- const _excluded = ["className", "direction", "alignSelf", "align", "spacing", "children"];
3
+ const _excluded = ["className", "direction", "alignSelf", "align", "gap", "children"];
4
4
  import React from 'react';
5
5
  import classnames from 'classnames';
6
6
  import Container from './Container';
@@ -10,7 +10,7 @@ function Stack(props) {
10
10
  direction = 'vertical',
11
11
  alignSelf = 'stretch',
12
12
  align = 'stretch',
13
- spacing = props.divider !== 'line' && props.divider !== 'line-framed' ? 'medium' : 'small',
13
+ gap = props.divider !== 'line' && props.divider !== 'line-framed' ? 'medium' : 'small',
14
14
  children
15
15
  } = props,
16
16
  rest = _objectWithoutProperties(props, _excluded);
@@ -20,7 +20,7 @@ function Stack(props) {
20
20
  direction: direction,
21
21
  alignSelf: alignSelf,
22
22
  align: align,
23
- spacing: spacing
23
+ gap: gap
24
24
  }, rest), children);
25
25
  }
26
26
  Stack._supportsSpacingProps = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","names":["React","classnames","Container","Stack","props","className","direction","alignSelf","align","spacing","divider","children","rest","_objectWithoutProperties","_excluded","createElement","_extends","element","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Stack.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Container from './Container'\nimport type { Props as FlexContainerProps } from './Container'\n\nexport type Props = FlexContainerProps\n\nfunction Stack(props: Props) {\n const {\n className,\n direction = 'vertical',\n alignSelf = 'stretch',\n align = 'stretch',\n spacing = props.divider !== 'line' && props.divider !== 'line-framed'\n ? 'medium'\n : 'small',\n children,\n ...rest\n } = props\n\n return (\n <Container\n element=\"section\"\n className={classnames('dnb-flex-stack', className)}\n direction={direction}\n alignSelf={alignSelf}\n align={align}\n spacing={spacing}\n {...rest}\n >\n {children}\n </Container>\n )\n}\n\nStack._supportsSpacingProps = true\n\nexport default Stack\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,aAAa;AAKnC,SAASC,KAAKA,CAACC,KAAY,EAAE;EAC3B,MAAM;MACJC,SAAS;MACTC,SAAS,GAAG,UAAU;MACtBC,SAAS,GAAG,SAAS;MACrBC,KAAK,GAAG,SAAS;MACjBC,OAAO,GAAGL,KAAK,CAACM,OAAO,KAAK,MAAM,IAAIN,KAAK,CAACM,OAAO,KAAK,aAAa,GACjE,QAAQ,GACR,OAAO;MACXC;IAEF,CAAC,GAAGP,KAAK;IADJQ,IAAI,GAAAC,wBAAA,CACLT,KAAK,EAAAU,SAAA;EAET,OACEd,KAAA,CAAAe,aAAA,CAACb,SAAS,EAAAc,QAAA;IACRC,OAAO,EAAC,SAAS;IACjBZ,SAAS,EAAEJ,UAAU,CAAC,gBAAgB,EAAEI,SAAS,CAAE;IACnDC,SAAS,EAAEA,SAAU;IACrBC,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbC,OAAO,EAAEA;EAAQ,GACbG,IAAI,GAEPD,QACQ,CAAC;AAEhB;AAEAR,KAAK,CAACe,qBAAqB,GAAG,IAAI;AAElC,eAAef,KAAK"}
1
+ {"version":3,"file":"Stack.js","names":["React","classnames","Container","Stack","props","className","direction","alignSelf","align","gap","divider","children","rest","_objectWithoutProperties","_excluded","createElement","_extends","element","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Stack.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Container from './Container'\nimport type { Props as FlexContainerProps } from './Container'\n\nexport type Props = FlexContainerProps\n\nfunction Stack(props: Props) {\n const {\n className,\n direction = 'vertical',\n alignSelf = 'stretch',\n align = 'stretch',\n gap = props.divider !== 'line' && props.divider !== 'line-framed'\n ? 'medium'\n : 'small',\n children,\n ...rest\n } = props\n\n return (\n <Container\n element=\"section\"\n className={classnames('dnb-flex-stack', className)}\n direction={direction}\n alignSelf={alignSelf}\n align={align}\n gap={gap}\n {...rest}\n >\n {children}\n </Container>\n )\n}\n\nStack._supportsSpacingProps = true\n\nexport default Stack\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,aAAa;AAKnC,SAASC,KAAKA,CAACC,KAAY,EAAE;EAC3B,MAAM;MACJC,SAAS;MACTC,SAAS,GAAG,UAAU;MACtBC,SAAS,GAAG,SAAS;MACrBC,KAAK,GAAG,SAAS;MACjBC,GAAG,GAAGL,KAAK,CAACM,OAAO,KAAK,MAAM,IAAIN,KAAK,CAACM,OAAO,KAAK,aAAa,GAC7D,QAAQ,GACR,OAAO;MACXC;IAEF,CAAC,GAAGP,KAAK;IADJQ,IAAI,GAAAC,wBAAA,CACLT,KAAK,EAAAU,SAAA;EAET,OACEd,KAAA,CAAAe,aAAA,CAACb,SAAS,EAAAc,QAAA;IACRC,OAAO,EAAC,SAAS;IACjBZ,SAAS,EAAEJ,UAAU,CAAC,gBAAgB,EAAEI,SAAS,CAAE;IACnDC,SAAS,EAAEA,SAAU;IACrBC,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbC,GAAG,EAAEA;EAAI,GACLG,IAAI,GAEPD,QACQ,CAAC;AAEhB;AAEAR,KAAK,CAACe,qBAAqB,GAAG,IAAI;AAElC,eAAef,KAAK"}
@@ -3,16 +3,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
3
3
  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; }
4
4
  import React, { Fragment } from 'react';
5
5
  import Space from '../space/Space';
6
- import { removeSpaceProps } from '../space/SpacingUtils';
6
+ import { isValidSpaceProp, removeSpaceProps } from '../space/SpacingUtils';
7
7
  export const omitSpacingProps = removeSpaceProps;
8
8
  export function pickSpacingProps(props) {
9
- return {
10
- space: props === null || props === void 0 ? void 0 : props.space,
11
- top: props === null || props === void 0 ? void 0 : props.top,
12
- bottom: props === null || props === void 0 ? void 0 : props.bottom,
13
- left: props === null || props === void 0 ? void 0 : props.left,
14
- right: props === null || props === void 0 ? void 0 : props.right
15
- };
9
+ const obj = {};
10
+ for (const key in props) {
11
+ if (isValidSpaceProp(key) && typeof props[key] !== 'undefined') {
12
+ obj[key] = props[key];
13
+ }
14
+ }
15
+ return obj;
16
16
  }
17
17
  export function getSpaceValue(type, element) {
18
18
  var _element$props$type, _element$props, _element$props2;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["React","Fragment","Space","removeSpaceProps","omitSpacingProps","pickSpacingProps","props","space","top","bottom","left","right","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","getSpaceVariant","_element$type2","_element$props3","check","keys","some","key","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 { 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 return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\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 ) : (\n <Space {...spaceProps}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -54,8 +54,7 @@
54
54
  background-image: repeating-linear-gradient(-45deg, var(--skeleton-color--contrast) 1px 2px, transparent 0 6px) !important;
55
55
  background-repeat: repeat !important;
56
56
  background-size: 100% !important;
57
- -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
58
- clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
57
+ clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
59
58
  animation: skeletonLinearAnimation 1.5s linear infinite var(--skeleton-delay);
60
59
  }
61
60
  .dnb-skeleton--code pre,
@@ -118,16 +117,13 @@ html[data-visual-test] .dnb-skeleton--font, html[data-visual-test] .dnb-skeleton
118
117
 
119
118
  @keyframes skeletonLinearAnimation {
120
119
  0% {
121
- -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
122
- clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
120
+ clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
123
121
  }
124
122
  50% {
125
- -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
126
- clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
123
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
127
124
  }
128
125
  100% {
129
- -webkit-clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
130
- clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
126
+ clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
131
127
  }
132
128
  }
133
129
  @keyframes skeletonFontAnimation {
@@ -1 +1 @@
1
- .dnb-skeleton{--skeleton-delay:5s}.dnb-skeleton img,.dnb-skeleton video{filter:brightness(0) contrast(0) opacity(.5)}.dnb-skeleton--block{display:block}.dnb-skeleton--overflow{overflow:hidden}.dnb-skeleton--grey{filter:grayscale(100%)}.dnb-skeleton--shape{background:transparent;box-shadow:none!important;color:transparent;overflow-x:hidden;pointer-events:none;position:relative}.dnb-skeleton--shape.dnb-skeleton:after,.dnb-skeleton--shape.dnb-skeleton:before{background:none!important;border-radius:inherit;bottom:0!important;box-shadow:none!important;content:""!important;height:auto!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:100!important}.dnb-skeleton--shape.dnb-skeleton:before{background-color:var(--skeleton-color)!important}.dnb-skeleton--shape.dnb-skeleton:after{animation:skeletonLinearAnimation 1.5s linear infinite var(--skeleton-delay);background-image:repeating-linear-gradient(-45deg,var(--skeleton-color--contrast) 1px 2px,transparent 0 6px)!important;background-repeat:repeat!important;background-size:100%!important;-webkit-clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}.dnb-skeleton--code code,.dnb-skeleton--code code *,.dnb-skeleton--code pre,.dnb-skeleton--code pre *,.dnb-skeleton--font code,.dnb-skeleton--font code *,.dnb-skeleton--font pre,.dnb-skeleton--font pre *{--font-family-monospace:"DNBMonoSkeleton"!important;box-shadow:none!important;font-family:var(--font-family-monospace)!important;font-style:unset!important}.dnb-skeleton--font,.dnb-skeleton--font .dnb-p,.dnb-skeleton--font .dnb-skeleton--show-font,.dnb-skeleton--font-only{--font-family-default:"DNBSkeleton"!important;font-family:var(--font-family-default)!important;font-style:unset!important;pointer-events:none}.dnb-skeleton--font .dnb-p::marker,.dnb-skeleton--font .dnb-skeleton--show-font::marker,.dnb-skeleton--font-only::marker,.dnb-skeleton--font::marker{color:var(--skeleton-color)}.dnb-skeleton--font,.dnb-skeleton--font .dnb-p,.dnb-skeleton--font .dnb-skeleton--show-font{-webkit-text-fill-color:transparent!important;--border-color:var(--skeleton-color);animation:skeletonFontAnimation 5s linear infinite var(--skeleton-delay);-webkit-background-clip:text!important;background-clip:text!important;background-color:var(--skeleton-color)!important;background-image:repeating-linear-gradient(-45deg,var(--skeleton-color--contrast) 1px 2px,transparent 0 6px)!important;background-position-x:30rem;background-position-y:50%!important;background-repeat:no-repeat!important;background-size:30rem 100%!important}html[data-visual-test] .dnb-skeleton--font,html[data-visual-test] .dnb-skeleton--font .dnb-p,html[data-visual-test] .dnb-skeleton--font .dnb-skeleton--show-font{animation:none!important}.dnb-skeleton__figure{border-radius:.25rem;position:relative}.dnb-skeleton__figure--circle{border-radius:50%;height:4rem;width:4rem}.dnb-skeleton__figure--product{align-items:center;display:flex}.dnb-skeleton__figure--product .dnb-skeleton__figure--circle+div{margin-left:1rem;width:50%}.dnb-skeleton--no-animation * .dnb-skeleton:after,.dnb-skeleton--no-animation .dnb-skeleton,.dnb-skeleton--no-animation .dnb-skeleton:after{animation:none!important}@keyframes skeletonLinearAnimation{0%{-webkit-clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}50%{-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{-webkit-clip-path:polygon(0 0,0 0,0 100%,0 100%);clip-path:polygon(0 0,0 0,0 100%,0 100%)}}@keyframes skeletonFontAnimation{0%{background-position-x:30rem}to{background-position-x:-30rem}}@font-face{font-display:fallback;font-family:DNBSkeleton;font-style:normal;font-weight:400;src:url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Regular.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Regular.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Regular.ttf) format("truetype")}@font-face{font-display:fallback;font-family:DNBSkeleton;font-style:normal;font-weight:500;src:url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Medium.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Medium.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Medium.ttf) format("truetype")}@font-face{font-display:fallback;font-family:DNBSkeleton;font-style:normal;font-weight:600;src:url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Bold.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Bold.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Bold.ttf) format("truetype")}@font-face{font-display:fallback;font-family:DNBMonoSkeleton;font-style:normal;font-weight:400;src:url(../../assets/fonts/dnb/skeleton/DNBMono-Skeleton-Regular.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNBMono-Skeleton-Regular.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNBMono-Skeleton-Regular.ttf) format("truetype")}
1
+ .dnb-skeleton{--skeleton-delay:5s}.dnb-skeleton img,.dnb-skeleton video{filter:brightness(0) contrast(0) opacity(.5)}.dnb-skeleton--block{display:block}.dnb-skeleton--overflow{overflow:hidden}.dnb-skeleton--grey{filter:grayscale(100%)}.dnb-skeleton--shape{background:transparent;box-shadow:none!important;color:transparent;overflow-x:hidden;pointer-events:none;position:relative}.dnb-skeleton--shape.dnb-skeleton:after,.dnb-skeleton--shape.dnb-skeleton:before{background:none!important;border-radius:inherit;bottom:0!important;box-shadow:none!important;content:""!important;height:auto!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;right:0!important;top:0!important;width:100%!important;z-index:100!important}.dnb-skeleton--shape.dnb-skeleton:before{background-color:var(--skeleton-color)!important}.dnb-skeleton--shape.dnb-skeleton:after{animation:skeletonLinearAnimation 1.5s linear infinite var(--skeleton-delay);background-image:repeating-linear-gradient(-45deg,var(--skeleton-color--contrast) 1px 2px,transparent 0 6px)!important;background-repeat:repeat!important;background-size:100%!important;clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}.dnb-skeleton--code code,.dnb-skeleton--code code *,.dnb-skeleton--code pre,.dnb-skeleton--code pre *,.dnb-skeleton--font code,.dnb-skeleton--font code *,.dnb-skeleton--font pre,.dnb-skeleton--font pre *{--font-family-monospace:"DNBMonoSkeleton"!important;box-shadow:none!important;font-family:var(--font-family-monospace)!important;font-style:unset!important}.dnb-skeleton--font,.dnb-skeleton--font .dnb-p,.dnb-skeleton--font .dnb-skeleton--show-font,.dnb-skeleton--font-only{--font-family-default:"DNBSkeleton"!important;font-family:var(--font-family-default)!important;font-style:unset!important;pointer-events:none}.dnb-skeleton--font .dnb-p::marker,.dnb-skeleton--font .dnb-skeleton--show-font::marker,.dnb-skeleton--font-only::marker,.dnb-skeleton--font::marker{color:var(--skeleton-color)}.dnb-skeleton--font,.dnb-skeleton--font .dnb-p,.dnb-skeleton--font .dnb-skeleton--show-font{-webkit-text-fill-color:transparent!important;--border-color:var(--skeleton-color);animation:skeletonFontAnimation 5s linear infinite var(--skeleton-delay);-webkit-background-clip:text!important;background-clip:text!important;background-color:var(--skeleton-color)!important;background-image:repeating-linear-gradient(-45deg,var(--skeleton-color--contrast) 1px 2px,transparent 0 6px)!important;background-position-x:30rem;background-position-y:50%!important;background-repeat:no-repeat!important;background-size:30rem 100%!important}html[data-visual-test] .dnb-skeleton--font,html[data-visual-test] .dnb-skeleton--font .dnb-p,html[data-visual-test] .dnb-skeleton--font .dnb-skeleton--show-font{animation:none!important}.dnb-skeleton__figure{border-radius:.25rem;position:relative}.dnb-skeleton__figure--circle{border-radius:50%;height:4rem;width:4rem}.dnb-skeleton__figure--product{align-items:center;display:flex}.dnb-skeleton__figure--product .dnb-skeleton__figure--circle+div{margin-left:1rem;width:50%}.dnb-skeleton--no-animation * .dnb-skeleton:after,.dnb-skeleton--no-animation .dnb-skeleton,.dnb-skeleton--no-animation .dnb-skeleton:after{animation:none!important}@keyframes skeletonLinearAnimation{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}50%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{clip-path:polygon(0 0,0 0,0 100%,0 100%)}}@keyframes skeletonFontAnimation{0%{background-position-x:30rem}to{background-position-x:-30rem}}@font-face{font-display:fallback;font-family:DNBSkeleton;font-style:normal;font-weight:400;src:url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Regular.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Regular.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Regular.ttf) format("truetype")}@font-face{font-display:fallback;font-family:DNBSkeleton;font-style:normal;font-weight:500;src:url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Medium.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Medium.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Medium.ttf) format("truetype")}@font-face{font-display:fallback;font-family:DNBSkeleton;font-style:normal;font-weight:600;src:url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Bold.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Bold.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNB-Skeleton-Bold.ttf) format("truetype")}@font-face{font-display:fallback;font-family:DNBMonoSkeleton;font-style:normal;font-weight:400;src:url(../../assets/fonts/dnb/skeleton/DNBMono-Skeleton-Regular.woff2) format("woff2"),url(../../assets/fonts/dnb/skeleton/DNBMono-Skeleton-Regular.woff) format("woff"),url(../../assets/fonts/dnb/skeleton/DNBMono-Skeleton-Regular.ttf) format("truetype")}
@@ -27,7 +27,7 @@ export declare const createSpacingClasses: (props: SpacingProps
27
27
  */
28
28
  | SpacingUnknownProps, Element?: any) => any[];
29
29
  export declare const translateSpace: (type: SpaceType) => any;
30
- export declare const splitTypes: (types: SpaceType | Array<SpaceType>) => SpaceType[];
30
+ export declare const splitTypes: (types: SpaceType | Array<SpaceType>) => SpaceType[] | (number | SpaceTypesPositiveValuesType)[];
31
31
  export declare const sumTypes: (types: SpaceType | Array<SpaceType>) => any;
32
32
  export declare const createTypeModifiers: (types: SpaceType) => Array<SpaceType>;
33
33
  export declare const findType: (num: SpaceNumber) => SpaceType;
@@ -144,7 +144,7 @@ export const splitTypes = types => {
144
144
  const test = types.split(/ /g);
145
145
  return clean(test);
146
146
  } else if (typeof types === 'boolean') {
147
- return ['small'];
147
+ return [types ? 'small' : 0];
148
148
  } else if (typeof types === 'number') {
149
149
  return [types];
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","innerSpace","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","types","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","length","createSpacingProperties","props","computeProperties","hasMediaSize","media","keys","Object","includes","hasSize","size","_space","value","transformToAll","key","isValidSpaceProp","cur","name","String","typeModifiers","sum","sumTypes","createSpacingClasses","Element","p","isFrozen","_objectSpread","_p$left","_p$bottom","_p$right","_p$top","i","entries","reduce","acc","direction","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","k","v","multiply","res","near","reverse","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","restProps","_objectWithoutProperties","_excluded","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n SpaceTypeMedia,\n SpaceTypeAll,\n SpacingElementProps,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n innerSpace: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS style out from given space types\n *\n * @param props\n * @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }\n */\nexport const createSpacingProperties = (\n props: SpacingProps\n): React.CSSProperties => {\n if (props?.innerSpace) {\n return computeProperties(props.innerSpace)\n }\n\n return {}\n}\n\nfunction hasMediaSize(media: SpaceTypeMedia) {\n const keys = Object.keys(media)\n return (\n keys.includes('small') ||\n keys.includes('medium') ||\n keys.includes('large')\n )\n}\n\nfunction hasSize(space: SpacingElementProps) {\n const keys = Object.keys(space)\n return (\n keys.includes('top') ||\n keys.includes('right') ||\n keys.includes('bottom') ||\n keys.includes('left')\n )\n}\n\nfunction computeProperties(space: SpaceTypeAll | SpaceTypeMedia) {\n if (!hasMediaSize(space as SpaceTypeMedia)) {\n space = {\n small: space,\n medium: space,\n large: space,\n } as SpaceTypeMedia\n }\n\n const result = {}\n\n for (const size in space as SpaceTypeMedia) {\n const value = space?.[size] as SpaceType | SpacingElementProps\n const props = transformToAll(value)\n\n for (const key in props as SpaceTypeMedia) {\n if (isValidSpaceProp(key)) {\n const cur = props[key]\n const name = `--space-${key[0]}-${size[0]}`\n\n if (String(cur) === '0' || String(cur) === 'false') {\n result[name] = '0'\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n const sum = sumTypes(typeModifiers)\n result[name] = `${sum}rem`\n }\n }\n }\n }\n\n return result as React.CSSProperties\n}\n\nfunction transformToAll(value: SpaceType | SpacingElementProps) {\n let result = value\n\n if (!hasSize(value as SpacingElementProps)) {\n result = {\n top: value,\n right: value,\n bottom: value,\n left: value,\n } as SpacingElementProps\n }\n\n return result as SpacingElementProps\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.left = p.left ?? p.space\n p.bottom = p.bottom ?? p.space\n p.right = p.right ?? p.space\n p.top = p.top ?? p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction) && direction !== 'innerSpace') {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName &&\n ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(\n propName\n )\n\nexport const removeSpaceProps = <Props extends SpacingProps>(\n props: Props\n): Omit<Props, keyof SpacingProps> => {\n const { space, innerSpace, top, bottom, left, right, ...restProps } =\n props\n return restProps\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","innerSpace","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","types","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","length","createSpacingProperties","props","computeProperties","hasMediaSize","media","keys","Object","includes","hasSize","size","_space","value","transformToAll","key","isValidSpaceProp","cur","name","String","typeModifiers","sum","sumTypes","createSpacingClasses","Element","p","isFrozen","_objectSpread","_p$left","_p$bottom","_p$right","_p$top","i","entries","reduce","acc","direction","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","k","v","multiply","res","near","reverse","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","restProps","_objectWithoutProperties","_excluded","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n SpaceTypeMedia,\n SpaceTypeAll,\n SpacingElementProps,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n innerSpace: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS style out from given space types\n *\n * @param props\n * @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }\n */\nexport const createSpacingProperties = (\n props: SpacingProps\n): React.CSSProperties => {\n if (props?.innerSpace) {\n return computeProperties(props.innerSpace)\n }\n\n return {}\n}\n\nfunction hasMediaSize(media: SpaceTypeMedia) {\n const keys = Object.keys(media)\n return (\n keys.includes('small') ||\n keys.includes('medium') ||\n keys.includes('large')\n )\n}\n\nfunction hasSize(space: SpacingElementProps) {\n const keys = Object.keys(space)\n return (\n keys.includes('top') ||\n keys.includes('right') ||\n keys.includes('bottom') ||\n keys.includes('left')\n )\n}\n\nfunction computeProperties(space: SpaceTypeAll | SpaceTypeMedia) {\n if (!hasMediaSize(space as SpaceTypeMedia)) {\n space = {\n small: space,\n medium: space,\n large: space,\n } as SpaceTypeMedia\n }\n\n const result = {}\n\n for (const size in space as SpaceTypeMedia) {\n const value = space?.[size] as SpaceType | SpacingElementProps\n const props = transformToAll(value)\n\n for (const key in props as SpaceTypeMedia) {\n if (isValidSpaceProp(key)) {\n const cur = props[key]\n const name = `--space-${key[0]}-${size[0]}`\n\n if (String(cur) === '0' || String(cur) === 'false') {\n result[name] = '0'\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n const sum = sumTypes(typeModifiers)\n result[name] = `${sum}rem`\n }\n }\n }\n }\n\n return result as React.CSSProperties\n}\n\nfunction transformToAll(value: SpaceType | SpacingElementProps) {\n let result = value\n\n if (!hasSize(value as SpacingElementProps)) {\n result = {\n top: value,\n right: value,\n bottom: value,\n left: value,\n } as SpacingElementProps\n }\n\n return result as SpacingElementProps\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.left = p.left ?? p.space\n p.bottom = p.bottom ?? p.space\n p.right = p.right ?? p.space\n p.top = p.top ?? p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction) && direction !== 'innerSpace') {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return [types ? ('small' as SpaceTypesPositiveValuesType) : 0]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName &&\n ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(\n propName\n )\n\nexport const removeSpaceProps = <Props extends SpacingProps>(\n props: Props\n): Omit<Props, keyof SpacingProps> => {\n const { space, innerSpace, top, bottom, left, right, ...restProps } =\n props\n return restProps\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}