@dnb/eufemia 10.65.0 → 10.66.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 (465) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cjs/components/card/Card.js +1 -1
  3. package/cjs/components/card/Card.js.map +1 -1
  4. package/cjs/components/date-picker/DatePicker.d.ts +3 -1
  5. package/cjs/components/date-picker/DatePicker.js +3 -1
  6. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerAddon.js +8 -1
  8. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  9. package/cjs/components/date-picker/DatePickerInput.d.ts +5 -0
  10. package/cjs/components/date-picker/DatePickerInput.js +54 -36
  11. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  12. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  13. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  14. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  15. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  16. package/cjs/components/flex/Container.d.ts +2 -1
  17. package/cjs/components/flex/Container.js +31 -24
  18. package/cjs/components/flex/Container.js.map +1 -1
  19. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  20. package/cjs/components/flex/ContainerDocs.js +81 -0
  21. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  22. package/cjs/components/flex/style/dnb-flex.css +36 -4
  23. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  24. package/cjs/components/flex/style/flex-container.scss +39 -4
  25. package/cjs/components/help-button/HelpButtonInline.d.ts +6 -0
  26. package/cjs/components/help-button/HelpButtonInline.js +51 -19
  27. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  28. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  29. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  30. package/cjs/components/slider/SliderDocs.js +2 -2
  31. package/cjs/components/slider/SliderDocs.js.map +1 -1
  32. package/cjs/components/slider/SliderProvider.js +0 -2
  33. package/cjs/components/slider/SliderProvider.js.map +1 -1
  34. package/cjs/components/slider/types.d.ts +2 -2
  35. package/cjs/components/slider/types.js.map +1 -1
  36. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  37. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  38. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  39. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  40. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  41. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  42. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  43. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  44. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/Context.d.ts +11 -5
  46. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  48. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  50. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  52. package/cjs/extensions/forms/DataContext/Provider/Provider.js +46 -42
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  55. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  57. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  58. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  59. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  60. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  61. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  62. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  63. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  64. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  65. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  66. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  67. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  68. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  69. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  70. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  71. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  72. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  73. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  74. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  75. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  76. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  77. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  78. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  79. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  81. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  82. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  83. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  84. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  85. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  86. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  87. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  88. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  89. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  90. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  91. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  92. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  93. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  94. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  95. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  96. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  97. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  98. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  99. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  100. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  101. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  102. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  103. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  104. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  105. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  106. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  107. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  108. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  109. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  110. package/cjs/extensions/forms/hooks/useFieldProps.js +41 -23
  111. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  112. package/cjs/extensions/forms/style/dnb-forms.css +17 -0
  113. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  114. package/cjs/extensions/forms/types.d.ts +9 -1
  115. package/cjs/extensions/forms/types.js.map +1 -1
  116. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  117. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  118. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  119. package/cjs/shared/Eufemia.d.ts +1 -1
  120. package/cjs/shared/Eufemia.js +2 -2
  121. package/cjs/shared/Eufemia.js.map +1 -1
  122. package/cjs/style/core/scopes.scss +1 -1
  123. package/cjs/style/dnb-ui-basis.css +1 -1
  124. package/cjs/style/dnb-ui-basis.min.css +1 -1
  125. package/cjs/style/dnb-ui-body.css +1 -1
  126. package/cjs/style/dnb-ui-body.min.css +1 -1
  127. package/cjs/style/dnb-ui-components.css +53 -4
  128. package/cjs/style/dnb-ui-components.min.css +2 -2
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +17 -0
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +17 -0
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-ui/ui-theme-components.css +70 -4
  148. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  150. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.css +17 -0
  152. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  153. package/components/card/Card.js +1 -1
  154. package/components/card/Card.js.map +1 -1
  155. package/components/date-picker/DatePicker.d.ts +3 -1
  156. package/components/date-picker/DatePicker.js +3 -1
  157. package/components/date-picker/DatePicker.js.map +1 -1
  158. package/components/date-picker/DatePickerAddon.js +6 -1
  159. package/components/date-picker/DatePickerAddon.js.map +1 -1
  160. package/components/date-picker/DatePickerInput.d.ts +5 -0
  161. package/components/date-picker/DatePickerInput.js +54 -36
  162. package/components/date-picker/DatePickerInput.js.map +1 -1
  163. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  164. package/components/date-picker/DatePickerProvider.js +7 -2
  165. package/components/date-picker/DatePickerProvider.js.map +1 -1
  166. package/components/date-picker/hooks/useDates.js.map +1 -1
  167. package/components/flex/Container.d.ts +2 -1
  168. package/components/flex/Container.js +32 -25
  169. package/components/flex/Container.js.map +1 -1
  170. package/components/flex/ContainerDocs.d.ts +2 -0
  171. package/components/flex/ContainerDocs.js +74 -0
  172. package/components/flex/ContainerDocs.js.map +1 -0
  173. package/components/flex/style/dnb-flex.css +36 -4
  174. package/components/flex/style/dnb-flex.min.css +1 -1
  175. package/components/flex/style/flex-container.scss +39 -4
  176. package/components/help-button/HelpButtonInline.d.ts +6 -0
  177. package/components/help-button/HelpButtonInline.js +51 -19
  178. package/components/help-button/HelpButtonInline.js.map +1 -1
  179. package/components/help-button/HelpButtonInstance.js +1 -1
  180. package/components/help-button/HelpButtonInstance.js.map +1 -1
  181. package/components/slider/SliderDocs.js +2 -2
  182. package/components/slider/SliderDocs.js.map +1 -1
  183. package/components/slider/SliderProvider.js +0 -2
  184. package/components/slider/SliderProvider.js.map +1 -1
  185. package/components/slider/types.d.ts +2 -2
  186. package/components/slider/types.js.map +1 -1
  187. package/components/step-indicator/StepIndicator.d.ts +6 -0
  188. package/components/step-indicator/StepIndicator.js.map +1 -1
  189. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  190. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  191. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  192. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  193. package/components/toggle-button/ToggleButton.d.ts +9 -1
  194. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  195. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  196. package/es/components/card/Card.js +1 -1
  197. package/es/components/card/Card.js.map +1 -1
  198. package/es/components/date-picker/DatePicker.d.ts +3 -1
  199. package/es/components/date-picker/DatePicker.js +3 -1
  200. package/es/components/date-picker/DatePicker.js.map +1 -1
  201. package/es/components/date-picker/DatePickerAddon.js +6 -1
  202. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  203. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  204. package/es/components/date-picker/DatePickerInput.js +54 -36
  205. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  206. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  207. package/es/components/date-picker/DatePickerProvider.js +7 -2
  208. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  209. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  210. package/es/components/flex/Container.d.ts +2 -1
  211. package/es/components/flex/Container.js +32 -25
  212. package/es/components/flex/Container.js.map +1 -1
  213. package/es/components/flex/ContainerDocs.d.ts +2 -0
  214. package/es/components/flex/ContainerDocs.js +74 -0
  215. package/es/components/flex/ContainerDocs.js.map +1 -0
  216. package/es/components/flex/style/dnb-flex.css +36 -4
  217. package/es/components/flex/style/dnb-flex.min.css +1 -1
  218. package/es/components/flex/style/flex-container.scss +39 -4
  219. package/es/components/help-button/HelpButtonInline.d.ts +6 -0
  220. package/es/components/help-button/HelpButtonInline.js +50 -18
  221. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  222. package/es/components/help-button/HelpButtonInstance.js +1 -1
  223. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  224. package/es/components/slider/SliderDocs.js +2 -2
  225. package/es/components/slider/SliderDocs.js.map +1 -1
  226. package/es/components/slider/SliderProvider.js +0 -2
  227. package/es/components/slider/SliderProvider.js.map +1 -1
  228. package/es/components/slider/types.d.ts +2 -2
  229. package/es/components/slider/types.js.map +1 -1
  230. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  231. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  232. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  233. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  234. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  235. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  236. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  237. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  238. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  239. package/es/extensions/forms/DataContext/Context.d.ts +11 -5
  240. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  241. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  242. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  243. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  244. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  245. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  246. package/es/extensions/forms/DataContext/Provider/Provider.js +36 -35
  247. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  248. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  249. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  250. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  251. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  252. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  253. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  254. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  255. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  256. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  257. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  258. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  259. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  260. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  261. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  262. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  263. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  264. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  265. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  266. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  267. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  268. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  269. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  270. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  271. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  272. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  273. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  274. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  275. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  276. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  277. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  278. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  279. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  280. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  281. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  282. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  283. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  284. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  285. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  286. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  287. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  288. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  289. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  290. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  291. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  292. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  293. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  294. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  295. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  296. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  297. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  298. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  299. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  300. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  301. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  302. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  303. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  304. package/es/extensions/forms/hooks/useFieldProps.js +42 -22
  305. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  306. package/es/extensions/forms/style/dnb-forms.css +17 -0
  307. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  308. package/es/extensions/forms/types.d.ts +9 -1
  309. package/es/extensions/forms/types.js.map +1 -1
  310. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  311. package/es/fragments/drawer-list/DrawerList.js +1 -0
  312. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  313. package/es/shared/Eufemia.d.ts +1 -1
  314. package/es/shared/Eufemia.js +2 -2
  315. package/es/shared/Eufemia.js.map +1 -1
  316. package/es/style/core/scopes.scss +1 -1
  317. package/es/style/dnb-ui-basis.css +1 -1
  318. package/es/style/dnb-ui-basis.min.css +1 -1
  319. package/es/style/dnb-ui-body.css +1 -1
  320. package/es/style/dnb-ui-body.min.css +1 -1
  321. package/es/style/dnb-ui-components.css +53 -4
  322. package/es/style/dnb-ui-components.min.css +2 -2
  323. package/es/style/dnb-ui-core.css +1 -1
  324. package/es/style/dnb-ui-core.min.css +1 -1
  325. package/es/style/dnb-ui-extensions.css +17 -0
  326. package/es/style/dnb-ui-extensions.min.css +1 -1
  327. package/es/style/dnb-ui-forms.css +17 -0
  328. package/es/style/dnb-ui-forms.min.css +1 -1
  329. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  330. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  331. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  332. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  333. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  334. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  335. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  336. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  337. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  338. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  339. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  340. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  341. package/es/style/themes/theme-ui/ui-theme-components.css +70 -4
  342. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  343. package/es/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  344. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  345. package/es/style/themes/theme-ui/ui-theme-forms.css +17 -0
  346. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  347. package/esm/dnb-ui-basis.min.mjs +1 -1
  348. package/esm/dnb-ui-components.min.mjs +1 -1
  349. package/esm/dnb-ui-elements.min.mjs +1 -1
  350. package/esm/dnb-ui-extensions.min.mjs +3 -3
  351. package/esm/dnb-ui-lib.min.mjs +1 -1
  352. package/extensions/forms/DataContext/Context.d.ts +11 -5
  353. package/extensions/forms/DataContext/Context.js.map +1 -1
  354. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +1 -1
  355. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  356. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +2 -2
  357. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  358. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  359. package/extensions/forms/DataContext/Provider/Provider.js +46 -42
  360. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  361. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  362. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  363. package/extensions/forms/Field/Slider/Slider.js +13 -4
  364. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  365. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  366. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  367. package/extensions/forms/Iterate/PushContainer/PushContainer.js +7 -2
  368. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  369. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  370. package/extensions/forms/Value/ValueDocs.js +5 -0
  371. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  372. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  373. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  374. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  375. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  376. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  377. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  378. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  379. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  380. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  381. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  382. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  383. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  384. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  385. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  386. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  387. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  388. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  389. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  390. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  391. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  392. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  393. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  394. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  395. package/extensions/forms/Wizard/Context/types.js +1 -0
  396. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  397. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  398. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  399. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  400. package/extensions/forms/Wizard/Step/Step.js +29 -10
  401. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  402. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  403. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  404. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  405. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  406. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  407. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  408. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  409. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  410. package/extensions/forms/constants/locales/en-GB.js +2 -1
  411. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  412. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  413. package/extensions/forms/constants/locales/index.d.ts +2 -0
  414. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  415. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  416. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  417. package/extensions/forms/hooks/useFieldProps.js +41 -23
  418. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  419. package/extensions/forms/style/dnb-forms.css +17 -0
  420. package/extensions/forms/style/dnb-forms.min.css +1 -1
  421. package/extensions/forms/types.d.ts +9 -1
  422. package/extensions/forms/types.js.map +1 -1
  423. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  424. package/fragments/drawer-list/DrawerList.js +1 -0
  425. package/fragments/drawer-list/DrawerList.js.map +1 -1
  426. package/package.json +1 -1
  427. package/shared/Eufemia.d.ts +1 -1
  428. package/shared/Eufemia.js +2 -2
  429. package/shared/Eufemia.js.map +1 -1
  430. package/style/core/scopes.scss +1 -1
  431. package/style/dnb-ui-basis.css +1 -1
  432. package/style/dnb-ui-basis.min.css +1 -1
  433. package/style/dnb-ui-body.css +1 -1
  434. package/style/dnb-ui-body.min.css +1 -1
  435. package/style/dnb-ui-components.css +53 -4
  436. package/style/dnb-ui-components.min.css +2 -2
  437. package/style/dnb-ui-core.css +1 -1
  438. package/style/dnb-ui-core.min.css +1 -1
  439. package/style/dnb-ui-extensions.css +17 -0
  440. package/style/dnb-ui-extensions.min.css +1 -1
  441. package/style/dnb-ui-forms.css +17 -0
  442. package/style/dnb-ui-forms.min.css +1 -1
  443. package/style/themes/theme-eiendom/eiendom-theme-components.css +70 -4
  444. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  445. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +17 -0
  446. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  447. package/style/themes/theme-eiendom/eiendom-theme-forms.css +17 -0
  448. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-components.css +70 -4
  450. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  451. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +17 -0
  452. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  453. package/style/themes/theme-sbanken/sbanken-theme-forms.css +17 -0
  454. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  455. package/style/themes/theme-ui/ui-theme-components.css +70 -4
  456. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  457. package/style/themes/theme-ui/ui-theme-extensions.css +17 -0
  458. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  459. package/style/themes/theme-ui/ui-theme-forms.css +17 -0
  460. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  461. package/umd/dnb-ui-basis.min.js +1 -1
  462. package/umd/dnb-ui-components.min.js +1 -1
  463. package/umd/dnb-ui-elements.min.js +1 -1
  464. package/umd/dnb-ui-extensions.min.js +1 -1
  465. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDates.js","names":["_react","require","_DatePickerCalc","_isValid","_interopRequireDefault","_format","_dateFns","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useDates","dateProps","_ref","dateFormat","isRange","shouldCorrectDate","previousDateProps","setPreviousDateProps","useState","dates","setDates","mapDates","hasDatePropChanges","useMemo","some","date","dateProp","previousDate","convertedDateProp","convertStringToDate","convertedPreviousDate","Date","isSameDay","derivedDates","deriveDatesFromProps","currentDates","hasHadValidDate","useRef","updateDates","useCallback","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","useEffect","startDates","updateInputDates","endDates","current","isValid","type","updatedDates","pad","format","_ref2","_ref3","_convertStringToDate","_convertStringToDate2","getDate","startMonth","endMonth","addMonths","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref4","getStartDate","_ref5","isDisabled","_ref6","_ref7","_newDates$startMonth","_ref8","_newDates$endMonth","size","dateWithPadding","substring"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths, isSameDay } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDateProps, setPreviousDateProps] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n const dateProp = dateProps[date]\n const previousDate = previousDateProps[date]\n\n const convertedDateProp = convertStringToDate(dateProp, {\n dateFormat,\n })\n const convertedPreviousDate = convertStringToDate(previousDate, {\n dateFormat,\n })\n // Make sure that same dates does not trigger a change\n // i.e. 2021-01-01 and new Date('2021-01-01')\n if (\n convertedDateProp instanceof Date &&\n convertedPreviousDate instanceof Date\n ) {\n return !isSameDay(convertedDateProp, convertedPreviousDate)\n }\n\n return dateProp !== previousDate\n }),\n [dateProps, previousDateProps, dateFormat]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n const derivedDates = deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n })\n\n setDates((currentDates) => ({ ...currentDates, ...derivedDates }))\n setPreviousDateProps(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates.startDate)\n const endDates = updateInputDates('end', dates.endDate)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDateProps,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', date: Date | undefined) {\n const updatedDates = {}\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date = dateProps.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n const hasValidStartDate = isValid(dates.startDate)\n const hasValidEndDate = isValid(dates.endDate)\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n}: {\n dates: DatePickerDates\n dateProps: DatePickerDateProps\n previousDateProps: DatePickerDateProps\n dateFormat: UseDatesOptions['dateFormat']\n isRange: UseDatesOptions['isRange']\n}) {\n const derivedDates: DatePickerDates = {}\n\n const startDate = getStartDate(dateProps, previousDateProps)\n\n // Handle updates related to date and startDate changes when not in range mode\n if (typeof startDate !== 'undefined' && startDate !== dates.startDate) {\n derivedDates.startDate =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n // Set endDate and startMonth to startDate if not in range mode\n if (!isRange) {\n derivedDates.startMonth =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n derivedDates.endDate = derivedDates.startDate\n }\n }\n\n // update endDate based on endDate prop if in range mode\n if (\n isRange &&\n typeof dateProps.endDate !== 'undefined' &&\n dateProps.endDate !== dates.endDate\n ) {\n derivedDates.endDate =\n convertStringToDate(dateProps.endDate, {\n dateFormat,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof dateProps.startMonth !== 'undefined' &&\n dateProps.startMonth !== previousDateProps.startMonth\n ) {\n derivedDates.startMonth = convertStringToDate(dateProps.startMonth, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.endMonth !== 'undefined' &&\n dateProps.endMonth !== previousDateProps.endMonth\n ) {\n derivedDates.endMonth = convertStringToDate(dateProps.endMonth, {\n dateFormat,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof dateProps.minDate !== 'undefined' &&\n dateProps.minDate !== previousDateProps.minDate\n ) {\n derivedDates.minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.maxDate !== 'undefined' &&\n dateProps.maxDate !== previousDateProps.maxDate\n ) {\n derivedDates.maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n }\n\n return derivedDates\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nfunction getStartDate(\n dateProps: DatePickerDateProps,\n previousDateProps: DatePickerDateProps\n) {\n // prioritize startDate over date if provided\n if (\n typeof dateProps.startDate !== 'undefined' &&\n dateProps.startDate !== previousDateProps.startDate\n ) {\n return dateProps.startDate\n }\n\n if (\n typeof dateProps.date !== 'undefined' &&\n dateProps.date !== previousDateProps.date\n ) {\n return dateProps.date\n }\n\n return undefined\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDates.js","names":["_react","require","_DatePickerCalc","_isValid","_interopRequireDefault","_format","_dateFns","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useDates","dateProps","_ref","dateFormat","isRange","shouldCorrectDate","previousDateProps","setPreviousDateProps","useState","dates","setDates","mapDates","hasDatePropChanges","useMemo","some","date","dateProp","previousDate","convertedDateProp","convertStringToDate","convertedPreviousDate","Date","isSameDay","derivedDates","deriveDatesFromProps","currentDates","hasHadValidDate","useRef","updateDates","useCallback","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","useEffect","startDates","updateInputDates","endDates","current","isValid","type","updatedDates","pad","format","_ref2","_ref3","_convertStringToDate","_convertStringToDate2","getDate","startMonth","endMonth","addMonths","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref4","getStartDate","_ref5","isDisabled","_ref6","_ref7","_newDates$startMonth","_ref8","_newDates$endMonth","size","dateWithPadding","substring"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths, isSameDay } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n // TODO: Move partial dates to own types, as they are not really only used on `getReturnObject`, and not in this hook\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDateProps, setPreviousDateProps] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n const dateProp = dateProps[date]\n const previousDate = previousDateProps[date]\n\n const convertedDateProp = convertStringToDate(dateProp, {\n dateFormat,\n })\n const convertedPreviousDate = convertStringToDate(previousDate, {\n dateFormat,\n })\n // Make sure that same dates does not trigger a change\n // i.e. 2021-01-01 and new Date('2021-01-01')\n if (\n convertedDateProp instanceof Date &&\n convertedPreviousDate instanceof Date\n ) {\n return !isSameDay(convertedDateProp, convertedPreviousDate)\n }\n\n return dateProp !== previousDate\n }),\n [dateProps, previousDateProps, dateFormat]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n const derivedDates = deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n })\n\n setDates((currentDates) => ({ ...currentDates, ...derivedDates }))\n setPreviousDateProps(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates.startDate)\n const endDates = updateInputDates('end', dates.endDate)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDateProps,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', date: Date | undefined) {\n const updatedDates = {}\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date = dateProps.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n const hasValidStartDate = isValid(dates.startDate)\n const hasValidEndDate = isValid(dates.endDate)\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n}: {\n dates: DatePickerDates\n dateProps: DatePickerDateProps\n previousDateProps: DatePickerDateProps\n dateFormat: UseDatesOptions['dateFormat']\n isRange: UseDatesOptions['isRange']\n}) {\n const derivedDates: DatePickerDates = {}\n\n const startDate = getStartDate(dateProps, previousDateProps)\n\n // Handle updates related to date and startDate changes when not in range mode\n if (typeof startDate !== 'undefined' && startDate !== dates.startDate) {\n derivedDates.startDate =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n // Set endDate and startMonth to startDate if not in range mode\n if (!isRange) {\n derivedDates.startMonth =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n derivedDates.endDate = derivedDates.startDate\n }\n }\n\n // update endDate based on endDate prop if in range mode\n if (\n isRange &&\n typeof dateProps.endDate !== 'undefined' &&\n dateProps.endDate !== dates.endDate\n ) {\n derivedDates.endDate =\n convertStringToDate(dateProps.endDate, {\n dateFormat,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof dateProps.startMonth !== 'undefined' &&\n dateProps.startMonth !== previousDateProps.startMonth\n ) {\n derivedDates.startMonth = convertStringToDate(dateProps.startMonth, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.endMonth !== 'undefined' &&\n dateProps.endMonth !== previousDateProps.endMonth\n ) {\n derivedDates.endMonth = convertStringToDate(dateProps.endMonth, {\n dateFormat,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof dateProps.minDate !== 'undefined' &&\n dateProps.minDate !== previousDateProps.minDate\n ) {\n derivedDates.minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.maxDate !== 'undefined' &&\n dateProps.maxDate !== previousDateProps.maxDate\n ) {\n derivedDates.maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n }\n\n return derivedDates\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nfunction getStartDate(\n dateProps: DatePickerDateProps,\n previousDateProps: DatePickerDateProps\n) {\n // prioritize startDate over date if provided\n if (\n typeof dateProps.startDate !== 'undefined' &&\n dateProps.startDate !== previousDateProps.startDate\n ) {\n return dateProps.startDate\n }\n\n if (\n typeof dateProps.date !== 'undefined' &&\n dateProps.date !== previousDateProps.date\n ) {\n return dateProps.date\n }\n\n return undefined\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
