@dnb/eufemia 10.19.0 → 10.20.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 (759) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/accordion/AccordionContent.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  4. package/cjs/components/accordion/style/dnb-accordion.css +0 -3
  5. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  7. package/cjs/components/breadcrumb/Breadcrumb.js +11 -2
  8. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  9. package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -8
  10. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  11. package/cjs/components/card/Card.d.ts +6 -4
  12. package/cjs/components/card/Card.js +11 -15
  13. package/cjs/components/card/Card.js.map +1 -1
  14. package/cjs/components/card/style/dnb-card.css +29 -0
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +41 -0
  17. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  18. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  19. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  20. package/cjs/components/date-picker/DatePickerProvider.js +10 -10
  21. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  22. package/cjs/components/flex/Container.js +1 -1
  23. package/cjs/components/flex/Container.js.map +1 -1
  24. package/cjs/components/flex/Item.js +8 -13
  25. package/cjs/components/flex/Item.js.map +1 -1
  26. package/cjs/components/flex/style/dnb-flex.css +3 -0
  27. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  28. package/cjs/components/flex/style/flex-container.scss +3 -0
  29. package/cjs/components/flex/utils.d.ts +35 -7
  30. package/cjs/components/flex/utils.js +65 -33
  31. package/cjs/components/flex/utils.js.map +1 -1
  32. package/cjs/components/form-status/FormStatus.d.ts +5 -1
  33. package/cjs/components/form-status/FormStatus.js +38 -44
  34. package/cjs/components/form-status/FormStatus.js.map +1 -1
  35. package/cjs/components/form-status/style/dnb-form-status.css +0 -18
  36. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  37. package/cjs/components/form-status/style/dnb-form-status.scss +0 -45
  38. package/cjs/components/global-status/GlobalStatus.js +52 -138
  39. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  40. package/cjs/components/global-status/style/dnb-global-status.css +6 -16
  41. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  42. package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
  43. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  44. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  45. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  46. package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
  47. package/cjs/components/height-animation/HeightAnimation.js +31 -14
  48. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  49. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  50. package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
  51. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  52. package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
  53. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  54. package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
  55. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  56. package/cjs/components/height-animation/useHeightAnimation.js +125 -92
  57. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  58. package/cjs/components/number-format/NumberFormat.d.ts +7 -12
  59. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
  60. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  61. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
  62. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  63. package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
  64. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  65. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  66. package/cjs/components/table/TableAccordionContent.js +51 -23
  67. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  68. package/cjs/components/table/style/dnb-table.css +6 -3
  69. package/cjs/components/table/style/dnb-table.min.css +1 -1
  70. package/cjs/components/table/style/table-accordion.scss +6 -3
  71. package/cjs/components/tabs/Tabs.js +2 -1
  72. package/cjs/components/tabs/Tabs.js.map +1 -1
  73. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
  74. package/cjs/components/tabs/TabsContentWrapper.js +8 -6
  75. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  76. package/cjs/components/upload/Upload.js +15 -18
  77. package/cjs/components/upload/Upload.js.map +1 -1
  78. package/cjs/components/upload/UploadFileInput.js +3 -1
  79. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  80. package/cjs/components/upload/UploadFileList.js +1 -1
  81. package/cjs/components/upload/UploadFileList.js.map +1 -1
  82. package/cjs/components/upload/UploadStatus.js +6 -2
  83. package/cjs/components/upload/UploadStatus.js.map +1 -1
  84. package/cjs/components/upload/useUpload.js +5 -6
  85. package/cjs/components/upload/useUpload.js.map +1 -1
  86. package/cjs/elements/lib.d.ts +6 -0
  87. package/cjs/elements/typography/H1.d.ts +1 -0
  88. package/cjs/elements/typography/H1.js +1 -1
  89. package/cjs/elements/typography/H1.js.map +1 -1
  90. package/cjs/elements/typography/H2.d.ts +1 -0
  91. package/cjs/elements/typography/H2.js +1 -1
  92. package/cjs/elements/typography/H2.js.map +1 -1
  93. package/cjs/elements/typography/H3.d.ts +1 -0
  94. package/cjs/elements/typography/H3.js +1 -1
  95. package/cjs/elements/typography/H3.js.map +1 -1
  96. package/cjs/elements/typography/H4.d.ts +1 -0
  97. package/cjs/elements/typography/H4.js +1 -1
  98. package/cjs/elements/typography/H4.js.map +1 -1
  99. package/cjs/elements/typography/H5.d.ts +1 -0
  100. package/cjs/elements/typography/H5.js +1 -1
  101. package/cjs/elements/typography/H5.js.map +1 -1
  102. package/cjs/elements/typography/H6.d.ts +1 -0
  103. package/cjs/elements/typography/H6.js +1 -1
  104. package/cjs/elements/typography/H6.js.map +1 -1
  105. package/cjs/extensions/forms/DataContext/Context.d.ts +18 -5
  106. package/cjs/extensions/forms/DataContext/Context.js +9 -0
  107. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  108. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  109. package/cjs/extensions/forms/DataContext/Provider/Provider.js +127 -57
  110. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  111. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  112. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  113. package/cjs/extensions/forms/Field/Date/Date.js +4 -3
  114. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Email/Email.js +3 -2
  116. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  118. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  119. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  120. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -4
  122. package/cjs/extensions/forms/Field/Number/Number.js +14 -15
  123. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  124. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  125. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  127. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  129. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  130. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  131. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  132. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  133. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/String/String.js +5 -3
  135. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  136. package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -2
  137. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  138. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  139. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  140. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  141. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  142. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  143. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  144. package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
  145. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  146. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  147. package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
  148. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  149. package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
  150. package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
  151. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
  152. package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
  153. package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
  154. package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
  155. package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
  156. package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
  157. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
  158. package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
  159. package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
  160. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
  161. package/cjs/extensions/forms/Form/index.d.ts +4 -1
  162. package/cjs/extensions/forms/Form/index.js +22 -1
  163. package/cjs/extensions/forms/Form/index.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  165. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  166. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  167. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
  168. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  169. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  170. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  171. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  172. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -3
  173. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
  175. package/cjs/extensions/forms/Value/Number/Number.js +25 -27
  176. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  177. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  178. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  179. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  180. package/cjs/extensions/forms/hooks/index.js +7 -0
  181. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  182. package/cjs/extensions/forms/hooks/useDataValue.d.ts +6 -1
  183. package/cjs/extensions/forms/hooks/useDataValue.js +76 -21
  184. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  186. package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
  187. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  188. package/cjs/extensions/forms/index.d.ts +1 -0
  189. package/cjs/extensions/forms/index.js +9 -1
  190. package/cjs/extensions/forms/index.js.map +1 -1
  191. package/cjs/extensions/forms/style/dnb-forms.css +34 -5
  192. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  193. package/cjs/extensions/forms/types.d.ts +22 -7
  194. package/cjs/extensions/forms/types.js.map +1 -1
  195. package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
  196. package/cjs/extensions/forms/utils/ajv.js +29 -13
  197. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  198. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  199. package/cjs/extensions/forms/utils/index.js +0 -12
  200. package/cjs/extensions/forms/utils/index.js.map +1 -1
  201. package/cjs/shared/Eufemia.d.ts +1 -1
  202. package/cjs/shared/Eufemia.js +2 -2
  203. package/cjs/shared/Eufemia.js.map +1 -1
  204. package/cjs/shared/component-helper.js +0 -3
  205. package/cjs/shared/component-helper.js.map +1 -1
  206. package/cjs/shared/helpers/useSharedState.d.ts +28 -7
  207. package/cjs/shared/helpers/useSharedState.js +62 -43
  208. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  209. package/cjs/shared/locales/en-GB.d.ts +1 -0
  210. package/cjs/shared/locales/en-GB.js +1 -0
  211. package/cjs/shared/locales/en-GB.js.map +1 -1
  212. package/cjs/shared/locales/en-US.d.ts +1 -0
  213. package/cjs/shared/locales/index.d.ts +2 -0
  214. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  215. package/cjs/shared/locales/nb-NO.js +1 -0
  216. package/cjs/shared/locales/nb-NO.js.map +1 -1
  217. package/cjs/style/core/utilities.scss +1 -1
  218. package/cjs/style/dnb-ui-components.css +94 -52
  219. package/cjs/style/dnb-ui-components.min.css +3 -3
  220. package/cjs/style/dnb-ui-extensions.css +34 -5
  221. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  222. package/cjs/style/dnb-ui-forms.css +34 -5
  223. package/cjs/style/dnb-ui-forms.min.css +1 -1
  224. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  225. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  230. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  231. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  232. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  233. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  235. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  236. package/cjs/style/themes/theme-ui/ui-theme-components.css +129 -79
  237. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  238. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  239. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  240. package/cjs/style/themes/theme-ui/ui-theme-forms.css +34 -5
  241. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  242. package/components/accordion/AccordionContent.d.ts +1 -1
  243. package/components/accordion/AccordionContent.js.map +1 -1
  244. package/components/accordion/style/dnb-accordion.css +0 -3
  245. package/components/accordion/style/dnb-accordion.min.css +1 -1
  246. package/components/accordion/style/dnb-accordion.scss +0 -5
  247. package/components/breadcrumb/Breadcrumb.js +11 -2
  248. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  249. package/components/breadcrumb/BreadcrumbItem.js +11 -8
  250. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  251. package/components/card/Card.d.ts +6 -4
  252. package/components/card/Card.js +11 -15
  253. package/components/card/Card.js.map +1 -1
  254. package/components/card/style/dnb-card.css +29 -0
  255. package/components/card/style/dnb-card.min.css +1 -1
  256. package/components/card/style/dnb-card.scss +41 -0
  257. package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  258. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  259. package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  260. package/components/date-picker/DatePickerProvider.js +10 -10
  261. package/components/date-picker/DatePickerProvider.js.map +1 -1
  262. package/components/flex/Container.js +1 -1
  263. package/components/flex/Container.js.map +1 -1
  264. package/components/flex/Item.js +8 -11
  265. package/components/flex/Item.js.map +1 -1
  266. package/components/flex/style/dnb-flex.css +3 -0
  267. package/components/flex/style/dnb-flex.min.css +1 -1
  268. package/components/flex/style/flex-container.scss +3 -0
  269. package/components/flex/utils.d.ts +35 -7
  270. package/components/flex/utils.js +56 -24
  271. package/components/flex/utils.js.map +1 -1
  272. package/components/form-status/FormStatus.d.ts +5 -1
  273. package/components/form-status/FormStatus.js +38 -44
  274. package/components/form-status/FormStatus.js.map +1 -1
  275. package/components/form-status/style/dnb-form-status.css +0 -18
  276. package/components/form-status/style/dnb-form-status.min.css +1 -1
  277. package/components/form-status/style/dnb-form-status.scss +0 -45
  278. package/components/global-status/GlobalStatus.js +53 -139
  279. package/components/global-status/GlobalStatus.js.map +1 -1
  280. package/components/global-status/style/dnb-global-status.css +6 -16
  281. package/components/global-status/style/dnb-global-status.min.css +1 -1
  282. package/components/global-status/style/dnb-global-status.scss +11 -23
  283. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  284. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  285. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  286. package/components/height-animation/HeightAnimation.d.ts +12 -4
  287. package/components/height-animation/HeightAnimation.js +27 -14
  288. package/components/height-animation/HeightAnimation.js.map +1 -1
  289. package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  290. package/components/height-animation/HeightAnimationInstance.js +186 -158
  291. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  292. package/components/height-animation/style/dnb-height-animation.css +16 -2
  293. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  294. package/components/height-animation/style/dnb-height-animation.scss +18 -2
  295. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  296. package/components/height-animation/useHeightAnimation.js +124 -92
  297. package/components/height-animation/useHeightAnimation.js.map +1 -1
  298. package/components/number-format/NumberFormat.d.ts +7 -12
  299. package/components/step-indicator/StepIndicatorItem.js +4 -22
  300. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  301. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  302. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  303. package/components/step-indicator/style/dnb-step-indicator.css +0 -5
  304. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  305. package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  306. package/components/table/TableAccordionContent.js +48 -23
  307. package/components/table/TableAccordionContent.js.map +1 -1
  308. package/components/table/style/dnb-table.css +6 -3
  309. package/components/table/style/dnb-table.min.css +1 -1
  310. package/components/table/style/table-accordion.scss +6 -3
  311. package/components/tabs/Tabs.js +2 -1
  312. package/components/tabs/Tabs.js.map +1 -1
  313. package/components/tabs/TabsContentWrapper.d.ts +1 -0
  314. package/components/tabs/TabsContentWrapper.js +8 -6
  315. package/components/tabs/TabsContentWrapper.js.map +1 -1
  316. package/components/upload/Upload.js +13 -18
  317. package/components/upload/Upload.js.map +1 -1
  318. package/components/upload/UploadFileInput.js +3 -1
  319. package/components/upload/UploadFileInput.js.map +1 -1
  320. package/components/upload/UploadFileList.js +1 -1
  321. package/components/upload/UploadFileList.js.map +1 -1
  322. package/components/upload/UploadStatus.js +6 -2
  323. package/components/upload/UploadStatus.js.map +1 -1
  324. package/components/upload/useUpload.js +5 -7
  325. package/components/upload/useUpload.js.map +1 -1
  326. package/elements/lib.d.ts +6 -0
  327. package/elements/typography/H1.d.ts +1 -0
  328. package/elements/typography/H1.js +1 -1
  329. package/elements/typography/H1.js.map +1 -1
  330. package/elements/typography/H2.d.ts +1 -0
  331. package/elements/typography/H2.js +1 -1
  332. package/elements/typography/H2.js.map +1 -1
  333. package/elements/typography/H3.d.ts +1 -0
  334. package/elements/typography/H3.js +1 -1
  335. package/elements/typography/H3.js.map +1 -1
  336. package/elements/typography/H4.d.ts +1 -0
  337. package/elements/typography/H4.js +1 -1
  338. package/elements/typography/H4.js.map +1 -1
  339. package/elements/typography/H5.d.ts +1 -0
  340. package/elements/typography/H5.js +1 -1
  341. package/elements/typography/H5.js.map +1 -1
  342. package/elements/typography/H6.d.ts +1 -0
  343. package/elements/typography/H6.js +1 -1
  344. package/elements/typography/H6.js.map +1 -1
  345. package/es/components/accordion/AccordionContent.d.ts +1 -1
  346. package/es/components/accordion/AccordionContent.js.map +1 -1
  347. package/es/components/accordion/style/dnb-accordion.css +0 -3
  348. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  349. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  350. package/es/components/breadcrumb/Breadcrumb.js +11 -2
  351. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  352. package/es/components/breadcrumb/BreadcrumbItem.js +11 -8
  353. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  354. package/es/components/card/Card.d.ts +6 -4
  355. package/es/components/card/Card.js +11 -15
  356. package/es/components/card/Card.js.map +1 -1
  357. package/es/components/card/style/dnb-card.css +29 -0
  358. package/es/components/card/style/dnb-card.min.css +1 -1
  359. package/es/components/card/style/dnb-card.scss +41 -0
  360. package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  361. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  362. package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  363. package/es/components/date-picker/DatePickerProvider.js +10 -10
  364. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  365. package/es/components/flex/Container.js +1 -1
  366. package/es/components/flex/Container.js.map +1 -1
  367. package/es/components/flex/Item.js +8 -11
  368. package/es/components/flex/Item.js.map +1 -1
  369. package/es/components/flex/style/dnb-flex.css +3 -0
  370. package/es/components/flex/style/dnb-flex.min.css +1 -1
  371. package/es/components/flex/style/flex-container.scss +3 -0
  372. package/es/components/flex/utils.d.ts +35 -7
  373. package/es/components/flex/utils.js +55 -24
  374. package/es/components/flex/utils.js.map +1 -1
  375. package/es/components/form-status/FormStatus.d.ts +5 -1
  376. package/es/components/form-status/FormStatus.js +38 -44
  377. package/es/components/form-status/FormStatus.js.map +1 -1
  378. package/es/components/form-status/style/dnb-form-status.css +0 -18
  379. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  380. package/es/components/form-status/style/dnb-form-status.scss +0 -45
  381. package/es/components/global-status/GlobalStatus.js +51 -133
  382. package/es/components/global-status/GlobalStatus.js.map +1 -1
  383. package/es/components/global-status/style/dnb-global-status.css +6 -16
  384. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  385. package/es/components/global-status/style/dnb-global-status.scss +11 -23
  386. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  387. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  388. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  389. package/es/components/height-animation/HeightAnimation.d.ts +12 -4
  390. package/es/components/height-animation/HeightAnimation.js +27 -14
  391. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  392. package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  393. package/es/components/height-animation/HeightAnimationInstance.js +188 -155
  394. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  395. package/es/components/height-animation/style/dnb-height-animation.css +16 -2
  396. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  397. package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
  398. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  399. package/es/components/height-animation/useHeightAnimation.js +124 -92
  400. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  401. package/es/components/number-format/NumberFormat.d.ts +7 -12
  402. package/es/components/step-indicator/StepIndicatorItem.js +4 -22
  403. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  404. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  405. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  406. package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
  407. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  408. package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  409. package/es/components/table/TableAccordionContent.js +47 -23
  410. package/es/components/table/TableAccordionContent.js.map +1 -1
  411. package/es/components/table/style/dnb-table.css +6 -3
  412. package/es/components/table/style/dnb-table.min.css +1 -1
  413. package/es/components/table/style/table-accordion.scss +6 -3
  414. package/es/components/tabs/Tabs.js +2 -1
  415. package/es/components/tabs/Tabs.js.map +1 -1
  416. package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
  417. package/es/components/tabs/TabsContentWrapper.js +8 -6
  418. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  419. package/es/components/upload/Upload.js +13 -18
  420. package/es/components/upload/Upload.js.map +1 -1
  421. package/es/components/upload/UploadFileInput.js +3 -1
  422. package/es/components/upload/UploadFileInput.js.map +1 -1
  423. package/es/components/upload/UploadFileList.js +1 -1
  424. package/es/components/upload/UploadFileList.js.map +1 -1
  425. package/es/components/upload/UploadStatus.js +6 -2
  426. package/es/components/upload/UploadStatus.js.map +1 -1
  427. package/es/components/upload/useUpload.js +5 -7
  428. package/es/components/upload/useUpload.js.map +1 -1
  429. package/es/elements/lib.d.ts +6 -0
  430. package/es/elements/typography/H1.d.ts +1 -0
  431. package/es/elements/typography/H1.js +1 -1
  432. package/es/elements/typography/H1.js.map +1 -1
  433. package/es/elements/typography/H2.d.ts +1 -0
  434. package/es/elements/typography/H2.js +1 -1
  435. package/es/elements/typography/H2.js.map +1 -1
  436. package/es/elements/typography/H3.d.ts +1 -0
  437. package/es/elements/typography/H3.js +1 -1
  438. package/es/elements/typography/H3.js.map +1 -1
  439. package/es/elements/typography/H4.d.ts +1 -0
  440. package/es/elements/typography/H4.js +1 -1
  441. package/es/elements/typography/H4.js.map +1 -1
  442. package/es/elements/typography/H5.d.ts +1 -0
  443. package/es/elements/typography/H5.js +1 -1
  444. package/es/elements/typography/H5.js.map +1 -1
  445. package/es/elements/typography/H6.d.ts +1 -0
  446. package/es/elements/typography/H6.js +1 -1
  447. package/es/elements/typography/H6.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Context.d.ts +18 -5
  449. package/es/extensions/forms/DataContext/Context.js +9 -0
  450. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  451. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  452. package/es/extensions/forms/DataContext/Provider/Provider.js +126 -58
  453. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  454. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  455. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  456. package/es/extensions/forms/Field/Date/Date.js +4 -3
  457. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  458. package/es/extensions/forms/Field/Email/Email.js +4 -3
  459. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  460. package/es/extensions/forms/Field/Expiry/Expiry.js +5 -4
  461. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  462. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  463. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  464. package/es/extensions/forms/Field/Number/Number.d.ts +2 -4
  465. package/es/extensions/forms/Field/Number/Number.js +14 -15
  466. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  467. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  468. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  469. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  470. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  471. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  472. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  473. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  474. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  475. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  476. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  477. package/es/extensions/forms/Field/String/String.js +5 -3
  478. package/es/extensions/forms/Field/String/String.js.map +1 -1
  479. package/es/extensions/forms/Field/Toggle/Toggle.js +5 -2
  480. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  486. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  487. package/es/extensions/forms/Form/Handler/Handler.js +7 -1
  488. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  489. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  490. package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
  491. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  492. package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
  493. package/es/extensions/forms/Form/data-context/getData.js +15 -0
  494. package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
  495. package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
  496. package/es/extensions/forms/Form/data-context/setData.js +6 -0
  497. package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
  498. package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
  499. package/es/extensions/forms/Form/data-context/useData.js +58 -0
  500. package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
  501. package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
  502. package/es/extensions/forms/Form/data-context/useError.js +13 -0
  503. package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
  504. package/es/extensions/forms/Form/index.d.ts +4 -1
  505. package/es/extensions/forms/Form/index.js +4 -1
  506. package/es/extensions/forms/Form/index.js.map +1 -1
  507. package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  508. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  509. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  510. package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  511. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  512. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  513. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  514. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  515. package/es/extensions/forms/Value/Currency/Currency.js +2 -3
  516. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  517. package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
  518. package/es/extensions/forms/Value/Number/Number.js +22 -27
  519. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  520. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  521. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  522. package/es/extensions/forms/hooks/index.d.ts +1 -0
  523. package/es/extensions/forms/hooks/index.js +1 -0
  524. package/es/extensions/forms/hooks/index.js.map +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.d.ts +6 -1
  526. package/es/extensions/forms/hooks/useDataValue.js +72 -19
  527. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  528. package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  529. package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
  530. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  531. package/es/extensions/forms/index.d.ts +1 -0
  532. package/es/extensions/forms/index.js +1 -0
  533. package/es/extensions/forms/index.js.map +1 -1
  534. package/es/extensions/forms/style/dnb-forms.css +34 -5
  535. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  536. package/es/extensions/forms/types.d.ts +22 -7
  537. package/es/extensions/forms/types.js.map +1 -1
  538. package/es/extensions/forms/utils/ajv.d.ts +47 -6
  539. package/es/extensions/forms/utils/ajv.js +23 -15
  540. package/es/extensions/forms/utils/ajv.js.map +1 -1
  541. package/es/extensions/forms/utils/index.d.ts +0 -1
  542. package/es/extensions/forms/utils/index.js +0 -1
  543. package/es/extensions/forms/utils/index.js.map +1 -1
  544. package/es/shared/Eufemia.d.ts +1 -1
  545. package/es/shared/Eufemia.js +2 -2
  546. package/es/shared/Eufemia.js.map +1 -1
  547. package/es/shared/component-helper.js +0 -3
  548. package/es/shared/component-helper.js.map +1 -1
  549. package/es/shared/helpers/useSharedState.d.ts +28 -7
  550. package/es/shared/helpers/useSharedState.js +62 -43
  551. package/es/shared/helpers/useSharedState.js.map +1 -1
  552. package/es/shared/locales/en-GB.d.ts +1 -0
  553. package/es/shared/locales/en-GB.js +1 -0
  554. package/es/shared/locales/en-GB.js.map +1 -1
  555. package/es/shared/locales/en-US.d.ts +1 -0
  556. package/es/shared/locales/index.d.ts +2 -0
  557. package/es/shared/locales/nb-NO.d.ts +1 -0
  558. package/es/shared/locales/nb-NO.js +1 -0
  559. package/es/shared/locales/nb-NO.js.map +1 -1
  560. package/es/style/core/utilities.scss +1 -1
  561. package/es/style/dnb-ui-components.css +94 -52
  562. package/es/style/dnb-ui-components.min.css +3 -3
  563. package/es/style/dnb-ui-extensions.css +34 -5
  564. package/es/style/dnb-ui-extensions.min.css +1 -1
  565. package/es/style/dnb-ui-forms.css +34 -5
  566. package/es/style/dnb-ui-forms.min.css +1 -1
  567. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  568. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  569. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  570. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  571. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  572. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  573. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  574. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  575. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  576. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  577. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  578. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  579. package/es/style/themes/theme-ui/ui-theme-components.css +129 -79
  580. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  581. package/es/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  582. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  583. package/es/style/themes/theme-ui/ui-theme-forms.css +34 -5
  584. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  585. package/esm/dnb-ui-basis.min.mjs +1 -1
  586. package/esm/dnb-ui-components.min.mjs +1 -1
  587. package/esm/dnb-ui-elements.min.mjs +1 -1
  588. package/esm/dnb-ui-extensions.min.mjs +3 -3
  589. package/esm/dnb-ui-lib.min.mjs +1 -1
  590. package/extensions/forms/DataContext/Context.d.ts +18 -5
  591. package/extensions/forms/DataContext/Context.js +9 -0
  592. package/extensions/forms/DataContext/Context.js.map +1 -1
  593. package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  594. package/extensions/forms/DataContext/Provider/Provider.js +128 -58
  595. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  596. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  597. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  598. package/extensions/forms/Field/Date/Date.js +4 -3
  599. package/extensions/forms/Field/Date/Date.js.map +1 -1
  600. package/extensions/forms/Field/Email/Email.js +4 -3
  601. package/extensions/forms/Field/Email/Email.js.map +1 -1
  602. package/extensions/forms/Field/Expiry/Expiry.js +5 -4
  603. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  604. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  605. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  606. package/extensions/forms/Field/Number/Number.d.ts +2 -4
  607. package/extensions/forms/Field/Number/Number.js +14 -15
  608. package/extensions/forms/Field/Number/Number.js.map +1 -1
  609. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  610. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  611. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  612. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  613. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  614. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  615. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  616. package/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  617. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  618. package/extensions/forms/Field/String/String.d.ts +2 -2
  619. package/extensions/forms/Field/String/String.js +5 -3
  620. package/extensions/forms/Field/String/String.js.map +1 -1
  621. package/extensions/forms/Field/Toggle/Toggle.js +5 -2
  622. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  623. package/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  624. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  625. package/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  626. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  627. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  628. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  629. package/extensions/forms/Form/Handler/Handler.js +7 -1
  630. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  631. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  632. package/extensions/forms/Form/Visibility/Visibility.js +53 -39
  633. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  634. package/extensions/forms/Form/data-context/getData.d.ts +8 -0
  635. package/extensions/forms/Form/data-context/getData.js +15 -0
  636. package/extensions/forms/Form/data-context/getData.js.map +1 -0
  637. package/extensions/forms/Form/data-context/setData.d.ts +2 -0
  638. package/extensions/forms/Form/data-context/setData.js +6 -0
  639. package/extensions/forms/Form/data-context/setData.js.map +1 -0
  640. package/extensions/forms/Form/data-context/useData.d.ts +22 -0
  641. package/extensions/forms/Form/data-context/useData.js +59 -0
  642. package/extensions/forms/Form/data-context/useData.js.map +1 -0
  643. package/extensions/forms/Form/data-context/useError.d.ts +5 -0
  644. package/extensions/forms/Form/data-context/useError.js +13 -0
  645. package/extensions/forms/Form/data-context/useError.js.map +1 -0
  646. package/extensions/forms/Form/index.d.ts +4 -1
  647. package/extensions/forms/Form/index.js +4 -1
  648. package/extensions/forms/Form/index.js.map +1 -1
  649. package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  650. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  651. package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  652. package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  653. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  654. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  655. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  656. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  657. package/extensions/forms/Value/Currency/Currency.js +2 -3
  658. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  659. package/extensions/forms/Value/Number/Number.d.ts +6 -10
  660. package/extensions/forms/Value/Number/Number.js +22 -27
  661. package/extensions/forms/Value/Number/Number.js.map +1 -1
  662. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  663. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  664. package/extensions/forms/hooks/index.d.ts +1 -0
  665. package/extensions/forms/hooks/index.js +1 -0
  666. package/extensions/forms/hooks/index.js.map +1 -1
  667. package/extensions/forms/hooks/useDataValue.d.ts +6 -1
  668. package/extensions/forms/hooks/useDataValue.js +74 -19
  669. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  670. package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  671. package/extensions/forms/hooks/useErrorMessage.js +15 -0
  672. package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  673. package/extensions/forms/index.d.ts +1 -0
  674. package/extensions/forms/index.js +1 -0
  675. package/extensions/forms/index.js.map +1 -1
  676. package/extensions/forms/style/dnb-forms.css +34 -5
  677. package/extensions/forms/style/dnb-forms.min.css +1 -1
  678. package/extensions/forms/types.d.ts +22 -7
  679. package/extensions/forms/types.js.map +1 -1
  680. package/extensions/forms/utils/ajv.d.ts +47 -6
  681. package/extensions/forms/utils/ajv.js +23 -15
  682. package/extensions/forms/utils/ajv.js.map +1 -1
  683. package/extensions/forms/utils/index.d.ts +0 -1
  684. package/extensions/forms/utils/index.js +0 -1
  685. package/extensions/forms/utils/index.js.map +1 -1
  686. package/package.json +1 -1
  687. package/shared/Eufemia.d.ts +1 -1
  688. package/shared/Eufemia.js +2 -2
  689. package/shared/Eufemia.js.map +1 -1
  690. package/shared/component-helper.js +0 -3
  691. package/shared/component-helper.js.map +1 -1
  692. package/shared/helpers/useSharedState.d.ts +28 -7
  693. package/shared/helpers/useSharedState.js +62 -43
  694. package/shared/helpers/useSharedState.js.map +1 -1
  695. package/shared/locales/en-GB.d.ts +1 -0
  696. package/shared/locales/en-GB.js +1 -0
  697. package/shared/locales/en-GB.js.map +1 -1
  698. package/shared/locales/en-US.d.ts +1 -0
  699. package/shared/locales/index.d.ts +2 -0
  700. package/shared/locales/nb-NO.d.ts +1 -0
  701. package/shared/locales/nb-NO.js +1 -0
  702. package/shared/locales/nb-NO.js.map +1 -1
  703. package/style/core/utilities.scss +1 -1
  704. package/style/dnb-ui-components.css +94 -52
  705. package/style/dnb-ui-components.min.css +3 -3
  706. package/style/dnb-ui-extensions.css +34 -5
  707. package/style/dnb-ui-extensions.min.css +1 -1
  708. package/style/dnb-ui-forms.css +34 -5
  709. package/style/dnb-ui-forms.min.css +1 -1
  710. package/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  711. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  712. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  713. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  714. package/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  715. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  716. package/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  717. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  718. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  719. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  720. package/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  721. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  722. package/style/themes/theme-ui/ui-theme-components.css +129 -79
  723. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  724. package/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  725. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  726. package/style/themes/theme-ui/ui-theme-forms.css +34 -5
  727. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  728. package/umd/dnb-ui-basis.min.js +1 -1
  729. package/umd/dnb-ui-components.min.js +1 -1
  730. package/umd/dnb-ui-elements.min.js +1 -1
  731. package/umd/dnb-ui-extensions.min.js +3 -3
  732. package/umd/dnb-ui-lib.min.js +1 -1
  733. package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
  734. package/cjs/components/global-status/AnimationHelper.js +0 -109
  735. package/cjs/components/global-status/AnimationHelper.js.map +0 -1
  736. package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
  737. package/cjs/extensions/forms/Form/hooks/useData.js +0 -39
  738. package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
  739. package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
  740. package/cjs/extensions/forms/utils/numbers.js +0 -42
  741. package/cjs/extensions/forms/utils/numbers.js.map +0 -1
  742. package/components/global-status/AnimationHelper.d.ts +0 -12
  743. package/components/global-status/AnimationHelper.js +0 -100
  744. package/components/global-status/AnimationHelper.js.map +0 -1
  745. package/es/components/global-status/AnimationHelper.d.ts +0 -12
  746. package/es/components/global-status/AnimationHelper.js +0 -100
  747. package/es/components/global-status/AnimationHelper.js.map +0 -1
  748. package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
  749. package/es/extensions/forms/Form/hooks/useData.js +0 -32
  750. package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
  751. package/es/extensions/forms/utils/numbers.d.ts +0 -17
  752. package/es/extensions/forms/utils/numbers.js +0 -35
  753. package/es/extensions/forms/utils/numbers.js.map +0 -1
  754. package/extensions/forms/Form/hooks/useData.d.ts +0 -10
  755. package/extensions/forms/Form/hooks/useData.js +0 -33
  756. package/extensions/forms/Form/hooks/useData.js.map +0 -1
  757. package/extensions/forms/utils/numbers.d.ts +0 -17
  758. package/extensions/forms/utils/numbers.js +0 -35
  759. package/extensions/forms/utils/numbers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.js","names":["React","Button","IconPrimary","P","homeIcon","useTheme","useMediaQuery","Context","extendPropsWithContext","filterProps","useLayoutEffect","window","useEffect","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","BreadcrumbItem","localProps","context","useContext","translation","Breadcrumb","homeText","_extendPropsWithConte","itemNr","props","_objectWithoutProperties","_excluded","theme","matchOnSSR","when","max","currentIcon","setCurrentIcon","useState","name","currentText","isInteractive","to","style","String","createElement","className","undefined","_extends","icon_position","on_click","key","includes","space","_supportsSpacingProps"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n extendPropsWithContext,\n filterProps,\n} from '../../shared/component-helper'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type BreadcrumbItemProps = {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n} & Omit<ButtonProps, 'variant'>\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return homeIcon\n case 'single':\n case 'collapse':\n return 'chevron_left'\n default:\n return isSmallScreen ? 'chevron_left' : 'chevron_right'\n }\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const theme = useTheme()\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n const [currentIcon, setCurrentIcon] = React.useState(null)\n\n useLayoutEffect(() => {\n if (!icon && theme?.name === 'sbanken') {\n const currentIcon = determineSbankenIcon(variant, isSmallScreen)\n setCurrentIcon(currentIcon)\n } else {\n setCurrentIcon(\n icon || (variant === 'home' && homeIcon) || 'chevron_left'\n )\n }\n }, [icon, isSmallScreen, theme?.name, variant])\n\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive =\n (href || onClick || props.to) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={currentIcon}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span\n className=\"dnb-breadcrumb__item__span\"\n // TODO: Consider deprecating passing down props to span in v11\n {...filterProps(props, (key) => !key.includes('-'))}\n >\n {currentIcon && (\n <IconPrimary\n icon={currentIcon}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n )}\n <P space=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nBreadcrumbItem._supportsSpacingProps = true\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbItem.js","names":["React","Button","IconPrimary","P","homeIcon","useTheme","useMediaQuery","Context","extendPropsWithContext","filterProps","useLayoutEffect","window","useEffect","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","BreadcrumbItem","localProps","context","useContext","translation","Breadcrumb","homeText","_extendPropsWithConte","itemNr","props","_objectWithoutProperties","_excluded","theme","matchOnSSR","when","max","currentIcon","setCurrentIcon","useState","name","currentText","isInteractive","to","style","String","iconToUse","createElement","className","undefined","_extends","icon_position","on_click","key","includes","space","_supportsSpacingProps"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n extendPropsWithContext,\n filterProps,\n} from '../../shared/component-helper'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type BreadcrumbItemProps = {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n} & Omit<ButtonProps, 'variant'>\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return 'home-icon'\n case 'single':\n case 'collapse':\n return 'chevron_left'\n default:\n return isSmallScreen ? 'chevron_left' : 'chevron_right'\n }\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const theme = useTheme()\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n const [currentIcon, setCurrentIcon] =\n React.useState<IconIcon>('chevron_left')\n\n useLayoutEffect(() => {\n if (!icon && theme?.name === 'sbanken') {\n const icon = determineSbankenIcon(variant, isSmallScreen)\n setCurrentIcon(icon)\n } else {\n if (variant !== 'home') {\n setCurrentIcon(icon ?? 'chevron_left')\n }\n }\n }, [icon, isSmallScreen, theme?.name, variant])\n\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive =\n (href || onClick || props.to) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n const iconToUse =\n variant === 'home' || currentIcon === 'home-icon'\n ? homeIcon\n : currentIcon\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={iconToUse}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span\n className=\"dnb-breadcrumb__item__span\"\n // TODO: Consider deprecating passing down props to span in v11\n {...filterProps(props, (key) => !key.includes('-'))}\n >\n <IconPrimary\n icon={iconToUse}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n <P space=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nBreadcrumbItem._supportsSpacingProps = true\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import type { Props as FlexContainerProps } from '../flex/Container';
