@navikt/ds-react 7.14.0-alpha.1 → 7.14.1

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 (226) hide show
  1. package/cjs/date/date-utils/check-dates.js +2 -2
  2. package/cjs/date/date-utils/check-dates.js.map +1 -1
  3. package/cjs/form/combobox/Combobox.d.ts +1 -1
  4. package/cjs/form/combobox/Input/InputController.d.ts +1 -1
  5. package/esm/date/date-utils/check-dates.js +3 -3
  6. package/esm/date/date-utils/check-dates.js.map +1 -1
  7. package/esm/form/combobox/Combobox.d.ts +1 -1
  8. package/esm/form/combobox/Input/InputController.d.ts +1 -1
  9. package/package.json +5 -4
  10. package/src/date/date-utils/check-dates.ts +10 -3
  11. package/cjs/date/context/index.d.ts +0 -3
  12. package/cjs/date/context/index.js +0 -13
  13. package/cjs/date/context/index.js.map +0 -1
  14. package/cjs/date/context/useDateInputContext.d.ts +0 -21
  15. package/cjs/date/context/useDateInputContext.js +0 -14
  16. package/cjs/date/context/useDateInputContext.js.map +0 -1
  17. package/cjs/date/context/useDateTranslationContext.d.ts +0 -8
  18. package/cjs/date/context/useDateTranslationContext.js +0 -7
  19. package/cjs/date/context/useDateTranslationContext.js.map +0 -1
  20. package/cjs/date/context/useSharedMonthContext.d.ts +0 -21
  21. package/cjs/date/context/useSharedMonthContext.js +0 -64
  22. package/cjs/date/context/useSharedMonthContext.js.map +0 -1
  23. package/cjs/date/datepicker/DatePickerStandalone.d.ts +0 -18
  24. package/cjs/date/datepicker/DatePickerStandalone.js +0 -86
  25. package/cjs/date/datepicker/DatePickerStandalone.js.map +0 -1
  26. package/cjs/date/datepicker/parts/Caption.d.ts +0 -7
  27. package/cjs/date/datepicker/parts/Caption.js +0 -30
  28. package/cjs/date/datepicker/parts/Caption.js.map +0 -1
  29. package/cjs/date/datepicker/parts/DayButton.d.ts +0 -4
  30. package/cjs/date/datepicker/parts/DayButton.js +0 -43
  31. package/cjs/date/datepicker/parts/DayButton.js.map +0 -1
  32. package/cjs/date/datepicker/parts/DropdownCaption.d.ts +0 -7
  33. package/cjs/date/datepicker/parts/DropdownCaption.js +0 -46
  34. package/cjs/date/datepicker/parts/DropdownCaption.js.map +0 -1
  35. package/cjs/date/datepicker/parts/HeadRow.d.ts +0 -10
  36. package/cjs/date/datepicker/parts/HeadRow.js +0 -36
  37. package/cjs/date/datepicker/parts/HeadRow.js.map +0 -1
  38. package/cjs/date/datepicker/parts/Row.d.ts +0 -16
  39. package/cjs/date/datepicker/parts/Row.js +0 -25
  40. package/cjs/date/datepicker/parts/Row.js.map +0 -1
  41. package/cjs/date/datepicker/parts/TableHead.d.ts +0 -5
  42. package/cjs/date/datepicker/parts/TableHead.js +0 -19
  43. package/cjs/date/datepicker/parts/TableHead.js.map +0 -1
  44. package/cjs/date/datepicker/parts/WeekNumber.d.ts +0 -11
  45. package/cjs/date/datepicker/parts/WeekNumber.js +0 -33
  46. package/cjs/date/datepicker/parts/WeekNumber.js.map +0 -1
  47. package/cjs/date/datepicker/parts/WeekRow.d.ts +0 -5
  48. package/cjs/date/datepicker/parts/WeekRow.js +0 -36
  49. package/cjs/date/datepicker/parts/WeekRow.js.map +0 -1
  50. package/cjs/date/datepicker/types.d.ts +0 -105
  51. package/cjs/date/datepicker/types.js +0 -3
  52. package/cjs/date/datepicker/types.js.map +0 -1
  53. package/cjs/date/hooks/index.d.ts +0 -6
  54. package/cjs/date/hooks/index.js +0 -10
  55. package/cjs/date/hooks/index.js.map +0 -1
  56. package/cjs/date/hooks/useDatepicker.d.ts +0 -90
  57. package/cjs/date/hooks/useDatepicker.js +0 -163
  58. package/cjs/date/hooks/useDatepicker.js.map +0 -1
  59. package/cjs/date/hooks/useMonthPicker.d.ts +0 -85
  60. package/cjs/date/hooks/useMonthPicker.js +0 -174
  61. package/cjs/date/hooks/useMonthPicker.js.map +0 -1
  62. package/cjs/date/hooks/useRangeDatepicker.d.ts +0 -76
  63. package/cjs/date/hooks/useRangeDatepicker.js +0 -319
  64. package/cjs/date/hooks/useRangeDatepicker.js.map +0 -1
  65. package/cjs/date/monthpicker/MonthButton.d.ts +0 -11
  66. package/cjs/date/monthpicker/MonthButton.js +0 -82
  67. package/cjs/date/monthpicker/MonthButton.js.map +0 -1
  68. package/cjs/date/monthpicker/MonthCaption.d.ts +0 -3
  69. package/cjs/date/monthpicker/MonthCaption.js +0 -52
  70. package/cjs/date/monthpicker/MonthCaption.js.map +0 -1
  71. package/cjs/date/monthpicker/MonthPickerStandalone.d.ts +0 -11
  72. package/cjs/date/monthpicker/MonthPickerStandalone.js +0 -65
  73. package/cjs/date/monthpicker/MonthPickerStandalone.js.map +0 -1
  74. package/cjs/date/monthpicker/MonthSelector.d.ts +0 -3
  75. package/cjs/date/monthpicker/MonthSelector.js +0 -80
  76. package/cjs/date/monthpicker/MonthSelector.js.map +0 -1
  77. package/cjs/date/monthpicker/types.d.ts +0 -86
  78. package/cjs/date/monthpicker/types.js +0 -3
  79. package/cjs/date/monthpicker/types.js.map +0 -1
  80. package/cjs/date/parts/DateInput.d.ts +0 -28
  81. package/cjs/date/parts/DateInput.js +0 -91
  82. package/cjs/date/parts/DateInput.js.map +0 -1
  83. package/cjs/date/parts/DateWrapper.d.ts +0 -18
  84. package/cjs/date/parts/DateWrapper.js +0 -67
  85. package/cjs/date/parts/DateWrapper.js.map +0 -1
  86. package/cjs/date/utils/check-dates.d.ts +0 -3
  87. package/cjs/date/utils/check-dates.js +0 -14
  88. package/cjs/date/utils/check-dates.js.map +0 -1
  89. package/cjs/date/utils/dates-disabled.d.ts +0 -1
  90. package/cjs/date/utils/dates-disabled.js +0 -30
  91. package/cjs/date/utils/dates-disabled.js.map +0 -1
  92. package/cjs/date/utils/format-date.d.ts +0 -2
  93. package/cjs/date/utils/format-date.js +0 -13
  94. package/cjs/date/utils/format-date.js.map +0 -1
  95. package/cjs/date/utils/get-dates.d.ts +0 -2
  96. package/cjs/date/utils/get-dates.js +0 -52
  97. package/cjs/date/utils/get-dates.js.map +0 -1
  98. package/cjs/date/utils/get-initial-year.d.ts +0 -5
  99. package/cjs/date/utils/get-initial-year.js +0 -21
  100. package/cjs/date/utils/get-initial-year.js.map +0 -1
  101. package/cjs/date/utils/get-month-weeks.d.ts +0 -16
  102. package/cjs/date/utils/get-month-weeks.js +0 -46
  103. package/cjs/date/utils/get-month-weeks.js.map +0 -1
  104. package/cjs/date/utils/index.d.ts +0 -9
  105. package/cjs/date/utils/index.js +0 -29
  106. package/cjs/date/utils/index.js.map +0 -1
  107. package/cjs/date/utils/is-match.d.ts +0 -4
  108. package/cjs/date/utils/is-match.js +0 -61
  109. package/cjs/date/utils/is-match.js.map +0 -1
  110. package/cjs/date/utils/locale.d.ts +0 -36
  111. package/cjs/date/utils/locale.js +0 -54
  112. package/cjs/date/utils/locale.js.map +0 -1
  113. package/cjs/date/utils/navigation.d.ts +0 -2
  114. package/cjs/date/utils/navigation.js +0 -156
  115. package/cjs/date/utils/navigation.js.map +0 -1
  116. package/cjs/date/utils/parse-date.d.ts +0 -4
  117. package/cjs/date/utils/parse-date.js +0 -87
  118. package/cjs/date/utils/parse-date.js.map +0 -1
  119. package/esm/date/context/index.d.ts +0 -3
  120. package/esm/date/context/index.js +0 -4
  121. package/esm/date/context/index.js.map +0 -1
  122. package/esm/date/context/useDateInputContext.d.ts +0 -21
  123. package/esm/date/context/useDateInputContext.js +0 -10
  124. package/esm/date/context/useDateInputContext.js.map +0 -1
  125. package/esm/date/context/useDateTranslationContext.d.ts +0 -8
  126. package/esm/date/context/useDateTranslationContext.js +0 -3
  127. package/esm/date/context/useDateTranslationContext.js.map +0 -1
  128. package/esm/date/context/useSharedMonthContext.d.ts +0 -21
  129. package/esm/date/context/useSharedMonthContext.js +0 -36
  130. package/esm/date/context/useSharedMonthContext.js.map +0 -1
  131. package/esm/date/datepicker/DatePickerStandalone.d.ts +0 -18
  132. package/esm/date/datepicker/DatePickerStandalone.js +0 -57
  133. package/esm/date/datepicker/DatePickerStandalone.js.map +0 -1
  134. package/esm/date/datepicker/parts/Caption.d.ts +0 -7
  135. package/esm/date/datepicker/parts/Caption.js +0 -23
  136. package/esm/date/datepicker/parts/Caption.js.map +0 -1
  137. package/esm/date/datepicker/parts/DayButton.d.ts +0 -4
  138. package/esm/date/datepicker/parts/DayButton.js +0 -18
  139. package/esm/date/datepicker/parts/DayButton.js.map +0 -1
  140. package/esm/date/datepicker/parts/DropdownCaption.d.ts +0 -7
  141. package/esm/date/datepicker/parts/DropdownCaption.js +0 -39
  142. package/esm/date/datepicker/parts/DropdownCaption.js.map +0 -1
  143. package/esm/date/datepicker/parts/HeadRow.d.ts +0 -10
  144. package/esm/date/datepicker/parts/HeadRow.js +0 -29
  145. package/esm/date/datepicker/parts/HeadRow.js.map +0 -1
  146. package/esm/date/datepicker/parts/Row.d.ts +0 -16
  147. package/esm/date/datepicker/parts/Row.js +0 -20
  148. package/esm/date/datepicker/parts/Row.js.map +0 -1
  149. package/esm/date/datepicker/parts/TableHead.d.ts +0 -5
  150. package/esm/date/datepicker/parts/TableHead.js +0 -14
  151. package/esm/date/datepicker/parts/TableHead.js.map +0 -1
  152. package/esm/date/datepicker/parts/WeekNumber.d.ts +0 -11
  153. package/esm/date/datepicker/parts/WeekNumber.js +0 -28
  154. package/esm/date/datepicker/parts/WeekNumber.js.map +0 -1
  155. package/esm/date/datepicker/parts/WeekRow.d.ts +0 -5
  156. package/esm/date/datepicker/parts/WeekRow.js +0 -31
  157. package/esm/date/datepicker/parts/WeekRow.js.map +0 -1
  158. package/esm/date/datepicker/types.d.ts +0 -105
  159. package/esm/date/datepicker/types.js +0 -2
  160. package/esm/date/datepicker/types.js.map +0 -1
  161. package/esm/date/hooks/index.d.ts +0 -6
  162. package/esm/date/hooks/index.js +0 -4
  163. package/esm/date/hooks/index.js.map +0 -1
  164. package/esm/date/hooks/useDatepicker.d.ts +0 -90
  165. package/esm/date/hooks/useDatepicker.js +0 -159
  166. package/esm/date/hooks/useDatepicker.js.map +0 -1
  167. package/esm/date/hooks/useMonthPicker.d.ts +0 -85
  168. package/esm/date/hooks/useMonthPicker.js +0 -170
  169. package/esm/date/hooks/useMonthPicker.js.map +0 -1
  170. package/esm/date/hooks/useRangeDatepicker.d.ts +0 -76
  171. package/esm/date/hooks/useRangeDatepicker.js +0 -315
  172. package/esm/date/hooks/useRangeDatepicker.js.map +0 -1
  173. package/esm/date/monthpicker/MonthButton.d.ts +0 -11
  174. package/esm/date/monthpicker/MonthButton.js +0 -52
  175. package/esm/date/monthpicker/MonthButton.js.map +0 -1
  176. package/esm/date/monthpicker/MonthCaption.d.ts +0 -3
  177. package/esm/date/monthpicker/MonthCaption.js +0 -45
  178. package/esm/date/monthpicker/MonthCaption.js.map +0 -1
  179. package/esm/date/monthpicker/MonthPickerStandalone.d.ts +0 -11
  180. package/esm/date/monthpicker/MonthPickerStandalone.js +0 -36
  181. package/esm/date/monthpicker/MonthPickerStandalone.js.map +0 -1
  182. package/esm/date/monthpicker/MonthSelector.d.ts +0 -3
  183. package/esm/date/monthpicker/MonthSelector.js +0 -50
  184. package/esm/date/monthpicker/MonthSelector.js.map +0 -1
  185. package/esm/date/monthpicker/types.d.ts +0 -86
  186. package/esm/date/monthpicker/types.js +0 -2
  187. package/esm/date/monthpicker/types.js.map +0 -1
  188. package/esm/date/parts/DateInput.d.ts +0 -28
  189. package/esm/date/parts/DateInput.js +0 -62
  190. package/esm/date/parts/DateInput.js.map +0 -1
  191. package/esm/date/parts/DateWrapper.d.ts +0 -18
  192. package/esm/date/parts/DateWrapper.js +0 -37
  193. package/esm/date/parts/DateWrapper.js.map +0 -1
  194. package/esm/date/utils/check-dates.d.ts +0 -3
  195. package/esm/date/utils/check-dates.js +0 -9
  196. package/esm/date/utils/check-dates.js.map +0 -1
  197. package/esm/date/utils/dates-disabled.d.ts +0 -1
  198. package/esm/date/utils/dates-disabled.js +0 -26
  199. package/esm/date/utils/dates-disabled.js.map +0 -1
  200. package/esm/date/utils/format-date.d.ts +0 -2
  201. package/esm/date/utils/format-date.js +0 -9
  202. package/esm/date/utils/format-date.js.map +0 -1
  203. package/esm/date/utils/get-dates.d.ts +0 -2
  204. package/esm/date/utils/get-dates.js +0 -47
  205. package/esm/date/utils/get-dates.js.map +0 -1
  206. package/esm/date/utils/get-initial-year.d.ts +0 -5
  207. package/esm/date/utils/get-initial-year.js +0 -18
  208. package/esm/date/utils/get-initial-year.js.map +0 -1
  209. package/esm/date/utils/get-month-weeks.d.ts +0 -16
  210. package/esm/date/utils/get-month-weeks.js +0 -42
  211. package/esm/date/utils/get-month-weeks.js.map +0 -1
  212. package/esm/date/utils/index.d.ts +0 -9
  213. package/esm/date/utils/index.js +0 -10
  214. package/esm/date/utils/index.js.map +0 -1
  215. package/esm/date/utils/is-match.d.ts +0 -4
  216. package/esm/date/utils/is-match.js +0 -57
  217. package/esm/date/utils/is-match.js.map +0 -1
  218. package/esm/date/utils/locale.d.ts +0 -36
  219. package/esm/date/utils/locale.js +0 -45
  220. package/esm/date/utils/locale.js.map +0 -1
  221. package/esm/date/utils/navigation.d.ts +0 -2
  222. package/esm/date/utils/navigation.js +0 -152
  223. package/esm/date/utils/navigation.js.map +0 -1
  224. package/esm/date/utils/parse-date.d.ts +0 -4
  225. package/esm/date/utils/parse-date.js +0 -83
  226. package/esm/date/utils/parse-date.js.map +0 -1
