@navikt/ds-react 7.13.0 → 7.14.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 (434) hide show
  1. package/cjs/date/{parts/DateWrapper.d.ts → Date.Dialog.d.ts} +3 -3
  2. package/cjs/date/{parts/DateWrapper.js → Date.Dialog.js} +13 -13
  3. package/cjs/date/Date.Dialog.js.map +1 -0
  4. package/{esm/date/parts/DateInput.d.ts → cjs/date/Date.Input.d.ts} +23 -1
  5. package/cjs/date/{parts/DateInput.js → Date.Input.js} +14 -9
  6. package/cjs/date/Date.Input.js.map +1 -0
  7. package/cjs/date/{utils/locale.d.ts → Date.locale.d.ts} +8 -0
  8. package/cjs/date/{utils/locale.js → Date.locale.js} +7 -4
  9. package/cjs/date/Date.locale.js.map +1 -0
  10. package/cjs/date/Date.typeutils.d.ts +14 -0
  11. package/cjs/date/Date.typeutils.js +15 -0
  12. package/cjs/date/Date.typeutils.js.map +1 -0
  13. package/cjs/date/date-utils/calendar-range.d.ts +11 -0
  14. package/cjs/date/date-utils/calendar-range.js +30 -0
  15. package/cjs/date/date-utils/calendar-range.js.map +1 -0
  16. package/cjs/date/date-utils/check-dates.js.map +1 -0
  17. package/cjs/date/date-utils/clamp-dates.d.ts +19 -0
  18. package/cjs/date/date-utils/clamp-dates.js +41 -0
  19. package/cjs/date/date-utils/clamp-dates.js.map +1 -0
  20. package/cjs/date/{utils → date-utils}/dates-disabled.js +2 -3
  21. package/cjs/date/date-utils/dates-disabled.js.map +1 -0
  22. package/cjs/date/date-utils/dropdown-options.d.ts +13 -0
  23. package/cjs/date/date-utils/dropdown-options.js +45 -0
  24. package/cjs/date/date-utils/dropdown-options.js.map +1 -0
  25. package/cjs/date/date-utils/format-date.js.map +1 -0
  26. package/cjs/date/date-utils/index.d.ts +8 -0
  27. package/cjs/date/date-utils/index.js +26 -0
  28. package/cjs/date/date-utils/index.js.map +1 -0
  29. package/cjs/date/date-utils/is-match.d.ts +3 -0
  30. package/cjs/date/{utils → date-utils}/is-match.js +4 -4
  31. package/cjs/date/date-utils/is-match.js.map +1 -0
  32. package/cjs/date/date-utils/parse-date.js.map +1 -0
  33. package/cjs/date/datepicker/DatePicker.d.ts +3 -3
  34. package/cjs/date/datepicker/DatePicker.js +47 -63
  35. package/cjs/date/datepicker/DatePicker.js.map +1 -1
  36. package/cjs/date/datepicker/{types.d.ts → DatePicker.types.d.ts} +6 -3
  37. package/cjs/date/datepicker/{types.js → DatePicker.types.js} +1 -1
  38. package/cjs/date/datepicker/DatePicker.types.js.map +1 -0
  39. package/cjs/date/{hooks → datepicker/hooks}/useDatepicker.d.ts +2 -2
  40. package/cjs/date/{hooks → datepicker/hooks}/useDatepicker.js +18 -17
  41. package/cjs/date/datepicker/hooks/useDatepicker.js.map +1 -0
  42. package/cjs/date/{hooks → datepicker/hooks}/useRangeDatepicker.d.ts +3 -3
  43. package/cjs/date/{hooks → datepicker/hooks}/useRangeDatepicker.js +41 -38
  44. package/cjs/date/datepicker/hooks/useRangeDatepicker.js.map +1 -0
  45. package/cjs/date/datepicker/index.d.ts +4 -3
  46. package/cjs/date/datepicker/index.js +8 -7
  47. package/cjs/date/datepicker/index.js.map +1 -1
  48. package/cjs/date/datepicker/parts/DatePicker.DayButton.d.ts +9 -0
  49. package/cjs/date/datepicker/parts/DatePicker.DayButton.js +70 -0
  50. package/cjs/date/datepicker/parts/DatePicker.DayButton.js.map +1 -0
  51. package/cjs/date/datepicker/parts/DatePicker.Months.d.ts +11 -0
  52. package/cjs/date/datepicker/parts/DatePicker.Months.js +84 -0
  53. package/cjs/date/datepicker/parts/DatePicker.Months.js.map +1 -0
  54. package/cjs/date/datepicker/parts/DatePicker.RDP.d.ts +15 -0
  55. package/cjs/date/datepicker/parts/DatePicker.RDP.js +106 -0
  56. package/cjs/date/datepicker/parts/DatePicker.RDP.js.map +1 -0
  57. package/cjs/date/datepicker/{DatePickerStandalone.d.ts → parts/DatePicker.Standalone.d.ts} +1 -1
  58. package/cjs/date/datepicker/parts/DatePicker.Standalone.js +60 -0
  59. package/cjs/date/datepicker/parts/DatePicker.Standalone.js.map +1 -0
  60. package/cjs/date/datepicker/parts/DatePicker.WeekNumber.d.ts +9 -0
  61. package/cjs/date/datepicker/parts/DatePicker.WeekNumber.js +64 -0
  62. package/cjs/date/datepicker/parts/DatePicker.WeekNumber.js.map +1 -0
  63. package/cjs/date/datepicker/parts/DatePicker.WeekRow.d.ts +8 -0
  64. package/cjs/date/datepicker/parts/{WeekRow.js → DatePicker.WeekRow.js} +9 -17
  65. package/cjs/date/datepicker/parts/DatePicker.WeekRow.js.map +1 -0
  66. package/cjs/date/monthpicker/MonthPicker.context.d.ts +21 -0
  67. package/cjs/date/monthpicker/MonthPicker.context.js +48 -0
  68. package/cjs/date/monthpicker/MonthPicker.context.js.map +1 -0
  69. package/cjs/date/monthpicker/MonthPicker.d.ts +3 -3
  70. package/cjs/date/monthpicker/MonthPicker.js +34 -43
  71. package/cjs/date/monthpicker/MonthPicker.js.map +1 -1
  72. package/cjs/date/monthpicker/{types.d.ts → MonthPicker.types.d.ts} +1 -1
  73. package/cjs/date/monthpicker/{types.js → MonthPicker.types.js} +1 -1
  74. package/cjs/date/monthpicker/MonthPicker.types.js.map +1 -0
  75. package/cjs/date/{utils/navigation.d.ts → monthpicker/MonthPicker.util.d.ts} +1 -1
  76. package/cjs/date/{utils/navigation.js → monthpicker/MonthPicker.util.js} +7 -7
  77. package/cjs/date/monthpicker/MonthPicker.util.js.map +1 -0
  78. package/cjs/date/{hooks → monthpicker/hooks}/useMonthPicker.d.ts +2 -2
  79. package/cjs/date/{hooks → monthpicker/hooks}/useMonthPicker.js +22 -17
  80. package/cjs/date/monthpicker/hooks/useMonthPicker.js.map +1 -0
  81. package/cjs/date/monthpicker/index.d.ts +4 -4
  82. package/cjs/date/monthpicker/index.js +6 -6
  83. package/cjs/date/monthpicker/index.js.map +1 -1
  84. package/cjs/date/monthpicker/{MonthButton.js → parts/MonthPicker.Button.js} +10 -10
  85. package/cjs/date/monthpicker/parts/MonthPicker.Button.js.map +1 -0
  86. package/cjs/date/monthpicker/parts/MonthPicker.Caption.d.ts +3 -0
  87. package/cjs/date/monthpicker/{MonthCaption.js → parts/MonthPicker.Caption.js} +18 -18
  88. package/cjs/date/monthpicker/parts/MonthPicker.Caption.js.map +1 -0
  89. package/cjs/date/monthpicker/{MonthPickerStandalone.d.ts → parts/MonthPicker.Standalone.d.ts} +1 -2
  90. package/cjs/date/monthpicker/{MonthPickerStandalone.js → parts/MonthPicker.Standalone.js} +11 -25
  91. package/cjs/date/monthpicker/parts/MonthPicker.Standalone.js.map +1 -0
  92. package/cjs/date/monthpicker/parts/MonthPicker.Table.d.ts +3 -0
  93. package/cjs/date/monthpicker/{MonthSelector.js → parts/MonthPicker.Table.js} +12 -13
  94. package/cjs/date/monthpicker/parts/MonthPicker.Table.js.map +1 -0
  95. package/cjs/modal/Modal.js +2 -2
  96. package/cjs/modal/Modal.js.map +1 -1
  97. package/cjs/popover/Popover.js +3 -3
  98. package/cjs/popover/Popover.js.map +1 -1
  99. package/cjs/tooltip/Tooltip.js +2 -5
  100. package/cjs/tooltip/Tooltip.js.map +1 -1
  101. package/esm/date/{parts/DateWrapper.d.ts → Date.Dialog.d.ts} +3 -3
  102. package/esm/date/{parts/DateWrapper.js → Date.Dialog.js} +11 -10
  103. package/esm/date/Date.Dialog.js.map +1 -0
  104. package/{cjs/date/parts/DateInput.d.ts → esm/date/Date.Input.d.ts} +23 -1
  105. package/esm/date/{parts/DateInput.js → Date.Input.js} +10 -6
  106. package/esm/date/{parts/DateInput.js.map → Date.Input.js.map} +1 -1
  107. package/esm/date/{utils/locale.d.ts → Date.locale.d.ts} +8 -0
  108. package/esm/date/{utils/locale.js → Date.locale.js} +5 -3
  109. package/esm/date/Date.locale.js.map +1 -0
  110. package/esm/date/Date.typeutils.d.ts +14 -0
  111. package/esm/date/Date.typeutils.js +10 -0
  112. package/esm/date/Date.typeutils.js.map +1 -0
  113. package/esm/date/date-utils/calendar-range.d.ts +11 -0
  114. package/esm/date/date-utils/calendar-range.js +27 -0
  115. package/esm/date/date-utils/calendar-range.js.map +1 -0
  116. package/esm/date/date-utils/check-dates.js.map +1 -0
  117. package/esm/date/date-utils/clamp-dates.d.ts +19 -0
  118. package/esm/date/date-utils/clamp-dates.js +37 -0
  119. package/esm/date/date-utils/clamp-dates.js.map +1 -0
  120. package/esm/date/{utils → date-utils}/dates-disabled.js +1 -2
  121. package/esm/date/date-utils/dates-disabled.js.map +1 -0
  122. package/esm/date/date-utils/dropdown-options.d.ts +13 -0
  123. package/esm/date/date-utils/dropdown-options.js +41 -0
  124. package/esm/date/date-utils/dropdown-options.js.map +1 -0
  125. package/esm/date/date-utils/format-date.js.map +1 -0
  126. package/esm/date/date-utils/index.d.ts +8 -0
  127. package/esm/date/{utils → date-utils}/index.js +3 -4
  128. package/esm/date/date-utils/index.js.map +1 -0
  129. package/esm/date/date-utils/is-match.d.ts +3 -0
  130. package/esm/date/{utils → date-utils}/is-match.js +1 -1
  131. package/esm/date/date-utils/is-match.js.map +1 -0
  132. package/esm/date/date-utils/parse-date.js.map +1 -0
  133. package/esm/date/datepicker/DatePicker.d.ts +3 -3
  134. package/esm/date/datepicker/DatePicker.js +46 -62
  135. package/esm/date/datepicker/DatePicker.js.map +1 -1
  136. package/esm/date/datepicker/{types.d.ts → DatePicker.types.d.ts} +6 -3
  137. package/esm/date/datepicker/DatePicker.types.js +2 -0
  138. package/esm/date/datepicker/DatePicker.types.js.map +1 -0
  139. package/esm/date/{hooks → datepicker/hooks}/useDatepicker.d.ts +2 -2
  140. package/esm/date/{hooks → datepicker/hooks}/useDatepicker.js +6 -5
  141. package/esm/date/datepicker/hooks/useDatepicker.js.map +1 -0
  142. package/esm/date/{hooks → datepicker/hooks}/useRangeDatepicker.d.ts +3 -3
  143. package/esm/date/{hooks → datepicker/hooks}/useRangeDatepicker.js +16 -13
  144. package/esm/date/datepicker/hooks/useRangeDatepicker.js.map +1 -0
  145. package/esm/date/datepicker/index.d.ts +4 -3
  146. package/esm/date/datepicker/index.js +4 -3
  147. package/esm/date/datepicker/index.js.map +1 -1
  148. package/esm/date/datepicker/parts/DatePicker.DayButton.d.ts +9 -0
  149. package/esm/date/datepicker/parts/DatePicker.DayButton.js +41 -0
  150. package/esm/date/datepicker/parts/DatePicker.DayButton.js.map +1 -0
  151. package/esm/date/datepicker/parts/DatePicker.Months.d.ts +11 -0
  152. package/esm/date/datepicker/parts/DatePicker.Months.js +58 -0
  153. package/esm/date/datepicker/parts/DatePicker.Months.js.map +1 -0
  154. package/esm/date/datepicker/parts/DatePicker.RDP.d.ts +15 -0
  155. package/esm/date/datepicker/parts/DatePicker.RDP.js +77 -0
  156. package/esm/date/datepicker/parts/DatePicker.RDP.js.map +1 -0
  157. package/esm/date/datepicker/{DatePickerStandalone.d.ts → parts/DatePicker.Standalone.d.ts} +1 -1
  158. package/esm/date/datepicker/parts/DatePicker.Standalone.js +31 -0
  159. package/esm/date/datepicker/parts/DatePicker.Standalone.js.map +1 -0
  160. package/esm/date/datepicker/parts/DatePicker.WeekNumber.d.ts +9 -0
  161. package/esm/date/datepicker/parts/DatePicker.WeekNumber.js +35 -0
  162. package/esm/date/datepicker/parts/DatePicker.WeekNumber.js.map +1 -0
  163. package/esm/date/datepicker/parts/DatePicker.WeekRow.d.ts +8 -0
  164. package/esm/date/datepicker/parts/DatePicker.WeekRow.js +22 -0
  165. package/esm/date/datepicker/parts/DatePicker.WeekRow.js.map +1 -0
  166. package/esm/date/monthpicker/MonthPicker.context.d.ts +21 -0
  167. package/esm/date/monthpicker/MonthPicker.context.js +41 -0
  168. package/esm/date/monthpicker/MonthPicker.context.js.map +1 -0
  169. package/esm/date/monthpicker/MonthPicker.d.ts +3 -3
  170. package/esm/date/monthpicker/MonthPicker.js +31 -40
  171. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  172. package/esm/date/monthpicker/{types.d.ts → MonthPicker.types.d.ts} +1 -1
  173. package/esm/date/monthpicker/MonthPicker.types.js +2 -0
  174. package/esm/date/monthpicker/MonthPicker.types.js.map +1 -0
  175. package/esm/date/{utils/navigation.d.ts → monthpicker/MonthPicker.util.d.ts} +1 -1
  176. package/esm/date/{utils/navigation.js → monthpicker/MonthPicker.util.js} +2 -2
  177. package/esm/date/monthpicker/MonthPicker.util.js.map +1 -0
  178. package/esm/date/{hooks → monthpicker/hooks}/useMonthPicker.d.ts +2 -2
  179. package/esm/date/{hooks → monthpicker/hooks}/useMonthPicker.js +10 -5
  180. package/esm/date/monthpicker/hooks/useMonthPicker.js.map +1 -0
  181. package/esm/date/monthpicker/index.d.ts +4 -4
  182. package/esm/date/monthpicker/index.js +3 -3
  183. package/esm/date/monthpicker/index.js.map +1 -1
  184. package/esm/date/monthpicker/{MonthButton.js → parts/MonthPicker.Button.js} +9 -9
  185. package/esm/date/monthpicker/parts/MonthPicker.Button.js.map +1 -0
  186. package/esm/date/monthpicker/parts/MonthPicker.Caption.d.ts +3 -0
  187. package/esm/date/monthpicker/{MonthCaption.js → parts/MonthPicker.Caption.js} +17 -16
  188. package/esm/date/monthpicker/parts/MonthPicker.Caption.js.map +1 -0
  189. package/esm/date/monthpicker/{MonthPickerStandalone.d.ts → parts/MonthPicker.Standalone.d.ts} +1 -2
  190. package/esm/date/monthpicker/parts/MonthPicker.Standalone.js +22 -0
  191. package/esm/date/monthpicker/parts/MonthPicker.Standalone.js.map +1 -0
  192. package/esm/date/monthpicker/parts/MonthPicker.Table.d.ts +3 -0
  193. package/esm/date/monthpicker/{MonthSelector.js → parts/MonthPicker.Table.js} +8 -8
  194. package/esm/date/monthpicker/parts/MonthPicker.Table.js.map +1 -0
  195. package/esm/modal/Modal.js +3 -3
  196. package/esm/modal/Modal.js.map +1 -1
  197. package/esm/popover/Popover.js +4 -4
  198. package/esm/popover/Popover.js.map +1 -1
  199. package/esm/tooltip/Tooltip.js +2 -5
  200. package/esm/tooltip/Tooltip.js.map +1 -1
  201. package/package.json +5 -5
  202. package/src/date/{parts/DateWrapper.tsx → Date.Dialog.tsx} +12 -9
  203. package/src/date/{parts/DateInput.tsx → Date.Input.tsx} +30 -5
  204. package/src/date/{utils/locale.ts → Date.locale.ts} +11 -2
  205. package/src/date/Date.typeutils.ts +32 -0
  206. package/src/date/date-utils/calendar-range.test.ts +54 -0
  207. package/src/date/date-utils/calendar-range.ts +46 -0
  208. package/src/date/date-utils/check-dates.test.ts +49 -0
  209. package/src/date/date-utils/clamp-dates.test.ts +73 -0
  210. package/src/date/date-utils/clamp-dates.ts +63 -0
  211. package/src/date/{utils/__tests__ → date-utils}/dates-disabled.test.ts +1 -1
  212. package/src/date/{utils → date-utils}/dates-disabled.ts +1 -2
  213. package/src/date/date-utils/dropdown-options.test.ts +143 -0
  214. package/src/date/date-utils/dropdown-options.ts +79 -0
  215. package/src/date/{utils/__tests__ → date-utils}/format-dates.test.ts +2 -2
  216. package/src/date/date-utils/index.ts +12 -0
  217. package/src/date/{utils/__tests__ → date-utils}/is-match.test.ts +1 -1
  218. package/src/date/{utils → date-utils}/is-match.ts +2 -11
  219. package/src/date/{utils/__tests__ → date-utils}/parse-dates.test.ts +2 -1
  220. package/src/date/datepicker/DatePicker.tsx +67 -92
  221. package/src/date/datepicker/{types.ts → DatePicker.types.ts} +10 -4
  222. package/src/date/{hooks → datepicker/hooks}/useDatepicker.tsx +12 -13
  223. package/src/date/{hooks → datepicker/hooks}/useRangeDatepicker.test.tsx +1 -1
  224. package/src/date/{hooks → datepicker/hooks}/useRangeDatepicker.tsx +19 -19
  225. package/src/date/datepicker/index.ts +4 -5
  226. package/src/date/datepicker/parts/DatePicker.DayButton.tsx +56 -0
  227. package/src/date/datepicker/parts/DatePicker.Months.tsx +149 -0
  228. package/src/date/datepicker/parts/DatePicker.RDP.tsx +175 -0
  229. package/src/date/datepicker/parts/DatePicker.Standalone.tsx +93 -0
  230. package/src/date/datepicker/parts/DatePicker.WeekNumber.tsx +86 -0
  231. package/src/date/datepicker/parts/{WeekRow.tsx → DatePicker.WeekRow.tsx} +20 -21
  232. package/src/date/monthpicker/MonthPicker.context.tsx +103 -0
  233. package/src/date/monthpicker/MonthPicker.tsx +63 -68
  234. package/src/date/monthpicker/{types.ts → MonthPicker.types.ts} +1 -1
  235. package/src/date/{utils/navigation.ts → monthpicker/MonthPicker.util.ts} +2 -1
  236. package/src/date/{hooks → monthpicker/hooks}/useMonthPicker.tsx +14 -13
  237. package/src/date/monthpicker/index.ts +4 -4
  238. package/src/date/monthpicker/{MonthButton.tsx → parts/MonthPicker.Button.tsx} +21 -10
  239. package/src/date/monthpicker/{MonthCaption.tsx → parts/MonthPicker.Caption.tsx} +20 -21
  240. package/src/date/monthpicker/parts/MonthPicker.Standalone.tsx +86 -0
  241. package/src/date/monthpicker/{MonthSelector.tsx → parts/MonthPicker.Table.tsx} +7 -7
  242. package/src/modal/Modal.tsx +3 -3
  243. package/src/popover/Popover.tsx +4 -4
  244. package/src/tooltip/Tooltip.tsx +2 -6
  245. package/cjs/date/context/index.d.ts +0 -3
  246. package/cjs/date/context/index.js +0 -13
  247. package/cjs/date/context/index.js.map +0 -1
  248. package/cjs/date/context/useDateInputContext.d.ts +0 -21
  249. package/cjs/date/context/useDateInputContext.js +0 -14
  250. package/cjs/date/context/useDateInputContext.js.map +0 -1
  251. package/cjs/date/context/useDateTranslationContext.d.ts +0 -8
  252. package/cjs/date/context/useDateTranslationContext.js +0 -7
  253. package/cjs/date/context/useDateTranslationContext.js.map +0 -1
  254. package/cjs/date/context/useSharedMonthContext.d.ts +0 -21
  255. package/cjs/date/context/useSharedMonthContext.js +0 -64
  256. package/cjs/date/context/useSharedMonthContext.js.map +0 -1
  257. package/cjs/date/datepicker/DatePickerStandalone.js +0 -86
  258. package/cjs/date/datepicker/DatePickerStandalone.js.map +0 -1
  259. package/cjs/date/datepicker/parts/Caption.d.ts +0 -7
  260. package/cjs/date/datepicker/parts/Caption.js +0 -30
  261. package/cjs/date/datepicker/parts/Caption.js.map +0 -1
  262. package/cjs/date/datepicker/parts/DayButton.d.ts +0 -4
  263. package/cjs/date/datepicker/parts/DayButton.js +0 -43
  264. package/cjs/date/datepicker/parts/DayButton.js.map +0 -1
  265. package/cjs/date/datepicker/parts/DropdownCaption.d.ts +0 -7
  266. package/cjs/date/datepicker/parts/DropdownCaption.js +0 -46
  267. package/cjs/date/datepicker/parts/DropdownCaption.js.map +0 -1
  268. package/cjs/date/datepicker/parts/HeadRow.d.ts +0 -10
  269. package/cjs/date/datepicker/parts/HeadRow.js +0 -36
  270. package/cjs/date/datepicker/parts/HeadRow.js.map +0 -1
  271. package/cjs/date/datepicker/parts/Row.d.ts +0 -16
  272. package/cjs/date/datepicker/parts/Row.js +0 -25
  273. package/cjs/date/datepicker/parts/Row.js.map +0 -1
  274. package/cjs/date/datepicker/parts/TableHead.d.ts +0 -5
  275. package/cjs/date/datepicker/parts/TableHead.js +0 -19
  276. package/cjs/date/datepicker/parts/TableHead.js.map +0 -1
  277. package/cjs/date/datepicker/parts/WeekNumber.d.ts +0 -11
  278. package/cjs/date/datepicker/parts/WeekNumber.js +0 -33
  279. package/cjs/date/datepicker/parts/WeekNumber.js.map +0 -1
  280. package/cjs/date/datepicker/parts/WeekRow.d.ts +0 -5
  281. package/cjs/date/datepicker/parts/WeekRow.js.map +0 -1
  282. package/cjs/date/datepicker/types.js.map +0 -1
  283. package/cjs/date/hooks/index.d.ts +0 -6
  284. package/cjs/date/hooks/index.js +0 -10
  285. package/cjs/date/hooks/index.js.map +0 -1
  286. package/cjs/date/hooks/useDatepicker.js.map +0 -1
  287. package/cjs/date/hooks/useMonthPicker.js.map +0 -1
  288. package/cjs/date/hooks/useRangeDatepicker.js.map +0 -1
  289. package/cjs/date/monthpicker/MonthButton.js.map +0 -1
  290. package/cjs/date/monthpicker/MonthCaption.d.ts +0 -3
  291. package/cjs/date/monthpicker/MonthCaption.js.map +0 -1
  292. package/cjs/date/monthpicker/MonthPickerStandalone.js.map +0 -1
  293. package/cjs/date/monthpicker/MonthSelector.d.ts +0 -3
  294. package/cjs/date/monthpicker/MonthSelector.js.map +0 -1
  295. package/cjs/date/monthpicker/types.js.map +0 -1
  296. package/cjs/date/parts/DateInput.js.map +0 -1
  297. package/cjs/date/parts/DateWrapper.js.map +0 -1
  298. package/cjs/date/utils/check-dates.js.map +0 -1
  299. package/cjs/date/utils/dates-disabled.js.map +0 -1
  300. package/cjs/date/utils/format-date.js.map +0 -1
  301. package/cjs/date/utils/get-dates.d.ts +0 -2
  302. package/cjs/date/utils/get-dates.js +0 -52
  303. package/cjs/date/utils/get-dates.js.map +0 -1
  304. package/cjs/date/utils/get-initial-year.d.ts +0 -5
  305. package/cjs/date/utils/get-initial-year.js +0 -21
  306. package/cjs/date/utils/get-initial-year.js.map +0 -1
  307. package/cjs/date/utils/get-month-weeks.d.ts +0 -16
  308. package/cjs/date/utils/get-month-weeks.js +0 -46
  309. package/cjs/date/utils/get-month-weeks.js.map +0 -1
  310. package/cjs/date/utils/index.d.ts +0 -9
  311. package/cjs/date/utils/index.js +0 -29
  312. package/cjs/date/utils/index.js.map +0 -1
  313. package/cjs/date/utils/is-match.d.ts +0 -4
  314. package/cjs/date/utils/is-match.js.map +0 -1
  315. package/cjs/date/utils/locale.js.map +0 -1
  316. package/cjs/date/utils/navigation.js.map +0 -1
  317. package/cjs/date/utils/parse-date.js.map +0 -1
  318. package/esm/date/context/index.d.ts +0 -3
  319. package/esm/date/context/index.js +0 -4
  320. package/esm/date/context/index.js.map +0 -1
  321. package/esm/date/context/useDateInputContext.d.ts +0 -21
  322. package/esm/date/context/useDateInputContext.js +0 -10
  323. package/esm/date/context/useDateInputContext.js.map +0 -1
  324. package/esm/date/context/useDateTranslationContext.d.ts +0 -8
  325. package/esm/date/context/useDateTranslationContext.js +0 -3
  326. package/esm/date/context/useDateTranslationContext.js.map +0 -1
  327. package/esm/date/context/useSharedMonthContext.d.ts +0 -21
  328. package/esm/date/context/useSharedMonthContext.js +0 -36
  329. package/esm/date/context/useSharedMonthContext.js.map +0 -1
  330. package/esm/date/datepicker/DatePickerStandalone.js +0 -57
  331. package/esm/date/datepicker/DatePickerStandalone.js.map +0 -1
  332. package/esm/date/datepicker/parts/Caption.d.ts +0 -7
  333. package/esm/date/datepicker/parts/Caption.js +0 -23
  334. package/esm/date/datepicker/parts/Caption.js.map +0 -1
  335. package/esm/date/datepicker/parts/DayButton.d.ts +0 -4
  336. package/esm/date/datepicker/parts/DayButton.js +0 -18
  337. package/esm/date/datepicker/parts/DayButton.js.map +0 -1
  338. package/esm/date/datepicker/parts/DropdownCaption.d.ts +0 -7
  339. package/esm/date/datepicker/parts/DropdownCaption.js +0 -39
  340. package/esm/date/datepicker/parts/DropdownCaption.js.map +0 -1
  341. package/esm/date/datepicker/parts/HeadRow.d.ts +0 -10
  342. package/esm/date/datepicker/parts/HeadRow.js +0 -29
  343. package/esm/date/datepicker/parts/HeadRow.js.map +0 -1
  344. package/esm/date/datepicker/parts/Row.d.ts +0 -16
  345. package/esm/date/datepicker/parts/Row.js +0 -20
  346. package/esm/date/datepicker/parts/Row.js.map +0 -1
  347. package/esm/date/datepicker/parts/TableHead.d.ts +0 -5
  348. package/esm/date/datepicker/parts/TableHead.js +0 -14
  349. package/esm/date/datepicker/parts/TableHead.js.map +0 -1
  350. package/esm/date/datepicker/parts/WeekNumber.d.ts +0 -11
  351. package/esm/date/datepicker/parts/WeekNumber.js +0 -28
  352. package/esm/date/datepicker/parts/WeekNumber.js.map +0 -1
  353. package/esm/date/datepicker/parts/WeekRow.d.ts +0 -5
  354. package/esm/date/datepicker/parts/WeekRow.js +0 -31
  355. package/esm/date/datepicker/parts/WeekRow.js.map +0 -1
  356. package/esm/date/datepicker/types.js +0 -2
  357. package/esm/date/datepicker/types.js.map +0 -1
  358. package/esm/date/hooks/index.d.ts +0 -6
  359. package/esm/date/hooks/index.js +0 -4
  360. package/esm/date/hooks/index.js.map +0 -1
  361. package/esm/date/hooks/useDatepicker.js.map +0 -1
  362. package/esm/date/hooks/useMonthPicker.js.map +0 -1
  363. package/esm/date/hooks/useRangeDatepicker.js.map +0 -1
  364. package/esm/date/monthpicker/MonthButton.js.map +0 -1
  365. package/esm/date/monthpicker/MonthCaption.d.ts +0 -3
  366. package/esm/date/monthpicker/MonthCaption.js.map +0 -1
  367. package/esm/date/monthpicker/MonthPickerStandalone.js +0 -36
  368. package/esm/date/monthpicker/MonthPickerStandalone.js.map +0 -1
  369. package/esm/date/monthpicker/MonthSelector.d.ts +0 -3
  370. package/esm/date/monthpicker/MonthSelector.js.map +0 -1
  371. package/esm/date/monthpicker/types.js +0 -2
  372. package/esm/date/monthpicker/types.js.map +0 -1
  373. package/esm/date/parts/DateWrapper.js.map +0 -1
  374. package/esm/date/utils/check-dates.js.map +0 -1
  375. package/esm/date/utils/dates-disabled.js.map +0 -1
  376. package/esm/date/utils/format-date.js.map +0 -1
  377. package/esm/date/utils/get-dates.d.ts +0 -2
  378. package/esm/date/utils/get-dates.js +0 -47
  379. package/esm/date/utils/get-dates.js.map +0 -1
  380. package/esm/date/utils/get-initial-year.d.ts +0 -5
  381. package/esm/date/utils/get-initial-year.js +0 -18
  382. package/esm/date/utils/get-initial-year.js.map +0 -1
  383. package/esm/date/utils/get-month-weeks.d.ts +0 -16
  384. package/esm/date/utils/get-month-weeks.js +0 -42
  385. package/esm/date/utils/get-month-weeks.js.map +0 -1
  386. package/esm/date/utils/index.d.ts +0 -9
  387. package/esm/date/utils/index.js.map +0 -1
  388. package/esm/date/utils/is-match.d.ts +0 -4
  389. package/esm/date/utils/is-match.js.map +0 -1
  390. package/esm/date/utils/locale.js.map +0 -1
  391. package/esm/date/utils/navigation.js.map +0 -1
  392. package/esm/date/utils/parse-date.js.map +0 -1
  393. package/src/date/context/index.ts +0 -9
  394. package/src/date/context/useDateInputContext.tsx +0 -34
  395. package/src/date/context/useDateTranslationContext.ts +0 -9
  396. package/src/date/context/useSharedMonthContext.tsx +0 -68
  397. package/src/date/datepicker/DatePickerStandalone.tsx +0 -136
  398. package/src/date/datepicker/datepicker.test.tsx +0 -28
  399. package/src/date/datepicker/parts/Caption.tsx +0 -54
  400. package/src/date/datepicker/parts/DayButton.tsx +0 -32
  401. package/src/date/datepicker/parts/DropdownCaption.tsx +0 -110
  402. package/src/date/datepicker/parts/HeadRow.tsx +0 -56
  403. package/src/date/datepicker/parts/Row.tsx +0 -48
  404. package/src/date/datepicker/parts/TableHead.tsx +0 -17
  405. package/src/date/datepicker/parts/WeekNumber.tsx +0 -75
  406. package/src/date/hooks/index.ts +0 -6
  407. package/src/date/monthpicker/MonthPickerStandalone.tsx +0 -102
  408. package/src/date/utils/__tests__/check-dates.test.ts +0 -22
  409. package/src/date/utils/__tests__/get-dates.test.ts +0 -121
  410. package/src/date/utils/__tests__/get-initial-year.test.ts +0 -83
  411. package/src/date/utils/__tests__/get-month-weeks.test.ts +0 -116
  412. package/src/date/utils/get-dates.ts +0 -60
  413. package/src/date/utils/get-initial-year.ts +0 -25
  414. package/src/date/utils/get-month-weeks.ts +0 -93
  415. package/src/date/utils/index.ts +0 -18
  416. /package/cjs/date/{utils → date-utils}/check-dates.d.ts +0 -0
  417. /package/cjs/date/{utils → date-utils}/check-dates.js +0 -0
  418. /package/cjs/date/{utils → date-utils}/dates-disabled.d.ts +0 -0
  419. /package/cjs/date/{utils → date-utils}/format-date.d.ts +0 -0
  420. /package/cjs/date/{utils → date-utils}/format-date.js +0 -0
  421. /package/cjs/date/{utils → date-utils}/parse-date.d.ts +0 -0
  422. /package/cjs/date/{utils → date-utils}/parse-date.js +0 -0
  423. /package/cjs/date/monthpicker/{MonthButton.d.ts → parts/MonthPicker.Button.d.ts} +0 -0
  424. /package/esm/date/{utils → date-utils}/check-dates.d.ts +0 -0
  425. /package/esm/date/{utils → date-utils}/check-dates.js +0 -0
  426. /package/esm/date/{utils → date-utils}/dates-disabled.d.ts +0 -0
  427. /package/esm/date/{utils → date-utils}/format-date.d.ts +0 -0
  428. /package/esm/date/{utils → date-utils}/format-date.js +0 -0
  429. /package/esm/date/{utils → date-utils}/parse-date.d.ts +0 -0
  430. /package/esm/date/{utils → date-utils}/parse-date.js +0 -0
  431. /package/esm/date/monthpicker/{MonthButton.d.ts → parts/MonthPicker.Button.d.ts} +0 -0
  432. /package/src/date/{utils → date-utils}/check-dates.ts +0 -0
  433. /package/src/date/{utils → date-utils}/format-date.ts +0 -0
  434. /package/src/date/{utils → date-utils}/parse-date.ts +0 -0