@@ -6,7 +6,8 @@ type Gap = false | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-la
6
6
  export type BasicProps = {
7
7
  direction?: 'horizontal' | 'vertical';
8
8
  wrap?: boolean;
9
- rowGap?: 'small' | 'medium' | 'large' | boolean;
9
+ /** value `true` is deprecated, use `undefined` instead */
10
+ rowGap?: Gap | true;
10
11
  sizeCount?: number;
11
12
  justify?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
12
13
  align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
@@ -12,7 +12,8 @@ var _Space = _interopRequireDefault(require("../space/Space"));
12
12
  var _elements = require("../../elements");
13
13
  var _useMedia = _interopRequireDefault(require("../../shared/useMedia"));
14
14
  var _utils = require("./utils");
15
- const _excluded = ["className", "style", "children", "element", "direction", "wrap", "sizeCount", "rowGap", "justify", "align", "alignSelf", "divider", "gap", "spacing", "breakpoints", "queries"];
15
+ const _excluded = ["spacing", "gap", "rowGap"],
16
+ _excluded2 = ["className", "style", "children", "element", "direction", "wrap", "sizeCount", "rowGap", "justify", "align", "alignSelf", "divider", "gap", "breakpoints", "queries"];
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -33,9 +34,21 @@ function pickFlexContainerProps(props) {
33
34
  return propNames.includes(key) && !skip.includes(key);
34
35
  })));