@@ -1,10 +0,0 @@
1
- import { Locale } from "date-fns";
2
- /**
3
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/HeadRow
4
- */
5
- export declare function HeadRow(): JSX.Element;
6
- /**
7
- * Generate a series of 7 days, starting from the week, to use for formatting
8
- * the weekday names (Monday, Tuesday, etc.).
9
- */
10
- export declare function getWeekdays(locale?: Locale): Date[];
@@ -1,29 +0,0 @@
1
- import { addDays, startOfWeek } from "date-fns";
2
- import React from "react";
3
- import { useDayPicker } from "react-day-picker";
4
- import { Hide } from "../../../layout/responsive/index.js";
5
- /**
6
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/HeadRow
7
- */
8
- export function HeadRow() {
9
- const { classNames, styles, showWeekNumber, locale, formatters: { formatWeekdayName }, labels: { labelWeekday }, } = useDayPicker();
10
- const weekdays = getWeekdays(locale);
11
- return (React.createElement("tr", { style: styles.head_row, className: classNames.head_row },
12
- showWeekNumber && (React.createElement(Hide, { below: "sm", asChild: true },
13
- React.createElement("td", { style: styles.head_cell, className: classNames.head_cell }))),
14
- weekdays.map((weekday, i) => (React.createElement("th", { key: i, scope: "col", className: classNames.head_cell, style: styles.head_cell, "aria-label": labelWeekday(weekday, { locale }) }, formatWeekdayName(weekday, { locale }))))));
15
- }
16
- /**
17
- * Generate a series of 7 days, starting from the week, to use for formatting
18
- * the weekday names (Monday, Tuesday, etc.).
19
- */
20
- export function getWeekdays(locale) {
21
- const start = startOfWeek(new Date(), { locale, weekStartsOn: 1 });
22
- const days = [];
23
- for (let i = 0; i < 7; i++) {
24
- const day = addDays(start, i);
25
- days.push(day);
26
- }
27
- return days;
28
- }
29
- //# sourceMappingURL=HeadRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeadRow.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/HeadRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,EACJ,UAAU,EACV,MAAM,EACN,cAAc,EACd,MAAM,EACN,UAAU,EAAE,EAAE,iBAAiB,EAAE,EACjC,MAAM,EAAE,EAAE,YAAY,EAAE,GACzB,GAAG,YAAY,EAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CACL,4BAAI,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ;QACvD,cAAc,IAAI,CACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,IAAI,EAAC,OAAO;YACtB,4BAAI,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,GAAO,CAC9D,CACR;QACA,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,4BACE,GAAG,EAAE,CAAC,EACN,KAAK,EAAC,KAAK,EACX,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,KAAK,EAAE,MAAM,CAAC,SAAS,gBACX,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,IAE5C,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CACpC,CACN,CAAC,CACC,CACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * The props for the {@link Row} component.
3
- */
4
- export interface RowProps {
5
- /** The month where the row is displayed. */
6
- displayMonth: Date;
7
- /** The number of the week to render. */
8
- weekNumber: number;
9
- /** The days contained in the week. */
10
- dates: Date[];
11
- }
12
- /**
13
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Row
14
- */
15
- declare function Row(props: RowProps): JSX.Element;
16
- export default Row;
@@ -1,20 +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/index.js";
5
- import DayButton from "./DayButton.js";
6
- import WeekNumber from "./WeekNumber.js";
7
- /**
8
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Row
9
- */
10
- function Row(props) {
11
- const { styles, classNames, showWeekNumber } = useDayPicker();
12
- return (React.createElement("tr", { className: classNames.row, style: styles.row },
13
- showWeekNumber && (React.createElement(Hide, { below: "sm", asChild: true },
14
- React.createElement("td", { className: classNames.cell, style: styles.cell },
15
- React.createElement(WeekNumber, { number: props.weekNumber, dates: props.dates })))),
16
- props.dates.map((date) => (React.createElement("td", { className: classNames.cell, style: styles.cell, key: getUnixTime(date) },
17
- React.createElement(DayButton, { displayMonth: props.displayMonth, date: date }))))));
18
- }
19
- export default Row;
20
- //# sourceMappingURL=Row.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/Row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,UAAU,MAAM,cAAc,CAAC;AActC;;GAEG;AACH,SAAS,GAAG,CAAC,KAAe;IAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAAC;IAE9D,OAAO,CACL,4BAAI,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG;QAC7C,cAAc,IAAI,CACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,IAAI,EAAC,OAAO;YACtB,4BAAI,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI;gBAChD,oBAAC,UAAU,IAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CACzD,CACA,CACR;QACA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,4BACE,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC;YAEtB,oBAAC,SAAS,IAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,GAAI,CACxD,CACN,CAAC,CACC,CACN,CAAC;AACJ,CAAC;AAED,eAAe,GAAG,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Head
3
- */
4
- declare function TableHead(): JSX.Element;
5
- export default TableHead;
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- import { HeadRow, useDayPicker } from "react-day-picker";
3
- /**
4
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Head
5
- */
6
- function TableHead() {
7
- var _a;
8
- const { classNames, styles, components } = useDayPicker();
9
- const HeadRowComponent = (_a = components === null || components === void 0 ? void 0 : components.HeadRow) !== null && _a !== void 0 ? _a : HeadRow;
10
- return (React.createElement("thead", { style: styles.head, className: classNames.head, "aria-hidden": true },
11
- React.createElement(HeadRowComponent, null)));
12
- }
13
- export default TableHead;
14
- //# sourceMappingURL=TableHead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableHead.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/TableHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,SAAS,SAAS;;IAChB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,OAAO,CAAC;IACxD,OAAO,CACL,+BAAO,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI;QACnD,oBAAC,gBAAgB,OAAG,CACd,CACT,CAAC;AACJ,CAAC;AAED,eAAe,SAAS,CAAC"}
@@ -1,11 +0,0 @@
1
- export interface WeekNumberProps {
2
- /** The number of the week. */
3
- number: number;
4
- /** The dates in the week. */
5
- dates: Date[];
6
- }
7
- /**
8
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/WeekNumber
9
- */
10
- declare function WeekNumber({ number: weekNumber, dates, }: WeekNumberProps): JSX.Element;
11
- export default WeekNumber;
@@ -1,28 +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/index.js";
5
- import { useThemeInternal } from "../../../theme/Theme.js";
6
- import { Detail } from "../../../typography/index.js";
7
- import { useDateTranslationContext } from "../../context/index.js";
8
- /**
9
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/WeekNumber
10
- */
11
- function WeekNumber({ number: weekNumber, dates, }) {
12
- const { onWeekNumberClick, styles, classNames } = useDayPicker();
13
- const themeContext = useThemeInternal(false);
14
- const translate = useDateTranslationContext().translate;
15
- if (!onWeekNumberClick) {
16
- return (React.createElement(Detail, { as: "span", textColor: "subtle", className: classNames.weeknumber, style: styles.weeknumber, "aria-label": translate("weekNumber", { week: weekNumber }) }, weekNumber));
17
- }
18
- if (themeContext) {
19
- return (React.createElement(Button, { variant: "secondary-neutral", size: "small", name: "week-number", "aria-label": translate("selectWeekNumber", { week: weekNumber }), style: styles.weeknumber, className: "navds-date__weeknumber", onClick: (event) => {
20
- onWeekNumberClick(weekNumber, dates, event);
21
- }, icon: React.createElement("span", { className: "navds-date__weeknumber-number" }, weekNumber) }));
22
- }
23
- return (React.createElement(RDPButton, { name: "week-number", "aria-label": translate("selectWeekNumber", { week: weekNumber }), style: styles.weeknumber, className: classNames.weeknumber, onClick: (event) => {
24
- onWeekNumberClick(weekNumber, dates, event);
25
- } }, weekNumber));
26
- }
27
- export default WeekNumber;
28
- //# sourceMappingURL=WeekNumber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WeekNumber.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/WeekNumber.tsx"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAS1D;;GAEG;AACH,SAAS,UAAU,CAAC,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,GACW;IAChB,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAC;IACjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC,SAAS,CAAC;IAExD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CACL,oBAAC,MAAM,IACL,EAAE,EAAC,MAAM,EACT,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAE,UAAU,CAAC,UAAU,EAChC,KAAK,EAAE,MAAM,CAAC,UAAU,gBACZ,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAExD,UAAU,CACJ,CACV,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAC,mBAAmB,EAC3B,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,aAAa,gBACN,SAAS,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAC/D,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,SAAS,EAAC,wBAAwB,EAClC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC,EACD,IAAI,EACF,8BAAM,SAAS,EAAC,+BAA+B,IAAE,UAAU,CAAQ,GAErE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,SAAS,IACR,IAAI,EAAC,aAAa,gBACN,SAAS,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAC/D,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,SAAS,EAAE,UAAU,CAAC,UAAU,EAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,IAEA,UAAU,CACD,CACb,CAAC;AACJ,CAAC;AAED,eAAe,UAAU,CAAC"}
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- declare const WeekRow: ({ displayMonth }: {
3
- displayMonth: Date;
4
- }) => React.JSX.Element | null;
5
- export default WeekRow;
@@ -1,31 +0,0 @@
1
- import React from "react";
2
- import { useDayPicker } from "react-day-picker";
3
- import { Show } from "../../../layout/responsive/index.js";
4
- import { Detail } from "../../../typography/index.js";
5
- import { useId } from "../../../util/hooks/index.js";
6
- import { useDateTranslationContext } from "../../context/index.js";
7
- import { getMonthWeeks } from "../../utils/get-month-weeks.js";
8
- import WeekNumber from "./WeekNumber.js";
9
- const WeekRow = ({ displayMonth }) => {
10
- const { locale, fixedWeeks, onWeekNumberClick } = useDayPicker();
11
- const translate = useDateTranslationContext().translate;
12
- const labelId = useId();
13
- if (!onWeekNumberClick) {
14
- return null;
15
- }
16
- const weeks = getMonthWeeks(displayMonth, {
17
- useFixedWeeks: Boolean(fixedWeeks),
18
- locale,
19
- });
20
- return (React.createElement(Show, { below: "sm", asChild: true },
21
- React.createElement("table", { className: "rdp-table", role: "grid" },
22
- React.createElement("tbody", { className: "rdp-tbody" },
23
- React.createElement("tr", { className: "rdp-row navds-date__week-row" },
24
- React.createElement(Detail, { as: "th", weight: "semibold", className: "rdp-cell navds-date__week-cell" },
25
- React.createElement("span", { className: "navds-date__week-wrapper", id: labelId }, `${translate("week")}:`)),
26
- weeks.map((week) => (React.createElement("td", { key: week.weekNumber, className: "rdp-cell navds-date__week-cell" },
27
- React.createElement("span", { className: "navds-date__week-wrapper" },
28
- React.createElement(WeekNumber, { number: week.weekNumber, dates: week.dates }))))))))));
29
- };
30
- export default WeekRow;
31
- //# sourceMappingURL=WeekRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WeekRow.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/WeekRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,OAAO,GAAG,CAAC,EAAE,YAAY,EAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC,SAAS,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IAExB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,EAAE;QACxC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC;QAClC,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAC,IAAI,EAAC,OAAO;QACtB,+BAAO,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;YACtC,+BAAO,SAAS,EAAC,WAAW;gBAC1B,4BAAI,SAAS,EAAC,8BAA8B;oBAC1C,oBAAC,MAAM,IACL,EAAE,EAAC,IAAI,EACP,MAAM,EAAC,UAAU,EACjB,SAAS,EAAC,gCAAgC;wBAE1C,8BAAM,SAAS,EAAC,0BAA0B,EAAC,EAAE,EAAE,OAAO,IACnD,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CACnB,CACA;oBAER,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,4BACE,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,SAAS,EAAC,gCAAgC;wBAE1C,8BAAM,SAAS,EAAC,0BAA0B;4BACxC,oBAAC,UAAU,IAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CACrD,CACJ,CACN,CAAC,CACC,CACC,CACF,CACH,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,105 +0,0 @@
1
- import { DateRange, DayPickerBase, Matcher } from "react-day-picker";
2
- import { ComponentTranslation } from "../../util/i18n/i18n.types.js";
3
- export type SingleMode = {
4
- mode?: "single";
5
- onSelect?: (val?: Date) => void;
6
- selected?: Date;
7
- defaultSelected?: Date;
8
- onWeekNumberClick?: never;
9
- };
10
- export type MultipleMode = {
11
- mode: "multiple";
12
- onSelect?: (val?: Date[]) => void;
13
- selected?: Date[];
14
- defaultSelected?: Date[];
15
- min?: number;
16
- max?: number;
17
- /**
18
- * Allows selecting a week at a time. Only used with `mode` is set to "multiple".
19
- */
20
- onWeekNumberClick?: DayPickerBase["onWeekNumberClick"];
21
- };
22
- export type RangeMode = {
23
- mode: "range";
24
- onSelect?: (val?: DateRange) => void;
25
- selected?: DateRange;
26
- defaultSelected?: DateRange;
27
- min?: number;
28
- max?: number;
29
- onWeekNumberClick?: never;
30
- };
31
- export type ConditionalModeProps = SingleMode | MultipleMode | RangeMode;
32
- export interface DatePickerDefaultProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect">, Pick<DayPickerBase, "month" | "onMonthChange" | "today" | "onDayClick"> {
33
- /**
34
- * Element datepicker anchors to. Use <DatePicker.Input /> for built-in toggle, or make your own with the open/onClose props
35
- */
36
- children?: React.ReactNode;
37
- /**
38
- * Classname for datepicker in popover
39
- */
40
- className?: string;
41
- /**
42
- * Classname for wrapper
43
- */
44
- wrapperClassName?: string;
45
- /**
46
- * Changes datepicker locale
47
- * @default "nb" (norsk bokmål)
48
- * @deprecated Use `<Provider />`-component
49
- */
50
- locale?: "nb" | "nn" | "en";
51
- /**
52
- * i18n-API for customizing texts and labels.
53
- *
54
- * **NB: If you need to change the language, use [Provider](https://aksel.nav.no/komponenter/core/provider#84d7ea5ec517) instead.**
55
- */
56
- translations?: ComponentTranslation<"DatePicker">;
57
- /**
58
- * The earliest day to start navigation.
59
- */
60
- fromDate?: Date;
61
- /**
62
- * The latests day to end navigation.
63
- */
64
- toDate?: Date;
65
- /**
66
- * Display dropdown for choosing the month and the year. Needs `fromDate` + `toDate` to work.
67
- * @default false
68
- */
69
- dropdownCaption?: boolean;
70
- /**
71
- * Apply the disabled modifier to the matching days.
72
- * https://react-day-picker.js.org/api/type-aliases/Matcher
73
- */
74
- disabled?: Matcher[];
75
- /**
76
- * Disable saturday and sunday.
77
- * @default false
78
- */
79
- disableWeekends?: boolean;
80
- /**
81
- * Shows week numbers in left-column. Use with caution, takes up valuable screenspace for small screens.
82
- * @default false
83
- */
84
- showWeekNumber?: boolean;
85
- /**
86
- * Open state for user-controlled state. Component controlled by default.
87
- */
88
- open?: boolean;
89
- /**
90
- * onClose callback for user-controlled state.
91
- */
92
- onClose?: () => void;
93
- /**
94
- * onOpenToggle callback for user-controlled state. Only called if `<DatePicker.Input />` is used.
95
- */
96
- onOpenToggle?: () => void;
97
- /**
98
- * **Avoid using if possible!**
99
- *
100
- * Changes what CSS position property to use.
101
- * You want to use "fixed" if parent wrapper has position relative, but you want popover to escape.
102
- * @default See Popover
103
- */
104
- strategy?: "absolute" | "fixed";
105
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/date/datepicker/types.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export { useDatepicker } from "./useDatepicker.js";
2
- export type { DateValidationT } from "./useDatepicker.js";
3
- export { useRangeDatepicker } from "./useRangeDatepicker.js";
4
- export type { RangeValidationT } from "./useRangeDatepicker.js";
5
- export { useMonthpicker } from "./useMonthPicker.js";
6
- export type { MonthValidationT } from "./useMonthPicker.js";
@@ -1,4 +0,0 @@
1
- export { useDatepicker } from "./useDatepicker.js";
2
- export { useRangeDatepicker } from "./useRangeDatepicker.js";
3
- export { useMonthpicker } from "./useMonthPicker.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,90 +0,0 @@
1
- import React from "react";
2
- import { DatePickerProps } from "../datepicker/DatePicker.js";
3
- import { DateInputProps } from "../parts/DateInput.js";
4
- export interface UseDatepickerOptions extends Pick<DatePickerProps, "locale" | "fromDate" | "toDate" | "today" | "toDate" | "fromDate" | "toDate" | "disabled" | "disableWeekends"> {
5
- /**
6
- * The initially selected Date
7
- */
8
- defaultSelected?: Date;
9
- /**
10
- * Default shown month
11
- */
12
- defaultMonth?: Date;
13
- /**
14
- * Make selection of Date required
15
- */
16
- required?: boolean;
17
- /**
18
- * Callback for changed state
19
- */
20
- onDateChange?: (val?: Date) => void;
21
- /**
22
- * Input-format
23
- * @default "dd.MM.yyyy"
24
- */
25
- inputFormat?: string;
26
- /**
27
- * validation-callback
28
- */
29
- onValidate?: (val: DateValidationT) => void;
30
- /**
31
- * Allows input of with `yy` year format.
32
- *
33
- * Decision between 20th and 21st century is based on before(todays year - 80) ? 21st : 20th.
34
- * e.g. In 2024 this equals to 1944 - 2043.
35
- * @default true
36
- */
37
- allowTwoDigitYear?: boolean;
38
- }
39
- interface UseDatepickerValue {
40
- /**
41
- * Use: <DatePicker {...datepickerProps}/>
42
- */
43
- datepickerProps: DatePickerProps;
44
- /**
45
- * Use: <DatePicker.Input {...inputProps}/>
46
- */
47
- inputProps: Pick<DateInputProps, "onChange" | "onFocus" | "onBlur" | "value"> & {
48
- /**
49
- * @private
50
- */
51
- setAnchorRef: React.Dispatch<React.SetStateAction<HTMLButtonElement | null>>;
52
- };
53
- /**
54
- * Resets all states (callback)
55
- */
56
- reset: () => void;
57
- /**
58
- * Currently selected date
59
- * Up to user to validate date
60
- */
61
- selectedDay?: Date;
62
- /**
63
- * Manually override currently selected day
64
- */
65
- setSelected: (date?: Date) => void;
66
- }
67
- export type DateValidationT = {
68
- isDisabled: boolean;
69
- isWeekend: boolean;
70
- isEmpty: boolean;
71
- isInvalid: boolean;
72
- isValidDate: boolean;
73
- isBefore: boolean;
74
- isAfter: boolean;
75
- };
76
- /**
77
- *
78
- * @see 🏷️ {@link UseDatepickerOptions}
79
- * @see 🏷️ {@link UseDatepickerValue}
80
- * @see 🏷️ {@link DateValidationT}
81
- * @example
82
- * const { datepickerProps, inputProps } = useDatepicker({
83
- * fromDate: new Date("Aug 23 2019"),
84
- * toDate: new Date("Feb 23 2024"),
85
- * onDateChange: console.log,
86
- * onValidate: console.log,
87
- * });
88
- */
89
- export declare const useDatepicker: (opt?: UseDatepickerOptions) => UseDatepickerValue;
90
- export {};
@@ -1,159 +0,0 @@
1
- import { differenceInCalendarDays, isWeekend } from "date-fns";
2
- import { useCallback, useState } from "react";
3
- import { isMatch } from "react-day-picker";
4
- import { useDateLocale } from "../../util/i18n/i18n.hooks.js";
5
- import { formatDateForInput, getLocaleFromString, isValidDate, parseDate, } from "../utils/index.js";
6
- const getValidationMessage = (val = {}) => (Object.assign({ isDisabled: false, isWeekend: false, isEmpty: false, isInvalid: false, isBefore: false, isAfter: false, isValidDate: true }, val));
7
- /**
8
- *
9
- * @see 🏷️ {@link UseDatepickerOptions}
10
- * @see 🏷️ {@link UseDatepickerValue}
11
- * @see 🏷️ {@link DateValidationT}
12
- * @example
13
- * const { datepickerProps, inputProps } = useDatepicker({
14
- * fromDate: new Date("Aug 23 2019"),
15
- * toDate: new Date("Feb 23 2024"),
16
- * onDateChange: console.log,
17
- * onValidate: console.log,
18
- * });
19
- */
20
- export const useDatepicker = (opt = {}) => {
21
- var _a;
22
- const { locale: _locale, required, defaultSelected: _defaultSelected, today = new Date(), fromDate, toDate, disabled, disableWeekends, onDateChange, inputFormat, onValidate, defaultMonth, allowTwoDigitYear = true, } = opt;
23
- const [anchorRef, setAnchorRef] = useState(null);
24
- const localeFromProvider = useDateLocale();
25
- const locale = _locale ? getLocaleFromString(_locale) : localeFromProvider;
26
- const [defaultSelected, setDefaultSelected] = useState(_defaultSelected);
27
- // Initialize states
28
- const [month, setMonth] = useState((_a = defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : defaultMonth) !== null && _a !== void 0 ? _a : today);
29
- const [selectedDay, setSelectedDay] = useState(defaultSelected);
30
- const [open, setOpen] = useState(false);
31
- const defaultInputValue = defaultSelected
32
- ? formatDateForInput(defaultSelected, locale, "date", inputFormat)
33
- : "";
34
- const [inputValue, setInputValue] = useState(defaultInputValue);
35
- const handleOpen = useCallback((newOpen) => {
36
- var _a, _b;
37
- setOpen(newOpen);
38
- newOpen &&
39
- setMonth((_b = (_a = selectedDay !== null && selectedDay !== void 0 ? selectedDay : defaultSelected) !== null && _a !== void 0 ? _a : defaultMonth) !== null && _b !== void 0 ? _b : today);
40
- }, [defaultMonth, defaultSelected, selectedDay, today]);
41
- const updateDate = (date) => {
42
- onDateChange === null || onDateChange === void 0 ? void 0 : onDateChange(date);
43
- setSelectedDay(date);
44
- };
45
- const updateValidation = (val = {}) => onValidate === null || onValidate === void 0 ? void 0 : onValidate(getValidationMessage(val));
46
- const reset = () => {
47
- var _a;
48
- updateDate(defaultSelected);
49
- setMonth((_a = defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : defaultMonth) !== null && _a !== void 0 ? _a : today);
50
- setInputValue(defaultInputValue !== null && defaultInputValue !== void 0 ? defaultInputValue : "");
51
- setDefaultSelected(_defaultSelected);
52
- };
53
- const setSelected = (date) => {
54
- var _a;
55
- updateDate(date);
56
- setMonth((_a = date !== null && date !== void 0 ? date : defaultMonth) !== null && _a !== void 0 ? _a : today);
57
- setInputValue(date ? formatDateForInput(date, locale, "date", inputFormat) : "");
58
- };
59
- const handleFocus = (e) => {
60
- if (e.target.readOnly) {
61
- return;
62
- }
63
- const day = parseDate(e.target.value, today, locale, "date", allowTwoDigitYear);
64
- if (isValidDate(day)) {
65
- setInputValue(formatDateForInput(day, locale, "date", inputFormat));
66
- const isBefore = fromDate && day && differenceInCalendarDays(fromDate, day) > 0;
67
- const isAfter = toDate && day && differenceInCalendarDays(day, toDate) > 0;
68
- !isBefore && !isAfter && setMonth(day);
69
- }
70
- };
71
- const handleBlur = (e) => {
72
- const day = parseDate(e.target.value, today, locale, "date", allowTwoDigitYear);
73
- isValidDate(day) &&
74
- setInputValue(formatDateForInput(day, locale, "date", inputFormat));
75
- };
76
- /* Only allow de-selecting if not required */
77
- const handleDayClick = (day, { selected }) => {
78
- if (selected && required) {
79
- return;
80
- }
81
- if (day && !selected) {
82
- handleOpen(false);
83
- anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.focus();
84
- }
85
- if (selected) {
86
- updateDate(undefined);
87
- setInputValue("");
88
- updateValidation({ isValidDate: false, isEmpty: true });
89
- return;
90
- }
91
- updateDate(day);
92
- updateValidation();
93
- setMonth(day);
94
- setInputValue(day ? formatDateForInput(day, locale, "date", inputFormat) : "");
95
- };
96
- // When changing the input field, save its value in state and check if the
97
- // string is a valid date. If it is a valid day, set it as selected and update
98
- // the calendar’s month.
99
- const handleChange = (e) => {
100
- setInputValue(e.target.value);
101
- const day = parseDate(e.target.value, today, locale, "date", allowTwoDigitYear);
102
- const isBefore = fromDate && day && differenceInCalendarDays(fromDate, day) > 0;
103
- const isAfter = toDate && day && differenceInCalendarDays(day, toDate) > 0;
104
- if (!isValidDate(day) ||
105
- (disableWeekends && isWeekend(day)) ||
106
- (disabled && isMatch(day, disabled))) {
107
- updateDate(undefined);
108
- updateValidation({
109
- isInvalid: !isValidDate(day),
110
- isWeekend: disableWeekends && isWeekend(day),
111
- isDisabled: disabled && isMatch(day, disabled),
112
- isValidDate: false,
113
- isEmpty: !e.target.value,
114
- isBefore: isBefore !== null && isBefore !== void 0 ? isBefore : false,
115
- isAfter: isAfter !== null && isAfter !== void 0 ? isAfter : false,
116
- });
117
- return;
118
- }
119
- if (isBefore || isAfter) {
120
- updateDate(undefined);
121
- updateValidation({
122
- isValidDate: false,
123
- isBefore: isBefore !== null && isBefore !== void 0 ? isBefore : false,
124
- isAfter: isAfter !== null && isAfter !== void 0 ? isAfter : false,
125
- });
126
- return;
127
- }
128
- updateDate(day);
129
- updateValidation();
130
- setMonth(defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : day);
131
- };
132
- const datepickerProps = {
133
- month,
134
- onMonthChange: setMonth,
135
- onDayClick: handleDayClick,
136
- selected: selectedDay !== null && selectedDay !== void 0 ? selectedDay : new Date("Invalid date"),
137
- locale: _locale,
138
- fromDate,
139
- toDate,
140
- today,
141
- open,
142
- onClose: () => {
143
- handleOpen(false);
144
- anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.focus();
145
- },
146
- onOpenToggle: () => handleOpen(!open),
147
- disabled,
148
- disableWeekends,
149
- };
150
- const inputProps = {
151
- onChange: handleChange,
152
- onFocus: handleFocus,
153
- onBlur: handleBlur,
154
- value: inputValue,
155
- setAnchorRef,
156
- };
157
- return { datepickerProps, inputProps, reset, selectedDay, setSelected };
158
- };
159
- //# sourceMappingURL=useDatepicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDatepicker.js","sourceRoot":"","sources":["../../../src/date/hooks/useDatepicker.tsx"],"names":[],"mappings":"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"}