@mantine/dates 7.17.6 → 7.17.8

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 (184) hide show
  1. package/cjs/components/DateInput/DateInput.cjs +8 -0
  2. package/cjs/components/DateInput/DateInput.cjs.map +1 -1
  3. package/cjs/components/DatePicker/DatePicker.module.css.cjs +7 -0
  4. package/cjs/components/DatePicker/DatePicker.module.css.cjs.map +1 -0
  5. package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs +21 -0
  6. package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs.map +1 -0
  7. package/cjs/components/SpinInput/SpinInput.cjs +116 -0
  8. package/cjs/components/SpinInput/SpinInput.cjs.map +1 -0
  9. package/cjs/components/TimeGrid/TimeGrid.cjs +104 -0
  10. package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -0
  11. package/cjs/components/TimeGrid/TimeGrid.context.cjs +12 -0
  12. package/cjs/components/TimeGrid/TimeGrid.context.cjs.map +1 -0
  13. package/cjs/components/TimeGrid/TimeGrid.module.css.cjs +7 -0
  14. package/cjs/components/TimeGrid/TimeGrid.module.css.cjs.map +1 -0
  15. package/cjs/components/TimeGrid/TimeGridControl.cjs +37 -0
  16. package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -0
  17. package/cjs/components/TimeGrid/compare-time.cjs +15 -0
  18. package/cjs/components/TimeGrid/compare-time.cjs.map +1 -0
  19. package/cjs/components/TimeInput/TimeInput.cjs +2 -1
  20. package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
  21. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +106 -0
  22. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -0
  23. package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs +16 -0
  24. package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs.map +1 -0
  25. package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs +27 -0
  26. package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs.map +1 -0
  27. package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs +54 -0
  28. package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs.map +1 -0
  29. package/cjs/components/TimePicker/TimePicker.cjs +381 -0
  30. package/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
  31. package/cjs/components/TimePicker/TimePicker.context.cjs +12 -0
  32. package/cjs/components/TimePicker/TimePicker.context.cjs.map +1 -0
  33. package/cjs/components/TimePicker/TimePicker.module.css.cjs +7 -0
  34. package/cjs/components/TimePicker/TimePicker.module.css.cjs.map +1 -0
  35. package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs +31 -0
  36. package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs.map +1 -0
  37. package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs +39 -0
  38. package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs.map +1 -0
  39. package/cjs/components/TimePicker/TimePresets/TimePresets.cjs +73 -0
  40. package/cjs/components/TimePicker/TimePresets/TimePresets.cjs.map +1 -0
  41. package/cjs/components/TimePicker/use-time-picker.cjs +172 -0
  42. package/cjs/components/TimePicker/use-time-picker.cjs.map +1 -0
  43. package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs +15 -0
  44. package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs.map +1 -0
  45. package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs +38 -0
  46. package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs.map +1 -0
  47. package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs +18 -0
  48. package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs.map +1 -0
  49. package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs +51 -0
  50. package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs.map +1 -0
  51. package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs +16 -0
  52. package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs.map +1 -0
  53. package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs +9 -0
  54. package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs.map +1 -0
  55. package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs +10 -0
  56. package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs.map +1 -0
  57. package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs +24 -0
  58. package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs.map +1 -0
  59. package/cjs/components/TimeValue/TimeValue.cjs +18 -0
  60. package/cjs/components/TimeValue/TimeValue.cjs.map +1 -0
  61. package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs +31 -0
  62. package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs.map +1 -0
  63. package/cjs/utils/clamp-date/clamp-date.cjs +25 -0
  64. package/cjs/utils/clamp-date/clamp-date.cjs.map +1 -0
  65. package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs +29 -0
  66. package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs.map +1 -0
  67. package/cjs/utils/get-formatted-date/get-formatted-date.cjs +41 -0
  68. package/cjs/utils/get-formatted-date/get-formatted-date.cjs.map +1 -0
  69. package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs +158 -0
  70. package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs.map +1 -0
  71. package/cjs/utils/to-date-string/to-date-string.cjs +19 -0
  72. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -0
  73. package/esm/components/DateInput/DateInput.mjs +8 -0
  74. package/esm/components/DateInput/DateInput.mjs.map +1 -1
  75. package/esm/components/DatePicker/DatePicker.module.css.mjs +5 -0
  76. package/esm/components/DatePicker/DatePicker.module.css.mjs.map +1 -0
  77. package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs +14 -0
  78. package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs.map +1 -0
  79. package/esm/components/SpinInput/SpinInput.mjs +114 -0
  80. package/esm/components/SpinInput/SpinInput.mjs.map +1 -0
  81. package/esm/components/TimeGrid/TimeGrid.context.mjs +9 -0
  82. package/esm/components/TimeGrid/TimeGrid.context.mjs.map +1 -0
  83. package/esm/components/TimeGrid/TimeGrid.mjs +102 -0
  84. package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -0
  85. package/esm/components/TimeGrid/TimeGrid.module.css.mjs +5 -0
  86. package/esm/components/TimeGrid/TimeGrid.module.css.mjs.map +1 -0
  87. package/esm/components/TimeGrid/TimeGridControl.mjs +31 -0
  88. package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -0
  89. package/esm/components/TimeGrid/compare-time.mjs +12 -0
  90. package/esm/components/TimeGrid/compare-time.mjs.map +1 -0
  91. package/esm/components/TimeInput/TimeInput.mjs +2 -1
  92. package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
  93. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +104 -0
  94. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -0
  95. package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs +14 -0
  96. package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs.map +1 -0
  97. package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs +25 -0
  98. package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs.map +1 -0
  99. package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs +52 -0
  100. package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs.map +1 -0
  101. package/esm/components/TimePicker/TimePicker.context.mjs +9 -0
  102. package/esm/components/TimePicker/TimePicker.context.mjs.map +1 -0
  103. package/esm/components/TimePicker/TimePicker.mjs +379 -0
  104. package/esm/components/TimePicker/TimePicker.mjs.map +1 -0
  105. package/esm/components/TimePicker/TimePicker.module.css.mjs +5 -0
  106. package/esm/components/TimePicker/TimePicker.module.css.mjs.map +1 -0
  107. package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs +29 -0
  108. package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs.map +1 -0
  109. package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs +37 -0
  110. package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs.map +1 -0
  111. package/esm/components/TimePicker/TimePresets/TimePresets.mjs +71 -0
  112. package/esm/components/TimePicker/TimePresets/TimePresets.mjs.map +1 -0
  113. package/esm/components/TimePicker/use-time-picker.mjs +170 -0
  114. package/esm/components/TimePicker/use-time-picker.mjs.map +1 -0
  115. package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs +13 -0
  116. package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs.map +1 -0
  117. package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs +35 -0
  118. package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs.map +1 -0
  119. package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs +16 -0
  120. package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs.map +1 -0
  121. package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs +49 -0
  122. package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs.map +1 -0
  123. package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs +14 -0
  124. package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs.map +1 -0
  125. package/esm/components/TimePicker/utils/pad-time/pad-time.mjs +7 -0
  126. package/esm/components/TimePicker/utils/pad-time/pad-time.mjs.map +1 -0
  127. package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs +8 -0
  128. package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs.map +1 -0
  129. package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs +21 -0
  130. package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs.map +1 -0
  131. package/esm/components/TimeValue/TimeValue.mjs +16 -0
  132. package/esm/components/TimeValue/TimeValue.mjs.map +1 -0
  133. package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs +29 -0
  134. package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs.map +1 -0
  135. package/esm/utils/clamp-date/clamp-date.mjs +19 -0
  136. package/esm/utils/clamp-date/clamp-date.mjs.map +1 -0
  137. package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs +23 -0
  138. package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs.map +1 -0
  139. package/esm/utils/get-formatted-date/get-formatted-date.mjs +34 -0
  140. package/esm/utils/get-formatted-date/get-formatted-date.mjs.map +1 -0
  141. package/esm/utils/handle-control-key-down/handle-control-key-down.mjs +156 -0
  142. package/esm/utils/handle-control-key-down/handle-control-key-down.mjs.map +1 -0
  143. package/esm/utils/to-date-string/to-date-string.mjs +12 -0
  144. package/esm/utils/to-date-string/to-date-string.mjs.map +1 -0
  145. package/lib/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.d.ts +1 -1
  146. package/lib/components/DateInputMask/DateInputMask.d.ts +63 -0
  147. package/lib/components/DateInputMask/use-date-input-mask.d.ts +1 -0
  148. package/lib/components/DateTimePicker/get-min-max-time/get-min-max-time.d.ts +12 -0
  149. package/lib/components/SpinInput/SpinInput.d.ts +12 -0
  150. package/lib/components/SpinInput/index.d.ts +1 -0
  151. package/lib/components/TimeGrid/TimeGrid.context.d.ts +10 -0
  152. package/lib/components/TimeGrid/TimeGrid.d.ts +52 -0
  153. package/lib/components/TimeGrid/TimeGridControl.d.ts +10 -0
  154. package/lib/components/TimeGrid/compare-time.d.ts +2 -0
  155. package/lib/components/TimeGrid/index.d.ts +3 -0
  156. package/lib/components/TimePicker/AmPmInput/AmPmInput.d.ts +14 -0
  157. package/lib/components/TimePicker/TimeControlsList/AmPmControlsList.d.ts +13 -0
  158. package/lib/components/TimePicker/TimeControlsList/TimeControl.d.ts +10 -0
  159. package/lib/components/TimePicker/TimeControlsList/TimeControlsList.d.ts +12 -0
  160. package/lib/components/TimePicker/TimePicker.context.d.ts +12 -0
  161. package/lib/components/TimePicker/TimePicker.d.ts +98 -0
  162. package/lib/components/TimePicker/TimePicker.types.d.ts +22 -0
  163. package/lib/components/TimePicker/TimePresets/TimePresetControl.d.ts +14 -0
  164. package/lib/components/TimePicker/TimePresets/TimePresetGroup.d.ts +14 -0
  165. package/lib/components/TimePicker/TimePresets/TimePresets.d.ts +14 -0
  166. package/lib/components/TimePicker/index.d.ts +4 -0
  167. package/lib/components/TimePicker/use-time-picker.d.ts +40 -0
  168. package/lib/components/TimePicker/utils/clamp-time/clamp-time.d.ts +6 -0
  169. package/lib/components/TimePicker/utils/get-parsed-time/get-parsed-time.d.ts +35 -0
  170. package/lib/components/TimePicker/utils/get-time-range/get-time-range.d.ts +7 -0
  171. package/lib/components/TimePicker/utils/get-time-string/get-time-string.d.ts +15 -0
  172. package/lib/components/TimePicker/utils/is-same-time/is-same-time.d.ts +7 -0
  173. package/lib/components/TimePicker/utils/pad-time/pad-time.d.ts +1 -0
  174. package/lib/components/TimePicker/utils/split-time-string/split-time-string.d.ts +5 -0
  175. package/lib/components/TimePicker/utils/time-to-seconds/time-to-seconds.d.ts +7 -0
  176. package/lib/components/TimeValue/TimeValue.d.ts +15 -0
  177. package/lib/components/TimeValue/get-formatted-time/get-formatted-time.d.ts +8 -0
  178. package/lib/components/TimeValue/index.d.ts +2 -0
  179. package/lib/utils/clamp-date/clamp-date.d.ts +2 -0
  180. package/lib/utils/get-default-clamped-date/get-default-clamped-date.d.ts +7 -0
  181. package/lib/utils/get-formatted-date/get-formatted-date.d.ts +15 -0
  182. package/lib/utils/handle-control-key-down/handle-control-key-down.d.ts +11 -0
  183. package/lib/utils/to-date-string/to-date-string.d.ts +4 -0
  184. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-to-seconds.cjs","sources":["../../../../../src/components/TimePicker/utils/time-to-seconds/time-to-seconds.ts"],"sourcesContent":["import { padTime } from '../pad-time/pad-time';\n\nexport function timeToSeconds(timeStr: string): number {\n const [hours = 0, minutes = 0, seconds = 0] = timeStr.split(':').map(Number);\n return hours * 3600 + minutes * 60 + seconds;\n}\n\nexport function secondsToTime(seconds: number) {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return {\n timeString: `${padTime(hours)}:${padTime(minutes)}:${padTime(secs)}`,\n hours,\n minutes,\n seconds: secs,\n };\n}\n"],"names":["padTime"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var getFormattedTime = require('./get-formatted-time/get-formatted-time.cjs');
