@dnb/eufemia 10.62.4 → 10.63.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 (892) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -125
  3. package/cjs/components/accordion/Accordion.js +0 -1
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/autocomplete/Autocomplete.js +3 -2
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/Button.d.ts +3 -6
  8. package/cjs/components/button/Button.js +8 -18
  9. package/cjs/components/button/Button.js.map +1 -1
  10. package/cjs/components/button/ButtonDocs.d.ts +2 -0
  11. package/cjs/components/button/ButtonDocs.js +135 -0
  12. package/cjs/components/button/ButtonDocs.js.map +1 -0
  13. package/cjs/components/date-picker/DatePicker.d.ts +4 -0
  14. package/cjs/components/date-picker/DatePicker.js +24 -10
  15. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  16. package/cjs/components/date-picker/DatePickerDocs.js +5 -0
  17. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  18. package/cjs/components/date-picker/DatePickerPortal.d.ts +9 -0
  19. package/cjs/components/date-picker/DatePickerPortal.js +61 -0
  20. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -0
  21. package/cjs/components/date-picker/style/dnb-date-picker.css +64 -55
  22. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  23. package/cjs/components/date-picker/style/dnb-date-picker.scss +90 -75
  24. package/cjs/components/form-row/FormRow.js +2 -7
  25. package/cjs/components/form-row/FormRow.js.map +1 -1
  26. package/cjs/components/form-row/style/dnb-form-row.css +3 -3
  27. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  28. package/cjs/components/form-status/FormStatus.js +17 -19
  29. package/cjs/components/form-status/FormStatus.js.map +1 -1
  30. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  31. package/cjs/components/height-animation/HeightAnimationInstance.js +26 -1
  32. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  33. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  34. package/cjs/components/input-masked/InputMasked.js +2 -2
  35. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  36. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  37. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  38. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  39. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  40. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  41. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  42. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
  43. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  44. package/cjs/components/pagination/Pagination.d.ts +12 -0
  45. package/cjs/components/pagination/Pagination.js +7 -3
  46. package/cjs/components/pagination/Pagination.js.map +1 -1
  47. package/cjs/components/pagination/PaginationBar.d.ts +2 -1
  48. package/cjs/components/pagination/PaginationBar.js +10 -3
  49. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  50. package/cjs/components/radio/style/dnb-radio.css +3 -3
  51. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  52. package/cjs/components/space/style/dnb-space.css +4 -4
  53. package/cjs/components/space/style/dnb-space.min.css +1 -1
  54. package/cjs/components/space/style/dnb-space.scss +2 -12
  55. package/cjs/components/space/style/space-mixins.scss +21 -0
  56. package/cjs/components/tabs/Tabs.d.ts +1 -1
  57. package/cjs/components/tabs/Tabs.js +4 -12
  58. package/cjs/components/tabs/Tabs.js.map +1 -1
  59. package/cjs/components/toggle-button/ToggleButton.d.ts +9 -5
  60. package/cjs/components/toggle-button/ToggleButton.js +2 -0
  61. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  62. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  63. package/cjs/components/toggle-button/ToggleButtonDocs.js +87 -0
  64. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  65. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  66. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  67. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +90 -0
  68. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  69. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -3
  70. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  71. package/cjs/elements/blockquote/style/blockquote-mixins.scss +5 -3
  72. package/cjs/elements/code/style/code-mixins.scss +2 -3
  73. package/cjs/elements/hr/style/hr-mixins.scss +2 -3
  74. package/cjs/elements/img/style/img-mixins.scss +3 -3
  75. package/cjs/elements/lists/style/lists-mixins.scss +3 -6
  76. package/cjs/elements/typography/style/typography-mixins.scss +2 -3
  77. package/cjs/extensions/forms/DataContext/Context.d.ts +15 -4
  78. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  79. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  80. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  81. package/cjs/extensions/forms/DataContext/Provider/Provider.js +28 -17
  82. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  83. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  84. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  85. package/cjs/extensions/forms/Field/Date/Date.js +5 -4
  86. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  88. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  90. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  91. package/cjs/extensions/forms/Field/Number/Number.js +2 -2
  92. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -1
  94. package/cjs/extensions/forms/Field/Option/Option.js +2 -14
  95. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  96. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  97. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  98. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  99. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  100. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  101. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  102. package/cjs/extensions/forms/Field/Selection/Selection.js +19 -12
  103. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  105. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  106. package/cjs/extensions/forms/Field/Slider/Slider.js +4 -3
  107. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  108. package/cjs/extensions/forms/Field/String/String.js +2 -2
  109. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -4
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Upload/Upload.js +21 -21
  113. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  114. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  115. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  116. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  117. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  118. package/cjs/extensions/forms/Form/Isolation/Isolation.js +17 -3
  119. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  120. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  121. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js +27 -0
  122. package/cjs/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  124. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  125. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  126. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js +27 -0
  127. package/cjs/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  128. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  129. package/cjs/extensions/forms/Form/Visibility/Visibility.js +18 -10
  130. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  131. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  132. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  133. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  134. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  135. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  136. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/Array/Array.js +49 -29
  138. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  140. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/Array/types.d.ts +8 -3
  142. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  143. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  144. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  145. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +10 -1
  146. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  148. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  150. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js +50 -0
  151. package/cjs/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  152. package/cjs/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  153. package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  155. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +16 -14
  156. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  157. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  158. package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  159. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  160. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -15
  161. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  162. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  163. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  165. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  167. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  168. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  169. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  170. package/cjs/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  171. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js +31 -0
  172. package/cjs/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  173. package/cjs/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  174. package/cjs/extensions/forms/Iterate/Visibility/index.js +27 -0
  175. package/cjs/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  176. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  177. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  178. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  179. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  180. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  181. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  182. package/cjs/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  183. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js +22 -0
  184. package/cjs/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  185. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  186. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  187. package/cjs/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  188. package/cjs/extensions/forms/Iterate/index.d.ts +1 -0
  189. package/cjs/extensions/forms/Iterate/index.js +7 -0
  190. package/cjs/extensions/forms/Iterate/index.js.map +1 -1
  191. package/cjs/extensions/forms/Tools/GenerateSchema.js +15 -9
  192. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  193. package/cjs/extensions/forms/Tools/ListAllProps.js +11 -7
  194. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  195. package/cjs/extensions/forms/Tools/Log.js +2 -1
  196. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  197. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  198. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  199. package/cjs/extensions/forms/Value/Selection/Selection.js +5 -5
  200. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  201. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +25 -7
  202. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  203. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  204. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  205. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  206. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  207. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  208. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  209. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  210. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  211. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  212. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  213. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -2
  214. package/cjs/extensions/forms/hooks/useDataValue.js +5 -9
  215. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  216. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  217. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  218. package/cjs/extensions/forms/hooks/useFieldProps.js +164 -76
  219. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  220. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useValueProps.js +5 -5
  222. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  223. package/cjs/extensions/forms/style/dnb-forms.css +9 -4
  224. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  225. package/cjs/extensions/forms/types.d.ts +33 -6
  226. package/cjs/extensions/forms/types.js.map +1 -1
  227. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +8 -0
  228. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  229. package/cjs/extensions/payment-card/PaymentCard.js +3 -12
  230. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  231. package/cjs/fragments/drawer-list/DrawerList.d.ts +4 -2
  232. package/cjs/fragments/drawer-list/DrawerList.js +33 -47
  233. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  234. package/cjs/fragments/drawer-list/DrawerListDocs.js +3 -3
  235. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  236. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  237. package/cjs/shared/AlignmentHelper.js +0 -4
  238. package/cjs/shared/AlignmentHelper.js.map +1 -1
  239. package/cjs/shared/Eufemia.d.ts +1 -1
  240. package/cjs/shared/Eufemia.js +2 -2
  241. package/cjs/shared/Eufemia.js.map +1 -1
  242. package/cjs/shared/component-helper.js +2 -1
  243. package/cjs/shared/component-helper.js.map +1 -1
  244. package/cjs/style/core/scopes.scss +1 -1
  245. package/cjs/style/core/utilities.scss +3 -12
  246. package/cjs/style/dnb-ui-basis.css +1 -1
  247. package/cjs/style/dnb-ui-basis.min.css +1 -1
  248. package/cjs/style/dnb-ui-body.css +1 -1
  249. package/cjs/style/dnb-ui-body.min.css +1 -1
  250. package/cjs/style/dnb-ui-components.css +90 -76
  251. package/cjs/style/dnb-ui-components.min.css +4 -4
  252. package/cjs/style/dnb-ui-core.css +1 -1
  253. package/cjs/style/dnb-ui-core.min.css +1 -1
  254. package/cjs/style/dnb-ui-elements.css +151 -31
  255. package/cjs/style/dnb-ui-elements.min.css +1 -1
  256. package/cjs/style/dnb-ui-extensions.css +9 -4
  257. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  258. package/cjs/style/dnb-ui-forms.css +9 -4
  259. package/cjs/style/dnb-ui-forms.min.css +1 -1
  260. package/cjs/style/dnb-ui-fragments.css +1 -1
  261. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  263. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  264. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  265. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  266. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  267. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  268. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  269. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  270. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  271. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  272. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  273. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  274. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  275. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  276. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  277. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  278. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  279. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  280. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  281. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  282. package/cjs/style/themes/theme-ui/ui-theme-basis.css +151 -31
  283. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  284. package/cjs/style/themes/theme-ui/ui-theme-components.css +99 -80
  285. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  286. package/cjs/style/themes/theme-ui/ui-theme-elements.css +151 -31
  287. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  288. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  289. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  290. package/cjs/style/themes/theme-ui/ui-theme-forms.css +9 -4
  291. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  292. package/cjs/style/themes/theme-ui/ui-theme-tags.css +100 -19
  293. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  294. package/components/accordion/Accordion.d.ts +1 -125
  295. package/components/accordion/Accordion.js +0 -1
  296. package/components/accordion/Accordion.js.map +1 -1
  297. package/components/autocomplete/Autocomplete.js +3 -2
  298. package/components/autocomplete/Autocomplete.js.map +1 -1
  299. package/components/button/Button.d.ts +3 -6
  300. package/components/button/Button.js +8 -18
  301. package/components/button/Button.js.map +1 -1
  302. package/components/button/ButtonDocs.d.ts +2 -0
  303. package/components/button/ButtonDocs.js +128 -0
  304. package/components/button/ButtonDocs.js.map +1 -0
  305. package/components/date-picker/DatePicker.d.ts +4 -0
  306. package/components/date-picker/DatePicker.js +25 -11
  307. package/components/date-picker/DatePicker.js.map +1 -1
  308. package/components/date-picker/DatePickerDocs.js +5 -0
  309. package/components/date-picker/DatePickerDocs.js.map +1 -1
  310. package/components/date-picker/DatePickerPortal.d.ts +9 -0
  311. package/components/date-picker/DatePickerPortal.js +53 -0
  312. package/components/date-picker/DatePickerPortal.js.map +1 -0
  313. package/components/date-picker/style/dnb-date-picker.css +64 -55
  314. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  315. package/components/date-picker/style/dnb-date-picker.scss +90 -75
  316. package/components/form-row/FormRow.js +2 -7
  317. package/components/form-row/FormRow.js.map +1 -1
  318. package/components/form-row/style/dnb-form-row.css +3 -3
  319. package/components/form-row/style/dnb-form-row.min.css +1 -1
  320. package/components/form-status/FormStatus.js +17 -19
  321. package/components/form-status/FormStatus.js.map +1 -1
  322. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  323. package/components/height-animation/HeightAnimationInstance.js +26 -1
  324. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  325. package/components/input-masked/InputMasked.d.ts +1 -1
  326. package/components/input-masked/InputMasked.js +2 -2
  327. package/components/input-masked/InputMasked.js.map +1 -1
  328. package/components/input-masked/InputMaskedDocs.js +1 -1
  329. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  330. package/components/input-masked/InputMaskedHooks.js +1 -1
  331. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  332. package/components/input-masked/InputMaskedUtils.js +1 -1
  333. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  334. package/components/input-masked/style/dnb-input-masked.css +3 -3
  335. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  336. package/components/pagination/Pagination.d.ts +12 -0
  337. package/components/pagination/Pagination.js +7 -3
  338. package/components/pagination/Pagination.js.map +1 -1
  339. package/components/pagination/PaginationBar.d.ts +2 -1
  340. package/components/pagination/PaginationBar.js +10 -3
  341. package/components/pagination/PaginationBar.js.map +1 -1
  342. package/components/radio/style/dnb-radio.css +3 -3
  343. package/components/radio/style/dnb-radio.min.css +1 -1
  344. package/components/space/style/dnb-space.css +4 -4
  345. package/components/space/style/dnb-space.min.css +1 -1
  346. package/components/space/style/dnb-space.scss +2 -12
  347. package/components/space/style/space-mixins.scss +21 -0
  348. package/components/tabs/Tabs.d.ts +1 -1
  349. package/components/tabs/Tabs.js +4 -12
  350. package/components/tabs/Tabs.js.map +1 -1
  351. package/components/toggle-button/ToggleButton.d.ts +9 -5
  352. package/components/toggle-button/ToggleButton.js +2 -0
  353. package/components/toggle-button/ToggleButton.js.map +1 -1
  354. package/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  355. package/components/toggle-button/ToggleButtonDocs.js +80 -0
  356. package/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  357. package/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  358. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  359. package/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  360. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  361. package/components/toggle-button/style/dnb-toggle-button.css +3 -3
  362. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  363. package/elements/blockquote/style/blockquote-mixins.scss +5 -3
  364. package/elements/code/style/code-mixins.scss +2 -3
  365. package/elements/hr/style/hr-mixins.scss +2 -3
  366. package/elements/img/style/img-mixins.scss +3 -3
  367. package/elements/lists/style/lists-mixins.scss +3 -6
  368. package/elements/typography/style/typography-mixins.scss +2 -3
  369. package/es/components/accordion/Accordion.d.ts +1 -125
  370. package/es/components/accordion/Accordion.js +0 -1
  371. package/es/components/accordion/Accordion.js.map +1 -1
  372. package/es/components/autocomplete/Autocomplete.js +3 -2
  373. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  374. package/es/components/button/Button.d.ts +3 -6
  375. package/es/components/button/Button.js +8 -18
  376. package/es/components/button/Button.js.map +1 -1
  377. package/es/components/button/ButtonDocs.d.ts +2 -0
  378. package/es/components/button/ButtonDocs.js +128 -0
  379. package/es/components/button/ButtonDocs.js.map +1 -0
  380. package/es/components/date-picker/DatePicker.d.ts +4 -0
  381. package/es/components/date-picker/DatePicker.js +25 -11
  382. package/es/components/date-picker/DatePicker.js.map +1 -1
  383. package/es/components/date-picker/DatePickerDocs.js +5 -0
  384. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  385. package/es/components/date-picker/DatePickerPortal.d.ts +9 -0
  386. package/es/components/date-picker/DatePickerPortal.js +52 -0
  387. package/es/components/date-picker/DatePickerPortal.js.map +1 -0
  388. package/es/components/date-picker/style/dnb-date-picker.css +64 -55
  389. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  390. package/es/components/date-picker/style/dnb-date-picker.scss +90 -75
  391. package/es/components/form-row/FormRow.js +2 -7
  392. package/es/components/form-row/FormRow.js.map +1 -1
  393. package/es/components/form-row/style/dnb-form-row.css +3 -3
  394. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  395. package/es/components/form-status/FormStatus.js +17 -19
  396. package/es/components/form-status/FormStatus.js.map +1 -1
  397. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  398. package/es/components/height-animation/HeightAnimationInstance.js +26 -1
  399. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  400. package/es/components/input-masked/InputMasked.d.ts +1 -1
  401. package/es/components/input-masked/InputMasked.js +2 -2
  402. package/es/components/input-masked/InputMasked.js.map +1 -1
  403. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  404. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  405. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  406. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  407. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  408. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  409. package/es/components/input-masked/style/dnb-input-masked.css +3 -3
  410. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  411. package/es/components/pagination/Pagination.d.ts +12 -0
  412. package/es/components/pagination/Pagination.js +7 -3
  413. package/es/components/pagination/Pagination.js.map +1 -1
  414. package/es/components/pagination/PaginationBar.d.ts +2 -1
  415. package/es/components/pagination/PaginationBar.js +10 -3
  416. package/es/components/pagination/PaginationBar.js.map +1 -1
  417. package/es/components/radio/style/dnb-radio.css +3 -3
  418. package/es/components/radio/style/dnb-radio.min.css +1 -1
  419. package/es/components/space/style/dnb-space.css +4 -4
  420. package/es/components/space/style/dnb-space.min.css +1 -1
  421. package/es/components/space/style/dnb-space.scss +2 -12
  422. package/es/components/space/style/space-mixins.scss +21 -0
  423. package/es/components/tabs/Tabs.d.ts +1 -1
  424. package/es/components/tabs/Tabs.js +4 -12
  425. package/es/components/tabs/Tabs.js.map +1 -1
  426. package/es/components/toggle-button/ToggleButton.d.ts +9 -5
  427. package/es/components/toggle-button/ToggleButton.js +2 -0
  428. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  429. package/es/components/toggle-button/ToggleButtonDocs.d.ts +2 -0
  430. package/es/components/toggle-button/ToggleButtonDocs.js +80 -0
  431. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -0
  432. package/es/components/toggle-button/ToggleButtonGroup.d.ts +21 -6
  433. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +2 -0
  434. package/es/components/toggle-button/ToggleButtonGroupDocs.js +83 -0
  435. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -0
  436. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -3
  437. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  438. package/es/elements/blockquote/style/blockquote-mixins.scss +5 -3
  439. package/es/elements/code/style/code-mixins.scss +2 -3
  440. package/es/elements/hr/style/hr-mixins.scss +2 -3
  441. package/es/elements/img/style/img-mixins.scss +3 -3
  442. package/es/elements/lists/style/lists-mixins.scss +3 -6
  443. package/es/elements/typography/style/typography-mixins.scss +2 -3
  444. package/es/extensions/forms/DataContext/Context.d.ts +15 -4
  445. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  446. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  447. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Provider/Provider.js +27 -16
  449. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  450. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  451. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  452. package/es/extensions/forms/Field/Date/Date.js +5 -4
  453. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  454. package/es/extensions/forms/Field/Expiry/Expiry.js +4 -3
  455. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  456. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  457. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  458. package/es/extensions/forms/Field/Number/Number.js +2 -2
  459. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  460. package/es/extensions/forms/Field/Option/Option.d.ts +2 -1
  461. package/es/extensions/forms/Field/Option/Option.js +2 -12
  462. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  463. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  464. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  465. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  466. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  467. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  468. package/es/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  469. package/es/extensions/forms/Field/Selection/Selection.js +22 -14
  470. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  471. package/es/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  472. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  473. package/es/extensions/forms/Field/Slider/Slider.js +4 -3
  474. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  475. package/es/extensions/forms/Field/String/String.js +2 -2
  476. package/es/extensions/forms/Field/String/String.js.map +1 -1
  477. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -4
  478. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  479. package/es/extensions/forms/Field/Upload/Upload.js +21 -20
  480. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/Form/Isolation/Isolation.js +17 -3
  486. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  487. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  488. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  489. package/es/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  490. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  491. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  492. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  493. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  494. package/es/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  495. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  496. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -11
  497. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  498. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  499. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  500. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  501. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  502. package/es/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  503. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  504. package/es/extensions/forms/Iterate/Array/Array.js +47 -28
  505. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  506. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  507. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  508. package/es/extensions/forms/Iterate/Array/types.d.ts +8 -3
  509. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  510. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  511. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  512. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  513. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  514. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  515. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  516. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  517. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js +41 -0
  518. package/es/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  519. package/es/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  520. package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  521. package/es/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  522. package/es/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  523. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  524. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  525. package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  526. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  527. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
  528. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  529. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  530. package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  531. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  532. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  533. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  534. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  535. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  536. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  537. package/es/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  538. package/es/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  539. package/es/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  540. package/es/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  541. package/es/extensions/forms/Iterate/Visibility/index.js +3 -0
  542. package/es/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  543. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  544. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  545. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  546. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  547. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -3
  548. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  549. package/es/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  550. package/es/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  551. package/es/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  552. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  553. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -3
  554. package/es/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  555. package/es/extensions/forms/Iterate/index.d.ts +1 -0
  556. package/es/extensions/forms/Iterate/index.js +1 -0
  557. package/es/extensions/forms/Iterate/index.js.map +1 -1
  558. package/es/extensions/forms/Tools/GenerateSchema.js +12 -6
  559. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  560. package/es/extensions/forms/Tools/ListAllProps.js +9 -5
  561. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  562. package/es/extensions/forms/Tools/Log.js +2 -1
  563. package/es/extensions/forms/Tools/Log.js.map +1 -1
  564. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  565. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  566. package/es/extensions/forms/Value/Selection/Selection.js +5 -5
  567. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  568. package/es/extensions/forms/ValueBlock/ValueBlock.js +26 -9
  569. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  570. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  571. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  572. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  573. package/es/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  574. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  575. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  576. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  577. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  578. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  579. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  580. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -2
  581. package/es/extensions/forms/hooks/useDataValue.js +4 -8
  582. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  583. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  584. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  585. package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  586. package/es/extensions/forms/hooks/useFieldProps.js +163 -76
  587. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  588. package/es/extensions/forms/hooks/usePath.js +2 -2
  589. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  590. package/es/extensions/forms/hooks/useValueProps.js +5 -5
  591. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  592. package/es/extensions/forms/style/dnb-forms.css +9 -4
  593. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  594. package/es/extensions/forms/types.d.ts +33 -6
  595. package/es/extensions/forms/types.js.map +1 -1
  596. package/es/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  597. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  598. package/es/extensions/payment-card/PaymentCard.js +3 -12
  599. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  600. package/es/fragments/drawer-list/DrawerList.d.ts +4 -2
  601. package/es/fragments/drawer-list/DrawerList.js +33 -47
  602. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  603. package/es/fragments/drawer-list/DrawerListDocs.js +3 -3
  604. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  605. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  606. package/es/shared/AlignmentHelper.js +0 -4
  607. package/es/shared/AlignmentHelper.js.map +1 -1
  608. package/es/shared/Eufemia.d.ts +1 -1
  609. package/es/shared/Eufemia.js +2 -2
  610. package/es/shared/Eufemia.js.map +1 -1
  611. package/es/shared/component-helper.js +2 -1
  612. package/es/shared/component-helper.js.map +1 -1
  613. package/es/style/core/scopes.scss +1 -1
  614. package/es/style/core/utilities.scss +3 -12
  615. package/es/style/dnb-ui-basis.css +1 -1
  616. package/es/style/dnb-ui-basis.min.css +1 -1
  617. package/es/style/dnb-ui-body.css +1 -1
  618. package/es/style/dnb-ui-body.min.css +1 -1
  619. package/es/style/dnb-ui-components.css +90 -76
  620. package/es/style/dnb-ui-components.min.css +4 -4
  621. package/es/style/dnb-ui-core.css +1 -1
  622. package/es/style/dnb-ui-core.min.css +1 -1
  623. package/es/style/dnb-ui-elements.css +151 -31
  624. package/es/style/dnb-ui-elements.min.css +1 -1
  625. package/es/style/dnb-ui-extensions.css +9 -4
  626. package/es/style/dnb-ui-extensions.min.css +1 -1
  627. package/es/style/dnb-ui-forms.css +9 -4
  628. package/es/style/dnb-ui-forms.min.css +1 -1
  629. package/es/style/dnb-ui-fragments.css +1 -1
  630. package/es/style/dnb-ui-fragments.min.css +1 -1
  631. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  632. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  633. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  634. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  635. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  636. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  637. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  638. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  639. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  640. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  641. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  642. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  643. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  644. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  645. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  646. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  647. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  648. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  649. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  650. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  651. package/es/style/themes/theme-ui/ui-theme-basis.css +151 -31
  652. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  653. package/es/style/themes/theme-ui/ui-theme-components.css +99 -80
  654. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  655. package/es/style/themes/theme-ui/ui-theme-elements.css +151 -31
  656. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  657. package/es/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  658. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  659. package/es/style/themes/theme-ui/ui-theme-forms.css +9 -4
  660. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  661. package/es/style/themes/theme-ui/ui-theme-tags.css +100 -19
  662. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  663. package/esm/dnb-ui-basis.min.mjs +1 -1
  664. package/esm/dnb-ui-components.min.mjs +1 -1
  665. package/esm/dnb-ui-elements.min.mjs +1 -1
  666. package/esm/dnb-ui-extensions.min.mjs +5 -5
  667. package/esm/dnb-ui-lib.min.mjs +1 -1
  668. package/extensions/forms/DataContext/Context.d.ts +15 -4
  669. package/extensions/forms/DataContext/Context.js.map +1 -1
  670. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  671. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  672. package/extensions/forms/DataContext/Provider/Provider.js +28 -17
  673. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  674. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  675. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  676. package/extensions/forms/Field/Date/Date.js +5 -4
  677. package/extensions/forms/Field/Date/Date.js.map +1 -1
  678. package/extensions/forms/Field/Expiry/Expiry.js +4 -3
  679. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  680. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  681. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  682. package/extensions/forms/Field/Number/Number.js +2 -2
  683. package/extensions/forms/Field/Number/Number.js.map +1 -1
  684. package/extensions/forms/Field/Option/Option.d.ts +2 -1
  685. package/extensions/forms/Field/Option/Option.js +2 -13
  686. package/extensions/forms/Field/Option/Option.js.map +1 -1
  687. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +10 -5
  688. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  689. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -3
  690. package/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -4
  691. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  692. package/extensions/forms/Field/Selection/Selection.d.ts +8 -1
  693. package/extensions/forms/Field/Selection/Selection.js +19 -12
  694. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  695. package/extensions/forms/Field/Selection/SelectionDocs.js +5 -0
  696. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  697. package/extensions/forms/Field/Slider/Slider.js +4 -3
  698. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  699. package/extensions/forms/Field/String/String.js +2 -2
  700. package/extensions/forms/Field/String/String.js.map +1 -1
  701. package/extensions/forms/Field/Toggle/Toggle.js +14 -4
  702. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  703. package/extensions/forms/Field/Upload/Upload.js +21 -21
  704. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  705. package/extensions/forms/FieldBlock/FieldBlock.js +14 -38
  706. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  707. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  708. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  709. package/extensions/forms/Form/Isolation/Isolation.js +17 -3
  710. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  711. package/extensions/forms/Form/MainHeading/MainHeadingDocs.d.ts +2 -0
  712. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js +20 -0
  713. package/extensions/forms/Form/MainHeading/MainHeadingDocs.js.map +1 -0
  714. package/extensions/forms/Form/Section/EditContainer/CancelButton.js +7 -18
  715. package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -1
  716. package/extensions/forms/Form/SubHeading/SubHeadingDocs.d.ts +2 -0
  717. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js +20 -0
  718. package/extensions/forms/Form/SubHeading/SubHeadingDocs.js.map +1 -0
  719. package/extensions/forms/Form/Visibility/Visibility.d.ts +11 -1
  720. package/extensions/forms/Form/Visibility/Visibility.js +20 -11
  721. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  722. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -0
  723. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  724. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  725. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  726. package/extensions/forms/Form/Visibility/useVisibility.js +18 -9
  727. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  728. package/extensions/forms/Iterate/Array/Array.js +50 -30
  729. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  730. package/extensions/forms/Iterate/Array/ArrayDocs.js +14 -4
  731. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  732. package/extensions/forms/Iterate/Array/types.d.ts +8 -3
  733. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  734. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -15
  735. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  736. package/extensions/forms/Iterate/EditContainer/DoneButton.js +9 -1
  737. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  738. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -3
  739. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  740. package/extensions/forms/Iterate/ItemNo/useIItemNo.d.ts +5 -0
  741. package/extensions/forms/Iterate/ItemNo/useIItemNo.js +42 -0
  742. package/extensions/forms/Iterate/ItemNo/useIItemNo.js.map +1 -0
  743. package/extensions/forms/Iterate/IterateItemContext.d.ts +2 -0
  744. package/extensions/forms/Iterate/IterateItemContext.js.map +1 -1
  745. package/extensions/forms/Iterate/PushButton/PushButton.d.ts +1 -0
  746. package/extensions/forms/Iterate/PushButton/PushButton.js +17 -15
  747. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  748. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
  749. package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
  750. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +17 -1
  751. package/extensions/forms/Iterate/PushContainer/PushContainer.js +32 -17
  752. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  753. package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +1 -0
  754. package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -1
  755. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +10 -0
  756. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  757. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +7 -6
  758. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  759. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -0
  760. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  761. package/extensions/forms/Iterate/Visibility/Visibility.d.ts +7 -0
  762. package/extensions/forms/Iterate/Visibility/Visibility.js +11 -0
  763. package/extensions/forms/Iterate/Visibility/Visibility.js.map +1 -0
  764. package/extensions/forms/Iterate/Visibility/index.d.ts +2 -0
  765. package/extensions/forms/Iterate/Visibility/index.js +3 -0
  766. package/extensions/forms/Iterate/Visibility/index.js.map +1 -0
  767. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  768. package/extensions/forms/Iterate/hooks/index.js +1 -0
  769. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  770. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +1 -3
  771. package/extensions/forms/Iterate/hooks/useArrayLimit.js +1 -4
  772. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -1
  773. package/extensions/forms/Iterate/hooks/useItemPath.d.ts +4 -0
  774. package/extensions/forms/Iterate/hooks/useItemPath.js +16 -0
  775. package/extensions/forms/Iterate/hooks/useItemPath.js.map +1 -0
  776. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.d.ts +1 -3
  777. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js +1 -4
  778. package/extensions/forms/Iterate/hooks/useSwitchContainerMode.js.map +1 -1
  779. package/extensions/forms/Iterate/index.d.ts +1 -0
  780. package/extensions/forms/Iterate/index.js +1 -0
  781. package/extensions/forms/Iterate/index.js.map +1 -1
  782. package/extensions/forms/Tools/GenerateSchema.js +15 -9
  783. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  784. package/extensions/forms/Tools/ListAllProps.js +11 -7
  785. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  786. package/extensions/forms/Tools/Log.js +2 -1
  787. package/extensions/forms/Tools/Log.js.map +1 -1
  788. package/extensions/forms/Value/ArraySelection/ArraySelection.js +4 -4
  789. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  790. package/extensions/forms/Value/Selection/Selection.js +5 -5
  791. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  792. package/extensions/forms/ValueBlock/ValueBlock.js +27 -9
  793. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  794. package/extensions/forms/ValueBlock/style/dnb-value-block.css +6 -1
  795. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  796. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +22 -10
  797. package/extensions/forms/Wizard/Container/WizardContainer.js +6 -3
  798. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  799. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +2 -1
  800. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +4 -3
  801. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -1
  802. package/extensions/forms/hooks/DataValueWritePropsDocs.js +9 -9
  803. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  804. package/extensions/forms/hooks/useDataValue.d.ts +2 -2
  805. package/extensions/forms/hooks/useDataValue.js +5 -9
  806. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  807. package/extensions/forms/hooks/useExternalValue.js +2 -2
  808. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  809. package/extensions/forms/hooks/useFieldProps.d.ts +8 -2
  810. package/extensions/forms/hooks/useFieldProps.js +164 -76
  811. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  812. package/extensions/forms/hooks/usePath.js +2 -2
  813. package/extensions/forms/hooks/usePath.js.map +1 -1
  814. package/extensions/forms/hooks/useValueProps.js +5 -5
  815. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  816. package/extensions/forms/style/dnb-forms.css +9 -4
  817. package/extensions/forms/style/dnb-forms.min.css +1 -1
  818. package/extensions/forms/types.d.ts +33 -6
  819. package/extensions/forms/types.js.map +1 -1
  820. package/extensions/forms/utils/json-pointer/json-pointer.js +6 -0
  821. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  822. package/extensions/payment-card/PaymentCard.js +3 -12
  823. package/extensions/payment-card/PaymentCard.js.map +1 -1
  824. package/fragments/drawer-list/DrawerList.d.ts +4 -2
  825. package/fragments/drawer-list/DrawerList.js +33 -47
  826. package/fragments/drawer-list/DrawerList.js.map +1 -1
  827. package/fragments/drawer-list/DrawerListDocs.js +3 -3
  828. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  829. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  830. package/package.json +1 -1
  831. package/shared/AlignmentHelper.js +0 -4
  832. package/shared/AlignmentHelper.js.map +1 -1
  833. package/shared/Eufemia.d.ts +1 -1
  834. package/shared/Eufemia.js +2 -2
  835. package/shared/Eufemia.js.map +1 -1
  836. package/shared/component-helper.js +2 -1
  837. package/shared/component-helper.js.map +1 -1
  838. package/style/core/scopes.scss +1 -1
  839. package/style/core/utilities.scss +3 -12
  840. package/style/dnb-ui-basis.css +1 -1
  841. package/style/dnb-ui-basis.min.css +1 -1
  842. package/style/dnb-ui-body.css +1 -1
  843. package/style/dnb-ui-body.min.css +1 -1
  844. package/style/dnb-ui-components.css +90 -76
  845. package/style/dnb-ui-components.min.css +4 -4
  846. package/style/dnb-ui-core.css +1 -1
  847. package/style/dnb-ui-core.min.css +1 -1
  848. package/style/dnb-ui-elements.css +151 -31
  849. package/style/dnb-ui-elements.min.css +1 -1
  850. package/style/dnb-ui-extensions.css +9 -4
  851. package/style/dnb-ui-extensions.min.css +1 -1
  852. package/style/dnb-ui-forms.css +9 -4
  853. package/style/dnb-ui-forms.min.css +1 -1
  854. package/style/dnb-ui-fragments.css +1 -1
  855. package/style/dnb-ui-fragments.min.css +1 -1
  856. package/style/themes/theme-eiendom/eiendom-theme-basis.css +151 -31
  857. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  858. package/style/themes/theme-eiendom/eiendom-theme-components.css +99 -80
  859. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  860. package/style/themes/theme-eiendom/eiendom-theme-elements.css +151 -31
  861. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  862. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +9 -4
  863. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  864. package/style/themes/theme-eiendom/eiendom-theme-forms.css +9 -4
  865. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  866. package/style/themes/theme-sbanken/sbanken-theme-basis.css +151 -31
  867. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  868. package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -80
  869. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  870. package/style/themes/theme-sbanken/sbanken-theme-elements.css +151 -31
  871. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  872. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +9 -4
  873. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  874. package/style/themes/theme-sbanken/sbanken-theme-forms.css +9 -4
  875. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  876. package/style/themes/theme-ui/ui-theme-basis.css +151 -31
  877. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  878. package/style/themes/theme-ui/ui-theme-components.css +99 -80
  879. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  880. package/style/themes/theme-ui/ui-theme-elements.css +151 -31
  881. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  882. package/style/themes/theme-ui/ui-theme-extensions.css +9 -4
  883. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  884. package/style/themes/theme-ui/ui-theme-forms.css +9 -4
  885. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  886. package/style/themes/theme-ui/ui-theme-tags.css +100 -19
  887. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  888. package/umd/dnb-ui-basis.min.js +1 -1
  889. package/umd/dnb-ui-components.min.js +1 -1
  890. package/umd/dnb-ui-elements.min.js +1 -1
  891. package/umd/dnb-ui-extensions.min.js +3 -3
  892. package/umd/dnb-ui-lib.min.js +1 -1
