@dnb/eufemia 10.69.0 → 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 (900) hide show
  1. package/CHANGELOG.md +47 -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 +13 -1
  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.d.ts +2 -0
  75. package/cjs/components/global-error/GlobalErrorDocs.js +74 -0
  76. package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
  77. package/cjs/components/global-status/GlobalStatus.d.ts +37 -58
  78. package/cjs/components/global-status/GlobalStatusController.d.ts +0 -9
  79. package/cjs/components/global-status/GlobalStatusDocs.d.ts +6 -0
  80. package/cjs/components/global-status/GlobalStatusDocs.js +192 -0
  81. package/cjs/components/global-status/GlobalStatusDocs.js.map +1 -0
  82. package/cjs/components/heading/HeadingDocs.d.ts +2 -0
  83. package/cjs/components/heading/HeadingDocs.js +79 -0
  84. package/cjs/components/heading/HeadingDocs.js.map +1 -0
  85. package/cjs/components/help-button/HelpButtonDocs.d.ts +3 -0
  86. package/cjs/components/help-button/HelpButtonDocs.js +46 -0
  87. package/cjs/components/help-button/HelpButtonDocs.js.map +1 -0
  88. package/cjs/components/icon/IconDocs.d.ts +2 -0
  89. package/cjs/components/icon/IconDocs.js +59 -0
  90. package/cjs/components/icon/IconDocs.js.map +1 -0
  91. package/cjs/components/icon/IconPrimaryDocs.d.ts +2 -0
  92. package/cjs/components/icon/IconPrimaryDocs.js +24 -0
  93. package/cjs/components/icon/IconPrimaryDocs.js.map +1 -0
  94. package/cjs/components/info-card/InfoCard.d.ts +6 -1
  95. package/cjs/components/info-card/InfoCard.js +4 -3
  96. package/cjs/components/info-card/InfoCard.js.map +1 -1
  97. package/cjs/components/info-card/InfoCardDocs.d.ts +3 -0
  98. package/cjs/components/info-card/InfoCardDocs.js +106 -0
  99. package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
  100. package/cjs/components/input/Input.d.ts +0 -21
  101. package/cjs/components/input/InputDocs.d.ts +1 -0
  102. package/cjs/components/input/InputDocs.js +33 -1
  103. package/cjs/components/input/InputDocs.js.map +1 -1
  104. package/cjs/components/input-masked/InputMasked.d.ts +0 -12
  105. package/cjs/components/input-masked/InputMaskedDocs.d.ts +1 -0
  106. package/cjs/components/input-masked/InputMaskedDocs.js +13 -1
  107. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  108. package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  109. package/cjs/components/input-masked/MultiInputMaskedDocs.js +24 -0
  110. package/cjs/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  111. package/cjs/components/pagination/Pagination.d.ts +35 -33
  112. package/cjs/components/pagination/Pagination.js +2 -0
  113. package/cjs/components/pagination/Pagination.js.map +1 -1
  114. package/cjs/components/pagination/PaginationDocs.d.ts +3 -0
  115. package/cjs/components/pagination/PaginationDocs.js +191 -0
  116. package/cjs/components/pagination/PaginationDocs.js.map +1 -0
  117. package/cjs/components/pagination/PaginationHelpers.d.ts +0 -3
  118. package/cjs/components/pagination/PaginationInfinity.d.ts +0 -3
  119. package/cjs/components/pagination/PaginationProvider.js +1 -1
  120. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  121. package/cjs/components/radio/Radio.d.ts +12 -15
  122. package/cjs/components/radio/RadioDocs.d.ts +5 -0
  123. package/cjs/components/radio/RadioDocs.js +145 -0
  124. package/cjs/components/radio/RadioDocs.js.map +1 -0
  125. package/cjs/components/radio/RadioGroup.d.ts +0 -30
  126. package/cjs/components/skeleton/SkeletonDocs.d.ts +2 -0
  127. package/cjs/components/skeleton/SkeletonDocs.js +44 -0
  128. package/cjs/components/skeleton/SkeletonDocs.js.map +1 -0
  129. package/cjs/components/skeleton/SkeletonHelper.d.ts +0 -6
  130. package/cjs/components/skip-content/SkipContentDocs.d.ts +2 -0
  131. package/cjs/components/skip-content/SkipContentDocs.js +29 -0
  132. package/cjs/components/skip-content/SkipContentDocs.js.map +1 -0
  133. package/cjs/components/tabs/Tabs.js +2 -2
  134. package/cjs/components/tabs/Tabs.js.map +1 -1
  135. package/cjs/components/tag/TagDocs.d.ts +4 -0
  136. package/cjs/components/tag/TagDocs.js +93 -0
  137. package/cjs/components/tag/TagDocs.js.map +1 -0
  138. package/cjs/components/textarea/Textarea.d.ts +0 -12
  139. package/cjs/components/textarea/TextareaDocs.d.ts +1 -0
  140. package/cjs/components/textarea/TextareaDocs.js +23 -1
  141. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  142. package/cjs/components/timeline/TimelineDocs.d.ts +3 -0
  143. package/cjs/components/timeline/TimelineDocs.js +66 -0
  144. package/cjs/components/timeline/TimelineDocs.js.map +1 -0
  145. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -3
  146. package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  147. package/cjs/components/toggle-button/ToggleButtonDocs.js +8 -1
  148. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  149. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  150. package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  151. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
  152. package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  153. package/cjs/components/tooltip/TooltipDocs.d.ts +2 -0
  154. package/cjs/components/tooltip/TooltipDocs.js +79 -0
  155. package/cjs/components/tooltip/TooltipDocs.js.map +1 -0
  156. package/cjs/components/upload/Upload.js +6 -4
  157. package/cjs/components/upload/Upload.js.map +1 -1
  158. package/cjs/components/upload/UploadDocs.js +5 -0
  159. package/cjs/components/upload/UploadDocs.js.map +1 -1
  160. package/cjs/components/upload/UploadFileList.js +5 -4
  161. package/cjs/components/upload/UploadFileList.js.map +1 -1
  162. package/cjs/components/upload/UploadFileListCell.d.ts +6 -1
  163. package/cjs/components/upload/UploadFileListCell.js +8 -5
  164. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  165. package/cjs/components/upload/types.d.ts +5 -0
  166. package/cjs/components/upload/types.js.map +1 -1
  167. package/cjs/components/upload/useUpload.d.ts +1 -0
  168. package/cjs/components/upload/useUpload.js +9 -2
  169. package/cjs/components/upload/useUpload.js.map +1 -1
  170. package/cjs/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  171. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js +19 -0
  172. package/cjs/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  173. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -6
  174. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  175. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  176. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  177. package/cjs/extensions/forms/DataContext/Provider/Provider.js +63 -75
  178. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  179. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -0
  180. package/cjs/extensions/forms/Field/Date/Date.js +8 -8
  181. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  182. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  183. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  184. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  185. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  186. package/cjs/extensions/forms/Field/Upload/Upload.js +10 -2
  187. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  188. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  189. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  190. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  191. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  192. package/cjs/extensions/forms/Form/Isolation/Isolation.js +3 -4
  193. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  194. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  195. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  196. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  197. package/cjs/extensions/forms/Form/Visibility/Visibility.js +1 -0
  198. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  199. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  200. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  201. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  202. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  203. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  204. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  205. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  206. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  207. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  208. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  209. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  210. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  211. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  212. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  213. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  214. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  215. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  216. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  217. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  218. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  219. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  220. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  221. package/cjs/extensions/forms/Value/Date/Date.d.ts +0 -6
  222. package/cjs/extensions/forms/Value/Date/Date.js +14 -38
  223. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  224. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  225. package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  227. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  228. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  229. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -35
  230. package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  231. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +106 -59
  232. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  233. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  234. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js +66 -0
  235. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  236. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  237. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  238. package/cjs/extensions/forms/Wizard/Context/types.d.ts +9 -6
  239. package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -1
  240. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  241. package/cjs/extensions/forms/Wizard/Step/Step.js +65 -22
  242. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  243. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  244. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  245. package/cjs/extensions/forms/Wizard/hooks/useStep.js +10 -18
  246. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  247. package/cjs/extensions/forms/hooks/useFieldProps.js +16 -9
  248. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  249. package/cjs/extensions/forms/hooks/useValueProps.js +1 -1
  250. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  251. package/cjs/extensions/payment-card/PaymentCard.d.ts +7 -7
  252. package/cjs/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  253. package/cjs/extensions/payment-card/PaymentCardDocs.js +205 -0
  254. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  255. package/cjs/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  256. package/cjs/fragments/scroll-view/ScrollViewDocs.js +19 -0
  257. package/cjs/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  258. package/cjs/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  259. package/cjs/fragments/text-counter/TextCounterDocs.js +29 -0
  260. package/cjs/fragments/text-counter/TextCounterDocs.js.map +1 -0
  261. package/cjs/shared/Eufemia.d.ts +1 -1
  262. package/cjs/shared/Eufemia.js +2 -2
  263. package/cjs/shared/Eufemia.js.map +1 -1
  264. package/cjs/shared/MediaQueryDocs.d.ts +2 -0
  265. package/cjs/shared/MediaQueryDocs.js +34 -0
  266. package/cjs/shared/MediaQueryDocs.js.map +1 -0
  267. package/cjs/shared/ThemeDocs.d.ts +2 -0
  268. package/cjs/shared/ThemeDocs.js +39 -0
  269. package/cjs/shared/ThemeDocs.js.map +1 -0
  270. package/cjs/shared/component-helper.js +1 -1
  271. package/cjs/shared/component-helper.js.map +1 -1
  272. package/cjs/shared/locales/en-GB.d.ts +1 -0
  273. package/cjs/shared/locales/en-GB.js +1 -0
  274. package/cjs/shared/locales/en-GB.js.map +1 -1
  275. package/cjs/shared/locales/en-US.d.ts +1 -0
  276. package/cjs/shared/locales/index.d.ts +2 -0
  277. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  278. package/cjs/shared/locales/nb-NO.js +1 -0
  279. package/cjs/shared/locales/nb-NO.js.map +1 -1
  280. package/cjs/shared/locales/sv-SE.d.ts +1 -0
  281. package/cjs/shared/locales/sv-SE.js +1 -0
  282. package/cjs/shared/locales/sv-SE.js.map +1 -1
  283. package/cjs/style/core/scopes.scss +1 -1
  284. package/cjs/style/dnb-ui-basis.css +1 -1
  285. package/cjs/style/dnb-ui-basis.min.css +1 -1
  286. package/cjs/style/dnb-ui-body.css +1 -1
  287. package/cjs/style/dnb-ui-body.min.css +1 -1
  288. package/cjs/style/dnb-ui-components.css +8 -0
  289. package/cjs/style/dnb-ui-components.min.css +1 -1
  290. package/cjs/style/dnb-ui-core.css +1 -1
  291. package/cjs/style/dnb-ui-core.min.css +1 -1
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  293. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  296. package/cjs/style/themes/theme-ui/ui-theme-components.css +13 -5
  297. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  298. package/components/aria-live/AriaLiveDocs.d.ts +2 -0
  299. package/components/aria-live/AriaLiveDocs.js +48 -0
  300. package/components/aria-live/AriaLiveDocs.js.map +1 -0
  301. package/components/avatar/Avatar.d.ts +10 -0
  302. package/components/avatar/Avatar.js +17 -3
  303. package/components/avatar/Avatar.js.map +1 -1
  304. package/components/avatar/AvatarDocs.d.ts +3 -0
  305. package/components/avatar/AvatarDocs.js +95 -0
  306. package/components/avatar/AvatarDocs.js.map +1 -0
  307. package/components/avatar/AvatarGroup.d.ts +10 -0
  308. package/components/avatar/AvatarGroup.js +17 -5
  309. package/components/avatar/AvatarGroup.js.map +1 -1
  310. package/components/avatar/style/dnb-avatar.css +8 -0
  311. package/components/avatar/style/dnb-avatar.min.css +1 -1
  312. package/components/avatar/style/dnb-avatar.scss +9 -0
  313. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  314. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  315. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  316. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  317. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  318. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  319. package/components/badge/BadgeDocs.d.ts +2 -0
  320. package/components/badge/BadgeDocs.js +48 -0
  321. package/components/badge/BadgeDocs.js.map +1 -0
  322. package/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  323. package/components/breadcrumb/BreadcrumbDocs.js +119 -0
  324. package/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  325. package/components/button/Button.d.ts +0 -3
  326. package/components/button/ButtonDocs.d.ts +1 -0
  327. package/components/button/ButtonDocs.js +7 -0
  328. package/components/button/ButtonDocs.js.map +1 -1
  329. package/components/date-picker/DatePickerAddon.js +1 -3
  330. package/components/date-picker/DatePickerAddon.js.map +1 -1
  331. package/components/date-picker/DatePickerCalc.d.ts +13 -0
  332. package/components/date-picker/DatePickerCalc.js +41 -0
  333. package/components/date-picker/DatePickerCalc.js.map +1 -1
  334. package/components/date-picker/DatePickerCalendar.js +13 -11
  335. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  336. package/components/date-picker/DatePickerContext.d.ts +1 -1
  337. package/components/date-picker/DatePickerContext.js.map +1 -1
  338. package/components/date-picker/DatePickerProvider.js +2 -2
  339. package/components/date-picker/DatePickerProvider.js.map +1 -1
  340. package/components/date-picker/hooks/useViews.d.ts +2 -4
  341. package/components/date-picker/hooks/useViews.js +38 -24
  342. package/components/date-picker/hooks/useViews.js.map +1 -1
  343. package/components/dialog/DialogDocs.d.ts +1 -0
  344. package/components/dialog/DialogDocs.js +12 -0
  345. package/components/dialog/DialogDocs.js.map +1 -1
  346. package/components/drawer/DrawerDocs.d.ts +2 -0
  347. package/components/drawer/DrawerDocs.js +63 -0
  348. package/components/drawer/DrawerDocs.js.map +1 -0
  349. package/components/dropdown/DropdownDocs.d.ts +2 -0
  350. package/components/dropdown/DropdownDocs.js +23 -0
  351. package/components/dropdown/DropdownDocs.js.map +1 -0
  352. package/components/form-label/FormLabelDocs.d.ts +2 -0
  353. package/components/form-label/FormLabelDocs.js +53 -0
  354. package/components/form-label/FormLabelDocs.js.map +1 -0
  355. package/components/form-row/FormRow.d.ts +45 -0
  356. package/components/form-row/FormRowDocs.d.ts +2 -0
  357. package/components/form-row/FormRowDocs.js +83 -0
  358. package/components/form-row/FormRowDocs.js.map +1 -0
  359. package/components/form-set/FormSet.d.ts +18 -0
  360. package/components/form-set/FormSetDocs.d.ts +3 -0
  361. package/components/form-set/FormSetDocs.js +50 -0
  362. package/components/form-set/FormSetDocs.js.map +1 -0
  363. package/components/form-status/FormStatus.d.ts +18 -18
  364. package/components/form-status/FormStatusDocs.d.ts +2 -0
  365. package/components/form-status/FormStatusDocs.js +83 -0
  366. package/components/form-status/FormStatusDocs.js.map +1 -0
  367. package/components/global-error/GlobalError.d.ts +13 -1
  368. package/components/global-error/GlobalError.js +15 -6
  369. package/components/global-error/GlobalError.js.map +1 -1
  370. package/components/global-error/GlobalErrorDocs.d.ts +2 -0
  371. package/components/global-error/GlobalErrorDocs.js +68 -0
  372. package/components/global-error/GlobalErrorDocs.js.map +1 -0
  373. package/components/global-status/GlobalStatus.d.ts +37 -58
  374. package/components/global-status/GlobalStatusController.d.ts +0 -9
  375. package/components/global-status/GlobalStatusDocs.d.ts +6 -0
  376. package/components/global-status/GlobalStatusDocs.js +186 -0
  377. package/components/global-status/GlobalStatusDocs.js.map +1 -0
  378. package/components/heading/HeadingDocs.d.ts +2 -0
  379. package/components/heading/HeadingDocs.js +73 -0
  380. package/components/heading/HeadingDocs.js.map +1 -0
  381. package/components/help-button/HelpButtonDocs.d.ts +3 -0
  382. package/components/help-button/HelpButtonDocs.js +40 -0
  383. package/components/help-button/HelpButtonDocs.js.map +1 -0
  384. package/components/icon/IconDocs.d.ts +2 -0
  385. package/components/icon/IconDocs.js +53 -0
  386. package/components/icon/IconDocs.js.map +1 -0
  387. package/components/icon/IconPrimaryDocs.d.ts +2 -0
  388. package/components/icon/IconPrimaryDocs.js +18 -0
  389. package/components/icon/IconPrimaryDocs.js.map +1 -0
  390. package/components/info-card/InfoCard.d.ts +6 -1
  391. package/components/info-card/InfoCard.js +4 -3
  392. package/components/info-card/InfoCard.js.map +1 -1
  393. package/components/info-card/InfoCardDocs.d.ts +3 -0
  394. package/components/info-card/InfoCardDocs.js +100 -0
  395. package/components/info-card/InfoCardDocs.js.map +1 -0
  396. package/components/input/Input.d.ts +0 -21
  397. package/components/input/InputDocs.d.ts +1 -0
  398. package/components/input/InputDocs.js +32 -0
  399. package/components/input/InputDocs.js.map +1 -1
  400. package/components/input-masked/InputMasked.d.ts +0 -12
  401. package/components/input-masked/InputMaskedDocs.d.ts +1 -0
  402. package/components/input-masked/InputMaskedDocs.js +12 -0
  403. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  404. package/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  405. package/components/input-masked/MultiInputMaskedDocs.js +18 -0
  406. package/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  407. package/components/pagination/Pagination.d.ts +35 -33
  408. package/components/pagination/Pagination.js +2 -0
  409. package/components/pagination/Pagination.js.map +1 -1
  410. package/components/pagination/PaginationDocs.d.ts +3 -0
  411. package/components/pagination/PaginationDocs.js +185 -0
  412. package/components/pagination/PaginationDocs.js.map +1 -0
  413. package/components/pagination/PaginationHelpers.d.ts +0 -3
  414. package/components/pagination/PaginationInfinity.d.ts +0 -3
  415. package/components/pagination/PaginationProvider.js +1 -1
  416. package/components/pagination/PaginationProvider.js.map +1 -1
  417. package/components/radio/Radio.d.ts +12 -15
  418. package/components/radio/RadioDocs.d.ts +5 -0
  419. package/components/radio/RadioDocs.js +139 -0
  420. package/components/radio/RadioDocs.js.map +1 -0
  421. package/components/radio/RadioGroup.d.ts +0 -30
  422. package/components/skeleton/SkeletonDocs.d.ts +2 -0
  423. package/components/skeleton/SkeletonDocs.js +38 -0
  424. package/components/skeleton/SkeletonDocs.js.map +1 -0
  425. package/components/skeleton/SkeletonHelper.d.ts +0 -6
  426. package/components/skip-content/SkipContentDocs.d.ts +2 -0
  427. package/components/skip-content/SkipContentDocs.js +23 -0
  428. package/components/skip-content/SkipContentDocs.js.map +1 -0
  429. package/components/tabs/Tabs.js +2 -2
  430. package/components/tabs/Tabs.js.map +1 -1
  431. package/components/tag/TagDocs.d.ts +4 -0
  432. package/components/tag/TagDocs.js +87 -0
  433. package/components/tag/TagDocs.js.map +1 -0
  434. package/components/textarea/Textarea.d.ts +0 -12
  435. package/components/textarea/TextareaDocs.d.ts +1 -0
  436. package/components/textarea/TextareaDocs.js +22 -0
  437. package/components/textarea/TextareaDocs.js.map +1 -1
  438. package/components/timeline/TimelineDocs.d.ts +3 -0
  439. package/components/timeline/TimelineDocs.js +60 -0
  440. package/components/timeline/TimelineDocs.js.map +1 -0
  441. package/components/toggle-button/ToggleButton.d.ts +0 -3
  442. package/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  443. package/components/toggle-button/ToggleButtonDocs.js +7 -0
  444. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  445. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  446. package/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  447. package/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  448. package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  449. package/components/tooltip/TooltipDocs.d.ts +2 -0
  450. package/components/tooltip/TooltipDocs.js +73 -0
  451. package/components/tooltip/TooltipDocs.js.map +1 -0
  452. package/components/upload/Upload.js +6 -4
  453. package/components/upload/Upload.js.map +1 -1
  454. package/components/upload/UploadDocs.js +5 -0
  455. package/components/upload/UploadDocs.js.map +1 -1
  456. package/components/upload/UploadFileList.js +5 -4
  457. package/components/upload/UploadFileList.js.map +1 -1
  458. package/components/upload/UploadFileListCell.d.ts +6 -1
  459. package/components/upload/UploadFileListCell.js +8 -5
  460. package/components/upload/UploadFileListCell.js.map +1 -1
  461. package/components/upload/types.d.ts +5 -0
  462. package/components/upload/types.js.map +1 -1
  463. package/components/upload/useUpload.d.ts +1 -0
  464. package/components/upload/useUpload.js +7 -1
  465. package/components/upload/useUpload.js.map +1 -1
  466. package/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  467. package/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  468. package/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  469. package/es/components/aria-live/AriaLiveDocs.d.ts +2 -0
  470. package/es/components/aria-live/AriaLiveDocs.js +48 -0
  471. package/es/components/aria-live/AriaLiveDocs.js.map +1 -0
  472. package/es/components/avatar/Avatar.d.ts +10 -0
  473. package/es/components/avatar/Avatar.js +17 -3
  474. package/es/components/avatar/Avatar.js.map +1 -1
  475. package/es/components/avatar/AvatarDocs.d.ts +3 -0
  476. package/es/components/avatar/AvatarDocs.js +95 -0
  477. package/es/components/avatar/AvatarDocs.js.map +1 -0
  478. package/es/components/avatar/AvatarGroup.d.ts +10 -0
  479. package/es/components/avatar/AvatarGroup.js +17 -5
  480. package/es/components/avatar/AvatarGroup.js.map +1 -1
  481. package/es/components/avatar/style/dnb-avatar.css +8 -0
  482. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  483. package/es/components/avatar/style/dnb-avatar.scss +9 -0
  484. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
  485. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  486. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
  487. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
  488. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
  489. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
  490. package/es/components/badge/BadgeDocs.d.ts +2 -0
  491. package/es/components/badge/BadgeDocs.js +48 -0
  492. package/es/components/badge/BadgeDocs.js.map +1 -0
  493. package/es/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
  494. package/es/components/breadcrumb/BreadcrumbDocs.js +119 -0
  495. package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
  496. package/es/components/button/Button.d.ts +0 -3
  497. package/es/components/button/ButtonDocs.d.ts +1 -0
  498. package/es/components/button/ButtonDocs.js +7 -0
  499. package/es/components/button/ButtonDocs.js.map +1 -1
  500. package/es/components/date-picker/DatePickerAddon.js +1 -3
  501. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  502. package/es/components/date-picker/DatePickerCalc.d.ts +13 -0
  503. package/es/components/date-picker/DatePickerCalc.js +39 -0
  504. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  505. package/es/components/date-picker/DatePickerCalendar.js +13 -11
  506. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  507. package/es/components/date-picker/DatePickerContext.d.ts +1 -1
  508. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  509. package/es/components/date-picker/DatePickerProvider.js +2 -2
  510. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  511. package/es/components/date-picker/hooks/useViews.d.ts +2 -4
  512. package/es/components/date-picker/hooks/useViews.js +39 -25
  513. package/es/components/date-picker/hooks/useViews.js.map +1 -1
  514. package/es/components/dialog/DialogDocs.d.ts +1 -0
  515. package/es/components/dialog/DialogDocs.js +12 -0
  516. package/es/components/dialog/DialogDocs.js.map +1 -1
  517. package/es/components/drawer/DrawerDocs.d.ts +2 -0
  518. package/es/components/drawer/DrawerDocs.js +63 -0
  519. package/es/components/drawer/DrawerDocs.js.map +1 -0
  520. package/es/components/dropdown/DropdownDocs.d.ts +2 -0
  521. package/es/components/dropdown/DropdownDocs.js +23 -0
  522. package/es/components/dropdown/DropdownDocs.js.map +1 -0
  523. package/es/components/form-label/FormLabelDocs.d.ts +2 -0
  524. package/es/components/form-label/FormLabelDocs.js +53 -0
  525. package/es/components/form-label/FormLabelDocs.js.map +1 -0
  526. package/es/components/form-row/FormRow.d.ts +45 -0
  527. package/es/components/form-row/FormRowDocs.d.ts +2 -0
  528. package/es/components/form-row/FormRowDocs.js +83 -0
  529. package/es/components/form-row/FormRowDocs.js.map +1 -0
  530. package/es/components/form-set/FormSet.d.ts +18 -0
  531. package/es/components/form-set/FormSetDocs.d.ts +3 -0
  532. package/es/components/form-set/FormSetDocs.js +50 -0
  533. package/es/components/form-set/FormSetDocs.js.map +1 -0
  534. package/es/components/form-status/FormStatus.d.ts +18 -18
  535. package/es/components/form-status/FormStatusDocs.d.ts +2 -0
  536. package/es/components/form-status/FormStatusDocs.js +83 -0
  537. package/es/components/form-status/FormStatusDocs.js.map +1 -0
  538. package/es/components/global-error/GlobalError.d.ts +13 -1
  539. package/es/components/global-error/GlobalError.js +14 -6
  540. package/es/components/global-error/GlobalError.js.map +1 -1
  541. package/es/components/global-error/GlobalErrorDocs.d.ts +2 -0
  542. package/es/components/global-error/GlobalErrorDocs.js +68 -0
  543. package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
  544. package/es/components/global-status/GlobalStatus.d.ts +37 -58
  545. package/es/components/global-status/GlobalStatusController.d.ts +0 -9
  546. package/es/components/global-status/GlobalStatusDocs.d.ts +6 -0
  547. package/es/components/global-status/GlobalStatusDocs.js +186 -0
  548. package/es/components/global-status/GlobalStatusDocs.js.map +1 -0
  549. package/es/components/heading/HeadingDocs.d.ts +2 -0
  550. package/es/components/heading/HeadingDocs.js +73 -0
  551. package/es/components/heading/HeadingDocs.js.map +1 -0
  552. package/es/components/help-button/HelpButtonDocs.d.ts +3 -0
  553. package/es/components/help-button/HelpButtonDocs.js +40 -0
  554. package/es/components/help-button/HelpButtonDocs.js.map +1 -0
  555. package/es/components/icon/IconDocs.d.ts +2 -0
  556. package/es/components/icon/IconDocs.js +53 -0
  557. package/es/components/icon/IconDocs.js.map +1 -0
  558. package/es/components/icon/IconPrimaryDocs.d.ts +2 -0
  559. package/es/components/icon/IconPrimaryDocs.js +18 -0
  560. package/es/components/icon/IconPrimaryDocs.js.map +1 -0
  561. package/es/components/info-card/InfoCard.d.ts +6 -1
  562. package/es/components/info-card/InfoCard.js +4 -3
  563. package/es/components/info-card/InfoCard.js.map +1 -1
  564. package/es/components/info-card/InfoCardDocs.d.ts +3 -0
  565. package/es/components/info-card/InfoCardDocs.js +100 -0
  566. package/es/components/info-card/InfoCardDocs.js.map +1 -0
  567. package/es/components/input/Input.d.ts +0 -21
  568. package/es/components/input/InputDocs.d.ts +1 -0
  569. package/es/components/input/InputDocs.js +32 -0
  570. package/es/components/input/InputDocs.js.map +1 -1
  571. package/es/components/input-masked/InputMasked.d.ts +0 -12
  572. package/es/components/input-masked/InputMaskedDocs.d.ts +1 -0
  573. package/es/components/input-masked/InputMaskedDocs.js +12 -0
  574. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  575. package/es/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
  576. package/es/components/input-masked/MultiInputMaskedDocs.js +18 -0
  577. package/es/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
  578. package/es/components/pagination/Pagination.d.ts +35 -33
  579. package/es/components/pagination/Pagination.js +2 -0
  580. package/es/components/pagination/Pagination.js.map +1 -1
  581. package/es/components/pagination/PaginationDocs.d.ts +3 -0
  582. package/es/components/pagination/PaginationDocs.js +185 -0
  583. package/es/components/pagination/PaginationDocs.js.map +1 -0
  584. package/es/components/pagination/PaginationHelpers.d.ts +0 -3
  585. package/es/components/pagination/PaginationInfinity.d.ts +0 -3
  586. package/es/components/pagination/PaginationProvider.js +1 -1
  587. package/es/components/pagination/PaginationProvider.js.map +1 -1
  588. package/es/components/radio/Radio.d.ts +12 -15
  589. package/es/components/radio/RadioDocs.d.ts +5 -0
  590. package/es/components/radio/RadioDocs.js +139 -0
  591. package/es/components/radio/RadioDocs.js.map +1 -0
  592. package/es/components/radio/RadioGroup.d.ts +0 -30
  593. package/es/components/skeleton/SkeletonDocs.d.ts +2 -0
  594. package/es/components/skeleton/SkeletonDocs.js +38 -0
  595. package/es/components/skeleton/SkeletonDocs.js.map +1 -0
  596. package/es/components/skeleton/SkeletonHelper.d.ts +0 -6
  597. package/es/components/skip-content/SkipContentDocs.d.ts +2 -0
  598. package/es/components/skip-content/SkipContentDocs.js +23 -0
  599. package/es/components/skip-content/SkipContentDocs.js.map +1 -0
  600. package/es/components/tabs/Tabs.js +2 -2
  601. package/es/components/tabs/Tabs.js.map +1 -1
  602. package/es/components/tag/TagDocs.d.ts +4 -0
  603. package/es/components/tag/TagDocs.js +87 -0
  604. package/es/components/tag/TagDocs.js.map +1 -0
  605. package/es/components/textarea/Textarea.d.ts +0 -12
  606. package/es/components/textarea/TextareaDocs.d.ts +1 -0
  607. package/es/components/textarea/TextareaDocs.js +22 -0
  608. package/es/components/textarea/TextareaDocs.js.map +1 -1
  609. package/es/components/timeline/TimelineDocs.d.ts +3 -0
  610. package/es/components/timeline/TimelineDocs.js +60 -0
  611. package/es/components/timeline/TimelineDocs.js.map +1 -0
  612. package/es/components/toggle-button/ToggleButton.d.ts +0 -3
  613. package/es/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
  614. package/es/components/toggle-button/ToggleButtonDocs.js +7 -0
  615. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  616. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
  617. package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
  618. package/es/components/toggle-button/ToggleButtonGroupDocs.js +7 -0
  619. package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
  620. package/es/components/tooltip/TooltipDocs.d.ts +2 -0
  621. package/es/components/tooltip/TooltipDocs.js +73 -0
  622. package/es/components/tooltip/TooltipDocs.js.map +1 -0
  623. package/es/components/upload/Upload.js +6 -4
  624. package/es/components/upload/Upload.js.map +1 -1
  625. package/es/components/upload/UploadDocs.js +5 -0
  626. package/es/components/upload/UploadDocs.js.map +1 -1
  627. package/es/components/upload/UploadFileList.js +5 -4
  628. package/es/components/upload/UploadFileList.js.map +1 -1
  629. package/es/components/upload/UploadFileListCell.d.ts +6 -1
  630. package/es/components/upload/UploadFileListCell.js +8 -5
  631. package/es/components/upload/UploadFileListCell.js.map +1 -1
  632. package/es/components/upload/types.d.ts +5 -0
  633. package/es/components/upload/types.js.map +1 -1
  634. package/es/components/upload/useUpload.d.ts +1 -0
  635. package/es/components/upload/useUpload.js +7 -1
  636. package/es/components/upload/useUpload.js.map +1 -1
  637. package/es/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
  638. package/es/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
  639. package/es/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
  640. package/es/extensions/forms/DataContext/Context.d.ts +7 -6
  641. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  642. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  643. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  644. package/es/extensions/forms/DataContext/Provider/Provider.js +48 -62
  645. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  646. package/es/extensions/forms/Field/Date/Date.d.ts +1 -0
  647. package/es/extensions/forms/Field/Date/Date.js +2 -3
  648. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  649. package/es/extensions/forms/Field/Password/Password.js +2 -1
  650. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  651. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  652. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  653. package/es/extensions/forms/Field/Upload/Upload.js +10 -2
  654. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  655. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  656. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  657. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  658. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  659. package/es/extensions/forms/Form/Isolation/Isolation.js +3 -4
  660. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  661. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  662. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  663. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  664. package/es/extensions/forms/Form/Visibility/Visibility.js +1 -0
  665. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  666. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  667. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  668. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  669. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  670. package/es/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  671. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  672. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  673. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  674. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  675. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  676. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  677. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  678. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  679. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  680. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  681. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  682. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  683. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  684. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  685. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  686. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  687. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  688. package/es/extensions/forms/Value/Date/Date.d.ts +0 -6
  689. package/es/extensions/forms/Value/Date/Date.js +13 -34
  690. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  691. package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  692. package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  693. package/es/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  694. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  695. package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  696. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +35 -34
  697. package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  698. package/es/extensions/forms/Wizard/Container/WizardContainer.js +103 -60
  699. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  700. package/es/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  701. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js +59 -0
  702. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  703. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  704. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  705. package/es/extensions/forms/Wizard/Context/types.d.ts +9 -6
  706. package/es/extensions/forms/Wizard/Context/types.js.map +1 -1
  707. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  708. package/es/extensions/forms/Wizard/Step/Step.js +64 -22
  709. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  710. package/es/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  711. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  712. package/es/extensions/forms/Wizard/hooks/useStep.js +10 -18
  713. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  714. package/es/extensions/forms/hooks/useFieldProps.js +16 -9
  715. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  716. package/es/extensions/forms/hooks/useValueProps.js +1 -1
  717. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  718. package/es/extensions/payment-card/PaymentCard.d.ts +7 -7
  719. package/es/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  720. package/es/extensions/payment-card/PaymentCardDocs.js +199 -0
  721. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  722. package/es/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  723. package/es/fragments/scroll-view/ScrollViewDocs.js +13 -0
  724. package/es/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  725. package/es/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  726. package/es/fragments/text-counter/TextCounterDocs.js +23 -0
  727. package/es/fragments/text-counter/TextCounterDocs.js.map +1 -0
  728. package/es/shared/Eufemia.d.ts +1 -1
  729. package/es/shared/Eufemia.js +2 -2
  730. package/es/shared/Eufemia.js.map +1 -1
  731. package/es/shared/MediaQueryDocs.d.ts +2 -0
  732. package/es/shared/MediaQueryDocs.js +28 -0
  733. package/es/shared/MediaQueryDocs.js.map +1 -0
  734. package/es/shared/ThemeDocs.d.ts +2 -0
  735. package/es/shared/ThemeDocs.js +33 -0
  736. package/es/shared/ThemeDocs.js.map +1 -0
  737. package/es/shared/component-helper.js +1 -1
  738. package/es/shared/component-helper.js.map +1 -1
  739. package/es/shared/locales/en-GB.d.ts +1 -0
  740. package/es/shared/locales/en-GB.js +1 -0
  741. package/es/shared/locales/en-GB.js.map +1 -1
  742. package/es/shared/locales/en-US.d.ts +1 -0
  743. package/es/shared/locales/index.d.ts +2 -0
  744. package/es/shared/locales/nb-NO.d.ts +1 -0
  745. package/es/shared/locales/nb-NO.js +1 -0
  746. package/es/shared/locales/nb-NO.js.map +1 -1
  747. package/es/shared/locales/sv-SE.d.ts +1 -0
  748. package/es/shared/locales/sv-SE.js +1 -0
  749. package/es/shared/locales/sv-SE.js.map +1 -1
  750. package/es/style/core/scopes.scss +1 -1
  751. package/es/style/dnb-ui-basis.css +1 -1
  752. package/es/style/dnb-ui-basis.min.css +1 -1
  753. package/es/style/dnb-ui-body.css +1 -1
  754. package/es/style/dnb-ui-body.min.css +1 -1
  755. package/es/style/dnb-ui-components.css +8 -0
  756. package/es/style/dnb-ui-components.min.css +1 -1
  757. package/es/style/dnb-ui-core.css +1 -1
  758. package/es/style/dnb-ui-core.min.css +1 -1
  759. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  760. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  761. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  762. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  763. package/es/style/themes/theme-ui/ui-theme-components.css +13 -5
  764. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  765. package/esm/dnb-ui-basis.min.mjs +1 -1
  766. package/esm/dnb-ui-components.min.mjs +1 -1
  767. package/esm/dnb-ui-elements.min.mjs +1 -1
  768. package/esm/dnb-ui-extensions.min.mjs +1 -1
  769. package/esm/dnb-ui-lib.min.mjs +1 -1
  770. package/extensions/forms/DataContext/Context.d.ts +7 -6
  771. package/extensions/forms/DataContext/Context.js.map +1 -1
  772. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
  773. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  774. package/extensions/forms/DataContext/Provider/Provider.js +63 -75
  775. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  776. package/extensions/forms/Field/Date/Date.d.ts +1 -0
  777. package/extensions/forms/Field/Date/Date.js +2 -3
  778. package/extensions/forms/Field/Date/Date.js.map +1 -1
  779. package/extensions/forms/Field/Password/Password.js +2 -1
  780. package/extensions/forms/Field/Password/Password.js.map +1 -1
  781. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
  782. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  783. package/extensions/forms/Field/Upload/Upload.js +10 -2
  784. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  785. package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
  786. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  787. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  788. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  789. package/extensions/forms/Form/Isolation/Isolation.js +3 -4
  790. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  791. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
  792. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
  793. package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
  794. package/extensions/forms/Form/Visibility/Visibility.js +1 -0
  795. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  796. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
  797. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  798. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  799. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  800. package/extensions/forms/Form/Visibility/useVisibility.js +11 -15
  801. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  802. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  803. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  804. package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
  805. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  806. package/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
  807. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  808. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
  809. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  810. package/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
  811. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  812. package/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  813. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  814. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  815. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  816. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  817. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  818. package/extensions/forms/Value/Date/Date.d.ts +0 -6
  819. package/extensions/forms/Value/Date/Date.js +14 -36
  820. package/extensions/forms/Value/Date/Date.js.map +1 -1
  821. package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
  822. package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
  823. package/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
  824. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  825. package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
  826. package/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -34
  827. package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
  828. package/extensions/forms/Wizard/Container/WizardContainer.js +107 -60
  829. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  830. package/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
  831. package/extensions/forms/Wizard/Container/useCollectStepsData.js +60 -0
  832. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
  833. package/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
  834. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  835. package/extensions/forms/Wizard/Context/types.d.ts +9 -6
  836. package/extensions/forms/Wizard/Context/types.js.map +1 -1
  837. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  838. package/extensions/forms/Wizard/Step/Step.js +66 -22
  839. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  840. package/extensions/forms/Wizard/Step/StepDocs.js +2 -2
  841. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  842. package/extensions/forms/Wizard/hooks/useStep.js +10 -18
  843. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  844. package/extensions/forms/hooks/useFieldProps.js +16 -9
  845. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  846. package/extensions/forms/hooks/useValueProps.js +1 -1
  847. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  848. package/extensions/payment-card/PaymentCard.d.ts +7 -7
  849. package/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
  850. package/extensions/payment-card/PaymentCardDocs.js +199 -0
  851. package/extensions/payment-card/PaymentCardDocs.js.map +1 -0
  852. package/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
  853. package/fragments/scroll-view/ScrollViewDocs.js +13 -0
  854. package/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
  855. package/fragments/text-counter/TextCounterDocs.d.ts +2 -0
  856. package/fragments/text-counter/TextCounterDocs.js +23 -0
  857. package/fragments/text-counter/TextCounterDocs.js.map +1 -0
  858. package/package.json +1 -1
  859. package/shared/Eufemia.d.ts +1 -1
  860. package/shared/Eufemia.js +2 -2
  861. package/shared/Eufemia.js.map +1 -1
  862. package/shared/MediaQueryDocs.d.ts +2 -0
  863. package/shared/MediaQueryDocs.js +28 -0
  864. package/shared/MediaQueryDocs.js.map +1 -0
  865. package/shared/ThemeDocs.d.ts +2 -0
  866. package/shared/ThemeDocs.js +33 -0
  867. package/shared/ThemeDocs.js.map +1 -0
  868. package/shared/component-helper.js +1 -1
  869. package/shared/component-helper.js.map +1 -1
  870. package/shared/locales/en-GB.d.ts +1 -0
  871. package/shared/locales/en-GB.js +1 -0
  872. package/shared/locales/en-GB.js.map +1 -1
  873. package/shared/locales/en-US.d.ts +1 -0
  874. package/shared/locales/index.d.ts +2 -0
  875. package/shared/locales/nb-NO.d.ts +1 -0
  876. package/shared/locales/nb-NO.js +1 -0
  877. package/shared/locales/nb-NO.js.map +1 -1
  878. package/shared/locales/sv-SE.d.ts +1 -0
  879. package/shared/locales/sv-SE.js +1 -0
  880. package/shared/locales/sv-SE.js.map +1 -1
  881. package/style/core/scopes.scss +1 -1
  882. package/style/dnb-ui-basis.css +1 -1
  883. package/style/dnb-ui-basis.min.css +1 -1
  884. package/style/dnb-ui-body.css +1 -1
  885. package/style/dnb-ui-body.min.css +1 -1
  886. package/style/dnb-ui-components.css +8 -0
  887. package/style/dnb-ui-components.min.css +1 -1
  888. package/style/dnb-ui-core.css +1 -1
  889. package/style/dnb-ui-core.min.css +1 -1
  890. package/style/themes/theme-eiendom/eiendom-theme-components.css +13 -5
  891. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  892. package/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
  893. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  894. package/style/themes/theme-ui/ui-theme-components.css +13 -5
  895. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  896. package/umd/dnb-ui-basis.min.js +1 -1
  897. package/umd/dnb-ui-components.min.js +1 -1
  898. package/umd/dnb-ui-elements.min.js +1 -1
  899. package/umd/dnb-ui-extensions.min.js +1 -1
  900. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","calendarCache","makeDayObject","date","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","length","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't provided\n\n return (\n (minDate && isBefore(startOfDay(date), startOfDay(minDate))) ||\n (maxDate && isAfter(startOfDay(date), startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","LOCALE","calendarCache","makeDayObject","date","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","length","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject","formatDate","dateValue","locale","variant","formatOptions","undefined","options","getFormatOptions","Intl","DateTimeFormat","format","toLocaleString","formatDateRange","dates","formatRange","startDateString","endDateString","day","year"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\nimport { AnyLocale } from '../../shared/Context'\nimport { LOCALE } from '../../shared/defaults'\nimport { DateType } from './DatePickerContext'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't provided\n\n return (\n (minDate && isBefore(startOfDay(date), startOfDay(minDate))) ||\n (maxDate && isAfter(startOfDay(date), startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n\nexport type FormatDateOptions = {\n locale?: AnyLocale\n variant?: 'long' | 'short' | 'numeric'\n formatOptions?: Intl.DateTimeFormatOptions\n}\n\nexport function formatDate(\n dateValue: DateType,\n {\n locale = LOCALE,\n variant = 'numeric',\n formatOptions = undefined,\n }: FormatDateOptions = {}\n) {\n const options = formatOptions ?? getFormatOptions(variant)\n\n const date = convertStringToDate(dateValue)\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).format(date)\n : date.toLocaleString(locale, options)\n}\n\nexport function formatDateRange(\n dates: { startDate: DateType; endDate: DateType },\n {\n locale = LOCALE,\n variant = 'numeric',\n formatOptions = undefined,\n }: FormatDateOptions = {}\n) {\n const options = formatOptions ?? getFormatOptions(variant)\n\n const startDate = convertStringToDate(dates.startDate)\n const endDate = convertStringToDate(dates.endDate)\n\n if (typeof Intl !== 'undefined') {\n return new Intl.DateTimeFormat(locale, options).formatRange(\n startDate,\n endDate\n )\n }\n\n const startDateString = startDate.toLocaleString(locale, options)\n const endDateString = endDate.toLocaleString(locale, options)\n\n return `${startDateString}-${endDateString}`\n}\n\nexport function getFormatOptions(\n variant: FormatDateOptions['variant']\n): Intl.DateTimeFormatOptions {\n if (variant === 'numeric') {\n return {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n } as const\n }\n\n return {\n day: 'numeric',\n month: variant,\n year: 'numeric',\n } as const\n}\n"],"mappings":"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","ignoreList":[]}
@@ -69,7 +69,7 @@ function DatePickerCalendar(restOfProps) {
69
69
  const props = _objectSpread(_objectSpread({}, defaultProps), restOfProps);
70
70
  const {
71
71
  updateDates,
72
- forceViewMonthChange,
72
+ setHasClickedCalendarDay,
73
73
  startDate,
74
74
  endDate,
75
75
  hoverDate,
@@ -110,14 +110,14 @@ function DatePickerCalendar(restOfProps) {
110
110
  hideNextMonthWeek,
111
111
  onlyMonth
112
112
  } = props;
113
- const listRef = useRef();
113
+ const tableRef = useRef();
114
114
  const labelRef = useRef();
115
115
  const days = useRef({});
116
116
  const cache = useRef({});
117
117
  useEffect(() => {
118
118
  if (!noAutoFocus && nr === 0) {
119
- if (listRef.current) {
120
- listRef.current.focus({
119
+ if (tableRef.current) {
120
+ tableRef.current.focus({
121
121
  preventScroll: true
122
122
  });
123
123
  }
@@ -187,7 +187,7 @@ function DatePickerCalendar(restOfProps) {
187
187
  const onKeyDownHandler = useCallback(event => {
188
188
  const pressedKey = event.code;
189
189
  if (typeof onKeyDown === 'function') {
190
- return onKeyDown(event, listRef, nr);
190
+ return onKeyDown(event, tableRef, nr);
191
191
  }
192
192
  if (!keysToHandle.includes(pressedKey)) {
193
193
  return;
@@ -244,13 +244,12 @@ function DatePickerCalendar(restOfProps) {
244
244
  hidePicker: false
245
245
  }, dates));
246
246
  });
247
- forceViewMonthChange();
248
- if (listRef && listRef.current) {
249
- listRef.current.focus({
247
+ if (tableRef && tableRef.current) {
248
+ tableRef.current.focus({
250
249
  preventScroll: true
251
250
  });
252
251
  }
253
- }, [callOnSelect, findValid, hasReachedEnd, onKeyDown, startDate, endDate, updateDates, hideNav, isRange, keyNavCalc, nr, onlyMonth, endMonth, startMonth, forceViewMonthChange]);
252
+ }, [callOnSelect, findValid, hasReachedEnd, onKeyDown, startDate, endDate, updateDates, hideNav, isRange, keyNavCalc, nr, onlyMonth, endMonth, startMonth]);
254
253
  const cacheKey = useMemo(() => {
255
254
  return [nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek, startDate, endDate, hoverDate, maxDate, minDate].join('|');
256
255
  }, [nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek, startDate, endDate, hoverDate, maxDate, minDate]);
@@ -311,7 +310,7 @@ function DatePickerCalendar(restOfProps) {
311
310
  "aria-labelledby": `${id}--title`,
312
311
  onKeyDown: onKeyDownHandler,
313
312
  onMouseLeave: onMouseLeaveHandler,
314
- ref: listRef
313
+ ref: tableRef
315
314
  }, !hideDays && React.createElement("thead", {
316
315
  "aria-hidden": true
317
316
  }, React.createElement("tr", {
@@ -376,6 +375,7 @@ function DatePickerCalendar(restOfProps) {
376
375
  endDate,
377
376
  resetDate,
378
377
  event,
378
+ setHasClickedCalendarDay,
379
379
  onSelect: state => {
380
380
  updateDates(state, dates => callOnSelect(_objectSpread(_objectSpread({}, dates), {}, {
381
381
  event,
@@ -437,7 +437,8 @@ function onSelectRange({
437
437
  endDate,
438
438
  onSelect,
439
439
  resetDate,
440
- event
440
+ event,
441
+ setHasClickedCalendarDay
441
442
  }) {
442
443
  event.persist();
443
444
  if (!isRange) {
@@ -447,6 +448,7 @@ function onSelectRange({
447
448
  event
448
449
  });
449
450
  }
451
+ setHasClickedCalendarDay(true);
450
452
  if (!startDate || resetDate && startDate && endDate) {
451
453
  return onSelect({
452
454
  startDate: startOfDay(day.date),
@@ -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","onSelectRange","state","onMouseOver","onHoverDay","onFocus","tr","_Fragment","Fragment","icon","daysToStartDate","daysToEndDate","range","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","onSelectRange","state","onMouseOver","onHoverDay","onFocus","tr","_Fragment","Fragment","icon","daysToStartDate","daysToEndDate","range","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":[]}
@@ -60,7 +60,7 @@ function DatePickerProvider(externalProps) {
60
60
  const {
61
61
  views,
62
62
  setViews,
63
- forceViewMonthChange
63
+ setHasClickedCalendarDay
64
64
  } = useViews({
65
65
  startMonth: dates.startMonth,
66
66
  endMonth: dates.endMonth,
@@ -138,7 +138,7 @@ function DatePickerProvider(externalProps) {
138
138
  hasHadValidDate,
139
139
  views,
140
140
  setViews,
141
- forceViewMonthChange
141
+ setHasClickedCalendarDay
142
142
  })
143
143
  }, children);
144
144
  }
@@ -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","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","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,63 +3,77 @@
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 addMonths from 'date-fns/addMonths';
10
- import { useMemo, useRef, useState } from 'react';
10
+ import { useCallback, useMemo, useRef, useState } from 'react';
11
11
  export default function useViews(_ref) {
12
12
  let {
13
13
  isRange
14
14
  } = _ref,
15
15
  dates = _objectWithoutProperties(_ref, _excluded);
16
16
  const [previousDates, setPreviousDates] = useState(dates);
17
- const [views, setViews] = useState(getViews(_objectSpread(_objectSpread({
18
- views: undefined
19
- }, dates), {}, {
17
+ const [views, setViews] = useState(getViews(_objectSpread(_objectSpread({}, dates), {}, {
20
18
  isRange
21
19
  })));
22
- const forceViewChange = useRef(false);
20
+ const hasClickedCalendarDay = useRef(false);
23
21
  const hasDateChanges = useMemo(() => Object.keys(dates).some(date => previousDates[date] !== dates[date]), [dates, previousDates]);
22
+ const setHasClickedCalendarDay = useCallback(hasClicked => hasClickedCalendarDay.current = hasClicked, []);
24
23
  if (hasDateChanges) {
25
- const currentViews = Array.isArray(views) ? views.length > 1 ? views : views[0] : views;
26
- if (forceViewChange.current || !isRange) {
27
- setViews(getViews(_objectSpread(_objectSpread({}, dates), {}, {
28
- views: currentViews,
24
+ setPreviousDates(dates);
25
+ if (hasClickedCalendarDay.current) {
26
+ setHasClickedCalendarDay(false);
27
+ } else {
28
+ const updatedViews = getViews(_objectSpread(_objectSpread({}, dates), {}, {
29
29
  isRange
30
- })));
31
- forceViewChange.current = false;
30
+ }));
31
+ setViews(updatedViews);
32
32
  }
33
- setPreviousDates(dates);
34
33
  }
35
34
  function updateViews(views, cb = null) {
36
35
  setViews(views);
37
36
  cb === null || cb === void 0 ? void 0 : cb();
38
37
  }
39
- function forceViewMonthChange() {
40
- forceViewChange.current = true;
41
- }
42
38
  return {
43
39
  views,
44
40
  setViews: updateViews,
45
- forceViewMonthChange
41
+ setHasClickedCalendarDay
46
42
  };
47
43
  }
48
44
  export function getViews(_ref2) {
49
45
  let {
50
- views,
51
46
  isRange
52
47
  } = _ref2,
53
48
  dates = _objectWithoutProperties(_ref2, _excluded2);
54
- return (Array.isArray(views) ? views : Array(isRange ? 2 : views).fill(1)).map((view, nr) => ({
55
- month: getMonthView(_objectSpread({}, dates), nr),
56
- nr
57
- }));
49
+ return isRange ? [{
50
+ nr: 0,
51
+ month: getMonthView({
52
+ months: dates,
53
+ nr: 0
54
+ })
55
+ }, {
56
+ nr: 1,
57
+ month: getMonthView({
58
+ months: dates,
59
+ nr: 1
60
+ })
61
+ }] : [{
62
+ nr: 0,
63
+ month: getMonthView({
64
+ months: dates,
65
+ nr: 0
66
+ })
67
+ }];
58
68
  }
59
69
  function getMonthView({
60
- startMonth,
61
- endMonth
62
- }, nr) {
70
+ months,
71
+ nr
72
+ }) {
73
+ const {
74
+ startMonth,
75
+ endMonth
76
+ } = months;
63
77
  if (startMonth && nr === 0) {
64
78
  return startMonth;
65
79
  }