2
- import type { Props as FlexItemProps } from '../flex/Item';
3
- export type Props = Omit<FlexContainerProps & FlexItemProps, 'ref' | 'wrap'> & {
1
+ import React from 'react';
2
+ import type { BasicProps as FlexContainerProps } from '../flex/Container';
3
+ import type { BasicProps as FlexItemProps } from '../flex/Item';
4
+ import { SpaceProps } from '../Space';
5
+ export type Props = FlexContainerProps & FlexItemProps & {
4
6
  stack?: boolean;
5
- };
7
+ } & SpaceProps & Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>;
6
8
  declare function Card(props: Props): import("react/jsx-runtime").JSX.Element;
7
9
  declare namespace Card {
8
10
  var _supportsSpacingProps: boolean;
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["className", "stack", "direction", "spacing", "innerSpace", "alignSelf", "divider", "children"];
4
+ const _excluded = ["className", "stack", "direction", "spacing", "innerSpace", "alignSelf", "divider", "rowGap", "children"];
5
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  import React from 'react';
@@ -17,6 +17,7 @@ function Card(props) {
17
17
  innerSpace,
18
18
  alignSelf = 'stretch',
19
19
  divider = 'space',
20
+ rowGap,
20
21
  children
21
22
  } = props,
22
23
  rest = _objectWithoutProperties(props, _excluded);
@@ -42,7 +43,6 @@ function Card(props) {
42
43
  });
