@dnb/eufemia 10.65.1 → 10.66.1

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 (483) hide show
  1. package/CHANGELOG.md +43 -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/DatePickerInput.d.ts +5 -0
  5. package/cjs/components/date-picker/DatePickerInput.js +103 -76
  6. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerProvider.d.ts +4 -3
  8. package/cjs/components/date-picker/DatePickerProvider.js +7 -2
  9. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  10. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  11. package/cjs/components/flex/Container.d.ts +2 -1
  12. package/cjs/components/flex/Container.js +31 -24
  13. package/cjs/components/flex/Container.js.map +1 -1
  14. package/cjs/components/flex/ContainerDocs.d.ts +2 -0
  15. package/cjs/components/flex/ContainerDocs.js +81 -0
  16. package/cjs/components/flex/ContainerDocs.js.map +1 -0
  17. package/cjs/components/flex/style/dnb-flex.css +36 -4
  18. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  19. package/cjs/components/flex/style/flex-container.scss +39 -4
  20. package/cjs/components/help-button/HelpButtonInline.d.ts +7 -0
  21. package/cjs/components/help-button/HelpButtonInline.js +53 -20
  22. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  23. package/cjs/components/help-button/HelpButtonInstance.js +1 -1
  24. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  25. package/cjs/components/slider/SliderDocs.js +2 -2
  26. package/cjs/components/slider/SliderDocs.js.map +1 -1
  27. package/cjs/components/slider/SliderProvider.js +0 -2
  28. package/cjs/components/slider/SliderProvider.js.map +1 -1
  29. package/cjs/components/slider/types.d.ts +2 -2
  30. package/cjs/components/slider/types.js.map +1 -1
  31. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -0
  32. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  33. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  34. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  35. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  36. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  37. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -1
  38. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -0
  39. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  40. package/cjs/components/upload/Upload.js +4 -5
  41. package/cjs/components/upload/Upload.js.map +1 -1
  42. package/cjs/components/upload/UploadFileInput.d.ts +4 -1
  43. package/cjs/components/upload/UploadFileInput.js +11 -3
  44. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  45. package/cjs/components/upload/types.d.ts +1 -1
  46. package/cjs/components/upload/types.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/Context.d.ts +10 -4
  48. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  50. package/cjs/extensions/forms/DataContext/Provider/Provider.js +44 -40
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  54. package/cjs/extensions/forms/Field/Composition/Composition.js +2 -1
  55. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  56. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  57. package/cjs/extensions/forms/Field/Date/Date.js +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Slider/Slider.js +13 -4
  60. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Upload/Upload.js +2 -1
  62. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  64. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  65. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  66. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  67. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  68. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  69. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  70. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  71. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  72. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  73. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  74. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  75. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  76. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  77. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  78. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +78 -0
  79. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  80. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  81. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +94 -0
  82. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  83. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  84. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +67 -0
  85. package/cjs/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  86. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  87. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -206
  88. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  89. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  90. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  91. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  92. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  93. package/cjs/extensions/forms/Wizard/Context/types.d.ts +35 -0
  94. package/cjs/extensions/forms/Wizard/Context/types.js +1 -0
  95. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -0
  96. package/cjs/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  97. package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  98. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  99. package/cjs/extensions/forms/Wizard/Step/Step.js +28 -9
  100. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  101. package/cjs/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  102. package/cjs/extensions/forms/Wizard/Step/StepContext.js +12 -0
  103. package/cjs/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  104. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  105. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  107. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  108. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  109. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  110. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  111. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  112. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  113. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  114. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  115. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  116. package/cjs/extensions/forms/hooks/useFieldProps.js +35 -17
  117. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  118. package/cjs/extensions/forms/style/dnb-forms.css +22 -0
  119. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  120. package/cjs/extensions/forms/types.d.ts +9 -1
  121. package/cjs/extensions/forms/types.js.map +1 -1
  122. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -1
  123. package/cjs/fragments/drawer-list/DrawerList.js +1 -0
  124. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  125. package/cjs/shared/Eufemia.d.ts +1 -1
  126. package/cjs/shared/Eufemia.js +2 -2
  127. package/cjs/shared/Eufemia.js.map +1 -1
  128. package/cjs/style/core/scopes.scss +1 -1
  129. package/cjs/style/dnb-ui-basis.css +1 -1
  130. package/cjs/style/dnb-ui-basis.min.css +1 -1
  131. package/cjs/style/dnb-ui-body.css +1 -1
  132. package/cjs/style/dnb-ui-body.min.css +1 -1
  133. package/cjs/style/dnb-ui-components.css +58 -4
  134. package/cjs/style/dnb-ui-components.min.css +2 -2
  135. package/cjs/style/dnb-ui-core.css +1 -1
  136. package/cjs/style/dnb-ui-core.min.css +1 -1
  137. package/cjs/style/dnb-ui-extensions.css +22 -0
  138. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  139. package/cjs/style/dnb-ui-forms.css +22 -0
  140. package/cjs/style/dnb-ui-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  142. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  144. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  146. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  153. package/cjs/style/themes/theme-ui/ui-theme-components.css +80 -4
  154. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  155. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  156. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  157. package/cjs/style/themes/theme-ui/ui-theme-forms.css +22 -0
  158. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  159. package/components/card/Card.js +1 -1
  160. package/components/card/Card.js.map +1 -1
  161. package/components/date-picker/DatePickerInput.d.ts +5 -0
  162. package/components/date-picker/DatePickerInput.js +103 -76
  163. package/components/date-picker/DatePickerInput.js.map +1 -1
  164. package/components/date-picker/DatePickerProvider.d.ts +4 -3
  165. package/components/date-picker/DatePickerProvider.js +7 -2
  166. package/components/date-picker/DatePickerProvider.js.map +1 -1
  167. package/components/date-picker/hooks/useDates.js.map +1 -1
  168. package/components/flex/Container.d.ts +2 -1
  169. package/components/flex/Container.js +32 -25
  170. package/components/flex/Container.js.map +1 -1
  171. package/components/flex/ContainerDocs.d.ts +2 -0
  172. package/components/flex/ContainerDocs.js +74 -0
  173. package/components/flex/ContainerDocs.js.map +1 -0
  174. package/components/flex/style/dnb-flex.css +36 -4
  175. package/components/flex/style/dnb-flex.min.css +1 -1
  176. package/components/flex/style/flex-container.scss +39 -4
  177. package/components/help-button/HelpButtonInline.d.ts +7 -0
  178. package/components/help-button/HelpButtonInline.js +53 -20
  179. package/components/help-button/HelpButtonInline.js.map +1 -1
  180. package/components/help-button/HelpButtonInstance.js +1 -1
  181. package/components/help-button/HelpButtonInstance.js.map +1 -1
  182. package/components/slider/SliderDocs.js +2 -2
  183. package/components/slider/SliderDocs.js.map +1 -1
  184. package/components/slider/SliderProvider.js +0 -2
  185. package/components/slider/SliderProvider.js.map +1 -1
  186. package/components/slider/types.d.ts +2 -2
  187. package/components/slider/types.js.map +1 -1
  188. package/components/step-indicator/StepIndicator.d.ts +6 -0
  189. package/components/step-indicator/StepIndicator.js.map +1 -1
  190. package/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  191. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  192. package/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  193. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  194. package/components/toggle-button/ToggleButton.d.ts +9 -1
  195. package/components/toggle-button/ToggleButtonDocs.js +1 -0
  196. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  197. package/components/upload/Upload.js +3 -4
  198. package/components/upload/Upload.js.map +1 -1
  199. package/components/upload/UploadFileInput.d.ts +4 -1
  200. package/components/upload/UploadFileInput.js +10 -3
  201. package/components/upload/UploadFileInput.js.map +1 -1
  202. package/components/upload/types.d.ts +1 -1
  203. package/components/upload/types.js.map +1 -1
  204. package/es/components/card/Card.js +1 -1
  205. package/es/components/card/Card.js.map +1 -1
  206. package/es/components/date-picker/DatePickerInput.d.ts +5 -0
  207. package/es/components/date-picker/DatePickerInput.js +103 -76
  208. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  209. package/es/components/date-picker/DatePickerProvider.d.ts +4 -3
  210. package/es/components/date-picker/DatePickerProvider.js +7 -2
  211. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  212. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  213. package/es/components/flex/Container.d.ts +2 -1
  214. package/es/components/flex/Container.js +32 -25
  215. package/es/components/flex/Container.js.map +1 -1
  216. package/es/components/flex/ContainerDocs.d.ts +2 -0
  217. package/es/components/flex/ContainerDocs.js +74 -0
  218. package/es/components/flex/ContainerDocs.js.map +1 -0
  219. package/es/components/flex/style/dnb-flex.css +36 -4
  220. package/es/components/flex/style/dnb-flex.min.css +1 -1
  221. package/es/components/flex/style/flex-container.scss +39 -4
  222. package/es/components/help-button/HelpButtonInline.d.ts +7 -0
  223. package/es/components/help-button/HelpButtonInline.js +52 -19
  224. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  225. package/es/components/help-button/HelpButtonInstance.js +1 -1
  226. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  227. package/es/components/slider/SliderDocs.js +2 -2
  228. package/es/components/slider/SliderDocs.js.map +1 -1
  229. package/es/components/slider/SliderProvider.js +0 -2
  230. package/es/components/slider/SliderProvider.js.map +1 -1
  231. package/es/components/slider/types.d.ts +2 -2
  232. package/es/components/slider/types.js.map +1 -1
  233. package/es/components/step-indicator/StepIndicator.d.ts +6 -0
  234. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  235. package/es/components/step-indicator/StepIndicatorContext.d.ts +2 -0
  236. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  237. package/es/components/step-indicator/StepIndicatorTriggerButton.js +4 -3
  238. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  239. package/es/components/toggle-button/ToggleButton.d.ts +9 -1
  240. package/es/components/toggle-button/ToggleButtonDocs.js +1 -0
  241. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  242. package/es/components/upload/Upload.js +3 -4
  243. package/es/components/upload/Upload.js.map +1 -1
  244. package/es/components/upload/UploadFileInput.d.ts +4 -1
  245. package/es/components/upload/UploadFileInput.js +10 -3
  246. package/es/components/upload/UploadFileInput.js.map +1 -1
  247. package/es/components/upload/types.d.ts +1 -1
  248. package/es/components/upload/types.js.map +1 -1
  249. package/es/extensions/forms/DataContext/Context.d.ts +10 -4
  250. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  251. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  252. package/es/extensions/forms/DataContext/Provider/Provider.js +34 -33
  253. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  254. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  255. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  256. package/es/extensions/forms/Field/Composition/Composition.js +2 -1
  257. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  258. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  259. package/es/extensions/forms/Field/Date/Date.js +1 -1
  260. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  261. package/es/extensions/forms/Field/Slider/Slider.js +13 -4
  262. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  263. package/es/extensions/forms/Field/Upload/Upload.js +2 -1
  264. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  265. package/es/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  266. package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  267. package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  268. package/es/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  269. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  270. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  271. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  272. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  273. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  274. package/es/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  275. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  276. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  277. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  278. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  279. package/es/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  280. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +66 -0
  281. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  282. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  283. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +85 -0
  284. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  285. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  286. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +54 -0
  287. package/es/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  288. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  289. package/es/extensions/forms/Wizard/Container/WizardContainer.js +97 -194
  290. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  291. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  292. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  293. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  294. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  295. package/es/extensions/forms/Wizard/Context/types.d.ts +35 -0
  296. package/es/extensions/forms/Wizard/Context/types.js +1 -0
  297. package/es/extensions/forms/Wizard/Context/types.js.map +1 -0
  298. package/es/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  299. package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  300. package/es/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  301. package/es/extensions/forms/Wizard/Step/Step.js +29 -10
  302. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  303. package/es/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  304. package/es/extensions/forms/Wizard/Step/StepContext.js +4 -0
  305. package/es/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  306. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  307. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  308. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  309. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  310. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  311. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  312. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  313. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  314. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  315. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  316. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  317. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  318. package/es/extensions/forms/hooks/useFieldProps.js +36 -16
  319. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  320. package/es/extensions/forms/style/dnb-forms.css +22 -0
  321. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  322. package/es/extensions/forms/types.d.ts +9 -1
  323. package/es/extensions/forms/types.js.map +1 -1
  324. package/es/fragments/drawer-list/DrawerList.d.ts +6 -1
  325. package/es/fragments/drawer-list/DrawerList.js +1 -0
  326. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  327. package/es/shared/Eufemia.d.ts +1 -1
  328. package/es/shared/Eufemia.js +2 -2
  329. package/es/shared/Eufemia.js.map +1 -1
  330. package/es/style/core/scopes.scss +1 -1
  331. package/es/style/dnb-ui-basis.css +1 -1
  332. package/es/style/dnb-ui-basis.min.css +1 -1
  333. package/es/style/dnb-ui-body.css +1 -1
  334. package/es/style/dnb-ui-body.min.css +1 -1
  335. package/es/style/dnb-ui-components.css +58 -4
  336. package/es/style/dnb-ui-components.min.css +2 -2
  337. package/es/style/dnb-ui-core.css +1 -1
  338. package/es/style/dnb-ui-core.min.css +1 -1
  339. package/es/style/dnb-ui-extensions.css +22 -0
  340. package/es/style/dnb-ui-extensions.min.css +1 -1
  341. package/es/style/dnb-ui-forms.css +22 -0
  342. package/es/style/dnb-ui-forms.min.css +1 -1
  343. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  344. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  345. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  346. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  347. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  348. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  349. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  350. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  351. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  352. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  353. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  354. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  355. package/es/style/themes/theme-ui/ui-theme-components.css +80 -4
  356. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  357. package/es/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  358. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  359. package/es/style/themes/theme-ui/ui-theme-forms.css +22 -0
  360. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  361. package/esm/dnb-ui-basis.min.mjs +1 -1
  362. package/esm/dnb-ui-components.min.mjs +1 -1
  363. package/esm/dnb-ui-elements.min.mjs +1 -1
  364. package/esm/dnb-ui-extensions.min.mjs +2 -2
  365. package/esm/dnb-ui-lib.min.mjs +1 -1
  366. package/extensions/forms/DataContext/Context.d.ts +10 -4
  367. package/extensions/forms/DataContext/Context.js.map +1 -1
  368. package/extensions/forms/DataContext/Provider/Provider.d.ts +2 -2
  369. package/extensions/forms/DataContext/Provider/Provider.js +44 -40
  370. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  371. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  372. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  373. package/extensions/forms/Field/Composition/Composition.js +2 -1
  374. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  375. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  376. package/extensions/forms/Field/Date/Date.js +1 -1
  377. package/extensions/forms/Field/Date/Date.js.map +1 -1
  378. package/extensions/forms/Field/Slider/Slider.js +13 -4
  379. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  380. package/extensions/forms/Field/Upload/Upload.js +2 -1
  381. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  382. package/extensions/forms/Field/Upload/style/dnb-upload.css +5 -0
  383. package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -1
  384. package/extensions/forms/Field/Upload/style/dnb-upload.scss +6 -0
  385. package/extensions/forms/FieldBlock/FieldBlock.js +17 -13
  386. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  387. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  388. package/extensions/forms/Value/ValueDocs.js +5 -0
  389. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  390. package/extensions/forms/ValueBlock/ValueBlock.d.ts +14 -1
  391. package/extensions/forms/ValueBlock/ValueBlock.js +40 -10
  392. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  393. package/extensions/forms/ValueBlock/style/dnb-value-block.css +17 -0
  394. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  395. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +24 -0
  396. package/extensions/forms/Wizard/Container/DisplaySteps.d.ts +7 -0
  397. package/extensions/forms/Wizard/Container/DisplaySteps.js +70 -0
  398. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -0
  399. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +3 -0
  400. package/extensions/forms/Wizard/Container/IterateOverSteps.js +86 -0
  401. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -0
  402. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.d.ts +4 -0
  403. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js +57 -0
  404. package/extensions/forms/Wizard/Container/PrerenderFieldPropsOfOtherSteps.js.map +1 -0
  405. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +9 -1
  406. package/extensions/forms/Wizard/Container/WizardContainer.js +103 -207
  407. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  408. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +10 -0
  409. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  410. package/extensions/forms/Wizard/Context/WizardContext.d.ts +7 -23
  411. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  412. package/extensions/forms/Wizard/Context/types.d.ts +35 -0
  413. package/extensions/forms/Wizard/Context/types.js +1 -0
  414. package/extensions/forms/Wizard/Context/types.js.map +1 -0
  415. package/extensions/forms/Wizard/EditButton/EditButton.d.ts +1 -1
  416. package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
  417. package/extensions/forms/Wizard/Step/Step.d.ts +4 -0
  418. package/extensions/forms/Wizard/Step/Step.js +29 -10
  419. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  420. package/extensions/forms/Wizard/Step/StepContext.d.ts +7 -0
  421. package/extensions/forms/Wizard/Step/StepContext.js +4 -0
  422. package/extensions/forms/Wizard/Step/StepContext.js.map +1 -0
  423. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  424. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  425. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -1
  426. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  427. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  428. package/extensions/forms/constants/locales/en-GB.js +2 -1
  429. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  430. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  431. package/extensions/forms/constants/locales/index.d.ts +2 -0
  432. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  433. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  434. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  435. package/extensions/forms/hooks/useFieldProps.js +35 -17
  436. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  437. package/extensions/forms/style/dnb-forms.css +22 -0
  438. package/extensions/forms/style/dnb-forms.min.css +1 -1
  439. package/extensions/forms/types.d.ts +9 -1
  440. package/extensions/forms/types.js.map +1 -1
  441. package/fragments/drawer-list/DrawerList.d.ts +6 -1
  442. package/fragments/drawer-list/DrawerList.js +1 -0
  443. package/fragments/drawer-list/DrawerList.js.map +1 -1
  444. package/package.json +1 -1
  445. package/shared/Eufemia.d.ts +1 -1
  446. package/shared/Eufemia.js +2 -2
  447. package/shared/Eufemia.js.map +1 -1
  448. package/style/core/scopes.scss +1 -1
  449. package/style/dnb-ui-basis.css +1 -1
  450. package/style/dnb-ui-basis.min.css +1 -1
  451. package/style/dnb-ui-body.css +1 -1
  452. package/style/dnb-ui-body.min.css +1 -1
  453. package/style/dnb-ui-components.css +58 -4
  454. package/style/dnb-ui-components.min.css +2 -2
  455. package/style/dnb-ui-core.css +1 -1
  456. package/style/dnb-ui-core.min.css +1 -1
  457. package/style/dnb-ui-extensions.css +22 -0
  458. package/style/dnb-ui-extensions.min.css +1 -1
  459. package/style/dnb-ui-forms.css +22 -0
  460. package/style/dnb-ui-forms.min.css +1 -1
  461. package/style/themes/theme-eiendom/eiendom-theme-components.css +80 -4
  462. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  463. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +22 -0
  464. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -0
  466. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  467. package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -4
  468. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  469. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +22 -0
  470. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  471. package/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -0
  472. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  473. package/style/themes/theme-ui/ui-theme-components.css +80 -4
  474. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  475. package/style/themes/theme-ui/ui-theme-extensions.css +22 -0
  476. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  477. package/style/themes/theme-ui/ui-theme-forms.css +22 -0
  478. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  479. package/umd/dnb-ui-basis.min.js +1 -1
  480. package/umd/dnb-ui-components.min.js +1 -1
  481. package/umd/dnb-ui-elements.min.js +1 -1
  482. package/umd/dnb-ui-extensions.min.js +2 -2
  483. package/umd/dnb-ui-lib.min.js +1 -1
