@dnb/eufemia 10.69.1 → 10.70.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 (726) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/aria-live/AriaLiveDocs.d.ts +2 -0
  3. package/cjs/components/aria-live/AriaLiveDocs.js +54 -0
  4. package/cjs/components/aria-live/AriaLiveDocs.js.map +1 -0
  5. package/cjs/components/avatar/Avatar.d.ts +10 -0
  6. package/cjs/components/avatar/Avatar.js +17 -3
  7. package/cjs/components/avatar/Avatar.js.map +1 -1
  8. package/cjs/components/avatar/AvatarDocs.d.ts +3 -0
  9. package/cjs/components/avatar/AvatarDocs.js +101 -0
  10. package/cjs/components/avatar/AvatarDocs.js.map +1 -0
  11. package/cjs/components/avatar/AvatarGroup.d.ts +10 -0
  12. package/cjs/components/avatar/AvatarGroup.js +17 -5
  13. package/cjs/components/avatar/AvatarGroup.js.map +1 -1
  14. package/cjs/components/avatar/style/dnb-avatar.css +8 -0
  15. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
  16. package/cjs/components/avatar/style/dnb-avatar.scss +9 -0
  17. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  18. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  20. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  21. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  22. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  23. package/cjs/components/badge/BadgeDocs.d.ts +2 -0
  24. package/cjs/components/badge/BadgeDocs.js +54 -0
  25. package/cjs/components/badge/BadgeDocs.js.map +1 -0
  26. package/cjs/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  27. package/cjs/components/breadcrumb/BreadcrumbDocs.js +125 -0
  28. package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  29. package/cjs/components/button/Button.d.ts +0 -3
  30. package/cjs/components/button/ButtonDocs.d.ts +1 -0
  31. package/cjs/components/button/ButtonDocs.js +8 -1
  32. package/cjs/components/button/ButtonDocs.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerAddon.js +1 -3
  34. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  35. package/cjs/components/date-picker/DatePickerCalc.d.ts +13 -0
  36. package/cjs/components/date-picker/DatePickerCalc.js +44 -0
  37. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  38. package/cjs/components/date-picker/DatePickerCalendar.js +13 -11
  39. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  40. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
  41. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerProvider.js +2 -2
  43. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  44. package/cjs/components/date-picker/hooks/useViews.d.ts +2 -4
  45. package/cjs/components/date-picker/hooks/useViews.js +37 -23
  46. package/cjs/components/date-picker/hooks/useViews.js.map +1 -1
  47. package/cjs/components/dialog/DialogDocs.d.ts +1 -0
  48. package/cjs/components/dialog/DialogDocs.js +13 -1
  49. package/cjs/components/dialog/DialogDocs.js.map +1 -1
  50. package/cjs/components/drawer/DrawerDocs.d.ts +2 -0
  51. package/cjs/components/drawer/DrawerDocs.js +69 -0
  52. package/cjs/components/drawer/DrawerDocs.js.map +1 -0
  53. package/cjs/components/dropdown/DropdownDocs.d.ts +2 -0
  54. package/cjs/components/dropdown/DropdownDocs.js +29 -0
  55. package/cjs/components/dropdown/DropdownDocs.js.map +1 -0
  56. package/cjs/components/form-label/FormLabelDocs.d.ts +2 -0
  57. package/cjs/components/form-label/FormLabelDocs.js +59 -0
  58. package/cjs/components/form-label/FormLabelDocs.js.map +1 -0
  59. package/cjs/components/form-row/FormRow.d.ts +45 -0
  60. package/cjs/components/form-row/FormRowDocs.d.ts +2 -0
  61. package/cjs/components/form-row/FormRowDocs.js +89 -0
  62. package/cjs/components/form-row/FormRowDocs.js.map +1 -0
  63. package/cjs/components/form-set/FormSet.d.ts +18 -0
  64. package/cjs/components/form-set/FormSetDocs.d.ts +3 -0
  65. package/cjs/components/form-set/FormSetDocs.js +56 -0
  66. package/cjs/components/form-set/FormSetDocs.js.map +1 -0
  67. package/cjs/components/form-status/FormStatus.d.ts +18 -18
  68. package/cjs/components/form-status/FormStatusDocs.d.ts +2 -0
  69. package/cjs/components/form-status/FormStatusDocs.js +89 -0
  70. package/cjs/components/form-status/FormStatusDocs.js.map +1 -0
  71. package/cjs/components/global-error/GlobalError.d.ts +12 -0
  72. package/cjs/components/global-error/GlobalError.js +15 -6
  73. package/cjs/components/global-error/GlobalError.js.map +1 -1
  74. package/cjs/components/global-error/GlobalErrorDocs.js +14 -4
  75. package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -1
  76. package/cjs/components/global-status/GlobalStatus.d.ts +37 -58
  77. package/cjs/components/global-status/GlobalStatusController.d.ts +0 -9
  78. package/cjs/components/global-status/GlobalStatusDocs.d.ts +6 -0
  79. package/cjs/components/global-status/GlobalStatusDocs.js +192 -0
  80. package/cjs/components/global-status/GlobalStatusDocs.js.map +1 -0
  81. package/cjs/components/heading/HeadingDocs.d.ts +2 -0
  82. package/cjs/components/heading/HeadingDocs.js +79 -0
  83. package/cjs/components/heading/HeadingDocs.js.map +1 -0
  84. package/cjs/components/help-button/HelpButtonDocs.d.ts +3 -0
  85. package/cjs/components/help-button/HelpButtonDocs.js +46 -0
  86. package/cjs/components/help-button/HelpButtonDocs.js.map +1 -0
  87. package/cjs/components/icon/IconDocs.d.ts +2 -0
  88. package/cjs/components/icon/IconDocs.js +59 -0
  89. package/cjs/components/icon/IconDocs.js.map +1 -0
  90. package/cjs/components/icon/IconPrimaryDocs.d.ts +2 -0
  91. package/cjs/components/icon/IconPrimaryDocs.js +24 -0
  92. package/cjs/components/icon/IconPrimaryDocs.js.map +1 -0
  93. package/cjs/components/info-card/InfoCard.d.ts +6 -1
  94. package/cjs/components/info-card/InfoCard.js +4 -3
  95. package/cjs/components/info-card/InfoCard.js.map +1 -1
  96. package/cjs/components/info-card/InfoCardDocs.js +8 -3
  97. package/cjs/components/info-card/InfoCardDocs.js.map +1 -1
  98. package/cjs/components/input/Input.d.ts +0 -21
  99. package/cjs/components/input/InputDocs.d.ts +1 -0
  100. package/cjs/components/input/InputDocs.js +33 -1
  101. package/cjs/components/input/InputDocs.js.map +1 -1
  102. package/cjs/components/input-masked/InputMasked.d.ts +0 -12
  103. package/cjs/components/input-masked/InputMaskedDocs.d.ts +1 -0
  104. package/cjs/components/input-masked/InputMaskedDocs.js +13 -1
  105. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  106. package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  107. package/cjs/components/input-masked/MultiInputMaskedDocs.js +24 -0
  108. package/cjs/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  109. package/cjs/components/pagination/Pagination.d.ts +35 -33
  110. package/cjs/components/pagination/Pagination.js +2 -0
  111. package/cjs/components/pagination/Pagination.js.map +1 -1
  112. package/cjs/components/pagination/PaginationDocs.d.ts +3 -0
  113. package/cjs/components/pagination/PaginationDocs.js +191 -0
  114. package/cjs/components/pagination/PaginationDocs.js.map +1 -0
  115. package/cjs/components/pagination/PaginationHelpers.d.ts +0 -3
  116. package/cjs/components/pagination/PaginationInfinity.d.ts +0 -3
  117. package/cjs/components/pagination/PaginationProvider.js +1 -1
  118. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  119. package/cjs/components/radio/Radio.d.ts +12 -15
  120. package/cjs/components/radio/RadioDocs.d.ts +5 -0
  121. package/cjs/components/radio/RadioDocs.js +145 -0
  122. package/cjs/components/radio/RadioDocs.js.map +1 -0
  123. package/cjs/components/radio/RadioGroup.d.ts +0 -30
  124. package/cjs/components/skeleton/SkeletonDocs.d.ts +2 -0
  125. package/cjs/components/skeleton/SkeletonDocs.js +44 -0
  126. package/cjs/components/skeleton/SkeletonDocs.js.map +1 -0
  127. package/cjs/components/skeleton/SkeletonHelper.d.ts +0 -6
  128. package/cjs/components/skip-content/SkipContentDocs.d.ts +2 -0
  129. package/cjs/components/skip-content/SkipContentDocs.js +29 -0
  130. package/cjs/components/skip-content/SkipContentDocs.js.map +1 -0
  131. package/cjs/components/tag/TagDocs.d.ts +4 -0
  132. package/cjs/components/tag/TagDocs.js +93 -0
  133. package/cjs/components/tag/TagDocs.js.map +1 -0
  134. package/cjs/components/textarea/Textarea.d.ts +0 -12
  135. package/cjs/components/textarea/TextareaDocs.d.ts +1 -0
  136. package/cjs/components/textarea/TextareaDocs.js +23 -1
  137. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  138. package/cjs/components/timeline/TimelineDocs.d.ts +3 -0
  139. package/cjs/components/timeline/TimelineDocs.js +66 -0
  140. package/cjs/components/timeline/TimelineDocs.js.map +1 -0
  141. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -3
  142. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  143. package/cjs/components/toggle-button/ToggleButtonDocs.js +8 -1
  144. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  145. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  146. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  147. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
  148. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  149. package/cjs/components/tooltip/TooltipDocs.d.ts +2 -0
  150. package/cjs/components/tooltip/TooltipDocs.js +79 -0
  151. package/cjs/components/tooltip/TooltipDocs.js.map +1 -0
  152. package/cjs/components/upload/Upload.js +6 -4
  153. package/cjs/components/upload/Upload.js.map +1 -1
  154. package/cjs/components/upload/UploadDocs.js +5 -0
  155. package/cjs/components/upload/UploadDocs.js.map +1 -1
  156. package/cjs/components/upload/UploadFileList.js +3 -1
  157. package/cjs/components/upload/UploadFileList.js.map +1 -1
  158. package/cjs/components/upload/UploadFileListCell.d.ts +6 -1
  159. package/cjs/components/upload/UploadFileListCell.js +8 -5
  160. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  161. package/cjs/components/upload/types.d.ts +5 -0
  162. package/cjs/components/upload/types.js.map +1 -1
  163. package/cjs/components/upload/useUpload.d.ts +1 -0
  164. package/cjs/components/upload/useUpload.js +9 -2
  165. package/cjs/components/upload/useUpload.js.map +1 -1
  166. package/cjs/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  167. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js +19 -0
  168. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  169. package/cjs/extensions/forms/DataContext/Context.d.ts +6 -5
  170. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  171. package/cjs/extensions/forms/DataContext/Provider/Provider.js +29 -35
  172. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  173. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -0
  174. package/cjs/extensions/forms/Field/Date/Date.js +8 -8
  175. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  176. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  177. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  178. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  179. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  180. package/cjs/extensions/forms/Field/Upload/Upload.js +10 -2
  181. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  182. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  183. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  184. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  185. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  186. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +10 -14
  187. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  188. package/cjs/extensions/forms/Value/Date/Date.d.ts +0 -6
  189. package/cjs/extensions/forms/Value/Date/Date.js +14 -38
  190. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  191. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  192. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  193. package/cjs/extensions/forms/hooks/useFieldProps.js +3 -4
  194. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  195. package/cjs/extensions/payment-card/PaymentCard.d.ts +7 -7
  196. package/cjs/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  197. package/cjs/extensions/payment-card/PaymentCardDocs.js +205 -0
  198. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  199. package/cjs/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  200. package/cjs/fragments/scroll-view/ScrollViewDocs.js +19 -0
  201. package/cjs/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  202. package/cjs/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  203. package/cjs/fragments/text-counter/TextCounterDocs.js +29 -0
  204. package/cjs/fragments/text-counter/TextCounterDocs.js.map +1 -0
  205. package/cjs/shared/Eufemia.d.ts +1 -1
  206. package/cjs/shared/Eufemia.js +2 -2
  207. package/cjs/shared/Eufemia.js.map +1 -1
  208. package/cjs/shared/MediaQueryDocs.d.ts +2 -0
  209. package/cjs/shared/MediaQueryDocs.js +34 -0
  210. package/cjs/shared/MediaQueryDocs.js.map +1 -0
  211. package/cjs/shared/ThemeDocs.d.ts +2 -0
  212. package/cjs/shared/ThemeDocs.js +39 -0
  213. package/cjs/shared/ThemeDocs.js.map +1 -0
  214. package/cjs/shared/locales/en-GB.d.ts +1 -0
  215. package/cjs/shared/locales/en-GB.js +1 -0
  216. package/cjs/shared/locales/en-GB.js.map +1 -1
  217. package/cjs/shared/locales/en-US.d.ts +1 -0
  218. package/cjs/shared/locales/index.d.ts +2 -0
  219. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  220. package/cjs/shared/locales/nb-NO.js +1 -0
  221. package/cjs/shared/locales/nb-NO.js.map +1 -1
  222. package/cjs/shared/locales/sv-SE.d.ts +1 -0
  223. package/cjs/shared/locales/sv-SE.js +1 -0
  224. package/cjs/shared/locales/sv-SE.js.map +1 -1
  225. package/cjs/style/core/scopes.scss +1 -1
  226. package/cjs/style/dnb-ui-basis.css +1 -1
  227. package/cjs/style/dnb-ui-basis.min.css +1 -1
  228. package/cjs/style/dnb-ui-body.css +1 -1
  229. package/cjs/style/dnb-ui-body.min.css +1 -1
  230. package/cjs/style/dnb-ui-components.css +8 -0
  231. package/cjs/style/dnb-ui-components.min.css +1 -1
  232. package/cjs/style/dnb-ui-core.css +1 -1
  233. package/cjs/style/dnb-ui-core.min.css +1 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  236. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  237. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  238. package/cjs/style/themes/theme-ui/ui-theme-components.css +13 -5
  239. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  240. package/components/aria-live/AriaLiveDocs.d.ts +2 -0
  241. package/components/aria-live/AriaLiveDocs.js +48 -0
  242. package/components/aria-live/AriaLiveDocs.js.map +1 -0
  243. package/components/avatar/Avatar.d.ts +10 -0
  244. package/components/avatar/Avatar.js +17 -3
  245. package/components/avatar/Avatar.js.map +1 -1
  246. package/components/avatar/AvatarDocs.d.ts +3 -0
  247. package/components/avatar/AvatarDocs.js +95 -0
  248. package/components/avatar/AvatarDocs.js.map +1 -0
  249. package/components/avatar/AvatarGroup.d.ts +10 -0
  250. package/components/avatar/AvatarGroup.js +17 -5
  251. package/components/avatar/AvatarGroup.js.map +1 -1
  252. package/components/avatar/style/dnb-avatar.css +8 -0
  253. package/components/avatar/style/dnb-avatar.min.css +1 -1
  254. package/components/avatar/style/dnb-avatar.scss +9 -0
  255. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  256. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  257. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  258. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  259. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  260. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  261. package/components/badge/BadgeDocs.d.ts +2 -0
  262. package/components/badge/BadgeDocs.js +48 -0
  263. package/components/badge/BadgeDocs.js.map +1 -0
  264. package/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  265. package/components/breadcrumb/BreadcrumbDocs.js +119 -0
  266. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  267. package/components/button/Button.d.ts +0 -3
  268. package/components/button/ButtonDocs.d.ts +1 -0
  269. package/components/button/ButtonDocs.js +7 -0
  270. package/components/button/ButtonDocs.js.map +1 -1
  271. package/components/date-picker/DatePickerAddon.js +1 -3
  272. package/components/date-picker/DatePickerAddon.js.map +1 -1
  273. package/components/date-picker/DatePickerCalc.d.ts +13 -0
  274. package/components/date-picker/DatePickerCalc.js +41 -0
  275. package/components/date-picker/DatePickerCalc.js.map +1 -1
  276. package/components/date-picker/DatePickerCalendar.js +13 -11
  277. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  278. package/components/date-picker/DatePickerContext.d.ts +1 -1
  279. package/components/date-picker/DatePickerContext.js.map +1 -1
  280. package/components/date-picker/DatePickerProvider.js +2 -2
  281. package/components/date-picker/DatePickerProvider.js.map +1 -1
  282. package/components/date-picker/hooks/useViews.d.ts +2 -4
  283. package/components/date-picker/hooks/useViews.js +38 -24
  284. package/components/date-picker/hooks/useViews.js.map +1 -1
  285. package/components/dialog/DialogDocs.d.ts +1 -0
  286. package/components/dialog/DialogDocs.js +12 -0
  287. package/components/dialog/DialogDocs.js.map +1 -1
  288. package/components/drawer/DrawerDocs.d.ts +2 -0
  289. package/components/drawer/DrawerDocs.js +63 -0
  290. package/components/drawer/DrawerDocs.js.map +1 -0
  291. package/components/dropdown/DropdownDocs.d.ts +2 -0
  292. package/components/dropdown/DropdownDocs.js +23 -0
  293. package/components/dropdown/DropdownDocs.js.map +1 -0
  294. package/components/form-label/FormLabelDocs.d.ts +2 -0
  295. package/components/form-label/FormLabelDocs.js +53 -0
  296. package/components/form-label/FormLabelDocs.js.map +1 -0
  297. package/components/form-row/FormRow.d.ts +45 -0
  298. package/components/form-row/FormRowDocs.d.ts +2 -0
  299. package/components/form-row/FormRowDocs.js +83 -0
  300. package/components/form-row/FormRowDocs.js.map +1 -0
  301. package/components/form-set/FormSet.d.ts +18 -0
  302. package/components/form-set/FormSetDocs.d.ts +3 -0
  303. package/components/form-set/FormSetDocs.js +50 -0
  304. package/components/form-set/FormSetDocs.js.map +1 -0
  305. package/components/form-status/FormStatus.d.ts +18 -18
  306. package/components/form-status/FormStatusDocs.d.ts +2 -0
  307. package/components/form-status/FormStatusDocs.js +83 -0
  308. package/components/form-status/FormStatusDocs.js.map +1 -0
  309. package/components/global-error/GlobalError.d.ts +12 -0
  310. package/components/global-error/GlobalError.js +15 -6
  311. package/components/global-error/GlobalError.js.map +1 -1
  312. package/components/global-error/GlobalErrorDocs.js +14 -4
  313. package/components/global-error/GlobalErrorDocs.js.map +1 -1
  314. package/components/global-status/GlobalStatus.d.ts +37 -58
  315. package/components/global-status/GlobalStatusController.d.ts +0 -9
  316. package/components/global-status/GlobalStatusDocs.d.ts +6 -0
  317. package/components/global-status/GlobalStatusDocs.js +186 -0
  318. package/components/global-status/GlobalStatusDocs.js.map +1 -0
  319. package/components/heading/HeadingDocs.d.ts +2 -0
  320. package/components/heading/HeadingDocs.js +73 -0
  321. package/components/heading/HeadingDocs.js.map +1 -0
  322. package/components/help-button/HelpButtonDocs.d.ts +3 -0
  323. package/components/help-button/HelpButtonDocs.js +40 -0
  324. package/components/help-button/HelpButtonDocs.js.map +1 -0
  325. package/components/icon/IconDocs.d.ts +2 -0
  326. package/components/icon/IconDocs.js +53 -0
  327. package/components/icon/IconDocs.js.map +1 -0
  328. package/components/icon/IconPrimaryDocs.d.ts +2 -0
  329. package/components/icon/IconPrimaryDocs.js +18 -0
  330. package/components/icon/IconPrimaryDocs.js.map +1 -0
  331. package/components/info-card/InfoCard.d.ts +6 -1
  332. package/components/info-card/InfoCard.js +4 -3
  333. package/components/info-card/InfoCard.js.map +1 -1
  334. package/components/info-card/InfoCardDocs.js +8 -3
  335. package/components/info-card/InfoCardDocs.js.map +1 -1
  336. package/components/input/Input.d.ts +0 -21
  337. package/components/input/InputDocs.d.ts +1 -0
  338. package/components/input/InputDocs.js +32 -0
  339. package/components/input/InputDocs.js.map +1 -1
  340. package/components/input-masked/InputMasked.d.ts +0 -12
  341. package/components/input-masked/InputMaskedDocs.d.ts +1 -0
  342. package/components/input-masked/InputMaskedDocs.js +12 -0
  343. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  344. package/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  345. package/components/input-masked/MultiInputMaskedDocs.js +18 -0
  346. package/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  347. package/components/pagination/Pagination.d.ts +35 -33
  348. package/components/pagination/Pagination.js +2 -0
  349. package/components/pagination/Pagination.js.map +1 -1
  350. package/components/pagination/PaginationDocs.d.ts +3 -0
  351. package/components/pagination/PaginationDocs.js +185 -0
  352. package/components/pagination/PaginationDocs.js.map +1 -0
  353. package/components/pagination/PaginationHelpers.d.ts +0 -3
  354. package/components/pagination/PaginationInfinity.d.ts +0 -3
  355. package/components/pagination/PaginationProvider.js +1 -1
  356. package/components/pagination/PaginationProvider.js.map +1 -1
  357. package/components/radio/Radio.d.ts +12 -15
  358. package/components/radio/RadioDocs.d.ts +5 -0
  359. package/components/radio/RadioDocs.js +139 -0
  360. package/components/radio/RadioDocs.js.map +1 -0
  361. package/components/radio/RadioGroup.d.ts +0 -30
  362. package/components/skeleton/SkeletonDocs.d.ts +2 -0
  363. package/components/skeleton/SkeletonDocs.js +38 -0
  364. package/components/skeleton/SkeletonDocs.js.map +1 -0
  365. package/components/skeleton/SkeletonHelper.d.ts +0 -6
  366. package/components/skip-content/SkipContentDocs.d.ts +2 -0
  367. package/components/skip-content/SkipContentDocs.js +23 -0
  368. package/components/skip-content/SkipContentDocs.js.map +1 -0
  369. package/components/tag/TagDocs.d.ts +4 -0
  370. package/components/tag/TagDocs.js +87 -0
  371. package/components/tag/TagDocs.js.map +1 -0
  372. package/components/textarea/Textarea.d.ts +0 -12
  373. package/components/textarea/TextareaDocs.d.ts +1 -0
  374. package/components/textarea/TextareaDocs.js +22 -0
  375. package/components/textarea/TextareaDocs.js.map +1 -1
  376. package/components/timeline/TimelineDocs.d.ts +3 -0
  377. package/components/timeline/TimelineDocs.js +60 -0
  378. package/components/timeline/TimelineDocs.js.map +1 -0
  379. package/components/toggle-button/ToggleButton.d.ts +0 -3
  380. package/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  381. package/components/toggle-button/ToggleButtonDocs.js +7 -0
  382. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  383. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  384. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  385. package/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  386. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  387. package/components/tooltip/TooltipDocs.d.ts +2 -0
  388. package/components/tooltip/TooltipDocs.js +73 -0
  389. package/components/tooltip/TooltipDocs.js.map +1 -0
  390. package/components/upload/Upload.js +6 -4
  391. package/components/upload/Upload.js.map +1 -1
  392. package/components/upload/UploadDocs.js +5 -0
  393. package/components/upload/UploadDocs.js.map +1 -1
  394. package/components/upload/UploadFileList.js +3 -1
  395. package/components/upload/UploadFileList.js.map +1 -1
  396. package/components/upload/UploadFileListCell.d.ts +6 -1
  397. package/components/upload/UploadFileListCell.js +8 -5
  398. package/components/upload/UploadFileListCell.js.map +1 -1
  399. package/components/upload/types.d.ts +5 -0
  400. package/components/upload/types.js.map +1 -1
  401. package/components/upload/useUpload.d.ts +1 -0
  402. package/components/upload/useUpload.js +7 -1
  403. package/components/upload/useUpload.js.map +1 -1
  404. package/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  405. package/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  406. package/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  407. package/es/components/aria-live/AriaLiveDocs.d.ts +2 -0
  408. package/es/components/aria-live/AriaLiveDocs.js +48 -0
  409. package/es/components/aria-live/AriaLiveDocs.js.map +1 -0
  410. package/es/components/avatar/Avatar.d.ts +10 -0
  411. package/es/components/avatar/Avatar.js +17 -3
  412. package/es/components/avatar/Avatar.js.map +1 -1
  413. package/es/components/avatar/AvatarDocs.d.ts +3 -0
  414. package/es/components/avatar/AvatarDocs.js +95 -0
  415. package/es/components/avatar/AvatarDocs.js.map +1 -0
  416. package/es/components/avatar/AvatarGroup.d.ts +10 -0
  417. package/es/components/avatar/AvatarGroup.js +17 -5
  418. package/es/components/avatar/AvatarGroup.js.map +1 -1
  419. package/es/components/avatar/style/dnb-avatar.css +8 -0
  420. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  421. package/es/components/avatar/style/dnb-avatar.scss +9 -0
  422. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  423. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  424. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  425. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  426. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  427. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  428. package/es/components/badge/BadgeDocs.d.ts +2 -0
  429. package/es/components/badge/BadgeDocs.js +48 -0
  430. package/es/components/badge/BadgeDocs.js.map +1 -0
  431. package/es/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  432. package/es/components/breadcrumb/BreadcrumbDocs.js +119 -0
  433. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  434. package/es/components/button/Button.d.ts +0 -3
  435. package/es/components/button/ButtonDocs.d.ts +1 -0
  436. package/es/components/button/ButtonDocs.js +7 -0
  437. package/es/components/button/ButtonDocs.js.map +1 -1
  438. package/es/components/date-picker/DatePickerAddon.js +1 -3
  439. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  440. package/es/components/date-picker/DatePickerCalc.d.ts +13 -0
  441. package/es/components/date-picker/DatePickerCalc.js +39 -0
  442. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  443. package/es/components/date-picker/DatePickerCalendar.js +13 -11
  444. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  445. package/es/components/date-picker/DatePickerContext.d.ts +1 -1
  446. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  447. package/es/components/date-picker/DatePickerProvider.js +2 -2
  448. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  449. package/es/components/date-picker/hooks/useViews.d.ts +2 -4
  450. package/es/components/date-picker/hooks/useViews.js +39 -25
  451. package/es/components/date-picker/hooks/useViews.js.map +1 -1
  452. package/es/components/dialog/DialogDocs.d.ts +1 -0
  453. package/es/components/dialog/DialogDocs.js +12 -0
  454. package/es/components/dialog/DialogDocs.js.map +1 -1
  455. package/es/components/drawer/DrawerDocs.d.ts +2 -0
  456. package/es/components/drawer/DrawerDocs.js +63 -0
  457. package/es/components/drawer/DrawerDocs.js.map +1 -0
  458. package/es/components/dropdown/DropdownDocs.d.ts +2 -0
  459. package/es/components/dropdown/DropdownDocs.js +23 -0
  460. package/es/components/dropdown/DropdownDocs.js.map +1 -0
  461. package/es/components/form-label/FormLabelDocs.d.ts +2 -0
  462. package/es/components/form-label/FormLabelDocs.js +53 -0
  463. package/es/components/form-label/FormLabelDocs.js.map +1 -0
  464. package/es/components/form-row/FormRow.d.ts +45 -0
  465. package/es/components/form-row/FormRowDocs.d.ts +2 -0
  466. package/es/components/form-row/FormRowDocs.js +83 -0
  467. package/es/components/form-row/FormRowDocs.js.map +1 -0
  468. package/es/components/form-set/FormSet.d.ts +18 -0
  469. package/es/components/form-set/FormSetDocs.d.ts +3 -0
  470. package/es/components/form-set/FormSetDocs.js +50 -0
  471. package/es/components/form-set/FormSetDocs.js.map +1 -0
  472. package/es/components/form-status/FormStatus.d.ts +18 -18
  473. package/es/components/form-status/FormStatusDocs.d.ts +2 -0
  474. package/es/components/form-status/FormStatusDocs.js +83 -0
  475. package/es/components/form-status/FormStatusDocs.js.map +1 -0
  476. package/es/components/global-error/GlobalError.d.ts +12 -0
  477. package/es/components/global-error/GlobalError.js +14 -6
  478. package/es/components/global-error/GlobalError.js.map +1 -1
  479. package/es/components/global-error/GlobalErrorDocs.js +14 -4
  480. package/es/components/global-error/GlobalErrorDocs.js.map +1 -1
  481. package/es/components/global-status/GlobalStatus.d.ts +37 -58
  482. package/es/components/global-status/GlobalStatusController.d.ts +0 -9
  483. package/es/components/global-status/GlobalStatusDocs.d.ts +6 -0
  484. package/es/components/global-status/GlobalStatusDocs.js +186 -0
  485. package/es/components/global-status/GlobalStatusDocs.js.map +1 -0
  486. package/es/components/heading/HeadingDocs.d.ts +2 -0
  487. package/es/components/heading/HeadingDocs.js +73 -0
  488. package/es/components/heading/HeadingDocs.js.map +1 -0
  489. package/es/components/help-button/HelpButtonDocs.d.ts +3 -0
  490. package/es/components/help-button/HelpButtonDocs.js +40 -0
  491. package/es/components/help-button/HelpButtonDocs.js.map +1 -0
  492. package/es/components/icon/IconDocs.d.ts +2 -0
  493. package/es/components/icon/IconDocs.js +53 -0
  494. package/es/components/icon/IconDocs.js.map +1 -0
  495. package/es/components/icon/IconPrimaryDocs.d.ts +2 -0
  496. package/es/components/icon/IconPrimaryDocs.js +18 -0
  497. package/es/components/icon/IconPrimaryDocs.js.map +1 -0
  498. package/es/components/info-card/InfoCard.d.ts +6 -1
  499. package/es/components/info-card/InfoCard.js +4 -3
  500. package/es/components/info-card/InfoCard.js.map +1 -1
  501. package/es/components/info-card/InfoCardDocs.js +8 -3
  502. package/es/components/info-card/InfoCardDocs.js.map +1 -1
  503. package/es/components/input/Input.d.ts +0 -21
  504. package/es/components/input/InputDocs.d.ts +1 -0
  505. package/es/components/input/InputDocs.js +32 -0
  506. package/es/components/input/InputDocs.js.map +1 -1
  507. package/es/components/input-masked/InputMasked.d.ts +0 -12
  508. package/es/components/input-masked/InputMaskedDocs.d.ts +1 -0
  509. package/es/components/input-masked/InputMaskedDocs.js +12 -0
  510. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  511. package/es/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  512. package/es/components/input-masked/MultiInputMaskedDocs.js +18 -0
  513. package/es/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  514. package/es/components/pagination/Pagination.d.ts +35 -33
  515. package/es/components/pagination/Pagination.js +2 -0
  516. package/es/components/pagination/Pagination.js.map +1 -1
  517. package/es/components/pagination/PaginationDocs.d.ts +3 -0
  518. package/es/components/pagination/PaginationDocs.js +185 -0
  519. package/es/components/pagination/PaginationDocs.js.map +1 -0
  520. package/es/components/pagination/PaginationHelpers.d.ts +0 -3
  521. package/es/components/pagination/PaginationInfinity.d.ts +0 -3
  522. package/es/components/pagination/PaginationProvider.js +1 -1
  523. package/es/components/pagination/PaginationProvider.js.map +1 -1
  524. package/es/components/radio/Radio.d.ts +12 -15
  525. package/es/components/radio/RadioDocs.d.ts +5 -0
  526. package/es/components/radio/RadioDocs.js +139 -0
  527. package/es/components/radio/RadioDocs.js.map +1 -0
  528. package/es/components/radio/RadioGroup.d.ts +0 -30
  529. package/es/components/skeleton/SkeletonDocs.d.ts +2 -0
  530. package/es/components/skeleton/SkeletonDocs.js +38 -0
  531. package/es/components/skeleton/SkeletonDocs.js.map +1 -0
  532. package/es/components/skeleton/SkeletonHelper.d.ts +0 -6
  533. package/es/components/skip-content/SkipContentDocs.d.ts +2 -0
  534. package/es/components/skip-content/SkipContentDocs.js +23 -0
  535. package/es/components/skip-content/SkipContentDocs.js.map +1 -0
  536. package/es/components/tag/TagDocs.d.ts +4 -0
  537. package/es/components/tag/TagDocs.js +87 -0
  538. package/es/components/tag/TagDocs.js.map +1 -0
  539. package/es/components/textarea/Textarea.d.ts +0 -12
  540. package/es/components/textarea/TextareaDocs.d.ts +1 -0
  541. package/es/components/textarea/TextareaDocs.js +22 -0
  542. package/es/components/textarea/TextareaDocs.js.map +1 -1
  543. package/es/components/timeline/TimelineDocs.d.ts +3 -0
  544. package/es/components/timeline/TimelineDocs.js +60 -0
  545. package/es/components/timeline/TimelineDocs.js.map +1 -0
  546. package/es/components/toggle-button/ToggleButton.d.ts +0 -3
  547. package/es/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  548. package/es/components/toggle-button/ToggleButtonDocs.js +7 -0
  549. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  550. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  551. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  552. package/es/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  553. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  554. package/es/components/tooltip/TooltipDocs.d.ts +2 -0
  555. package/es/components/tooltip/TooltipDocs.js +73 -0
  556. package/es/components/tooltip/TooltipDocs.js.map +1 -0
  557. package/es/components/upload/Upload.js +6 -4
  558. package/es/components/upload/Upload.js.map +1 -1
  559. package/es/components/upload/UploadDocs.js +5 -0
  560. package/es/components/upload/UploadDocs.js.map +1 -1
  561. package/es/components/upload/UploadFileList.js +3 -1
  562. package/es/components/upload/UploadFileList.js.map +1 -1
  563. package/es/components/upload/UploadFileListCell.d.ts +6 -1
  564. package/es/components/upload/UploadFileListCell.js +8 -5
  565. package/es/components/upload/UploadFileListCell.js.map +1 -1
  566. package/es/components/upload/types.d.ts +5 -0
  567. package/es/components/upload/types.js.map +1 -1
  568. package/es/components/upload/useUpload.d.ts +1 -0
  569. package/es/components/upload/useUpload.js +7 -1
  570. package/es/components/upload/useUpload.js.map +1 -1
  571. package/es/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  572. package/es/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  573. package/es/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  574. package/es/extensions/forms/DataContext/Context.d.ts +6 -5
  575. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  576. package/es/extensions/forms/DataContext/Provider/Provider.js +28 -34
  577. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  578. package/es/extensions/forms/Field/Date/Date.d.ts +1 -0
  579. package/es/extensions/forms/Field/Date/Date.js +2 -3
  580. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  581. package/es/extensions/forms/Field/Password/Password.js +2 -1
  582. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  583. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  584. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  585. package/es/extensions/forms/Field/Upload/Upload.js +10 -2
  586. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  587. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  588. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  589. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  590. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  591. package/es/extensions/forms/Form/Visibility/useVisibility.js +10 -14
  592. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  593. package/es/extensions/forms/Value/Date/Date.d.ts +0 -6
  594. package/es/extensions/forms/Value/Date/Date.js +13 -34
  595. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  596. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  597. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  598. package/es/extensions/forms/hooks/useFieldProps.js +3 -4
  599. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  600. package/es/extensions/payment-card/PaymentCard.d.ts +7 -7
  601. package/es/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  602. package/es/extensions/payment-card/PaymentCardDocs.js +199 -0
  603. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  604. package/es/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  605. package/es/fragments/scroll-view/ScrollViewDocs.js +13 -0
  606. package/es/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  607. package/es/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  608. package/es/fragments/text-counter/TextCounterDocs.js +23 -0
  609. package/es/fragments/text-counter/TextCounterDocs.js.map +1 -0
  610. package/es/shared/Eufemia.d.ts +1 -1
  611. package/es/shared/Eufemia.js +2 -2
  612. package/es/shared/Eufemia.js.map +1 -1
  613. package/es/shared/MediaQueryDocs.d.ts +2 -0
  614. package/es/shared/MediaQueryDocs.js +28 -0
  615. package/es/shared/MediaQueryDocs.js.map +1 -0
  616. package/es/shared/ThemeDocs.d.ts +2 -0
  617. package/es/shared/ThemeDocs.js +33 -0
  618. package/es/shared/ThemeDocs.js.map +1 -0
  619. package/es/shared/locales/en-GB.d.ts +1 -0
  620. package/es/shared/locales/en-GB.js +1 -0
  621. package/es/shared/locales/en-GB.js.map +1 -1
  622. package/es/shared/locales/en-US.d.ts +1 -0
  623. package/es/shared/locales/index.d.ts +2 -0
  624. package/es/shared/locales/nb-NO.d.ts +1 -0
  625. package/es/shared/locales/nb-NO.js +1 -0
  626. package/es/shared/locales/nb-NO.js.map +1 -1
  627. package/es/shared/locales/sv-SE.d.ts +1 -0
  628. package/es/shared/locales/sv-SE.js +1 -0
  629. package/es/shared/locales/sv-SE.js.map +1 -1
  630. package/es/style/core/scopes.scss +1 -1
  631. package/es/style/dnb-ui-basis.css +1 -1
  632. package/es/style/dnb-ui-basis.min.css +1 -1
  633. package/es/style/dnb-ui-body.css +1 -1
  634. package/es/style/dnb-ui-body.min.css +1 -1
  635. package/es/style/dnb-ui-components.css +8 -0
  636. package/es/style/dnb-ui-components.min.css +1 -1
  637. package/es/style/dnb-ui-core.css +1 -1
  638. package/es/style/dnb-ui-core.min.css +1 -1
  639. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  640. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  641. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  642. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  643. package/es/style/themes/theme-ui/ui-theme-components.css +13 -5
  644. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  645. package/esm/dnb-ui-basis.min.mjs +1 -1
  646. package/esm/dnb-ui-components.min.mjs +1 -1
  647. package/esm/dnb-ui-elements.min.mjs +1 -1
  648. package/esm/dnb-ui-extensions.min.mjs +1 -1
  649. package/esm/dnb-ui-lib.min.mjs +1 -1
  650. package/extensions/forms/DataContext/Context.d.ts +6 -5
  651. package/extensions/forms/DataContext/Context.js.map +1 -1
  652. package/extensions/forms/DataContext/Provider/Provider.js +29 -35
  653. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  654. package/extensions/forms/Field/Date/Date.d.ts +1 -0
  655. package/extensions/forms/Field/Date/Date.js +2 -3
  656. package/extensions/forms/Field/Date/Date.js.map +1 -1
  657. package/extensions/forms/Field/Password/Password.js +2 -1
  658. package/extensions/forms/Field/Password/Password.js.map +1 -1
  659. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  660. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  661. package/extensions/forms/Field/Upload/Upload.js +10 -2
  662. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  663. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  664. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  665. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  666. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  667. package/extensions/forms/Form/Visibility/useVisibility.js +10 -14
  668. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  669. package/extensions/forms/Value/Date/Date.d.ts +0 -6
  670. package/extensions/forms/Value/Date/Date.js +14 -36
  671. package/extensions/forms/Value/Date/Date.js.map +1 -1
  672. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  673. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  674. package/extensions/forms/hooks/useFieldProps.js +3 -4
  675. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  676. package/extensions/payment-card/PaymentCard.d.ts +7 -7
  677. package/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  678. package/extensions/payment-card/PaymentCardDocs.js +199 -0
  679. package/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  680. package/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  681. package/fragments/scroll-view/ScrollViewDocs.js +13 -0
  682. package/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  683. package/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  684. package/fragments/text-counter/TextCounterDocs.js +23 -0
  685. package/fragments/text-counter/TextCounterDocs.js.map +1 -0
  686. package/package.json +1 -1
  687. package/shared/Eufemia.d.ts +1 -1
  688. package/shared/Eufemia.js +2 -2
  689. package/shared/Eufemia.js.map +1 -1
  690. package/shared/MediaQueryDocs.d.ts +2 -0
  691. package/shared/MediaQueryDocs.js +28 -0
  692. package/shared/MediaQueryDocs.js.map +1 -0
  693. package/shared/ThemeDocs.d.ts +2 -0
  694. package/shared/ThemeDocs.js +33 -0
  695. package/shared/ThemeDocs.js.map +1 -0
  696. package/shared/locales/en-GB.d.ts +1 -0
  697. package/shared/locales/en-GB.js +1 -0
  698. package/shared/locales/en-GB.js.map +1 -1
  699. package/shared/locales/en-US.d.ts +1 -0
  700. package/shared/locales/index.d.ts +2 -0
  701. package/shared/locales/nb-NO.d.ts +1 -0
  702. package/shared/locales/nb-NO.js +1 -0
  703. package/shared/locales/nb-NO.js.map +1 -1
  704. package/shared/locales/sv-SE.d.ts +1 -0
  705. package/shared/locales/sv-SE.js +1 -0
  706. package/shared/locales/sv-SE.js.map +1 -1
  707. package/style/core/scopes.scss +1 -1
  708. package/style/dnb-ui-basis.css +1 -1
  709. package/style/dnb-ui-basis.min.css +1 -1
  710. package/style/dnb-ui-body.css +1 -1
  711. package/style/dnb-ui-body.min.css +1 -1
  712. package/style/dnb-ui-components.css +8 -0
  713. package/style/dnb-ui-components.min.css +1 -1
  714. package/style/dnb-ui-core.css +1 -1
  715. package/style/dnb-ui-core.min.css +1 -1
  716. package/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  717. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  718. package/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  719. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  720. package/style/themes/theme-ui/ui-theme-components.css +13 -5
  721. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  722. package/umd/dnb-ui-basis.min.js +1 -1
  723. package/umd/dnb-ui-components.min.js +1 -1
  724. package/umd/dnb-ui-elements.min.js +1 -1
  725. package/umd/dnb-ui-extensions.min.js +1 -1
  726. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalendar.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","classnames","format","subMonths","addMonths","addWeeks","addDays","isSameDay","isSameMonth","startOfDay","differenceInCalendarDays","differenceInMonths","lastDayOfMonth","setDate","nbLocalize","nbFormatLong","enLocalize","enFormatLong","gbFormatLong","svLocalize","svFormatLong","isDisabled","makeDayObject","toRange","getWeek","dayOffset","getCalendar","Button","DatePickerContext","useTranslation","LOCALE","locales","localize","formatLong","defaultProps","prevBtn","nextBtn","titleFormat","dayOfWeekFormat","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","DatePickerCalendar","restOfProps","props","_objectSpread","updateDates","forceViewMonthChange","startDate","endDate","hoverDate","maxDate","minDate","startMonth","endMonth","translation","DatePicker","selectedMonth","onDaysRender","id","nr","month","isRange","locale","localeCode","onPrev","onNext","onSelect","onHover","onKeyDown","listRef","labelRef","days","cache","current","focus","preventScroll","onMouseLeaveHandler","callOnSelect","event","getDays","daysFromCalendar","Date","map","date","changedDays","Array","isArray","keyNavCalc","keyCode","includes","dateHandler","test","shiftAmount","findValid","foundDate","find","cur","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","hidePicker","dates","currentMonth","Math","abs","cacheKey","join","weekDays","count","Object","values","reduce","acc","i","push","createElement","className","lang","CalendarButton","type","showButton","onClick","title","replace","tabIndex","ref","role","onMouseLeave","day","key","scope","week","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","undefined","isSelectedDate","paramsCell","paramsButton","_extends","buildDayClassNames","size","variant","text","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_ref2","tr","_Fragment","Fragment","icon","_ref3","daysToStartDate","daysToEndDate","range","_ref4","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\n// Imports only the parts of the date-fns locale object that we actually use\nimport nbLocalize from 'date-fns/locale/nb/_lib/localize'\nimport nbFormatLong from 'date-fns/locale/nb/_lib/formatLong'\nimport enLocalize from 'date-fns/locale/en-US/_lib/localize'\nimport enFormatLong from 'date-fns/locale/en-US/_lib/formatLong'\nimport gbFormatLong from 'date-fns/locale/en-GB/_lib/formatLong'\nimport svLocalize from 'date-fns/locale/sv/_lib/localize'\nimport svFormatLong from 'date-fns/locale/sv/_lib/formatLong'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { useTranslation } from '../../shared'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\nimport { LOCALE } from '../../shared/defaults'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\ntype CalendarLocales = {\n // eslint-disable-next-line no-unused-vars\n [locale in InternalLocale]?: Pick<Locale, 'localize' | 'formatLong'>\n}\n// Easy to access objects containing the only (in our case) needed functions for date-fns format\n// TODO: Replace with Intl.DateTimeFormat\nconst locales: CalendarLocales = {\n 'nb-NO': { localize: nbLocalize, formatLong: nbFormatLong },\n 'en-GB': { localize: enLocalize, formatLong: gbFormatLong },\n 'en-US': { localize: enLocalize, formatLong: enFormatLong },\n 'sv-SE': { localize: svLocalize, formatLong: svFormatLong },\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: Date\n prevBtn?: boolean\n nextBtn?: boolean\n titleFormat?: string\n dayOfWeekFormat?: string\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onHover?: (day: Date) => void\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onPrev?: (event: CalendarNavigationEvent) => void\n onNext?: (event: CalendarNavigationEvent) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from &#39;date-fns/locale/en-GB&#39;`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n forceViewMonthChange,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n translation: {\n DatePicker: { selectedMonth },\n },\n props: { onDaysRender },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n locale: localeCode,\n hideDays,\n onPrev,\n onNext,\n onSelect,\n onHover,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const listRef = useRef<React.ElementRef<'table'>>()\n const labelRef = useRef<HTMLLabelElement>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (listRef.current) {\n listRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n const onMouseLeaveHandler = useCallback(() => {\n updateDates({\n hoverDate: null,\n })\n }, [updateDates])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (onDaysRender) {\n const changedDays = onDaysRender(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n onDaysRender,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!onDaysRender) {\n return date\n }\n\n if (!days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n if (!days.current[month]) {\n // re-render with new month\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n foundDate.date = findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [onDaysRender, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, listRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after setState\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n forceViewMonthChange()\n\n // and set the focus back again\n if (listRef && listRef.current) {\n listRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n forceViewMonthChange,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n return (cache.current[cacheKey] = Object.values(\n getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }, [cacheKey, getDays, month])\n\n const locale = useMemo(\n () => ({ ...(locales[localeCode] || locales[LOCALE]) }),\n [localeCode]\n )\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={localeCode}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"prev\"\n nr={nr}\n date={minDate}\n month={month}\n locale={locale}\n showButton={prevBtn}\n onClick={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selectedMonth.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex={-1}\n ref={labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"next\"\n nr={nr}\n date={maxDate}\n month={month}\n locale={locale}\n showButton={nextBtn}\n onClick={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={listRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', {\n locale,\n })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\nexport type CalendarButtonProps = {\n type: 'prev' | 'next'\n nr: number\n date: Date\n month: Date\n locale: CalendarLocales[keyof CalendarLocales]\n showButton: boolean\n onClick: ({\n nr,\n type,\n }: {\n nr: number\n type: CalendarButtonProps['type']\n }) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n}\n\nfunction CalendarButton({\n type,\n nr,\n date,\n month,\n locale,\n showButton,\n onClick,\n onKeyDown,\n}: CalendarButtonProps) {\n const tr = useTranslation().DatePicker\n\n if (!showButton) {\n return <></>\n }\n const disabled = date && isSameMonth(month, date)\n\n const title = tr[`${type}Month`].replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n const icon = type === 'prev' ? 'chevron_left' : 'chevron_right'\n\n return (\n <Button\n className={classnames(`dnb-date-picker__${type}`, { disabled })}\n icon={icon}\n size=\"small\"\n aria-label={title}\n onClick={() => onClick && !disabled && onClick({ nr, type })}\n onKeyDown={onKeyDown}\n />\n )\n}\n\ntype SelectRangeEvent = {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n onHover,\n}: {\n day: CalendarDay\n hoverDate?: Date\n onHover: DatePickerCalendarProps['onHover']\n}) {\n if (!isSameDay(day.date, hoverDate) && onHover) {\n onHover(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerCalendar.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","classnames","format","subMonths","addMonths","addWeeks","addDays","isSameDay","isSameMonth","startOfDay","differenceInCalendarDays","differenceInMonths","lastDayOfMonth","setDate","nbLocalize","nbFormatLong","enLocalize","enFormatLong","gbFormatLong","svLocalize","svFormatLong","isDisabled","makeDayObject","toRange","getWeek","dayOffset","getCalendar","Button","DatePickerContext","useTranslation","LOCALE","locales","localize","formatLong","defaultProps","prevBtn","nextBtn","titleFormat","dayOfWeekFormat","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","DatePickerCalendar","restOfProps","props","_objectSpread","updateDates","setHasClickedCalendarDay","startDate","endDate","hoverDate","maxDate","minDate","startMonth","endMonth","translation","DatePicker","selectedMonth","onDaysRender","id","nr","month","isRange","locale","localeCode","onPrev","onNext","onSelect","onHover","onKeyDown","tableRef","labelRef","days","cache","current","focus","preventScroll","onMouseLeaveHandler","callOnSelect","event","getDays","daysFromCalendar","Date","map","date","changedDays","Array","isArray","keyNavCalc","keyCode","includes","dateHandler","test","shiftAmount","findValid","foundDate","find","cur","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","hidePicker","dates","currentMonth","Math","abs","cacheKey","join","weekDays","count","Object","values","reduce","acc","i","push","createElement","className","lang","CalendarButton","type","showButton","onClick","title","replace","tabIndex","ref","role","onMouseLeave","day","key","scope","week","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","undefined","isSelectedDate","paramsCell","paramsButton","_extends","buildDayClassNames","size","variant","text","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_ref2","tr","_Fragment","Fragment","icon","_ref3","daysToStartDate","daysToEndDate","range","_ref4","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\n// Imports only the parts of the date-fns locale object that we actually use\nimport nbLocalize from 'date-fns/locale/nb/_lib/localize'\nimport nbFormatLong from 'date-fns/locale/nb/_lib/formatLong'\nimport enLocalize from 'date-fns/locale/en-US/_lib/localize'\nimport enFormatLong from 'date-fns/locale/en-US/_lib/formatLong'\nimport gbFormatLong from 'date-fns/locale/en-GB/_lib/formatLong'\nimport svLocalize from 'date-fns/locale/sv/_lib/localize'\nimport svFormatLong from 'date-fns/locale/sv/_lib/formatLong'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport { useTranslation } from '../../shared'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\nimport { LOCALE } from '../../shared/defaults'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\ntype CalendarLocales = {\n // eslint-disable-next-line no-unused-vars\n [locale in InternalLocale]?: Pick<Locale, 'localize' | 'formatLong'>\n}\n// Easy to access objects containing the only (in our case) needed functions for date-fns format\n// TODO: Replace with Intl.DateTimeFormat\nconst locales: CalendarLocales = {\n 'nb-NO': { localize: nbLocalize, formatLong: nbFormatLong },\n 'en-GB': { localize: enLocalize, formatLong: gbFormatLong },\n 'en-US': { localize: enLocalize, formatLong: enFormatLong },\n 'sv-SE': { localize: svLocalize, formatLong: svFormatLong },\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: Date\n prevBtn?: boolean\n nextBtn?: boolean\n titleFormat?: string\n dayOfWeekFormat?: string\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onHover?: (day: Date) => void\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onPrev?: (event: CalendarNavigationEvent) => void\n onNext?: (event: CalendarNavigationEvent) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from &#39;date-fns/locale/en-GB&#39;`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n setHasClickedCalendarDay,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n translation: {\n DatePicker: { selectedMonth },\n },\n props: { onDaysRender },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n locale: localeCode,\n hideDays,\n onPrev,\n onNext,\n onSelect,\n onHover,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const tableRef = useRef<React.ElementRef<'table'>>()\n const labelRef = useRef<HTMLLabelElement>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n const onMouseLeaveHandler = useCallback(() => {\n updateDates({\n hoverDate: null,\n })\n }, [updateDates])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (onDaysRender) {\n const changedDays = onDaysRender(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n onDaysRender,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!onDaysRender) {\n return date\n }\n\n if (!days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n if (!days.current[month]) {\n // re-render with new month\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n foundDate.date = findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [onDaysRender, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, tableRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after setState\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n // and set the focus back again\n if (tableRef && tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n return (cache.current[cacheKey] = Object.values(\n getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }, [cacheKey, getDays, month])\n\n const locale = useMemo(\n () => ({ ...(locales[localeCode] || locales[LOCALE]) }),\n [localeCode]\n )\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={localeCode}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"prev\"\n nr={nr}\n date={minDate}\n month={month}\n locale={locale}\n showButton={prevBtn}\n onClick={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selectedMonth.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex={-1}\n ref={labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"next\"\n nr={nr}\n date={maxDate}\n month={month}\n locale={locale}\n showButton={nextBtn}\n onClick={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={tableRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', {\n locale,\n })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n setHasClickedCalendarDay,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n // TODO: See if this can be replaced with css, to prevent massive amount of re-renders\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n // TODO: See if this can be replaced with css, to prevent massive amount of re-renders\n onFocus={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\nexport type CalendarButtonProps = {\n type: 'prev' | 'next'\n nr: number\n date: Date\n month: Date\n locale: CalendarLocales[keyof CalendarLocales]\n showButton: boolean\n onClick: ({\n nr,\n type,\n }: {\n nr: number\n type: CalendarButtonProps['type']\n }) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n}\n\nfunction CalendarButton({\n type,\n nr,\n date,\n month,\n locale,\n showButton,\n onClick,\n onKeyDown,\n}: CalendarButtonProps) {\n const tr = useTranslation().DatePicker\n\n if (!showButton) {\n return <></>\n }\n const disabled = date && isSameMonth(month, date)\n\n const title = tr[`${type}Month`].replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n const icon = type === 'prev' ? 'chevron_left' : 'chevron_right'\n\n return (\n <Button\n className={classnames(`dnb-date-picker__${type}`, { disabled })}\n icon={icon}\n size=\"small\"\n aria-label={title}\n onClick={() => onClick && !disabled && onClick({ nr, type })}\n onKeyDown={onKeyDown}\n />\n )\n}\n\ntype SelectRangeEvent = Pick<\n DatePickerContextValues,\n 'setHasClickedCalendarDay'\n> & {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n setHasClickedCalendarDay,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n // Set to true to stop calendar views from changing in range mode when clicking a day\n setHasClickedCalendarDay(true)\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n onHover,\n}: {\n day: CalendarDay\n hoverDate?: Date\n onHover: DatePickerCalendarProps['onHover']\n}) {\n if (!isSameDay(day.date, hoverDate) && onHover) {\n onHover(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,7 @@ export type DatePickerContextValues = ContextProps & DatePickerDates & {