43
44
  const params = SectionParams(_objectSpread({
44
45
  className: classnames('dnb-card', className),
45
- backgroundColor: 'white',
46
46
  breakout: trueWhenSmall,
47
47
  roundedCorner: falseWhenSmall,
48
48
  outline: true,
@@ -50,23 +50,19 @@ function Card(props) {
50
50
  small: smallSpace,
51
51
  medium: basisSpace,
52
52
  large: basisSpace
53
- },
54
- children
53
+ }
55
54
  }, rest));
56
- if (stack || direction || spacing) {
57
- return React.createElement(Flex.Container, _extends({
58
- direction: direction !== null && direction !== void 0 ? direction : 'vertical',
59
- divider: divider,
60
- wrap: false,
61
- spacing: spacing,
62
- alignSelf: alignSelf,
63
- element: "section"
64
- }, params));
65
- }
66
55
  return React.createElement(Flex.Item, _extends({
67
56
  alignSelf: alignSelf,
68
57
  element: "section"
69
- }, params));
58
+ }, params), React.createElement(Flex.Container, {
59
+ direction: direction !== null && direction !== void 0 ? direction : 'vertical',
60
+ divider: divider,
61
+ alignSelf: alignSelf,
62
+ wrap: !stack,
63
+ spacing: stack ? 'small' : spacing || false,
64
+ rowGap: rowGap || false
65
+ }, children));
70
66
  }