@@ -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,8 @@ export type HelpButtonInlineContentProps = SpacingProps & {
33
38
  help?: HelpProps;
34
39
  breakout?: boolean;
35
40
  outset?: boolean;
41
+ roundedCorner?: boolean;
42
+ focusWhenOpen?: boolean;
36
43
  };
37
44
  export declare function HelpButtonInlineContent(props: HelpButtonInlineContentProps): import("react/jsx-runtime").JSX.Element;
38
45
  export declare namespace HelpButtonInlineContent {
@@ -20,8 +20,8 @@ var _CardContext = _interopRequireDefault(require("../card/CardContext"));
20
20
  var _Dialog = _interopRequireDefault(require("../Dialog"));
21
21
  var _icons = require("../../icons");
22
22
  var _QuestionIcon, _CloseIcon;
23
- const _excluded = ["contentId", "size", "help", "className", "children"],
24
- _excluded2 = ["contentId", "className", "children", "help", "breakout", "outset"];
23
+ const _excluded = ["contentId", "size", "help", "focusWhenOpen", "className", "children"],
24
+ _excluded2 = ["contentId", "className", "children", "help", "breakout", "outset", "roundedCorner", "focusWhenOpen"];
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
26
  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); }
27
27
  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; }
@@ -34,6 +34,7 @@ function HelpButtonInline(props) {
34
34
  contentId,
35
35
  size,
36
36
  help,
37
+ focusWhenOpen,
37
38
  className,
38
39
  children
39
40
  } = props,