@@ -1,48 +0,0 @@
1
- import { getUnixTime } from "date-fns";
2
- import React from "react";
3
- import { useDayPicker } from "react-day-picker";
4
- import { Hide } from "../../../layout/responsive";
5
- import DayButton from "./DayButton";
6
- import WeekNumber from "./WeekNumber";
7
-
8
- /**
9
- * The props for the {@link Row} component.
10
- */
11
- export interface RowProps {
12
- /** The month where the row is displayed. */
13
- displayMonth: Date;
14
- /** The number of the week to render. */
15
- weekNumber: number;
16
- /** The days contained in the week. */
17
- dates: Date[];
18
- }
19
-
20
- /**
21
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Row
22
- */
23
- function Row(props: RowProps): JSX.Element {
24
- const { styles, classNames, showWeekNumber } = useDayPicker();
25
-
26
- return (
27
- <tr className={classNames.row} style={styles.row}>
28
- {showWeekNumber && (
29
- <Hide below="sm" asChild>
30
- <td className={classNames.cell} style={styles.cell}>
31
- <WeekNumber number={props.weekNumber} dates={props.dates} />
32
- </td>
33
- </Hide>
34
- )}
35
- {props.dates.map((date) => (
36
- <td
37
- className={classNames.cell}
38
- style={styles.cell}
39
- key={getUnixTime(date)}
40
- >
41
- <DayButton displayMonth={props.displayMonth} date={date} />
42
- </td>
43
- ))}
44
- </tr>
45
- );
46
- }
47
-
48
- export default Row;
@@ -1,17 +0,0 @@
1
- import React from "react";
2
- import { HeadRow, useDayPicker } from "react-day-picker";
3
-
4
- /**
5
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Head
6
- */
7
- function TableHead(): JSX.Element {
8
- const { classNames, styles, components } = useDayPicker();
9
- const HeadRowComponent = components?.HeadRow ?? HeadRow;
10
- return (
11
- <thead style={styles.head} className={classNames.head} aria-hidden>
12
- <HeadRowComponent />
13
- </thead>
14
- );
15
- }
16
-
17
- export default TableHead;
@@ -1,75 +0,0 @@
1
- /* https://github.com/gpbl/react-day-picker/blob/7f78cd5/src/components/WeekNumber/WeekNumber.tsx#L21 */
2
- import React from "react";
3
- import { Button as RDPButton, useDayPicker } from "react-day-picker";
4
- import { Button } from "../../../button";
5
- import { useThemeInternal } from "../../../theme/Theme";
6
- import { Detail } from "../../../typography";
7
- import { useDateTranslationContext } from "../../context";
8
-
9
- export interface WeekNumberProps {
10
- /** The number of the week. */
11
- number: number;
12
- /** The dates in the week. */
13
- dates: Date[];
14
- }
15
-
16
- /**
17
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/WeekNumber
18
- */
19
- function WeekNumber({
20
- number: weekNumber,
21
- dates,
22
- }: WeekNumberProps): JSX.Element {
23
- const { onWeekNumberClick, styles, classNames } = useDayPicker();
24
- const themeContext = useThemeInternal(false);
25
- const translate = useDateTranslationContext().translate;
26
-
27
- if (!onWeekNumberClick) {
28
- return (
29
- <Detail
30
- as="span"
31
- textColor="subtle"
32
- className={classNames.weeknumber}
33
- style={styles.weeknumber}
34
- aria-label={translate("weekNumber", { week: weekNumber })}
35
- >
36
- {weekNumber}
37
- </Detail>
38
- );
39
- }
40
-
41
- if (themeContext) {
42
- return (
43
- <Button
44
- variant="secondary-neutral"
45
- size="small"
46
- name="week-number"
47
- aria-label={translate("selectWeekNumber", { week: weekNumber })}
48
- style={styles.weeknumber}
49
- className="navds-date__weeknumber"
50
- onClick={(event) => {
51
- onWeekNumberClick(weekNumber, dates, event);
52
- }}
53
- icon={
54
- <span className="navds-date__weeknumber-number">{weekNumber}</span>
55
- }
56
- />
57
- );
58
- }
59
-
60
- return (
61
- <RDPButton
62
- name="week-number"
63
- aria-label={translate("selectWeekNumber", { week: weekNumber })}
64
- style={styles.weeknumber}
65
- className={classNames.weeknumber}
66
- onClick={(event) => {
67
- onWeekNumberClick(weekNumber, dates, event);
68
- }}
69
- >
70
- {weekNumber}
71
- </RDPButton>
72
- );
73
- }
74
-
75
- export default WeekNumber;
@@ -1,6 +0,0 @@
1
- export { useDatepicker } from "./useDatepicker";
2
- export type { DateValidationT } from "./useDatepicker";
3
- export { useRangeDatepicker } from "./useRangeDatepicker";
4
- export type { RangeValidationT } from "./useRangeDatepicker";
5
- export { useMonthpicker } from "./useMonthPicker";
6
- export type { MonthValidationT } from "./useMonthPicker";
@@ -1,102 +0,0 @@
1
- import cl from "clsx";
2
- import React, { forwardRef, useState } from "react";
3
- import { DayPickerProvider } from "react-day-picker";
4
- import { useDateLocale, useI18n } from "../../util/i18n/i18n.hooks";
5
- import {
6
- DateTranslationContextProvider,
7
- SharedMonthProvider,
8
- } from "../context";
9
- import { getLocaleFromString, getTranslations } from "../utils";
10
- import MonthCaption from "./MonthCaption";
11
- import MonthSelector from "./MonthSelector";
12
- import { MonthPickerProps } from "./types";
13
-
14
- export interface MonthPickerStandaloneProps
15
- extends Omit<
16
- MonthPickerProps,
17
- "open" | "onClose" | "onOpenToggle" | "wrapperClassName" | "strategy"
18
- > {
19
- /**
20
- * Monthpicker classname
21
- */
22
- className?: string;
23
- }
24
-
25
- export type MonthPickerStandaloneType = React.ForwardRefExoticComponent<
26
- MonthPickerStandaloneProps & React.RefAttributes<HTMLDivElement>
27
- >;
28
-
29
- export const MonthPickerStandalone = forwardRef<
30
- HTMLDivElement,
31
- MonthPickerStandaloneProps
32
- >(
33
- (
34
- {
35
- dropdownCaption = false,
36
- fromDate,
37
- toDate,
38
- disabled = [],
39
- selected,
40
- className,
41
- locale,
42
- translations,
43
- onMonthSelect,
44
- defaultSelected,
45
- year,
46
- onYearChange,
47
- },
48
- ref,
49
- ) => {
50
- const translate = useI18n(
51
- "DatePicker",
52
- translations,
53
- getTranslations(locale),
54
- );
55
- const langProviderLocale = useDateLocale();
56
- const [selectedMonth, setSelectedMonth] = useState<Date | undefined>(
57
- defaultSelected,
58
- );
59
-
60
- const handleSelect = (month?: Date) => {
61
- setSelectedMonth(month);
62
- onMonthSelect?.(month);
63
- };
64
-
65
- if (dropdownCaption && (!fromDate || !toDate)) {
66
- console.warn("Using dropdownCaption required fromDate and toDate");
67
- return null;
68
- }
69
-
70
- return (
71
- <div ref={ref} className={cl("navds-date__wrapper", className)}>
72
- <DateTranslationContextProvider translate={translate}>
73
- <DayPickerProvider
74
- initialProps={{
75
- locale: locale ? getLocaleFromString(locale) : langProviderLocale,
76
- selected: selected ?? selectedMonth,
77
- toDate,
78
- fromDate,
79
- month: selected ?? selectedMonth,
80
- }}
81
- >
82
- <div className="navds-date rdp-month">
83
- <SharedMonthProvider
84
- dropdownCaption={dropdownCaption}
85
- disabled={disabled}
86
- selected={selected ?? selectedMonth}
87
- onSelect={handleSelect}
88
- year={year}
89
- onYearChange={onYearChange}
90
- >
91
- <MonthCaption />
92
- <MonthSelector />
93
- </SharedMonthProvider>
94
- </div>
95
- </DayPickerProvider>
96
- </DateTranslationContextProvider>
97
- </div>
98
- );
99
- },
100
- );
101
-
102
- export default MonthPickerStandalone;
@@ -1,22 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { dateIsInCurrentMonth } from "..";
3
-
4
- const selectedDate = new Date("Feb 1 1994");
5
-
6
- describe("Returns if date is in current month", () => {
7
- test("Date should be within current month (true)", () => {
8
- expect(dateIsInCurrentMonth(new Date(), new Date())).toBeTruthy();
9
- });
10
-
11
- test("Date should not be within current month (false)", () => {
12
- expect(
13
- dateIsInCurrentMonth(new Date("Sep 2 2021"), selectedDate),
14
- ).toBeFalsy();
15
- expect(
16
- dateIsInCurrentMonth(new Date("Sep 1 2021"), selectedDate),
17
- ).toBeFalsy();
18
- expect(
19
- dateIsInCurrentMonth(new Date("Sep 30 2021"), selectedDate),
20
- ).toBeFalsy();
21
- });
22
- });
@@ -1,121 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { getMonths, getYears } from "..";
3
-
4
- describe("Extracts correct months", () => {
5
- test("March - October (8)", () => {
6
- const t = {
7
- start: new Date(2019, 2, 22),
8
- end: new Date(2019, 9, 22),
9
- current: new Date(2019, 6, 22),
10
- res: 8,
11
- };
12
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
13
- });
14
-
15
- test("Only first 7 months", () => {
16
- const t = {
17
- start: new Date(2019, 0, 22),
18
- end: new Date(2022, 7, 22),
19
- current: new Date(2022, 6, 22),
20
- res: 8,
21
- };
22
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
23
- });
24
-
25
- test("All of 2019 when only 2019 avaliable (12)", () => {
26
- const t = {
27
- start: new Date(2019, 0, 22),
28
- end: new Date(2019, 11, 22),
29
- current: new Date(2019, 6, 22),
30
- res: 12,
31
- };
32
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
33
- });
34
- test("All of 2019 when start + current is 2019 and end is later(12)", () => {
35
- const t = {
36
- start: new Date(2019, 0, 22),
37
- end: new Date(2022, 7, 22),
38
- current: new Date(2019, 6, 22),
39
- res: 12,
40
- };
41
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
42
- });
43
- test("All of 2020 when between 2019 and 2022 (12)", () => {
44
- const t = {
45
- start: new Date(2019, 0, 22),
46
- end: new Date(2022, 7, 22),
47
- current: new Date(2020, 6, 22),
48
- res: 12,
49
- };
50
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
51
- });
52
- test("Tail part of 2019, including starting month (12)", () => {
53
- const t = {
54
- start: new Date(2019, 5, 22),
55
- end: new Date(2022, 7, 22),
56
- current: new Date(2019, 6, 22),
57
- res: 7,
58
- };
59
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
60
- });
61
- test("End part of 2022, including starting month (12)", () => {
62
- const t = {
63
- start: new Date(2019, 5, 22),
64
- end: new Date(2022, 7, 22),
65
- current: new Date(2022, 7, 22),
66
- res: 8,
67
- };
68
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
69
- });
70
- test("Adds out of range month to list (13)", () => {
71
- const t = {
72
- start: new Date(2019, 5, 22),
73
- end: new Date(2022, 7, 22),
74
- current: new Date(2022, 9, 22),
75
- res: 9,
76
- };
77
- expect(getMonths(t.start, t.end, t.current).length).toEqual(t.res);
78
- });
79
- });
80
-
81
- describe("Extracts correct years", () => {
82
- test("Same year (1)", () => {
83
- const t = {
84
- start: new Date(2019, 2, 22),
85
- end: new Date(2019, 9, 22),
86
- current: 2019,
87
- res: 1,
88
- };
89
- expect(getYears(t.start, t.end, t.current).length).toEqual(t.res);
90
- });
91
-
92
- test("Multiple years (11)", () => {
93
- const t = {
94
- start: new Date(2019, 2, 22),
95
- end: new Date(2029, 9, 22),
96
- current: 2022,
97
- res: 11,
98
- };
99
- expect(getYears(t.start, t.end, t.current).length).toEqual(t.res);
100
- });
101
-
102
- test("Displaymonth outside range: after (11)", () => {
103
- const t = {
104
- start: new Date(2019, 2, 22),
105
- end: new Date(2029, 9, 22),
106
- current: 2040,
107
- res: 12,
108
- };
109
- expect(getYears(t.start, t.end, t.current).length).toEqual(t.res);
110
- });
111
-
112
- test("Displaymonth outside range: before (11)", () => {
113
- const t = {
114
- start: new Date(2019, 2, 22),
115
- end: new Date(2029, 9, 22),
116
- current: 2001,
117
- res: 12,
118
- };
119
- expect(getYears(t.start, t.end, t.current).length).toEqual(t.res);
120
- });
121
- });
@@ -1,83 +0,0 @@
1
- import { isSameYear } from "date-fns";
2
- import { describe, expect, test } from "vitest";
3
- import { getInitialYear } from "..";
4
-
5
- describe("Returns initial year for monthpicker", () => {
6
- test("Default selected should be valid (true)", () => {
7
- expect(
8
- isSameYear(
9
- new Date("Oct 4 2021"),
10
- getInitialYear({
11
- defaultMonth: new Date("Aug 4 2021"),
12
- }),
13
- ),
14
- ).toBeTruthy();
15
- });
16
- test("Default selected should not be valid (false)", () => {
17
- expect(
18
- isSameYear(
19
- new Date("Oct 4 2021"),
20
- getInitialYear({
21
- defaultMonth: new Date("Aug 4 2020"),
22
- }),
23
- ),
24
- ).toBeFalsy();
25
- });
26
- test("Default selected should be valid with fromDate", () => {
27
- expect(
28
- isSameYear(
29
- new Date("Oct 4 2021"),
30
- getInitialYear({
31
- defaultMonth: new Date("Aug 4 2021"),
32
- /* toDate: new Date("Oct 4 2021"), */
33
- fromDate: new Date("Oct 4 2021"),
34
- }),
35
- ),
36
- ).toBeTruthy();
37
- });
38
- test("Default selected should be valid with toDate", () => {
39
- expect(
40
- isSameYear(
41
- new Date("Oct 4 2021"),
42
- getInitialYear({
43
- defaultMonth: new Date("Aug 4 2021"),
44
- toDate: new Date("Jun 4 2021"),
45
- }),
46
- ),
47
- ).toBeTruthy();
48
- });
49
- test("Default selected should be moved to toDate", () => {
50
- expect(
51
- isSameYear(
52
- new Date("Oct 4 2020"),
53
- getInitialYear({
54
- defaultMonth: new Date("Aug 4 2021"),
55
- toDate: new Date("Jun 4 2020"),
56
- }),
57
- ),
58
- ).toBeTruthy();
59
- });
60
- test("Default selected should be moved to fromDate", () => {
61
- expect(
62
- isSameYear(
63
- new Date("Oct 4 2022"),
64
- getInitialYear({
65
- defaultMonth: new Date("Aug 4 2021"),
66
- fromDate: new Date("Jun 4 2022"),
67
- }),
68
- ),
69
- ).toBeTruthy();
70
- });
71
- test("Default selected should be moved to fromDate, not toDate", () => {
72
- expect(
73
- isSameYear(
74
- new Date("Oct 4 2022"),
75
- getInitialYear({
76
- defaultMonth: new Date("Aug 4 2021"),
77
- toDate: new Date("Oct 4 2023"),
78
- fromDate: new Date("Jun 4 2022"),
79
- }),
80
- ),
81
- ).toBeTruthy();
82
- });
83
- });
@@ -1,116 +0,0 @@
1
- /* https://github.com/gpbl/react-day-picker/blob/main/src/components/Table/utils/getMonthWeeks.test.ts */
2
- import { enGB, nb } from "date-fns/locale";
3
- import { describe, expect, test } from "vitest";
4
- import { getMonthWeeks } from "../get-month-weeks";
5
-
6
- describe('when using the "nB" locale', () => {
7
- const locale = nb;
8
- describe("when getting the weeks for January 2022", () => {
9
- const weeks = getMonthWeeks(new Date(2022, 0), { locale });
10
- test("the first week should be the last of the previous year", () => {
11
- const weekNumbers = weeks.map((week) => week.weekNumber);
12
- expect(weekNumbers[0]).toEqual(52);
13
- });
14
- test("the first week should contain days from previous year", () => {
15
- expect(weeks[0].dates.map((date) => date.getDate())).toEqual([
16
- 27, 28, 29, 30, 31, 1, 2,
17
- ]);
18
- });
19
- test("the last week should be the last of January", () => {
20
- const weekNumbers = weeks.map((week) => week.weekNumber);
21
- expect(weekNumbers[weekNumbers.length - 1]).toEqual(5);
22
- });
23
- });
24
- });
25
-
26
- describe('when using the "enGB" locale', () => {
27
- const locale = enGB;
28
- describe("when using fixed weeks", () => {
29
- const useFixedWeeks = true;
30
- describe("when getting the weeks for December 2022", () => {
31
- const weeks = getMonthWeeks(new Date(2022, 11), {
32
- useFixedWeeks,
33
- locale,
34
- });
35
- test("should return 48 - 1 week numbers", () => {
36
- const weekNumbers = weeks.map((week) => week.weekNumber);
37
- const expectedResult = [48, 49, 50, 51, 52, 1];
38
- expect(weekNumbers).toEqual(expectedResult);
39
- });
40
- test("the last week should be the one in the next year", () => {
41
- const lastWeek = weeks[weeks.length - 1];
42
- const lastWeekDates = lastWeek.dates.map((date) => date.getDate());
43
- const expectedResult = [2, 3, 4, 5, 6, 7, 8];
44
- expect(lastWeekDates).toEqual(expectedResult);
45
- });
46
- });
47
- describe("when getting the weeks for December 2021", () => {
48
- const weeks = getMonthWeeks(new Date(2021, 11), {
49
- useFixedWeeks,
50
- locale,
51
- });
52
- test("should return 48 - 1 week numbers", () => {
53
- const weekNumbers = weeks.map((week) => week.weekNumber);
54
- const expectedResult = [48, 49, 50, 51, 52, 1];
55
- expect(weekNumbers).toEqual(expectedResult);
56
- });
57
- test("week 1 contains the first day of the new year", () => {
58
- expect(weeks[4].dates.map((date) => date.getDate())).toEqual([
59
- 27, 28, 29, 30, 31, 1, 2,
60
- ]);
61
- });
62
- });
63
- });
64
- });
65
-
66
- describe('when using the "nb" locale', () => {
67
- const locale = nb;
68
- describe("when using fixed weeks", () => {
69
- const useFixedWeeks = true;
70
- describe("when getting the weeks for December 2022", () => {
71
- const weeks = getMonthWeeks(new Date(2022, 11), {
72
- useFixedWeeks,
73
- locale,
74
- });
75
- test("should return 48 - 1 week numbers", () => {
76
- const weekNumbers = weeks.map((week) => week.weekNumber);
77
- const expectedResult = [48, 49, 50, 51, 52, 1];
78
- expect(weekNumbers).toEqual(expectedResult);
79
- });
80
- test("the last week should be the one in the next year", () => {
81
- const lastWeek = weeks[weeks.length - 1];
82
- const lastWeekDates = lastWeek.dates.map((date) => date.getDate());
83
- const expectedResult = [2, 3, 4, 5, 6, 7, 8];
84
- expect(lastWeekDates).toEqual(expectedResult);
85
- });
86
- });
87
- describe("when getting the weeks for December 2021", () => {
88
- const weeks = getMonthWeeks(new Date(2021, 11), {
89
- useFixedWeeks,
90
- locale,
91
- });
92
- test("should return 48 - 1 week numbers", () => {
93
- const weekNumbers = weeks.map((week) => week.weekNumber);
94
- const expectedResult = [48, 49, 50, 51, 52, 1];
95
- expect(weekNumbers).toEqual(expectedResult);
96
- });
97
- test("week 1 contains the first day of the new year", () => {
98
- expect(weeks[4].dates.map((date) => date.getDate())).toEqual([
99
- 27, 28, 29, 30, 31, 1, 2,
100
- ]);
101
- });
102
- });
103
- });
104
- });
105
-
106
- describe("getMonthWeeks should calculate week-number corectly", () => {
107
- const locale = nb;
108
- describe("when getting the weeks for September 2022", () => {
109
- const date = new Date(2022, 8);
110
- const weeks = getMonthWeeks(date, { locale });
111
- test("the last week should have number 39", () => {
112
- const weekNumbers = weeks.map((week) => week.weekNumber);
113
- expect(weekNumbers[weekNumbers.length - 1]).toEqual(39);
114
- });
115
- });
116
- });
@@ -1,60 +0,0 @@
1
- import {
2
- isSameYear,
3
- setMonth,
4
- setYear,
5
- startOfMonth,
6
- startOfYear,
7
- } from "date-fns";
8
-
9
- export const getMonths = (start: Date, end: Date, current: Date): Date[] => {
10
- const dropdownMonths: Date[] = [];
11
-
12
- if (isSameYear(start, end)) {
13
- const date = startOfMonth(start);
14
- for (let month = start.getMonth(); month <= end.getMonth(); month++) {
15
- dropdownMonths.push(setMonth(date, month));
16
- }
17
- } else if (isSameYear(current, end)) {
18
- const date = startOfMonth(new Date());
19
- for (let month = 0; month <= end.getMonth(); month++) {
20
- dropdownMonths.push(setMonth(date, month));
21
- }
22
- } else if (isSameYear(current, start)) {
23
- const date = startOfMonth(start);
24
- for (let month = date.getMonth(); month <= 11; month++) {
25
- dropdownMonths.push(setMonth(date, month));
26
- }
27
- } else {
28
- const date = startOfMonth(new Date());
29
- for (let month = 0; month <= 11; month++) {
30
- dropdownMonths.push(setMonth(date, month));
31
- }
32
- }
33
-
34
- if (!dropdownMonths.map((d) => d.getMonth()).includes(current.getMonth())) {
35
- dropdownMonths.push(current);
36
- }
37
- dropdownMonths.sort((a, b) => a.getMonth() - b.getMonth());
38
-
39
- return dropdownMonths;
40
- };
41
-
42
- export const getYears = (
43
- start: Date,
44
- end: Date,
45
- currentYear: number,
46
- ): Date[] => {
47
- const years: Date[] = [];
48
- const fromYear = start.getFullYear();
49
- const toYear = end.getFullYear();
50
- for (let year = fromYear; year <= toYear; year++) {
51
- years.push(setYear(startOfYear(new Date()), year));
52
- }
53
-
54
- if (fromYear > currentYear || toYear < currentYear) {
55
- years.push(setYear(startOfYear(new Date()), currentYear));
56
- }
57
-
58
- years.sort((a, b) => a.getFullYear() - b.getFullYear());
59
- return years;
60
- };
@@ -1,25 +0,0 @@
1
- import { startOfYear } from "date-fns";
2
- import { DayPickerContextValue } from "react-day-picker";
3
-
4
- /**
5
- *
6
- */
7
- export function getInitialYear(context: Partial<DayPickerContextValue>): Date {
8
- const { month, defaultMonth, toDate, fromDate } = context;
9
-
10
- let initialMonth = month || defaultMonth || new Date();
11
-
12
- const isAfter = toDate && toDate.getFullYear() < initialMonth.getFullYear();
13
-
14
- const isBefore =
15
- fromDate && fromDate.getFullYear() > initialMonth.getFullYear();
16
-
17
- if (isAfter) {
18
- initialMonth = toDate;
19
- }
20
- if (isBefore) {
21
- initialMonth = fromDate;
22
- }
23
-
24
- return startOfYear(initialMonth);
25
- }