@@ -65,7 +65,7 @@ export type ButtonProps = {
65
65
  */
66
66
  text?: ButtonText;
67
67
  /**
68
- * `button`, `reset` or `submit` for the `type` HTML attribute. Defaults to `button` for legacy reasons.
68
+ * The type HTML attribute. Defaults to `button` for legacy reasons.
69
69
  */
70
70
  type?: string;
71
71
  /**
@@ -81,7 +81,7 @@ export type ButtonProps = {
81
81
  */
82
82
  size?: ButtonSize;
83
83
  /**
84
- * To be included in the button. <a href="/icons/primary">Primary Icons</a> can be set as a string (e.g. `icon="chevron_right"`), other icons should be set as React elements.
84
+ * To be included in the button. [Primary Icons](/icons/primary) can be set as a string (e.g. `icon="chevron_right"`), other icons should be set as React elements.
85
85
  */
86
86
  icon?: ButtonIcon;
87
87
  /**
@@ -110,7 +110,7 @@ export type ButtonProps = {
110
110
  status_props?: FormStatusProps;
111
111
  status_no_animation?: boolean;
112
112
  /**
113
- * The <a href="/uilib/components/global-status/properties/#configuration-object">configuration</a> used for the target <a href="/uilib/components/global-status">GlobalStatus</a>.
113
+ * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).
114
114
  */
115
115
  globalStatus?: GlobalStatusConfigObject;
116
116
  id?: string;
@@ -155,9 +155,6 @@ export type ButtonProps = {
155
155
  className?: string;
156
156
  class?: string;
157
157
  innerRef?: any;
158
- /**
159
- * The content of the button can be a string or a React Element.
160
- */
161
158
  children?: ButtonChildren;
162
159
  /**
163
160
  * Only meant to be used for special use cases. Defaults to `button` or `a` depending if href is set or not.
@@ -247,14 +247,14 @@ Button.defaultProps = {
247
247
  onClick: null
248
248
  };
249
249
  function Content({
250
- title,
251
- content,
252
- custom_content,
253
- icon,
254
- icon_size,
255
- bounding,
256
- skeleton,
257
- isIconOnly
250
+ title = null,
251
+ content = null,
252
+ custom_content = null,
253
+ icon = null,
254
+ icon_size = 'default',
255
+ bounding = null,
256
+ skeleton = null,
257
+ isIconOnly = null
258
258
  }) {
259
259
  return React.createElement(React.Fragment, null, isTrue(bounding) && (_span || (_span = React.createElement("span", {
260
260
  key: "button-bounding",
@@ -291,16 +291,6 @@ process.env.NODE_ENV !== "production" ? Content.propTypes = {
291
291
  skeleton: PropTypes.bool,
292
292
  isIconOnly: PropTypes.bool
293
293
  } : void 0;
294
- Content.defaultProps = {
295
- custom_content: null,
296
- title: null,
297
- content: null,
298
- icon: null,
299
- icon_size: 'default',
300
- bounding: null,
301
- skeleton: null,
302
- isIconOnly: null
303
- };
304
294
  Button._formElement = true;
305
295
  Button._supportsSpacingProps = true;
306
296
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","PropTypes","classnames","Context","warn","makeUniqueId","isTrue","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","IconPrimary","FormStatus","Anchor","pickIcon","opensNewTab","launch","Tooltip","buttonVariantPropType","variant","oneOf","Button","PureComponent","getContent","props","constructor","_defineProperty","src","event","afterContent","isValidElement","setState","_id","id","status","tooltip","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","defaultProps","skeleton","context","FormRow","formElement","class","classProp","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","_objectWithoutProperties","_excluded","showStatus","usedVariant","usedSize","iconSize","content","isIconOnly","Boolean","Element","href","to","omitClass","target","classes","theme","darkBackground","params","_objectSpread","on_click","onClick","getOnClickHandler","type","undefined","createElement","Fragment","_extends","ref","Content","show","label","text_id","no_animation","targetElement","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","object","shape","message","rel","children","_span","key","_span2","_span3","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n getOnClickHandler = (src) => (event) => {\n const afterContent = dispatchCustomElementEvent(src, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: classProp, // @deprecated – can be removed in v11\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n classProp, // @deprecated – can be removed in v11\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (props.on_click || props.onClick) {\n params.onClick = this.getOnClickHandler(props)\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n if (isIconOnly) {\n params['aria-label'] = params['aria-label'] || title\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n className: PropTypes.string,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n onClick: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.string,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":";;;;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,IAAI,EACJC,YAAY,EACZC,MAAM,EACNC,sCAAsC,EACtCC,qBAAqB,EACrBC,eAAe,EACfC,cAAc,EACdC,0BAA0B,QACrB,+BAA+B;AACtC,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAC/B,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,4BAA4B;AACnC,SAASC,oBAAoB,QAAQ,uCAAuC;AAC5E,OAAOC,WAAW,MAAM,6BAA6B;AACrD,OAAOC,UAAU,MAAM,2BAA2B;AAClD,OAAOC,MAAM,IAAIC,QAAQ,EAAEC,WAAW,QAAQ,kBAAkB;AAChE,SAASC,MAAM,QAAQ,aAAa;AACpC,OAAOC,OAAO,MAAM,oBAAoB;AAExC,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,OAAO,EAAExB,SAAS,CAACyB,KAAK,CAAC,CACvB,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EAKR,UAAU,CACX;AACH,CAAC;AAKD,eAAe,MAAMC,MAAM,SAAS3B,KAAK,CAAC4B,aAAa,CAAC;EAGtD,OAAOC,UAAUA,CAACC,KAAK,EAAE;IACvB,OAAOrB,eAAe,CAACqB,KAAK,CAAC;EAC/B;EAEAC,WAAWA,CAACD,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAE,eAAA,4BAsBOC,GAAG,IAAMC,KAAK,IAAK;MACtC,MAAMC,YAAY,GAAGxB,0BAA0B,CAACsB,GAAG,EAAE,UAAU,EAAE;QAC/DC;MACF,CAAC,CAAC;MACF,IAAIC,YAAY,IAAInC,KAAK,CAACoC,cAAc,CAACD,YAAY,CAAC,EAAE;QACtD,IAAI,CAACE,QAAQ,CAAC;UACZF;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IA7BC,IAAI,CAACG,GAAG,GACNR,KAAK,CAACS,EAAE,IAAK,CAACT,KAAK,CAACU,MAAM,IAAIV,KAAK,CAACW,OAAO,KAAKpC,YAAY,CAAC,CAAE;IACjE,IAAI,CAACqC,IAAI,GAAG1C,KAAK,CAAC2C,SAAS,CAAC,CAAC;IAE7B,IAAI,CAACC,KAAK,GAAG;MAAET,YAAY,EAAE;IAAK,CAAC;EACrC;EAEAU,iBAAiBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAACf,KAAK,CAACgB,QAAQ,EAAE;MACvB,OAAO,IAAI,CAAChB,KAAK,CAACgB,QAAQ,KAAK,UAAU,GACrC,IAAI,CAAChB,KAAK,CAACgB,QAAQ,CAAC,IAAI,CAACJ,IAAI,CAACK,OAAO,CAAC,GACrC,IAAI,CAACjB,KAAK,CAACgB,QAAQ,CAACC,OAAO,GAAG,IAAI,CAACL,IAAI,CAACK,OAAQ;IACvD;IACA,IAAI,IAAI,CAACjB,KAAK,CAACkB,SAAS,EAAE;MACxB,OAAO,IAAI,CAAClB,KAAK,CAACgB,QAAQ,KAAK,UAAU,GACrC,IAAI,CAAChB,KAAK,CAACkB,SAAS,CAAC,IAAI,CAACN,IAAI,CAACK,OAAO,CAAC,GACtC,IAAI,CAACjB,KAAK,CAACkB,SAAS,CAACD,OAAO,GAAG,IAAI,CAACL,IAAI,CAACK,OAAQ;IACxD;EACF;EAaAE,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,cAAA,EAAAC,oBAAA;IAEP,MAAMxB,KAAK,GAAGvB,sCAAsC,CAClD,IAAI,CAACuB,KAAK,EACVH,MAAM,CAAC4B,YAAY,EACnB;MAAEC,QAAQ,GAAAN,aAAA,GAAE,IAAI,CAACO,OAAO,cAAAP,aAAA,uBAAZA,aAAA,CAAcM;IAAS,CAAC,EAEpCxC,oBAAoB,EAAAmC,cAAA,GAAC,IAAI,CAACM,OAAO,cAAAN,cAAA,uBAAZA,cAAA,CAAcO,OAAO,CAAC,EAC3C1C,oBAAoB,EAAAoC,cAAA,GAAC,IAAI,CAACK,OAAO,cAAAL,cAAA,uBAAZA,cAAA,CAAcO,WAAW,CAAC,EAC/C,IAAI,CAACF,OAAO,CAAC9B,MACf,CAAC;IAED,MAAM;QACJiC,KAAK,EAAEC,SAAS;QAChBC,SAAS;QACTrC,OAAO;QACPsC,IAAI;QACJC,KAAK;QACLC,cAAc;QACdxB,OAAO;QACPD,MAAM;QACN0B,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,YAAY;QACZ9B,EAAE;QACF+B,QAAQ;QACRC,IAAI,EAAEC,KAAK;QACXC,IAAI,EAAEC,KAAK;QACXC,aAAa;QACbC,SAAS;QACTC,IAAI;QACJC,QAAQ;QACRC,OAAO;QACPvB,QAAQ;QACRwB,OAAO;QACPhC,SAAS;QACTF;MAEF,CAAC,GAAGhB,KAAK;MADJmD,UAAU,GAAAC,wBAAA,CACXpD,KAAK,EAAAqD,SAAA;IAET,MAAMC,UAAU,GAAG1E,cAAc,CAAC8B,MAAM,CAAC;IAEzC,IAAI;MAAE+B,IAAI;MAAEE;IAAK,CAAC,GAAG3C,KAAK;IAC1B,IAAIuD,WAAW,GAAG5D,OAAO;IACzB,IAAI6D,QAAQ,GAAGvB,IAAI;IACnB,IAAIwB,QAAQ,GAAGX,SAAS;IACxB,MAAMY,OAAO,GAAG7D,MAAM,CAACE,UAAU,CAAC,IAAI,CAACC,KAAK,CAAC;IAE7C,IACEL,OAAO,KAAK,UAAU,KACrB8C,IAAI,IAAIiB,OAAO,CAAC,IACjB,CAACf,IAAI,IACLA,IAAI,KAAK,KAAK,EACd;MACArE,IAAI,CACD;AACT,wFACM,CAAC;IACH;IAGA,MAAMqF,UAAU,GAAGC,OAAO,CAAC,CAACnB,IAAI,IAAI,CAACiB,OAAO,IAAIf,IAAI,CAAC;IACrD,IAAIgB,UAAU,EAAE;MACd,IAAI,CAACJ,WAAW,EAAE;QAChBA,WAAW,GAAG,WAAW;MAC3B;MACA,IAAI,CAACE,QAAQ,KAAKD,QAAQ,KAAK,SAAS,IAAIA,QAAQ,KAAK,OAAO,CAAC,EAAE;QACjEC,QAAQ,GAAG,QAAQ;MACrB;MACA,IAAI,CAACD,QAAQ,EAAE;QACbA,QAAQ,GAAG,QAAQ;MACrB;IACF,CAAC,MAAM,IAAIE,OAAO,EAAE;MAClB,IAAI,CAACH,WAAW,EAAE;QAChBA,WAAW,GAAG,SAAS;MACzB;MACA,IAAI,CAACC,QAAQ,EAAE;QACbA,QAAQ,GAAG,SAAS;MACtB;IACF;IACA,IAAI,CAACC,QAAQ,IAAI9D,OAAO,KAAK,UAAU,IAAIkD,aAAa,KAAK,KAAK,EAAE;MAClEY,QAAQ,GAAG,QAAQ;IACrB;IAEA,MAAMI,OAAO,GAAGX,OAAO,GACnBA,OAAO,GACPlD,KAAK,CAAC8D,IAAI,IAAI9D,KAAK,CAAC+D,EAAE,GACtB1E,MAAM,GACN,QAAQ;IACZ,IAAIwE,OAAO,KAAKxE,MAAM,EAAE;MACtB8D,UAAU,CAACa,SAAS,GAAG,IAAI;MAC3B,IAAIzE,WAAW,CAACS,KAAK,CAACiE,MAAM,EAAEjE,KAAK,CAAC8D,IAAI,CAAC,IAAI,CAACnB,IAAI,EAAE;QAClDA,IAAI,GAAGnD,MAAM;MACf;IACF;IAEA,MAAM0E,OAAO,GAAG9F,UAAU,2BAETmF,WAAW,IAAI,SAAU,IAOxC,CAACd,IAAI,IAAIiB,OAAO,IAAIvB,cAAc,KAAK,sBAAsB,EAI7DlD,mBAAmB,CACjBU,OAAO,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,EACzC+B,QAAQ,EACR,IAAI,CAACC,OACP,CAAC,EACD5C,oBAAoB,CAACiB,KAAK,CAAC,EAC3B+B,SAAS,EACTC,SAAS,GACThC,KAAK,CAAC8D,IAAI,IAAI9D,KAAK,CAAC+D,EAAE,KAAG,EAAE,EAf3BpB,IAAI,IAAK,6BAA4BE,aAAa,2BAE1CY,QAAQ,6BAA6BA,QAAS,UALtDD,QAAQ,IAAIA,QAAQ,KAAK,SAAS,IAAK,oBAAmBA,QAAS,EAAC,IAAAjC,cAAA,GACpE,IAAI,CAACI,OAAO,cAAAJ,cAAA,wBAAAC,oBAAA,GAAZD,cAAA,CAAc4C,KAAK,cAAA3C,oBAAA,uBAAnBA,oBAAA,CAAqB4C,cAAc,KAChC,gCAA+B,EAElC5F,MAAM,CAACyE,OAAO,CAAC,IAAI,qBAAqB,EAIxCF,IAAI,IAAI,kBAAkB,EAC1BrC,MAAM,IAAK,uBAAsB0B,YAAa,EAAC,EAU/CyB,OAAO,KAAKxE,MAAM,IAAI,sBACxB,CAAC;IAED,MAAMgF,MAAM,GAAAC,aAAA;MACVtC,SAAS,EAAEkC,OAAO;MAClBhC,KAAK;MACLzB,EAAE,EAAE,IAAI,CAACD,GAAG;MACZgC,QAAQ,EAAEhE,MAAM,CAACgE,QAAQ;IAAC,GACvBW,UAAU,CACd;IAED,IAAInD,KAAK,CAACuE,QAAQ,IAAIvE,KAAK,CAACwE,OAAO,EAAE;MACnCH,MAAM,CAACG,OAAO,GAAG,IAAI,CAACC,iBAAiB,CAACzE,KAAK,CAAC;IAChD;IAEA,IAAI6D,OAAO,KAAKxE,MAAM,IAAI,CAACgF,MAAM,CAACK,IAAI,EAAE;MACtCL,MAAM,CAACK,IAAI,GAAGL,MAAM,CAACK,IAAI,KAAK,EAAE,GAAGC,SAAS,GAAG,QAAQ;IACzD;IACA,IAAIhB,UAAU,EAAE;MACdU,MAAM,CAAC,YAAY,CAAC,GAAGA,MAAM,CAAC,YAAY,CAAC,IAAInC,KAAK;IACtD;IAEAlD,qBAAqB,CAACqF,MAAM,EAAE3C,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAGrDjD,qBAAqB,CAAC,IAAI,CAACsB,KAAK,EAAEqE,MAAM,CAAC;IAEzC,OACEnG,KAAA,CAAA0G,aAAA,CAAA1G,KAAA,CAAA2G,QAAA,QACE3G,KAAA,CAAA0G,aAAA,CAACf,OAAO,EAAAiB,QAAA;MAACC,GAAG,EAAE,IAAI,CAACnE;IAAK,GAAKyD,MAAM,GACjCnG,KAAA,CAAA0G,aAAA,CAACI,OAAO,EAAAF,QAAA,KACF,IAAI,CAAC9E,KAAK;MACd2C,IAAI,EAAEA,IAAK;MACXG,SAAS,EAAEW,QAAS;MACpBC,OAAO,EAAEjB,IAAI,IAAIiB,OAAQ;MACzBvB,cAAc,EAAEA,cAAe;MAC/BwB,UAAU,EAAEA,UAAW;MACvBjC,QAAQ,EAAElD,MAAM,CAACkD,QAAQ;IAAE,EAC5B,CACM,CAAC,EAET,IAAI,CAACZ,KAAK,CAACT,YAAY,EAExBnC,KAAA,CAAA0G,aAAA,CAACxF,UAAU,EAAA0F,QAAA;MACTG,IAAI,EAAE3B,UAAW;MACjB7C,EAAE,EAAE,IAAI,CAACD,GAAG,GAAG,cAAe;MAC9B+B,YAAY,EAAEA,YAAa;MAC3B2C,KAAK,EAAEzC,IAAK;MACZA,IAAI,EAAE/B,MAAO;MACbI,KAAK,EAAEsB,YAAa;MACpB+C,OAAO,EAAE,IAAI,CAAC3E,GAAG,GAAG,SAAU;MAC9B4E,YAAY,EAAE9C,mBAAoB;MAClCZ,QAAQ,EAAEA;IAAS,GACfW,YAAY,CACjB,CAAC,EAED1B,OAAO,IAAI,IAAI,CAACC,IAAI,IACnB1C,KAAA,CAAA0G,aAAA,CAACnF,OAAO;MACNgB,EAAE,EAAE,IAAI,CAACD,GAAG,GAAG,UAAW;MAC1B6E,aAAa,EAAE,IAAI,CAACzE,IAAK;MACzBD,OAAO,EAAEA;IAAQ,CAClB,CAEH,CAAC;EAEP;AACF;AAACT,eAAA,CAlOoBL,MAAM,iBACJxB,OAAO;AAmO9BiH,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAA3F,MAAM,CAAC4F,SAAS,GAAAnB,aAAA,CAAAA,aAAA;EACd7B,IAAI,EAAEtE,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAACyH,IAAI,CAAC,CAAC;EAC7DlB,IAAI,EAAEvG,SAAS,CAACwH,MAAM;EACtBzD,KAAK,EAAE/D,SAAS,CAACwH,MAAM;EACvBhG,OAAO,EAAED,qBAAqB,CAACC,OAAO;EACtCsC,IAAI,EAAE9D,SAAS,CAACyB,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC9D+C,IAAI,EAAExE,SAAS,CAACuH,SAAS,CAAC,CACxBvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAACyH,IAAI,EACdzH,SAAS,CAAC0H,IAAI,CACf,CAAC;EACFhD,aAAa,EAAE1E,SAAS,CAACyB,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;EACxDkD,SAAS,EAAE3E,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC2H,MAAM,CAAC,CAAC;EACpEnF,OAAO,EAAExC,SAAS,CAACuH,SAAS,CAAC,CAC3BvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAAC0H,IAAI,EACd1H,SAAS,CAACyH,IAAI,CACf,CAAC;EACFlF,MAAM,EAAEvC,SAAS,CAACuH,SAAS,CAAC,CAC1BvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAAC4H,IAAI,EACd5H,SAAS,CAAC0H,IAAI,EACd1H,SAAS,CAACyH,IAAI,CACf,CAAC;EACFxD,YAAY,EAAEjE,SAAS,CAACwH,MAAM;EAC9BtD,YAAY,EAAElE,SAAS,CAAC6H,MAAM;EAC9B1D,mBAAmB,EAAEnE,SAAS,CAACuH,SAAS,CAAC,CACvCvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAAC4H,IAAI,CACf,CAAC;EACFxD,YAAY,EAAEpE,SAAS,CAAC8H,KAAK,CAAC;IAC5BxF,EAAE,EAAEtC,SAAS,CAACwH,MAAM;IACpBO,OAAO,EAAE/H,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAACyH,IAAI,CAAC;EACjE,CAAC,CAAC;EACFnF,EAAE,EAAEtC,SAAS,CAACwH,MAAM;EACpB7B,IAAI,EAAE3F,SAAS,CAACwH,MAAM;EACtB1B,MAAM,EAAE9F,SAAS,CAACwH,MAAM;EACxBQ,GAAG,EAAEhI,SAAS,CAACwH,MAAM;EACrB5B,EAAE,EAAE5F,SAAS,CAACuH,SAAS,CAAC,CACtBvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAAC6H,MAAM,EAChB7H,SAAS,CAAC0H,IAAI,CACf,CAAC;EACF1D,cAAc,EAAEhE,SAAS,CAACyH,IAAI;EAC9B7C,IAAI,EAAE5E,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC4H,IAAI,CAAC,CAAC;EAC7D/C,QAAQ,EAAE7E,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC4H,IAAI,CAAC,CAAC;EACjE9C,OAAO,EAAE9E,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC4H,IAAI,CAAC,CAAC;EAChErE,QAAQ,EAAEvD,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC4H,IAAI,CAAC,CAAC;EACjEvD,QAAQ,EAAErE,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC4H,IAAI,CAAC,CAAC;EACjE7E,SAAS,EAAE/C,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAAC6H,MAAM,EAAE7H,SAAS,CAAC0H,IAAI,CAAC,CAAC;EAClE7D,SAAS,EAAE7D,SAAS,CAACwH,MAAM;EAI3B7D,KAAK,EAAE3D,SAAS,CAACwH,MAAM;EACvB3E,QAAQ,EAAE7C,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAAC6H,MAAM,EAAE7H,SAAS,CAAC0H,IAAI,CAAC,CAAC;EACjEO,QAAQ,EAAEjI,SAAS,CAACuH,SAAS,CAAC,CAC5BvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAAC0H,IAAI,EACd1H,SAAS,CAACyH,IAAI,CACf,CAAC;EACF1C,OAAO,EAAE/E,SAAS,CAACuH,SAAS,CAAC,CAC3BvH,SAAS,CAAC0H,IAAI,EACd1H,SAAS,CAAC6H,MAAM,EAChB7H,SAAS,CAACyH,IAAI,CACf;AAAC,GAEC9G,gBAAgB;EAEnByF,QAAQ,EAAEpG,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC0H,IAAI,CAAC;AAAC,EAClE;AAEDhG,MAAM,CAAC4B,YAAY,GAAG;EACpBiD,IAAI,EAAE,IAAI;EACVjC,IAAI,EAAE,IAAI;EACV9C,OAAO,EAAE,IAAI;EACbsC,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,IAAI;EACXS,IAAI,EAAE,IAAI;EACVE,aAAa,EAAE,OAAO;EACtBC,SAAS,EAAE,IAAI;EACfgB,IAAI,EAAE,IAAI;EACVG,MAAM,EAAE,IAAI;EACZkC,GAAG,EAAE,IAAI;EACTpC,EAAE,EAAE,IAAI;EACRtD,EAAE,EAAE,IAAI;EACR0B,cAAc,EAAE,IAAI;EACpBY,IAAI,EAAE,IAAI;EACVC,QAAQ,EAAE,IAAI;EACdC,OAAO,EAAE,IAAI;EACbvB,QAAQ,EAAE,IAAI;EACdc,QAAQ,EAAE,IAAI;EACd7B,OAAO,EAAE,IAAI;EACbD,MAAM,EAAE,IAAI;EACZ0B,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBrB,SAAS,EAAE,IAAI;EAEfc,SAAS,EAAE,IAAI;EAIfF,KAAK,EAAE,IAAI;EACXd,QAAQ,EAAE,IAAI;EACdoF,QAAQ,EAAE,IAAI;EACdlD,OAAO,EAAE,IAAI;EAEbqB,QAAQ,EAAE,IAAI;EACdC,OAAO,EAAE;AACX,CAAC;AAED,SAASQ,OAAOA,CAAC;EACf9C,KAAK;EACLwB,OAAO;EACPvB,cAAc;EACdQ,IAAI;EACJG,SAAS;EACTE,QAAQ;EACRtB,QAAQ;EACRiC;AACF,CAAC,EAAE;EACD,OACEzF,KAAA,CAAA0G,aAAA,CAAA1G,KAAA,CAAA2G,QAAA,QACGrG,MAAM,CAACwE,QAAQ,CAAC,KAAAqD,KAAA,KAAAA,KAAA,GACfnI,KAAA,CAAA0G,aAAA;IAAM0B,GAAG,EAAC,iBAAiB;IAACtE,SAAS,EAAC;EAAsB,CAAE,CAAC,EAChE,EAEAG,cAAc,IACbjE,KAAA,CAAA0G,aAAA,CAAC1G,KAAK,CAAC2G,QAAQ;IAACyB,GAAG,EAAC;EAAuB,GACxCnE,cACa,CACjB,EAEAuB,OAAO,IACNxF,KAAA,CAAA0G,aAAA,CAAA1G,KAAA,CAAA2G,QAAA,QAAA0B,MAAA,KAAAA,MAAA,GACErI,KAAA,CAAA0G,aAAA;IACE0B,GAAG,EAAC,kBAAkB;IACtBtE,SAAS,EAAC,uBAAuB;IACjC;EAAW,GACZ,QAEK,CAAC,GACP9D,KAAA,CAAA0G,aAAA;IACE0B,GAAG,EAAC,aAAa;IACjBtE,SAAS,EAAC;EAA0C,GAEnD0B,OACG,CACN,CACH,EAMC,CAACA,OAAO,IAAIf,IAAI,KAAA6D,MAAA,KAAAA,MAAA,GACdtI,KAAA,CAAA0G,aAAA;IACE0B,GAAG,EAAC,kBAAkB;IACtBtE,SAAS,EAAC,uBAAuB;IACjC;EAAW,GACZ,QAEK,CAAC,EACR,EAGFW,IAAI,KACFrD,QAAQ,CAACqD,IAAI,EAAE,kBAAkB,CAAC,IACjCzE,KAAA,CAAA0G,aAAA,CAACzF,WAAW;IACVmH,GAAG,EAAC,aAAa;IACjBtE,SAAS,EAAC,kBAAkB;IAC5BW,IAAI,EAAEA,IAAK;IACXV,IAAI,EAAEa,SAAU;IAChB,eAAaa,UAAU,IAAI,CAACzB,KAAK,GAAG,IAAI,GAAG,IAAK;IAChDR,QAAQ,EAAEA;EAAS,CACpB,CACF,CACH,CAAC;AAEP;AAEA4D,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAAR,OAAO,CAACS,SAAS,GAAG;EAClBvD,KAAK,EAAE/D,SAAS,CAACwH,MAAM;EACvBxD,cAAc,EAAEhE,SAAS,CAACyH,IAAI;EAC9BlC,OAAO,EAAEvF,SAAS,CAACuH,SAAS,CAAC,CAC3BvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAACsI,KAAK,EACftI,SAAS,CAACyH,IAAI,CACf,CAAC;EACFjD,IAAI,EAAExE,SAAS,CAACuH,SAAS,CAAC,CACxBvH,SAAS,CAACwH,MAAM,EAChBxH,SAAS,CAACyH,IAAI,EACdzH,SAAS,CAAC0H,IAAI,CACf,CAAC;EACF/C,SAAS,EAAE3E,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC2H,MAAM,CAAC,CAAC;EACpE9C,QAAQ,EAAE7E,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACwH,MAAM,EAAExH,SAAS,CAAC4H,IAAI,CAAC,CAAC;EACjErE,QAAQ,EAAEvD,SAAS,CAAC4H,IAAI;EACxBpC,UAAU,EAAExF,SAAS,CAAC4H;AACxB,CAAC;AAEDf,OAAO,CAACvD,YAAY,GAAG;EACrBU,cAAc,EAAE,IAAI;EACpBD,KAAK,EAAE,IAAI;EACXwB,OAAO,EAAE,IAAI;EACbf,IAAI,EAAE,IAAI;EACVG,SAAS,EAAE,SAAS;EACpBE,QAAQ,EAAE,IAAI;EACdtB,QAAQ,EAAE,IAAI;EACdiC,UAAU,EAAE;AACd,CAAC;AAED9D,MAAM,CAAC6G,YAAY,GAAG,IAAI;AAC1B7G,MAAM,CAAC8G,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"Button.js","names":["React","PropTypes","classnames","Context","warn","makeUniqueId","isTrue","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","IconPrimary","FormStatus","Anchor","pickIcon","opensNewTab","launch","Tooltip","buttonVariantPropType","variant","oneOf","Button","PureComponent","getContent","props","constructor","_defineProperty","src","event","afterContent","isValidElement","setState","_id","id","status","tooltip","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","defaultProps","skeleton","context","FormRow","formElement","class","classProp","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","_objectWithoutProperties","_excluded","showStatus","usedVariant","usedSize","iconSize","content","isIconOnly","Boolean","Element","href","to","omitClass","target","classes","theme","darkBackground","params","_objectSpread","on_click","onClick","getOnClickHandler","type","undefined","createElement","Fragment","_extends","ref","Content","show","label","text_id","no_animation","targetElement","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","object","shape","message","rel","children","_span","key","_span2","_span3","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n getOnClickHandler = (src) => (event) => {\n const afterContent = dispatchCustomElementEvent(src, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: classProp, // @deprecated – can be removed in v11\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n classProp, // @deprecated – can be removed in v11\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (props.on_click || props.onClick) {\n params.onClick = this.getOnClickHandler(props)\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n if (isIconOnly) {\n params['aria-label'] = params['aria-label'] || title\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n className: PropTypes.string,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n onClick: null,\n}\n\nfunction Content({\n title = null,\n content = null,\n custom_content = null,\n icon = null,\n icon_size = 'default',\n bounding = null,\n skeleton = null,\n isIconOnly = null,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.string,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../shared/types';
2
+ export declare const ButtonProperties: PropertiesTableProps;
@@ -0,0 +1,128 @@
1
+ export const ButtonProperties = {
2
+ type: {
3
+ doc: 'The type HTML attribute. Defaults to `button` for legacy reasons.',
4
+ type: ['button', 'reset', 'submit'],
5
+ status: 'optional'
6
+ },
7
+ text: {
8
+ doc: 'The content of the button can be a string or a React Element.',
9
+ type: ['string', 'React.ReactNode'],
10
+ status: 'optional'
11
+ },
12
+ 'aria-label': {
13
+ doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',
14
+ type: 'string',
15
+ status: 'optional'
16
+ },
17
+ title: {
18
+ doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',
19
+ type: 'string',
20
+ status: 'optional'
21
+ },
22
+ variant: {
23
+ doc: 'Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `primary` (or `secondary` if icon only).',
24
+ type: ['primary', 'secondary', 'tertiary', 'signal'],
25
+ status: 'optional'
26
+ },
27
+ size: {
28
+ doc: 'The size of the button. For now there is `small`, `medium`, `default` and `large`.',
29
+ type: ['small', 'medium', 'default', 'large'],
30
+ status: 'optional'
31
+ },
32
+ icon: {
33
+ doc: 'To be included in the button. [Primary Icons](/icons/primary) can be set as a string (e.g. `icon="chevron_right"`), other icons should be set as React elements.',
34
+ type: ['string', 'React.ReactNode'],
35
+ status: 'optional'
36
+ },
37
+ icon_position: {
38
+ doc: 'Position of icon inside the button. Set to `left` or `right`. Tertiary button variant also supports `top`. Defaults to `right` if not set.',
39
+ type: ['left', 'right', 'top'],
40
+ status: 'optional'
41
+ },
42
+ icon_size: {
43
+ doc: 'Define icon width and height. Defaults to 16px.',
44
+ type: 'string',
45
+ status: 'optional'
46
+ },
47
+ href: {
48
+ doc: 'If you want the button to behave as a link. Use with caution! A link should normally visually be a link and not a button.',
49
+ type: 'string',
50
+ status: 'optional'
51
+ },
52
+ target: {
53
+ doc: 'When button behaves as a link. Used to specify where to open the linked document, specified by `href`. Possible values are `_self`, `_blank`, `_parent` and `_top`.',
54
+ type: ['_self', '_blank', '_parent', '_top'],
55
+ status: 'optional'
56
+ },
57
+ rel: {
58
+ doc: 'When button behaves as a link. Used to specify the relationship between a linked resource and the current document. Examples(non-exhaustive list) of values are `nofollow`, `search`, and `tag`.',
59
+ type: 'string',
60
+ status: 'optional'
61
+ },
62
+ to: {
63
+ doc: 'Use this property only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',
64
+ type: 'string',
65
+ status: 'optional'
66
+ },
67
+ wrap: {
68
+ doc: 'If set to `true` the button text will wrap in to new lines if the overflow point is reached. Defaults to `false`.',
69
+ type: 'boolean',
70
+ status: 'optional'
71
+ },
72
+ stretch: {
73
+ doc: 'Set it to `true` in order to stretch the button to the available space. Defaults to false.',
74
+ type: 'boolean',
75
+ status: 'optional'
76
+ },
77
+ bounding: {
78
+ doc: 'Set it to `true` in order to extend the bounding box (above the visual button background). You may also look into the HTML class `dnb-button__bounding` if it needs some CSS customization in order to get the particular button right for your use-case.',
79
+ type: 'boolean',
80
+ status: 'optional'
81
+ },
82
+ element: {
83
+ doc: 'Only meant to be used for special use cases. Defaults to `button` or `a` depending if href is set or not.',
84
+ type: 'string',
85
+ status: 'optional'
86
+ },
87
+ custom_content: {
88
+ doc: 'If you need to inject completely custom markup (React Element) into the button component. You have then to handle alignment and styling by yourself.',
89
+ type: 'React.ReactNode',
90
+ status: 'optional'
91
+ },
92
+ skeleton: {
93
+ doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',
94
+ type: 'boolean',
95
+ status: 'optional'
96
+ },
97
+ tooltip: {
98
+ doc: 'Provide a string or a React Element to be shown as the tooltip content.',
99
+ type: ['string', 'React.ReactNode'],
100
+ status: 'optional'
101
+ },
102
+ status: {
103
+ doc: 'Set it to either `status="error"` or a text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',
104
+ type: ['error', 'info', 'boolean'],
105
+ status: 'optional'
106
+ },
107
+ status_state: {
108
+ doc: 'Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.',
109
+ type: ['error', 'info'],
110
+ status: 'optional'
111
+ },
112
+ status_props: {
113
+ doc: 'Use an object to define additional FormStatus properties.',
114
+ type: 'object',
115
+ status: 'optional'
116
+ },
117
+ globalStatus: {
118
+ doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',
119
+ type: 'object',
120
+ status: 'optional'
121
+ },
122
+ '[Space](/uilib/layout/space/properties)': {
123
+ doc: 'Spacing properties like `top` or `bottom` are supported.',
124
+ type: ['string', 'object'],
125
+ status: 'optional'
126
+ }
127
+ };
128
+ //# sourceMappingURL=ButtonDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonDocs.js","names":["ButtonProperties","type","doc","status","text","title","variant","size","icon","icon_position","icon_size","href","target","rel","to","wrap","stretch","bounding","element","custom_content","skeleton","tooltip","status_state","status_props","globalStatus"],"sources":["../../../../src/components/button/ButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const ButtonProperties: PropertiesTableProps = {\n type: {\n doc: 'The type HTML attribute. Defaults to `button` for legacy reasons.',\n type: ['button', 'reset', 'submit'],\n status: 'optional',\n },\n text: {\n doc: 'The content of the button can be a string or a React Element.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n 'aria-label': {\n doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'Required if there is no text in the button. If `text` and `children` are undefined, setting the `title` property will automatically set `aria-label` with the same value.',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the kind of button. Possible values are `primary`, `secondary`, `tertiary` and `signal`. Defaults to `primary` (or `secondary` if icon only).',\n type: ['primary', 'secondary', 'tertiary', 'signal'],\n status: 'optional',\n },\n size: {\n doc: 'The size of the button. For now there is `small`, `medium`, `default` and `large`.',\n type: ['small', 'medium', 'default', 'large'],\n status: 'optional',\n },\n icon: {\n doc: 'To be included in the button. [Primary Icons](/icons/primary) can be set as a string (e.g. `icon=\"chevron_right\"`), other icons should be set as React elements.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n icon_position: {\n doc: 'Position of icon inside the button. Set to `left` or `right`. Tertiary button variant also supports `top`. Defaults to `right` if not set.',\n type: ['left', 'right', 'top'],\n status: 'optional',\n },\n icon_size: {\n doc: 'Define icon width and height. Defaults to 16px.',\n type: 'string',\n status: 'optional',\n },\n href: {\n doc: 'If you want the button to behave as a link. Use with caution! A link should normally visually be a link and not a button.',\n type: 'string',\n status: 'optional',\n },\n target: {\n doc: 'When button behaves as a link. Used to specify where to open the linked document, specified by `href`. Possible values are `_self`, `_blank`, `_parent` and `_top`.',\n type: ['_self', '_blank', '_parent', '_top'],\n status: 'optional',\n },\n rel: {\n doc: 'When button behaves as a link. Used to specify the relationship between a linked resource and the current document. Examples(non-exhaustive list) of values are `nofollow`, `search`, and `tag`.',\n type: 'string',\n status: 'optional',\n },\n to: {\n doc: 'Use this property only if you are using a router Link component as the `element` that uses the `to` property to declare the navigation url.',\n type: 'string',\n status: 'optional',\n },\n wrap: {\n doc: 'If set to `true` the button text will wrap in to new lines if the overflow point is reached. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stretch: {\n doc: 'Set it to `true` in order to stretch the button to the available space. Defaults to false.',\n type: 'boolean',\n status: 'optional',\n },\n bounding: {\n doc: 'Set it to `true` in order to extend the bounding box (above the visual button background). You may also look into the HTML class `dnb-button__bounding` if it needs some CSS customization in order to get the particular button right for your use-case.',\n type: 'boolean',\n status: 'optional',\n },\n element: {\n doc: 'Only meant to be used for special use cases. Defaults to `button` or `a` depending if href is set or not.',\n type: 'string',\n status: 'optional',\n },\n custom_content: {\n doc: 'If you need to inject completely custom markup (React Element) into the button component. You have then to handle alignment and styling by yourself.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n tooltip: {\n doc: 'Provide a string or a React Element to be shown as the tooltip content.',\n type: ['string', 'React.ReactNode'],\n status: 'optional',\n },\n status: {\n doc: 'Set it to either `status=\"error\"` or a text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: ['error', 'info', 'boolean'],\n status: 'optional',\n },\n status_state: {\n doc: 'Defines the state of the status. Currently there are two statuses `[error, info]`. Defaults to `error`.',\n type: ['error', 'info'],\n status: 'optional',\n },\n status_props: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',\n type: 'object',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n"],"mappings":"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"}
@@ -210,6 +210,10 @@ export type DatePickerProps = {
210
210
  * Use `right` to change the calendar alignment direction. Defaults to `left`.
211
211
  */
212
212
  alignPicker?: 'auto' | 'left' | 'right';
213
+ /**
214
+ * If set to `true`, the calendar will not be rendered inside a react portal. Defaults to `false`.
215
+ */
216
+ skipPortal?: boolean;
213
217
  className?: string;
214
218
  /**
215
219
  * Will be called right before every new calendar view gets rendered. See the example above.
@@ -5,10 +5,10 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
5
5
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
6
  var _AlignmentHelper;
7
7
  const _excluded = ["hidePicker"],
8
- _excluded2 = ["label", "title", "labelDirection", "labelSrOnly", "onlyMonth", "hideLastWeek", "disableAutofocus", "hideNavigationButtons", "firstDay", "resetDate", "link", "sync", "inputElement", "addonElement", "shortcuts", "disabled", "stretch", "skeleton", "size", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "maskOrder", "maskPlaceholder", "submitButtonText", "cancelButtonText", "resetButtonText", "showResetButton", "className", "tooltip"];
8
+ _excluded2 = ["label", "title", "labelDirection", "labelSrOnly", "onlyMonth", "hideLastWeek", "disableAutofocus", "hideNavigationButtons", "firstDay", "resetDate", "link", "sync", "inputElement", "addonElement", "shortcuts", "disabled", "stretch", "skeleton", "size", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "maskOrder", "maskPlaceholder", "submitButtonText", "cancelButtonText", "resetButtonText", "showResetButton", "className", "tooltip", "skipPortal"];
9
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
- import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
11
+ import React, { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
12
12
  import classnames from 'classnames';
13
13
  import { warn, makeUniqueId, extendPropsWithContext, detectOutsideClick, getStatusState, combineDescribedBy, validateDOMAttributes } from '../../shared/component-helper';
14
14
  import AlignmentHelper from '../../shared/AlignmentHelper';
@@ -27,6 +27,7 @@ import DatePickerFooter from './DatePickerFooter';
27
27
  import { pickFormElementProps } from '../../shared/helpers/filterValidProps';
28
28
  import { useTranslation } from '../../shared';
29
29
  import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
30
+ import DatePickerPortal from './DatePickerPortal';
30
31
  const defaultProps = {
31
32
  maskOrder: 'dd/mm/yyyy',
32
33
  maskPlaceholder: 'dd/mm/åååå',
@@ -51,7 +52,8 @@ const defaultProps = {
51
52
  statusState: 'error',
52
53
  opened: false,
53
54
  noAnimation: false,
54
- direction: 'auto'
55
+ direction: 'auto',
56
+ skipPortal: false
55
57
  };
56
58
  function DatePicker(externalProps) {
57
59
  const props = _objectSpread(_objectSpread({}, defaultProps), externalProps);
@@ -85,6 +87,7 @@ function DatePicker(externalProps) {
85
87
  const getReturnObject = useRef();
86
88
  const hideTimeout = useRef();
87
89
  const outsideClick = useRef();
90
+ const calendarContainerRef = useRef();
88
91
  const translation = useTranslation().DatePicker;
89
92
  if (endDateProp && !range) {
90
93
  warn(`The DatePicker got a "endDate". You have to set range={true} as well!.`);
@@ -118,7 +121,7 @@ function DatePicker(externalProps) {
118
121
  removeOutsideClickHandler();
119
122
  }, [noAnimation, preventClose, onHide, removeOutsideClickHandler]);
120
123
  const setOutsideClickHandler = useCallback(() => {
121
- outsideClick.current = detectOutsideClick(innerRef.current, ({
124
+ outsideClick.current = detectOutsideClick([innerRef.current, calendarContainerRef], ({
122
125
  event
123
126
  }) => {
124
127
  hidePicker(_objectSpread(_objectSpread({}, event), {}, {
@@ -151,9 +154,13 @@ function DatePicker(externalProps) {
151
154
  setOpened(true);
152
155
  setHidden(false);
153
156
  onShow === null || onShow === void 0 ? void 0 : onShow(_objectSpread({}, getReturnObject.current(event)));
154
- setTrianglePosition();
155
157
  setOutsideClickHandler();
156
- }, [setTrianglePosition, setOutsideClickHandler, onShow]);
158
+ }, [setOutsideClickHandler, onShow]);
159
+ useLayoutEffect(() => {
160
+ if (!hidden) {
161
+ setTrianglePosition();
162
+ }
163
+ }, [hidden, setTrianglePosition]);
157
164
  useEffect(() => {
158
165
  if (openedProp) {
159
166
  showPicker();
@@ -245,7 +252,8 @@ function DatePicker(externalProps) {
245
252
  resetButtonText,
246
253
  showResetButton,
247
254
  className,
248
- tooltip
255
+ tooltip,
256
+ skipPortal
249
257
  } = extendedProps,
250
258
  restProps = _objectWithoutProperties(extendedProps, _excluded2);
251
259
  const attributes = useMemo(() => filterOutNonAttributes(restProps), [restProps]);
@@ -267,6 +275,7 @@ function DatePicker(externalProps) {
267
275
  className: classnames("dnb-date-picker dnb-form-component", (range || showSubmitButton || showCancelButton || showResetButton) && 'dnb-date-picker--show-footer', createSpacingClasses(props), className, status && `dnb-date-picker__status--${statusState}`, labelDirection && `dnb-date-picker--${labelDirection}`, opened && 'dnb-date-picker--opened', hidden && 'dnb-date-picker--hidden', showInput && 'dnb-date-picker--show-input', alignPicker && `dnb-date-picker--${alignPicker}`, stretch && `dnb-date-picker--stretch`, size && `dnb-date-picker--${size}`),
268
276
  lang: context.locale
269
277
  };
278
+ const containerClassNames = classnames('dnb-date-picker__container', opened ? 'dnb-date-picker__container--opened' : 'dnb-date-picker__container--closed', hidden && 'dnb-date-picker__container--hidden', showInput && 'dnb-date-picker__container--show-input', alignPicker && `dnb-date-picker__container--${alignPicker}`, size && `dnb-date-picker--${size}`);
270
279
  const remainingDOMProps = validateDOMAttributes(props, attributes);
271
280
  const remainingSubmitProps = validateDOMAttributes(null, submitParams);
272
281
  const remainingPickerProps = validateDOMAttributes(null, skeletonDOMAttributes(pickerParams, skeleton, context));
@@ -322,12 +331,17 @@ function DatePicker(externalProps) {
322
331
  }, attributes, {
323
332
  submitAttributes: remainingSubmitProps,
324
333
  onSubmit: togglePicker
325
- }, statusProps)), React.createElement("span", {
326
- className: "dnb-date-picker__container"
334
+ }, statusProps)), !hidden && React.createElement(DatePickerPortal, {
335
+ alignment: alignPicker,
336
+ skipPortal: skipPortal,
337
+ targetElementRef: innerRef
338
+ }, React.createElement("span", {
339
+ className: containerClassNames,
340
+ ref: calendarContainerRef
327
341
  }, React.createElement("span", {
328
342
  className: "dnb-date-picker__triangle",
329
343
  ref: triangleRef
330
- }), !hidden && React.createElement(React.Fragment, null, React.createElement(DatePickerRange, {
344
+ }), React.createElement(DatePickerRange, {
331
345
  id: id,
332
346
  firstDayOfWeek: firstDay,
333
347
  resetDate: resetDate,
@@ -365,7 +379,7 @@ function DatePicker(externalProps) {
365
379
  "aria-live": "assertive"
366
380
  }, selectedDateTitle)));
367
381
  }
368
- const NonAttributes = ['locale', 'id', 'month', 'date', 'startDate', 'endDate', 'minDate', 'maxDate', 'enableKeyboardNav', 'hideNavigation', 'returnFormat', 'dateFormat', 'hideDays', 'correctInvalidDate', 'opened', 'direction', 'range', 'showInput', 'noAnimation', 'onDaysRender', 'onShow', 'onType', 'onHide', 'showSubmitButton', 'showCancelButton', 'selectedDate', 'selectedMonth', 'selectedYear', 'nextMonth', 'nextYear', 'openPickerText', 'placeholderCharacters', 'prevMonth', 'prevYear', 'endMonth', 'startMonth', 'alignPicker'];
382
+ const NonAttributes = ['locale', 'id', 'month', 'date', 'startDate', 'endDate', 'minDate', 'maxDate', 'enableKeyboardNav', 'hideNavigation', 'returnFormat', 'dateFormat', 'hideDays', 'correctInvalidDate', 'opened', 'direction', 'range', 'showInput', 'noAnimation', 'onDaysRender', 'onShow', 'onType', 'onHide', 'showSubmitButton', 'showCancelButton', 'selectedDate', 'selectedMonth', 'selectedYear', 'nextMonth', 'nextYear', 'openPickerText', 'placeholderCharacters', 'prevMonth', 'prevYear', 'endMonth', 'startMonth', 'alignPicker', 'preventClose'];
369
383
  function filterOutNonAttributes(props) {
370
384
  return Object.keys(props).reduce((attributes, key) => {
371
385
  if (!NonAttributes.includes(key)) {