@@ -51,32 +52,55 @@ function HelpButtonInline(props) {
51
52
  } = data || {};
52
53
  const wasOpenRef = (0, _react.useRef)(undefined);
53
54
  const buttonRef = (0, _react.useRef)(null);
54
- const onClickHandler = (0, _react.useCallback)(_ref => {
55
- let {
56
- event
57
- } = _ref;
58
- event.preventDefault();
55
+ const toggleOpen = (0, _react.useCallback)(() => {
59
56
  update({
60
57
  isOpen: !isOpen,
61
58
  isUserIntent: !isOpen,
62
- buttonRef
59
+ buttonRef,
60
+ focusWhenOpen
63
61
  });
64
62
  wasOpenRef.current = !isOpen;
65
- }, [isOpen, update]);
63
+ }, [focusWhenOpen, isOpen, update]);
64
+ const onClickHandler = (0, _react.useCallback)(_ref => {
65
+ let {
66
+ event
67
+ } = _ref;
68
+ event.preventDefault();
69
+ toggleOpen();
70
+ }, [toggleOpen]);
71
+ const onKeyDownHandler = (0, _react.useCallback)(event => {
72
+ if (event.currentTarget === event.target) {
73
+ switch (event.key.trim() || event.code) {
74
+ case 'Escape':
75
+ if (isOpen) {
76
+ event.preventDefault();
77
+ window.requestAnimationFrame(() => {
78
+ toggleOpen();
79
+ });
80
+ }
81
+ break;
82
+ }
83
+ }
84
+ }, [isOpen, toggleOpen]);
85
+ const title = (0, _componentHelper.convertJsxToString)(help === null || help === void 0 ? void 0 : help.title);
66
86
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_HelpButtonInstance.default, _extends({
67
87
  bounding: true,
68
88
  size: size !== null && size !== void 0 ? size : 'small',
69
89
  icon: HelpButtonIcon,
70
- title: !isOpen && !wasOpenRef.current ? (0, _componentHelper.convertJsxToString)(help === null || help === void 0 ? void 0 : help.title) : undefined
90
+ title: !isOpen && !wasOpenRef.current ? title : undefined
71
91
  }, rest, {
72
92
  id: controlId,
73
93
  className: (0, _classnames.default)('dnb-help-button__inline', className, isOpen && 'dnb-help-button__inline--open', isUserIntent && 'dnb-help-button__inline--user-intent', typeof wasOpenRef.current === 'boolean' && 'dnb-help-button__inline--was-open'),
74
94
  "aria-controls": `${controlId}-content`,
95
+ "aria-expanded": isOpen,
96
+ "aria-label": title,
75
97
  on_click: onClickHandler,
98
+ onKeyDown: onKeyDownHandler,
76
99
  innerRef: buttonRef
77
100
  })), !contentId && _react.default.createElement(HelpButtonInlineContent, {
78
101
  contentId: controlId,
79
- help: help
102
+ help: help,
103
+ focusWhenOpen: focusWhenOpen
80
104
  }, children));