71
67
  Card._supportsSpacingProps = true;
72
68
  export default Card;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","classnames","Flex","SectionParams","Card","props","className","stack","direction","spacing","innerSpace","alignSelf","divider","children","rest","_objectWithoutProperties","_excluded","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","backgroundColor","breakout","roundedCorner","outline","createElement","Container","_extends","wrap","element","Item","_supportsSpacingProps"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams } from '../section/Section'\n\nimport type { Props as FlexContainerProps } from '../flex/Container'\nimport type { Props as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\n\nexport type Props = Omit<\n FlexContainerProps & FlexItemProps,\n 'ref' | 'wrap'\n> & {\n stack?: boolean\n}\nfunction Card(props: Props) {\n const {\n className,\n stack,\n direction,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n divider = 'space',\n children,\n ...rest\n } = props\n\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n\n const params = SectionParams({\n className: classnames('dnb-card', className),\n backgroundColor: 'white',\n breakout: trueWhenSmall,\n roundedCorner: falseWhenSmall,\n outline: true,\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n children,\n ...rest,\n })\n\n if (stack || direction || spacing) {\n return (\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n wrap={false}\n spacing={spacing}\n alignSelf={alignSelf}\n element=\"section\"\n {...params}\n />\n )\n }\n\n return <Flex.Item alignSelf={alignSelf} element=\"section\" {...params} />\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,IAAI,MAAM,cAAc;AAC/B,SAASC,aAAa,QAAQ,oBAAoB;AAYlD,SAASC,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC,SAAS,GAAG,SAAS;MACrBC,OAAO,GAAG,OAAO;MACjBC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,cAAc,GAAG;IAAEC,KAAK,EAAE,KAAK;IAAEC,MAAM,EAAE,IAAI;IAAEC,KAAK,EAAE;EAAK,CAAC;EAClE,MAAMC,aAAa,GAAG;IAAEH,KAAK,EAAE,IAAI;IAAEC,MAAM,EAAE,KAAK;IAAEC,KAAK,EAAE;EAAM,CAAC;EAClE,MAAME,UAAU,GAAG;IACjBC,GAAG,EAAE,QAAQ;IACbC,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE;EACR,CAAC;EACD,MAAMC,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXN,UAAU;IACbE,KAAK,EAAE,CAAC;IACRE,IAAI,EAAE;EAAC,EACR;EAED,MAAMG,MAAM,GAAG1B,aAAa,CAAAyB,aAAA;IAC1BtB,SAAS,EAAEL,UAAU,CAAC,UAAU,EAAEK,SAAS,CAAC;IAC5CwB,eAAe,EAAE,OAAO;IACxBC,QAAQ,EAAEV,aAAa;IACvBW,aAAa,EAAEf,cAAc;IAC7BgB,OAAO,EAAE,IAAI;IACbvB,UAAU,EACRA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GACT;MACCQ,KAAK,EAAES,UAAU;MACjBR,MAAM,EAAEG,UAAU;MAClBF,KAAK,EAAEE;IACT,CAAoB;IACtBT;EAAQ,GACLC,IAAI,CACR,CAAC;EAEF,IAAIP,KAAK,IAAIC,SAAS,IAAIC,OAAO,EAAE;IACjC,OACET,KAAA,CAAAkC,aAAA,CAAChC,IAAI,CAACiC,SAAS,EAAAC,QAAA;MACb5B,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,UAAW;MACnCI,OAAO,EAAEA,OAAQ;MACjByB,IAAI,EAAE,KAAM;MACZ5B,OAAO,EAAEA,OAAQ;MACjBE,SAAS,EAAEA,SAAU;MACrB2B,OAAO,EAAC;IAAS,GACbT,MAAM,CACX,CAAC;EAEN;EAEA,OAAO7B,KAAA,CAAAkC,aAAA,CAAChC,IAAI,CAACqC,IAAI,EAAAH,QAAA;IAACzB,SAAS,EAAEA,SAAU;IAAC2B,OAAO,EAAC;EAAS,GAAKT,MAAM,CAAG,CAAC;AAC1E;AAEAzB,IAAI,CAACoC,qBAAqB,GAAG,IAAI;AAEjC,eAAepC,IAAI"}
