@dnb/eufemia 10.10.0 → 10.12.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 (806) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/cjs/components/accordion/Accordion.d.ts +2 -3
  3. package/cjs/components/anchor/Anchor.d.ts +2 -1
  4. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
  5. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  6. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
  7. package/cjs/components/avatar/Avatar.d.ts +2 -1
  8. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  9. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  10. package/cjs/components/button/Button.d.ts +4 -3
  11. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  12. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  13. package/cjs/components/dialog/parts/DialogBody.js +1 -1
  14. package/cjs/components/dialog/parts/DialogBody.js.map +1 -1
  15. package/cjs/components/drawer/parts/DrawerBody.js +1 -1
  16. package/cjs/components/drawer/parts/DrawerBody.js.map +1 -1
  17. package/cjs/components/dropdown/style/dnb-dropdown.css +39 -1
  18. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  19. package/cjs/components/dropdown/style/dnb-dropdown.scss +38 -1
  20. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
  21. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
  22. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
  23. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
  24. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  25. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
  26. package/cjs/components/flex/Flex.d.ts +2 -1
  27. package/cjs/components/flex/Flex.js.map +1 -1
  28. package/cjs/components/flex/utils.d.ts +1 -1
  29. package/cjs/components/flex/utils.js +2 -14
  30. package/cjs/components/flex/utils.js.map +1 -1
  31. package/cjs/components/form-label/FormLabel.d.ts +31 -58
  32. package/cjs/components/form-label/FormLabel.js +34 -83
  33. package/cjs/components/form-label/FormLabel.js.map +1 -1
  34. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
  35. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  36. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +1 -1
  37. package/cjs/components/form-row/style/dnb-form-row.css +0 -1
  38. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  39. package/cjs/components/global-status/GlobalStatus.js +3 -2
  40. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  41. package/cjs/components/global-status/style/dnb-global-status.css +2 -4
  42. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  43. package/cjs/components/global-status/style/dnb-global-status.scss +9 -10
  44. package/cjs/components/grid/Grid.d.ts +2 -1
  45. package/cjs/components/grid/Grid.js.map +1 -1
  46. package/cjs/components/input/style/dnb-input.css +4 -2
  47. package/cjs/components/input/style/dnb-input.min.css +1 -1
  48. package/cjs/components/input/style/dnb-input.scss +9 -2
  49. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
  50. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  51. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
  52. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +15 -8
  53. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  54. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
  55. package/cjs/components/input-masked/InputMasked.d.ts +0 -1
  56. package/cjs/components/input-masked/InputMasked.js +3 -3
  57. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  58. package/cjs/components/input-masked/InputMaskedHooks.js +4 -4
  59. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  60. package/cjs/components/input-masked/MultiInputMask.d.ts +60 -0
  61. package/cjs/components/input-masked/MultiInputMask.js +159 -0
  62. package/cjs/components/input-masked/MultiInputMask.js.map +1 -0
  63. package/cjs/components/input-masked/TextMask.d.ts +1 -1
  64. package/cjs/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
  65. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +113 -0
  66. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
  67. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
  68. package/cjs/components/input-masked/hooks/useMultiInputValues.js +37 -0
  69. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
  70. package/cjs/components/input-masked/index.d.ts +2 -0
  71. package/cjs/components/input-masked/index.js +21 -1
  72. package/cjs/components/input-masked/index.js.map +1 -1
  73. package/cjs/components/input-masked/style/dnb-input-masked.css +57 -0
  74. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  75. package/cjs/components/input-masked/style/dnb-input-masked.scss +73 -0
  76. package/cjs/components/lib.d.ts +13 -7
  77. package/cjs/components/modal/parts/ModalInner.d.ts +1 -6
  78. package/cjs/components/modal/parts/ModalInner.js +6 -6
  79. package/cjs/components/modal/parts/ModalInner.js.map +1 -1
  80. package/cjs/components/number-format/NumberUtils.js +15 -5
  81. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  82. package/cjs/components/radio/style/dnb-radio.css +0 -1
  83. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  84. package/cjs/components/section/Section.d.ts +43 -17
  85. package/cjs/components/section/Section.js +47 -12
  86. package/cjs/components/section/Section.js.map +1 -1
  87. package/cjs/components/section/style/dnb-section.css +76 -14
  88. package/cjs/components/section/style/dnb-section.min.css +7 -1
  89. package/cjs/components/section/style/dnb-section.scss +78 -26
  90. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
  91. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
  92. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
  93. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +44 -57
  94. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
  95. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
  96. package/cjs/components/space/Space.js +10 -11
  97. package/cjs/components/space/Space.js.map +1 -1
  98. package/cjs/components/space/SpacingHelper.d.ts +1 -3
  99. package/cjs/components/space/SpacingHelper.js +6 -0
  100. package/cjs/components/space/SpacingHelper.js.map +1 -1
  101. package/cjs/components/space/SpacingUtils.d.ts +9 -2
  102. package/cjs/components/space/SpacingUtils.js +73 -10
  103. package/cjs/components/space/SpacingUtils.js.map +1 -1
  104. package/cjs/components/space/style/dnb-space.css +36 -0
  105. package/cjs/components/space/style/dnb-space.min.css +1 -1
  106. package/cjs/components/space/style/dnb-space.scss +33 -0
  107. package/cjs/components/space/types.d.ts +8 -1
  108. package/cjs/components/space/types.js.map +1 -1
  109. package/cjs/components/tabs/Tabs.d.ts +4 -1
  110. package/cjs/components/tabs/TabsContentWrapper.js +7 -3
  111. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  112. package/cjs/components/tag/Tag.d.ts +2 -1
  113. package/cjs/components/textarea/style/dnb-textarea.css +4 -0
  114. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  115. package/cjs/components/textarea/style/dnb-textarea.scss +9 -0
  116. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
  117. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  118. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
  119. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  120. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  121. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
  122. package/cjs/components/toggle-button/ToggleButton.d.ts +1 -1
  123. package/cjs/components/toggle-button/style/dnb-toggle-button.css +0 -1
  124. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  125. package/cjs/components/upload/Upload.js +14 -3
  126. package/cjs/components/upload/Upload.js.map +1 -1
  127. package/cjs/elements/Element.d.ts +2 -1
  128. package/cjs/elements/Link.d.ts +2 -1
  129. package/cjs/elements/blockquote/Blockquote.d.ts +2 -1
  130. package/cjs/elements/code/Code.d.ts +2 -1
  131. package/cjs/elements/div/Div.d.ts +2 -1
  132. package/cjs/elements/hr/style/dnb-hr.scss +1 -1
  133. package/cjs/elements/img/Img.js.map +1 -1
  134. package/cjs/elements/lib.d.ts +26 -10
  135. package/cjs/elements/lists/Dd.d.ts +2 -1
  136. package/cjs/elements/lists/Dt.d.ts +2 -1
  137. package/cjs/elements/span/Span.d.ts +2 -1
  138. package/cjs/elements/typography/H.d.ts +2 -1
  139. package/cjs/elements/typography/H.js.map +1 -1
  140. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
  141. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  142. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  143. package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -20
  144. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  145. package/cjs/extensions/forms/Field/Number/Number.js +5 -1
  146. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  147. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
  148. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  149. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  150. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  151. package/cjs/extensions/forms/Field/Selection/Selection.js +10 -7
  152. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  153. package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
  154. package/cjs/extensions/forms/Field/String/String.js +27 -50
  155. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  156. package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -26
  157. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  158. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
  159. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +4 -3
  160. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  161. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  162. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  163. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +7 -2
  164. package/cjs/extensions/forms/Form/Handler/Handler.js +5 -3
  165. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  166. package/cjs/extensions/forms/constants/countries.d.ts +11 -2
  167. package/cjs/extensions/forms/constants/countries.js +1943 -959
  168. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  169. package/cjs/extensions/forms/hooks/useDataValue.js +3 -0
  170. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  171. package/cjs/extensions/forms/style/dnb-forms.css +0 -1
  172. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  173. package/cjs/extensions/forms/types.d.ts +2 -0
  174. package/cjs/extensions/forms/types.js.map +1 -1
  175. package/cjs/extensions/payment-card/PaymentCard.d.ts +6 -3
  176. package/cjs/extensions/payment-card/PaymentCard.js +53 -36
  177. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  178. package/cjs/extensions/payment-card/icons/index.js +11 -7
  179. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  180. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -0
  181. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  182. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +4 -0
  183. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
  184. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +182 -0
  185. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
  186. package/cjs/fragments/lib.d.ts +2 -1
  187. package/cjs/fragments/scroll-view/ScrollView.d.ts +2 -1
  188. package/cjs/shared/Context.d.ts +2 -0
  189. package/cjs/shared/Context.js.map +1 -1
  190. package/cjs/shared/Eufemia.d.ts +1 -1
  191. package/cjs/shared/Eufemia.js +2 -2
  192. package/cjs/shared/Eufemia.js.map +1 -1
  193. package/cjs/shared/component-helper.d.ts +1 -1
  194. package/cjs/shared/component-helper.js +10 -25
  195. package/cjs/shared/component-helper.js.map +1 -1
  196. package/cjs/shared/helpers/InteractionInvalidation.d.ts +1 -1
  197. package/cjs/shared/helpers/InteractionInvalidation.js +2 -2
  198. package/cjs/shared/helpers/InteractionInvalidation.js.map +1 -1
  199. package/cjs/shared/helpers/filterProps.d.ts +14 -0
  200. package/cjs/shared/helpers/filterProps.js +39 -0
  201. package/cjs/shared/helpers/filterProps.js.map +1 -0
  202. package/cjs/shared/locales/en-GB.d.ts +6 -0
  203. package/cjs/shared/locales/en-GB.js +8 -2
  204. package/cjs/shared/locales/en-GB.js.map +1 -1
  205. package/cjs/shared/locales/en-US.d.ts +6 -0
  206. package/cjs/shared/locales/index.d.ts +12 -0
  207. package/cjs/shared/locales/nb-NO.d.ts +6 -0
  208. package/cjs/shared/locales/nb-NO.js +8 -2
  209. package/cjs/shared/locales/nb-NO.js.map +1 -1
  210. package/cjs/shared/types.d.ts +7 -1
  211. package/cjs/shared/types.js.map +1 -1
  212. package/cjs/shared/useMedia.d.ts +5 -0
  213. package/cjs/shared/useMedia.js +16 -9
  214. package/cjs/shared/useMedia.js.map +1 -1
  215. package/cjs/shared/useTheme.d.ts +12 -1
  216. package/cjs/shared/useTheme.js +16 -1
  217. package/cjs/shared/useTheme.js.map +1 -1
  218. package/cjs/style/core/helper-classes/skip-link.scss +13 -7
  219. package/cjs/style/core/reset.scss +1 -1
  220. package/cjs/style/core/utilities.scss +16 -5
  221. package/cjs/style/dnb-ui-basis.css +14 -9
  222. package/cjs/style/dnb-ui-basis.min.css +1 -1
  223. package/cjs/style/dnb-ui-basis.scss +1 -1
  224. package/cjs/style/dnb-ui-body.css +1 -1
  225. package/cjs/style/dnb-ui-components.css +224 -28
  226. package/cjs/style/dnb-ui-components.min.css +7 -1
  227. package/cjs/style/dnb-ui-core.css +14 -9
  228. package/cjs/style/dnb-ui-core.min.css +1 -1
  229. package/cjs/style/dnb-ui-elements.css +1 -1
  230. package/cjs/style/dnb-ui-extensions.css +3 -1
  231. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  232. package/cjs/style/dnb-ui-fragments.css +6 -3
  233. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  236. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +299 -135
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -1
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-sbanken/fonts.scss +10 -0
  242. package/cjs/style/themes/theme-sbanken/globals.scss +8 -0
  243. package/cjs/style/themes/theme-sbanken/properties.scss +1 -1
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +544 -353
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  249. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -1
  251. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  252. package/cjs/style/themes/theme-ui/globals.scss +8 -0
  253. package/cjs/style/themes/theme-ui/ui-theme-basis.css +7 -1
  254. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  255. package/cjs/style/themes/theme-ui/ui-theme-components.css +299 -135
  256. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +11 -3
  257. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  258. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -1
  259. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  260. package/components/accordion/Accordion.d.ts +2 -3
  261. package/components/anchor/Anchor.d.ts +2 -1
  262. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
  263. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  264. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
  265. package/components/avatar/Avatar.d.ts +2 -1
  266. package/components/breadcrumb/BreadcrumbItem.js +4 -4
  267. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  268. package/components/button/Button.d.ts +4 -3
  269. package/components/date-picker/style/dnb-date-picker.css +0 -1
  270. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  271. package/components/dialog/parts/DialogBody.js +1 -1
  272. package/components/dialog/parts/DialogBody.js.map +1 -1
  273. package/components/drawer/parts/DrawerBody.js +1 -1
  274. package/components/drawer/parts/DrawerBody.js.map +1 -1
  275. package/components/dropdown/style/dnb-dropdown.css +39 -1
  276. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  277. package/components/dropdown/style/dnb-dropdown.scss +38 -1
  278. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
  279. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
  280. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
  281. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
  282. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  283. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
  284. package/components/flex/Flex.d.ts +2 -1
  285. package/components/flex/Flex.js.map +1 -1
  286. package/components/flex/utils.d.ts +1 -1
  287. package/components/flex/utils.js +2 -13
  288. package/components/flex/utils.js.map +1 -1
  289. package/components/form-label/FormLabel.d.ts +31 -58
  290. package/components/form-label/FormLabel.js +34 -82
  291. package/components/form-label/FormLabel.js.map +1 -1
  292. package/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
  293. package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  294. package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +1 -1
  295. package/components/form-row/style/dnb-form-row.css +0 -1
  296. package/components/form-row/style/dnb-form-row.min.css +1 -1
  297. package/components/global-status/GlobalStatus.js +3 -2
  298. package/components/global-status/GlobalStatus.js.map +1 -1
  299. package/components/global-status/style/dnb-global-status.css +2 -4
  300. package/components/global-status/style/dnb-global-status.min.css +1 -1
  301. package/components/global-status/style/dnb-global-status.scss +9 -10
  302. package/components/grid/Grid.d.ts +2 -1
  303. package/components/grid/Grid.js.map +1 -1
  304. package/components/input/style/dnb-input.css +4 -2
  305. package/components/input/style/dnb-input.min.css +1 -1
  306. package/components/input/style/dnb-input.scss +9 -2
  307. package/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
  308. package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  309. package/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
  310. package/components/input/style/themes/dnb-input-theme-ui.css +15 -8
  311. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  312. package/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
  313. package/components/input-masked/InputMasked.d.ts +0 -1
  314. package/components/input-masked/InputMasked.js +2 -2
  315. package/components/input-masked/InputMasked.js.map +1 -1
  316. package/components/input-masked/InputMaskedHooks.js +5 -5
  317. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  318. package/components/input-masked/MultiInputMask.d.ts +60 -0
  319. package/components/input-masked/MultiInputMask.js +148 -0
  320. package/components/input-masked/MultiInputMask.js.map +1 -0
  321. package/components/input-masked/TextMask.d.ts +1 -1
  322. package/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
  323. package/components/input-masked/hooks/useHandleCursorPosition.js +106 -0
  324. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
  325. package/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
  326. package/components/input-masked/hooks/useMultiInputValues.js +29 -0
  327. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
  328. package/components/input-masked/index.d.ts +2 -0
  329. package/components/input-masked/index.js +2 -0
  330. package/components/input-masked/index.js.map +1 -1
  331. package/components/input-masked/style/dnb-input-masked.css +57 -0
  332. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  333. package/components/input-masked/style/dnb-input-masked.scss +73 -0
  334. package/components/lib.d.ts +13 -7
  335. package/components/modal/parts/ModalInner.d.ts +1 -6
  336. package/components/modal/parts/ModalInner.js +6 -6
  337. package/components/modal/parts/ModalInner.js.map +1 -1
  338. package/components/number-format/NumberUtils.js +15 -5
  339. package/components/number-format/NumberUtils.js.map +1 -1
  340. package/components/radio/style/dnb-radio.css +0 -1
  341. package/components/radio/style/dnb-radio.min.css +1 -1
  342. package/components/section/Section.d.ts +43 -17
  343. package/components/section/Section.js +48 -13
  344. package/components/section/Section.js.map +1 -1
  345. package/components/section/style/dnb-section.css +76 -14
  346. package/components/section/style/dnb-section.min.css +7 -1
  347. package/components/section/style/dnb-section.scss +78 -26
  348. package/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
  349. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
  350. package/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
  351. package/components/section/style/themes/dnb-section-theme-ui.css +44 -57
  352. package/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
  353. package/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
  354. package/components/space/Space.js +11 -12
  355. package/components/space/Space.js.map +1 -1
  356. package/components/space/SpacingHelper.d.ts +1 -3
  357. package/components/space/SpacingHelper.js +1 -2
  358. package/components/space/SpacingHelper.js.map +1 -1
  359. package/components/space/SpacingUtils.d.ts +9 -2
  360. package/components/space/SpacingUtils.js +70 -9
  361. package/components/space/SpacingUtils.js.map +1 -1
  362. package/components/space/style/dnb-space.css +36 -0
  363. package/components/space/style/dnb-space.min.css +1 -1
  364. package/components/space/style/dnb-space.scss +33 -0
  365. package/components/space/types.d.ts +8 -1
  366. package/components/space/types.js.map +1 -1
  367. package/components/tabs/Tabs.d.ts +4 -1
  368. package/components/tabs/TabsContentWrapper.js +7 -3
  369. package/components/tabs/TabsContentWrapper.js.map +1 -1
  370. package/components/tag/Tag.d.ts +2 -1
  371. package/components/textarea/style/dnb-textarea.css +4 -0
  372. package/components/textarea/style/dnb-textarea.min.css +1 -1
  373. package/components/textarea/style/dnb-textarea.scss +9 -0
  374. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
  375. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  376. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
  377. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  378. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  379. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
  380. package/components/toggle-button/ToggleButton.d.ts +1 -1
  381. package/components/toggle-button/style/dnb-toggle-button.css +0 -1
  382. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  383. package/components/upload/Upload.js +14 -3
  384. package/components/upload/Upload.js.map +1 -1
  385. package/elements/Element.d.ts +2 -1
  386. package/elements/Link.d.ts +2 -1
  387. package/elements/blockquote/Blockquote.d.ts +2 -1
  388. package/elements/code/Code.d.ts +2 -1
  389. package/elements/div/Div.d.ts +2 -1
  390. package/elements/hr/style/dnb-hr.scss +1 -1
  391. package/elements/img/Img.js.map +1 -1
  392. package/elements/lib.d.ts +26 -10
  393. package/elements/lists/Dd.d.ts +2 -1
  394. package/elements/lists/Dt.d.ts +2 -1
  395. package/elements/span/Span.d.ts +2 -1
  396. package/elements/typography/H.d.ts +2 -1
  397. package/elements/typography/H.js.map +1 -1
  398. package/es/components/accordion/Accordion.d.ts +2 -3
  399. package/es/components/anchor/Anchor.d.ts +2 -1
  400. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +16 -16
  401. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  402. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +9 -9
  403. package/es/components/avatar/Avatar.d.ts +2 -1
  404. package/es/components/breadcrumb/BreadcrumbItem.js +4 -4
  405. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  406. package/es/components/button/Button.d.ts +4 -3
  407. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  408. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  409. package/es/components/dialog/parts/DialogBody.js +1 -1
  410. package/es/components/dialog/parts/DialogBody.js.map +1 -1
  411. package/es/components/drawer/parts/DrawerBody.js +1 -1
  412. package/es/components/drawer/parts/DrawerBody.js.map +1 -1
  413. package/es/components/dropdown/style/dnb-dropdown.css +39 -1
  414. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  415. package/es/components/dropdown/style/dnb-dropdown.scss +38 -1
  416. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +95 -0
  417. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.min.css +1 -0
  418. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.scss +87 -0
  419. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +11 -35
  420. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  421. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +10 -32
  422. package/es/components/flex/Flex.d.ts +2 -1
  423. package/es/components/flex/Flex.js +3 -1
  424. package/es/components/flex/Flex.js.map +1 -1
  425. package/es/components/flex/utils.d.ts +1 -1
  426. package/es/components/flex/utils.js +2 -13
  427. package/es/components/flex/utils.js.map +1 -1
  428. package/es/components/form-label/FormLabel.d.ts +31 -58
  429. package/es/components/form-label/FormLabel.js +34 -82
  430. package/es/components/form-label/FormLabel.js.map +1 -1
  431. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +2 -2
  432. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  433. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +1 -1
  434. package/es/components/form-row/style/dnb-form-row.css +0 -1
  435. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  436. package/es/components/global-status/GlobalStatus.js +3 -2
  437. package/es/components/global-status/GlobalStatus.js.map +1 -1
  438. package/es/components/global-status/style/dnb-global-status.css +2 -4
  439. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  440. package/es/components/global-status/style/dnb-global-status.scss +9 -10
  441. package/es/components/grid/Grid.d.ts +2 -1
  442. package/es/components/grid/Grid.js +3 -1
  443. package/es/components/grid/Grid.js.map +1 -1
  444. package/es/components/input/style/dnb-input.css +4 -2
  445. package/es/components/input/style/dnb-input.min.css +1 -1
  446. package/es/components/input/style/dnb-input.scss +9 -2
  447. package/es/components/input/style/themes/dnb-input-theme-sbanken.css +1 -1
  448. package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  449. package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +1 -1
  450. package/es/components/input/style/themes/dnb-input-theme-ui.css +15 -8
  451. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  452. package/es/components/input/style/themes/dnb-input-theme-ui.scss +24 -6
  453. package/es/components/input-masked/InputMasked.d.ts +0 -1
  454. package/es/components/input-masked/InputMasked.js +2 -2
  455. package/es/components/input-masked/InputMasked.js.map +1 -1
  456. package/es/components/input-masked/InputMaskedHooks.js +5 -5
  457. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  458. package/es/components/input-masked/MultiInputMask.d.ts +60 -0
  459. package/es/components/input-masked/MultiInputMask.js +145 -0
  460. package/es/components/input-masked/MultiInputMask.js.map +1 -0
  461. package/es/components/input-masked/TextMask.d.ts +1 -1
  462. package/es/components/input-masked/hooks/useHandleCursorPosition.d.ts +7 -0
  463. package/es/components/input-masked/hooks/useHandleCursorPosition.js +105 -0
  464. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -0
  465. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +8 -0
  466. package/es/components/input-masked/hooks/useMultiInputValues.js +28 -0
  467. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -0
  468. package/es/components/input-masked/index.d.ts +2 -0
  469. package/es/components/input-masked/index.js +2 -0
  470. package/es/components/input-masked/index.js.map +1 -1
  471. package/es/components/input-masked/style/dnb-input-masked.css +57 -0
  472. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  473. package/es/components/input-masked/style/dnb-input-masked.scss +73 -0
  474. package/es/components/lib.d.ts +13 -7
  475. package/es/components/modal/parts/ModalInner.d.ts +1 -6
  476. package/es/components/modal/parts/ModalInner.js +6 -6
  477. package/es/components/modal/parts/ModalInner.js.map +1 -1
  478. package/es/components/number-format/NumberUtils.js +15 -5
  479. package/es/components/number-format/NumberUtils.js.map +1 -1
  480. package/es/components/radio/style/dnb-radio.css +0 -1
  481. package/es/components/radio/style/dnb-radio.min.css +1 -1
  482. package/es/components/section/Section.d.ts +43 -17
  483. package/es/components/section/Section.js +48 -13
  484. package/es/components/section/Section.js.map +1 -1
  485. package/es/components/section/style/dnb-section.css +76 -14
  486. package/es/components/section/style/dnb-section.min.css +7 -1
  487. package/es/components/section/style/dnb-section.scss +78 -26
  488. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +21 -26
  489. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +3 -1
  490. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +19 -33
  491. package/es/components/section/style/themes/dnb-section-theme-ui.css +44 -57
  492. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +3 -1
  493. package/es/components/section/style/themes/dnb-section-theme-ui.scss +48 -80
  494. package/es/components/space/Space.js +11 -12
  495. package/es/components/space/Space.js.map +1 -1
  496. package/es/components/space/SpacingHelper.d.ts +1 -3
  497. package/es/components/space/SpacingHelper.js +1 -2
  498. package/es/components/space/SpacingHelper.js.map +1 -1
  499. package/es/components/space/SpacingUtils.d.ts +9 -2
  500. package/es/components/space/SpacingUtils.js +70 -9
  501. package/es/components/space/SpacingUtils.js.map +1 -1
  502. package/es/components/space/style/dnb-space.css +36 -0
  503. package/es/components/space/style/dnb-space.min.css +1 -1
  504. package/es/components/space/style/dnb-space.scss +33 -0
  505. package/es/components/space/types.d.ts +8 -1
  506. package/es/components/space/types.js.map +1 -1
  507. package/es/components/tabs/Tabs.d.ts +4 -1
  508. package/es/components/tabs/TabsContentWrapper.js +7 -3
  509. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  510. package/es/components/tag/Tag.d.ts +2 -1
  511. package/es/components/textarea/style/dnb-textarea.css +4 -0
  512. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  513. package/es/components/textarea/style/dnb-textarea.scss +9 -0
  514. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +2 -1
  515. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  516. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +2 -1
  517. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  518. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  519. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +1 -1
  520. package/es/components/toggle-button/ToggleButton.d.ts +1 -1
  521. package/es/components/toggle-button/style/dnb-toggle-button.css +0 -1
  522. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  523. package/es/components/upload/Upload.js +14 -3
  524. package/es/components/upload/Upload.js.map +1 -1
  525. package/es/elements/Element.d.ts +2 -1
  526. package/es/elements/Link.d.ts +2 -1
  527. package/es/elements/blockquote/Blockquote.d.ts +2 -1
  528. package/es/elements/code/Code.d.ts +2 -1
  529. package/es/elements/div/Div.d.ts +2 -1
  530. package/es/elements/hr/style/dnb-hr.scss +1 -1
  531. package/es/elements/img/Img.js.map +1 -1
  532. package/es/elements/lib.d.ts +26 -10
  533. package/es/elements/lists/Dd.d.ts +2 -1
  534. package/es/elements/lists/Dt.d.ts +2 -1
  535. package/es/elements/span/Span.d.ts +2 -1
  536. package/es/elements/typography/H.d.ts +2 -1
  537. package/es/elements/typography/H.js.map +1 -1
  538. package/es/extensions/forms/DataContext/Context.d.ts +2 -0
  539. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  540. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  541. package/es/extensions/forms/DataContext/Provider/Provider.js +34 -21
  542. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  543. package/es/extensions/forms/Field/Number/Number.js +5 -1
  544. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  545. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
  546. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  547. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +7 -4
  548. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  549. package/es/extensions/forms/Field/Selection/Selection.js +11 -8
  550. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  551. package/es/extensions/forms/Field/String/String.d.ts +1 -0
  552. package/es/extensions/forms/Field/String/String.js +27 -50
  553. package/es/extensions/forms/Field/String/String.js.map +1 -1
  554. package/es/extensions/forms/Field/Toggle/Toggle.js +24 -27
  555. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  556. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
  557. package/es/extensions/forms/FieldBlock/FieldBlock.js +4 -3
  558. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  559. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  560. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  561. package/es/extensions/forms/Form/Handler/Handler.d.ts +7 -2
  562. package/es/extensions/forms/Form/Handler/Handler.js +5 -3
  563. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  564. package/es/extensions/forms/constants/countries.d.ts +11 -2
  565. package/es/extensions/forms/constants/countries.js +1943 -959
  566. package/es/extensions/forms/constants/countries.js.map +1 -1
  567. package/es/extensions/forms/hooks/useDataValue.js +3 -0
  568. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  569. package/es/extensions/forms/style/dnb-forms.css +0 -1
  570. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  571. package/es/extensions/forms/types.d.ts +2 -0
  572. package/es/extensions/forms/types.js.map +1 -1
  573. package/es/extensions/payment-card/PaymentCard.d.ts +6 -3
  574. package/es/extensions/payment-card/PaymentCard.js +47 -31
  575. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  576. package/es/extensions/payment-card/icons/index.js +9 -5
  577. package/es/extensions/payment-card/icons/index.js.map +1 -1
  578. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -0
  579. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  580. package/es/extensions/payment-card/style/dnb-payment-card.scss +4 -0
  581. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
  582. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +182 -0
  583. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
  584. package/es/fragments/lib.d.ts +2 -1
  585. package/es/fragments/scroll-view/ScrollView.d.ts +2 -1
  586. package/es/shared/Context.d.ts +2 -0
  587. package/es/shared/Context.js.map +1 -1
  588. package/es/shared/Eufemia.d.ts +1 -1
  589. package/es/shared/Eufemia.js +2 -2
  590. package/es/shared/Eufemia.js.map +1 -1
  591. package/es/shared/component-helper.d.ts +1 -1
  592. package/es/shared/component-helper.js +4 -20
  593. package/es/shared/component-helper.js.map +1 -1
  594. package/es/shared/helpers/InteractionInvalidation.d.ts +1 -1
  595. package/es/shared/helpers/InteractionInvalidation.js +2 -2
  596. package/es/shared/helpers/InteractionInvalidation.js.map +1 -1
  597. package/es/shared/helpers/filterProps.d.ts +14 -0
  598. package/es/shared/helpers/filterProps.js +30 -0
  599. package/es/shared/helpers/filterProps.js.map +1 -0
  600. package/es/shared/locales/en-GB.d.ts +6 -0
  601. package/es/shared/locales/en-GB.js +8 -2
  602. package/es/shared/locales/en-GB.js.map +1 -1
  603. package/es/shared/locales/en-US.d.ts +6 -0
  604. package/es/shared/locales/index.d.ts +12 -0
  605. package/es/shared/locales/nb-NO.d.ts +6 -0
  606. package/es/shared/locales/nb-NO.js +8 -2
  607. package/es/shared/locales/nb-NO.js.map +1 -1
  608. package/es/shared/types.d.ts +7 -1
  609. package/es/shared/types.js.map +1 -1
  610. package/es/shared/useMedia.d.ts +5 -0
  611. package/es/shared/useMedia.js +16 -9
  612. package/es/shared/useMedia.js.map +1 -1
  613. package/es/shared/useTheme.d.ts +12 -1
  614. package/es/shared/useTheme.js +14 -1
  615. package/es/shared/useTheme.js.map +1 -1
  616. package/es/style/core/helper-classes/skip-link.scss +13 -7
  617. package/es/style/core/reset.scss +1 -1
  618. package/es/style/core/utilities.scss +16 -5
  619. package/es/style/dnb-ui-basis.css +14 -9
  620. package/es/style/dnb-ui-basis.min.css +1 -1
  621. package/es/style/dnb-ui-basis.scss +1 -1
  622. package/es/style/dnb-ui-body.css +1 -1
  623. package/es/style/dnb-ui-components.css +224 -28
  624. package/es/style/dnb-ui-components.min.css +7 -1
  625. package/es/style/dnb-ui-core.css +14 -9
  626. package/es/style/dnb-ui-core.min.css +1 -1
  627. package/es/style/dnb-ui-elements.css +1 -1
  628. package/es/style/dnb-ui-extensions.css +3 -1
  629. package/es/style/dnb-ui-extensions.min.css +1 -1
  630. package/es/style/dnb-ui-fragments.css +6 -3
  631. package/es/style/dnb-ui-fragments.min.css +1 -1
  632. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
  633. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  634. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +299 -135
  635. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
  636. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  637. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -1
  638. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  639. package/es/style/themes/theme-sbanken/fonts.scss +10 -0
  640. package/es/style/themes/theme-sbanken/globals.scss +8 -0
  641. package/es/style/themes/theme-sbanken/properties.scss +1 -1
  642. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
  643. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  644. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +544 -353
  645. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
  646. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  647. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  648. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -1
  649. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  650. package/es/style/themes/theme-ui/globals.scss +8 -0
  651. package/es/style/themes/theme-ui/ui-theme-basis.css +7 -1
  652. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  653. package/es/style/themes/theme-ui/ui-theme-components.css +299 -135
  654. package/es/style/themes/theme-ui/ui-theme-components.min.css +11 -3
  655. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  656. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -1
  657. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  658. package/esm/dnb-ui-basis.min.mjs +1 -1
  659. package/esm/dnb-ui-components.min.mjs +1 -1
  660. package/esm/dnb-ui-elements.min.mjs +1 -1
  661. package/esm/dnb-ui-extensions.min.mjs +3 -3
  662. package/esm/dnb-ui-lib.min.mjs +1 -1
  663. package/extensions/forms/DataContext/Context.d.ts +2 -0
  664. package/extensions/forms/DataContext/Context.js.map +1 -1
  665. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  666. package/extensions/forms/DataContext/Provider/Provider.js +32 -20
  667. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  668. package/extensions/forms/Field/Number/Number.js +5 -1
  669. package/extensions/forms/Field/Number/Number.js.map +1 -1
  670. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -11
  671. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  672. package/extensions/forms/Field/SelectCountry/SelectCountry.js +7 -4
  673. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  674. package/extensions/forms/Field/Selection/Selection.js +11 -8
  675. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  676. package/extensions/forms/Field/String/String.d.ts +1 -0
  677. package/extensions/forms/Field/String/String.js +27 -50
  678. package/extensions/forms/Field/String/String.js.map +1 -1
  679. package/extensions/forms/Field/Toggle/Toggle.js +25 -27
  680. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  681. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
  682. package/extensions/forms/FieldBlock/FieldBlock.js +4 -3
  683. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  684. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -1
  685. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  686. package/extensions/forms/Form/Handler/Handler.d.ts +7 -2
  687. package/extensions/forms/Form/Handler/Handler.js +5 -3
  688. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  689. package/extensions/forms/constants/countries.d.ts +11 -2
  690. package/extensions/forms/constants/countries.js +1943 -959
  691. package/extensions/forms/constants/countries.js.map +1 -1
  692. package/extensions/forms/hooks/useDataValue.js +3 -0
  693. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  694. package/extensions/forms/style/dnb-forms.css +0 -1
  695. package/extensions/forms/style/dnb-forms.min.css +1 -1
  696. package/extensions/forms/types.d.ts +2 -0
  697. package/extensions/forms/types.js.map +1 -1
  698. package/extensions/payment-card/PaymentCard.d.ts +6 -3
  699. package/extensions/payment-card/PaymentCard.js +53 -36
  700. package/extensions/payment-card/PaymentCard.js.map +1 -1
  701. package/extensions/payment-card/icons/index.js +9 -5
  702. package/extensions/payment-card/icons/index.js.map +1 -1
  703. package/extensions/payment-card/style/dnb-payment-card.css +3 -0
  704. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  705. package/extensions/payment-card/style/dnb-payment-card.scss +4 -0
  706. package/fragments/drawer-list/style/dnb-drawer-list.scss +6 -3
  707. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +182 -0
  708. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -5
  709. package/fragments/lib.d.ts +2 -1
  710. package/fragments/scroll-view/ScrollView.d.ts +2 -1
  711. package/package.json +1 -1
  712. package/shared/Context.d.ts +2 -0
  713. package/shared/Context.js.map +1 -1
  714. package/shared/Eufemia.d.ts +1 -1
  715. package/shared/Eufemia.js +2 -2
  716. package/shared/Eufemia.js.map +1 -1
  717. package/shared/component-helper.d.ts +1 -1
  718. package/shared/component-helper.js +4 -23
  719. package/shared/component-helper.js.map +1 -1
  720. package/shared/helpers/InteractionInvalidation.d.ts +1 -1
  721. package/shared/helpers/InteractionInvalidation.js +2 -2
  722. package/shared/helpers/InteractionInvalidation.js.map +1 -1
  723. package/shared/helpers/filterProps.d.ts +14 -0
  724. package/shared/helpers/filterProps.js +33 -0
  725. package/shared/helpers/filterProps.js.map +1 -0
  726. package/shared/locales/en-GB.d.ts +6 -0
  727. package/shared/locales/en-GB.js +8 -2
  728. package/shared/locales/en-GB.js.map +1 -1
  729. package/shared/locales/en-US.d.ts +6 -0
  730. package/shared/locales/index.d.ts +12 -0
  731. package/shared/locales/nb-NO.d.ts +6 -0
  732. package/shared/locales/nb-NO.js +8 -2
  733. package/shared/locales/nb-NO.js.map +1 -1
  734. package/shared/types.d.ts +7 -1
  735. package/shared/types.js.map +1 -1
  736. package/shared/useMedia.d.ts +5 -0
  737. package/shared/useMedia.js +16 -9
  738. package/shared/useMedia.js.map +1 -1
  739. package/shared/useTheme.d.ts +12 -1
  740. package/shared/useTheme.js +14 -1
  741. package/shared/useTheme.js.map +1 -1
  742. package/style/core/helper-classes/skip-link.scss +13 -7
  743. package/style/core/reset.scss +1 -1
  744. package/style/core/utilities.scss +16 -5
  745. package/style/dnb-ui-basis.css +14 -9
  746. package/style/dnb-ui-basis.min.css +1 -1
  747. package/style/dnb-ui-basis.scss +1 -1
  748. package/style/dnb-ui-body.css +1 -1
  749. package/style/dnb-ui-components.css +224 -28
  750. package/style/dnb-ui-components.min.css +7 -1
  751. package/style/dnb-ui-core.css +14 -9
  752. package/style/dnb-ui-core.min.css +1 -1
  753. package/style/dnb-ui-elements.css +1 -1
  754. package/style/dnb-ui-extensions.css +3 -1
  755. package/style/dnb-ui-extensions.min.css +1 -1
  756. package/style/dnb-ui-fragments.css +6 -3
  757. package/style/dnb-ui-fragments.min.css +1 -1
  758. package/style/themes/theme-eiendom/eiendom-theme-basis.css +7 -1
  759. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  760. package/style/themes/theme-eiendom/eiendom-theme-components.css +299 -135
  761. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +11 -3
  762. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  763. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -1
  764. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  765. package/style/themes/theme-sbanken/fonts.scss +10 -0
  766. package/style/themes/theme-sbanken/globals.scss +8 -0
  767. package/style/themes/theme-sbanken/properties.scss +1 -1
  768. package/style/themes/theme-sbanken/sbanken-theme-basis.css +14 -1
  769. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  770. package/style/themes/theme-sbanken/sbanken-theme-components.css +544 -353
  771. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -4
  772. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  773. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  774. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -1
  775. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  776. package/style/themes/theme-ui/globals.scss +8 -0
  777. package/style/themes/theme-ui/ui-theme-basis.css +7 -1
  778. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  779. package/style/themes/theme-ui/ui-theme-components.css +299 -135
  780. package/style/themes/theme-ui/ui-theme-components.min.css +11 -3
  781. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  782. package/style/themes/theme-ui/ui-theme-extensions.css +3 -1
  783. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  784. package/umd/dnb-ui-basis.min.js +1 -1
  785. package/umd/dnb-ui-components.min.js +1 -1
  786. package/umd/dnb-ui-elements.min.js +1 -1
  787. package/umd/dnb-ui-extensions.min.js +3 -3
  788. package/umd/dnb-ui-lib.min.js +1 -1
  789. package/cjs/extensions/payment-card/icons/CardIn.d.ts +0 -2
  790. package/cjs/extensions/payment-card/icons/CardIn.js +0 -26
  791. package/cjs/extensions/payment-card/icons/CardIn.js.map +0 -1
  792. package/cjs/extensions/payment-card/icons/Padlock.d.ts +0 -3
  793. package/cjs/extensions/payment-card/icons/Padlock.js +0 -26
  794. package/cjs/extensions/payment-card/icons/Padlock.js.map +0 -1
  795. package/es/extensions/payment-card/icons/CardIn.d.ts +0 -2
  796. package/es/extensions/payment-card/icons/CardIn.js +0 -18
  797. package/es/extensions/payment-card/icons/CardIn.js.map +0 -1
  798. package/es/extensions/payment-card/icons/Padlock.d.ts +0 -3
  799. package/es/extensions/payment-card/icons/Padlock.js +0 -18
  800. package/es/extensions/payment-card/icons/Padlock.js.map +0 -1
  801. package/extensions/payment-card/icons/CardIn.d.ts +0 -2
  802. package/extensions/payment-card/icons/CardIn.js +0 -18
  803. package/extensions/payment-card/icons/CardIn.js.map +0 -1
  804. package/extensions/payment-card/icons/Padlock.d.ts +0 -3
  805. package/extensions/payment-card/icons/Padlock.js +0 -18
  806. package/extensions/payment-card/icons/Padlock.js.map +0 -1