81
105
  }
82
106
  function HelpButtonInlineContent(props) {
@@ -87,7 +111,9 @@ function HelpButtonInlineContent(props) {
87
111
  children,
88
112
  help: helpProp,
89
113
  breakout = true,
90
- outset = true
114
+ outset = true,
115
+ roundedCorner = true,
116
+ focusWhenOpen: focusWhenOpenProp
91
117
  } = props,
92
118
  rest = _objectWithoutProperties(props, _excluded2);
93
119
  const {
@@ -96,6 +122,7 @@ function HelpButtonInlineContent(props) {
96
122
  } = (0, _useSharedState.useSharedState)(contentId);
97
123
  const {
98
124
  isOpen,
125
+ focusWhenOpen = focusWhenOpenProp,
99
126
  isUserIntent,
100
127
  buttonRef
101
128
  } = data || {};
@@ -112,7 +139,7 @@ function HelpButtonInlineContent(props) {
112
139
  const breakoutFromLayout = Boolean(cardContext) && breakout && breakoutProp;
113
140
  const outsetFromLayout = outset && outsetProp;
114
141
  (0, _react.useEffect)(() => {
115
- if (isOpen && isUserIntent) {
142
+ if (isOpen && isUserIntent && focusWhenOpen) {
116
143
  window.requestAnimationFrame(() => {
117
144
  var _innerRef$current;
118
145
  (_innerRef$current = innerRef.current) === null || _innerRef$current === void 0 ? void 0 : _innerRef$current.focus({
@@ -120,7 +147,7 @@ function HelpButtonInlineContent(props) {
120
147
  });
121
148
  });
122
149
  }
123
- }, [isOpen, isUserIntent]);
150
+ }, [focusWhenOpen, isOpen, isUserIntent]);
124
151
  const onClose = (0, _react.useCallback)(() => {
125
152
  update({
126
153
  isOpen: false,
@@ -151,19 +178,25 @@ function HelpButtonInlineContent(props) {
151
178
  onClose: onClose
152
179
  }, content, children);
153
180
  }
181
+ const focusParams = focusWhenOpen ? {
182
+ 'aria-label': (0, _componentHelper.convertJsxToString)(title),
183
+ className: 'dnb-no-focus',
184
+ tabIndex: -1,
185
+ onKeyDown
186
+ } : {
187
+ 'aria-live': 'polite',
188
+ 'aria-atomic': 'true'
189
+ };
154
190
  return _react.default.createElement(_HeightAnimation.default, {
155
191
  className: (0, _classnames.default)('dnb-help-button__content', className),
156
192
  open: (_ref2 = isOpen !== null && isOpen !== void 0 ? isOpen : open) !== null && _ref2 !== void 0 ? _ref2 : false
157
193
  }, _react.default.createElement(_Section.default, _extends({
158
- id: `${contentId}-content`,
159
- "aria-label": (0, _componentHelper.convertJsxToString)(title),
160
- className: "dnb-no-focus",
161
- tabIndex: -1,
194
+ id: `${contentId}-content`
195
+ }, focusParams, {
162
196
  innerRef: innerRef,
163
- onKeyDown: onKeyDown,
164
197
  outset: outsetFromLayout,
165
198
  breakout: breakoutFromLayout,
166
- roundedCorner: !breakoutFromLayout,
199
+ roundedCorner: roundedCorner !== null && roundedCorner !== void 0 ? roundedCorner : !breakoutFromLayout,
167
200
  innerSpace: breakoutFromLayout ? {
168
201
  top: 'small',
169
202
  bottom: 'medium'