@dnb/eufemia 10.75.3 → 10.76.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 (849) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cjs/components/DateFormat.d.ts +12 -0
  3. package/cjs/components/DateFormat.js +24 -0
  4. package/cjs/components/DateFormat.js.map +1 -0
  5. package/cjs/components/PortalRoot.d.ts +12 -0
  6. package/cjs/components/PortalRoot.js +24 -0
  7. package/cjs/components/PortalRoot.js.map +1 -0
  8. package/cjs/components/breadcrumb/Breadcrumb.d.ts +4 -0
  9. package/cjs/components/breadcrumb/Breadcrumb.js +9 -4
  10. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  11. package/cjs/components/breadcrumb/BreadcrumbDocs.js +5 -0
  12. package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  13. package/cjs/components/card/Card.d.ts +4 -0
  14. package/cjs/components/card/Card.js +13 -4
  15. package/cjs/components/card/Card.js.map +1 -1
  16. package/cjs/components/card/CardDocs.js +1 -1
  17. package/cjs/components/card/CardDocs.js.map +1 -1
  18. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/date-format/DateFormat.d.ts +30 -0
  20. package/cjs/components/date-format/DateFormat.js +86 -0
  21. package/cjs/components/date-format/DateFormat.js.map +1 -0
  22. package/cjs/components/date-format/DateFormatDocs.d.ts +2 -0
  23. package/cjs/components/date-format/DateFormatDocs.js +34 -0
  24. package/cjs/components/date-format/DateFormatDocs.js.map +1 -0
  25. package/cjs/components/date-format/DateFormatUtils.d.ts +11 -0
  26. package/cjs/components/date-format/DateFormatUtils.js +36 -0
  27. package/cjs/components/date-format/DateFormatUtils.js.map +1 -0
  28. package/cjs/components/date-format/index.d.ts +7 -0
  29. package/cjs/components/date-format/index.js +24 -0
  30. package/cjs/components/date-format/index.js.map +1 -0
  31. package/cjs/components/date-picker/DatePicker.js +5 -8
  32. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerCalc.d.ts +0 -13
  34. package/cjs/components/date-picker/DatePickerCalc.js +0 -44
  35. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  36. package/cjs/components/date-picker/DatePickerCalendar.js +11 -10
  37. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +7 -7
  39. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerInput.js +2 -1
  41. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerPortal.d.ts +1 -1
  43. package/cjs/components/date-picker/DatePickerPortal.js +4 -4
  44. package/cjs/components/date-picker/DatePickerPortal.js.map +1 -1
  45. package/cjs/components/form-status/FormStatus.js +1 -1
  46. package/cjs/components/form-status/FormStatus.js.map +1 -1
  47. package/cjs/components/form-status/style/dnb-form-status.css +1 -1
  48. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  49. package/cjs/components/form-status/style/dnb-form-status.scss +1 -1
  50. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  51. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  52. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  53. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  54. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  55. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  56. package/cjs/components/help-button/style/dnb-help-button-inline.css +1 -1
  57. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  58. package/cjs/components/help-button/style/dnb-help-button-inline.scss +1 -1
  59. package/cjs/components/help-button/style/dnb-help-button.css +1 -1
  60. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  61. package/cjs/components/index.d.ts +3 -1
  62. package/cjs/components/index.js +14 -0
  63. package/cjs/components/index.js.map +1 -1
  64. package/cjs/components/info-card/style/dnb-info-card.css +1 -1
  65. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  66. package/cjs/components/info-card/style/dnb-info-card.scss +1 -1
  67. package/cjs/components/lib.d.ts +5 -1
  68. package/cjs/components/lib.js +16 -0
  69. package/cjs/components/lib.js.map +1 -1
  70. package/cjs/components/modal/ModalRoot.d.ts +2 -7
  71. package/cjs/components/modal/ModalRoot.js +9 -65
  72. package/cjs/components/modal/ModalRoot.js.map +1 -1
  73. package/cjs/components/portal-root/PortalRoot.d.ts +7 -0
  74. package/cjs/components/portal-root/PortalRoot.js +65 -0
  75. package/cjs/components/portal-root/PortalRoot.js.map +1 -0
  76. package/cjs/components/portal-root/PortalRootDocs.d.ts +2 -0
  77. package/cjs/components/portal-root/PortalRootDocs.js +19 -0
  78. package/cjs/components/portal-root/PortalRootDocs.js.map +1 -0
  79. package/cjs/components/portal-root/index.d.ts +7 -0
  80. package/cjs/components/portal-root/index.js +24 -0
  81. package/cjs/components/portal-root/index.js.map +1 -0
  82. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  83. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  84. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  85. package/cjs/components/step-indicator/StepIndicator.js +6 -2
  86. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  87. package/cjs/components/step-indicator/StepIndicatorDocs.js +1 -1
  88. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  89. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  90. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  91. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  92. package/cjs/components/switch/Switch.d.ts +12 -3
  93. package/cjs/components/switch/Switch.js +39 -15
  94. package/cjs/components/switch/Switch.js.map +1 -1
  95. package/cjs/components/switch/SwitchDocs.js +5 -0
  96. package/cjs/components/switch/SwitchDocs.js.map +1 -1
  97. package/cjs/components/tooltip/TooltipPortal.js +28 -59
  98. package/cjs/components/tooltip/TooltipPortal.js.map +1 -1
  99. package/cjs/components/tooltip/style/dnb-tooltip.css +8 -1
  100. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  101. package/cjs/components/tooltip/style/dnb-tooltip.scss +8 -1
  102. package/cjs/components/upload/Upload.js +31 -7
  103. package/cjs/components/upload/Upload.js.map +1 -1
  104. package/cjs/components/upload/UploadContext.d.ts +1 -0
  105. package/cjs/components/upload/UploadContext.js +2 -1
  106. package/cjs/components/upload/UploadContext.js.map +1 -1
  107. package/cjs/components/upload/UploadDocs.js +11 -1
  108. package/cjs/components/upload/UploadDocs.js.map +1 -1
  109. package/cjs/components/upload/UploadDropzone.d.ts +3 -1
  110. package/cjs/components/upload/UploadDropzone.js +5 -4
  111. package/cjs/components/upload/UploadDropzone.js.map +1 -1
  112. package/cjs/components/upload/UploadFileInput.d.ts +3 -1
  113. package/cjs/components/upload/UploadFileInput.js +7 -5
  114. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  115. package/cjs/components/upload/style/dnb-upload.css +10 -2
  116. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  117. package/cjs/components/upload/style/dnb-upload.scss +12 -2
  118. package/cjs/components/upload/types.d.ts +4 -0
  119. package/cjs/components/upload/types.js.map +1 -1
  120. package/cjs/elements/lists/style/lists-mixins.scss +1 -1
  121. package/cjs/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  122. package/cjs/extensions/forms/Connectors/Bring/address.js +185 -0
  123. package/cjs/extensions/forms/Connectors/Bring/address.js.map +1 -0
  124. package/cjs/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  125. package/cjs/extensions/forms/Connectors/Bring/index.js +3 -1
  126. package/cjs/extensions/forms/Connectors/Bring/index.js.map +1 -1
  127. package/cjs/extensions/forms/Connectors/Bring/postalCode.js +10 -1
  128. package/cjs/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  129. package/cjs/extensions/forms/Connectors/createContext.js +3 -0
  130. package/cjs/extensions/forms/Connectors/createContext.js.map +1 -1
  131. package/cjs/extensions/forms/Field/Address/Address.d.ts +3 -0
  132. package/cjs/extensions/forms/Field/Address/Address.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  134. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  135. package/cjs/extensions/forms/Field/Date/Date.js +11 -8
  136. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  137. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  138. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  139. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  140. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +0 -2
  142. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  143. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  144. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  145. package/cjs/extensions/forms/Field/Toggle/Toggle.js +36 -0
  146. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  147. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  148. package/cjs/extensions/forms/Field/Upload/Upload.js +26 -7
  149. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  150. package/cjs/extensions/forms/Field/style/field-sizes.scss +1 -1
  151. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  152. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  153. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  154. package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -6
  155. package/cjs/extensions/forms/Form/Card/Card.js +1 -1
  156. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -1
  157. package/cjs/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  158. package/cjs/extensions/forms/Form/Card/CardDocs.js +14 -11
  159. package/cjs/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  160. package/cjs/extensions/forms/Value/Date/Date.js +22 -7
  161. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  162. package/cjs/extensions/forms/Value/style/value-sizes.scss +2 -2
  163. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  164. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  165. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  166. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  167. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  168. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  169. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  170. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  171. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  172. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  173. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  174. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  175. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  176. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  177. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  178. package/cjs/extensions/forms/style/dnb-forms.css +4 -6
  179. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  180. package/cjs/extensions/payment-card/style/dnb-payment-card.css +1 -0
  181. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  182. package/cjs/fragments/drawer-list/DrawerList.d.ts +6 -3
  183. package/cjs/fragments/drawer-list/DrawerList.js +6 -5
  184. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  185. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -1
  186. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  187. package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  188. package/cjs/fragments/drawer-list/DrawerListPortal.js +31 -65
  189. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  190. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  191. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  192. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  193. package/cjs/index.d.ts +3 -1
  194. package/cjs/index.js +14 -0
  195. package/cjs/index.js.map +1 -1
  196. package/cjs/shared/Eufemia.d.ts +2 -2
  197. package/cjs/shared/Eufemia.js +3 -6
  198. package/cjs/shared/Eufemia.js.map +1 -1
  199. package/cjs/shared/build-info/BuildInfo.d.ts +2 -0
  200. package/cjs/shared/build-info/BuildInfo.js +16 -0
  201. package/cjs/shared/build-info/BuildInfo.js.map +1 -0
  202. package/cjs/shared/build-info/BuildInfoData.d.ts +2 -0
  203. package/cjs/shared/build-info/BuildInfoData.js +9 -0
  204. package/cjs/shared/build-info/BuildInfoData.js.map +1 -0
  205. package/cjs/shared/locales/en-GB.d.ts +3 -0
  206. package/cjs/shared/locales/en-GB.js +3 -0
  207. package/cjs/shared/locales/en-GB.js.map +1 -1
  208. package/cjs/shared/locales/en-US.d.ts +3 -0
  209. package/cjs/shared/locales/index.d.ts +6 -0
  210. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  211. package/cjs/shared/locales/nb-NO.js +3 -0
  212. package/cjs/shared/locales/nb-NO.js.map +1 -1
  213. package/cjs/shared/locales/sv-SE.d.ts +3 -0
  214. package/cjs/shared/locales/sv-SE.js +3 -0
  215. package/cjs/shared/locales/sv-SE.js.map +1 -1
  216. package/cjs/style/core/scopes.scss +1 -1
  217. package/cjs/style/dnb-ui-basis.css +1 -1
  218. package/cjs/style/dnb-ui-basis.min.css +1 -1
  219. package/cjs/style/dnb-ui-body.css +1 -1
  220. package/cjs/style/dnb-ui-body.min.css +1 -1
  221. package/cjs/style/dnb-ui-components.css +27 -14
  222. package/cjs/style/dnb-ui-components.min.css +4 -4
  223. package/cjs/style/dnb-ui-core.css +1 -1
  224. package/cjs/style/dnb-ui-core.min.css +1 -1
  225. package/cjs/style/dnb-ui-elements.css +1 -1
  226. package/cjs/style/dnb-ui-elements.min.css +1 -1
  227. package/cjs/style/dnb-ui-extensions.css +5 -6
  228. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  229. package/cjs/style/dnb-ui-forms.css +4 -6
  230. package/cjs/style/dnb-ui-forms.min.css +1 -1
  231. package/cjs/style/dnb-ui-fragments.css +1 -1
  232. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  233. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +31 -20
  236. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -6
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -6
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  243. package/cjs/style/themes/theme-eiendom/properties.d.ts +2 -0
  244. package/cjs/style/themes/theme-eiendom/properties.js +3 -1
  245. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  246. package/cjs/style/themes/theme-sbanken/properties.d.ts +2 -0
  247. package/cjs/style/themes/theme-sbanken/properties.js +2 -0
  248. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  249. package/cjs/style/themes/theme-sbanken/properties.scss +3 -0
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  251. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +44 -24
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  256. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -6
  257. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  258. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -6
  259. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  260. package/cjs/style/themes/theme-ui/properties.d.ts +2 -0
  261. package/cjs/style/themes/theme-ui/properties.js +3 -1
  262. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  263. package/cjs/style/themes/theme-ui/properties.scss +3 -0
  264. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -1
  265. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  266. package/cjs/style/themes/theme-ui/ui-theme-components.css +31 -20
  267. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  268. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  269. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  270. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +5 -6
  271. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  272. package/cjs/style/themes/theme-ui/ui-theme-forms.css +4 -6
  273. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  274. package/cjs/style/themes/theme-ui/ui-theme-properties.css +1 -0
  275. package/cjs/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  276. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  278. package/components/DateFormat.d.ts +12 -0
  279. package/components/DateFormat.js +4 -0
  280. package/components/DateFormat.js.map +1 -0
  281. package/components/PortalRoot.d.ts +12 -0
  282. package/components/PortalRoot.js +4 -0
  283. package/components/PortalRoot.js.map +1 -0
  284. package/components/breadcrumb/Breadcrumb.d.ts +4 -0
  285. package/components/breadcrumb/Breadcrumb.js +9 -4
  286. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  287. package/components/breadcrumb/BreadcrumbDocs.js +5 -0
  288. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  289. package/components/card/Card.d.ts +4 -0
  290. package/components/card/Card.js +13 -4
  291. package/components/card/Card.js.map +1 -1
  292. package/components/card/CardDocs.js +1 -1
  293. package/components/card/CardDocs.js.map +1 -1
  294. package/components/checkbox/Checkbox.js.map +1 -1
  295. package/components/date-format/DateFormat.d.ts +30 -0
  296. package/components/date-format/DateFormat.js +77 -0
  297. package/components/date-format/DateFormat.js.map +1 -0
  298. package/components/date-format/DateFormatDocs.d.ts +2 -0
  299. package/components/date-format/DateFormatDocs.js +28 -0
  300. package/components/date-format/DateFormatDocs.js.map +1 -0
  301. package/components/date-format/DateFormatUtils.d.ts +11 -0
  302. package/components/date-format/DateFormatUtils.js +29 -0
  303. package/components/date-format/DateFormatUtils.js.map +1 -0
  304. package/components/date-format/index.d.ts +7 -0
  305. package/components/date-format/index.js +4 -0
  306. package/components/date-format/index.js.map +1 -0
  307. package/components/date-picker/DatePicker.js +3 -6
  308. package/components/date-picker/DatePicker.js.map +1 -1
  309. package/components/date-picker/DatePickerCalc.d.ts +0 -13
  310. package/components/date-picker/DatePickerCalc.js +0 -41
  311. package/components/date-picker/DatePickerCalc.js.map +1 -1
  312. package/components/date-picker/DatePickerCalendar.js +7 -6
  313. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  314. package/components/date-picker/DatePickerCalendarNavigator.js +4 -4
  315. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  316. package/components/date-picker/DatePickerInput.js +2 -1
  317. package/components/date-picker/DatePickerInput.js.map +1 -1
  318. package/components/date-picker/DatePickerPortal.d.ts +1 -1
  319. package/components/date-picker/DatePickerPortal.js +4 -4
  320. package/components/date-picker/DatePickerPortal.js.map +1 -1
  321. package/components/form-status/FormStatus.js +1 -1
  322. package/components/form-status/FormStatus.js.map +1 -1
  323. package/components/form-status/style/dnb-form-status.css +1 -1
  324. package/components/form-status/style/dnb-form-status.min.css +1 -1
  325. package/components/form-status/style/dnb-form-status.scss +1 -1
  326. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  327. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  328. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  329. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  330. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  331. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  332. package/components/help-button/style/dnb-help-button-inline.css +1 -1
  333. package/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  334. package/components/help-button/style/dnb-help-button-inline.scss +1 -1
  335. package/components/help-button/style/dnb-help-button.css +1 -1
  336. package/components/help-button/style/dnb-help-button.min.css +1 -1
  337. package/components/index.d.ts +3 -1
  338. package/components/index.js +3 -1
  339. package/components/index.js.map +1 -1
  340. package/components/info-card/style/dnb-info-card.css +1 -1
  341. package/components/info-card/style/dnb-info-card.min.css +1 -1
  342. package/components/info-card/style/dnb-info-card.scss +1 -1
  343. package/components/lib.d.ts +5 -1
  344. package/components/lib.js +5 -1
  345. package/components/lib.js.map +1 -1
  346. package/components/modal/ModalRoot.d.ts +2 -7
  347. package/components/modal/ModalRoot.js +9 -65
  348. package/components/modal/ModalRoot.js.map +1 -1
  349. package/components/portal-root/PortalRoot.d.ts +7 -0
  350. package/components/portal-root/PortalRoot.js +54 -0
  351. package/components/portal-root/PortalRoot.js.map +1 -0
  352. package/components/portal-root/PortalRootDocs.d.ts +2 -0
  353. package/components/portal-root/PortalRootDocs.js +13 -0
  354. package/components/portal-root/PortalRootDocs.js.map +1 -0
  355. package/components/portal-root/index.d.ts +7 -0
  356. package/components/portal-root/index.js +4 -0
  357. package/components/portal-root/index.js.map +1 -0
  358. package/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  359. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  360. package/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  361. package/components/step-indicator/StepIndicator.js +6 -2
  362. package/components/step-indicator/StepIndicator.js.map +1 -1
  363. package/components/step-indicator/StepIndicatorDocs.js +1 -1
  364. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  365. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  366. package/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  367. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  368. package/components/switch/Switch.d.ts +12 -3
  369. package/components/switch/Switch.js +40 -16
  370. package/components/switch/Switch.js.map +1 -1
  371. package/components/switch/SwitchDocs.js +5 -0
  372. package/components/switch/SwitchDocs.js.map +1 -1
  373. package/components/tooltip/TooltipPortal.js +27 -60
  374. package/components/tooltip/TooltipPortal.js.map +1 -1
  375. package/components/tooltip/style/dnb-tooltip.css +8 -1
  376. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  377. package/components/tooltip/style/dnb-tooltip.scss +8 -1
  378. package/components/upload/Upload.js +31 -7
  379. package/components/upload/Upload.js.map +1 -1
  380. package/components/upload/UploadContext.d.ts +1 -0
  381. package/components/upload/UploadContext.js +2 -1
  382. package/components/upload/UploadContext.js.map +1 -1
  383. package/components/upload/UploadDocs.js +11 -1
  384. package/components/upload/UploadDocs.js.map +1 -1
  385. package/components/upload/UploadDropzone.d.ts +3 -1
  386. package/components/upload/UploadDropzone.js +5 -4
  387. package/components/upload/UploadDropzone.js.map +1 -1
  388. package/components/upload/UploadFileInput.d.ts +3 -1
  389. package/components/upload/UploadFileInput.js +7 -5
  390. package/components/upload/UploadFileInput.js.map +1 -1
  391. package/components/upload/style/dnb-upload.css +10 -2
  392. package/components/upload/style/dnb-upload.min.css +1 -1
  393. package/components/upload/style/dnb-upload.scss +12 -2
  394. package/components/upload/types.d.ts +4 -0
  395. package/components/upload/types.js.map +1 -1
  396. package/elements/lists/style/lists-mixins.scss +1 -1
  397. package/es/components/DateFormat.d.ts +12 -0
  398. package/es/components/DateFormat.js +4 -0
  399. package/es/components/DateFormat.js.map +1 -0
  400. package/es/components/PortalRoot.d.ts +12 -0
  401. package/es/components/PortalRoot.js +4 -0
  402. package/es/components/PortalRoot.js.map +1 -0
  403. package/es/components/breadcrumb/Breadcrumb.d.ts +4 -0
  404. package/es/components/breadcrumb/Breadcrumb.js +9 -4
  405. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  406. package/es/components/breadcrumb/BreadcrumbDocs.js +5 -0
  407. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -1
  408. package/es/components/card/Card.d.ts +4 -0
  409. package/es/components/card/Card.js +12 -4
  410. package/es/components/card/Card.js.map +1 -1
  411. package/es/components/card/CardDocs.js +1 -1
  412. package/es/components/card/CardDocs.js.map +1 -1
  413. package/es/components/checkbox/Checkbox.js.map +1 -1
  414. package/es/components/date-format/DateFormat.d.ts +30 -0
  415. package/es/components/date-format/DateFormat.js +74 -0
  416. package/es/components/date-format/DateFormat.js.map +1 -0
  417. package/es/components/date-format/DateFormatDocs.d.ts +2 -0
  418. package/es/components/date-format/DateFormatDocs.js +28 -0
  419. package/es/components/date-format/DateFormatDocs.js.map +1 -0
  420. package/es/components/date-format/DateFormatUtils.d.ts +11 -0
  421. package/es/components/date-format/DateFormatUtils.js +27 -0
  422. package/es/components/date-format/DateFormatUtils.js.map +1 -0
  423. package/es/components/date-format/index.d.ts +7 -0
  424. package/es/components/date-format/index.js +4 -0
  425. package/es/components/date-format/index.js.map +1 -0
  426. package/es/components/date-picker/DatePicker.js +3 -6
  427. package/es/components/date-picker/DatePicker.js.map +1 -1
  428. package/es/components/date-picker/DatePickerCalc.d.ts +0 -13
  429. package/es/components/date-picker/DatePickerCalc.js +0 -39
  430. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  431. package/es/components/date-picker/DatePickerCalendar.js +7 -6
  432. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  433. package/es/components/date-picker/DatePickerCalendarNavigator.js +4 -4
  434. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  435. package/es/components/date-picker/DatePickerInput.js +2 -1
  436. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  437. package/es/components/date-picker/DatePickerPortal.d.ts +1 -1
  438. package/es/components/date-picker/DatePickerPortal.js +4 -4
  439. package/es/components/date-picker/DatePickerPortal.js.map +1 -1
  440. package/es/components/form-status/FormStatus.js +1 -1
  441. package/es/components/form-status/FormStatus.js.map +1 -1
  442. package/es/components/form-status/style/dnb-form-status.css +1 -1
  443. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  444. package/es/components/form-status/style/dnb-form-status.scss +1 -1
  445. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +11 -2
  446. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -1
  447. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +6 -2
  448. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +1 -1
  449. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -1
  450. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +1 -1
  451. package/es/components/help-button/style/dnb-help-button-inline.css +1 -1
  452. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  453. package/es/components/help-button/style/dnb-help-button-inline.scss +1 -1
  454. package/es/components/help-button/style/dnb-help-button.css +1 -1
  455. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  456. package/es/components/index.d.ts +3 -1
  457. package/es/components/index.js +3 -1
  458. package/es/components/index.js.map +1 -1
  459. package/es/components/info-card/style/dnb-info-card.css +1 -1
  460. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  461. package/es/components/info-card/style/dnb-info-card.scss +1 -1
  462. package/es/components/lib.d.ts +5 -1
  463. package/es/components/lib.js +5 -1
  464. package/es/components/lib.js.map +1 -1
  465. package/es/components/modal/ModalRoot.d.ts +2 -7
  466. package/es/components/modal/ModalRoot.js +9 -61
  467. package/es/components/modal/ModalRoot.js.map +1 -1
  468. package/es/components/portal-root/PortalRoot.d.ts +7 -0
  469. package/es/components/portal-root/PortalRoot.js +54 -0
  470. package/es/components/portal-root/PortalRoot.js.map +1 -0
  471. package/es/components/portal-root/PortalRootDocs.d.ts +2 -0
  472. package/es/components/portal-root/PortalRootDocs.js +13 -0
  473. package/es/components/portal-root/PortalRootDocs.js.map +1 -0
  474. package/es/components/portal-root/index.d.ts +7 -0
  475. package/es/components/portal-root/index.js +4 -0
  476. package/es/components/portal-root/index.js.map +1 -0
  477. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +1 -1
  478. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -1
  479. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +1 -1
  480. package/es/components/step-indicator/StepIndicator.js +6 -2
  481. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  482. package/es/components/step-indicator/StepIndicatorDocs.js +1 -1
  483. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  484. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +2 -1
  485. package/es/components/step-indicator/StepIndicatorTriggerButton.js +5 -3
  486. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  487. package/es/components/switch/Switch.d.ts +12 -3
  488. package/es/components/switch/Switch.js +40 -16
  489. package/es/components/switch/Switch.js.map +1 -1
  490. package/es/components/switch/SwitchDocs.js +5 -0
  491. package/es/components/switch/SwitchDocs.js.map +1 -1
  492. package/es/components/tooltip/TooltipPortal.js +27 -59
  493. package/es/components/tooltip/TooltipPortal.js.map +1 -1
  494. package/es/components/tooltip/style/dnb-tooltip.css +8 -1
  495. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  496. package/es/components/tooltip/style/dnb-tooltip.scss +8 -1
  497. package/es/components/upload/Upload.js +31 -7
  498. package/es/components/upload/Upload.js.map +1 -1
  499. package/es/components/upload/UploadContext.d.ts +1 -0
  500. package/es/components/upload/UploadContext.js +2 -1
  501. package/es/components/upload/UploadContext.js.map +1 -1
  502. package/es/components/upload/UploadDocs.js +11 -1
  503. package/es/components/upload/UploadDocs.js.map +1 -1
  504. package/es/components/upload/UploadDropzone.d.ts +3 -1
  505. package/es/components/upload/UploadDropzone.js +5 -4
  506. package/es/components/upload/UploadDropzone.js.map +1 -1
  507. package/es/components/upload/UploadFileInput.d.ts +3 -1
  508. package/es/components/upload/UploadFileInput.js +7 -5
  509. package/es/components/upload/UploadFileInput.js.map +1 -1
  510. package/es/components/upload/style/dnb-upload.css +10 -2
  511. package/es/components/upload/style/dnb-upload.min.css +1 -1
  512. package/es/components/upload/style/dnb-upload.scss +12 -2
  513. package/es/components/upload/types.d.ts +4 -0
  514. package/es/components/upload/types.js.map +1 -1
  515. package/es/elements/lists/style/lists-mixins.scss +1 -1
  516. package/es/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  517. package/es/extensions/forms/Connectors/Bring/address.js +169 -0
  518. package/es/extensions/forms/Connectors/Bring/address.js.map +1 -0
  519. package/es/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  520. package/es/extensions/forms/Connectors/Bring/index.js +3 -1
  521. package/es/extensions/forms/Connectors/Bring/index.js.map +1 -1
  522. package/es/extensions/forms/Connectors/Bring/postalCode.js +9 -1
  523. package/es/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  524. package/es/extensions/forms/Connectors/createContext.js +3 -0
  525. package/es/extensions/forms/Connectors/createContext.js.map +1 -1
  526. package/es/extensions/forms/Field/Address/Address.d.ts +3 -0
  527. package/es/extensions/forms/Field/Address/Address.js.map +1 -1
  528. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  529. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  530. package/es/extensions/forms/Field/Date/Date.js +5 -2
  531. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  532. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  533. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  534. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  535. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  536. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +0 -2
  537. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  538. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  539. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  540. package/es/extensions/forms/Field/Toggle/Toggle.js +37 -1
  541. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  542. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  543. package/es/extensions/forms/Field/Upload/Upload.js +26 -7
  544. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  545. package/es/extensions/forms/Field/style/field-sizes.scss +1 -1
  546. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  547. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  548. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  549. package/es/extensions/forms/Form/Card/Card.d.ts +3 -6
  550. package/es/extensions/forms/Form/Card/Card.js +1 -1
  551. package/es/extensions/forms/Form/Card/Card.js.map +1 -1
  552. package/es/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  553. package/es/extensions/forms/Form/Card/CardDocs.js +12 -10
  554. package/es/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  555. package/es/extensions/forms/Value/Date/Date.js +20 -5
  556. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  557. package/es/extensions/forms/Value/style/value-sizes.scss +2 -2
  558. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  559. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  560. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  561. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  562. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  563. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  564. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  565. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  566. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  567. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  568. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  569. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  570. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  571. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  572. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  573. package/es/extensions/forms/style/dnb-forms.css +4 -6
  574. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  575. package/es/extensions/payment-card/style/dnb-payment-card.css +1 -0
  576. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  577. package/es/fragments/drawer-list/DrawerList.d.ts +6 -3
  578. package/es/fragments/drawer-list/DrawerList.js +6 -5
  579. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  580. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -1
  581. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  582. package/es/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  583. package/es/fragments/drawer-list/DrawerListPortal.js +32 -66
  584. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  585. package/es/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  586. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  587. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  588. package/es/index.d.ts +3 -1
  589. package/es/index.js +3 -1
  590. package/es/index.js.map +1 -1
  591. package/es/shared/Eufemia.d.ts +2 -2
  592. package/es/shared/Eufemia.js +3 -3
  593. package/es/shared/Eufemia.js.map +1 -1
  594. package/es/shared/build-info/BuildInfo.cjs +22 -0
  595. package/es/shared/build-info/BuildInfo.d.ts +2 -0
  596. package/es/shared/build-info/BuildInfo.js +8 -0
  597. package/es/shared/build-info/BuildInfo.js.map +1 -0
  598. package/es/shared/build-info/BuildInfoData.cjs +2 -0
  599. package/es/shared/build-info/BuildInfoData.d.ts +2 -0
  600. package/es/shared/build-info/BuildInfoData.js +3 -0
  601. package/es/shared/build-info/BuildInfoData.js.map +1 -0
  602. package/es/shared/locales/en-GB.d.ts +3 -0
  603. package/es/shared/locales/en-GB.js +3 -0
  604. package/es/shared/locales/en-GB.js.map +1 -1
  605. package/es/shared/locales/en-US.d.ts +3 -0
  606. package/es/shared/locales/index.d.ts +6 -0
  607. package/es/shared/locales/nb-NO.d.ts +3 -0
  608. package/es/shared/locales/nb-NO.js +3 -0
  609. package/es/shared/locales/nb-NO.js.map +1 -1
  610. package/es/shared/locales/sv-SE.d.ts +3 -0
  611. package/es/shared/locales/sv-SE.js +3 -0
  612. package/es/shared/locales/sv-SE.js.map +1 -1
  613. package/es/style/core/scopes.scss +1 -1
  614. package/es/style/dnb-ui-basis.css +1 -1
  615. package/es/style/dnb-ui-basis.min.css +1 -1
  616. package/es/style/dnb-ui-body.css +1 -1
  617. package/es/style/dnb-ui-body.min.css +1 -1
  618. package/es/style/dnb-ui-components.css +27 -14
  619. package/es/style/dnb-ui-components.min.css +4 -4
  620. package/es/style/dnb-ui-core.css +1 -1
  621. package/es/style/dnb-ui-core.min.css +1 -1
  622. package/es/style/dnb-ui-elements.css +1 -1
  623. package/es/style/dnb-ui-elements.min.css +1 -1
  624. package/es/style/dnb-ui-extensions.css +5 -6
  625. package/es/style/dnb-ui-extensions.min.css +1 -1
  626. package/es/style/dnb-ui-forms.css +4 -6
  627. package/es/style/dnb-ui-forms.min.css +1 -1
  628. package/es/style/dnb-ui-fragments.css +1 -1
  629. package/es/style/dnb-ui-fragments.min.css +1 -1
  630. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  631. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  632. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +31 -20
  633. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  634. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  635. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  636. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -6
  637. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  638. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -6
  639. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  640. package/es/style/themes/theme-eiendom/properties.d.ts +2 -0
  641. package/es/style/themes/theme-eiendom/properties.js +3 -1
  642. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  643. package/es/style/themes/theme-sbanken/properties.d.ts +2 -0
  644. package/es/style/themes/theme-sbanken/properties.js +2 -0
  645. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  646. package/es/style/themes/theme-sbanken/properties.scss +3 -0
  647. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  648. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  649. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +44 -24
  650. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  651. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  652. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  653. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -6
  654. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  655. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -6
  656. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  657. package/es/style/themes/theme-ui/properties.d.ts +2 -0
  658. package/es/style/themes/theme-ui/properties.js +3 -1
  659. package/es/style/themes/theme-ui/properties.js.map +1 -1
  660. package/es/style/themes/theme-ui/properties.scss +3 -0
  661. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -1
  662. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  663. package/es/style/themes/theme-ui/ui-theme-components.css +31 -20
  664. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  665. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  666. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  667. package/es/style/themes/theme-ui/ui-theme-extensions.css +5 -6
  668. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  669. package/es/style/themes/theme-ui/ui-theme-forms.css +4 -6
  670. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  671. package/es/style/themes/theme-ui/ui-theme-properties.css +1 -0
  672. package/es/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  673. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  674. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  675. package/esm/dnb-ui-components.min.mjs +1 -1
  676. package/esm/dnb-ui-elements.min.mjs +1 -1
  677. package/esm/dnb-ui-extensions.min.mjs +3 -3
  678. package/esm/dnb-ui-lib.min.mjs +1 -1
  679. package/extensions/forms/Connectors/Bring/address.d.ts +48 -0
  680. package/extensions/forms/Connectors/Bring/address.js +170 -0
  681. package/extensions/forms/Connectors/Bring/address.js.map +1 -0
  682. package/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  683. package/extensions/forms/Connectors/Bring/index.js +2 -0
  684. package/extensions/forms/Connectors/Bring/index.js.map +1 -1
  685. package/extensions/forms/Connectors/Bring/postalCode.js +9 -1
  686. package/extensions/forms/Connectors/Bring/postalCode.js.map +1 -1
  687. package/extensions/forms/Connectors/createContext.js +3 -0
  688. package/extensions/forms/Connectors/createContext.js.map +1 -1
  689. package/extensions/forms/Field/Address/Address.d.ts +3 -0
  690. package/extensions/forms/Field/Address/Address.js.map +1 -1
  691. package/extensions/forms/Field/Boolean/BooleanDocs.js +1 -1
  692. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  693. package/extensions/forms/Field/Date/Date.js +5 -2
  694. package/extensions/forms/Field/Date/Date.js.map +1 -1
  695. package/extensions/forms/Field/Indeterminate/Indeterminate.js +3 -3
  696. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  697. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -6
  698. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  699. package/extensions/forms/Field/Selection/style/dnb-selection.css +0 -2
  700. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  701. package/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  702. package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  703. package/extensions/forms/Field/Toggle/Toggle.js +37 -1
  704. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  705. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  706. package/extensions/forms/Field/Upload/Upload.js +26 -7
  707. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  708. package/extensions/forms/Field/style/field-sizes.scss +1 -1
  709. package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  710. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  711. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -1
  712. package/extensions/forms/Form/Card/Card.d.ts +3 -6
  713. package/extensions/forms/Form/Card/Card.js +1 -1
  714. package/extensions/forms/Form/Card/Card.js.map +1 -1
  715. package/extensions/forms/Form/Card/CardDocs.d.ts +1 -0
  716. package/extensions/forms/Form/Card/CardDocs.js +12 -10
  717. package/extensions/forms/Form/Card/CardDocs.js.map +1 -1
  718. package/extensions/forms/Value/Date/Date.js +20 -5
  719. package/extensions/forms/Value/Date/Date.js.map +1 -1
  720. package/extensions/forms/Value/style/value-sizes.scss +2 -2
  721. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  722. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  723. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  724. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  725. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  726. package/extensions/forms/constants/locales/en-GB.js +2 -1
  727. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  728. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  729. package/extensions/forms/constants/locales/index.d.ts +2 -0
  730. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  731. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  732. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  733. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  734. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  735. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  736. package/extensions/forms/style/dnb-forms.css +4 -6
  737. package/extensions/forms/style/dnb-forms.min.css +1 -1
  738. package/extensions/payment-card/style/dnb-payment-card.css +1 -0
  739. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  740. package/fragments/drawer-list/DrawerList.d.ts +6 -3
  741. package/fragments/drawer-list/DrawerList.js +6 -5
  742. package/fragments/drawer-list/DrawerList.js.map +1 -1
  743. package/fragments/drawer-list/DrawerListHelpers.js +1 -1
  744. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  745. package/fragments/drawer-list/DrawerListPortal.d.ts +1 -0
  746. package/fragments/drawer-list/DrawerListPortal.js +32 -66
  747. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  748. package/fragments/drawer-list/DrawerListProvider.d.ts +1 -1
  749. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  750. package/fragments/drawer-list/style/dnb-drawer-list.scss +1 -1
  751. package/index.d.ts +3 -1
  752. package/index.js +3 -1
  753. package/index.js.map +1 -1
  754. package/package.json +1 -1
  755. package/shared/Eufemia.d.ts +2 -2
  756. package/shared/Eufemia.js +3 -3
  757. package/shared/Eufemia.js.map +1 -1
  758. package/shared/build-info/BuildInfo.cjs +22 -0
  759. package/shared/build-info/BuildInfo.d.ts +2 -0
  760. package/shared/build-info/BuildInfo.js +8 -0
  761. package/shared/build-info/BuildInfo.js.map +1 -0
  762. package/shared/build-info/BuildInfoData.cjs +2 -0
  763. package/shared/build-info/BuildInfoData.d.ts +2 -0
  764. package/shared/build-info/BuildInfoData.js +3 -0
  765. package/shared/build-info/BuildInfoData.js.map +1 -0
  766. package/shared/locales/en-GB.d.ts +3 -0
  767. package/shared/locales/en-GB.js +3 -0
  768. package/shared/locales/en-GB.js.map +1 -1
  769. package/shared/locales/en-US.d.ts +3 -0
  770. package/shared/locales/index.d.ts +6 -0
  771. package/shared/locales/nb-NO.d.ts +3 -0
  772. package/shared/locales/nb-NO.js +3 -0
  773. package/shared/locales/nb-NO.js.map +1 -1
  774. package/shared/locales/sv-SE.d.ts +3 -0
  775. package/shared/locales/sv-SE.js +3 -0
  776. package/shared/locales/sv-SE.js.map +1 -1
  777. package/style/core/scopes.scss +1 -1
  778. package/style/dnb-ui-basis.css +1 -1
  779. package/style/dnb-ui-basis.min.css +1 -1
  780. package/style/dnb-ui-body.css +1 -1
  781. package/style/dnb-ui-body.min.css +1 -1
  782. package/style/dnb-ui-components.css +27 -14
  783. package/style/dnb-ui-components.min.css +4 -4
  784. package/style/dnb-ui-core.css +1 -1
  785. package/style/dnb-ui-core.min.css +1 -1
  786. package/style/dnb-ui-elements.css +1 -1
  787. package/style/dnb-ui-elements.min.css +1 -1
  788. package/style/dnb-ui-extensions.css +5 -6
  789. package/style/dnb-ui-extensions.min.css +1 -1
  790. package/style/dnb-ui-forms.css +4 -6
  791. package/style/dnb-ui-forms.min.css +1 -1
  792. package/style/dnb-ui-fragments.css +1 -1
  793. package/style/dnb-ui-fragments.min.css +1 -1
  794. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -1
  795. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  796. package/style/themes/theme-eiendom/eiendom-theme-components.css +31 -20
  797. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  798. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  799. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  800. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -6
  801. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  802. package/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -6
  803. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  804. package/style/themes/theme-eiendom/properties.d.ts +2 -0
  805. package/style/themes/theme-eiendom/properties.js +3 -1
  806. package/style/themes/theme-eiendom/properties.js.map +1 -1
  807. package/style/themes/theme-sbanken/properties.d.ts +2 -0
  808. package/style/themes/theme-sbanken/properties.js +2 -0
  809. package/style/themes/theme-sbanken/properties.js.map +1 -1
  810. package/style/themes/theme-sbanken/properties.scss +3 -0
  811. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -1
  812. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  813. package/style/themes/theme-sbanken/sbanken-theme-components.css +44 -24
  814. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  815. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  816. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  817. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -6
  818. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  819. package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -6
  820. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  821. package/style/themes/theme-ui/properties.d.ts +2 -0
  822. package/style/themes/theme-ui/properties.js +3 -1
  823. package/style/themes/theme-ui/properties.js.map +1 -1
  824. package/style/themes/theme-ui/properties.scss +3 -0
  825. package/style/themes/theme-ui/ui-theme-basis.css +2 -1
  826. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  827. package/style/themes/theme-ui/ui-theme-components.css +31 -20
  828. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  829. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  830. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  831. package/style/themes/theme-ui/ui-theme-extensions.css +5 -6
  832. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  833. package/style/themes/theme-ui/ui-theme-forms.css +4 -6
  834. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  835. package/style/themes/theme-ui/ui-theme-properties.css +1 -0
  836. package/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  837. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  838. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  839. package/umd/dnb-ui-components.min.js +1 -1
  840. package/umd/dnb-ui-elements.min.js +1 -1
  841. package/umd/dnb-ui-extensions.min.js +3 -3
  842. package/umd/dnb-ui-lib.min.js +1 -1
  843. package/cjs/shared/BuildInfo.d.cts +0 -2
  844. package/cjs/shared/BuildInfo.js +0 -5
  845. package/cjs/shared/BuildInfo.js.map +0 -1
  846. package/es/shared/BuildInfo.cjs +0 -6
  847. package/es/shared/BuildInfo.d.cts +0 -2
  848. package/shared/BuildInfo.cjs +0 -6
  849. package/shared/BuildInfo.d.cts +0 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["className", "skeleton", "children", "variant", "onClick", "navText", "goBackText", "homeText", "backToText", "styleType", "collapsedStyleType", "isCollapsed", "spacing", "noAnimation", "data", "href"];
