@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,36 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HeadRow = HeadRow;
7
- exports.getWeekdays = getWeekdays;
8
- const date_fns_1 = require("date-fns");
9
- const react_1 = __importDefault(require("react"));
10
- const react_day_picker_1 = require("react-day-picker");
11
- const responsive_1 = require("../../../layout/responsive");
12
- /**
13
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/HeadRow
14
- */
15
- function HeadRow() {
16
- const { classNames, styles, showWeekNumber, locale, formatters: { formatWeekdayName }, labels: { labelWeekday }, } = (0, react_day_picker_1.useDayPicker)();
17
- const weekdays = getWeekdays(locale);
18
- return (react_1.default.createElement("tr", { style: styles.head_row, className: classNames.head_row },
19
- showWeekNumber && (react_1.default.createElement(responsive_1.Hide, { below: "sm", asChild: true },
20
- react_1.default.createElement("td", { style: styles.head_cell, className: classNames.head_cell }))),
21
- weekdays.map((weekday, i) => (react_1.default.createElement("th", { key: i, scope: "col", className: classNames.head_cell, style: styles.head_cell, "aria-label": labelWeekday(weekday, { locale }) }, formatWeekdayName(weekday, { locale }))))));
22
- }
23
- /**
24
- * Generate a series of 7 days, starting from the week, to use for formatting
25
- * the weekday names (Monday, Tuesday, etc.).
26
- */
27
- function getWeekdays(locale) {
28
- const start = (0, date_fns_1.startOfWeek)(new Date(), { locale, weekStartsOn: 1 });
29
- const days = [];
30
- for (let i = 0; i < 7; i++) {
31
- const day = (0, date_fns_1.addDays)(start, i);
32
- days.push(day);
33
- }
34
- return days;
35
- }
36
- //# sourceMappingURL=HeadRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeadRow.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/HeadRow.tsx"],"names":[],"mappings":";;;;;AAQA,0BAgCC;AAMD,kCASC;AAvDD,uCAAwD;AACxD,kDAA0B;AAC1B,uDAAgD;AAChD,2DAAkD;AAElD;;GAEG;AACH,SAAgB,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,IAAA,+BAAY,GAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CACL,sCAAI,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ;QACvD,cAAc,IAAI,CACjB,8BAAC,iBAAI,IAAC,KAAK,EAAC,IAAI,EAAC,OAAO;YACtB,sCAAI,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,sCACE,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,SAAgB,WAAW,CAAC,MAAe;IACzC,MAAM,KAAK,GAAG,IAAA,sBAAW,EAAC,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,IAAA,kBAAO,EAAC,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,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const date_fns_1 = require("date-fns");
7
- const react_1 = __importDefault(require("react"));
8
- const react_day_picker_1 = require("react-day-picker");
9
- const responsive_1 = require("../../../layout/responsive");
10
- const DayButton_1 = __importDefault(require("./DayButton"));
11
- const WeekNumber_1 = __importDefault(require("./WeekNumber"));
12
- /**
13
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Row
14
- */
15
- function Row(props) {
16
- const { styles, classNames, showWeekNumber } = (0, react_day_picker_1.useDayPicker)();
17
- return (react_1.default.createElement("tr", { className: classNames.row, style: styles.row },
18
- showWeekNumber && (react_1.default.createElement(responsive_1.Hide, { below: "sm", asChild: true },
19
- react_1.default.createElement("td", { className: classNames.cell, style: styles.cell },
20
- react_1.default.createElement(WeekNumber_1.default, { number: props.weekNumber, dates: props.dates })))),
21
- props.dates.map((date) => (react_1.default.createElement("td", { className: classNames.cell, style: styles.cell, key: (0, date_fns_1.getUnixTime)(date) },
22
- react_1.default.createElement(DayButton_1.default, { displayMonth: props.displayMonth, date: date }))))));
23
- }
24
- exports.default = Row;
25
- //# sourceMappingURL=Row.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/Row.tsx"],"names":[],"mappings":";;;;;AAAA,uCAAuC;AACvC,kDAA0B;AAC1B,uDAAgD;AAChD,2DAAkD;AAClD,4DAAoC;AACpC,8DAAsC;AActC;;GAEG;AACH,SAAS,GAAG,CAAC,KAAe;IAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAA,+BAAY,GAAE,CAAC;IAE9D,OAAO,CACL,sCAAI,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG;QAC7C,cAAc,IAAI,CACjB,8BAAC,iBAAI,IAAC,KAAK,EAAC,IAAI,EAAC,OAAO;YACtB,sCAAI,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI;gBAChD,8BAAC,oBAAU,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,sCACE,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,GAAG,EAAE,IAAA,sBAAW,EAAC,IAAI,CAAC;YAEtB,8BAAC,mBAAS,IAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,GAAI,CACxD,CACN,CAAC,CACC,CACN,CAAC;AACJ,CAAC;AAED,kBAAe,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,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_day_picker_1 = require("react-day-picker");
8
- /**
9
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/Head
10
- */
11
- function TableHead() {
12
- var _a;
13
- const { classNames, styles, components } = (0, react_day_picker_1.useDayPicker)();
14
- const HeadRowComponent = (_a = components === null || components === void 0 ? void 0 : components.HeadRow) !== null && _a !== void 0 ? _a : react_day_picker_1.HeadRow;
15
- return (react_1.default.createElement("thead", { style: styles.head, className: classNames.head, "aria-hidden": true },
16
- react_1.default.createElement(HeadRowComponent, null)));
17
- }
18
- exports.default = TableHead;
19
- //# sourceMappingURL=TableHead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableHead.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/TableHead.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uDAAyD;AAEzD;;GAEG;AACH,SAAS,SAAS;;IAChB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,+BAAY,GAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,0BAAO,CAAC;IACxD,OAAO,CACL,yCAAO,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI;QACnD,8BAAC,gBAAgB,OAAG,CACd,CACT,CAAC;AACJ,CAAC;AAED,kBAAe,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,33 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /* https://github.com/gpbl/react-day-picker/blob/7f78cd5/src/components/WeekNumber/WeekNumber.tsx#L21 */
7
- const react_1 = __importDefault(require("react"));
8
- const react_day_picker_1 = require("react-day-picker");
9
- const button_1 = require("../../../button");
10
- const Theme_1 = require("../../../theme/Theme");
11
- const typography_1 = require("../../../typography");
12
- const context_1 = require("../../context");
13
- /**
14
- * https://github.com/gpbl/react-day-picker/tree/main/src/components/WeekNumber
15
- */
16
- function WeekNumber({ number: weekNumber, dates, }) {
17
- const { onWeekNumberClick, styles, classNames } = (0, react_day_picker_1.useDayPicker)();
18
- const themeContext = (0, Theme_1.useThemeInternal)(false);
19
- const translate = (0, context_1.useDateTranslationContext)().translate;
20
- if (!onWeekNumberClick) {
21
- return (react_1.default.createElement(typography_1.Detail, { as: "span", textColor: "subtle", className: classNames.weeknumber, style: styles.weeknumber, "aria-label": translate("weekNumber", { week: weekNumber }) }, weekNumber));
22
- }
23
- if (themeContext) {
24
- return (react_1.default.createElement(button_1.Button, { variant: "secondary-neutral", size: "small", name: "week-number", "aria-label": translate("selectWeekNumber", { week: weekNumber }), style: styles.weeknumber, className: "navds-date__weeknumber", onClick: (event) => {
25
- onWeekNumberClick(weekNumber, dates, event);
26
- }, icon: react_1.default.createElement("span", { className: "navds-date__weeknumber-number" }, weekNumber) }));
27
- }
28
- return (react_1.default.createElement(react_day_picker_1.Button, { name: "week-number", "aria-label": translate("selectWeekNumber", { week: weekNumber }), style: styles.weeknumber, className: classNames.weeknumber, onClick: (event) => {
29
- onWeekNumberClick(weekNumber, dates, event);
30
- } }, weekNumber));
31
- }
32
- exports.default = WeekNumber;
33
- //# 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,kDAA0B;AAC1B,uDAAqE;AACrE,4CAAyC;AACzC,gDAAwD;AACxD,oDAA6C;AAC7C,2CAA0D;AAS1D;;GAEG;AACH,SAAS,UAAU,CAAC,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,GACW;IAChB,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,+BAAY,GAAE,CAAC;IACjE,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,mCAAyB,GAAE,CAAC,SAAS,CAAC;IAExD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CACL,8BAAC,mBAAM,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,8BAAC,eAAM,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,wCAAM,SAAS,EAAC,+BAA+B,IAAE,UAAU,CAAQ,GAErE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BAAC,yBAAS,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,kBAAe,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,36 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_day_picker_1 = require("react-day-picker");
8
- const responsive_1 = require("../../../layout/responsive");
9
- const typography_1 = require("../../../typography");
10
- const hooks_1 = require("../../../util/hooks");
11
- const context_1 = require("../../context");
12
- const get_month_weeks_1 = require("../../utils/get-month-weeks");
13
- const WeekNumber_1 = __importDefault(require("./WeekNumber"));
14
- const WeekRow = ({ displayMonth }) => {
15
- const { locale, fixedWeeks, onWeekNumberClick } = (0, react_day_picker_1.useDayPicker)();
16
- const translate = (0, context_1.useDateTranslationContext)().translate;
17
- const labelId = (0, hooks_1.useId)();
18
- if (!onWeekNumberClick) {
19
- return null;
20
- }
21
- const weeks = (0, get_month_weeks_1.getMonthWeeks)(displayMonth, {
22
- useFixedWeeks: Boolean(fixedWeeks),
23
- locale,
24
- });
25
- return (react_1.default.createElement(responsive_1.Show, { below: "sm", asChild: true },
26
- react_1.default.createElement("table", { className: "rdp-table", role: "grid" },
27
- react_1.default.createElement("tbody", { className: "rdp-tbody" },
28
- react_1.default.createElement("tr", { className: "rdp-row navds-date__week-row" },
29
- react_1.default.createElement(typography_1.Detail, { as: "th", weight: "semibold", className: "rdp-cell navds-date__week-cell" },
30
- react_1.default.createElement("span", { className: "navds-date__week-wrapper", id: labelId }, `${translate("week")}:`)),
31
- weeks.map((week) => (react_1.default.createElement("td", { key: week.weekNumber, className: "rdp-cell navds-date__week-cell" },
32
- react_1.default.createElement("span", { className: "navds-date__week-wrapper" },
33
- react_1.default.createElement(WeekNumber_1.default, { number: week.weekNumber, dates: week.dates }))))))))));
34
- };
35
- exports.default = WeekRow;
36
- //# sourceMappingURL=WeekRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WeekRow.js","sourceRoot":"","sources":["../../../../src/date/datepicker/parts/WeekRow.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uDAAgD;AAChD,2DAAkD;AAClD,oDAA6C;AAC7C,+CAA4C;AAC5C,2CAA0D;AAC1D,iEAA4D;AAC5D,8DAAsC;AAEtC,MAAM,OAAO,GAAG,CAAC,EAAE,YAAY,EAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAA,+BAAY,GAAE,CAAC;IACjE,MAAM,SAAS,GAAG,IAAA,mCAAyB,GAAE,CAAC,SAAS,CAAC;IACxD,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;IAExB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,+BAAa,EAAC,YAAY,EAAE;QACxC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC;QAClC,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,CACL,8BAAC,iBAAI,IAAC,KAAK,EAAC,IAAI,EAAC,OAAO;QACtB,yCAAO,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;YACtC,yCAAO,SAAS,EAAC,WAAW;gBAC1B,sCAAI,SAAS,EAAC,8BAA8B;oBAC1C,8BAAC,mBAAM,IACL,EAAE,EAAC,IAAI,EACP,MAAM,EAAC,UAAU,EACjB,SAAS,EAAC,gCAAgC;wBAE1C,wCAAM,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,sCACE,GAAG,EAAE,IAAI,CAAC,UAAU,EACpB,SAAS,EAAC,gCAAgC;wBAE1C,wCAAM,SAAS,EAAC,0BAA0B;4BACxC,8BAAC,oBAAU,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,kBAAe,OAAO,CAAC"}
@@ -1,105 +0,0 @@
1
- import { DateRange, DayPickerBase, Matcher } from "react-day-picker";
2
- import { ComponentTranslation } from "../../util/i18n/i18n.types";
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,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# 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";
2
- export type { DateValidationT } from "./useDatepicker";
3
- export { useRangeDatepicker } from "./useRangeDatepicker";
4
- export type { RangeValidationT } from "./useRangeDatepicker";
5
- export { useMonthpicker } from "./useMonthPicker";
6
- export type { MonthValidationT } from "./useMonthPicker";
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useMonthpicker = exports.useRangeDatepicker = exports.useDatepicker = void 0;
4
- var useDatepicker_1 = require("./useDatepicker");
5
- Object.defineProperty(exports, "useDatepicker", { enumerable: true, get: function () { return useDatepicker_1.useDatepicker; } });
6
- var useRangeDatepicker_1 = require("./useRangeDatepicker");
7
- Object.defineProperty(exports, "useRangeDatepicker", { enumerable: true, get: function () { return useRangeDatepicker_1.useRangeDatepicker; } });
8
- var useMonthPicker_1 = require("./useMonthPicker");
9
- Object.defineProperty(exports, "useMonthpicker", { enumerable: true, get: function () { return useMonthPicker_1.useMonthpicker; } });
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/date/hooks/index.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAE3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA"}
@@ -1,90 +0,0 @@
1
- import React from "react";
2
- import { DatePickerProps } from "../datepicker/DatePicker";
3
- import { DateInputProps } from "../parts/DateInput";
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,163 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDatepicker = void 0;
4
- const date_fns_1 = require("date-fns");
5
- const react_1 = require("react");
6
- const react_day_picker_1 = require("react-day-picker");
7
- const i18n_hooks_1 = require("../../util/i18n/i18n.hooks");
8
- const utils_1 = require("../utils");
9
- const getValidationMessage = (val = {}) => (Object.assign({ isDisabled: false, isWeekend: false, isEmpty: false, isInvalid: false, isBefore: false, isAfter: false, isValidDate: true }, val));
10
- /**
11
- *
12
- * @see 🏷️ {@link UseDatepickerOptions}
13
- * @see 🏷️ {@link UseDatepickerValue}
14
- * @see 🏷️ {@link DateValidationT}
15
- * @example
16
- * const { datepickerProps, inputProps } = useDatepicker({
17
- * fromDate: new Date("Aug 23 2019"),
18
- * toDate: new Date("Feb 23 2024"),
19
- * onDateChange: console.log,
20
- * onValidate: console.log,
21
- * });
22
- */
23
- const useDatepicker = (opt = {}) => {
24
- var _a;
25
- const { locale: _locale, required, defaultSelected: _defaultSelected, today = new Date(), fromDate, toDate, disabled, disableWeekends, onDateChange, inputFormat, onValidate, defaultMonth, allowTwoDigitYear = true, } = opt;
26
- const [anchorRef, setAnchorRef] = (0, react_1.useState)(null);
27
- const localeFromProvider = (0, i18n_hooks_1.useDateLocale)();
28
- const locale = _locale ? (0, utils_1.getLocaleFromString)(_locale) : localeFromProvider;
29
- const [defaultSelected, setDefaultSelected] = (0, react_1.useState)(_defaultSelected);
30
- // Initialize states
31
- const [month, setMonth] = (0, react_1.useState)((_a = defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : defaultMonth) !== null && _a !== void 0 ? _a : today);
32
- const [selectedDay, setSelectedDay] = (0, react_1.useState)(defaultSelected);
33
- const [open, setOpen] = (0, react_1.useState)(false);
34
- const defaultInputValue = defaultSelected
35
- ? (0, utils_1.formatDateForInput)(defaultSelected, locale, "date", inputFormat)
36
- : "";
37
- const [inputValue, setInputValue] = (0, react_1.useState)(defaultInputValue);
38
- const handleOpen = (0, react_1.useCallback)((newOpen) => {
39
- var _a, _b;
40
- setOpen(newOpen);
41
- newOpen &&
42
- setMonth((_b = (_a = selectedDay !== null && selectedDay !== void 0 ? selectedDay : defaultSelected) !== null && _a !== void 0 ? _a : defaultMonth) !== null && _b !== void 0 ? _b : today);
43
- }, [defaultMonth, defaultSelected, selectedDay, today]);
44
- const updateDate = (date) => {
45
- onDateChange === null || onDateChange === void 0 ? void 0 : onDateChange(date);
46
- setSelectedDay(date);
47
- };
48
- const updateValidation = (val = {}) => onValidate === null || onValidate === void 0 ? void 0 : onValidate(getValidationMessage(val));
49
- const reset = () => {
50
- var _a;
51
- updateDate(defaultSelected);
52
- setMonth((_a = defaultSelected !== null && defaultSelected !== void 0 ? defaultSelected : defaultMonth) !== null && _a !== void 0 ? _a : today);
53
- setInputValue(defaultInputValue !== null && defaultInputValue !== void 0 ? defaultInputValue : "");
54
- setDefaultSelected(_defaultSelected);
55
- };
56
- const setSelected = (date) => {
57
- var _a;
58
- updateDate(date);
59
- setMonth((_a = date !== null && date !== void 0 ? date : defaultMonth) !== null && _a !== void 0 ? _a : today);
60
- setInputValue(date ? (0, utils_1.formatDateForInput)(date, locale, "date", inputFormat) : "");
61
- };
62
- const handleFocus = (e) => {
63
- if (e.target.readOnly) {
64
- return;
65
- }
66
- const day = (0, utils_1.parseDate)(e.target.value, today, locale, "date", allowTwoDigitYear);
67
- if ((0, utils_1.isValidDate)(day)) {
68
- setInputValue((0, utils_1.formatDateForInput)(day, locale, "date", inputFormat));
69
- const isBefore = fromDate && day && (0, date_fns_1.differenceInCalendarDays)(fromDate, day) > 0;
70
- const isAfter = toDate && day && (0, date_fns_1.differenceInCalendarDays)(day, toDate) > 0;
71
- !isBefore && !isAfter && setMonth(day);
72
- }
73
- };
74
- const handleBlur = (e) => {
75
- const day = (0, utils_1.parseDate)(e.target.value, today, locale, "date", allowTwoDigitYear);
76
- (0, utils_1.isValidDate)(day) &&
77
- setInputValue((0, utils_1.formatDateForInput)(day, locale, "date", inputFormat));
78
- };
79
- /* Only allow de-selecting if not required */
80
- const handleDayClick = (day, { selected }) => {
81
- if (selected && required) {
82
- return;
83
- }
84
- if (day && !selected) {
85
- handleOpen(false);
86
- anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.focus();
87
- }
88
- if (selected) {
89
- updateDate(undefined);
90
- setInputValue("");
91
- updateValidation({ isValidDate: false, isEmpty: true });
92
- return;
93
- }
94
- updateDate(day);
95
- updateValidation();
96
- setMonth(day);
97
- setInputValue(day ? (0, utils_1.formatDateForInput)(day, locale, "date", inputFormat) : "");
98
- };
99
- // When changing the input field, save its value in state and check if the
100
- // string is a valid date. If it is a valid day, set it as selected and update
101
- // the calendar’s month.
102
- const handleChange = (e) => {
103
- setInputValue(e.target.value);
104
- const day = (0, utils_1.parseDate)(e.target.value, today, locale, "date", allowTwoDigitYear);
105
- const isBefore = fromDate && day && (0, date_fns_1.differenceInCalendarDays)(fromDate, day) > 0;
106
- const isAfter = toDate && day && (0, date_fns_1.differenceInCalendarDays)(day, toDate) > 0;
107
- if (!(0, utils_1.isValidDate)(day) ||
108
- (disableWeekends && (0, date_fns_1.isWeekend)(day)) ||
109
- (disabled && (0, react_day_picker_1.isMatch)(day, disabled))) {
110
- updateDate(undefined);
111
- updateValidation({
112
- isInvalid: !(0, utils_1.isValidDate)(day),
113
- isWeekend: disableWeekends && (0, date_fns_1.isWeekend)(day),
114
- isDisabled: disabled && (0, react_day_picker_1.isMatch)(day, disabled),
115
- isValidDate: false,
116
- isEmpty: !e.target.value,
117
- isBefore: isBefore !== null && isBefore !== void 0 ? isBefore : false,
118
- isAfter: isAfter !== null && isAfter !== void 0 ? isAfter : false,
119
- });
120
- return;
121
- }
122
- if (isBefore || isAfter) {
123
- updateDate(undefined);
124
- updateValidation({
125
- isValidDate: false,
126
- isBefore: isBefore !== null && isBefore !== void 0 ? isBefore : false,
127
- isAfter: isAfter !== null && isAfter !== void 0 ? isAfter : false,
128
- });
129
- return;
130
- }
131
- updateDate(day);
132
- updateValidation();
133
- setMonth(defaultMonth !== null && defaultMonth !== void 0 ? defaultMonth : day);
134
- };
135
- const datepickerProps = {
136
- month,
137
- onMonthChange: setMonth,
138
- onDayClick: handleDayClick,
139
- selected: selectedDay !== null && selectedDay !== void 0 ? selectedDay : new Date("Invalid date"),
140
- locale: _locale,
141
- fromDate,
142
- toDate,
143
- today,
144
- open,
145
- onClose: () => {
146
- handleOpen(false);
147
- anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.focus();
148
- },
149
- onOpenToggle: () => handleOpen(!open),
150
- disabled,
151
- disableWeekends,
152
- };
153
- const inputProps = {
154
- onChange: handleChange,
155
- onFocus: handleFocus,
156
- onBlur: handleBlur,
157
- value: inputValue,
158
- setAnchorRef,
159
- };
160
- return { datepickerProps, inputProps, reset, selectedDay, setSelected };
161
- };
162
- exports.useDatepicker = useDatepicker;
163
- //# 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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"}