1
+ {"version":3,"file":"Card.js","names":["React","classnames","Flex","SectionParams","Card","props","className","stack","direction","spacing","innerSpace","alignSelf","divider","rowGap","children","rest","_objectWithoutProperties","_excluded","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","breakout","roundedCorner","outline","createElement","Item","_extends","element","Container","wrap","_supportsSpacingProps"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams, SectionProps } from '../section/Section'\n\nimport type { BasicProps as FlexContainerProps } from '../flex/Container'\nimport type { BasicProps as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\nimport { SpaceProps } from '../Space'\n\nexport type Props = FlexContainerProps &\n FlexItemProps & {\n stack?: boolean\n } & SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction Card(props: Props) {\n const {\n className,\n stack,\n direction,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n divider = 'space',\n rowGap,\n children,\n ...rest\n } = props\n\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n\n const params = SectionParams({\n className: classnames('dnb-card', className),\n breakout: trueWhenSmall,\n roundedCorner: falseWhenSmall,\n outline: true,\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n ...(rest as SectionProps),\n })\n\n return (\n <Flex.Item alignSelf={alignSelf} element=\"section\" {...params}>\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n alignSelf={alignSelf}\n wrap={!stack}\n spacing={stack ? 'small' : spacing || false}\n rowGap={rowGap || false}\n >\n {children}\n </Flex.Container>\n </Flex.Item>\n )\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,IAAI,MAAM,cAAc;AAC/B,SAASC,aAAa,QAAsB,oBAAoB;AAahE,SAASC,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAM;MACJC,SAAS;MACTC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC,SAAS,GAAG,SAAS;MACrBC,OAAO,GAAG,OAAO;MACjBC,MAAM;MACNC;IAEF,CAAC,GAAGT,KAAK;IADJU,IAAI,GAAAC,wBAAA,CACLX,KAAK,EAAAY,SAAA;EAET,MAAMC,cAAc,GAAG;IAAEC,KAAK,EAAE,KAAK;IAAEC,MAAM,EAAE,IAAI;IAAEC,KAAK,EAAE;EAAK,CAAC;EAClE,MAAMC,aAAa,GAAG;IAAEH,KAAK,EAAE,IAAI;IAAEC,MAAM,EAAE,KAAK;IAAEC,KAAK,EAAE;EAAM,CAAC;EAClE,MAAME,UAAU,GAAG;IACjBC,GAAG,EAAE,QAAQ;IACbC,KAAK,EAAE,QAAQ;IACfC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE;EACR,CAAC;EACD,MAAMC,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXN,UAAU;IACbE,KAAK,EAAE,CAAC;IACRE,IAAI,EAAE;EAAC,EACR;EAED,MAAMG,MAAM,GAAG3B,aAAa,CAAA0B,aAAA;IAC1BvB,SAAS,EAAEL,UAAU,CAAC,UAAU,EAAEK,SAAS,CAAC;IAC5CyB,QAAQ,EAAET,aAAa;IACvBU,aAAa,EAAEd,cAAc;IAC7Be,OAAO,EAAE,IAAI;IACbvB,UAAU,EACRA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GACT;MACCS,KAAK,EAAES,UAAU;MACjBR,MAAM,EAAEG,UAAU;MAClBF,KAAK,EAAEE;IACT;EAAoB,GAClBR,IAAI,CACT,CAAC;EAEF,OACEf,KAAA,CAAAkC,aAAA,CAAChC,IAAI,CAACiC,IAAI,EAAAC,QAAA;IAACzB,SAAS,EAAEA,SAAU;IAAC0B,OAAO,EAAC;EAAS,GAAKP,MAAM,GAC3D9B,KAAA,CAAAkC,aAAA,CAAChC,IAAI,CAACoC,SAAS;IACb9B,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,UAAW;IACnCI,OAAO,EAAEA,OAAQ;IACjBD,SAAS,EAAEA,SAAU;IACrB4B,IAAI,EAAE,CAAChC,KAAM;IACbE,OAAO,EAAEF,KAAK,GAAG,OAAO,GAAGE,OAAO,IAAI,KAAM;IAC5CI,MAAM,EAAEA,MAAM,IAAI;EAAM,GAEvBC,QACa,CACP,CAAC;AAEhB;AAEAV,IAAI,CAACoC,qBAAqB,GAAG,IAAI;AAEjC,eAAepC,IAAI"}
@@ -1,7 +1,36 @@
1
+ /*
2
+ * Utilities
3
+ */
1
4
  .dnb-card__heading {
2
5
  font-size: var(--font-size-basis);
3
6
  font-weight: var(--font-weight-medium);
4
7
  }
5
8
  .dnb-card + .dnb-card__heading {
6
9
  margin-top: var(--spacing-small);
10
+ }
11
+ .dnb-card.dnb-section {
12
+ background-color: var(--background-color);
13
+ }
14
+ @media screen and (max-width: 40em) {
15
+ .dnb-card.dnb-section::before {
16
+ left: -100vw;
17
+ right: -100vw;
18
+ }
19
+ }
20
+ @media screen and (max-width: 40em) {
21
+ .dnb-card + .dnb-card:not([class*=space__top]) {
22
+ background: linear-gradient(to left, var(--background-color), var(--background-color)) no-repeat 0 var(--outline-width);
23
+ }
24
+ .dnb-card + .dnb-card:not([class*=space__top])::before {
25
+ top: var(--outline-width);
26
+ }
27
+ }
28
+ @media screen and (max-width: 40em) {
29
+ .dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card {
30
+ margin-top: 0;
31
+ }
32
+ .dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card::before {
33
+ top: var(--outline-width);
34
+ z-index: 0;
35
+ }
7
36
  }
@@ -1 +1 @@
1
- .dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}
1
+ .dnb-card__heading{font-size:var(--font-size-basis);font-weight:var(--font-weight-medium)}.dnb-card+.dnb-card__heading{margin-top:var(--spacing-small)}.dnb-card.dnb-section{background-color:var(--background-color)}@media screen and (max-width:40em){.dnb-card.dnb-section:before{left:-100vw;right:-100vw}.dnb-card+.dnb-card:not([class*=space__top]){background:linear-gradient(to left,var(--background-color),var(--background-color)) no-repeat 0 var(--outline-width)}.dnb-card+.dnb-card:not([class*=space__top]):before{top:var(--outline-width)}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card:before{top:var(--outline-width);z-index:0}}
@@ -1,3 +1,5 @@
1
+ @import '../../../style/core/utilities.scss';
2
+
1
3
  .dnb-card {
2
4
  &__heading {
3
5
  font-size: var(--font-size-basis);
@@ -7,4 +9,43 @@
7
9
  & + &__heading {
8
10
  margin-top: var(--spacing-small);
9
11
  }
12
+
13
+ &.dnb-section {
14
+ background-color: var(--background-color);
15
+ }
16
+
17
+ @include allBelow(small) {
18
+ &.dnb-section::before {
19
+ left: -100vw;
20
+ right: -100vw;
21
+ }
22
+ }
23
+
24
+ // Show only one border (combined) when stacked
25
+ & + .dnb-card:not([class*='space__top']) {
26
+ @include allBelow(small) {
27
+ &::before {
28
+ top: var(--outline-width);
29
+ }
30
+ background: linear-gradient(
31
+ to left,
32
+ var(--background-color),
33
+ var(--background-color)
34
+ )
35
+ no-repeat 0 var(--outline-width); // with an offset
36
+ }
37
+ }
38
+
39
+ // Combine the two borers to one
40
+ .dnb-flex-container.dnb-flex-container--divider-space & + .dnb-card {
41
+ @include allBelow(small) {
42
+ // --gap: var(--outline-width);
43
+ margin-top: 0;
44
+
45
+ &::before {
46
+ top: var(--outline-width); // align background and outline
47
+ z-index: 0;
48
+ }
49
+ }
50
+ }
10
51
  }
@@ -2,25 +2,7 @@
2
2
  * Utilities
3
3
  */
4
4
  .dnb-card.dnb-section {
5
- --background-color: var(--color-white);
6
5
  --outline-color: var(--border-color, var(--color-lavender));
7
6
  --outline-width: 0.25rem;
8
- }
9
- @media screen and (max-width: 40em) {
10
- .dnb-card::before {
11
- left: -100%;
12
- right: -100%;
13
- }
14
- }
15
- .dnb-card + .dnb-card:not([class*=space__top])::before {
16
- top: var(--outline-width);
17
- }
18
- @media screen and (max-width: 40em) {
19
- .dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card {
20
- margin-top: 0;
21
- }
22
- .dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card::before {
23
- top: var(--outline-width);
24
- z-index: 0;
25
- }
7
+ --background-color: var(--color-white);
26
8
  }
@@ -1 +1 @@
1
- .dnb-card.dnb-section{--background-color:var(--color-white);--outline-color:var(--border-color,var(--color-lavender));--outline-width:0.25rem}@media screen and (max-width:40em){.dnb-card:before{left:-100%;right:-100%}}.dnb-card+.dnb-card:not([class*=space__top]):before{top:var(--outline-width)}@media screen and (max-width:40em){.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card{margin-top:0}.dnb-flex-container.dnb-flex-container--divider-space .dnb-card+.dnb-card:before{top:var(--outline-width);z-index:0}}
1
+ .dnb-card.dnb-section{--outline-color:var(--border-color,var(--color-lavender));--outline-width:0.25rem;--background-color:var(--color-white)}
@@ -2,34 +2,8 @@
2
2
 
3
3
  .dnb-card {
4
4
  &.dnb-section {
5
- --background-color: var(--color-white);
6
5
  --outline-color: var(--border-color, var(--color-lavender));
7
6
  --outline-width: 0.25rem;
8
- }
9
-
10
- @include allBelow(small) {
11
- &::before {
12
- left: -100%;
13
- right: -100%;
14
- }
15
- }
16
-
17
- // Show only one border (combined) when stacked
18
- & + .dnb-card:not([class*='space__top']) {
19
- &::before {
20
- top: var(--outline-width);
21
- }
22
- }
23
-
24
- // Combine the two borers to one
25
- .dnb-flex-container.dnb-flex-container--divider-space & + .dnb-card {
26
- @include allBelow(small) {
27
- margin-top: 0;
28
-
29
- &::before {
30
- top: var(--outline-width);
31
- z-index: 0;
32
- }
33
- }
7
+ --background-color: var(--color-white);
34
8
  }
35
9
  }
@@ -61,16 +61,16 @@ export default class DatePickerProvider extends React.PureComponent {
61
61
  date_format
62
62
  });
63
63
  }
64
- if (isTrue(props.correct_invalid_date) || (typeof props.min_date !== 'undefined' || typeof props.max_date !== 'undefined') && props.correct_invalid_date !== false) {
65
- if (isDisabled(state.startDate, state.minDate, state.maxDate)) {
66
- state.startDate = state.minDate;
67
- }
68
- if (isDisabled(state.endDate, state.minDate, state.maxDate)) {
69
- if (!props.range && !props.min_date) {
70
- state.startDate = state.maxDate;
71
- } else {
72
- state.endDate = state.maxDate;
73
- }
64
+ }
65
+ if (isTrue(props.correct_invalid_date) || (typeof props.min_date !== 'undefined' || typeof props.max_date !== 'undefined') && props.correct_invalid_date !== false) {
66
+ if (isDisabled(state.startDate, state.minDate, state.maxDate)) {
67
+ state.startDate = state.minDate;
68
+ }
69
+ if (isDisabled(state.endDate, state.minDate, state.maxDate)) {
70
+ if (!props.range && !props.min_date) {
71
+ state.startDate = state.maxDate;
72
+ } else {
73
+ state.endDate = state.maxDate;
74
74
  }
75
75
  }
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_defineProperty","cb","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerProvider.js","names":["React","PropTypes","isSameMonth","isValid","format","differenceInCalendarDays","Context","isTrue","dispatchCustomElementEvent","convertStringToDate","correctV1Format","isDisabled","DatePickerContext","getViews","DatePickerProvider","PureComponent","getDerivedStateFromProps","props","state","isRange","range","_listenForPropChanges","startDate","undefined","date_format","date","_date","start_date","_startDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","lastEventCallCache","__startDay","pad","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","views","month","_month","constructor","_defineProperty","cb","setState","_objectSpread","args","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","attributes","returnFormat","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","value","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","process","env","NODE_ENV","propTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","object","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
@@ -106,7 +106,7 @@ function FlexContainer(props) {
106
106
  const n = 'dnb-flex-container';
107
107
  const getRowGapClass = useCallback(() => {
108
108
  if (rowGap === false) {
109
- return;
109
+ return `${n}--row-gap-off`;
110
110
  }
111
111
  if (rowGap === true || !rowGap && wrap && direction === 'horizontal') {
112
112
  return `${n}--row-gap-small`;
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","length","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","skip","_objectSpread","Object","fromEntries","entries","filter","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","length","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -1,13 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
3
  const _excluded = ["element", "className", "grow", "shrink", "alignSelf", "size", "style", "children"];
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
4
  import React from 'react';
8
5
  import classnames from 'classnames';
9
6
  import Space from '../space/Space';
10
- import { omitSpacingProps, pickSpacingProps } from './utils';
11
7
  function FlexItem(props) {
12
8
  const {
13
9
  element = 'div',
@@ -20,7 +16,7 @@ function FlexItem(props) {
20
16
  children
21
17
  } = props,
22
18
  rest = _objectWithoutProperties(props, _excluded);
23
- const cn = classnames('dnb-flex-item', className, grow && 'dnb-flex-item--grow', shrink && 'dnb-flex-item--shrink', alignSelf && `dnb-flex-item--align-self-${alignSelf}`, size && 'dnb-flex-item--responsive');
19
+ const cn = classnames('dnb-flex-item', grow && 'dnb-flex-item--grow', shrink && 'dnb-flex-item--shrink', alignSelf && `dnb-flex-item--align-self-${alignSelf}`, size && 'dnb-flex-item--responsive');
24
20
  const spaceStyles = {};
25
21
  if (size) {
26
22
  if (isValidSize(size)) {
@@ -35,17 +31,18 @@ function FlexItem(props) {
35
31
  }
36
32
  }
37
33
  if (Object.keys(spaceStyles).length) {
38
- return React.createElement(Space, _extends({
34
+ return React.createElement(Space, {
39
35
  element: element,
40
36
  className: cn,
41
- style: _objectSpread(_objectSpread({}, spaceStyles), style)
42
- }, omitSpacingProps(rest)), React.createElement(Space, _extends({
43
- className: "dnb-flex-item__spacer"
44
- }, pickSpacingProps(rest)), children));
37
+ style: spaceStyles
38
+ }, React.createElement(Space, _extends({
39
+ className: classnames('dnb-flex-item__spacer', className),
40
+ style: style
41
+ }, rest), children));
45
42
  }
46
43
  return React.createElement(Space, _extends({
47
44
  element: element,
48
- className: cn,
45
+ className: classnames(cn, className),
49
46
  style: style
50
47
  }, rest), children);
51
48
  function isValidSize(size) {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["React","classnames","Space","omitSpacingProps","pickSpacingProps","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_objectSpread","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { omitSpacingProps, pickSpacingProps } from './utils'\n\nexport type Sizes =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 'auto'\ntype MediaSizes = {\n xsmall?: Sizes\n small?: Sizes\n medium?: Sizes\n large?: Sizes\n}\nexport type Size = MediaSizes | Sizes\n\nexport type BasicProps = {\n grow?: boolean\n shrink?: boolean\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n size?: Size\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction FlexItem(props: Props) {\n const {\n element = 'div',\n className,\n grow,\n shrink,\n alignSelf,\n size,\n style,\n children,\n ...rest\n } = props\n\n const cn = classnames(\n 'dnb-flex-item',\n grow && 'dnb-flex-item--grow',\n shrink && 'dnb-flex-item--shrink',\n alignSelf && `dnb-flex-item--align-self-${alignSelf}`,\n size && 'dnb-flex-item--responsive',\n className\n )\n\n const spaceStyles = {} as React.CSSProperties\n\n if (size) {\n if (isValidSize(size as Sizes)) {\n spaceStyles['--size--default'] = size\n } else {\n const sizes = size as MediaSizes\n for (const key in sizes) {\n if (isValidSize(size[key])) {\n spaceStyles[`--${key}`] = size[key]\n }\n }\n }\n }\n\n if (Object.keys(spaceStyles).length) {\n return (\n <Space\n element={element}\n className={cn}\n style={{ ...spaceStyles, ...style }}\n {...omitSpacingProps(rest)}\n >\n <Space\n className=\"dnb-flex-item__spacer\"\n {...pickSpacingProps(rest)}\n >\n {children}\n </Space>\n </Space>\n )\n }\n\n return (\n <Space element={element} className={cn} style={style} {...rest}>\n {children}\n </Space>\n )\n\n function isValidSize(size: Sizes) {\n return typeof size === 'number' || size === 'auto'\n }\n}\n\nFlexItem._supportsSpacingProps = true\n\nexport default FlexItem\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAsB,gBAAgB;AAClD,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAmC5D,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAM;MACJC,OAAO,GAAG,KAAK;MACfC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,EAAE,GAAGjB,UAAU,CACnB,eAAe,EAKfO,SAAS,EAJTC,IAAI,IAAI,qBAAqB,EAC7BC,MAAM,IAAI,uBAAuB,EACjCC,SAAS,IAAK,6BAA4BA,SAAU,EAAC,EACrDC,IAAI,IAAI,2BAEV,CAAC;EAED,MAAMO,WAAW,GAAG,CAAC,CAAwB;EAE7C,IAAIP,IAAI,EAAE;IACR,IAAIQ,WAAW,CAACR,IAAa,CAAC,EAAE;MAC9BO,WAAW,CAAC,iBAAiB,CAAC,GAAGP,IAAI;IACvC,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGT,IAAkB;MAChC,KAAK,MAAMU,GAAG,IAAID,KAAK,EAAE;QACvB,IAAID,WAAW,CAACR,IAAI,CAACU,GAAG,CAAC,CAAC,EAAE;UAC1BH,WAAW,CAAE,KAAIG,GAAI,EAAC,CAAC,GAAGV,IAAI,CAACU,GAAG,CAAC;QACrC;MACF;IACF;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,MAAM,EAAE;IACnC,OACEzB,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;MACJpB,OAAO,EAAEA,OAAQ;MACjBC,SAAS,EAAEU,EAAG;MACdL,KAAK,EAAAe,aAAA,CAAAA,aAAA,KAAOT,WAAW,GAAKN,KAAK;IAAG,GAChCV,gBAAgB,CAACY,IAAI,CAAC,GAE1Bf,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;MACJnB,SAAS,EAAC;IAAuB,GAC7BJ,gBAAgB,CAACW,IAAI,CAAC,GAEzBD,QACI,CACF,CAAC;EAEZ;EAEA,OACEd,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAAyB,QAAA;IAACpB,OAAO,EAAEA,OAAQ;IAACC,SAAS,EAAEU,EAAG;IAACL,KAAK,EAAEA;EAAM,GAAKE,IAAI,GAC3DD,QACI,CAAC;EAGV,SAASM,WAAWA,CAACR,IAAW,EAAE;IAChC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM;EACpD;AACF;AAEAP,QAAQ,CAACwB,qBAAqB,GAAG,IAAI;AAErC,eAAexB,QAAQ"}
1
+ {"version":3,"file":"Item.js","names":["React","classnames","Space","FlexItem","props","element","className","grow","shrink","alignSelf","size","style","children","rest","_objectWithoutProperties","_excluded","cn","spaceStyles","isValidSize","sizes","key","Object","keys","length","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Item.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\n\nexport type Sizes =\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | 'auto'\ntype MediaSizes = {\n xsmall?: Sizes\n small?: Sizes\n medium?: Sizes\n large?: Sizes\n}\nexport type Size = MediaSizes | Sizes\n\nexport type BasicProps = {\n grow?: boolean\n shrink?: boolean\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n size?: Size\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size'>\n\nfunction FlexItem(props: Props) {\n const {\n element = 'div',\n className,\n grow,\n shrink,\n alignSelf,\n size,\n style,\n children,\n ...rest\n } = props\n\n const cn = classnames(\n 'dnb-flex-item',\n grow && 'dnb-flex-item--grow',\n shrink && 'dnb-flex-item--shrink',\n alignSelf && `dnb-flex-item--align-self-${alignSelf}`,\n size && 'dnb-flex-item--responsive'\n )\n\n const spaceStyles = {} as React.CSSProperties\n\n if (size) {\n if (isValidSize(size as Sizes)) {\n spaceStyles['--size--default'] = size\n } else {\n const sizes = size as MediaSizes\n for (const key in sizes) {\n if (isValidSize(size[key])) {\n spaceStyles[`--${key}`] = size[key]\n }\n }\n }\n }\n\n if (Object.keys(spaceStyles).length) {\n return (\n <Space element={element} className={cn} style={spaceStyles}>\n <Space\n className={classnames('dnb-flex-item__spacer', className)}\n style={style}\n {...rest}\n >\n {children}\n </Space>\n </Space>\n )\n }\n\n return (\n <Space\n element={element}\n className={classnames(cn, className)}\n style={style}\n {...rest}\n >\n {children}\n </Space>\n )\n\n function isValidSize(size: Sizes) {\n return typeof size === 'number' || size === 'auto'\n }\n}\n\nFlexItem._supportsSpacingProps = true\n\nexport default FlexItem\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAsB,gBAAgB;AAmClD,SAASC,QAAQA,CAACC,KAAY,EAAE;EAC9B,MAAM;MACJC,OAAO,GAAG,KAAK;MACfC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,SAAS;MACTC,IAAI;MACJC,KAAK;MACLC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,EAAE,GAAGf,UAAU,CACnB,eAAe,EACfM,IAAI,IAAI,qBAAqB,EAC7BC,MAAM,IAAI,uBAAuB,EACjCC,SAAS,IAAK,6BAA4BA,SAAU,EAAC,EACrDC,IAAI,IAAI,2BACV,CAAC;EAED,MAAMO,WAAW,GAAG,CAAC,CAAwB;EAE7C,IAAIP,IAAI,EAAE;IACR,IAAIQ,WAAW,CAACR,IAAa,CAAC,EAAE;MAC9BO,WAAW,CAAC,iBAAiB,CAAC,GAAGP,IAAI;IACvC,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGT,IAAkB;MAChC,KAAK,MAAMU,GAAG,IAAID,KAAK,EAAE;QACvB,IAAID,WAAW,CAACR,IAAI,CAACU,GAAG,CAAC,CAAC,EAAE;UAC1BH,WAAW,CAAE,KAAIG,GAAI,EAAC,CAAC,GAAGV,IAAI,CAACU,GAAG,CAAC;QACrC;MACF;IACF;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACL,WAAW,CAAC,CAACM,MAAM,EAAE;IACnC,OACEvB,KAAA,CAAAwB,aAAA,CAACtB,KAAK;MAACG,OAAO,EAAEA,OAAQ;MAACC,SAAS,EAAEU,EAAG;MAACL,KAAK,EAAEM;IAAY,GACzDjB,KAAA,CAAAwB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;MACJnB,SAAS,EAAEL,UAAU,CAAC,uBAAuB,EAAEK,SAAS,CAAE;MAC1DK,KAAK,EAAEA;IAAM,GACTE,IAAI,GAEPD,QACI,CACF,CAAC;EAEZ;EAEA,OACEZ,KAAA,CAAAwB,aAAA,CAACtB,KAAK,EAAAuB,QAAA;IACJpB,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEL,UAAU,CAACe,EAAE,EAAEV,SAAS,CAAE;IACrCK,KAAK,EAAEA;EAAM,GACTE,IAAI,GAEPD,QACI,CAAC;EAGV,SAASM,WAAWA,CAACR,IAAW,EAAE;IAChC,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM;EACpD;AACF;AAEAP,QAAQ,CAACuB,qBAAqB,GAAG,IAAI;AAErC,eAAevB,QAAQ"}