6
+
7
+ function TimeValue({
8
+ value,
9
+ format = "24h",
10
+ amPmLabels = { am: "AM", pm: "PM" },
11
+ withSeconds = false
12
+ }) {
13
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: getFormattedTime.getFormattedTime({ value, format, amPmLabels, withSeconds }) });
14
+ }
15
+ TimeValue.displayName = "@mantine/dates/TimeValue";
16
+
17
+ exports.TimeValue = TimeValue;
18
+ //# sourceMappingURL=TimeValue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeValue.cjs","sources":["../../../src/components/TimeValue/TimeValue.tsx"],"sourcesContent":["import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';\nimport { getFormattedTime } from './get-formatted-time/get-formatted-time';\n\nexport interface TimeValueProps {\n /** Time to format */\n value: string | Date;\n\n /** Time format, `'24h'` by default */\n format?: TimePickerFormat;\n\n /** AM/PM labels, `{ am: 'AM', pm: 'PM' }` by default */\n amPmLabels?: TimePickerAmPmLabels;\n\n /** Determines whether seconds should be displayed, `false` by default */\n withSeconds?: boolean;\n}\n\nexport function TimeValue({\n value,\n format = '24h',\n amPmLabels = { am: 'AM', pm: 'PM' },\n withSeconds = false,\n}: TimeValueProps) {\n return <>{getFormattedTime({ value, format, amPmLabels, withSeconds })}</>;\n}\n\nTimeValue.displayName = '@mantine/dates/TimeValue';\n"],"names":["jsx","Fragment"],"mappings":";;;;;;AAiBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAU,CAAA,CAAA;AAAA,CAAA,CACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA;AAAA,CAAA,CAClC,WAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChB,CAAmB,CAAA,CAAA,CAAA;AACjB,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAA,cAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qCAAiB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,OAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAE,CAAA,CAAA,CAAA,CAAA;AACzE,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var padTime = require('../../TimePicker/utils/pad-time/pad-time.cjs');
5
+ var splitTimeString = require('../../TimePicker/utils/split-time-string/split-time-string.cjs');
6
+
7
+ function getTimeFromDate(date, withSeconds) {
8
+ return `${date.getHours()}:${date.getMinutes()}${withSeconds ? `:${date.getSeconds()}` : ""}`;
9
+ }
10
+ function getFormattedTime({
11
+ value,
12
+ format,
13
+ amPmLabels,
14
+ withSeconds
15
+ }) {
16
+ const splitted = splitTimeString.splitTimeString(
17
+ typeof value === "string" ? value : getTimeFromDate(value, withSeconds)
18
+ );
19
+ if (splitted.hours === null || splitted.minutes === null) {
20
+ return null;
21
+ }
22
+ if (format === "24h") {
23
+ return `${padTime.padTime(splitted.hours)}:${padTime.padTime(splitted.minutes)}${withSeconds ? `:${padTime.padTime(splitted.seconds || 0)}` : ""}`;
24
+ }
25
+ const isPm = splitted.hours >= 12;
26
+ const hours = splitted.hours % 12 === 0 ? 12 : splitted.hours % 12;
27
+ return `${hours}:${padTime.padTime(splitted.minutes)}${withSeconds ? `:${padTime.padTime(splitted.seconds || 0)}` : ""} ${isPm ? amPmLabels.pm : amPmLabels.am}`;
28
+ }
29
+
30
+ exports.getFormattedTime = getFormattedTime;
31
+ //# sourceMappingURL=get-formatted-time.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-formatted-time.cjs","sources":["../../../../src/components/TimeValue/get-formatted-time/get-formatted-time.ts"],"sourcesContent":["import type { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker';\nimport { padTime } from '../../TimePicker/utils/pad-time/pad-time';\nimport { splitTimeString } from '../../TimePicker/utils/split-time-string/split-time-string';\n\nfunction getTimeFromDate(date: Date, withSeconds: boolean) {\n return `${date.getHours()}:${date.getMinutes()}${withSeconds ? `:${date.getSeconds()}` : ''}`;\n}\n\nexport interface GetFormattedTimeInput {\n value: string | Date;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n withSeconds: boolean;\n}\n\nexport function getFormattedTime({\n value,\n format,\n amPmLabels,\n withSeconds,\n}: GetFormattedTimeInput) {\n const splitted = splitTimeString(\n typeof value === 'string' ? value : getTimeFromDate(value, withSeconds)\n );\n\n if (splitted.hours === null || splitted.minutes === null) {\n return null;\n }\n\n if (format === '24h') {\n return `${padTime(splitted.hours)}:${padTime(splitted.minutes)}${withSeconds ? `:${padTime(splitted.seconds || 0)}` : ''}`;\n }\n\n const isPm = splitted.hours >= 12;\n const hours = splitted.hours % 12 === 0 ? 12 : splitted.hours % 12;\n\n return `${hours}:${padTime(splitted.minutes)}${withSeconds ? `:${padTime(splitted.seconds || 0)}` : ''} ${\n isPm ? amPmLabels.pm : amPmLabels.am\n }`;\n}\n"],"names":["splitTimeString","padTime"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var dayjs = require('dayjs');
5
+ var toDateString = require('../to-date-string/to-date-string.cjs');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
10
+
11
+ function clampDate(minDate, maxDate, date) {
12
+ if (!minDate && !maxDate) {
13
+ return toDateString.toDateTimeString(date);
14
+ }
15
+ if (minDate && dayjs__default.default(date).isBefore(minDate)) {
16
+ return toDateString.toDateTimeString(minDate);
17
+ }
18
+ if (maxDate && dayjs__default.default(date).isAfter(maxDate)) {
19
+ return toDateString.toDateTimeString(maxDate);
20
+ }
21
+ return toDateString.toDateTimeString(date);
22
+ }
23
+
24
+ exports.clampDate = clampDate;
25
+ //# sourceMappingURL=clamp-date.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp-date.cjs","sources":["../../../src/utils/clamp-date/clamp-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../types';\nimport { toDateTimeString } from '../to-date-string/to-date-string';\n\nexport function clampDate(\n minDate: DateStringValue | Date | undefined,\n maxDate: DateStringValue | Date | undefined,\n date: DateStringValue | Date\n): DateStringValue {\n if (!minDate && !maxDate) {\n return toDateTimeString(date)!;\n }\n\n if (minDate && dayjs(date).isBefore(minDate)) {\n return toDateTimeString(minDate)!;\n }\n\n if (maxDate && dayjs(date).isAfter(maxDate)) {\n return toDateTimeString(maxDate)!;\n }\n\n return toDateTimeString(date)!;\n}\n"],"names":["toDateTimeString","dayjs"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var dayjs = require('dayjs');
5
+ var toDateString = require('../to-date-string/to-date-string.cjs');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
10
+
11
+ function getDefaultClampedDate({
12
+ minDate,
13
+ maxDate
14
+ }) {
15
+ const today = dayjs__default.default();
16
+ if (!minDate && !maxDate) {
17
+ return toDateString.toDateString(today);
18
+ }
19
+ if (minDate && dayjs__default.default(today).isBefore(minDate)) {
20
+ return toDateString.toDateString(minDate);
21
+ }
22
+ if (maxDate && dayjs__default.default(today).isAfter(maxDate)) {
23
+ return toDateString.toDateString(maxDate);
24
+ }
25
+ return toDateString.toDateString(today);
26
+ }
27
+
28
+ exports.getDefaultClampedDate = getDefaultClampedDate;
29
+ //# sourceMappingURL=get-default-clamped-date.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-default-clamped-date.cjs","sources":["../../../src/utils/get-default-clamped-date/get-default-clamped-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../types';\nimport { toDateString } from '../to-date-string/to-date-string';\n\ninterface GetDefaultClampedDate {\n minDate: DateStringValue | Date | undefined;\n maxDate: DateStringValue | Date | undefined;\n}\n\nexport function getDefaultClampedDate({\n minDate,\n maxDate,\n}: GetDefaultClampedDate): DateStringValue {\n const today = dayjs();\n\n if (!minDate && !maxDate) {\n return toDateString(today)!;\n }\n\n if (minDate && dayjs(today).isBefore(minDate)) {\n return toDateString(minDate)!;\n }\n\n if (maxDate && dayjs(today).isAfter(maxDate)) {\n return toDateString(maxDate)!;\n }\n\n return toDateString(today)!;\n}\n"],"names":["dayjs","toDateString"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var dayjs = require('dayjs');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
9
+
10
+ function defaultDateFormatter({
11
+ type,
12
+ date,
13
+ locale,
14
+ format,
15
+ labelSeparator
16
+ }) {
17
+ const formatDate = (value) => dayjs__default.default(value).locale(locale).format(format);
18
+ if (type === "default") {
19
+ return date === null ? "" : formatDate(date);
20
+ }
21
+ if (type === "multiple") {
22
+ return date.map(formatDate).join(", ");
23
+ }
24
+ if (type === "range" && Array.isArray(date)) {
25
+ if (date[0] && date[1]) {
26
+ return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;
27
+ }
28
+ if (date[0]) {
29
+ return `${formatDate(date[0])} ${labelSeparator} `;
30
+ }
31
+ return "";
32
+ }
33
+ return "";
34
+ }
35
+ function getFormattedDate({ formatter, ...others }) {
36
+ return (formatter || defaultDateFormatter)(others);
37
+ }
38
+
39
+ exports.defaultDateFormatter = defaultDateFormatter;
40
+ exports.getFormattedDate = getFormattedDate;
41
+ //# sourceMappingURL=get-formatted-date.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-formatted-date.cjs","sources":["../../../src/utils/get-formatted-date/get-formatted-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DatePickerType, DatePickerValue, DateStringValue } from '../../types';\n\ninterface DateFormatterInput {\n type: DatePickerType;\n date: DatePickerValue<DatePickerType>;\n locale: string;\n format: string;\n labelSeparator: string;\n}\n\nexport type DateFormatter = (input: DateFormatterInput) => string;\n\nexport function defaultDateFormatter({\n type,\n date,\n locale,\n format,\n labelSeparator,\n}: DateFormatterInput) {\n const formatDate = (value: DateStringValue | Date) => dayjs(value).locale(locale).format(format);\n\n if (type === 'default') {\n return date === null ? '' : formatDate(date as DateStringValue);\n }\n\n if (type === 'multiple') {\n return (date as DateStringValue[]).map(formatDate).join(', ');\n }\n\n if (type === 'range' && Array.isArray(date)) {\n if (date[0] && date[1]) {\n return `${formatDate(date[0])} ${labelSeparator} ${formatDate(date[1])}`;\n }\n\n if (date[0]) {\n return `${formatDate(date[0])} ${labelSeparator} `;\n }\n\n return '';\n }\n\n return '';\n}\n\ninterface GetFormattedDateInput extends DateFormatterInput {\n formatter?: DateFormatter;\n}\n\nexport function getFormattedDate({ formatter, ...others }: GetFormattedDateInput) {\n return (formatter || defaultDateFormatter)(others);\n}\n"],"names":["dayjs"],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ function getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {
5
+ switch (direction) {
6
+ case "up":
7
+ if (levelIndex === 0 && rowIndex === 0) {
8
+ return null;
9
+ }
10
+ if (rowIndex === 0) {
11
+ return {
12
+ levelIndex: levelIndex - 1,
13
+ rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,
14
+ cellIndex
15
+ };
16
+ }
17
+ return {
18
+ levelIndex,
19
+ rowIndex: rowIndex - 1,
20
+ cellIndex
21
+ };
22
+ case "down":
23
+ if (rowIndex === size[levelIndex].length - 1) {
24
+ return {
25
+ levelIndex: levelIndex + 1,
26
+ rowIndex: 0,
27
+ cellIndex
28
+ };
29
+ }
30
+ if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {
31
+ return {
32
+ levelIndex: levelIndex + 1,
33
+ rowIndex: 0,
34
+ cellIndex
35
+ };
36
+ }
37
+ return {
38
+ levelIndex,
39
+ rowIndex: rowIndex + 1,
40
+ cellIndex
41
+ };
42
+ case "left":
43
+ if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {
44
+ return null;
45
+ }
46
+ if (rowIndex === 0 && cellIndex === 0) {
47
+ return {
48
+ levelIndex: levelIndex - 1,
49
+ rowIndex: size[levelIndex - 1].length - 1,
50
+ cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1
51
+ };
52
+ }
53
+ if (cellIndex === 0) {
54
+ return {
55
+ levelIndex,
56
+ rowIndex: rowIndex - 1,
57
+ cellIndex: size[levelIndex][rowIndex - 1] - 1
58
+ };
59
+ }
60
+ return {
61
+ levelIndex,
62
+ rowIndex,
63
+ cellIndex: cellIndex - 1
64
+ };
65
+ case "right":
66
+ if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {
67
+ return {
68
+ levelIndex: levelIndex + 1,
69
+ rowIndex: 0,
70
+ cellIndex: 0
71
+ };
72
+ }
73
+ if (cellIndex === size[levelIndex][rowIndex] - 1) {
74
+ return {
75
+ levelIndex,
76
+ rowIndex: rowIndex + 1,
77
+ cellIndex: 0
78
+ };
79
+ }
80
+ return {
81
+ levelIndex,
82
+ rowIndex,
83
+ cellIndex: cellIndex + 1
84
+ };
85
+ default:
86
+ return { levelIndex, rowIndex, cellIndex };
87
+ }
88
+ }
89
+ function focusOnNextFocusableControl({
90
+ controlsRef,
91
+ direction,
92
+ levelIndex,
93
+ rowIndex,
94
+ cellIndex,
95
+ size
96
+ }) {
97
+ const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });
98
+ if (!nextIndex) {
99
+ return;
100
+ }
101
+ const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];
102
+ if (!controlToFocus) {
103
+ return;
104
+ }
105
+ if (controlToFocus.disabled || controlToFocus.getAttribute("data-hidden") || controlToFocus.getAttribute("data-outside")) {
106
+ focusOnNextFocusableControl({
107
+ controlsRef,
108
+ direction,
109
+ levelIndex: nextIndex.levelIndex,
110
+ cellIndex: nextIndex.cellIndex,
111
+ rowIndex: nextIndex.rowIndex,
112
+ size
113
+ });
114
+ } else {
115
+ controlToFocus.focus();
116
+ }
117
+ }
118
+ function getDirection(key) {
119
+ switch (key) {
120
+ case "ArrowDown":
121
+ return "down";
122
+ case "ArrowUp":
123
+ return "up";
124
+ case "ArrowRight":
125
+ return "right";
126
+ case "ArrowLeft":
127
+ return "left";
128
+ default:
129
+ return null;
130
+ }
131
+ }
132
+ function getControlsSize(controlsRef) {
133
+ return controlsRef.current?.map((column) => column.map((row) => row.length));
134
+ }
135
+ function handleControlKeyDown({
136
+ controlsRef,
137
+ levelIndex,
138
+ rowIndex,
139
+ cellIndex,
140
+ event
141
+ }) {
142
+ const direction = getDirection(event.key);
143
+ if (direction) {
144
+ event.preventDefault();
145
+ const size = getControlsSize(controlsRef);
146
+ focusOnNextFocusableControl({
147
+ controlsRef,
148
+ direction,
149
+ levelIndex,
150
+ rowIndex,
151
+ cellIndex,
152
+ size
153
+ });
154
+ }
155
+ }
156
+
157
+ exports.handleControlKeyDown = handleControlKeyDown;
158
+ //# sourceMappingURL=handle-control-key-down.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-control-key-down.cjs","sources":["../../../src/utils/handle-control-key-down/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null!;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n event.preventDefault();\n\n const size = getControlsSize(controlsRef)!;\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var dayjs = require('dayjs');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
9
+
10
+ function toDateString(value) {
11
+ return value == null || value === "" ? value : dayjs__default.default(value).format("YYYY-MM-DD");
12
+ }
13
+ function toDateTimeString(value) {
14
+ return value == null || value === "" ? value : dayjs__default.default(value).format("YYYY-MM-DD HH:mm:ss");
15
+ }
16
+
17
+ exports.toDateString = toDateString;
18
+ exports.toDateTimeString = toDateTimeString;
19
+ //# sourceMappingURL=to-date-string.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-date-string.cjs","sources":["../../../src/utils/to-date-string/to-date-string.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue } from '../../types';\n\nexport function toDateString(\n value: string | number | Date | Dayjs | undefined | null\n): DateStringValue | undefined | null {\n return value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD');\n}\n\nexport function toDateTimeString(\n value: string | number | Date | Dayjs | undefined | null\n): DateStringValue | undefined | null {\n return value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD HH:mm:ss');\n}\n"],"names":["dayjs"],"mappings":";;;;;;;;;AAGO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACd,CAAA,CAAA,CAAA,CAAA,CACoC,CAAA,CAAA,CAAA;AACpC,CAAA,CAAO,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,KAAA,CAAA,CAAA,CAAA,CAAA,CAAK,MAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,YAAY,CAAA,CAAA;AACjF,CAAA;AAEO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACd,CAAA,CAAA,CAAA,CAAA,CACoC,CAAA,CAAA,CAAA;AACpC,CAAA,CAAO,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,KAAA,CAAA,CAAA,CAAA,CAAA,CAAK,MAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAM,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,qBAAqB,CAAA,CAAA;AAC1F,CAAA;;;"}
@@ -41,6 +41,7 @@ const DateInput = factory((_props, ref) => {
41
41
  onFocus,
42
42
  onBlur,
43
43
  onClick,
44
+ onKeyDown,
44
45
  readOnly,
45
46
  name,
46
47
  form,
@@ -115,6 +116,12 @@ const DateInput = factory((_props, ref) => {
115
116
  onClick?.(event);
116
117
  setDropdownOpened(true);
117
118
  };
119
+ const handleInputKeyDown = (event) => {
120
+ if (event.key === "Escape") {
121
+ setDropdownOpened(false);
122
+ }
123
+ onKeyDown?.(event);
124
+ };
118
125
  const _getDayProps = (day) => ({
119
126
  ...getDayProps?.(day),
120
127
  selected: dayjs(_value).isSame(day, "day"),
@@ -174,6 +181,7 @@ const DateInput = factory((_props, ref) => {
174
181
  onBlur: handleInputBlur,
175
182
  onFocus: handleInputFocus,
176
183
  onClick: handleInputClick,
184
+ onKeyDown: handleInputKeyDown,
177
185
  readOnly,
178
186
  rightSection: _rightSection,
179
187
  ...inputProps,