35
36
  }
37
+ function handleDeprecatedProps(_ref2) {
38
+ let {
39
+ spacing,
40
+ gap,
41
+ rowGap
42
+ } = _ref2,
43
+ rest = _objectWithoutProperties(_ref2, _excluded);
44
+ return _objectSpread(_objectSpread({}, rest), {}, {
45
+ rowGap: rowGap === true ? undefined : rowGap,
46
+ gap: spacing !== null && spacing !== void 0 ? spacing : gap
47
+ });
48
+ }
36
49
  function FlexContainer(props) {
37
- var _ref2;
38
- const {
50
+ const _handleDeprecatedProp = handleDeprecatedProps(props),
51
+ {
39
52
  className,
40
53
  style,
41
54
  children,
@@ -48,13 +61,15 @@ function FlexContainer(props) {
48
61
  align = 'flex-start',
49
62
  alignSelf,
50
63
  divider = 'space',
51
- gap,
52
- spacing: spacingProp,
64
+ gap = 'small',
53
65
  breakpoints,
54
66
  queries
55
- } = props,
56
- rest = _objectWithoutProperties(props, _excluded);
57
- const spacing = (_ref2 = spacingProp !== null && spacingProp !== void 0 ? spacingProp : gap) !== null && _ref2 !== void 0 ? _ref2 : 'small';
67
+ } = _handleDeprecatedProp,
68
+ rest = _objectWithoutProperties(_handleDeprecatedProp, _excluded2);
69
+ const spacing = (0, _react.useMemo)(() => {
70
+ var _ref3;
71
+ return (_ref3 = direction === 'vertical' ? rowGap : undefined) !== null && _ref3 !== void 0 ? _ref3 : gap;
72
+ }, [direction, gap, rowGap]);
58
73
  const childrenArray = replaceRootFragment(wrapChildren(props, children));
59
74
  const hasHeading = childrenArray.some((child, i) => {
60
75
  const previousChild = childrenArray === null || childrenArray === void 0 ? void 0 : childrenArray[i - 1];
@@ -105,8 +120,8 @@ function FlexContainer(props) {
105
120
  if (isFirst && direction !== 'horizontal') {
106
121
  startSpacing = 0;
107
122
  } else {
108
- var _ref3, _getSpaceValue3;
109
- startSpacing = (_ref3 = (_getSpaceValue3 = (0, _utils.getSpaceValue)(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : (0, _utils.getSpaceValue)(end, previousChild)) !== null && _ref3 !== void 0 ? _ref3 : spacing;
123
+ var _ref4, _getSpaceValue3;
124
+ startSpacing = (_ref4 = (_getSpaceValue3 = (0, _utils.getSpaceValue)(start, child)) !== null && _getSpaceValue3 !== void 0 ? _getSpaceValue3 : (0, _utils.getSpaceValue)(end, previousChild)) !== null && _ref4 !== void 0 ? _ref4 : spacing;
110
125
  }
111
126
  if (_react.default.isValidElement(previousChild) && (previousChild === null || previousChild === void 0 ? void 0 : (_previousChild$type = previousChild.type) === null || _previousChild$type === void 0 ? void 0 : _previousChild$type['_supportsSpacingProps']) === false) {
112
127
  startSpacing = 0;
@@ -124,21 +139,13 @@ function FlexContainer(props) {
124
139
  });
125
140
  });
126
141
  const n = 'dnb-flex-container';
127
- const getRowGapClass = (0, _react.useCallback)(() => {
128
- if (rowGap === false) {
129
- return `${n}--row-gap-off`;
130
- }
131
- if (rowGap === true || !rowGap && wrap && direction === 'horizontal') {
132
- return `${n}--row-gap-small`;
133
- }
134
- if (hasSizeProp && spacing) {
135
- return `${n}--row-gap-${spacing}`;
136
- }
137
- if (rowGap) {
138
- return `${n}--row-gap-${rowGap}`;
142
+ const rowGapClass = (0, _react.useMemo)(() => {
143
+ if (rowGap !== false && direction === 'horizontal') {
144
+ return `${n}--row-gap-${rowGap !== null && rowGap !== void 0 ? rowGap : 'small'}`;
139
145
  }
140
- }, [direction, hasSizeProp, rowGap, spacing, wrap]);
141
- const cn = (0, _classnames.default)('dnb-flex-container', getRowGapClass(), className, direction && `${n}--direction-${direction}`, justify && `${n}--justify-${justify}`, align && `${n}--align-${align}`, alignSelf && `${n}--align-self-${alignSelf}`, spacing && `${n}--spacing-${spacing}`, wrap && `${n}--wrap`, hasSizeProp && `${n}--has-size`, divider && `${n}--divider-${divider}`);
146
+ return undefined;
147
+ }, [direction, rowGap]);
148
+ const cn = (0, _classnames.default)('dnb-flex-container', rowGapClass, className, direction && `${n}--direction-${direction}`, justify && `${n}--justify-${justify}`, align && `${n}--align-${align}`, alignSelf && `${n}--align-self-${alignSelf}`, spacing && `${n}--spacing-${spacing}`, wrap && `${n}--wrap`, hasSizeProp && `${n}--has-size`, divider && `${n}--divider-${divider}`);
142
149
  return _react.default.createElement(_Space.default, _extends({
143
150
  element: element,
144
151
  className: cn,
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Space","_elements","_useMedia","_utils","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","FlexContainer","_ref2","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","gap","spacing","spacingProp","breakpoints","queries","rest","childrenArray","replaceRootFragment","wrapChildren","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","Hr","top","space","renderWithSpacing","_ref3","_getSpaceValue3","React","isValidElement","type","n","getRowGapClass","useCallback","cn","classnames","Children","toArray","cloneElement","firstChild","count","_firstChild$props","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { Fragment, useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\ntype Gap =\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n gap?: Gap\n /** @deprecated Use `gap` instead */\n spacing?: Gap\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'ref' | 'wrap' | 'value' | 'label' | 'title' | 'placeholder'\n >\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n 'gap',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n gap,\n spacing: spacingProp,\n breakpoints,\n queries,\n ...rest\n } = props\n\n const spacing = spacingProp ?? gap ?? 'small'\n const childrenArray = replaceRootFragment(wrapChildren(props, children))\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: child?.['key'] || `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return `${n}--row-gap-off`\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nfunction replaceRootFragment(children) {\n const firstChild = children[0]\n if (\n React.Children.count(children) === 1 &&\n firstChild?.type === Fragment\n ) {\n return React.Children.toArray(firstChild?.props?.children)\n }\n return children\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Space","_elements","_useMedia","_utils","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","propNames","pickFlexContainerProps","props","defaults","skip","fromEntries","entries","_ref","includes","handleDeprecatedProps","_ref2","spacing","gap","rowGap","rest","FlexContainer","_handleDeprecatedProp","className","style","children","element","direction","wrap","sizeCount","justify","align","alignSelf","divider","breakpoints","queries","useMemo","_ref3","childrenArray","replaceRootFragment","wrapChildren","hasHeading","some","child","previousChild","isHeadingElement","hasSizeProp","_child$props","size","mediaKey","useMedia","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","getSpaceValue","createElement","Fragment","Hr","top","space","renderWithSpacing","_ref4","_getSpaceValue3","React","isValidElement","type","n","rowGapClass","cn","classnames","Children","toArray","cloneElement","firstChild","count","_firstChild$props","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { Fragment, useMemo } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\ntype Gap =\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n /** value `true` is deprecated, use `undefined` instead */\n rowGap?: Gap | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n gap?: Gap\n /** @deprecated Use `gap` instead */\n spacing?: Gap\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'ref' | 'wrap' | 'value' | 'label' | 'title' | 'placeholder'\n >\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n 'gap',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\nfunction handleDeprecatedProps({\n spacing,\n gap,\n rowGap,\n ...rest\n}: Props): Omit<Props, 'spacing'> & { rowGap?: Gap } {\n return {\n ...rest,\n rowGap: rowGap === true ? undefined : rowGap,\n gap: spacing ?? gap,\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n gap = 'small',\n breakpoints,\n queries,\n ...rest\n } = handleDeprecatedProps(props)\n\n const spacing = useMemo(\n () => (direction === 'vertical' ? rowGap : undefined) ?? gap,\n [direction, gap, rowGap]\n )\n const childrenArray = replaceRootFragment(wrapChildren(props, children))\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: child?.['key'] || `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const rowGapClass = useMemo(() => {\n if (rowGap !== false && direction === 'horizontal') {\n return `${n}--row-gap-${rowGap ?? 'small'}`\n }\n return undefined\n }, [direction, rowGap])\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 rowGapClass,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nfunction replaceRootFragment(children) {\n const firstChild = children[0]\n if (\n React.Children.count(children) === 1 &&\n firstChild?.type === Fragment\n ) {\n return React.Children.toArray(firstChild?.props?.children)\n }\n return children\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../shared/types';
2
+ export declare const FlexContainerProperties: PropertiesTableProps;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FlexContainerProperties = void 0;
7
+ const FlexContainerProperties = {
8
+ direction: {
9
+ doc: 'Direction of sub components. Can be: `horizontal` or `vertical`.',
10
+ type: [`'horizontal'`, `'vertical'`],
11
+ defaultValue: `'horizontal'`,
12
+ status: 'optional'
13
+ },
14
+ wrap: {
15
+ doc: 'Define if we should wrap contents if there is not enough space.',
16
+ type: 'boolean',
17
+ defaultValue: 'true',
18
+ status: 'optional'
19
+ },
20
+ justify: {
21
+ doc: 'How to place sub components if there is space available in the container.',
22
+ type: [`'flex-start'`, `'flex-end'`, `'center'`, `'space-between'`, `'space-around'`, `'space-evenly'`],
23
+ defaultValue: `'flex-start'`,
24
+ status: 'optional'
25
+ },
26
+ align: {
27
+ doc: 'How to align sub components.',
28
+ type: [`'flex-start'`, `'flex-end'`, `'center'`, `'stretch'`, `'baseline'`],
29
+ defaultValue: `'flex-start'`,
30
+ status: 'optional'
31
+ },
32
+ divider: {
33
+ doc: 'How to separate sub components.',
34
+ type: [`'space'`, `'line'`, `'line-framed'`],
35
+ defaultValue: `'space'`,
36
+ status: 'optional'
37
+ },
38
+ sizeCount: {
39
+ doc: 'Define how many parts your layout should be divided in. Should be used in combination with a [Flex.Item](/uilib/layout/flex/item).',
40
+ type: 'number',
41
+ defaultValue: '12',
42
+ status: 'optional'
43
+ },
44
+ gap: {
45
+ doc: 'How much space between child items. Use `false` for no spacing. (If in vertical layout: if both `rowGap` and `gap` is set, `rowGap` will be used.)',
46
+ type: [`'xx-small'`, `'x-small'`, `'small'`, `'medium'`, `'large'`, `'x-large'`, `'xx-large'`, 'false'],
47
+ defaultValue: `'small'`,
48
+ status: 'optional'
49
+ },
50
+ rowGap: {
51
+ doc: 'How much space between rows. Use `false` for no row gap. (If in vertical layout: if both `rowGap` and `gap` is set, `rowGap` will be used.)',
52
+ type: [`'xx-small'`, `'x-small'`, `'small'`, `'medium'`, `'large'`, `'x-large'`, `'xx-large'`, 'false'],
53
+ defaultValue: `'small'`,
54
+ status: 'optional'
55
+ },
56
+ element: {
57
+ doc: 'Define the type of element.',
58
+ type: ['string', 'React.Element'],
59
+ defaultValue: `'div'`,
60
+ status: 'optional'
61
+ },
62
+ innerRef: {
63
+ doc: 'Provide a React.Ref to accessing the inner HTML element.',
64
+ type: 'React.Ref',
65
+ defaultValue: 'undefined',
66
+ status: 'optional'
67
+ },
68
+ '[Space](/uilib/layout/space/properties)': {
69
+ doc: 'Spacing properties like `top` or `bottom` are supported.',
70
+ type: 'Various',
71
+ status: 'optional'
72
+ },
73
+ spacing: {
74
+ doc: 'Deprecated, use `gap` instead. ~~How much space between sub components. Can be `false` for no spacing.~~',
75
+ type: [`'xx-small'`, `'x-small'`, `'small'`, `'medium'`, `'large'`, `'x-large'`, `'xx-large'`, 'false'],
76
+ defaultValue: `'small'`,
77
+ status: 'deprecated'
78
+ }
79
+ };
80
+ exports.FlexContainerProperties = FlexContainerProperties;
81
+ //# sourceMappingURL=ContainerDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerDocs.js","names":["FlexContainerProperties","direction","doc","type","defaultValue","status","wrap","justify","align","divider","sizeCount","gap","rowGap","element","innerRef","spacing","exports"],"sources":["../../../../src/components/flex/ContainerDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const FlexContainerProperties: PropertiesTableProps = {\n direction: {\n doc: 'Direction of sub components. Can be: `horizontal` or `vertical`.',\n type: [`'horizontal'`, `'vertical'`],\n defaultValue: `'horizontal'`,\n status: 'optional',\n },\n wrap: {\n doc: 'Define if we should wrap contents if there is not enough space.',\n type: 'boolean',\n defaultValue: 'true',\n status: 'optional',\n },\n justify: {\n doc: 'How to place sub components if there is space available in the container.',\n type: [\n `'flex-start'`,\n `'flex-end'`,\n `'center'`,\n `'space-between'`,\n `'space-around'`,\n `'space-evenly'`,\n ],\n defaultValue: `'flex-start'`,\n status: 'optional',\n },\n align: {\n doc: 'How to align sub components.',\n type: [\n `'flex-start'`,\n `'flex-end'`,\n `'center'`,\n `'stretch'`,\n `'baseline'`,\n ],\n defaultValue: `'flex-start'`,\n status: 'optional',\n },\n divider: {\n doc: 'How to separate sub components.',\n type: [`'space'`, `'line'`, `'line-framed'`],\n defaultValue: `'space'`,\n status: 'optional',\n },\n sizeCount: {\n doc: 'Define how many parts your layout should be divided in. Should be used in combination with a [Flex.Item](/uilib/layout/flex/item).',\n type: 'number',\n defaultValue: '12',\n status: 'optional',\n },\n gap: {\n doc: 'How much space between child items. Use `false` for no spacing. (If in vertical layout: if both `rowGap` and `gap` is set, `rowGap` will be used.)',\n type: [\n `'xx-small'`,\n `'x-small'`,\n `'small'`,\n `'medium'`,\n `'large'`,\n `'x-large'`,\n `'xx-large'`,\n 'false',\n ],\n defaultValue: `'small'`,\n status: 'optional',\n },\n rowGap: {\n doc: 'How much space between rows. Use `false` for no row gap. (If in vertical layout: if both `rowGap` and `gap` is set, `rowGap` will be used.)',\n type: [\n `'xx-small'`,\n `'x-small'`,\n `'small'`,\n `'medium'`,\n `'large'`,\n `'x-large'`,\n `'xx-large'`,\n 'false',\n ],\n defaultValue: `'small'`,\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element.',\n type: ['string', 'React.Element'],\n defaultValue: `'div'`,\n status: 'optional',\n },\n innerRef: {\n doc: 'Provide a React.Ref to accessing the inner HTML element.',\n type: 'React.Ref',\n defaultValue: 'undefined',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: 'Various',\n status: 'optional',\n },\n spacing: {\n doc: 'Deprecated, use `gap` instead. ~~How much space between sub components. Can be `false` for no spacing.~~',\n type: [\n `'xx-small'`,\n `'x-small'`,\n `'small'`,\n `'medium'`,\n `'large'`,\n `'x-large'`,\n `'xx-large'`,\n 'false',\n ],\n defaultValue: `'small'`,\n status: 'deprecated',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,uBAA6C,GAAG;EAC3DC,SAAS,EAAE;IACTC,GAAG,EAAE,kEAAkE;IACvEC,IAAI,EAAE,CAAE,cAAa,EAAG,YAAW,CAAC;IACpCC,YAAY,EAAG,cAAa;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJJ,GAAG,EAAE,iEAAiE;IACtEC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,MAAM;IACpBC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPL,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,CACH,cAAa,EACb,YAAW,EACX,UAAS,EACT,iBAAgB,EAChB,gBAAe,EACf,gBAAe,CACjB;IACDC,YAAY,EAAG,cAAa;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLN,GAAG,EAAE,8BAA8B;IACnCC,IAAI,EAAE,CACH,cAAa,EACb,YAAW,EACX,UAAS,EACT,WAAU,EACV,YAAW,CACb;IACDC,YAAY,EAAG,cAAa;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPP,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,CAAE,SAAQ,EAAG,QAAO,EAAG,eAAc,CAAC;IAC5CC,YAAY,EAAG,SAAQ;IACvBC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTR,GAAG,EAAE,oIAAoI;IACzIC,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,IAAI;IAClBC,MAAM,EAAE;EACV,CAAC;EACDM,GAAG,EAAE;IACHT,GAAG,EAAE,oJAAoJ;IACzJC,IAAI,EAAE,CACH,YAAW,EACX,WAAU,EACV,SAAQ,EACR,UAAS,EACT,SAAQ,EACR,WAAU,EACV,YAAW,EACZ,OAAO,CACR;IACDC,YAAY,EAAG,SAAQ;IACvBC,MAAM,EAAE;EACV,CAAC;EACDO,MAAM,EAAE;IACNV,GAAG,EAAE,6IAA6I;IAClJC,IAAI,EAAE,CACH,YAAW,EACX,WAAU,EACV,SAAQ,EACR,UAAS,EACT,SAAQ,EACR,WAAU,EACV,YAAW,EACZ,OAAO,CACR;IACDC,YAAY,EAAG,SAAQ;IACvBC,MAAM,EAAE;EACV,CAAC;EACDQ,OAAO,EAAE;IACPX,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;IACjCC,YAAY,EAAG,OAAM;IACrBC,MAAM,EAAE;EACV,CAAC;EACDS,QAAQ,EAAE;IACRZ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,WAAW;IACjBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCH,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,SAAS;IACfE,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPb,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CACH,YAAW,EACX,WAAU,EACV,SAAQ,EACR,UAAS,EACT,SAAQ,EACR,WAAU,EACV,YAAW,EACZ,OAAO,CACR;IACDC,YAAY,EAAG,SAAQ;IACvBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAhB,uBAAA,GAAAA,uBAAA"}
@@ -1,10 +1,12 @@
1
1
  .dnb-flex-container {
2
+ --gap: 0;
3
+ --horizontal-gap: 0;
2
4
  display: flex;
3
- row-gap: var(--gap, 0);
5
+ row-gap: var(--gap);
4
6
  }
5
7
  .dnb-flex-container--direction-horizontal {
6
8
  flex-direction: row;
7
- margin-right: calc(var(--gap) * -1);
9
+ margin-right: calc(var(--horizontal-gap) * -1);
8
10
  }
9
11
  .dnb-flex-container--direction-vertical {
10
12
  flex-direction: column;
@@ -60,8 +62,11 @@
60
62
  .dnb-flex-container--wrap {
61
63
  flex-wrap: wrap;
62
64
  }
63
- .dnb-flex-container--row-gap-off {
64
- --gap: 0;
65
+ .dnb-flex-container--row-gap-xx-small {
66
+ --gap: var(--spacing-xx-small);
67
+ }
68
+ .dnb-flex-container--row-gap-x-small {
69
+ --gap: var(--spacing-x-small);
65
70
  }
66
71
  .dnb-flex-container--row-gap-small {
67
72
  --gap: var(--spacing-small);
@@ -72,6 +77,33 @@
72
77
  .dnb-flex-container--row-gap-large {
73
78
  --gap: var(--spacing-large);
74
79
  }
80
+ .dnb-flex-container--row-gap-x-large {
81
+ --gap: var(--spacing-x-large);
82
+ }
83
+ .dnb-flex-container--row-gap-xx-large {
84
+ --gap: var(--spacing-xx-large);
85
+ }
86
+ .dnb-flex-container--spacing-xx-small {
87
+ --horizontal-gap: var(--spacing-xx-small);
88
+ }
89
+ .dnb-flex-container--spacing-x-small {
90
+ --horizontal-gap: var(--spacing-x-small);
91
+ }
92
+ .dnb-flex-container--spacing-small {
93
+ --horizontal-gap: var(--spacing-small);
94
+ }
95
+ .dnb-flex-container--spacing-medium {
96
+ --horizontal-gap: var(--spacing-medium);
97
+ }
98
+ .dnb-flex-container--spacing-large {
99
+ --horizontal-gap: var(--spacing-large);
100
+ }
101
+ .dnb-flex-container--spacing-x-large {
102
+ --horizontal-gap: var(--spacing-x-large);
103
+ }
104
+ .dnb-flex-container--spacing-xx-large {
105
+ --horizontal-gap: var(--spacing-xx-large);
106
+ }
75
107
  .dnb-flex-container__hr.dnb-hr {
76
108
  width: 100%;
77
109
  color: var(--color-black-8);
@@ -1 +1 @@
1
- .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-off{--gap:0}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-small)}.dnb-flex-stack>.dnb-button{align-self:flex-start}
1
+ .dnb-flex-container{--gap:0;--horizontal-gap:0;display:flex;row-gap:var(--gap)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--horizontal-gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-xx-small{--gap:var(--spacing-xx-small)}.dnb-flex-container--row-gap-x-small{--gap:var(--spacing-x-small)}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container--row-gap-x-large{--gap:var(--spacing-x-large)}.dnb-flex-container--row-gap-xx-large{--gap:var(--spacing-xx-large)}.dnb-flex-container--spacing-xx-small{--horizontal-gap:var(--spacing-xx-small)}.dnb-flex-container--spacing-x-small{--horizontal-gap:var(--spacing-x-small)}.dnb-flex-container--spacing-small{--horizontal-gap:var(--spacing-small)}.dnb-flex-container--spacing-medium{--horizontal-gap:var(--spacing-medium)}.dnb-flex-container--spacing-large{--horizontal-gap:var(--spacing-large)}.dnb-flex-container--spacing-x-large{--horizontal-gap:var(--spacing-x-large)}.dnb-flex-container--spacing-xx-large{--horizontal-gap:var(--spacing-xx-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-small)}.dnb-flex-stack>.dnb-button{align-self:flex-start}
@@ -1,11 +1,13 @@
1
1
  .dnb-flex-container {
2
+ --gap: 0;
3
+ --horizontal-gap: 0;
2
4
  display: flex;
3
- row-gap: var(--gap, 0);
5
+ row-gap: var(--gap);
4
6
 
5
7
  &--direction {
6
8
  &-horizontal {
7
9
  flex-direction: row;
8
- margin-right: calc(var(--gap) * -1);
10
+ margin-right: calc(var(--horizontal-gap) * -1);
9
11
  }
10
12
 
11
13
  &-vertical {
@@ -88,8 +90,11 @@
88
90
  flex-wrap: wrap;
89
91
  }
90
92
 
91
- &--row-gap-off {
92
- --gap: 0;
93
+ &--row-gap-xx-small {
94
+ --gap: var(--spacing-xx-small);
95
+ }
96
+ &--row-gap-x-small {
97
+ --gap: var(--spacing-x-small);
93
98
  }
94
99
  &--row-gap-small {
95
100
  --gap: var(--spacing-small);
@@ -100,6 +105,36 @@
100
105
  &--row-gap-large {
101
106
  --gap: var(--spacing-large);
102
107
  }
108
+ &--row-gap-x-large {
109
+ --gap: var(--spacing-x-large);
110
+ }
111
+ &--row-gap-xx-large {
112
+ --gap: var(--spacing-xx-large);
113
+ }
114
+
115
+ &--spacing {
116
+ &-xx-small {
117
+ --horizontal-gap: var(--spacing-xx-small);
118
+ }
119
+ &-x-small {
120
+ --horizontal-gap: var(--spacing-x-small);
121
+ }
122
+ &-small {
123
+ --horizontal-gap: var(--spacing-small);
124
+ }
125
+ &-medium {
126
+ --horizontal-gap: var(--spacing-medium);
127
+ }
128
+ &-large {
129
+ --horizontal-gap: var(--spacing-large);
130
+ }
131
+ &-x-large {
132
+ --horizontal-gap: var(--spacing-x-large);
133
+ }
134
+ &-xx-large {
135
+ --horizontal-gap: var(--spacing-xx-large);
136
+ }
137
+ }
103
138
 
104
139
  &__hr.dnb-hr {
105
140
  width: 100%;
@@ -15,11 +15,16 @@ export type HelpProps = {
15
15
  export type HelpButtonInlineProps = HelpButtonProps & {
16
16
  contentId?: string;
17
17
  help?: HelpProps;
18
+ /**
19
+ * If set to `true`, the content will get focus when the help content is opened.
20
+ */
21
+ focusWhenOpen?: boolean;
18
22
  };
19
23
  export type HelpButtonInlineSharedStateDataProps = {
20
24
  isOpen: boolean;
21
25
  isUserIntent?: boolean;
22
26
  buttonRef?: React.RefObject<HTMLButtonElement>;
27
+ focusWhenOpen?: boolean;
23
28
  };
24
29
  declare function HelpButtonInline(props: HelpButtonInlineProps): import("react/jsx-runtime").JSX.Element;
25
30
  declare namespace HelpButtonInline {
@@ -33,6 +38,7 @@ export type HelpButtonInlineContentProps = SpacingProps & {
33
38
  help?: HelpProps;
34
39
  breakout?: boolean;
35
40
  outset?: boolean;
41
+ focusWhenOpen?: boolean;
36
42
  };
37
43
  export declare function HelpButtonInlineContent(props: HelpButtonInlineContentProps): import("react/jsx-runtime").JSX.Element;
38
44
  export declare namespace HelpButtonInlineContent {