@@ -6,136 +6,104 @@
6
6
  @import '../../../../components/anchor/style/anchor-mixins.scss';
7
7
 
8
8
  .dnb-section {
9
+ --background-color: var(--color-white);
10
+ --outline-color--value: var(--color-black-8);
11
+
9
12
  &--divider {
10
- color: var(--color-black-80);
13
+ --text-color: var(--color-black-80);
14
+ --background-color: var(--color-white);
15
+
16
+ // will else cover parts of the divider lines
17
+ z-index: 0;
18
+
19
+ // Separator color
20
+ --sc: var(--color-mint-green-50);
11
21
 
12
22
  &::after {
13
- color: var(--color-white);
14
- box-shadow:
15
- 99vw 0 0 0 currentcolor,
16
- 198vw 0 0 0 currentcolor,
17
- 297vw 0 0 0 currentcolor,
18
- 396vw 0 0 0 currentcolor,
19
- 0 0.0625rem 0 0 var(--color-mint-green-50),
20
- 99vw 0.0625rem 0 0 var(--color-mint-green-50),
21
- 0 -0.0625rem 0 0 var(--color-mint-green-50),
22
- 99vw -0.0625rem 0 0 var(--color-mint-green-50),
23
- 198vw 0.0625rem 0 0 var(--color-mint-green-50),
24
- 198vw -0.0625rem 0 0 var(--color-mint-green-50);
23
+ --box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor,
24
+ 297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor,
25
+ 0 0.0625rem 0 0 var(--sc), 99vw 0.0625rem 0 0 var(--sc),
26
+ 0 -0.0625rem 0 0 var(--sc), 99vw -0.0625rem 0 0 var(--sc),
27
+ 198vw 0.0625rem 0 0 var(--sc), 198vw -0.0625rem 0 0 var(--sc);
25
28
  }
26
29
  }
27
30
 
28
31
  &--transparent {
29
- &::after {
30
- color: transparent;
31
- }
32
+ --background-color: transparent;
32
33
  }
33
34
 
34
35
  /** deprecated: default should be white in v11 */
35
36
  &--mint-green-12,
36
37
  &--default {
37
- color: var(--color-black-80);
38
-
39
- &::after {
40
- color: var(--color-mint-green-12);
41
- }
38
+ --text-color: var(--text-color--value, var(--color-black-80));
39
+ --background-color: var(
40
+ --background-color--value,
41
+ var(--color-mint-green-12)
42
+ );
42
43
  }
43
44
 
44
45
  &--white {
45
- color: var(--color-black-80);
46
-
47
- &::after {
48
- color: var(--color-white);
49
- }
46
+ --text-color: var(--color-black-80);
47
+ --background-color: var(--color-white);
50
48
  }
51
49
 
52
50
  /** deprecated */
53
51
  &--mint-green {
54
- color: var(--color-black-80);
55
-
56
- &::after {
57
- color: var(--color-mint-green);
58
- }
52
+ --text-color: var(--color-black-80);
53
+ --background-color: var(--color-mint-green);
59
54
  }
60
55
 
61
56
  /** deprecated */
62
57
  &--lavender {
63
- color: var(--color-black-80);
64
-
65
- &::after {
66
- color: var(--color-lavender);
67
- }
58
+ --text-color: var(--color-black-80);
59
+ --background-color: var(--color-lavender);
68
60
  }
69
61
 
70
62
  &--sand-yellow,/** deprecated */
71
63
  &--warning {
72
- color: var(--color-black-80);
73
-
74
- &::after {
75
- color: var(--color-sand-yellow);
76
- }
64
+ --text-color: var(--color-black-80);
65
+ --background-color: var(--color-sand-yellow);
77
66
  }
78
67
 
79
68
  &--pistachio,/** deprecated */
80
69
  &--info {
81
- color: var(--color-black-80);
82
-
83
- &::after {
84
- color: var(--color-pistachio);
85
- }
70
+ --text-color: var(--color-black-80);
71
+ --background-color: var(--color-pistachio);
86
72
  }
87
73
 
88
74
  /** deprecated */
89
75
  &--black-3 {
90
- color: var(--color-black-80);
91
-
92
- &::after {
93
- color: var(--color-black-3);
94
- }
76
+ --text-color: var(--color-black-80);
77
+ --background-color: var(--color-black-3);
95
78
  }
96
79
 
97
80
  /** deprecated */
98
81
  &--emerald-green {
99
- color: var(--color-mint-green);
100
-
101
- &::after {
102
- color: var(--color-emerald-green);
103
- }
82
+ --text-color: var(--color-mint-green);
83
+ --background-color: var(--color-emerald-green);
104
84
  }
105
85
 
106
86
  /** deprecated */
107
87
  &--sea-green {
108
- color: var(--color-white);
109
-
110
- &::after {
111
- color: var(--color-sea-green);
112
- }
88
+ --text-color: var(--color-white);
89
+ --background-color: var(--color-sea-green);
113
90
  }
114
91
 
115
92
  /** deprecated */
116
93
  &--fire-red {
117
- color: var(--color-white);
118
-
119
- &::after {
120
- color: var(--color-fire-red);
121
- }
94
+ --text-color: var(--color-white);
95
+ --background-color: var(--color-fire-red);
122
96
  }
123
97
 
124
98
  &--fire-red-8,/** deprecated */
125
99
  &--error {
126
- color: var(--color-black-80);
127
-
128
- &::after {
129
- color: var(--color-fire-red-8);
130
- }
100
+ --text-color: var(--color-black-80);
101
+ --background-color: var(--color-fire-red-8);
131
102
  }
132
103
 
133
104
  &--success {
134
- color: var(--color-white);
135
-
136
- &::after {
137
- color: var(--color-success-green);
138
- }
105
+ --text-color: var(--color-white);
106
+ --background-color: var(--color-success-green);
139
107
  }
140
108
 
141
109
  // Contrast styles
@@ -149,18 +117,18 @@
149
117
  &--fire-red .dnb-button--tertiary,/** deprecated */
150
118
  &--emerald-green .dnb-button--tertiary,/** deprecated */
151
119
  &--sea-green .dnb-button--tertiary /** deprecated */ {
152
- color: var(--color-white);
120
+ --text-color: var(--color-white);
153
121
 
154
122
  &:hover {
155
- color: var(--color-white);
123
+ --text-color: var(--color-white);
156
124
  }
157
125
 
158
126
  &:hover .dnb-button__text::after {
159
- color: var(--color-white) !important;
127
+ --text-color: var(--color-white) !important;
160
128
  }
161
129
 
162
130
  &:focus {
163
- color: var(--color-white);
131
+ --text-color: var(--color-white);
164
132
 
165
133
  &::before {
166
134
  @include focusRing(null, var(--color-white));
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["element", "inline", "no_collapse", "top", "right", "bottom", "left", "space", "stretch", "skeleton", "innerRef", "className", "children"],
4
+ const _excluded = ["element", "inline", "no_collapse", "top", "right", "bottom", "left", "style", "space", "innerSpace", "stretch", "skeleton", "innerRef", "className", "children"],
5
5
  _excluded2 = ["element", "no_collapse", "children", "innerRef"];
6
6
  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; }
7
7
  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; }
@@ -10,9 +10,8 @@ import classnames from 'classnames';
10
10
  import { isTrue, extendPropsWithContext, validateDOMAttributes } from '../../shared/component-helper';
11
11
  import Context from '../../shared/Context';
12
12
  import { spacingPropTypes } from './SpacingHelper';
13
- import { createSpacingClasses, isInline } from './SpacingUtils';
13
+ import { createSpacingClasses, createSpacingProperties, isInline } from './SpacingUtils';
14
14
  import { skeletonDOMAttributes, createSkeletonClass } from '../skeleton/SkeletonHelper';
15
- import Section from '../section/Section';
16
15
  export { spacingPropTypes };
17
16
  const defaultProps = {};
18
17
  export default function Space(localProps) {
@@ -30,7 +29,9 @@ export default function Space(localProps) {
30
29
  right,
31
30
  bottom,
32
31
  left,
32
+ style,
33
33
  space,
34
+ innerSpace,
34
35
  stretch,
35
36
  skeleton,
36
37
  innerRef,
@@ -47,11 +48,13 @@ export default function Space(localProps) {
47
48
  space
48
49
  }), className, isTrue(stretch) && 'dnb-space--stretch', isTrue(inline) && 'dnb-space--inline')
49
50
  }, attributes);