5
+ const _excluded = ["className", "skeleton", "children", "variant", "onClick", "navText", "goBackText", "homeText", "backToText", "styleType", "collapsedStyleType", "isCollapsed", "spacing", "noAnimation", "data", "href", "onToggle"];
6
6
  import React, { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { createSkeletonClass } from '../skeleton/SkeletonHelper';
@@ -47,7 +47,8 @@ const Breadcrumb = localProps => {
47
47
  spacing,
48
48
  noAnimation,
49
49
  data,
50
- href
50
+ href,
51
+ onToggle
51
52
  } = allProps,
52
53
  props = _objectWithoutProperties(allProps, _excluded);
53
54
  const skeletonClasses = createSkeletonClass('font', skeleton, context);
@@ -65,14 +66,18 @@ const Breadcrumb = localProps => {
65
66
  }, [overrideIsCollapsed]);
66
67
  useEffect(() => {
67
68
  if (isLarge && overrideIsCollapsed !== false) {
69
+ if (isCollapsedRef.current === false) {
70
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(true);
71
+ }
68
72
  isCollapsedRef.current = true;
69
73
  forceUpdate();
70
74
  }
71
- }, [isLarge, overrideIsCollapsed]);
75
+ }, [isLarge, overrideIsCollapsed, onToggle]);
72
76
  const onClickHandler = useCallback(() => {
73
77
  isCollapsedRef.current = !isCollapsedRef.current;
74
78
  forceUpdate();
75
- }, []);
79
+ onToggle === null || onToggle === void 0 ? void 0 : onToggle(isCollapsedRef.current);
80
+ }, [onToggle]);
76
81
  const currentVariant = useMemo(() => {
77
82
  if (!variant) {
78
83
  if (items || data) {
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","names":["React","useCallback","useEffect","useMemo","useReducer","useRef","classnames","createSkeletonClass","createSpacingClasses","Section","Button","Context","BreadcrumbItem","convertJsxToString","isTrue","validateDOMAttributes","extendPropsWithContext","BreadcrumbMultiple","useMedia","useTheme","defaultProps","skeleton","navText","goBackText","homeText","backToText","isCollapsed","styleType","collapsedStyleType","spacing","Breadcrumb","localProps","_context$translation","_useTheme","context","useContext","allProps","translation","className","children","items","variant","onClick","overrideIsCollapsed","noAnimation","data","href","props","_objectWithoutProperties","_excluded","skeletonClasses","spacingClasses","forceUpdate","isCollapsedRef","isLarge","current","onClickHandler","currentVariant","innerSpace","overrideSbankenSectionColor","isSbanken","createElement","_extends","style_type","text","icon","icon_position","Fragment","undefined","backgroundColor","Item","_supportsSpacingProps"],"sources":["../../../../src/components/breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Section, {\n SectionSpacing,\n SectionStyleTypes,\n SectionVariants,\n} from '../section/Section'\nimport Button from '../button/Button'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\nimport {\n convertJsxToString,\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { BreadcrumbMultiple } from './BreadcrumbMultiple'\nimport { useMedia, useTheme } from '../../shared'\n\nexport type BreadcrumbProps = {\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your pages as objects of breadcrumbitem to render them as breadcrumbitems.\n * Default: null\n */\n data?: Array<BreadcrumbItemProps>\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n\n /**\n * The variant of the component.\n * Default: When children and data is not defined, it defaults to \"single\". \"responsive\" if they are defined.\n */\n variant?: 'responsive' | 'single' | 'multiple' | 'collapse'\n\n /**\n * Handle the click event on 'single'/'collapse'\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * For variant 'single', use href (or onClick) to set href when clicking \"Back\"\n * Default: null\n */\n href?: string\n\n /**\n * Every <nav> on a page needs an unique aria-label text\n * Default: Page hierarchy\n */\n navText?: React.ReactNode\n\n /**\n * Add custom 'Back' text for variant 'single'\n * Default: 'Back' or defined by Context translation\n */\n goBackText?: React.ReactNode\n\n /**\n * Add custom 'Home' text\n * Default: 'Home' or defined by Context translation\n */\n homeText?: React.ReactNode\n\n /**\n * Add custom 'Back to...' text, for variant collapse\n * Default 'Back to...' or defined by Context translation\n */\n backToText?: React.ReactNode\n\n /**\n * If variant='collapse', you can override isCollapsed for the collapsed content by updating this value.\n * Default: null\n */\n isCollapsed?: boolean\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: transparent\n */\n styleType?: SectionStyleTypes\n\n /**\n * Use one of the Section component variants\n * Default: info\n */\n collapsedStyleType?: SectionVariants\n\n /**\n * Include spacing properties from the Section component in breadcrumb. If only `true` is given, the spacing will be `small`.\n * Default: false\n */\n spacing?: SectionSpacing\n\n /**\n * Will disable the height animation\n * Default: false\n */\n noAnimation?: boolean\n}\n\nexport const defaultProps = {\n skeleton: false,\n navText: 'Back',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n isCollapsed: true,\n styleType: 'transparent',\n collapsedStyleType: 'info',\n spacing: false,\n}\n\nconst Breadcrumb = (localProps: BreadcrumbProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Breadcrumb,\n context?.Breadcrumb,\n { skeleton: context?.skeleton }\n )\n\n const {\n className,\n skeleton,\n children: items,\n variant,\n onClick,\n navText, // has a translation in context\n goBackText, // has a translation in context\n homeText, // eslint-disable-line\n backToText, // has a translation in context\n styleType,\n collapsedStyleType,\n isCollapsed: overrideIsCollapsed,\n spacing,\n noAnimation,\n data,\n href,\n ...props\n } = allProps\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const isCollapsedRef = useRef(overrideIsCollapsed)\n\n const { isLarge } = useMedia()\n\n useEffect(() => {\n if (overrideIsCollapsed !== isCollapsedRef.current) {\n isCollapsedRef.current = overrideIsCollapsed\n forceUpdate()\n }\n }, [overrideIsCollapsed])\n\n // Auto-collapse breadcrumbs if going from small screen to large screen.\n useEffect(() => {\n if (isLarge && overrideIsCollapsed !== false) {\n isCollapsedRef.current = true\n forceUpdate()\n }\n }, [isLarge, overrideIsCollapsed])\n\n const onClickHandler = useCallback(() => {\n isCollapsedRef.current = !isCollapsedRef.current\n forceUpdate()\n }, [])\n\n const currentVariant = useMemo(() => {\n if (!variant) {\n if (items || data) {\n return 'responsive'\n } else {\n return 'single'\n }\n }\n\n return variant\n }, [data, items, variant])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpace = isTrue(spacing) ? 'small' : spacing\n\n const overrideSbankenSectionColor =\n useTheme()?.isSbanken && collapsedStyleType === 'info'\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n `dnb-breadcrumb--variant-${currentVariant}`,\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n innerSpace={innerSpace}\n >\n {currentVariant === 'single' ? (\n <Button\n text={goBackText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick}\n href={href}\n />\n ) : (\n <>\n {currentVariant !== 'multiple' && (\n <Button\n className=\"dnb-breadcrumb__toggle\"\n text={backToText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick ?? onClickHandler}\n aria-expanded={!isCollapsedRef.current}\n />\n )}\n\n {currentVariant !== 'collapse' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </>\n )}\n </Section>\n\n {(currentVariant === 'collapse' ||\n currentVariant === 'responsive') && (\n <Section\n variant={\n overrideSbankenSectionColor ? undefined : collapsedStyleType\n }\n className=\"dnb-breadcrumb__collapse\"\n backgroundColor={\n overrideSbankenSectionColor\n ? 'var(--sb-color-gray-light-2)'\n : undefined\n }\n >\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={isCollapsedRef.current}\n noAnimation={noAnimation}\n />\n </Section>\n )}\n </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\nBreadcrumb._supportsSpacingProps = true\n\nexport { BreadcrumbItem }\nexport default Breadcrumb\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Breadcrumb.js","names":["React","useCallback","useEffect","useMemo","useReducer","useRef","classnames","createSkeletonClass","createSpacingClasses","Section","Button","Context","BreadcrumbItem","convertJsxToString","isTrue","validateDOMAttributes","extendPropsWithContext","BreadcrumbMultiple","useMedia","useTheme","defaultProps","skeleton","navText","goBackText","homeText","backToText","isCollapsed","styleType","collapsedStyleType","spacing","Breadcrumb","localProps","_context$translation","_useTheme","context","useContext","allProps","translation","className","children","items","variant","onClick","overrideIsCollapsed","noAnimation","data","href","onToggle","props","_objectWithoutProperties","_excluded","skeletonClasses","spacingClasses","forceUpdate","isCollapsedRef","isLarge","current","onClickHandler","currentVariant","innerSpace","overrideSbankenSectionColor","isSbanken","createElement","_extends","style_type","text","icon","icon_position","Fragment","undefined","backgroundColor","Item","_supportsSpacingProps"],"sources":["../../../../src/components/breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Section, {\n SectionSpacing,\n SectionStyleTypes,\n SectionVariants,\n} from '../section/Section'\nimport Button from '../button/Button'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\nimport {\n convertJsxToString,\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { BreadcrumbMultiple } from './BreadcrumbMultiple'\nimport { useMedia, useTheme } from '../../shared'\n\nexport type BreadcrumbProps = {\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your pages as objects of breadcrumbitem to render them as breadcrumbitems.\n * Default: null\n */\n data?: Array<BreadcrumbItemProps>\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n\n /**\n * The variant of the component.\n * Default: When children and data is not defined, it defaults to \"single\". \"responsive\" if they are defined.\n */\n variant?: 'responsive' | 'single' | 'multiple' | 'collapse'\n\n /**\n * Handle the click event on 'single'/'collapse'\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * For variant 'single', use href (or onClick) to set href when clicking \"Back\"\n * Default: null\n */\n href?: string\n\n /**\n * Every <nav> on a page needs an unique aria-label text\n * Default: Page hierarchy\n */\n navText?: React.ReactNode\n\n /**\n * Add custom 'Back' text for variant 'single'\n * Default: 'Back' or defined by Context translation\n */\n goBackText?: React.ReactNode\n\n /**\n * Add custom 'Home' text\n * Default: 'Home' or defined by Context translation\n */\n homeText?: React.ReactNode\n\n /**\n * Add custom 'Back to...' text, for variant collapse\n * Default 'Back to...' or defined by Context translation\n */\n backToText?: React.ReactNode\n\n /**\n * If variant='collapse', you can override isCollapsed for the collapsed content by updating this value.\n * Default: null\n */\n isCollapsed?: boolean\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: transparent\n */\n styleType?: SectionStyleTypes\n\n /**\n * Use one of the Section component variants\n * Default: info\n */\n collapsedStyleType?: SectionVariants\n\n /**\n * Include spacing properties from the Section component in breadcrumb. If only `true` is given, the spacing will be `small`.\n * Default: false\n */\n spacing?: SectionSpacing\n\n /**\n * Will disable the height animation\n * Default: false\n */\n noAnimation?: boolean\n /**\n * Will be called when breadcrumb expands or collapses.\n */\n onToggle?: (isCollapsed: boolean) => void\n}\n\nexport const defaultProps = {\n skeleton: false,\n navText: 'Back',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n isCollapsed: true,\n styleType: 'transparent',\n collapsedStyleType: 'info',\n spacing: false,\n}\n\nconst Breadcrumb = (localProps: BreadcrumbProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Breadcrumb,\n context?.Breadcrumb,\n { skeleton: context?.skeleton }\n )\n\n const {\n className,\n skeleton,\n children: items,\n variant,\n onClick,\n navText, // has a translation in context\n goBackText, // has a translation in context\n homeText, // eslint-disable-line\n backToText, // has a translation in context\n styleType,\n collapsedStyleType,\n isCollapsed: overrideIsCollapsed,\n spacing,\n noAnimation,\n data,\n href,\n onToggle,\n ...props\n } = allProps\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const isCollapsedRef = useRef(overrideIsCollapsed)\n\n const { isLarge } = useMedia()\n\n useEffect(() => {\n if (overrideIsCollapsed !== isCollapsedRef.current) {\n isCollapsedRef.current = overrideIsCollapsed\n forceUpdate()\n }\n }, [overrideIsCollapsed])\n\n // Auto-collapse breadcrumbs if going from small screen to large screen.\n useEffect(() => {\n if (isLarge && overrideIsCollapsed !== false) {\n // Call onToggle if breadcrumbs is expanded and is going to collapse due to large screen size.\n if (isCollapsedRef.current === false) {\n onToggle?.(true)\n }\n\n isCollapsedRef.current = true\n\n forceUpdate()\n }\n }, [isLarge, overrideIsCollapsed, onToggle])\n\n const onClickHandler = useCallback(() => {\n isCollapsedRef.current = !isCollapsedRef.current\n forceUpdate()\n\n onToggle?.(isCollapsedRef.current)\n }, [onToggle])\n\n const currentVariant = useMemo(() => {\n if (!variant) {\n if (items || data) {\n return 'responsive'\n } else {\n return 'single'\n }\n }\n\n return variant\n }, [data, items, variant])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpace = isTrue(spacing) ? 'small' : spacing\n\n const overrideSbankenSectionColor =\n useTheme()?.isSbanken && collapsedStyleType === 'info'\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n `dnb-breadcrumb--variant-${currentVariant}`,\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n innerSpace={innerSpace}\n >\n {currentVariant === 'single' ? (\n <Button\n text={goBackText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick}\n href={href}\n />\n ) : (\n <>\n {currentVariant !== 'multiple' && (\n <Button\n className=\"dnb-breadcrumb__toggle\"\n text={backToText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick ?? onClickHandler}\n aria-expanded={!isCollapsedRef.current}\n />\n )}\n\n {currentVariant !== 'collapse' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </>\n )}\n </Section>\n\n {(currentVariant === 'collapse' ||\n currentVariant === 'responsive') && (\n <Section\n variant={\n overrideSbankenSectionColor ? undefined : collapsedStyleType\n }\n className=\"dnb-breadcrumb__collapse\"\n backgroundColor={\n overrideSbankenSectionColor\n ? 'var(--sb-color-gray-light-2)'\n : undefined\n }\n >\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={isCollapsedRef.current}\n noAnimation={noAnimation}\n />\n </Section>\n )}\n </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\nBreadcrumb._supportsSpacingProps = true\n\nexport { BreadcrumbItem }\nexport default Breadcrumb\n"],"mappings":"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","ignoreList":[]}
@@ -80,6 +80,11 @@ export const BreadcrumbEvents = {
80
80
  doc: 'will be called by user click interaction, to handle click event on "Back" for variant `single` and "Back to..." for variant `collapse`.',
81
81
  type: 'function',
82
82
  status: 'optional'
83
+ },
84
+ onToggle: {
85
+ doc: 'Will be called when breadcrumb expands or collapses.',
86
+ type: 'function',
87
+ status: 'optional'
83
88
  }
84
89
  };
85
90
  export const BreadcrumbItemProperties = {
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbDocs.js","names":["BreadcrumbProperties","data","doc","type","status","children","variant","href","navText","goBackText","homeText","backToText","styleType","collapsedStyleType","className","isCollapsed","spacing","skeleton","BreadcrumbEvents","onClick","BreadcrumbItemProperties","text","icon","BreadcrumbItemEvents"],"sources":["../../../../src/components/breadcrumb/BreadcrumbDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const BreadcrumbProperties: PropertiesTableProps = {\n data: {\n doc: 'List of pages to render as breadcrumbitems. Each object in data can include all properties from [BreadcrumbItem properties](/uilib/components/breadcrumb/properties#breadcrumbitem-properties).',\n type: 'Array<BreadcrumbItemProps>',\n status: 'optional',\n },\n children: {\n doc: 'Content of the component. Can be used instead of property `data`, by adding Breadcrumbitem children `<Breadcrumb.Item {...props} />`.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n variant: {\n doc: \"Defaults to 'responsive' or 'single' depending on content. Options: `responsive` | `single` | `multiple` | `collapse` .\",\n type: ['responsive', 'single', 'multiple', 'collapse'],\n status: 'optional',\n },\n href: {\n doc: 'For variant `single`, set `href` for button click. Can be used instead of event/property `onClick`.',\n type: 'string',\n status: 'optional',\n },\n navText: {\n doc: 'Every `<nav>` on a page needs an unique aria-label text.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n goBackText: {\n doc: \"Override with a custom 'Back' text for variant `single` (Not recommended).\",\n type: 'React.ReactNode',\n status: 'optional',\n },\n homeText: {\n doc: \"Override with a custom 'Home' text (Not recommended)\",\n type: 'React.ReactNode',\n status: 'optional',\n },\n backToText: {\n doc: \"Override with a custom 'Back to...' text (Not recommended).\",\n type: 'React.ReactNode',\n status: 'optional',\n },\n styleType: {\n doc: 'Use one of the Section component style types (style_type). Defaults to `transparent`.',\n type: 'Various',\n status: 'optional',\n },\n collapsedStyleType: {\n doc: 'Use one of the Section component variants. Defaults to `info`.',\n type: ['error', 'info', 'warning', 'success'],\n status: 'optional',\n },\n className: {\n doc: 'Custom className for the component root.',\n type: 'string',\n status: 'optional',\n },\n isCollapsed: {\n doc: 'For variant `collapse`, override isCollapsed for the collapsed content by updating this value using the provided property `onClick`.',\n type: 'boolean',\n status: 'optional',\n },\n spacing: {\n doc: 'Include spacing properties from [Section](/uilib/components/section/properties) in breadcrumb. If only `true` is given, the spacing will be `small`. Defaults to `false`.',\n type: 'Various',\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 '[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\nexport const BreadcrumbEvents: PropertiesTableProps = {\n onClick: {\n doc: 'will be called by user click interaction, to handle click event on \"Back\" for variant `single` and \"Back to...\" for variant `collapse`.',\n type: 'function',\n status: 'optional',\n },\n}\n\nexport const BreadcrumbItemProperties: PropertiesTableProps = {\n text: {\n doc: 'Text displaying inside Breadcrumb item.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n variant: {\n doc: 'The component variant. Options: `home` | `previous` | `current`.',\n type: ['home', 'previous', 'current'],\n status: 'optional',\n },\n icon: {\n doc: 'Override icon displaying on the left side (Not recommended). Default: `chevron_left`.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n href: {\n doc: 'Set what happens when the user clicks on the item. Also see `onClick` event.',\n type: 'string',\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}\n\nexport const BreadcrumbItemEvents: PropertiesTableProps = {\n onClick: {\n doc: 'will be called by user click interaction.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BreadcrumbDocs.js","names":["BreadcrumbProperties","data","doc","type","status","children","variant","href","navText","goBackText","homeText","backToText","styleType","collapsedStyleType","className","isCollapsed","spacing","skeleton","BreadcrumbEvents","onClick","onToggle","BreadcrumbItemProperties","text","icon","BreadcrumbItemEvents"],"sources":["../../../../src/components/breadcrumb/BreadcrumbDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const BreadcrumbProperties: PropertiesTableProps = {\n data: {\n doc: 'List of pages to render as breadcrumbitems. Each object in data can include all properties from [BreadcrumbItem properties](/uilib/components/breadcrumb/properties#breadcrumbitem-properties).',\n type: 'Array<BreadcrumbItemProps>',\n status: 'optional',\n },\n children: {\n doc: 'Content of the component. Can be used instead of property `data`, by adding Breadcrumbitem children `<Breadcrumb.Item {...props} />`.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n variant: {\n doc: \"Defaults to 'responsive' or 'single' depending on content. Options: `responsive` | `single` | `multiple` | `collapse` .\",\n type: ['responsive', 'single', 'multiple', 'collapse'],\n status: 'optional',\n },\n href: {\n doc: 'For variant `single`, set `href` for button click. Can be used instead of event/property `onClick`.',\n type: 'string',\n status: 'optional',\n },\n navText: {\n doc: 'Every `<nav>` on a page needs an unique aria-label text.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n goBackText: {\n doc: \"Override with a custom 'Back' text for variant `single` (Not recommended).\",\n type: 'React.ReactNode',\n status: 'optional',\n },\n homeText: {\n doc: \"Override with a custom 'Home' text (Not recommended)\",\n type: 'React.ReactNode',\n status: 'optional',\n },\n backToText: {\n doc: \"Override with a custom 'Back to...' text (Not recommended).\",\n type: 'React.ReactNode',\n status: 'optional',\n },\n styleType: {\n doc: 'Use one of the Section component style types (style_type). Defaults to `transparent`.',\n type: 'Various',\n status: 'optional',\n },\n collapsedStyleType: {\n doc: 'Use one of the Section component variants. Defaults to `info`.',\n type: ['error', 'info', 'warning', 'success'],\n status: 'optional',\n },\n className: {\n doc: 'Custom className for the component root.',\n type: 'string',\n status: 'optional',\n },\n isCollapsed: {\n doc: 'For variant `collapse`, override isCollapsed for the collapsed content by updating this value using the provided property `onClick`.',\n type: 'boolean',\n status: 'optional',\n },\n spacing: {\n doc: 'Include spacing properties from [Section](/uilib/components/section/properties) in breadcrumb. If only `true` is given, the spacing will be `small`. Defaults to `false`.',\n type: 'Various',\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 '[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\nexport const BreadcrumbEvents: PropertiesTableProps = {\n onClick: {\n doc: 'will be called by user click interaction, to handle click event on \"Back\" for variant `single` and \"Back to...\" for variant `collapse`.',\n type: 'function',\n status: 'optional',\n },\n onToggle: {\n doc: 'Will be called when breadcrumb expands or collapses.',\n type: 'function',\n status: 'optional',\n },\n}\n\nexport const BreadcrumbItemProperties: PropertiesTableProps = {\n text: {\n doc: 'Text displaying inside Breadcrumb item.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n variant: {\n doc: 'The component variant. Options: `home` | `previous` | `current`.',\n type: ['home', 'previous', 'current'],\n status: 'optional',\n },\n icon: {\n doc: 'Override icon displaying on the left side (Not recommended). Default: `chevron_left`.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n href: {\n doc: 'Set what happens when the user clicks on the item. Also see `onClick` event.',\n type: 'string',\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}\n\nexport const BreadcrumbItemEvents: PropertiesTableProps = {\n onClick: {\n doc: 'will be called by user click interaction.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,5 +22,9 @@ export type Props = {
22
22
  declare function Card(props: Props): import("react/jsx-runtime").JSX.Element;
23
23
  declare namespace Card {
24
24
  var _supportsSpacingProps: boolean;
25
+ var Provider: ({ disableCardBreakout, children, }: {
26
+ disableCardBreakout?: boolean;
27
+ children: React.ReactNode;
28
+ }) => import("react/jsx-runtime").JSX.Element;
25
29
  }
26
30
  export default Card;
@@ -73,10 +73,8 @@ function Card(props) {
73
73
  return React.createElement(Flex.Item, _extends({
74
74
  alignSelf: alignSelf,
75
75
  element: "section"
76
- }, params), React.createElement(CardContext.Provider, {
77
- value: {
78
- isNested: true
79
- }
76
+ }, params), React.createElement(Card.Provider, {
77
+ disableCardBreakout: true
80
78
  }, React.createElement(Flex.Container, {
81
79
  direction: direction !== null && direction !== void 0 ? direction : 'vertical',
82
80
  divider: divider,
@@ -91,5 +89,15 @@ function Card(props) {
91
89
  }, title), children)));
92
90
  }
93
91
  Card._supportsSpacingProps = true;
92
+ Card.Provider = function CardProvider({
93
+ disableCardBreakout,
94
+ children
95
+ }) {
96
+ const context = useContext(CardContext) || {};
97
+ context.isNested = disableCardBreakout !== null && disableCardBreakout !== void 0 ? disableCardBreakout : context === null || context === void 0 ? void 0 : context.isNested;
98
+ return React.createElement(CardContext.Provider, {
99
+ value: context
100
+ }, children);
101
+ };
94
102
  export default Card;
95
103
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","useContext","classnames","Flex","SectionParams","combineLabelledBy","CardContext","Space","useId","Card","props","_ref","nestedContext","className","stack","direction","gap","spacing","innerSpace","alignSelf","align","divider","rowGap","responsive","isNested","filled","outset","title","children","rest","_objectWithoutProperties","_excluded","titleId","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","breakout","roundedCorner","outline","createElement","Item","_extends","element","Provider","value","Container","wrap","id","_supportsSpacingProps"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams, SectionProps } from '../section/Section'\nimport { combineLabelledBy } from '../../shared/component-helper'\nimport CardContext from './CardContext'\nimport Space from '../Space'\nimport useId from '../../shared/helpers/useId'\n\nimport type { BasicProps as FlexContainerProps } from '../flex/Container'\nimport type { BasicProps as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\nimport type { SpaceProps } from '../Space'\n\nexport type Props = {\n /**\n * Define a title that appears on top of the Card\n */\n title?: React.ReactNode\n\n /**\n * Define if the Card should behave responsive. Defaults to `true`\n */\n responsive?: boolean\n\n /**\n * Define if the Card should get the same background color as the outline border\n */\n filled?: boolean\n} & FlexContainerProps &\n Pick<SectionProps, 'outset'> &\n FlexItemProps & {\n stack?: boolean\n } & SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size' | 'title'>\n\nfunction Card(props: Props) {\n const nestedContext = useContext(CardContext)\n\n const {\n className,\n stack,\n direction,\n gap,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n align,\n divider = 'space',\n rowGap,\n responsive = !nestedContext?.isNested,\n filled,\n outset,\n title,\n children,\n ...rest\n } = props\n\n const titleId = useId()\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = responsive\n ? {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n : basisSpace\n\n const params = SectionParams({\n className: classnames(\n 'dnb-card',\n className,\n responsive && 'dnb-card--responsive',\n filled && 'dnb-card--filled'\n ),\n breakout: responsive ? trueWhenSmall : false,\n outset: nestedContext?.isNested\n ? false\n : outset === true\n ? falseWhenSmall\n : outset,\n roundedCorner: responsive ? falseWhenSmall : true,\n outline: 'var(--outline-card-color)',\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n ...(rest as SectionProps),\n 'aria-labelledby': combineLabelledBy(rest, title && titleId),\n })\n\n return (\n <Flex.Item alignSelf={alignSelf} element=\"section\" {...params}>\n <CardContext.Provider value={{ isNested: true }}>\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n alignSelf={alignSelf}\n align={stack ? 'stretch' : align}\n wrap={!stack}\n gap={gap ?? spacing ?? (stack ? 'medium' : false)}\n rowGap={rowGap}\n >\n {title && (\n <Space id={titleId} className=\"dnb-card__title\">\n {title}\n </Space>\n )}\n {children}\n </Flex.Container>\n </CardContext.Provider>\n </Flex.Item>\n )\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Card.js","names":["React","useContext","classnames","Flex","SectionParams","combineLabelledBy","CardContext","Space","useId","Card","props","_ref","nestedContext","className","stack","direction","gap","spacing","innerSpace","alignSelf","align","divider","rowGap","responsive","isNested","filled","outset","title","children","rest","_objectWithoutProperties","_excluded","titleId","falseWhenSmall","small","medium","large","trueWhenSmall","basisSpace","top","right","bottom","left","smallSpace","_objectSpread","params","breakout","roundedCorner","outline","createElement","Item","_extends","element","Provider","disableCardBreakout","Container","wrap","id","_supportsSpacingProps","CardProvider","context","value"],"sources":["../../../../src/components/card/Card.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport Flex from '../flex/Flex'\nimport { SectionParams, SectionProps } from '../section/Section'\nimport { combineLabelledBy } from '../../shared/component-helper'\nimport CardContext from './CardContext'\nimport Space from '../Space'\nimport useId from '../../shared/helpers/useId'\n\nimport type { BasicProps as FlexContainerProps } from '../flex/Container'\nimport type { BasicProps as FlexItemProps } from '../flex/Item'\nimport type { SpaceTypeMedia } from '../../shared/types'\nimport type { SpaceProps } from '../Space'\n\nexport type Props = {\n /**\n * Define a title that appears on top of the Card\n */\n title?: React.ReactNode\n\n /**\n * Define if the Card should behave responsive. Defaults to `true`\n */\n responsive?: boolean\n\n /**\n * Define if the Card should get the same background color as the outline border\n */\n filled?: boolean\n} & FlexContainerProps &\n Pick<SectionProps, 'outset'> &\n FlexItemProps & {\n stack?: boolean\n } & SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap' | 'size' | 'title'>\n\nfunction Card(props: Props) {\n const nestedContext = useContext(CardContext)\n\n const {\n className,\n stack,\n direction,\n gap,\n spacing,\n innerSpace,\n alignSelf = 'stretch',\n align,\n divider = 'space',\n rowGap,\n responsive = !nestedContext?.isNested,\n filled,\n outset,\n title,\n children,\n ...rest\n } = props\n\n const titleId = useId()\n const falseWhenSmall = { small: false, medium: true, large: true }\n const trueWhenSmall = { small: true, medium: false, large: false }\n const basisSpace = {\n top: 'medium',\n right: 'medium',\n bottom: 'large',\n left: 'medium',\n }\n const smallSpace = responsive\n ? {\n ...basisSpace,\n right: 0,\n left: 0,\n }\n : basisSpace\n\n const params = SectionParams({\n className: classnames(\n 'dnb-card',\n className,\n responsive && 'dnb-card--responsive',\n filled && 'dnb-card--filled'\n ),\n breakout: responsive ? trueWhenSmall : false,\n outset: nestedContext?.isNested\n ? false\n : outset === true\n ? falseWhenSmall\n : outset,\n roundedCorner: responsive ? falseWhenSmall : true,\n outline: 'var(--outline-card-color)',\n innerSpace:\n innerSpace ??\n ({\n small: smallSpace,\n medium: basisSpace,\n large: basisSpace,\n } as SpaceTypeMedia),\n ...(rest as SectionProps),\n 'aria-labelledby': combineLabelledBy(rest, title && titleId),\n })\n\n return (\n <Flex.Item alignSelf={alignSelf} element=\"section\" {...params}>\n <Card.Provider disableCardBreakout>\n <Flex.Container\n direction={direction ?? 'vertical'}\n divider={divider}\n alignSelf={alignSelf}\n align={stack ? 'stretch' : align}\n wrap={!stack}\n gap={gap ?? spacing ?? (stack ? 'medium' : false)}\n rowGap={rowGap}\n >\n {title && (\n <Space id={titleId} className=\"dnb-card__title\">\n {title}\n </Space>\n )}\n {children}\n </Flex.Container>\n </Card.Provider>\n </Flex.Item>\n )\n}\n\nCard._supportsSpacingProps = true\n\n/**\n * Provides the default context for the Card component's children.\n * Can be used to tell children to act as if they are in a Card, even if they are not.\n */\nCard.Provider = function CardProvider({\n /**\n * Defines if Card components should act as if it is nested inside another Card.\n * Used to control side-margins outset behaviour.\n *\n * Defaults to existing context value.\n */\n disableCardBreakout,\n children,\n}: {\n disableCardBreakout?: boolean\n children: React.ReactNode\n}) {\n const context = useContext(CardContext) || {}\n\n context.isNested = disableCardBreakout ?? context?.isNested\n\n return (\n <CardContext.Provider value={context}>{children}</CardContext.Provider>\n )\n}\n\nexport default Card\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ export const CardProperties = {
5
5
  status: 'optional'
6
6
  },
7
7
  stack: {
8
- doc: 'True to stack the sub components with lines between. The `spacing` will default to `medium`.',
8
+ doc: 'True to stack the sub components with space between. The `spacing` will default to `medium`. Defaults to `false`.',
9
9
  type: 'boolean',
10
10
  status: 'optional'
11
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CardDocs.js","names":["CardProperties","outset","doc","type","status","stack","direction","alignSelf","title","responsive","filled","element","children"],"sources":["../../../../src/components/card/CardDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const CardProperties: PropertiesTableProps = {\n outset: {\n doc: 'Whether or not to break out (using negative margins) on larger screens. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stack: {\n doc: 'True to stack the sub components with lines between. The `spacing` will default to `medium`.',\n type: 'boolean',\n status: 'optional',\n },\n direction: {\n doc: 'Defaults to `vertical`.',\n type: 'string',\n status: 'optional',\n },\n alignSelf: {\n doc: 'Defaults to `stretch`.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'Define a title that appears on top of the Card.',\n type: 'React.Node',\n status: 'optional',\n },\n responsive: {\n doc: 'Define if the card should behave responsive. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n filled: {\n doc: 'Define if the Card should get the same background color as the outline border.',\n type: 'boolean',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `section`.',\n type: 'React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container/properties)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Flex.Item](/uilib/layout/flex/item/properties)': {\n doc: 'Flex.Item properties.',\n type: 'Various',\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":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,MAAM,EAAE;IACNC,GAAG,EAAE,8FAA8F;IACnGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,8FAA8F;IACnGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,wBAAwB;IAC7BC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDK,UAAU,EAAE;IACVP,GAAG,EAAE,kEAAkE;IACvEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,MAAM,EAAE;IACNR,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,OAAO,EAAE;IACPT,GAAG,EAAE,oDAAoD;IACzDC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,2DAA2D,EAAE;IAC3DF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,iDAAiD,EAAE;IACjDF,GAAG,EAAE,uBAAuB;IAC5BC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"CardDocs.js","names":["CardProperties","outset","doc","type","status","stack","direction","alignSelf","title","responsive","filled","element","children"],"sources":["../../../../src/components/card/CardDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const CardProperties: PropertiesTableProps = {\n outset: {\n doc: 'Whether or not to break out (using negative margins) on larger screens. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stack: {\n doc: 'True to stack the sub components with space between. The `spacing` will default to `medium`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n direction: {\n doc: 'Defaults to `vertical`.',\n type: 'string',\n status: 'optional',\n },\n alignSelf: {\n doc: 'Defaults to `stretch`.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'Define a title that appears on top of the Card.',\n type: 'React.Node',\n status: 'optional',\n },\n responsive: {\n doc: 'Define if the card should behave responsive. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n filled: {\n doc: 'Define if the Card should get the same background color as the outline border.',\n type: 'boolean',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `section`.',\n type: 'React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container/properties)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Flex.Item](/uilib/layout/flex/item/properties)': {\n doc: 'Flex.Item properties.',\n type: 'Various',\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":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,MAAM,EAAE;IACNC,GAAG,EAAE,8FAA8F;IACnGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,mHAAmH;IACxHC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,wBAAwB;IAC7BC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDK,UAAU,EAAE;IACVP,GAAG,EAAE,kEAAkE;IACvEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,MAAM,EAAE;IACNR,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,OAAO,EAAE;IACPT,GAAG,EAAE,oDAAoD;IACzDC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,2DAA2D,EAAE;IAC3DF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,iDAAiD,EAAE;IACjDF,GAAG,EAAE,uBAAuB;IAC5BC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","validateDOMAttributes","getStatusState","combineDescribedBy","extendPropsWithContext","keycode","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","useId","pickFormElementProps","convertSnakeCaseProps","FormLabel","FormStatus","CheckIcon","defaultProps","statusState","Checkbox","localProps","context","extractPropsFromContext","skeleton","FormRow","formElement","props","value","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","className","id","idProp","indeterminate","checked","onChange","onClick","innerRef","rest","_objectWithoutProperties","_excluded","forceUpdate","isFn","refHook","ref","current","preventChangeRef","isCheckedRef","prevCheckedRef","callOnChange","args","handleChange","event","updatedCheck","focus","onChangeHandler","onClickHandler","preventDefault","target","_objectSpread","onKeyDownHandler","showStatus","handleInputAttributes","inputParams","mainParams","statusComp","createElement","_extends","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","_AlignmentHelper","name","type","onKeyDown","_span","_span2"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\nexport type OnClickParams = React.MouseEvent<HTMLInputElement> & {\n checked: boolean\n event: React.MouseEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * Determine whether to show the indeterminate checked state when checked. The default is `false`.\n */\n indeterminate?: boolean\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * 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 */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * Will be called on click made by the user. Returns the ClickEvent.\n */\n onClick?: (args: OnClickParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange' | 'onClick'\n > &\n DeprecatedCheckboxProps\n\n// deprecated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onChange` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const extractPropsFromContext = useCallback(() => {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }, [\n context.Checkbox,\n context?.FormRow,\n context?.formElement,\n localProps,\n ])\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n indeterminate,\n checked,\n onChange,\n onClick,\n innerRef,\n ...rest\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const preventChangeRef = useRef(false)\n const isCheckedRef = useRef(checked ?? false)\n const prevCheckedRef = useRef(checked)\n\n useEffect(() => {\n if (checked !== prevCheckedRef.current) {\n isCheckedRef.current = !!checked\n prevCheckedRef.current = !!checked\n forceUpdate()\n }\n }, [checked])\n\n useEffect(() => {\n ref.current.indeterminate = indeterminate\n }, [indeterminate, ref])\n\n const callOnChange: CheckboxProps['onChange'] = useCallback(\n (args) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const handleChange = useCallback(\n (event: OnChangeParams['event']) => {\n if (preventChangeRef.current) {\n return // stop here\n }\n preventChangeRef.current = false\n const updatedCheck = !isCheckedRef.current\n\n isCheckedRef.current = updatedCheck\n forceUpdate()\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, ref]\n )\n\n const onChangeHandler = useCallback(\n (event: OnChangeParams['event']) => {\n handleChange(event)\n },\n [handleChange]\n )\n\n const onClickHandler: React.MouseEventHandler<HTMLInputElement> =\n useCallback(\n (event) => {\n const preventDefault = () => {\n event.preventDefault()\n\n // if (event.target['checked'] !== isChecked) {\n if (event.target['checked'] !== isCheckedRef.current) {\n preventChangeRef.current = true\n isCheckedRef.current = !isCheckedRef.current\n forceUpdate()\n }\n }\n\n if (readOnly) {\n return preventDefault()\n }\n\n onClick?.({\n checked: isCheckedRef.current,\n preventDefault,\n event,\n ...event,\n })\n },\n [onClick, readOnly]\n )\n\n const onKeyDownHandler = useCallback(\n (event: KeyboardEvent & OnChangeParams['event']) => {\n switch (keycode(event)) {\n case 'enter':\n handleChange(event)\n break\n }\n },\n [handleChange]\n )\n\n const showStatus = getStatusState(status)\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n const handleInputAttributes = useCallback(() => {\n const inputParams = {\n disabled,\n checked: isCheckedRef.current,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }, [\n context,\n disabled,\n id,\n props,\n readOnly,\n rest,\n showStatus,\n skeleton,\n suffix,\n ])\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n ),\n }\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isCheckedRef.current ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onClick={onClickHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <span className=\"dnb-checkbox__indeterminate\" />\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n}\n\nexport default Checkbox\n"],"mappings":";;;;;;;;;AAIA,OAAOA,KAAK,IACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,MAAM,QACD,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,sBAAsB,EACtBC,OAAO,QACF,+BAA+B;AACtC,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,4BAA4B;AACnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,6BAA6B;AAChD,OAAOC,KAAK,MAAM,4BAA4B;AAE9C,SAASC,oBAAoB,QAAQ,uCAAuC;AAC5E,SAASC,qBAAqB,QAAQ,yCAAyC;AAU/E,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,UAAU,MAAM,2BAA2B;AAClD,OAAOC,SAAS,MAAM,aAAa;AA8GnC,MAAMC,YAA2B,GAAG;EAClCC,WAAW,EAAE;AACf,CAAC;AAED,SAASC,QAAQA,CAACC,UAAyB,EAAE;EAC3C,MAAMC,OAAO,GAAG1B,UAAU,CAACc,OAAO,CAAC;EAEnC,MAAMa,uBAAuB,GAAG5B,WAAW,CAAC,MAAM;IAChD,OAAOS,sBAAsB,CAC3BU,qBAAqB,CAACO,UAAU,CAAC,EACjCH,YAAY,EACZI,OAAO,CAACF,QAAQ,EAChB;MACEI,QAAQ,EAAEF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF;IACrB,CAAC,EAEDP,oBAAoB,CAACS,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,OAAO,CAAC,EACtCZ,oBAAoB,CAACS,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,WAAW,CAC3C,CAAC;EACH,CAAC,EAAE,CACDJ,OAAO,CAACF,QAAQ,EAChBE,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,OAAO,EAChBH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,WAAW,EACpBL,UAAU,CACX,CAAC;EAEF,MAAMM,KAAK,GAAGJ,uBAAuB,CAAC,CAAC;EAEvC,MAAM;MACJK,KAAK;MACLC,MAAM;MACNV,WAAW;MACXW,WAAW;MACXC,iBAAiB;MACjBC,YAAY;MACZC,MAAM;MACNC,IAAI;MACJC,KAAK;MACLC,aAAa;MACbC,WAAW;MACXC,KAAK;MACLC,OAAO;MACPC,QAAQ;MACRC,QAAQ;MACRjB,QAAQ;MACRkB,SAAS;MACTC,EAAE,EAAEC,MAAM;MACVC,aAAa;MACbC,OAAO;MACPC,QAAQ;MACRC,OAAO;MACPC;IAEF,CAAC,GAAGtB,KAAK;IADJuB,IAAI,GAAAC,wBAAA,CACLxB,KAAK,EAAAyB,SAAA;EAET,MAAM,GAAGC,WAAW,CAAC,GAAGvD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM6C,EAAE,GAAG/B,KAAK,CAACgC,MAAM,CAAC;EAExB,MAAMU,IAAI,GAAG,OAAOL,QAAQ,KAAK,UAAU;EAC3C,MAAMM,OAAO,GAAGxD,MAAM,CAAmB,CAAC;EAC1C,MAAMyD,GAAG,GAAI,CAACF,IAAI,IAAIL,QAAQ,IAAKM,OAAO;EAE1C1D,SAAS,CAAC,MAAM;IACd,IAAIyD,IAAI,EAAE;MACRL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGO,GAAG,CAACC,OAAO,CAAC;IACzB;EACF,CAAC,EAAE,CAACR,QAAQ,EAAEK,IAAI,EAAEE,GAAG,CAAC,CAAC;EAEzB,MAAME,gBAAgB,GAAG3D,MAAM,CAAC,KAAK,CAAC;EACtC,MAAM4D,YAAY,GAAG5D,MAAM,CAAC+C,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,KAAK,CAAC;EAC7C,MAAMc,cAAc,GAAG7D,MAAM,CAAC+C,OAAO,CAAC;EAEtCjD,SAAS,CAAC,MAAM;IACd,IAAIiD,OAAO,KAAKc,cAAc,CAACH,OAAO,EAAE;MACtCE,YAAY,CAACF,OAAO,GAAG,CAAC,CAACX,OAAO;MAChCc,cAAc,CAACH,OAAO,GAAG,CAAC,CAACX,OAAO;MAClCO,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEbjD,SAAS,CAAC,MAAM;IACd2D,GAAG,CAACC,OAAO,CAACZ,aAAa,GAAGA,aAAa;EAC3C,CAAC,EAAE,CAACA,aAAa,EAAEW,GAAG,CAAC,CAAC;EAExB,MAAMK,YAAuC,GAAGlE,WAAW,CACxDmE,IAAI,IAAK;IACRf,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGe,IAAI,CAAC;EAClB,CAAC,EACD,CAACf,QAAQ,CACX,CAAC;EAED,MAAMgB,YAAY,GAAGpE,WAAW,CAC7BqE,KAA8B,IAAK;IAClC,IAAIN,gBAAgB,CAACD,OAAO,EAAE;MAC5B;IACF;IACAC,gBAAgB,CAACD,OAAO,GAAG,KAAK;IAChC,MAAMQ,YAAY,GAAG,CAACN,YAAY,CAACF,OAAO;IAE1CE,YAAY,CAACF,OAAO,GAAGQ,YAAY;IACnCZ,WAAW,CAAC,CAAC;IACbQ,YAAY,CAAC;MAAEf,OAAO,EAAEmB,YAAY;MAAED;IAAM,CAAC,CAAC;IAG9C,IAAIR,GAAG,CAACC,OAAO,EAAE;MACfD,GAAG,CAACC,OAAO,CAACS,KAAK,CAAC,CAAC;IACrB;EACF,CAAC,EACD,CAACL,YAAY,EAAEL,GAAG,CACpB,CAAC;EAED,MAAMW,eAAe,GAAGxE,WAAW,CAChCqE,KAA8B,IAAK;IAClCD,YAAY,CAACC,KAAK,CAAC;EACrB,CAAC,EACD,CAACD,YAAY,CACf,CAAC;EAED,MAAMK,cAAyD,GAC7DzE,WAAW,CACRqE,KAAK,IAAK;IACT,MAAMK,cAAc,GAAGA,CAAA,KAAM;MAC3BL,KAAK,CAACK,cAAc,CAAC,CAAC;MAGtB,IAAIL,KAAK,CAACM,MAAM,CAAC,SAAS,CAAC,KAAKX,YAAY,CAACF,OAAO,EAAE;QACpDC,gBAAgB,CAACD,OAAO,GAAG,IAAI;QAC/BE,YAAY,CAACF,OAAO,GAAG,CAACE,YAAY,CAACF,OAAO;QAC5CJ,WAAW,CAAC,CAAC;MACf;IACF,CAAC;IAED,IAAIZ,QAAQ,EAAE;MACZ,OAAO4B,cAAc,CAAC,CAAC;IACzB;IAEArB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAAuB,aAAA;MACLzB,OAAO,EAAEa,YAAY,CAACF,OAAO;MAC7BY,cAAc;MACdL;IAAK,GACFA,KAAK,CACT,CAAC;EACJ,CAAC,EACD,CAAChB,OAAO,EAAEP,QAAQ,CACpB,CAAC;EAEH,MAAM+B,gBAAgB,GAAG7E,WAAW,CACjCqE,KAA8C,IAAK;IAClD,QAAQ3D,OAAO,CAAC2D,KAAK,CAAC;MACpB,KAAK,OAAO;QACVD,YAAY,CAACC,KAAK,CAAC;QACnB;IACJ;EACF,CAAC,EACD,CAACD,YAAY,CACf,CAAC;EAED,MAAMU,UAAU,GAAGvE,cAAc,CAAC2B,MAAM,CAAC;EAKzC,MAAM6C,qBAAqB,GAAG/E,WAAW,CAAC,MAAM;IAC9C,MAAMgF,WAAW,GAAAJ,aAAA;MACf/B,QAAQ;MACRM,OAAO,EAAEa,YAAY,CAACF,OAAO;MAC7BhB;IAAQ,GACLS,IAAI,CACR;IAED,IAAIuB,UAAU,IAAIxC,MAAM,EAAE;MACxB0C,WAAW,CAAC,kBAAkB,CAAC,GAAGxE,kBAAkB,CAClDwE,WAAW,EACXF,UAAU,GAAG9B,EAAE,GAAG,SAAS,GAAG,IAAI,EAClCV,MAAM,GAAGU,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IACA,IAAIF,QAAQ,EAAE;MACZkC,WAAW,CAAC,eAAe,CAAC,GAAGA,WAAW,CAAClC,QAAQ,GAAG,IAAI;IAC5D;IAGA,OAAOxC,qBAAqB,CAC1B0B,KAAK,EACLnB,qBAAqB,CAACmE,WAAW,EAAEnD,QAAQ,EAAEF,OAAO,CACtD,CAAC;EACH,CAAC,EAAE,CACDA,OAAO,EACPkB,QAAQ,EACRG,EAAE,EACFhB,KAAK,EACLc,QAAQ,EACRS,IAAI,EACJuB,UAAU,EACVjD,QAAQ,EACRS,MAAM,CACP,CAAC;EAEF,MAAM2C,UAAU,GAAG;IACjBlC,SAAS,EAAE1C,UAAU,oCAMnBS,mBAAmB,CAAC,IAAI,EAAEe,QAAQ,EAAEF,OAAO,CAAC,EAC5Cf,oBAAoB,CAACoB,KAAK,CAAC,EAC3Be,SAAS,EANTb,MAAM,IAAI,yBAAyBV,WAAW,EAAE,EAChDe,IAAI,IAAI,iBAAiBA,IAAI,EAAE,EAC/BC,KAAK,IAAI,gCAAgCC,aAAa,IAAI,OAAO,EAKnE;EACF,CAAC;EAED,MAAMuC,WAAW,GAAGD,qBAAqB,CAAC,CAAC;EAE3C,MAAMG,UAAU,GACdnF,KAAA,CAAAoF,aAAA,CAAC9D,UAAU,EAAA+D,QAAA;IACTC,IAAI,EAAEP,UAAW;IACjB9B,EAAE,EAAEA,EAAE,GAAG,cAAe;IACxBX,YAAY,EAAEA,YAAa;IAC3BG,KAAK,EAAEA,KAAM;IACb8C,OAAO,EAAEtC,EAAE,GAAG,SAAU;IACxBuC,cAAc,EAAEvC,EAAE,GAAG,IAAI,GAAGA,EAAE,GAAG,QAAS;IAC1CwC,IAAI,EAAEtD,MAAO;IACbuD,KAAK,EAAEjE,WAAY;IACnBkE,YAAY,EAAEtD,iBAAkB;IAChCP,QAAQ,EAAEA;EAAS,GACfM,WAAW,CAChB,CACF;EAED,MAAMwD,OAAO,GAAG/C,OAAO,IAAI,OAAO;EAElC,OACE7C,KAAA,CAAAoF,aAAA,SAAUF,UAAU,EAClBlF,KAAA,CAAAoF,aAAA;IAAMpC,SAAS,EAAC;EAAqB,GAClCP,KAAK,IACJzC,KAAA,CAAAoF,aAAA,CAAC/D,SAAS;IACR4B,EAAE,EAAEA,EAAE,GAAG,QAAS;IAClB4C,KAAK,EAAE5C,EAAG;IACVwC,IAAI,EAAEhD,KAAM;IACZK,QAAQ,EAAEA,QAAS;IACnBhB,QAAQ,EAAEA,QAAS;IACnBgE,MAAM,EAAEnD;EAAY,CACrB,CACF,EAED3C,KAAA,CAAAoF,aAAA;IAAMpC,SAAS,EAAC;EAAqB,GAAA+C,gBAAA,KAAAA,gBAAA,GACnC/F,KAAA,CAAAoF,aAAA,CAACxE,eAAe,MAAE,CAAC,GAClB8B,aAAa,KAAK,MAAM,IAAIyC,UAAU,EAEvCnF,KAAA,CAAAoF,aAAA;IAAMpC,SAAS,EAAC;EAAqB,GACnChD,KAAA,CAAAoF,aAAA,CAACQ,OAAO,EAAAP,QAAA;IACNpC,EAAE,EAAEA,EAAG;IACP+C,IAAI,EAAE/C,EAAG;IACTgD,IAAI,EAAC,UAAU;IACfrD,KAAK,EAAEA,KAAM;IACbI,SAAS,EAAC,qBAAqB;IAC/Bd,KAAK,EAAE+B,YAAY,CAACF,OAAO,GAAG7B,KAAK,IAAI,EAAE,GAAG,EAAG;IAC/CY,QAAQ,EAAEA;EAAS,GACfmC,WAAW;IACf5B,QAAQ,EAAEoB,eAAgB;IAC1BnB,OAAO,EAAEoB,cAAe;IACxBwB,SAAS,EAAEpB,gBAAiB;IAC5BhB,GAAG,EAAEA;EAAI,EACV,CAAC,EAEF9D,KAAA,CAAAoF,aAAA;IACEpC,SAAS,EAAE1C,UAAU,CACnB,sBAAsB,EACtBS,mBAAmB,CAAC,OAAO,EAAEe,QAAQ,EAAEF,OAAO,CAChD,CAAE;IACF;EAAW,GAAAuE,KAAA,KAAAA,KAAA,GAEXnG,KAAA,CAAAoF,aAAA;IAAMpC,SAAS,EAAC;EAAqB,CAAE,CAAC,CACpC,CAAC,EAAAoD,MAAA,KAAAA,MAAA,GAEPpG,KAAA,CAAAoF,aAAA;IAAMpC,SAAS,EAAC;EAA6B,CAAE,CAAC,GAEhDhD,KAAA,CAAAoF,aAAA,CAAC7D,SAAS;IAACiB,IAAI,EAAEA;EAAK,CAAE,CACpB,CACF,CAAC,EAEND,MAAM,IACLvC,KAAA,CAAAoF,aAAA,CAACnE,MAAM;IACL+B,SAAS,EAAC,sBAAsB;IAChCC,EAAE,EAAEA,EAAE,GAAG,SAAU;IACnBrB,OAAO,EAAEK;EAAM,GAEdM,MACK,CAEN,CAAC,EAEN,CAACG,aAAa,KAAK,OAAO,IAAI,CAACA,aAAa,KAAKyC,UAC9C,CAAC;AAEX;AAEA,eAAezD,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"Checkbox.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","validateDOMAttributes","getStatusState","combineDescribedBy","extendPropsWithContext","keycode","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","useId","pickFormElementProps","convertSnakeCaseProps","FormLabel","FormStatus","CheckIcon","defaultProps","statusState","Checkbox","localProps","context","extractPropsFromContext","skeleton","FormRow","formElement","props","value","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","className","id","idProp","indeterminate","checked","onChange","onClick","innerRef","rest","_objectWithoutProperties","_excluded","forceUpdate","isFn","refHook","ref","current","preventChangeRef","isCheckedRef","prevCheckedRef","callOnChange","args","handleChange","event","updatedCheck","focus","onChangeHandler","onClickHandler","preventDefault","target","_objectSpread","onKeyDownHandler","showStatus","handleInputAttributes","inputParams","mainParams","statusComp","createElement","_extends","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","_AlignmentHelper","name","type","onKeyDown","_span","_span2"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\nexport type OnClickParams = React.MouseEvent<HTMLInputElement> & {\n checked: boolean\n event: React.MouseEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * Determine whether to show the indeterminate checked state when checked. The default is `false`.\n */\n indeterminate?: boolean\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * 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 */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * Will be called on click made by the user. Returns the ClickEvent.\n */\n onClick?: (args: OnClickParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange' | 'onClick'\n > &\n DeprecatedCheckboxProps\n\n// deprecated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onChange` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const extractPropsFromContext = useCallback(() => {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }, [\n context.Checkbox,\n context?.FormRow,\n context?.formElement,\n localProps,\n ])\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n indeterminate,\n checked,\n onChange,\n onClick,\n innerRef,\n ...rest\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const preventChangeRef = useRef(false)\n const isCheckedRef = useRef(checked ?? false)\n const prevCheckedRef = useRef(checked)\n\n useEffect(() => {\n if (checked !== prevCheckedRef.current) {\n isCheckedRef.current = !!checked\n prevCheckedRef.current = !!checked\n forceUpdate()\n }\n }, [checked])\n\n useEffect(() => {\n ref.current.indeterminate = indeterminate\n }, [indeterminate, ref])\n\n const callOnChange: CheckboxProps['onChange'] = useCallback(\n (args) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const handleChange = useCallback(\n (event: OnChangeParams['event']) => {\n if (preventChangeRef.current) {\n return // stop here\n }\n preventChangeRef.current = false\n const updatedCheck = !isCheckedRef.current\n\n isCheckedRef.current = updatedCheck\n forceUpdate()\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, ref]\n )\n\n const onChangeHandler = useCallback(\n (event: OnChangeParams['event']) => {\n handleChange(event)\n },\n [handleChange]\n )\n\n const onClickHandler: React.MouseEventHandler<HTMLInputElement> =\n useCallback(\n (event) => {\n const preventDefault = () => {\n event.preventDefault()\n\n if (event.target['checked'] !== isCheckedRef.current) {\n preventChangeRef.current = true\n isCheckedRef.current = !isCheckedRef.current\n forceUpdate()\n }\n }\n\n if (readOnly) {\n return preventDefault()\n }\n\n onClick?.({\n checked: isCheckedRef.current,\n preventDefault,\n event,\n ...event,\n })\n },\n [onClick, readOnly]\n )\n\n const onKeyDownHandler = useCallback(\n (event: KeyboardEvent & OnChangeParams['event']) => {\n switch (keycode(event)) {\n case 'enter':\n handleChange(event)\n break\n }\n },\n [handleChange]\n )\n\n const showStatus = getStatusState(status)\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n const handleInputAttributes = useCallback(() => {\n const inputParams = {\n disabled,\n checked: isCheckedRef.current,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }, [\n context,\n disabled,\n id,\n props,\n readOnly,\n rest,\n showStatus,\n skeleton,\n suffix,\n ])\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n ),\n }\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isCheckedRef.current ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onClick={onClickHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <span className=\"dnb-checkbox__indeterminate\" />\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n}\n\nexport default Checkbox\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { InternalLocale } from '../../shared/Context';
3
+ import { SpacingProps } from '../space/types';
4
+ import { SkeletonShow } from '../Skeleton';
5
+ type DateFormatProps = SpacingProps & {
6
+ /**
7
+ * The date that will be formatted.
8
+ */
9
+ value?: Date | string;
10
+ /**
11
+ * Defines the style used to format the date. Defaults to `long`.
12
+ * Defaults to `long`.
13
+ */
14
+ dateStyle?: Intl.DateTimeFormatOptions['dateStyle'];
15
+ /**
16
+ * A string in {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument | Intl.DateTimeFormat locale} accepted format.
17
+ * Defaults to `nb-NO`
18
+ */
19
+ locale?: InternalLocale;
20
+ /**
21
+ * If set to `true`, an overlaying skeleton with animation will be shown.
22
+ */
23
+ skeleton?: SkeletonShow;
24
+ children?: React.ReactNode;
25
+ };
26
+ declare function DateFormat(props: DateFormatProps): import("react/jsx-runtime").JSX.Element;
27
+ declare namespace DateFormat {
28
+ var _supportsSpacingProps: boolean;
29
+ }
30
+ export default DateFormat;
@@ -0,0 +1,74 @@
1
+ "use client";
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import React, { useContext, useMemo } from 'react';
5
+ import SharedContext from '../../shared/Context';
6
+ import { convertJsxToString } from '../../shared/component-helper';
7
+ import { convertStringToDate } from '../date-picker/DatePickerCalc';
8
+ import { formatDate } from './DateFormatUtils';
9
+ import { format } from 'date-fns';
10
+ import classnames from 'classnames';
11
+ import { createSpacingClasses } from '../space/SpacingUtils';
12
+ import { createSkeletonClass, skeletonDOMAttributes } from '../skeleton/SkeletonHelper';
13
+ import { useTranslation } from '../../shared';
14
+ function DateFormat(props) {
15
+ const context = useContext(SharedContext);
16
+ const {
17
+ invalidDate
18
+ } = useTranslation().DateFormat;
19
+ const {
20
+ value,
21
+ locale = context.locale,
22
+ dateStyle = 'long',
23
+ children,
24
+ skeleton
25
+ } = props;
26
+ const date = useMemo(() => getDate({
27
+ value,
28
+ children
29
+ }), [value, children]);
30
+ const attributes = {};
31
+ skeletonDOMAttributes(attributes, skeleton, context);
32
+ if (!date) {
33
+ return React.createElement("span", {
34
+ className: "dnb-date-format"
35
+ }, invalidDate.replace('{value}', getInvalidValue({
36
+ value,
37
+ children
38
+ })));
39
+ }
40
+ return React.createElement("time", _extends({
41
+ className: classnames('dnb-date-format', createSpacingClasses(props), createSkeletonClass('font', skeleton, context)),
42
+ lang: locale,
43
+ dateTime: format(date, 'yyyy-MM-dd')
44
+ }, attributes), formatDate(date, {
45
+ locale,
46
+ options: {
47
+ dateStyle
48
+ }
49
+ }));
50
+ }
51
+ function getDate({
52
+ value,
53
+ children
54
+ }) {
55
+ if (value) {
56
+ return convertStringToDate(value);
57
+ }
58
+ return convertStringToDate(convertJsxToString(children));
59
+ }
60
+ function getInvalidValue({
61
+ value,
62
+ children
63
+ }) {
64
+ if (value instanceof Date) {
65
+ return value.toString();
66
+ }
67
+ if (children !== undefined && value === undefined) {
68
+ return String(children);
69
+ }
70
+ return value;
71
+ }
72
+ export default DateFormat;
73
+ DateFormat._supportsSpacingProps = true;
74
+ //# sourceMappingURL=DateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFormat.js","names":["React","useContext","useMemo","SharedContext","convertJsxToString","convertStringToDate","formatDate","format","classnames","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","useTranslation","DateFormat","props","context","invalidDate","value","locale","dateStyle","children","skeleton","date","getDate","attributes","createElement","className","replace","getInvalidValue","_extends","lang","dateTime","options","Date","toString","undefined","String","_supportsSpacingProps"],"sources":["../../../../src/components/date-format/DateFormat.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport SharedContext, { InternalLocale } from '../../shared/Context'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport { convertStringToDate } from '../date-picker/DatePickerCalc'\nimport { formatDate } from './DateFormatUtils'\nimport { format } from 'date-fns'\nimport { SpacingProps } from '../space/types'\nimport classnames from 'classnames'\nimport { createSpacingClasses } from '../space/SpacingUtils'\nimport { SkeletonShow } from '../Skeleton'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\nimport { useTranslation } from '../../shared'\n\ntype DateFormatProps = SpacingProps & {\n /**\n * The date that will be formatted.\n */\n value?: Date | string\n\n /**\n * Defines the style used to format the date. Defaults to `long`.\n * Defaults to `long`.\n */\n dateStyle?: Intl.DateTimeFormatOptions['dateStyle']\n /**\n * A string in {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument | Intl.DateTimeFormat locale} accepted format.\n * Defaults to `nb-NO`\n */\n locale?: InternalLocale\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n children?: React.ReactNode\n}\n\nfunction DateFormat(props: DateFormatProps) {\n const context = useContext(SharedContext)\n const { invalidDate } = useTranslation().DateFormat\n\n const {\n value,\n locale = context.locale,\n dateStyle = 'long',\n children,\n skeleton,\n } = props\n\n const date = useMemo(\n () => getDate({ value, children }),\n [value, children]\n )\n\n const attributes = {}\n skeletonDOMAttributes(attributes, skeleton, context)\n\n if (!date) {\n return (\n <span className=\"dnb-date-format\">\n {invalidDate.replace(\n '{value}',\n getInvalidValue({ value, children })\n )}\n </span>\n )\n }\n\n return (\n <time\n className={classnames(\n 'dnb-date-format',\n createSpacingClasses(props),\n createSkeletonClass('font', skeleton, context)\n )}\n lang={locale}\n // Makes sure that screen readers are reading the date correctly in the system language.\n dateTime={format(date, 'yyyy-MM-dd')}\n {...attributes}\n >\n {formatDate(date, {\n locale,\n options: {\n dateStyle,\n },\n })}\n </time>\n )\n}\n\nfunction getDate({\n value,\n children,\n}: Pick<DateFormatProps, 'value' | 'children'>) {\n if (value) {\n return convertStringToDate(value)\n }\n\n return convertStringToDate(convertJsxToString(children))\n}\n\nfunction getInvalidValue({\n value,\n children,\n}: Pick<DateFormatProps, 'value' | 'children'>) {\n if (value instanceof Date) {\n return value.toString()\n }\n\n if (children !== undefined && value === undefined) {\n return String(children)\n }\n\n return value\n}\n\nexport default DateFormat\n\nDateFormat._supportsSpacingProps = true\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,aAAa,MAA0B,sBAAsB;AACpE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,mBAAmB,QAAQ,+BAA+B;AACnE,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,MAAM,QAAQ,UAAU;AAEjC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,oBAAoB,QAAQ,uBAAuB;AAE5D,SACEC,mBAAmB,EACnBC,qBAAqB,QAChB,4BAA4B;AACnC,SAASC,cAAc,QAAQ,cAAc;AAyB7C,SAASC,UAAUA,CAACC,KAAsB,EAAE;EAC1C,MAAMC,OAAO,GAAGd,UAAU,CAACE,aAAa,CAAC;EACzC,MAAM;IAAEa;EAAY,CAAC,GAAGJ,cAAc,CAAC,CAAC,CAACC,UAAU;EAEnD,MAAM;IACJI,KAAK;IACLC,MAAM,GAAGH,OAAO,CAACG,MAAM;IACvBC,SAAS,GAAG,MAAM;IAClBC,QAAQ;IACRC;EACF,CAAC,GAAGP,KAAK;EAET,MAAMQ,IAAI,GAAGpB,OAAO,CAClB,MAAMqB,OAAO,CAAC;IAAEN,KAAK;IAAEG;EAAS,CAAC,CAAC,EAClC,CAACH,KAAK,EAAEG,QAAQ,CAClB,CAAC;EAED,MAAMI,UAAU,GAAG,CAAC,CAAC;EACrBb,qBAAqB,CAACa,UAAU,EAAEH,QAAQ,EAAEN,OAAO,CAAC;EAEpD,IAAI,CAACO,IAAI,EAAE;IACT,OACEtB,KAAA,CAAAyB,aAAA;MAAMC,SAAS,EAAC;IAAiB,GAC9BV,WAAW,CAACW,OAAO,CAClB,SAAS,EACTC,eAAe,CAAC;MAAEX,KAAK;MAAEG;IAAS,CAAC,CACrC,CACI,CAAC;EAEX;EAEA,OACEpB,KAAA,CAAAyB,aAAA,SAAAI,QAAA;IACEH,SAAS,EAAElB,UAAU,CACnB,iBAAiB,EACjBC,oBAAoB,CAACK,KAAK,CAAC,EAC3BJ,mBAAmB,CAAC,MAAM,EAAEW,QAAQ,EAAEN,OAAO,CAC/C,CAAE;IACFe,IAAI,EAAEZ,MAAO;IAEba,QAAQ,EAAExB,MAAM,CAACe,IAAI,EAAE,YAAY;EAAE,GACjCE,UAAU,GAEblB,UAAU,CAACgB,IAAI,EAAE;IAChBJ,MAAM;IACNc,OAAO,EAAE;MACPb;IACF;EACF,CAAC,CACG,CAAC;AAEX;AAEA,SAASI,OAAOA,CAAC;EACfN,KAAK;EACLG;AAC2C,CAAC,EAAE;EAC9C,IAAIH,KAAK,EAAE;IACT,OAAOZ,mBAAmB,CAACY,KAAK,CAAC;EACnC;EAEA,OAAOZ,mBAAmB,CAACD,kBAAkB,CAACgB,QAAQ,CAAC,CAAC;AAC1D;AAEA,SAASQ,eAAeA,CAAC;EACvBX,KAAK;EACLG;AAC2C,CAAC,EAAE;EAC9C,IAAIH,KAAK,YAAYgB,IAAI,EAAE;IACzB,OAAOhB,KAAK,CAACiB,QAAQ,CAAC,CAAC;EACzB;EAEA,IAAId,QAAQ,KAAKe,SAAS,IAAIlB,KAAK,KAAKkB,SAAS,EAAE;IACjD,OAAOC,MAAM,CAAChB,QAAQ,CAAC;EACzB;EAEA,OAAOH,KAAK;AACd;AAEA,eAAeJ,UAAU;AAEzBA,UAAU,CAACwB,qBAAqB,GAAG,IAAI","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../shared/types';
2
+ export declare const DateFormatProperties: PropertiesTableProps;
@@ -0,0 +1,28 @@
1
+ export const DateFormatProperties = {
2
+ value: {
3
+ doc: 'The date that will be formatted.',
4
+ type: ['Date', 'string'],
5
+ status: 'optional'
6
+ },
7
+ dateStyle: {
8
+ doc: 'Defines the style used to format the date. Defaults to `long`.',
9
+ type: ['long', 'medium', 'short', 'full'],
10
+ status: 'optional'
11
+ },
12
+ locale: {
13
+ doc: 'A string in [Intl.DateTimeFormat locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument) format. Defaults to `nb-NO`.',
14
+ type: 'string',
15
+ status: 'optional'
16
+ },
17
+ skeleton: {
18
+ doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',
19
+ type: 'boolean',
20
+ status: 'optional'
21
+ },
22
+ '[Space](/uilib/layout/space/properties)': {
23
+ doc: 'Spacing properties like `top` or `bottom` are supported.',
24
+ type: ['string', 'object'],
25
+ status: 'optional'
26
+ }
27
+ };
28
+ //# sourceMappingURL=DateFormatDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFormatDocs.js","names":["DateFormatProperties","value","doc","type","status","dateStyle","locale","skeleton"],"sources":["../../../../src/components/date-format/DateFormatDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const DateFormatProperties: PropertiesTableProps = {\n value: {\n doc: 'The date that will be formatted.',\n type: ['Date', 'string'],\n status: 'optional',\n },\n dateStyle: {\n doc: 'Defines the style used to format the date. Defaults to `long`.',\n type: ['long', 'medium', 'short', 'full'],\n status: 'optional',\n },\n locale: {\n doc: 'A string in [Intl.DateTimeFormat locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument) format. Defaults to `nb-NO`.',\n type: 'string',\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 '[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":"AAEA,OAAO,MAAMA,oBAA0C,GAAG;EACxDC,KAAK,EAAE;IACLC,GAAG,EAAE,kCAAkC;IACvCC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IACxBC,MAAM,EAAE;EACV,CAAC;EACDC,SAAS,EAAE;IACTH,GAAG,EAAE,gEAAgE;IACrEC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;IACzCC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,+KAA+K;IACpLC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { AnyLocale } from '../../shared/Context';
2
+ import { DateType } from '../date-picker/DatePickerContext';
3
+ export type FormatDateOptions = {
4
+ locale?: AnyLocale;
5
+ options?: Intl.DateTimeFormatOptions;
6
+ };
7
+ export declare function formatDate(dateValue: DateType, { locale, options, }?: FormatDateOptions): string;
8
+ export declare function formatDateRange(dates: {
9
+ startDate: DateType;
10
+ endDate: DateType;
11
+ }, { locale, options, }?: FormatDateOptions): string;
@@ -0,0 +1,27 @@
1
+ import { LOCALE as defaultLocale } from '../../shared/defaults';
2
+ import { convertStringToDate } from '../date-picker/DatePickerCalc';
3
+ export function formatDate(dateValue, {
4
+ locale = defaultLocale,
5
+ options = {
6
+ dateStyle: 'short'
7
+ }
8
+ } = {}) {
9
+ const date = convertStringToDate(dateValue);
10
+ return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat(locale, options).format(date) : date.toLocaleString(locale, options);
11
+ }
12
+ export function formatDateRange(dates, {
13
+ locale = defaultLocale,
14
+ options = {
15
+ dateStyle: 'long'
16
+ }
17
+ } = {}) {
18
+ const startDate = convertStringToDate(dates.startDate);
19
+ const endDate = convertStringToDate(dates.endDate);
20
+ if (typeof Intl !== 'undefined') {
21
+ return new Intl.DateTimeFormat(locale, options).formatRange(startDate, endDate);
22
+ }
23
+ const startDateString = startDate.toLocaleString(locale, options);
24
+ const endDateString = endDate.toLocaleString(locale, options);
25
+ return `${startDateString}-${endDateString}`;
26
+ }
27
+ //# sourceMappingURL=DateFormatUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFormatUtils.js","names":["LOCALE","defaultLocale","convertStringToDate","formatDate","dateValue","locale","options","dateStyle","date","Intl","DateTimeFormat","format","toLocaleString","formatDateRange","dates","startDate","endDate","formatRange","startDateString","endDateString"],"sources":["../../../../src/components/date-format/DateFormatUtils.ts"],"sourcesContent":["import { AnyLocale } from '../../shared/Context'\nimport { LOCALE as defaultLocale } from '../../shared/defaults'\nimport { convertStringToDate } from '../date-picker/DatePickerCalc'\nimport { DateType } from '../date-picker/DatePickerContext'\n\nexport type FormatDateOptions = {\n locale?: AnyLocale\n options?: Intl.DateTimeFormatOptions\n}\n\nexport function formatDate(\n dateValue: DateType,\n {\n locale = defaultLocale,\n options = { dateStyle: 'short' },\n }: FormatDateOptions = {}\n) {\n const date = convertStringToDate(dateValue)\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).format(date)\n : date.toLocaleString(locale, options)\n}\n\nexport function formatDateRange(\n dates: { startDate: DateType; endDate: DateType },\n {\n locale = defaultLocale,\n options = { dateStyle: 'long' },\n }: FormatDateOptions = {}\n) {\n const startDate = convertStringToDate(dates.startDate)\n const endDate = convertStringToDate(dates.endDate)\n\n if (typeof Intl !== 'undefined') {\n return new Intl.DateTimeFormat(locale, options).formatRange(\n startDate,\n endDate\n )\n }\n\n const startDateString = startDate.toLocaleString(locale, options)\n const endDateString = endDate.toLocaleString(locale, options)\n\n return `${startDateString}-${endDateString}`\n}\n"],"mappings":"AACA,SAASA,MAAM,IAAIC,aAAa,QAAQ,uBAAuB;AAC/D,SAASC,mBAAmB,QAAQ,+BAA+B;AAQnE,OAAO,SAASC,UAAUA,CACxBC,SAAmB,EACnB;EACEC,MAAM,GAAGJ,aAAa;EACtBK,OAAO,GAAG;IAAEC,SAAS,EAAE;EAAQ;AACd,CAAC,GAAG,CAAC,CAAC,EACzB;EACA,MAAMC,IAAI,GAAGN,mBAAmB,CAACE,SAAS,CAAC;EAE3C,OAAO,OAAOK,IAAI,KAAK,WAAW,GAC9B,IAAIA,IAAI,CAACC,cAAc,CAACL,MAAM,EAAEC,OAAO,CAAC,CAACK,MAAM,CAACH,IAAI,CAAC,GACrDA,IAAI,CAACI,cAAc,CAACP,MAAM,EAAEC,OAAO,CAAC;AAC1C;AAEA,OAAO,SAASO,eAAeA,CAC7BC,KAAiD,EACjD;EACET,MAAM,GAAGJ,aAAa;EACtBK,OAAO,GAAG;IAAEC,SAAS,EAAE;EAAO;AACb,CAAC,GAAG,CAAC,CAAC,EACzB;EACA,MAAMQ,SAAS,GAAGb,mBAAmB,CAACY,KAAK,CAACC,SAAS,CAAC;EACtD,MAAMC,OAAO,GAAGd,mBAAmB,CAACY,KAAK,CAACE,OAAO,CAAC;EAElD,IAAI,OAAOP,IAAI,KAAK,WAAW,EAAE;IAC/B,OAAO,IAAIA,IAAI,CAACC,cAAc,CAACL,MAAM,EAAEC,OAAO,CAAC,CAACW,WAAW,CACzDF,SAAS,EACTC,OACF,CAAC;EACH;EAEA,MAAME,eAAe,GAAGH,SAAS,CAACH,cAAc,CAACP,MAAM,EAAEC,OAAO,CAAC;EACjE,MAAMa,aAAa,GAAGH,OAAO,CAACJ,cAAc,CAACP,MAAM,EAAEC,OAAO,CAAC;EAE7D,OAAO,GAAGY,eAAe,IAAIC,aAAa,EAAE;AAC9C","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Component Entry
3
+ *
4
+ */
5
+ import DateFormat from './DateFormat';
6
+ export default DateFormat;
7
+ export * from './DateFormat';