18
18
  updateDates: (dates: DatePickerDates, callback?: (dates: DatePickerDates) => void) => void;
19
19
  setState?: (state: DatePickerProviderState) => void;
20
20
  setViews: (views: Array<CalendarView>, callback?: () => void) => void;
21
- forceViewMonthChange: () => void;
21
+ setHasClickedCalendarDay: (hasClicked: boolean) => void;
22
22
  callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void;
23
23
  hidePicker: (event: DisplayPickerEvent) => void;
24
24
  getReturnObject: <E>(params: GetReturnObjectParams<E>) => ReturnObject<E>;
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerContext.js","names":["React","DatePickerContext","createContext"],"sources":["../../../../src/components/date-picker/DatePickerContext.ts"],"sourcesContent":["/**\n * Web DatePicker Context\n *\n */\n\nimport React from 'react'\nimport { DatePickerAllProps, DisplayPickerEvent } from './DatePicker'\nimport { ContextProps } from '../../shared/Context'\nimport {\n DatePickerChangeEvent,\n DatePickerProviderState,\n GetReturnObjectParams,\n ReturnObject,\n} from './DatePickerProvider'\nimport { DatePickerDateProps, DatePickerDates } from './hooks/useDates'\nimport { CalendarView } from './hooks/useViews'\n\nexport type DateType = Date | string\n\nexport type DatePickerContextValues = ContextProps &\n DatePickerDates & {\n props: DatePickerAllProps\n translation: ContextProps['translation']\n views: Array<CalendarView>\n hasHadValidDate: boolean\n previousDateProps: DatePickerDateProps\n updateDates: (\n dates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => void\n setState?: (state: DatePickerProviderState) => void\n setViews: (views: Array<CalendarView>, callback?: () => void) => void\n forceViewMonthChange: () => void\n callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void\n hidePicker: (event: DisplayPickerEvent) => void\n getReturnObject: <E>(\n params: GetReturnObjectParams<E>\n ) => ReturnObject<E>\n }\n\nconst DatePickerContext = React.createContext<DatePickerContextValues>(\n {} as DatePickerContextValues\n)\n\nexport default DatePickerContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAmCzB,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,aAAa,CAC3C,CAAC,CACH,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerContext.js","names":["React","DatePickerContext","createContext"],"sources":["../../../../src/components/date-picker/DatePickerContext.ts"],"sourcesContent":["/**\n * Web DatePicker Context\n *\n */\n\nimport React from 'react'\nimport { DatePickerAllProps, DisplayPickerEvent } from './DatePicker'\nimport { ContextProps } from '../../shared/Context'\nimport {\n DatePickerChangeEvent,\n DatePickerProviderState,\n GetReturnObjectParams,\n ReturnObject,\n} from './DatePickerProvider'\nimport { DatePickerDateProps, DatePickerDates } from './hooks/useDates'\nimport { CalendarView } from './hooks/useViews'\n\nexport type DateType = Date | string\n\nexport type DatePickerContextValues = ContextProps &\n DatePickerDates & {\n props: DatePickerAllProps\n translation: ContextProps['translation']\n views: Array<CalendarView>\n hasHadValidDate: boolean\n previousDateProps: DatePickerDateProps\n updateDates: (\n dates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => void\n setState?: (state: DatePickerProviderState) => void\n setViews: (views: Array<CalendarView>, callback?: () => void) => void\n setHasClickedCalendarDay: (hasClicked: boolean) => void\n callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void\n hidePicker: (event: DisplayPickerEvent) => void\n getReturnObject: <E>(\n params: GetReturnObjectParams<E>\n ) => ReturnObject<E>\n }\n\nconst DatePickerContext = React.createContext<DatePickerContextValues>(\n {} as DatePickerContextValues\n)\n\nexport default DatePickerContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAmCzB,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,aAAa,CAC3C,CAAC,CACH,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
@@ -61,7 +61,7 @@ function DatePickerProvider(externalProps) {
61
61
  const {
62
62
  views,
63
63
  setViews,
64
- forceViewMonthChange
64
+ setHasClickedCalendarDay
65
65
  } = useViews({
66
66
  startMonth: dates.startMonth,
67
67
  endMonth: dates.endMonth,
@@ -140,7 +140,7 @@ function DatePickerProvider(externalProps) {
140
140
  hasHadValidDate,
141
141
  views,
142
142
  setViews,
143
- forceViewMonthChange
143
+ setHasClickedCalendarDay
144
144
  })
145
145
  }, children);
146
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","defaultProps","returnFormat","DatePickerProvider","externalProps","props","_objectSpread","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","dates","updateDates","hasHadValidDate","previousDateProps","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","lastEventCallCache","setLastEventCallCache","getReturnObject","_ref","arguments","length","undefined","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","invalidStartDate","invalidEndDate","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","start_date","end_date","is_valid_start_date","is_valid_end_date","partialDate","invalidDate","is_valid","callOnChangeHandler","createElement","Provider","value","translation"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\nimport { InvalidDates } from './DatePickerInput'\nimport { PartialDates } from './hooks/usePartialDates'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates &\n InvalidDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n }\n\nexport type GetReturnObjectParams<E> = DatePickerDates &\n PartialDates &\n InvalidDates & {\n event?: E\n }\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = InvalidDates &\n PartialDates & {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string | null\n start_date?: string | null\n end_date?: string | null\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n }\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDateProps } =\n useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const {\n startDate,\n endDate,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n partialDate: partialStartDate,\n // Can be removed in v11, in favor to partialDate,\n // to keep the naming logic the same as with date and invalidDate when not in range mode\n partialStartDate,\n invalidDate: invalidStartDate,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDateProps,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","defaultProps","returnFormat","DatePickerProvider","externalProps","props","_objectSpread","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","dates","updateDates","hasHadValidDate","previousDateProps","isRange","shouldCorrectDate","views","setViews","setHasClickedCalendarDay","lastEventCallCache","setLastEventCallCache","getReturnObject","_ref","arguments","length","undefined","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","invalidStartDate","invalidEndDate","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","start_date","end_date","is_valid_start_date","is_valid_end_date","partialDate","invalidDate","is_valid","callOnChangeHandler","createElement","Provider","value","translation"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\nimport { InvalidDates } from './DatePickerInput'\nimport { PartialDates } from './hooks/usePartialDates'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates &\n InvalidDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n }\n\nexport type GetReturnObjectParams<E> = DatePickerDates &\n PartialDates &\n InvalidDates & {\n event?: E\n }\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = InvalidDates &\n PartialDates & {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string | null\n start_date?: string | null\n end_date?: string | null\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n }\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDateProps } =\n useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, setHasClickedCalendarDay } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const {\n startDate,\n endDate,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n partialDate: partialStartDate,\n // Can be removed in v11, in favor to partialDate,\n // to keep the naming logic the same as with date and invalidDate when not in range mode\n partialStartDate,\n invalidDate: invalidStartDate,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDateProps,\n hasHadValidDate,\n views,\n setViews,\n setHasClickedCalendarDay,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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","ignoreList":[]}
@@ -13,8 +13,6 @@ export type UseViewsParams = ViewDates & {
13
13
  export default function useViews({ isRange, ...dates }: UseViewsParams): {
14
14
  readonly views: CalendarView[];
15
15
  readonly setViews: (views: Array<CalendarView>, cb?: (...args: unknown[]) => void) => void;
16
- readonly forceViewMonthChange: () => void;
16
+ readonly setHasClickedCalendarDay: (hasClicked: boolean) => boolean;
17
17
  };
18
- export declare function getViews({ views, isRange, ...dates }: ViewDates & UseViewsParams & {
19
- views?: CalendarView | Array<CalendarView>;
20
- }): Array<CalendarView>;
18
+ export declare function getViews({ isRange, ...dates }: ViewDates & UseViewsParams): Array<CalendarView>;
@@ -3,66 +3,80 @@
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  const _excluded = ["isRange"],
6
- _excluded2 = ["views", "isRange"];
6
+ _excluded2 = ["isRange"];
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
9
  import "core-js/modules/web.dom-collections.iterator.js";
10
10
  import addMonths from 'date-fns/addMonths';
11
- import { useMemo, useRef, useState } from 'react';
11
+ import { useCallback, useMemo, useRef, useState } from 'react';
12
12
  export default function useViews(_ref) {
13
13
  let {
14
14
  isRange
15
15
  } = _ref,
16
16
  dates = _objectWithoutProperties(_ref, _excluded);
17
17
  const [previousDates, setPreviousDates] = useState(dates);
18
- const [views, setViews] = useState(getViews(_objectSpread(_objectSpread({
19
- views: undefined
20
- }, dates), {}, {
18
+ const [views, setViews] = useState(getViews(_objectSpread(_objectSpread({}, dates), {}, {
21
19
  isRange
22
20
  })));
23
- const forceViewChange = useRef(false);
21
+ const hasClickedCalendarDay = useRef(false);
24
22
  const hasDateChanges = useMemo(() => Object.keys(dates).some(date => previousDates[date] !== dates[date]), [dates, previousDates]);
23
+ const setHasClickedCalendarDay = useCallback(hasClicked => hasClickedCalendarDay.current = hasClicked, []);
25
24
  if (hasDateChanges) {
26
- const currentViews = Array.isArray(views) ? views.length > 1 ? views : views[0] : views;
27
- if (forceViewChange.current || !isRange) {
28
- setViews(getViews(_objectSpread(_objectSpread({}, dates), {}, {
29
- views: currentViews,
25
+ setPreviousDates(dates);
26
+ if (hasClickedCalendarDay.current) {
27
+ setHasClickedCalendarDay(false);
28
+ } else {
29
+ const updatedViews = getViews(_objectSpread(_objectSpread({}, dates), {}, {
30
30
  isRange
31
- })));
32
- forceViewChange.current = false;
31
+ }));
32
+ setViews(updatedViews);
33
33
  }
34
- setPreviousDates(dates);
35
34
  }
36
35
  function updateViews(views) {
37
36
  let cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
38
37
  setViews(views);
39
38
  cb === null || cb === void 0 ? void 0 : cb();
40
39
  }
41
- function forceViewMonthChange() {
42
- forceViewChange.current = true;
43
- }
44
40
  return {
45
41
  views,
46
42
  setViews: updateViews,
47
- forceViewMonthChange
43
+ setHasClickedCalendarDay
48
44
  };
49
45
  }
50
46
  export function getViews(_ref2) {
51
47
  let {
52
- views,
53
48
  isRange
54
49
  } = _ref2,
55
50
  dates = _objectWithoutProperties(_ref2, _excluded2);
56
- return (Array.isArray(views) ? views : Array(isRange ? 2 : views).fill(1)).map((view, nr) => ({
57
- month: getMonthView(_objectSpread({}, dates), nr),
58
- nr
59
- }));
51
+ return isRange ? [{
52
+ nr: 0,
53
+ month: getMonthView({
54
+ months: dates,
55
+ nr: 0
56
+ })
57
+ }, {
58
+ nr: 1,
59
+ month: getMonthView({
60
+ months: dates,
61
+ nr: 1
62
+ })
63
+ }] : [{
64
+ nr: 0,
65
+ month: getMonthView({
66
+ months: dates,
67
+ nr: 0
68
+ })
69
+ }];
60
70
  }
61
- function getMonthView(_ref3, nr) {
71
+ function getMonthView(_ref3) {
62
72
  let {
73
+ months,
74
+ nr
75
+ } = _ref3;
76
+ const {
63
77
  startMonth,
64
78
  endMonth
65
- } = _ref3;
79
+ } = months;
66
80
  if (startMonth && nr === 0) {
67
81
  return startMonth;
68
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useViews.js","names":["addMonths","useMemo","useRef","useState","useViews","_ref","isRange","dates","_objectWithoutProperties","_excluded","previousDates","setPreviousDates","views","setViews","getViews","_objectSpread","undefined","forceViewChange","hasDateChanges","Object","keys","some","date","currentViews","Array","isArray","length","current","updateViews","cb","arguments","forceViewMonthChange","_ref2","_excluded2","fill","map","view","nr","month","getMonthView","_ref3","startMonth","endMonth","fallbackMonth","Date"],"sources":["../../../../../src/components/date-picker/hooks/useViews.ts"],"sourcesContent":["import addMonths from 'date-fns/addMonths'\nimport { useMemo, useRef, useState } from 'react'\nimport { DatePickerDates } from './useDates'\n\nexport type CalendarView = { nr: number; month?: Date }\n\nexport type ViewDates = {\n startMonth?: DatePickerDates['startMonth']\n endMonth?: DatePickerDates['endMonth']\n}\n\nexport type UseViewsParams = ViewDates & {\n isRange?: boolean\n}\n\nexport default function useViews({ isRange, ...dates }: UseViewsParams) {\n const [previousDates, setPreviousDates] = useState(dates)\n const [views, setViews] = useState<Array<CalendarView>>(\n getViews({ views: undefined, ...dates, isRange })\n )\n\n const forceViewChange = useRef(false)\n\n const hasDateChanges = useMemo(\n () =>\n Object.keys(dates).some(\n (date) => previousDates[date] !== dates[date]\n ),\n [dates, previousDates]\n )\n\n if (hasDateChanges) {\n const currentViews = Array.isArray(views)\n ? views.length > 1\n ? views\n : views[0]\n : views\n\n // Maintain range views unless forced to change by shortcut or keyboard navigation\n if (forceViewChange.current || !isRange) {\n setViews(getViews({ ...dates, views: currentViews, isRange }))\n forceViewChange.current = false\n }\n\n setPreviousDates(dates)\n }\n\n function updateViews(\n views: Array<CalendarView>,\n cb: (...args: unknown[]) => void = null\n ) {\n setViews(views)\n cb?.()\n }\n\n function forceViewMonthChange() {\n forceViewChange.current = true\n }\n\n return {\n views,\n setViews: updateViews,\n forceViewMonthChange,\n } as const\n}\n\nexport function getViews({\n views,\n isRange,\n ...dates\n}: ViewDates &\n UseViewsParams & {\n views?: CalendarView | Array<CalendarView>\n }): Array<CalendarView> {\n // fill the views with the calendar data getMonth()\n return (\n Array.isArray(views)\n ? views\n : Array(\n isRange\n ? 2 // set default range calendars\n : views\n ).fill(1)\n ).map((view, nr) => ({\n month: getMonthView({ ...dates }, nr),\n nr,\n }))\n}\n\nfunction getMonthView(\n { startMonth, endMonth }: ViewDates,\n nr: CalendarView['nr']\n) {\n if (startMonth && nr === 0) {\n return startMonth\n }\n\n if (endMonth && nr === 1) {\n return endMonth\n }\n\n // Here we add that default offset to every new calendar added,\n // the first will get 0, the next one 1, and so forth\n const fallbackMonth = startMonth || new Date()\n return addMonths(fallbackMonth, nr)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useViews.js","names":["addMonths","useCallback","useMemo","useRef","useState","useViews","_ref","isRange","dates","_objectWithoutProperties","_excluded","previousDates","setPreviousDates","views","setViews","getViews","_objectSpread","hasClickedCalendarDay","hasDateChanges","Object","keys","some","date","setHasClickedCalendarDay","hasClicked","current","updatedViews","updateViews","cb","arguments","length","undefined","_ref2","_excluded2","nr","month","getMonthView","months","_ref3","startMonth","endMonth","fallbackMonth","Date"],"sources":["../../../../../src/components/date-picker/hooks/useViews.ts"],"sourcesContent":["import addMonths from 'date-fns/addMonths'\nimport { useCallback, useMemo, useRef, useState } from 'react'\nimport { DatePickerDates } from './useDates'\n\nexport type CalendarView = { nr: number; month?: Date }\n\nexport type ViewDates = {\n startMonth?: DatePickerDates['startMonth']\n endMonth?: DatePickerDates['endMonth']\n}\n\nexport type UseViewsParams = ViewDates & {\n isRange?: boolean\n}\n\nexport default function useViews({ isRange, ...dates }: UseViewsParams) {\n const [previousDates, setPreviousDates] = useState(dates)\n const [views, setViews] = useState<Array<CalendarView>>(\n getViews({ ...dates, isRange })\n )\n\n const hasClickedCalendarDay = useRef<boolean>(false)\n\n const hasDateChanges = useMemo(\n () =>\n Object.keys(dates).some(\n (date) => previousDates[date] !== dates[date]\n ),\n [dates, previousDates]\n )\n\n const setHasClickedCalendarDay = useCallback(\n (hasClicked: boolean) => (hasClickedCalendarDay.current = hasClicked),\n []\n )\n\n if (hasDateChanges) {\n setPreviousDates(dates)\n\n // Stop here if the user has clicked a day in the calendar, as we don't want update the views then\n if (hasClickedCalendarDay.current) {\n setHasClickedCalendarDay(false)\n } else {\n const updatedViews = getViews({\n ...dates,\n isRange,\n })\n\n setViews(updatedViews)\n }\n }\n\n function updateViews(\n views: Array<CalendarView>,\n cb: (...args: unknown[]) => void = null\n ) {\n setViews(views)\n cb?.()\n }\n\n return {\n views,\n setViews: updateViews,\n setHasClickedCalendarDay,\n } as const\n}\n\nexport function getViews({\n isRange,\n ...dates\n}: ViewDates & UseViewsParams): Array<CalendarView> {\n return isRange\n ? [\n { nr: 0, month: getMonthView({ months: dates, nr: 0 }) },\n { nr: 1, month: getMonthView({ months: dates, nr: 1 }) },\n ]\n : [{ nr: 0, month: getMonthView({ months: dates, nr: 0 }) }]\n}\n\nfunction getMonthView({ months, nr }: { months: ViewDates; nr: number }) {\n const { startMonth, endMonth } = months\n\n if (startMonth && nr === 0) {\n return startMonth\n }\n\n if (endMonth && nr === 1) {\n return endMonth\n }\n\n // Here we add that default offset to every new calendar added,\n // the first will get 0, the next one 1, and so forth\n const fallbackMonth = startMonth || new Date()\n return addMonths(fallbackMonth, nr)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,3 @@
1
1
  import { PropertiesTableProps } from '../../shared/types';
2
2
  export declare const DialogProperties: PropertiesTableProps;
3
+ export declare const DialogEvents: PropertiesTableProps;
@@ -110,4 +110,16 @@ export const DialogProperties = {
110
110
  status: 'optional'
111
111
  }
112
112
  };
113
+ export const DialogEvents = {
114
+ onConfirm: {
115
+ doc: 'For variant confirmation, handle the confirm action click. Provided with the mouse event and the Modal function `close` as arguments.',
116
+ type: 'function',
117
+ status: 'optional'
118
+ },
119
+ onDecline: {
120
+ doc: 'For variant confirmation, handle the decline action click. Provided with the mouse event and the Modal function `close` as arguments.',
121
+ type: 'function',
122
+ status: 'optional'
123
+ }
124
+ };
113
125
  //# sourceMappingURL=DialogDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogDocs.js","names":["DialogProperties","variant","doc","type","status","title","minWidth","maxWidth","className","spacing","preventCoreStyle","navContent","headerContent","modalContent","description","verticalAlignment","alignContent","fullscreen","icon","confirmType","declineText","confirmText","hideDecline","hideConfirm","scrollRef","contentRef"],"sources":["../../../../src/components/dialog/DialogDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const DialogProperties: PropertiesTableProps = {\n variant: {\n doc: 'The dialog variant. Can either be `information` or `confirmation`. Defaults to `information`.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'The dialog title. Displays on the very top of the content.',\n type: 'string',\n status: 'optional',\n },\n minWidth: {\n doc: \"The minimum Dialog content width, defined by a CSS width value like `50vw` (50% of the viewport). Be careful on using fixed `minWidth` so you don't break responsiveness. Defaults to `30rem` (average width is set to `60vw`).\",\n type: 'string',\n status: 'optional',\n },\n maxWidth: {\n doc: 'The maximum Dialog content width, defined by a CSS width value like `20rem`. Defaults to `60rem` (average width is set to `60vw`).',\n type: 'string',\n status: 'optional',\n },\n className: {\n doc: 'Give the Dialog content a class name (maps to `dnb-dialog`).',\n type: 'string',\n status: 'optional',\n },\n spacing: {\n doc: 'If set to `false` then the dialog content will be shown without any spacing. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n preventCoreStyle: {\n doc: 'By default the dialog content gets added the core style class `dnb-core-style`. Use `false` to disable this behavior.',\n type: 'boolean',\n status: 'optional',\n },\n navContent: {\n doc: 'The content which will appear in the navigation, above the header, and side-by-side the close button.',\n type: 'React.Node',\n status: 'optional',\n },\n headerContent: {\n doc: 'The content which will appear in the header of the dialog.',\n type: 'React.Node',\n status: 'optional',\n },\n modalContent: {\n doc: 'The content which will appear when triggering the dialog.',\n type: 'React.Node',\n status: 'optional',\n },\n description: {\n doc: 'A description will be positioned below the title, but before the content. Used for Dialog variant `confirmation` to further describe what the actions will do.',\n type: 'string',\n status: 'optional',\n },\n verticalAlignment: {\n doc: 'Define the vertical alignment of the container. Can be set to `top` or `center`. Defaults to `center`.',\n type: 'string',\n status: 'optional',\n },\n alignContent: {\n doc: 'Define the inner horizontal alignment of the content. Can be set to `left`, `center`, `right` and `centered`. If `centered`, then the content will also be centered vertically. Defaults to `left`.',\n type: 'string',\n status: 'optional',\n },\n fullscreen: {\n doc: 'If set to `true` then the dialog content will be shown as fullscreen, without showing the original content behind. Can be set to `false` to omit the auto fullscreen. Defaults to `auto`.',\n type: 'boolean',\n status: 'optional',\n },\n icon: {\n doc: 'An icon to display at the top of the component. Should be of size medium, so make sure you import the `_medium` version of the Eufemia icon.',\n type: 'React.Node',\n status: 'optional',\n },\n confirmType: {\n doc: 'For variant confirmation, the dialog is either an informational (`info`) or a warning (`warning`) message. Defaults to `info`.',\n type: 'string',\n status: 'optional',\n },\n declineText: {\n doc: 'For dialog actions, give a custom text for the decline button.',\n type: 'string',\n status: 'optional',\n },\n confirmText: {\n doc: 'For dialog actions, give a custom text for the confirmation button.',\n type: 'string',\n status: 'optional',\n },\n hideDecline: {\n doc: 'For variant confirmation, hide the default decline button and only show the confirmation button.',\n type: 'boolean',\n status: 'optional',\n },\n hideConfirm: {\n doc: 'For variant confirmation, hide the default confirm button and only show the decline button.',\n type: 'boolean',\n status: 'optional',\n },\n scrollRef: {\n doc: 'To get the scroll Element, pass in your own React ref.',\n type: 'React.Ref',\n status: 'optional',\n },\n contentRef: {\n doc: 'To get the inner content Element, pass in your own React ref.',\n type: 'React.Ref',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,4DAA4D;IACjEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,iOAAiO;IACtOC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,QAAQ,EAAE;IACRL,GAAG,EAAE,oIAAoI;IACzIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,SAAS,EAAE;IACTN,GAAG,EAAE,8DAA8D;IACnEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,OAAO,EAAE;IACPP,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,gBAAgB,EAAE;IAChBR,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,UAAU,EAAE;IACVT,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDQ,aAAa,EAAE;IACbV,GAAG,EAAE,4DAA4D;IACjEC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDS,YAAY,EAAE;IACZX,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDU,WAAW,EAAE;IACXZ,GAAG,EAAE,gKAAgK;IACrKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDW,iBAAiB,EAAE;IACjBb,GAAG,EAAE,wGAAwG;IAC7GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDY,YAAY,EAAE;IACZd,GAAG,EAAE,qMAAqM;IAC1MC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,UAAU,EAAE;IACVf,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDc,IAAI,EAAE;IACJhB,GAAG,EAAE,8IAA8I;IACnJC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDe,WAAW,EAAE;IACXjB,GAAG,EAAE,gIAAgI;IACrIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDgB,WAAW,EAAE;IACXlB,GAAG,EAAE,gEAAgE;IACrEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDiB,WAAW,EAAE;IACXnB,GAAG,EAAE,qEAAqE;IAC1EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDkB,WAAW,EAAE;IACXpB,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDmB,WAAW,EAAE;IACXrB,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDoB,SAAS,EAAE;IACTtB,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDqB,UAAU,EAAE;IACVvB,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"DialogDocs.js","names":["DialogProperties","variant","doc","type","status","title","minWidth","maxWidth","className","spacing","preventCoreStyle","navContent","headerContent","modalContent","description","verticalAlignment","alignContent","fullscreen","icon","confirmType","declineText","confirmText","hideDecline","hideConfirm","scrollRef","contentRef","DialogEvents","onConfirm","onDecline"],"sources":["../../../../src/components/dialog/DialogDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const DialogProperties: PropertiesTableProps = {\n variant: {\n doc: 'The dialog variant. Can either be `information` or `confirmation`. Defaults to `information`.',\n type: 'string',\n status: 'optional',\n },\n title: {\n doc: 'The dialog title. Displays on the very top of the content.',\n type: 'string',\n status: 'optional',\n },\n minWidth: {\n doc: \"The minimum Dialog content width, defined by a CSS width value like `50vw` (50% of the viewport). Be careful on using fixed `minWidth` so you don't break responsiveness. Defaults to `30rem` (average width is set to `60vw`).\",\n type: 'string',\n status: 'optional',\n },\n maxWidth: {\n doc: 'The maximum Dialog content width, defined by a CSS width value like `20rem`. Defaults to `60rem` (average width is set to `60vw`).',\n type: 'string',\n status: 'optional',\n },\n className: {\n doc: 'Give the Dialog content a class name (maps to `dnb-dialog`).',\n type: 'string',\n status: 'optional',\n },\n spacing: {\n doc: 'If set to `false` then the dialog content will be shown without any spacing. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n preventCoreStyle: {\n doc: 'By default the dialog content gets added the core style class `dnb-core-style`. Use `false` to disable this behavior.',\n type: 'boolean',\n status: 'optional',\n },\n navContent: {\n doc: 'The content which will appear in the navigation, above the header, and side-by-side the close button.',\n type: 'React.Node',\n status: 'optional',\n },\n headerContent: {\n doc: 'The content which will appear in the header of the dialog.',\n type: 'React.Node',\n status: 'optional',\n },\n modalContent: {\n doc: 'The content which will appear when triggering the dialog.',\n type: 'React.Node',\n status: 'optional',\n },\n description: {\n doc: 'A description will be positioned below the title, but before the content. Used for Dialog variant `confirmation` to further describe what the actions will do.',\n type: 'string',\n status: 'optional',\n },\n verticalAlignment: {\n doc: 'Define the vertical alignment of the container. Can be set to `top` or `center`. Defaults to `center`.',\n type: 'string',\n status: 'optional',\n },\n alignContent: {\n doc: 'Define the inner horizontal alignment of the content. Can be set to `left`, `center`, `right` and `centered`. If `centered`, then the content will also be centered vertically. Defaults to `left`.',\n type: 'string',\n status: 'optional',\n },\n fullscreen: {\n doc: 'If set to `true` then the dialog content will be shown as fullscreen, without showing the original content behind. Can be set to `false` to omit the auto fullscreen. Defaults to `auto`.',\n type: 'boolean',\n status: 'optional',\n },\n icon: {\n doc: 'An icon to display at the top of the component. Should be of size medium, so make sure you import the `_medium` version of the Eufemia icon.',\n type: 'React.Node',\n status: 'optional',\n },\n confirmType: {\n doc: 'For variant confirmation, the dialog is either an informational (`info`) or a warning (`warning`) message. Defaults to `info`.',\n type: 'string',\n status: 'optional',\n },\n declineText: {\n doc: 'For dialog actions, give a custom text for the decline button.',\n type: 'string',\n status: 'optional',\n },\n confirmText: {\n doc: 'For dialog actions, give a custom text for the confirmation button.',\n type: 'string',\n status: 'optional',\n },\n hideDecline: {\n doc: 'For variant confirmation, hide the default decline button and only show the confirmation button.',\n type: 'boolean',\n status: 'optional',\n },\n hideConfirm: {\n doc: 'For variant confirmation, hide the default confirm button and only show the decline button.',\n type: 'boolean',\n status: 'optional',\n },\n scrollRef: {\n doc: 'To get the scroll Element, pass in your own React ref.',\n type: 'React.Ref',\n status: 'optional',\n },\n contentRef: {\n doc: 'To get the inner content Element, pass in your own React ref.',\n type: 'React.Ref',\n status: 'optional',\n },\n}\n\nexport const DialogEvents: PropertiesTableProps = {\n onConfirm: {\n doc: 'For variant confirmation, handle the confirm action click. Provided with the mouse event and the Modal function `close` as arguments.',\n type: 'function',\n status: 'optional',\n },\n onDecline: {\n doc: 'For variant confirmation, handle the decline action click. Provided with the mouse event and the Modal function `close` as arguments.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import { PropertiesTableProps } from '../../shared/types';
2
+ export declare const DrawerProperties: PropertiesTableProps;
@@ -0,0 +1,63 @@
1
+ export const DrawerProperties = {
2
+ containerPlacement: {
3
+ doc: 'Defines on what side the Drawer should be opened. Can be set to `left`, `right`, `top` and `bottom`. Defaults to `right`.',
4
+ type: ['left', 'right', 'top', 'bottom'],
5
+ status: 'optional'
6
+ },
7
+ title: {
8
+ doc: 'The drawer title. Displays on the very top of the content.',
9
+ type: 'React.ReactNode',
10
+ status: 'optional'
11
+ },
12
+ minWidth: {
13
+ doc: "The minimum Drawer content width, defined by a CSS width value like `50vw` (50% of the viewport). Be careful on using fixed `minWidth` so you don't break responsiveness. Defaults to `30rem` (average width is set to `60vw`).",
14
+ type: ['string', 'number'],
15
+ status: 'optional'
16
+ },
17
+ maxWidth: {
18
+ doc: 'The maximum Drawer content width, defined by a CSS width value like `20rem`. Defaults to `60rem` (average width is set to `60vw`).',
19
+ type: ['string', 'number'],
20
+ status: 'optional'
21
+ },
22
+ className: {
23
+ doc: 'Give the Drawer content a class name (maps to `dnb-drawer`).',
24
+ type: 'string',
25
+ status: 'optional'
26
+ },
27
+ spacing: {
28
+ doc: 'If set to `false` then the drawer content will be shown without any spacing. Defaults to `true`. ',
29
+ type: 'boolean',
30
+ status: 'optional'
31
+ },
32
+ preventCoreStyle: {
33
+ doc: 'By default the drawer content gets added the core style class `dnb-core-style`. Use `false` to disable this behavior.',
34
+ type: 'boolean',
35
+ status: 'optional'
36
+ },
37
+ navContent: {
38
+ doc: 'The content which will appear in the navigation, above the header, and side-by-side the close button.',
39
+ type: 'React.ReactNode',
40
+ status: 'optional'
41
+ },
42
+ headerContent: {
43
+ doc: 'The content which will appear in the header of the drawer.',
44
+ type: 'React.ReactNode',
45
+ status: 'optional'
46
+ },
47
+ modalContent: {
48
+ doc: 'The content which will appear when triggering the drawer.',
49
+ type: 'React.ReactNode',
50
+ status: 'optional'
51
+ },
52
+ alignContent: {
53
+ doc: 'Define the inner horizontal alignment of the content. Can be set to `left`, `center`, `right` and `centered`. If `centered`, then the content will also be centered vertically. Defaults to `left`.',
54
+ type: ['left', 'right', 'centered', 'center'],
55
+ status: 'optional'
56
+ },
57
+ fullscreen: {
58
+ doc: 'If set to `true` then the drawer content will be shown as fullscreen, without showing the original content behind. Can be set to `false` to omit the auto fullscreen. Defaults to `auto`. ',
59
+ type: ['boolean', 'string'],
60
+ status: 'optional'
61
+ }
62
+ };
63
+ //# sourceMappingURL=DrawerDocs.js.map