@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,5 +1,5 @@
1
1
  import { ComponentTranslation } from "../../util/i18n/i18n.types";
2
- import { Matcher } from "../utils";
2
+ import { Matcher } from "../Date.typeutils";
3
3
 
4
4
  export interface MonthPickerProps extends React.HTMLAttributes<HTMLDivElement> {
5
5
  /**
@@ -1,5 +1,6 @@
1
1
  import { setYear } from "date-fns";
2
- import { Matcher, isMatch } from "./is-match";
2
+ import { Matcher } from "../Date.typeutils";
3
+ import { isMatch } from "../date-utils";
3
4
 
4
5
  export const nextEnabled = (
5
6
  months: Date[],
@@ -1,14 +1,10 @@
1
1
  import React, { useCallback, useMemo, useState } from "react";
2
- import { useDateLocale } from "../../util/i18n/i18n.hooks";
3
- import { MonthPickerProps } from "../monthpicker/types";
4
- import { DateInputProps } from "../parts/DateInput";
5
- import {
6
- formatDateForInput,
7
- getLocaleFromString,
8
- isMatch,
9
- isValidDate,
10
- parseDate,
11
- } from "../utils";
2
+ import { dateMatchModifiers } from "react-day-picker";
3
+ import { useDateLocale } from "../../../util/i18n/i18n.hooks";
4
+ import { DateInputProps } from "../../Date.Input";
5
+ import { getLocaleFromString } from "../../Date.locale";
6
+ import { formatDateForInput, isValidDate, parseDate } from "../../date-utils";
7
+ import { MonthPickerProps } from "../MonthPicker.types";
12
8
 
13
9
  export interface UseMonthPickerOptions
14
10
  extends Pick<
@@ -267,11 +263,14 @@ export const useMonthpicker = (
267
263
  const isBefore = getIsBefore({ fromDate, date: month });
268
264
  const isAfter = getIsAfter({ toDate, date: month });
269
265
 
270
- if (!isValidDate(month) || (disabled && isMatch(month, disabled))) {
266
+ if (
267
+ !isValidDate(month) ||
268
+ (disabled && dateMatchModifiers(month, disabled))
269
+ ) {
271
270
  updateMonth(undefined);
272
271
  updateValidation({
273
272
  isInvalid: isValidDate(month),
274
- isDisabled: disabled && isMatch(month, disabled),
273
+ isDisabled: disabled && dateMatchModifiers(month, disabled),
275
274
  isValidMonth: false,
276
275
  isEmpty: !e.target.value,
277
276
  isBefore: isBefore ?? false,
@@ -283,7 +282,9 @@ export const useMonthpicker = (
283
282
  if (
284
283
  isAfter ||
285
284
  isBefore ||
286
- (fromDate && toDate && !isMatch(month, [{ from: fromDate, to: toDate }]))
285
+ (fromDate &&
286
+ toDate &&
287
+ !dateMatchModifiers(month, [{ from: fromDate, to: toDate }]))
287
288
  ) {
288
289
  updateMonth(undefined);
289
290
  updateValidation({
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- export { useMonthpicker, type MonthValidationT } from "../hooks";
2
+ export { useMonthpicker, type MonthValidationT } from "./hooks/useMonthPicker";
3
3
  export { default as MonthPicker } from "./MonthPicker";
4
- export { type MonthPickerProps } from "./types";
4
+ export { type MonthPickerProps } from "./MonthPicker.types";
5
5
  export {
6
6
  MonthPickerStandalone,
7
7
  type MonthPickerStandaloneProps,
8
- } from "./MonthPickerStandalone";
9
- export { MonthPickerInput } from "../parts/DateInput";
8
+ } from "./parts/MonthPicker.Standalone";
9
+ export { MonthPickerInput } from "../Date.Input";
@@ -7,9 +7,9 @@ import {
7
7
  setYear,
8
8
  } from "date-fns";
9
9
  import React, { useEffect, useRef } from "react";
10
- import { useDayPicker } from "react-day-picker";
11
- import { useSharedMonthContext } from "../context";
12
- import { dateIsInCurrentMonth, isMatch, nextEnabled } from "../utils";
10
+ import { dateIsInCurrentMonth, isMatch } from "../../date-utils";
11
+ import { useMonthPickerContext } from "../MonthPicker.context";
12
+ import { nextEnabled } from "../MonthPicker.util";
13
13
 
14
14
  interface MonthType {
15
15
  month: Date;
@@ -47,10 +47,18 @@ export const MonthButton = ({
47
47
  setTabRoot,
48
48
  }: MonthType) => {
49
49
  const ref = useRef<HTMLButtonElement>(null);
50
- const { hasDropdown, selected, onSelect, year, toYear, disabled } =
51
- useSharedMonthContext();
52
50
 
53
- const { fromDate, toDate, locale } = useDayPicker();
51
+ const {
52
+ fromDate,
53
+ toDate,
54
+ locale,
55
+ selected,
56
+ disabled,
57
+ year,
58
+ onYearChange,
59
+ onMonthSelect,
60
+ caption,
61
+ } = useMonthPickerContext();
54
62
  const isSelected = selected && isSameMonth(month, selected);
55
63
 
56
64
  useEffect(() => {
@@ -64,15 +72,18 @@ export const MonthButton = ({
64
72
  isMatch(setYear(month, year.getFullYear()), disabled) ||
65
73
  disableMonth(month, fromDate, toDate);
66
74
 
75
+ const isThisMonth = dateIsInCurrentMonth(month, year);
76
+
67
77
  return (
68
78
  <button
69
79
  ref={ref}
70
80
  type="button"
71
- onClick={() => onSelect(isSelected ? undefined : month)}
81
+ onClick={() => onMonthSelect?.(isSelected ? undefined : month)}
72
82
  disabled={isDisabled}
73
83
  aria-pressed={!!isSelected}
84
+ data-current-month={isThisMonth}
74
85
  className={cl("navds-date__month-button", {
75
- "rdp-day_today": dateIsInCurrentMonth(month, year),
86
+ "rdp-day_today": isThisMonth,
76
87
  "rdp-day_selected": isSelected,
77
88
  "rdp-day_disabled": isDisabled,
78
89
  })}
@@ -87,9 +98,9 @@ export const MonthButton = ({
87
98
  e.key,
88
99
  disabled,
89
100
  month,
90
- toYear,
101
+ onYearChange,
91
102
  year,
92
- hasDropdown,
103
+ caption === "dropdown",
93
104
  fromDate,
94
105
  toDate,
95
106
  );
@@ -1,4 +1,5 @@
1
1
  import {
2
+ format,
2
3
  isAfter,
3
4
  isBefore,
4
5
  setYear,
@@ -6,25 +7,21 @@ import {
6
7
  startOfYear,
7
8
  } from "date-fns";
8
9
  import React from "react";
9
- import { useDayPicker } from "react-day-picker";
10
10
  import { ArrowLeftIcon, ArrowRightIcon } from "@navikt/aksel-icons";
11
- import { Button } from "../../button";
12
- import { Select } from "../../form/select";
13
- import { useDateTranslationContext, useSharedMonthContext } from "../context";
11
+ import { Button } from "../../../button";
12
+ import { Select } from "../../../form/select";
13
+ import { useDateTranslationContext } from "../../Date.locale";
14
+ import { useMonthPickerContext } from "../MonthPicker.context";
15
+
16
+ const MonthPickerCaption = () => {
17
+ const { fromDate, toDate, locale, year, onYearChange, caption } =
18
+ useMonthPickerContext();
14
19
 
15
- export const MonthCaption = () => {
16
- const {
17
- fromDate,
18
- toDate,
19
- formatters: { formatYearCaption },
20
- locale,
21
- } = useDayPicker();
22
- const { hasDropdown, year, toYear } = useSharedMonthContext();
23
20
  const translate = useDateTranslationContext().translate;
24
21
 
25
22
  const years: Date[] = [];
26
23
 
27
- if (hasDropdown && fromDate && toDate) {
24
+ if (caption === "dropdown" && fromDate && toDate) {
28
25
  const fromYear = fromDate.getFullYear();
29
26
  const toDateYear = toDate.getFullYear();
30
27
  for (let currYear = fromYear; currYear <= toDateYear; currYear++) {
@@ -37,12 +34,14 @@ export const MonthCaption = () => {
37
34
  years.sort((a, b) => b.getFullYear() - a.getFullYear());
38
35
  }
39
36
 
40
- const handleYearChange = (event: React.ChangeEvent<HTMLSelectElement>) =>
41
- toYear(setYear(startOfMonth(new Date()), Number(event.target.value)));
37
+ const handleYearChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
38
+ onYearChange(setYear(startOfMonth(new Date()), Number(event.target.value)));
39
+ };
42
40
 
43
41
  const handleButtonClick = (val: number) => {
44
42
  const newYear = Number(year.getFullYear() + val);
45
- toYear(setYear(year, newYear));
43
+
44
+ onYearChange(setYear(year, newYear));
46
45
  };
47
46
 
48
47
  const disablePreviousYear = () => {
@@ -64,11 +63,11 @@ export const MonthCaption = () => {
64
63
  disabled={disablePreviousYear()}
65
64
  onClick={() => handleButtonClick(-1)}
66
65
  icon={<ArrowLeftIcon title={translate("goToPreviousYear")} />}
67
- variant="tertiary"
66
+ variant="tertiary-neutral"
68
67
  type="button"
69
68
  />
70
69
 
71
- {hasDropdown ? (
70
+ {caption === "dropdown" ? (
72
71
  <Select
73
72
  label={translate("year")}
74
73
  hideLabel
@@ -78,7 +77,7 @@ export const MonthCaption = () => {
78
77
  >
79
78
  {years.map((yearOpt) => (
80
79
  <option key={yearOpt.getFullYear()} value={yearOpt.getFullYear()}>
81
- {formatYearCaption(yearOpt, { locale })}
80
+ {format(yearOpt, "yyyy", { locale })}
82
81
  </option>
83
82
  ))}
84
83
  </Select>
@@ -92,11 +91,11 @@ export const MonthCaption = () => {
92
91
  disabled={disableNextYear()}
93
92
  onClick={() => handleButtonClick(1)}
94
93
  icon={<ArrowRightIcon title={translate("goToNextYear")} />}
95
- variant="tertiary"
94
+ variant="tertiary-neutral"
96
95
  type="button"
97
96
  />
98
97
  </div>
99
98
  );
100
99
  };
101
100
 
102
- export default MonthCaption;
101
+ export { MonthPickerCaption };
@@ -0,0 +1,86 @@
1
+ import cl from "clsx";
2
+ import React, { forwardRef } from "react";
3
+ import { useDateLocale, useI18n } from "../../../util/i18n/i18n.hooks";
4
+ import {
5
+ DateTranslationContextProvider,
6
+ getLocaleFromString,
7
+ getTranslations,
8
+ } from "../../Date.locale";
9
+ import { MonthPickerProvider } from "../MonthPicker.context";
10
+ import { MonthPickerProps } from "../MonthPicker.types";
11
+ import { MonthPickerCaption } from "./MonthPicker.Caption";
12
+ import { MonthPickerTable } from "./MonthPicker.Table";
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
+
57
+ if (dropdownCaption && (!fromDate || !toDate)) {
58
+ console.warn("Using dropdownCaption required fromDate and toDate");
59
+ return null;
60
+ }
61
+
62
+ return (
63
+ <div ref={ref} className={cl("navds-date__wrapper", className)}>
64
+ <DateTranslationContextProvider translate={translate}>
65
+ <MonthPickerProvider
66
+ dropdownCaption={dropdownCaption}
67
+ defaultSelected={defaultSelected}
68
+ selected={selected}
69
+ disabled={disabled}
70
+ fromDate={fromDate}
71
+ toDate={toDate}
72
+ year={year}
73
+ onYearChange={onYearChange}
74
+ onMonthSelect={onMonthSelect}
75
+ locale={locale ? getLocaleFromString(locale) : langProviderLocale}
76
+ >
77
+ <div className="navds-date rdp-month">
78
+ <MonthPickerCaption />
79
+ <MonthPickerTable />
80
+ </div>
81
+ </MonthPickerProvider>
82
+ </DateTranslationContextProvider>
83
+ </div>
84
+ );
85
+ },
86
+ );
@@ -1,9 +1,9 @@
1
1
  import { isSameMonth, setMonth, setYear, startOfMonth } from "date-fns";
2
2
  import React, { useState } from "react";
3
- import { BodyShort } from "../../typography";
4
- import { useSharedMonthContext } from "../context";
5
- import { isMatch } from "../utils";
6
- import MonthButton from "./MonthButton";
3
+ import { BodyShort } from "../../../typography";
4
+ import { isMatch } from "../../date-utils";
5
+ import { useMonthPickerContext } from "../MonthPicker.context";
6
+ import MonthButton from "./MonthPicker.Button";
7
7
 
8
8
  const getAllMonths = () => {
9
9
  const months: Date[] = [];
@@ -14,10 +14,10 @@ const getAllMonths = () => {
14
14
  return months;
15
15
  };
16
16
 
17
- export const MonthSelector = () => {
17
+ const MonthPickerTable = () => {
18
18
  const [focus, setFocus] = useState<Date>();
19
19
 
20
- const { selected, year, disabled } = useSharedMonthContext();
20
+ const { selected, year, disabled } = useMonthPickerContext();
21
21
 
22
22
  const months: Date[] = getAllMonths();
23
23
 
@@ -82,4 +82,4 @@ export const MonthSelector = () => {
82
82
  );
83
83
  };
84
84
 
85
- export default MonthSelector;
85
+ export { MonthPickerTable };
@@ -1,8 +1,8 @@
1
1
  import { useFloatingPortalNode } from "@floating-ui/react";
2
2
  import cl from "clsx";
3
- import React, { forwardRef, useContext, useEffect, useRef } from "react";
3
+ import React, { forwardRef, useEffect, useRef } from "react";
4
4
  import { createPortal } from "react-dom";
5
- import { DateInputContext } from "../date/context";
5
+ import { useDateInputContext } from "../date/Date.Input";
6
6
  import { useProvider } from "../provider/Provider";
7
7
  import { Detail, Heading } from "../typography";
8
8
  import { composeEventHandlers } from "../util/composeEventHandlers";
@@ -106,7 +106,7 @@ export const Modal = forwardRef<HTMLDialogElement, ModalProps>(
106
106
  const rootElement = useProvider()?.rootElement;
107
107
  const portalNode = useFloatingPortalNode({ root: rootElement });
108
108
 
109
- const dateContext = useContext(DateInputContext);
109
+ const dateContext = useDateInputContext(false);
110
110
  const isNested = useModalContext(false) !== undefined;
111
111
  if (isNested && !dateContext) {
112
112
  console.error("Modals should not be nested");
@@ -7,8 +7,8 @@ import {
7
7
  useFloating,
8
8
  } from "@floating-ui/react";
9
9
  import cl from "clsx";
10
- import React, { HTMLAttributes, forwardRef, useContext, useRef } from "react";
11
- import { DateInputContext } from "../date/context";
10
+ import React, { HTMLAttributes, forwardRef, useRef } from "react";
11
+ import { useDateInputContext } from "../date/Date.Input";
12
12
  import { useModalContext } from "../modal/Modal.context";
13
13
  import { DismissableLayer } from "../overlays/dismissablelayer/DismissableLayer";
14
14
  import { useThemeInternal } from "../theme/Theme";
@@ -121,9 +121,9 @@ export const Popover = forwardRef<HTMLDivElement, PopoverProps>(
121
121
  ) => {
122
122
  const arrowRef = useRef<HTMLDivElement | null>(null);
123
123
  const isInModal = useModalContext(false) !== undefined;
124
- const isInDatepicker = useContext(DateInputContext) !== null;
124
+ const datepickerContext = useDateInputContext(false);
125
125
  const chosenStrategy = userStrategy ?? (isInModal ? "fixed" : "absolute");
126
- const chosenFlip = isInDatepicker ? false : _flip;
126
+ const chosenFlip = datepickerContext ? false : _flip;
127
127
 
128
128
  const themeContext = useThemeInternal(false);
129
129
 
@@ -16,7 +16,6 @@ import React, { HTMLAttributes, forwardRef, useRef } from "react";
16
16
  import { useModalContext } from "../modal/Modal.context";
17
17
  import { Portal } from "../portal";
18
18
  import { Slot } from "../slot/Slot";
19
- import { useThemeInternal } from "../theme/Theme";
20
19
  import { Detail } from "../typography";
21
20
  import { useId } from "../util/hooks";
22
21
  import { useControllableState } from "../util/hooks/useControllableState";
@@ -124,9 +123,6 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
124
123
  },
125
124
  ref,
126
125
  ) => {
127
- const themeContext = useThemeInternal(false);
128
- const showArrow = _arrow && !themeContext;
129
-
130
126
  const [_open, _setOpen] = useControllableState({
131
127
  defaultValue: defaultOpen,
132
128
  value: open,
@@ -153,7 +149,7 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
153
149
  open: _open,
154
150
  onOpenChange: (newState) => _setOpen(newState),
155
151
  middleware: [
156
- offset(_offset ?? (themeContext ? 8 : _arrow ? 16 : 4)),
152
+ offset(_offset ?? (_arrow ? 8 : 4)),
157
153
  shift(),
158
154
  flip({ padding: 5, fallbackPlacements: ["bottom", "top"] }),
159
155
  flArrow({ element: arrowRef, padding: 5 }),
@@ -244,7 +240,7 @@ export const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(
244
240
  ))}
245
241
  </span>
246
242
  )}
247
- {showArrow && (
243
+ {_arrow && (
248
244
  <div
249
245
  ref={(node) => {
250
246
  arrowRef.current = node;
@@ -1,3 +0,0 @@
1
- export { useDateInputContext, DateInputContext } from "./useDateInputContext";
2
- export { useSharedMonthContext, SharedMonthProvider, } from "./useSharedMonthContext";
3
- export { useDateTranslationContext, DateTranslationContextProvider, } from "./useDateTranslationContext";
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DateTranslationContextProvider = exports.useDateTranslationContext = exports.SharedMonthProvider = exports.useSharedMonthContext = exports.DateInputContext = exports.useDateInputContext = void 0;
4
- var useDateInputContext_1 = require("./useDateInputContext");
5
- Object.defineProperty(exports, "useDateInputContext", { enumerable: true, get: function () { return useDateInputContext_1.useDateInputContext; } });
6
- Object.defineProperty(exports, "DateInputContext", { enumerable: true, get: function () { return useDateInputContext_1.DateInputContext; } });
7
- var useSharedMonthContext_1 = require("./useSharedMonthContext");
8
- Object.defineProperty(exports, "useSharedMonthContext", { enumerable: true, get: function () { return useSharedMonthContext_1.useSharedMonthContext; } });
9
- Object.defineProperty(exports, "SharedMonthProvider", { enumerable: true, get: function () { return useSharedMonthContext_1.SharedMonthProvider; } });
10
- var useDateTranslationContext_1 = require("./useDateTranslationContext");
11
- Object.defineProperty(exports, "useDateTranslationContext", { enumerable: true, get: function () { return useDateTranslationContext_1.useDateTranslationContext; } });
12
- Object.defineProperty(exports, "DateTranslationContextProvider", { enumerable: true, get: function () { return useDateTranslationContext_1.DateTranslationContextProvider; } });
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date/context/index.ts"],"names":[],"mappings":";;;AAAA,6DAA8E;AAArE,0HAAA,mBAAmB,OAAA;AAAE,uHAAA,gBAAgB,OAAA;AAC9C,iEAGiC;AAF/B,8HAAA,qBAAqB,OAAA;AACrB,4HAAA,mBAAmB,OAAA;AAErB,yEAGqC;AAFnC,sIAAA,yBAAyB,OAAA;AACzB,2IAAA,8BAA8B,OAAA"}
@@ -1,21 +0,0 @@
1
- interface DateInputContextProps {
2
- /**
3
- * Open state for popover
4
- */
5
- open: boolean;
6
- /**
7
- * Callback for opOpen toggle
8
- */
9
- onOpen: () => void;
10
- /**
11
- * Aria-connected ID
12
- */
13
- ariaId?: string;
14
- /**
15
- * Flag for enabled-check
16
- */
17
- defined: boolean;
18
- }
19
- export declare const DateInputContext: import("react").Context<DateInputContextProps | null>;
20
- export declare const useDateInputContext: () => DateInputContextProps | null;
21
- export {};
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDateInputContext = exports.DateInputContext = void 0;
4
- const react_1 = require("react");
5
- exports.DateInputContext = (0, react_1.createContext)(null);
6
- const useDateInputContext = () => {
7
- const context = (0, react_1.useContext)(exports.DateInputContext);
8
- if (!context) {
9
- console.warn("useDateInputContext must be used with DateInputContext");
10
- }
11
- return context;
12
- };
13
- exports.useDateInputContext = useDateInputContext;
14
- //# sourceMappingURL=useDateInputContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDateInputContext.js","sourceRoot":"","sources":["../../../src/date/context/useDateInputContext.tsx"],"names":[],"mappings":";;;AAAA,iCAAkD;AAqBrC,QAAA,gBAAgB,GAAG,IAAA,qBAAa,EAC3C,IAAI,CACL,CAAC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,wBAAgB,CAAC,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B"}
@@ -1,8 +0,0 @@
1
- import { TFunction } from "../../util/i18n/i18n.types";
2
- interface DateTranslationContextProps {
3
- translate: TFunction<"DatePicker">;
4
- }
5
- export declare const DateTranslationContextProvider: import("react").ForwardRefExoticComponent<DateTranslationContextProps & {
6
- children: import("react").ReactNode;
7
- } & import("react").RefAttributes<unknown>>, useDateTranslationContext: <S extends boolean = true>(strict?: S) => S extends true ? DateTranslationContextProps : DateTranslationContextProps | undefined;
8
- export {};
@@ -1,7 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.useDateTranslationContext = exports.DateTranslationContextProvider = void 0;
5
- const create_context_1 = require("../../util/create-context");
6
- _a = (0, create_context_1.createContext)(), exports.DateTranslationContextProvider = _a[0], exports.useDateTranslationContext = _a[1];
7
- //# sourceMappingURL=useDateTranslationContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDateTranslationContext.js","sourceRoot":"","sources":["../../../src/date/context/useDateTranslationContext.ts"],"names":[],"mappings":";;;;AAAA,8DAA0D;AAO7C,KACX,IAAA,8BAAa,GAA+B,EADhC,sCAA8B,UAAE,iCAAyB,SACxB"}
@@ -1,21 +0,0 @@
1
- import React from "react";
2
- import { Matcher } from "../utils";
3
- export type SharedMonthContextType = {
4
- hasDropdown: boolean;
5
- year: Date;
6
- toYear: (date: Date) => void;
7
- disabled: Matcher[];
8
- selected?: Date;
9
- onSelect: (v?: Date) => void;
10
- };
11
- export declare const SharedMonthContext: React.Context<SharedMonthContextType>;
12
- export declare const useSharedMonthContext: () => SharedMonthContextType;
13
- export declare const SharedMonthProvider: ({ children, dropdownCaption, disabled, selected, onSelect, year: _year, onYearChange, }: {
14
- children: any;
15
- dropdownCaption: any;
16
- disabled: any;
17
- selected: any;
18
- onSelect: any;
19
- year: any;
20
- onYearChange: any;
21
- }) => React.JSX.Element;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.SharedMonthProvider = exports.useSharedMonthContext = exports.SharedMonthContext = void 0;
27
- const date_fns_1 = require("date-fns");
28
- const react_1 = __importStar(require("react"));
29
- const react_day_picker_1 = require("react-day-picker");
30
- const utils_1 = require("../utils");
31
- exports.SharedMonthContext = (0, react_1.createContext)({
32
- hasDropdown: false,
33
- year: new Date(),
34
- toYear: () => null,
35
- disabled: [],
36
- onSelect: () => null,
37
- });
38
- const useSharedMonthContext = () => (0, react_1.useContext)(exports.SharedMonthContext);
39
- exports.useSharedMonthContext = useSharedMonthContext;
40
- const SharedMonthProvider = ({ children, dropdownCaption, disabled, selected, onSelect, year: _year, onYearChange, }) => {
41
- const context = (0, react_day_picker_1.useDayPicker)();
42
- const [year, toYear] = (0, react_1.useState)((0, utils_1.getInitialYear)(context));
43
- const hasDropdown = !!(dropdownCaption && context.fromDate && context.toDate);
44
- if (context.fromDate &&
45
- context.toDate &&
46
- (context === null || context === void 0 ? void 0 : context.fromDate) >= (context === null || context === void 0 ? void 0 : context.toDate)) {
47
- console.warn("fromDate needs to be before toDate - MonthPicker");
48
- }
49
- return (react_1.default.createElement(exports.SharedMonthContext.Provider, { value: {
50
- year: _year !== null && _year !== void 0 ? _year : year,
51
- toYear: (y) => {
52
- toYear(y);
53
- onYearChange === null || onYearChange === void 0 ? void 0 : onYearChange(y);
54
- },
55
- hasDropdown,
56
- disabled,
57
- selected,
58
- onSelect: (v) => v
59
- ? onSelect((0, date_fns_1.setYear)((0, date_fns_1.startOfMonth)(v), (_year !== null && _year !== void 0 ? _year : year).getFullYear()))
60
- : onSelect(undefined),
61
- } }, children));
62
- };
63
- exports.SharedMonthProvider = SharedMonthProvider;
64
- //# sourceMappingURL=useSharedMonthContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSharedMonthContext.js","sourceRoot":"","sources":["../../../src/date/context/useSharedMonthContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAiD;AACjD,+CAAmE;AACnE,uDAAgD;AAChD,oCAAmD;AAWtC,QAAA,kBAAkB,GAAG,IAAA,qBAAa,EAAyB;IACtE,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,IAAI,IAAI,EAAE;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;IAClB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;CACrB,CAAC,CAAC;AAEI,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAA,kBAAU,EAAC,0BAAkB,CAAC,CAAC;AAA7D,QAAA,qBAAqB,yBAAwC;AAEnE,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAI,EAAE,KAAK,EACX,YAAY,GACb,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,IAAA,+BAAY,GAAE,CAAC;IAE/B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAO,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E,IACE,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,MAAM;QACd,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,CACL,8BAAC,0BAAkB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACL,IAAI,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI;YACnB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,CAAC,CAAC,CAAC,CAAC;gBACV,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,QAAQ,EAAE,CAAC,CAAQ,EAAE,EAAE,CACrB,CAAC;gBACC,CAAC,CAAC,QAAQ,CAAC,IAAA,kBAAO,EAAC,IAAA,uBAAY,EAAC,CAAC,CAAC,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC1B,IAEA,QAAQ,CACmB,CAC/B,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,mBAAmB,uBA2C9B"}