51
+ const styleObj = _objectSpread(_objectSpread({}, style), createSpacingProperties(props));
50
52
  skeletonDOMAttributes(params, skeleton);
51
53
  return React.createElement(Element, _extends({
52
54
  element: element,
53
55
  no_collapse: no_collapse,
54
- innerRef: innerRef
56
+ innerRef: innerRef,
57
+ style: styleObj
55
58
  }, params), children);
56
59
  }
57
60
  Space._supportsSpacingProps = true;
@@ -64,17 +67,13 @@ function Element(_ref) {
64
67
  } = _ref,
65
68
  props = _objectWithoutProperties(_ref, _excluded2);
66
69
  const ElementDynamic = element;
67
- let component = null;
68
- if (ElementDynamic === Section) {
69
- component = React.createElement(ElementDynamic, _extends({}, props, {
70
- inner_ref: innerRef
71
- }), children);
70
+ if ((element === null || element === void 0 ? void 0 : element['_name']) === 'Section') {
71
+ props['innerRef'] = innerRef;
72
72
  } else {
73
73
  validateDOMAttributes({}, props);
74
- component = React.createElement(ElementDynamic, _extends({}, props, {
75
- ref: innerRef
76
- }), children);
74
+ props['ref'] = innerRef;
77
75
  }
76
+ const component = React.createElement(ElementDynamic, props, children);
78
77
  if (isTrue(no_collapse)) {
79
78
  const R = ElementDynamic === 'span' || isInline(element) ? 'span' : 'div';
80
79
  return React.createElement(R, {
@@ -1 +1 @@
1
- {"version":3,"file":"Space.js","names":["React","classnames","isTrue","extendPropsWithContext","validateDOMAttributes","Context","spacingPropTypes","createSpacingClasses","isInline","skeletonDOMAttributes","createSkeletonClass","Section","defaultProps","Space","localProps","context","useContext","props","space","skeleton","element","inline","no_collapse","top","right","bottom","left","stretch","innerRef","className","children","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","createElement","Element","_extends","_supportsSpacingProps","_ref","_excluded2","ElementDynamic","component","inner_ref","ref","R"],"sources":["../../../../src/components/space/Space.tsx"],"sourcesContent":["/**\n * Web Space Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { spacingPropTypes } from './SpacingHelper'\nimport { createSpacingClasses, isInline } from './SpacingUtils'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Section from '../section/Section'\n\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../Skeleton'\n\nexport { spacingPropTypes }\n\nexport type SpaceProps = {\n /**\n * Defines the HTML element used.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * If set to `true`, then `display: inline-block;` is used, so the HTML elements get aligned horizontally. Defaults to `false`.\n * Default: false\n */\n inline?: boolean\n\n /**\n * If set to `true`, then a wrapper with `display: flow-root;` is used. This way you avoid **Margin Collapsing**. Defaults to `false`. _Note:_ You can't use `inline={true}` in combination.\n * Default: false\n */\n no_collapse?: boolean\n\n /**\n * If set to `true`, then the space element will be 100% in `width`.\n * Default: false\n */\n stretch?: boolean\n\n /**\n * If set to `true`, a loading skeleton will be shown.\n * Default: false\n */\n skeleton?: SkeletonShow\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & SpacingProps\n\nexport type SpaceAllProps = SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {}\n\nexport default function Space(localProps: SpaceAllProps) {\n const context = React.useContext<ContextProps & SpacingProps>(Context)\n\n // consume the space context\n const props = context.space\n ? // use only the props from context, who are available here anyway\n extendPropsWithContext(\n localProps,\n defaultProps,\n { space: context.space },\n { skeleton: context?.skeleton }\n )\n : localProps\n\n const {\n element = 'div',\n inline,\n no_collapse,\n top,\n right,\n bottom,\n left,\n space,\n stretch,\n skeleton,\n innerRef,\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-space',\n isTrue(stretch) && 'dnb-space--stretch',\n isTrue(inline) && 'dnb-space--inline',\n createSkeletonClass(null, skeleton), // do not send along context\n createSpacingClasses({ top, right, bottom, left, space }),\n className\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton) // do not send along context\n\n return (\n <Element\n element={element}\n no_collapse={no_collapse}\n innerRef={innerRef}\n {...params}\n >\n {children}\n </Element>\n )\n}\n\nSpace._supportsSpacingProps = true\n\nfunction Element({\n element,\n no_collapse,\n children,\n innerRef,\n ...props\n}: SpaceAllProps) {\n const ElementDynamic = element as DynamicElement<any>\n let component: React.ReactElement = null\n\n if (ElementDynamic === Section) {\n component = (\n <ElementDynamic {...props} inner_ref={innerRef}>\n {children}\n </ElementDynamic>\n )\n } else {\n // also used for code markup simulation\n validateDOMAttributes({}, props)\n\n component = (\n <ElementDynamic {...props} ref={innerRef}>\n {children}\n </ElementDynamic>\n )\n }\n\n if (isTrue(no_collapse)) {\n const R =\n ElementDynamic === 'span' || isInline(element as string)\n ? 'span'\n : 'div'\n return (\n <R\n className={classnames(\n 'dnb-space--no-collapse',\n isInline(element as string) && 'dnb-space--inline'\n )}\n >\n {component}\n </R>\n )\n }\n\n return component\n}\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,MAAM,EACNC,sBAAsB,EACtBC,qBAAqB,QAChB,+BAA+B;AACtC,OAAOC,OAAO,MAAwB,sBAAsB;AAC5D,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,oBAAoB,EAAEC,QAAQ,QAAQ,gBAAgB;AAC/D,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,4BAA4B;AACnC,OAAOC,OAAO,MAAM,oBAAoB;AAKxC,SAASL,gBAAgB;AA2CzB,MAAMM,YAAY,GAAG,CAAC,CAAC;AAEvB,eAAe,SAASC,KAAKA,CAACC,UAAyB,EAAE;EACvD,MAAMC,OAAO,GAAGf,KAAK,CAACgB,UAAU,CAA8BX,OAAO,CAAC;EAGtE,MAAMY,KAAK,GAAGF,OAAO,CAACG,KAAK,GAEvBf,sBAAsB,CACpBW,UAAU,EACVF,YAAY,EACZ;IAAEM,KAAK,EAAEH,OAAO,CAACG;EAAM,CAAC,EACxB;IAAEC,QAAQ,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI;EAAS,CAChC,CAAC,GACDL,UAAU;EAEd,MAAM;MACJM,OAAO,GAAG,KAAK;MACfC,MAAM;MACNC,WAAW;MACXC,GAAG;MACHC,KAAK;MACLC,MAAM;MACNC,IAAI;MACJR,KAAK;MACLS,OAAO;MACPR,QAAQ;MACRS,QAAQ;MACRC,SAAS;MACTC;IAGF,CAAC,GAAGb,KAAK;IADJc,UAAU,GAAAC,wBAAA,CACXf,KAAK,EAAAgB,SAAA;EAET,MAAMC,MAAM,GAAAC,aAAA;IACVN,SAAS,EAAE5B,UAAU,CACnB,WAAW,EAGXS,mBAAmB,CAAC,IAAI,EAAES,QAAQ,CAAC,EACnCZ,oBAAoB,CAAC;MAAEgB,GAAG;MAAEC,KAAK;MAAEC,MAAM;MAAEC,IAAI;MAAER;IAAM,CAAC,CAAC,EACzDW,SAAS,EAJT3B,MAAM,CAACyB,OAAO,CAAC,IAAI,oBAAoB,EACvCzB,MAAM,CAACmB,MAAM,CAAC,IAAI,mBAIpB;EAAC,GACEU,UAAU,CACd;EAEDtB,qBAAqB,CAACyB,MAAM,EAAEf,QAAQ,CAAC;EAEvC,OACEnB,KAAA,CAAAoC,aAAA,CAACC,OAAO,EAAAC,QAAA;IACNlB,OAAO,EAAEA,OAAQ;IACjBE,WAAW,EAAEA,WAAY;IACzBM,QAAQ,EAAEA;EAAS,GACfM,MAAM,GAETJ,QACM,CAAC;AAEd;AAEAjB,KAAK,CAAC0B,qBAAqB,GAAG,IAAI;AAElC,SAASF,OAAOA,CAAAG,IAAA,EAME;EAAA,IAND;MACfpB,OAAO;MACPE,WAAW;MACXQ,QAAQ;MACRF;IAEa,CAAC,GAAAY,IAAA;IADXvB,KAAK,GAAAe,wBAAA,CAAAQ,IAAA,EAAAC,UAAA;EAER,MAAMC,cAAc,GAAGtB,OAA8B;EACrD,IAAIuB,SAA6B,GAAG,IAAI;EAExC,IAAID,cAAc,KAAK/B,OAAO,EAAE;IAC9BgC,SAAS,GACP3C,KAAA,CAAAoC,aAAA,CAACM,cAAc,EAAAJ,QAAA,KAAKrB,KAAK;MAAE2B,SAAS,EAAEhB;IAAS,IAC5CE,QACa,CACjB;EACH,CAAC,MAAM;IAEL1B,qBAAqB,CAAC,CAAC,CAAC,EAAEa,KAAK,CAAC;IAEhC0B,SAAS,GACP3C,KAAA,CAAAoC,aAAA,CAACM,cAAc,EAAAJ,QAAA,KAAKrB,KAAK;MAAE4B,GAAG,EAAEjB;IAAS,IACtCE,QACa,CACjB;EACH;EAEA,IAAI5B,MAAM,CAACoB,WAAW,CAAC,EAAE;IACvB,MAAMwB,CAAC,GACLJ,cAAc,KAAK,MAAM,IAAIlC,QAAQ,CAACY,OAAiB,CAAC,GACpD,MAAM,GACN,KAAK;IACX,OACEpB,KAAA,CAAAoC,aAAA,CAACU,CAAC;MACAjB,SAAS,EACP,wBAAwB,IACxBrB,QAAQ,CAACY,OAAiB,CAAC;IAC3B,GAEDuB,SACA,CAAC;EAER;EAEA,OAAOA,SAAS;AAClB"}
1
+ {"version":3,"file":"Space.js","names":["React","classnames","isTrue","extendPropsWithContext","validateDOMAttributes","Context","spacingPropTypes","createSpacingClasses","createSpacingProperties","isInline","skeletonDOMAttributes","createSkeletonClass","defaultProps","Space","localProps","context","useContext","props","space","skeleton","element","inline","no_collapse","top","right","bottom","left","style","innerSpace","stretch","innerRef","className","children","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","styleObj","createElement","Element","_extends","_supportsSpacingProps","_ref","_excluded2","ElementDynamic","component","R"],"sources":["../../../../src/components/space/Space.tsx"],"sourcesContent":["/**\n * Web Space Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { spacingPropTypes } from './SpacingHelper'\nimport {\n createSpacingClasses,\n createSpacingProperties,\n isInline,\n} from './SpacingUtils'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type {\n DynamicElement,\n DynamicElementParams,\n SpacingProps,\n} from '../../shared/types'\nimport type { SkeletonShow } from '../Skeleton'\n\nexport { spacingPropTypes }\n\nexport type SpaceProps = {\n /**\n * Defines the HTML element used.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * If set to `true`, then `display: inline-block;` is used, so the HTML elements get aligned horizontally. Defaults to `false`.\n * Default: false\n */\n inline?: boolean\n\n /**\n * If set to `true`, then a wrapper with `display: flow-root;` is used. This way you avoid **Margin Collapsing**. Defaults to `false`. _Note:_ You can't use `inline={true}` in combination.\n * Default: false\n */\n no_collapse?: boolean\n\n /**\n * If set to `true`, then the space element will be 100% in `width`.\n * Default: false\n */\n stretch?: boolean\n\n /**\n * If set to `true`, a loading skeleton will be shown.\n * Default: false\n */\n skeleton?: SkeletonShow\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & SpacingProps\n\nexport type SpaceAllProps = SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {}\n\nexport default function Space(localProps: SpaceAllProps) {\n const context = React.useContext<ContextProps & SpacingProps>(Context)\n\n // consume the space context\n const props = context.space\n ? // use only the props from context, who are available here anyway\n extendPropsWithContext(\n localProps,\n defaultProps,\n { space: context.space },\n { skeleton: context?.skeleton }\n )\n : localProps\n\n const {\n element = 'div',\n inline,\n no_collapse,\n top,\n right,\n bottom,\n left,\n style,\n space,\n innerSpace, // eslint-disable-line\n stretch,\n skeleton,\n innerRef,\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-space',\n isTrue(stretch) && 'dnb-space--stretch',\n isTrue(inline) && 'dnb-space--inline',\n createSkeletonClass(null, skeleton), // do not send along context\n createSpacingClasses({ top, right, bottom, left, space }),\n className\n ),\n ...attributes,\n }\n\n const styleObj = {\n ...style,\n ...createSpacingProperties(props),\n } as React.CSSProperties\n\n skeletonDOMAttributes(params, skeleton) // do not send along context\n\n return (\n <Element\n element={element}\n no_collapse={no_collapse}\n innerRef={innerRef}\n style={styleObj}\n {...params}\n >\n {children}\n </Element>\n )\n}\n\nSpace._supportsSpacingProps = true\n\nfunction Element({\n element,\n no_collapse,\n children,\n innerRef,\n ...props\n}: SpaceAllProps) {\n const ElementDynamic = element\n\n if (element?.['_name'] === 'Section') {\n props['innerRef'] = innerRef\n } else {\n // also used for code markup simulation\n validateDOMAttributes({}, props)\n props['ref'] = innerRef\n }\n\n const component = (\n <ElementDynamic {...(props as DynamicElementParams)}>\n {children}\n </ElementDynamic>\n )\n\n if (isTrue(no_collapse)) {\n const R =\n ElementDynamic === 'span' || isInline(element as string)\n ? 'span'\n : 'div'\n return (\n <R\n className={classnames(\n 'dnb-space--no-collapse',\n isInline(element as string) && 'dnb-space--inline'\n )}\n >\n {component}\n </R>\n )\n }\n\n return component\n}\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,MAAM,EACNC,sBAAsB,EACtBC,qBAAqB,QAChB,+BAA+B;AACtC,OAAOC,OAAO,MAAwB,sBAAsB;AAC5D,SAASC,gBAAgB,QAAQ,iBAAiB;AAClD,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,QAAQ,QACH,gBAAgB;AACvB,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,4BAA4B;AASnC,SAASL,gBAAgB;AA2CzB,MAAMM,YAAY,GAAG,CAAC,CAAC;AAEvB,eAAe,SAASC,KAAKA,CAACC,UAAyB,EAAE;EACvD,MAAMC,OAAO,GAAGf,KAAK,CAACgB,UAAU,CAA8BX,OAAO,CAAC;EAGtE,MAAMY,KAAK,GAAGF,OAAO,CAACG,KAAK,GAEvBf,sBAAsB,CACpBW,UAAU,EACVF,YAAY,EACZ;IAAEM,KAAK,EAAEH,OAAO,CAACG;EAAM,CAAC,EACxB;IAAEC,QAAQ,EAAEJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI;EAAS,CAChC,CAAC,GACDL,UAAU;EAEd,MAAM;MACJM,OAAO,GAAG,KAAK;MACfC,MAAM;MACNC,WAAW;MACXC,GAAG;MACHC,KAAK;MACLC,MAAM;MACNC,IAAI;MACJC,KAAK;MACLT,KAAK;MACLU,UAAU;MACVC,OAAO;MACPV,QAAQ;MACRW,QAAQ;MACRC,SAAS;MACTC;IAGF,CAAC,GAAGf,KAAK;IADJgB,UAAU,GAAAC,wBAAA,CACXjB,KAAK,EAAAkB,SAAA;EAET,MAAMC,MAAM,GAAAC,aAAA;IACVN,SAAS,EAAE9B,UAAU,CACnB,WAAW,EAGXU,mBAAmB,CAAC,IAAI,EAAEQ,QAAQ,CAAC,EACnCZ,oBAAoB,CAAC;MAAEgB,GAAG;MAAEC,KAAK;MAAEC,MAAM;MAAEC,IAAI;MAAER;IAAM,CAAC,CAAC,EACzDa,SAAS,EAJT7B,MAAM,CAAC2B,OAAO,CAAC,IAAI,oBAAoB,EACvC3B,MAAM,CAACmB,MAAM,CAAC,IAAI,mBAIpB;EAAC,GACEY,UAAU,CACd;EAED,MAAMK,QAAQ,GAAAD,aAAA,CAAAA,aAAA,KACTV,KAAK,GACLnB,uBAAuB,CAACS,KAAK,CAAC,CACX;EAExBP,qBAAqB,CAAC0B,MAAM,EAAEjB,QAAQ,CAAC;EAEvC,OACEnB,KAAA,CAAAuC,aAAA,CAACC,OAAO,EAAAC,QAAA;IACNrB,OAAO,EAAEA,OAAQ;IACjBE,WAAW,EAAEA,WAAY;IACzBQ,QAAQ,EAAEA,QAAS;IACnBH,KAAK,EAAEW;EAAS,GACZF,MAAM,GAETJ,QACM,CAAC;AAEd;AAEAnB,KAAK,CAAC6B,qBAAqB,GAAG,IAAI;AAElC,SAASF,OAAOA,CAAAG,IAAA,EAME;EAAA,IAND;MACfvB,OAAO;MACPE,WAAW;MACXU,QAAQ;MACRF;IAEa,CAAC,GAAAa,IAAA;IADX1B,KAAK,GAAAiB,wBAAA,CAAAS,IAAA,EAAAC,UAAA;EAER,MAAMC,cAAc,GAAGzB,OAAO;EAE9B,IAAI,CAAAA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,OAAO,CAAC,MAAK,SAAS,EAAE;IACpCH,KAAK,CAAC,UAAU,CAAC,GAAGa,QAAQ;EAC9B,CAAC,MAAM;IAEL1B,qBAAqB,CAAC,CAAC,CAAC,EAAEa,KAAK,CAAC;IAChCA,KAAK,CAAC,KAAK,CAAC,GAAGa,QAAQ;EACzB;EAEA,MAAMgB,SAAS,GACb9C,KAAA,CAAAuC,aAAA,CAACM,cAAc,EAAM5B,KAAK,EACvBe,QACa,CACjB;EAED,IAAI9B,MAAM,CAACoB,WAAW,CAAC,EAAE;IACvB,MAAMyB,CAAC,GACLF,cAAc,KAAK,MAAM,IAAIpC,QAAQ,CAACW,OAAiB,CAAC,GACpD,MAAM,GACN,KAAK;IACX,OACEpB,KAAA,CAAAuC,aAAA,CAACQ,CAAC;MACAhB,SAAS,EACP,wBAAwB,IACxBtB,QAAQ,CAACW,OAAiB,CAAC;IAC3B,GAED0B,SACA,CAAC;EAER;EAEA,OAAOA,SAAS;AAClB"}
@@ -10,7 +10,5 @@ export namespace spacingPropTypes {
10
10
  const bottom: PropTypes.Requireable<NonNullable<string | number | boolean>>;
11
11
  const left: PropTypes.Requireable<NonNullable<string | number | boolean>>;
12
12
  }
13
- import { createSpacingClasses } from './SpacingUtils';
14
- import { removeSpaceProps } from './SpacingUtils';
15
13
  import PropTypes from 'prop-types';
16
- export { createSpacingClasses, removeSpaceProps };
14
+ export { createSpacingClasses, createSpacingProperties, removeSpaceProps } from "./SpacingUtils";
@@ -1,6 +1,5 @@
1
1
  import PropTypes from 'prop-types';
2
- import { createSpacingClasses, removeSpaceProps } from './SpacingUtils';
3
- export { createSpacingClasses, removeSpaceProps };
2
+ export { createSpacingClasses, createSpacingProperties, removeSpaceProps } from './SpacingUtils';
4
3
  export const spacingPropTypes = {
5
4
  space: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool, PropTypes.shape({
6
5
  top: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]),
@@ -1 +1 @@
1
- {"version":3,"file":"SpacingHelper.js","names":["PropTypes","createSpacingClasses","removeSpaceProps","spacingPropTypes","space","oneOfType","string","number","bool","shape","top","right","bottom","left"],"sources":["../../../../src/components/space/SpacingHelper.js"],"sourcesContent":["/**\n * Space helper\n * NB: Because it contains \"PropTypes\" we keep this file as a JavaScript file.\n */\n\nimport PropTypes from 'prop-types'\nimport { createSpacingClasses, removeSpaceProps } from './SpacingUtils'\n\nexport { createSpacingClasses, removeSpaceProps } // because of ESLint import plugin\n\nexport const spacingPropTypes = {\n space: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.shape({\n top: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n right: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n bottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n }),\n ]),\n top: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n right: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n bottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n}\n"],"mappings":"AAKA,OAAOA,SAAS,MAAM,YAAY;AAClC,SAASC,oBAAoB,EAAEC,gBAAgB,QAAQ,gBAAgB;AAEvE,SAASD,oBAAoB,EAAEC,gBAAgB;AAE/C,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,KAAK,EAAEJ,SAAS,CAACK,SAAS,CAAC,CACzBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,EACdR,SAAS,CAACS,KAAK,CAAC;IACdC,GAAG,EAAEV,SAAS,CAACK,SAAS,CAAC,CACvBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf,CAAC;IACFG,KAAK,EAAEX,SAAS,CAACK,SAAS,CAAC,CACzBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf,CAAC;IACFI,MAAM,EAAEZ,SAAS,CAACK,SAAS,CAAC,CAC1BL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf,CAAC;IACFK,IAAI,EAAEb,SAAS,CAACK,SAAS,CAAC,CACxBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf;EACH,CAAC,CAAC,CACH,CAAC;EACFE,GAAG,EAAEV,SAAS,CAACK,SAAS,CAAC,CACvBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf,CAAC;EACFG,KAAK,EAAEX,SAAS,CAACK,SAAS,CAAC,CACzBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf,CAAC;EACFI,MAAM,EAAEZ,SAAS,CAACK,SAAS,CAAC,CAC1BL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf,CAAC;EACFK,IAAI,EAAEb,SAAS,CAACK,SAAS,CAAC,CACxBL,SAAS,CAACM,MAAM,EAChBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,IAAI,CACf;AACH,CAAC"}
1
+ {"version":3,"file":"SpacingHelper.js","names":["PropTypes","createSpacingClasses","createSpacingProperties","removeSpaceProps","spacingPropTypes","space","oneOfType","string","number","bool","shape","top","right","bottom","left"],"sources":["../../../../src/components/space/SpacingHelper.js"],"sourcesContent":["/**\n * Space helper\n * NB: Because it contains \"PropTypes\" we keep this file as a JavaScript file.\n */\n\nimport PropTypes from 'prop-types'\nexport {\n createSpacingClasses,\n createSpacingProperties,\n removeSpaceProps,\n} from './SpacingUtils'\n\nexport const spacingPropTypes = {\n space: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.shape({\n top: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n right: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n bottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n }),\n ]),\n top: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n right: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n bottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n}\n"],"mappings":"AAKA,OAAOA,SAAS,MAAM,YAAY;AAClC,SACEC,oBAAoB,EACpBC,uBAAuB,EACvBC,gBAAgB,QACX,gBAAgB;AAEvB,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,KAAK,EAAEL,SAAS,CAACM,SAAS,CAAC,CACzBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,EACdT,SAAS,CAACU,KAAK,CAAC;IACdC,GAAG,EAAEX,SAAS,CAACM,SAAS,CAAC,CACvBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;IACFG,KAAK,EAAEZ,SAAS,CAACM,SAAS,CAAC,CACzBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;IACFI,MAAM,EAAEb,SAAS,CAACM,SAAS,CAAC,CAC1BN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;IACFK,IAAI,EAAEd,SAAS,CAACM,SAAS,CAAC,CACxBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf;EACH,CAAC,CAAC,CACH,CAAC;EACFE,GAAG,EAAEX,SAAS,CAACM,SAAS,CAAC,CACvBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;EACFG,KAAK,EAAEZ,SAAS,CAACM,SAAS,CAAC,CACzBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;EACFI,MAAM,EAAEb,SAAS,CAACM,SAAS,CAAC,CAC1BN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf,CAAC;EACFK,IAAI,EAAEd,SAAS,CAACM,SAAS,CAAC,CACxBN,SAAS,CAACO,MAAM,EAChBP,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACS,IAAI,CACf;AACH,CAAC"}
@@ -2,11 +2,18 @@
2
2
  * Space helper
3
3
  *
4
4
  */
5
- import type { SpaceType, SpacingUnknownProps, SpacingProps, SpaceTypesPositiveValuesType, SpaceTypesPositiveRemValuesType } from './types';
5
+ import type { SpaceType, SpacingUnknownProps, SpacingProps, SpaceTypesPositiveValuesType, SpaceTypesPositiveRemValuesType, SpacingElementProps } from './types';
6
6
  type SpaceNumber = number;
7
7
  export declare const spacingDefaultProps: SpacingProps;
8
8
  export declare const spacePatterns: Record<SpaceTypesPositiveValuesType, SpaceTypesPositiveRemValuesType>;
9
9
  export declare const calc: (...types: Array<SpaceType>) => any;
10
+ /**
11
+ * Creates a valid space CSS style out from given space types
12
+ *
13
+ * @param props
14
+ * @returns { '--space-b-l': '2rem', '--space-t-l': '1rem' }
15
+ */
16
+ export declare const createSpacingProperties: (props: SpacingProps) => React.CSSProperties;
10
17
  /**
11
18
  * Creates a valid space CSS class out from given space types
12
19
  *
@@ -27,6 +34,6 @@ export declare const findType: (num: SpaceNumber) => SpaceType;
27
34
  export declare const findTypeAll: (num: SpaceNumber) => Array<SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType>;
28
35
  export declare const findNearestTypes: (num: SpaceNumber, multiply?: boolean) => any[];
29
36
  export declare const isValidSpaceProp: (propName: string) => boolean;
30
- export declare const removeSpaceProps: (props: SpacingProps | SpacingUnknownProps) => SpacingProps | SpacingUnknownProps;
37
+ export declare const removeSpaceProps: <Props extends SpacingProps>(props: Props) => Omit<Props, "space" | "innerSpace" | keyof SpacingElementProps>;
31
38
  export declare const isInline: (elementName: string) => boolean;
32
39
  export {};
@@ -1,9 +1,12 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ const _excluded = ["space", "innerSpace", "top", "bottom", "left", "right"];
2
4
  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; }
3
5
  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
6
  import { warn } from '../../shared/component-helper';
5
7
  export const spacingDefaultProps = {
6
8
  space: null,
9
+ innerSpace: null,
7
10
  top: null,
8
11
  right: null,
9
12
  bottom: null,
@@ -36,6 +39,61 @@ export const calc = function () {
36
39
  });
37
40
  return result.length ? globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})` : null;
38
41
  };
42
+ export const createSpacingProperties = props => {
43
+ if (props !== null && props !== void 0 && props.innerSpace) {
44
+ return computeProperties(props.innerSpace);
45
+ }
46
+ return {};
47
+ };
48
+ function hasMediaSize(media) {
49
+ const keys = Object.keys(media);
50
+ return keys.includes('small') || keys.includes('medium') || keys.includes('large');
51
+ }
52
+ function hasSize(space) {
53
+ const keys = Object.keys(space);
54
+ return keys.includes('top') || keys.includes('right') || keys.includes('bottom') || keys.includes('left');
55
+ }
56
+ function computeProperties(space) {
57
+ if (!hasMediaSize(space)) {
58
+ space = {
59
+ small: space,
60
+ medium: space,
61
+ large: space
62
+ };
63
+ }
64
+ const result = {};
65
+ for (const size in space) {
66
+ var _space;
67
+ const value = (_space = space) === null || _space === void 0 ? void 0 : _space[size];
68
+ const props = transformToAll(value);
69
+ for (const key in props) {
70
+ if (isValidSpaceProp(key)) {
71
+ const cur = props[key];
72
+ const name = `--space-${key[0]}-${size[0]}`;
73
+ if (String(cur) === '0' || String(cur) === 'false') {
74
+ result[name] = '0';
75
+ } else if (cur) {
76
+ const typeModifiers = createTypeModifiers(cur);
77
+ const sum = sumTypes(typeModifiers);
78
+ result[name] = `${sum}rem`;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return result;
84
+ }
85
+ function transformToAll(value) {
86
+ let result = value;
87
+ if (!hasSize(value)) {
88
+ result = {
89
+ top: value,
90
+ right: value,
91
+ bottom: value,
92
+ left: value
93
+ };
94
+ }
95
+ return result;
96
+ }
39
97
  export const createSpacingClasses = function (props) {
40
98
  let Element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
41
99
  const p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
@@ -54,7 +112,7 @@ export const createSpacingClasses = function (props) {
54
112
  }
55
113
  return Object.entries(p).reduce((acc, _ref) => {
56
114
  let [direction, cur] = _ref;
57
- if (isValidSpaceProp(direction)) {
115
+ if (isValidSpaceProp(direction) && direction !== 'innerSpace') {
58
116
  if (String(cur) === '0' || String(cur) === 'false') {
59
117
  acc.push(`dnb-space__${direction}--zero`);
60
118
  } else if (cur) {
@@ -170,15 +228,18 @@ export const findNearestTypes = function (num) {
170
228
  }
171
229
  return res;
172
230
  };
173
- export const isValidSpaceProp = propName => propName && ['top', 'right', 'bottom', 'left'].includes(propName);
231
+ export const isValidSpaceProp = propName => propName && ['top', 'right', 'bottom', 'left', 'space', 'innerSpace'].includes(propName);
174
232
  export const removeSpaceProps = props => {
175
- const p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
176
- for (const i in p) {
177
- if (isValidSpaceProp(i)) {
178
- delete p[i];
179
- }
180
- }
181
- return p;
233
+ const {
234
+ space,
235
+ innerSpace,
236
+ top,
237
+ bottom,
238
+ left,
239
+ right
240
+ } = props,
241
+ restProps = _objectWithoutProperties(props, _excluded);
242
+ return restProps;
182
243
  };
183
244
  export const isInline = elementName => {
184
245
  switch (elementName) {
@@ -1 +1 @@
1
- {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","_len","arguments","length","types","Array","_key","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","createSpacingClasses","props","Element","undefined","p","Object","isFrozen","_objectSpread","i","isValidSpaceProp","entries","reduce","acc","_ref","direction","cur","String","typeModifiers","sum","sumTypes","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","_ref2","k","v","multiply","res","near","reverse","includes","_ref3","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","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} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: 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 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.top = p.right = p.bottom = p.left = 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)) {\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 && ['top', 'right', 'bottom', 'left'].includes(propName)\n\nexport const removeSpaceProps = (\n props: SpacingProps | SpacingUnknownProps\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n for (const i in p) {\n if (isValidSpaceProp(i)) {\n delete p[i]\n }\n }\n return p\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","_len","arguments","length","types","Array","_key","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","createSpacingProperties","props","computeProperties","hasMediaSize","media","keys","Object","includes","hasSize","size","_space","value","transformToAll","key","isValidSpaceProp","cur","name","String","typeModifiers","sum","sumTypes","createSpacingClasses","Element","undefined","p","isFrozen","_objectSpread","i","entries","reduce","acc","_ref","direction","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","_ref2","k","v","multiply","res","near","reverse","_ref3","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.top = p.right = p.bottom = p.left = 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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"}
@@ -561,6 +561,42 @@
561
561
  .dnb-space__reset:not([class*=dnb-space__right]) {
562
562
  margin-right: 0;
563
563
  }
564
+ .dnb-space[style*="--space-t-"] {
565
+ padding-top: var(--padding-top, 0);
566
+ }
567
+ .dnb-space[style*="--space-r-"] {
568
+ padding-right: var(--padding-right, 0);
569
+ }
570
+ .dnb-space[style*="--space-b-"] {
571
+ padding-bottom: var(--padding-bottom, 0);
572
+ }
573
+ .dnb-space[style*="--space-l-"] {
574
+ padding-left: var(--padding-left, 0);
575
+ }
576
+ @media screen and (max-width: 60em) {
577
+ .dnb-space {
578
+ --padding-right: var(--space-r-s);
579
+ --padding-left: var(--space-l-s);
580
+ --padding-top: var(--space-t-s);
581
+ --padding-bottom: var(--space-b-s);
582
+ }
583
+ }
584
+ @media screen and (max-width: 59.9375em) and (min-width: 40.0625em) {
585
+ .dnb-space {
586
+ --padding-right: var(--space-r-m);
587
+ --padding-left: var(--space-l-m);
588
+ --padding-top: var(--space-t-m);
589
+ --padding-bottom: var(--space-b-m);
590
+ }
591
+ }
592
+ @media screen and (min-width: 60em) {
593
+ .dnb-space {
594
+ --padding-right: var(--space-r-l);
595
+ --padding-left: var(--space-l-l);
596
+ --padding-top: var(--space-t-l);
597
+ --padding-bottom: var(--space-b-l);
598
+ }
599
+ }
564
600
 
565
601
  span.dnb-space--no-collapse > span {
566
602
  display: block;