@tedi-design-system/react 19.1.0-rc.2 → 19.1.0-rc.20

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/DESIGN.md +308 -0
  2. package/README.md +28 -0
  3. package/_virtual/index.es13.js +2 -2
  4. package/_virtual/index.es14.js +2 -2
  5. package/bundle-stats.html +1 -1
  6. package/community.cjs.js +1 -1
  7. package/community.es.js +215 -223
  8. package/component.manifest.json +1234 -0
  9. package/external/@floating-ui/core/dist/floating-ui.core.es.js +1 -1
  10. package/external/@floating-ui/dom/dist/floating-ui.dom.es.js +2 -2
  11. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +5 -5
  12. package/external/@mui/x-date-pickers/DatePicker/shared.es.js +1 -1
  13. package/external/@mui/x-date-pickers/DateTimePicker/shared.es.js +1 -1
  14. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.cjs.js +1 -1
  15. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.development.es.js +1 -1
  16. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  17. package/external/hoist-non-react-statics/external/react-is/cjs/react-is.production.min.es.js +1 -1
  18. package/external/hoist-non-react-statics/external/react-is/index.cjs.js +1 -1
  19. package/external/hoist-non-react-statics/external/react-is/index.es.js +1 -1
  20. package/external/prop-types/external/react-is/cjs/react-is.development.cjs.js +1 -1
  21. package/external/prop-types/external/react-is/cjs/react-is.development.es.js +1 -1
  22. package/external/prop-types/external/react-is/cjs/react-is.production.min.cjs.js +1 -1
  23. package/external/prop-types/external/react-is/cjs/react-is.production.min.es.js +1 -1
  24. package/external/prop-types/external/react-is/index.cjs.js +1 -1
  25. package/external/prop-types/external/react-is/index.es.js +1 -1
  26. package/external/react-is/index.cjs.js +1 -1
  27. package/external/react-is/index.es.js +1 -1
  28. package/external/toposort/index.cjs.js +1 -1
  29. package/external/toposort/index.es.js +1 -1
  30. package/index.css +1 -1
  31. package/package.json +3 -3
  32. package/src/community/components/accordion/accordion.cjs.js +1 -1
  33. package/src/community/components/accordion/accordion.es.js +14 -9
  34. package/src/community/components/card/card-notification/card-notification.cjs.js +1 -1
  35. package/src/community/components/card/card-notification/card-notification.es.js +10 -8
  36. package/src/community/components/dock-panel/dock-panel.cjs.js +2 -0
  37. package/src/community/components/dock-panel/dock-panel.d.ts +110 -0
  38. package/src/community/components/dock-panel/dock-panel.es.js +138 -0
  39. package/src/community/components/dock-panel/dock-panel.module.scss.cjs.js +1 -0
  40. package/src/community/components/dock-panel/dock-panel.module.scss.es.js +18 -0
  41. package/src/community/components/dropdown/dropdown.cjs.js +1 -1
  42. package/src/community/components/dropdown/dropdown.es.js +34 -32
  43. package/src/community/components/form/category-search/category-search.cjs.js +1 -0
  44. package/src/community/components/form/category-search/category-search.d.ts +9 -0
  45. package/src/community/components/form/category-search/category-search.es.js +297 -0
  46. package/src/community/components/form/category-search/category-search.module.scss.cjs.js +1 -0
  47. package/src/community/components/form/category-search/category-search.module.scss.es.js +21 -0
  48. package/src/community/components/form/category-search/category-search.types.d.ts +162 -0
  49. package/src/community/components/form/category-search/define-category-search-category.cjs.js +1 -0
  50. package/src/community/components/form/category-search/define-category-search-category.d.ts +7 -0
  51. package/src/community/components/form/category-search/define-category-search-category.es.js +25 -0
  52. package/src/community/components/form/category-search/index.d.ts +3 -0
  53. package/src/community/components/form/category-search/use-category-search.cjs.js +1 -0
  54. package/src/community/components/form/category-search/use-category-search.d.ts +17 -0
  55. package/src/community/components/form/category-search/use-category-search.es.js +64 -0
  56. package/src/community/components/form/file-upload/file-upload.cjs.js +1 -1
  57. package/src/community/components/form/file-upload/file-upload.es.js +43 -41
  58. package/src/community/components/form/pickers/calendar/calendar.cjs.js +1 -1
  59. package/src/community/components/form/pickers/calendar/calendar.es.js +41 -39
  60. package/src/community/components/form/pickers/timepicker/timepicker.cjs.js +1 -1
  61. package/src/community/components/form/pickers/timepicker/timepicker.es.js +33 -31
  62. package/src/community/components/form/toggle/toggle.cjs.js +1 -1
  63. package/src/community/components/form/toggle/toggle.es.js +30 -28
  64. package/src/community/components/map-components/base-map-selection/base-map-option.cjs.js +1 -1
  65. package/src/community/components/map-components/base-map-selection/base-map-option.d.ts +8 -5
  66. package/src/community/components/map-components/base-map-selection/base-map-option.es.js +63 -65
  67. package/src/community/components/map-components/base-map-selection/base-map-selection.cjs.js +1 -1
  68. package/src/community/components/map-components/base-map-selection/base-map-selection.d.ts +1 -4
  69. package/src/community/components/map-components/base-map-selection/base-map-selection.es.js +55 -55
  70. package/src/community/components/map-components/carousel/carousel.cjs.js +1 -1
  71. package/src/community/components/map-components/carousel/carousel.es.js +19 -17
  72. package/src/community/components/map-components/map-button/map-button.cjs.js +1 -1
  73. package/src/community/components/map-components/map-button/map-button.d.ts +12 -4
  74. package/src/community/components/map-components/map-button/map-button.es.js +43 -40
  75. package/src/community/components/map-components/map-dropdown/map-dropdown.cjs.js +1 -1
  76. package/src/community/components/map-components/map-dropdown/map-dropdown.es.js +51 -49
  77. package/src/community/components/status/status.cjs.js +1 -1
  78. package/src/community/components/status/status.es.js +14 -12
  79. package/src/community/components/stepper/stepper.cjs.js +1 -1
  80. package/src/community/components/stepper/stepper.es.js +33 -31
  81. package/src/community/components/table/table.cjs.js +1 -1
  82. package/src/community/components/table/table.es.js +9 -9
  83. package/src/community/components/table-of-contents/table-of-contents.cjs.js +1 -1
  84. package/src/community/components/table-of-contents/table-of-contents.es.js +21 -19
  85. package/src/community/components/tabs/tabs/tabs.cjs.js +1 -1
  86. package/src/community/components/tabs/tabs/tabs.es.js +29 -27
  87. package/src/community/components/vertical-stepper/vertical-stepper.cjs.js +1 -1
  88. package/src/community/components/vertical-stepper/vertical-stepper.es.js +8 -6
  89. package/src/community/deprecated-exports.cjs.js +1 -0
  90. package/src/community/deprecated-exports.d.ts +19 -0
  91. package/src/community/deprecated-exports.es.js +112 -0
  92. package/src/community/index.d.ts +3 -0
  93. package/src/tedi/components/content/card/card.d.ts +4 -0
  94. package/src/tedi/components/content/card/card.module.scss.cjs.js +1 -1
  95. package/src/tedi/components/content/card/card.module.scss.es.js +3 -2
  96. package/src/tedi/components/content/carousel/carousel.cjs.js +1 -1
  97. package/src/tedi/components/content/carousel/carousel.d.ts +5 -0
  98. package/src/tedi/components/content/carousel/carousel.es.js +20 -20
  99. package/src/tedi/components/content/carousel/use-carousel.cjs.js +1 -1
  100. package/src/tedi/components/content/carousel/use-carousel.d.ts +1 -1
  101. package/src/tedi/components/content/carousel/use-carousel.es.js +127 -127
  102. package/src/tedi/components/content/table-card/index.d.ts +1 -0
  103. package/src/tedi/components/content/table-card/table-card.cjs.js +1 -0
  104. package/src/tedi/components/content/table-card/table-card.d.ts +131 -0
  105. package/src/tedi/components/content/table-card/table-card.es.js +206 -0
  106. package/src/tedi/components/content/table-card/table-card.module.scss.cjs.js +1 -0
  107. package/src/tedi/components/content/table-card/table-card.module.scss.es.js +18 -0
  108. package/src/tedi/components/content/text-group/text-group-list/text-group-list.cjs.js +1 -1
  109. package/src/tedi/components/content/text-group/text-group-list/text-group-list.d.ts +42 -0
  110. package/src/tedi/components/content/text-group/text-group-list/text-group-list.es.js +41 -23
  111. package/src/tedi/components/content/text-group/text-group.cjs.js +1 -1
  112. package/src/tedi/components/content/text-group/text-group.d.ts +10 -0
  113. package/src/tedi/components/content/text-group/text-group.es.js +14 -13
  114. package/src/tedi/components/content/text-group/text-group.module.scss.cjs.js +1 -1
  115. package/src/tedi/components/content/text-group/text-group.module.scss.es.js +5 -1
  116. package/src/tedi/components/filter/filter/filter.cjs.js +1 -1
  117. package/src/tedi/components/filter/filter/filter.d.ts +5 -0
  118. package/src/tedi/components/filter/filter/filter.es.js +154 -144
  119. package/src/tedi/components/filter/filter/filter.module.scss.cjs.js +1 -1
  120. package/src/tedi/components/filter/filter/filter.module.scss.es.js +2 -1
  121. package/src/tedi/components/form/date-field/date-field-helpers.cjs.js +1 -1
  122. package/src/tedi/components/form/date-field/date-field-helpers.d.ts +12 -19
  123. package/src/tedi/components/form/date-field/date-field-helpers.es.js +27 -21
  124. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  125. package/src/tedi/components/form/date-field/date-field.d.ts +1 -1
  126. package/src/tedi/components/form/date-field/date-field.es.js +169 -164
  127. package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -1
  128. package/src/tedi/components/form/date-time-field/date-time-field.es.js +181 -176
  129. package/src/tedi/components/form/search/index.d.ts +1 -0
  130. package/src/tedi/components/form/search/search.cjs.js +1 -1
  131. package/src/tedi/components/form/search/search.d.ts +92 -1
  132. package/src/tedi/components/form/search/search.es.js +265 -69
  133. package/src/tedi/components/form/search/search.module.scss.cjs.js +1 -1
  134. package/src/tedi/components/form/search/search.module.scss.es.js +9 -1
  135. package/src/tedi/components/form/slider/slider.cjs.js +1 -1
  136. package/src/tedi/components/form/slider/slider.es.js +38 -38
  137. package/src/tedi/components/form/slider/slider.module.scss.cjs.js +1 -1
  138. package/src/tedi/components/form/slider/slider.module.scss.es.js +0 -1
  139. package/src/tedi/components/form/textfield/textfield.cjs.js +1 -1
  140. package/src/tedi/components/form/textfield/textfield.es.js +21 -21
  141. package/src/tedi/components/form/time-field/time-field.cjs.js +1 -1
  142. package/src/tedi/components/form/time-field/time-field.es.js +126 -124
  143. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.cjs.js +1 -1
  144. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.d.ts +1 -1
  145. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.es.js +28 -27
  146. package/src/tedi/components/layout/mobile-nav/mobile-nav.cjs.js +1 -1
  147. package/src/tedi/components/layout/mobile-nav/mobile-nav.d.ts +1 -1
  148. package/src/tedi/components/layout/mobile-nav/mobile-nav.es.js +124 -92
  149. package/src/tedi/components/layout/sidenav/sidenav.module.scss.cjs.js +1 -1
  150. package/src/tedi/components/layout/sidenav/sidenav.module.scss.es.js +1 -0
  151. package/src/tedi/components/misc/affix/affix.cjs.js +1 -1
  152. package/src/tedi/components/misc/affix/affix.es.js +20 -8
  153. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.cjs.js +1 -1
  154. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.d.ts +9 -1
  155. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-collapsible/table-of-contents-collapsible.es.js +78 -39
  156. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-item/table-of-contents-item.d.ts +6 -0
  157. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.cjs.js +1 -1
  158. package/src/tedi/components/navigation/table-of-contents/components/table-of-contents-row/table-of-contents-row.es.js +23 -28
  159. package/src/tedi/components/navigation/table-of-contents/table-of-contents.cjs.js +1 -1
  160. package/src/tedi/components/navigation/table-of-contents/table-of-contents.d.ts +32 -21
  161. package/src/tedi/components/navigation/table-of-contents/table-of-contents.es.js +58 -55
  162. package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.cjs.js +1 -1
  163. package/src/tedi/components/navigation/table-of-contents/table-of-contents.module.scss.es.js +4 -1
  164. package/src/tedi/components/navigation/tabs/tabs-helpers.cjs.js +1 -1
  165. package/src/tedi/components/navigation/tabs/tabs-helpers.d.ts +5 -0
  166. package/src/tedi/components/navigation/tabs/tabs-helpers.es.js +7 -4
  167. package/src/tedi/components/navigation/tabs/tabs-trigger/tabs-trigger.cjs.js +1 -1
  168. package/src/tedi/components/navigation/tabs/tabs-trigger/tabs-trigger.es.js +17 -17
  169. package/src/tedi/components/overlays/dropdown/dropdown.cjs.js +1 -1
  170. package/src/tedi/components/overlays/dropdown/dropdown.d.ts +8 -0
  171. package/src/tedi/components/overlays/dropdown/dropdown.es.js +82 -72
  172. package/src/tedi/components/overlays/dropdown/dropdown.module.scss.cjs.js +1 -1
  173. package/src/tedi/components/overlays/dropdown/dropdown.module.scss.es.js +1 -0
  174. package/src/tedi/components/overlays/overlay/overlay-trigger.cjs.js +1 -1
  175. package/src/tedi/components/overlays/overlay/overlay-trigger.es.js +22 -21
  176. package/src/tedi/helpers/warn-deprecated/warn-deprecated.cjs.js +1 -0
  177. package/src/tedi/helpers/warn-deprecated/warn-deprecated.d.ts +12 -0
  178. package/src/tedi/helpers/warn-deprecated/warn-deprecated.es.js +11 -0
  179. package/src/tedi/index.d.ts +2 -1
  180. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  181. package/src/tedi/providers/label-provider/labels-map.d.ts +44 -2
  182. package/src/tedi/providers/label-provider/labels-map.es.js +43 -1
  183. package/tedi.cjs.js +1 -1
  184. package/tedi.es.js +326 -324
@@ -1,69 +1,69 @@
1
1
  import { jsxs as vt, Fragment as Ft, jsx as D } from "react/jsx-runtime";
2
- import { useFloating as wt, useClick as Nt, useInteractions as kt, useDismiss as Pt, useRole as Et, FloatingPortal as Ot, FloatingFocusManager as Rt } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
2
+ import { useFloating as wt, useClick as Nt, useInteractions as kt, useDismiss as Pt, useRole as Ot, FloatingPortal as Et, FloatingFocusManager as Rt } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
3
  import B from "../../../../../external/classnames/index.es.js";
4
- import F, { useState as _, useCallback as ue, useEffect as T, useMemo as me } from "react";
4
+ import F, { useState as _, useCallback as me, useEffect as T, useMemo as pe } from "react";
5
5
  import { Calendar as It } from "../../content/calendar/calendar.es.js";
6
6
  import { MultiValueField as Vt } from "../multi-value-field/multi-value-field.es.js";
7
7
  import { TextField as Bt } from "../textfield/textfield.es.js";
8
8
  import y from "./date-field.module.scss.es.js";
9
- import { getLocaleDateParts as Tt, buildDateRegexSource as $t, resolveRangeSelection as Lt, CALENDAR_POPOVER_OFFSET as Yt, CALENDAR_POPOVER_PADDING as He } from "./date-field-helpers.es.js";
9
+ import { getLocaleDateParts as Tt, buildDateRegexSource as $t, resolveRangeSelection as Lt, CALENDAR_POPOVER_OFFSET as Yt, CALENDAR_POPOVER_PADDING as We } from "./date-field-helpers.es.js";
10
10
  import { DatePickerModal as jt } from "./date-picker-modal/date-picker-modal.es.js";
11
11
  import { useBreakpointProps as Ht } from "../../../helpers/hooks/use-breakpoint-props.es.js";
12
12
  import { useLabels as Wt } from "../../../providers/label-provider/use-labels.es.js";
13
13
  import { et as St } from "../../../../../external/react-day-picker/dist/esm/locale/et.es.js";
14
- import Ut, { isBreakpointBelow as We } from "../../../helpers/hooks/use-breakpoint.es.js";
14
+ import Ut, { isBreakpointBelow as Se } from "../../../helpers/hooks/use-breakpoint.es.js";
15
15
  import { autoUpdate as qt } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
16
16
  import { offset as zt, flip as Gt, shift as Xt, size as Jt } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
17
17
  import { dateMatchModifiers as Kt } from "../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.es.js";
18
18
  const Qt = F.forwardRef((w, N) => {
19
- const { getCurrentBreakpointProps: Se } = Ht(w.defaultServerBreakpoint), { getLabel: z } = Wt(), {
20
- useNativePicker: Ue = !1,
19
+ const { getCurrentBreakpointProps: Ue } = Ht(w.defaultServerBreakpoint), { getLabel: G } = Wt(), {
20
+ useNativePicker: qe = !1,
21
21
  enableCalendar: m = !0,
22
22
  calendarTrigger: $ = "button",
23
- numberOfMonths: G,
24
- clearable: pe = !0
25
- } = Se(w), {
26
- id: he,
27
- mode: s = "single",
28
- label: ge,
23
+ numberOfMonths: X,
24
+ clearable: he = !0
25
+ } = Ue(w), {
26
+ id: ge,
27
+ mode: o = "single",
28
+ label: ye,
29
29
  selected: L,
30
30
  onSelect: a,
31
31
  disabled: k,
32
32
  disabledMatchers: P,
33
- placeholder: qe,
34
- className: ze,
33
+ placeholder: ze,
34
+ className: Ge,
35
35
  formatDate: d,
36
36
  required: Y,
37
- showOutsideDays: ye = !0,
38
- parseDate: Ge,
39
- monthYearSelectType: be,
40
- minYear: De,
41
- maxYear: _e,
42
- dayStatus: Ce,
37
+ showOutsideDays: be = !0,
38
+ parseDate: J,
39
+ monthYearSelectType: De,
40
+ minYear: _e,
41
+ maxYear: Ce,
42
+ dayStatus: Me,
43
43
  tagsDirection: Xe,
44
- showNavigation: Me = !0,
45
- selectionLevel: E = "days",
44
+ showNavigation: xe = !0,
45
+ selectionLevel: O = "days",
46
46
  initialView: j,
47
- locale: xe = St,
47
+ locale: Ae = St,
48
48
  localeCode: H = "et-EE",
49
49
  initialMonth: W,
50
50
  closeOnSelect: Je,
51
- footer: Ae,
51
+ footer: ve,
52
52
  defaultValue: S,
53
- minDate: X,
54
- maxDate: J,
55
- disablePast: ve,
56
- disableFuture: Fe,
57
- shouldDisableMonth: K,
58
- shouldDisableYear: Q,
59
- readOnly: O,
60
- availableDays: we,
53
+ minDate: K,
54
+ maxDate: Q,
55
+ disablePast: Fe,
56
+ disableFuture: we,
57
+ shouldDisableMonth: Z,
58
+ shouldDisableYear: ee,
59
+ readOnly: E,
60
+ availableDays: Ne,
61
61
  inputProps: i,
62
- modal: Z = !1,
62
+ modal: te = !1,
63
63
  modalProps: Ke,
64
64
  modalTitle: Qe,
65
- disabledDateErrorMessage: Ze = z("dateField.disabledDateError"),
66
- invalidDateErrorMessage: et = z("dateField.invalidDateError"),
65
+ disabledDateErrorMessage: Ze = G("dateField.disabledDateError"),
66
+ invalidDateErrorMessage: et = G("dateField.invalidDateError"),
67
67
  useNativePicker: Zt,
68
68
  enableCalendar: er,
69
69
  calendarTrigger: tr,
@@ -74,32 +74,32 @@ const Qt = F.forwardRef((w, N) => {
74
74
  lg: nr,
75
75
  xl: sr,
76
76
  xxl: lr,
77
- ...Ne
78
- } = w, c = Ue && s === "single", ke = Ut(w.defaultServerBreakpoint), A = We(ke, "md"), [tt, p] = _(L ?? S), [h, R] = _(!1), [ee, Pe] = _(!1), [rt, Ee] = _(j ?? E), [te, b] = _(""), [Oe, u] = _(!1), [Re, re] = _(!1), g = m && !c && !O && (Z === !0 || typeof Z == "string" && We(ke, Z)), Ie = A && !g && typeof G == "number" && G > 1 ? 1 : G, { current: f } = F.useRef("selected" in w), o = f ? L : tt, ae = F.useRef(null), Ve = F.useRef(null), at = F.useCallback(
77
+ ...ke
78
+ } = w, c = qe && o === "single", Pe = Ut(w.defaultServerBreakpoint), A = Se(Pe, "md"), [tt, p] = _(L ?? S), [h, R] = _(!1), [re, Oe] = _(!1), [rt, Ee] = _(j ?? O), [ae, b] = _(""), [Re, u] = _(!1), [Ie, U] = _(!1), g = m && !c && !E && (te === !0 || typeof te == "string" && Se(Pe, te)), Ve = A && !g && typeof X == "number" && X > 1 ? 1 : X, { current: f } = F.useRef("selected" in w), n = f ? L : tt, ie = F.useRef(null), Be = F.useRef(null), at = F.useCallback(
79
79
  (e) => {
80
- ae.current = e, typeof N == "function" ? N(e) : N && (N.current = e);
80
+ ie.current = e, typeof N == "function" ? N(e) : N && (N.current = e);
81
81
  },
82
82
  [N]
83
83
  ), it = (e) => {
84
84
  if (!e) return "";
85
- const t = e.getFullYear(), r = String(e.getMonth() + 1).padStart(2, "0"), n = String(e.getDate()).padStart(2, "0");
86
- return `${t}-${r}-${n}`;
87
- }, ot = c && o instanceof Date ? it(o) : "", ie = ue((e, t) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [...e].sort((r, n) => r.getTime() - n.getTime())[0] : e && typeof e == "object" && "from" in e && e.from instanceof Date ? e.from : e && typeof e == "object" && "to" in e && e.to instanceof Date ? e.to : t ?? /* @__PURE__ */ new Date(), []), [nt, oe] = _(() => ie(o, W));
85
+ const t = e.getFullYear(), r = String(e.getMonth() + 1).padStart(2, "0"), s = String(e.getDate()).padStart(2, "0");
86
+ return `${t}-${r}-${s}`;
87
+ }, ot = c && n instanceof Date ? it(n) : "", oe = me((e, t) => e instanceof Date ? e : Array.isArray(e) && e.length > 0 ? [...e].sort((r, s) => r.getTime() - s.getTime())[0] : e && typeof e == "object" && "from" in e && e.from instanceof Date ? e.from : e && typeof e == "object" && "to" in e && e.to instanceof Date ? e.to : t ?? /* @__PURE__ */ new Date(), []), [nt, ne] = _(() => oe(n, W));
88
88
  T(() => {
89
- h || oe(ie(o, W));
90
- }, [o, W, h, ie]), T(() => {
91
- h && Ee(j ?? E);
92
- }, [h, E, j]), T(() => {
89
+ h || ne(oe(n, W));
90
+ }, [n, W, h, oe]), T(() => {
91
+ h && Ee(j ?? O);
92
+ }, [h, O, j]), T(() => {
93
93
  f && p(L);
94
94
  }, [L, f]);
95
- const C = me(
95
+ const C = pe(
96
96
  () => new Intl.DateTimeFormat(H, {
97
97
  day: "2-digit",
98
98
  month: "2-digit",
99
99
  year: "numeric"
100
100
  }),
101
101
  [H]
102
- ), M = ue(
102
+ ), M = me(
103
103
  (e) => {
104
104
  if (!e) return "";
105
105
  if (e instanceof Date) return C.format(e);
@@ -111,84 +111,88 @@ const Qt = F.forwardRef((w, N) => {
111
111
  return "";
112
112
  },
113
113
  [C]
114
- ), ne = Je ?? s === "single", Be = s === "multiple" && Array.isArray(o) ? o.map((e, t) => ({
114
+ ), se = Je ?? o === "single", Te = o === "multiple" && Array.isArray(n) ? n.map((e, t) => ({
115
115
  id: t,
116
116
  label: d ? d(e) : M(e),
117
117
  date: e
118
- })) : [], U = me(() => {
118
+ })) : [], q = pe(() => {
119
119
  const e = [];
120
- return k && (Array.isArray(k) ? e.push(...k) : e.push(k)), P && (Array.isArray(P) ? e.push(...P) : e.push(P)), X && e.push({ before: X }), J && e.push({ after: J }), ve && e.push({ before: /* @__PURE__ */ new Date() }), Fe && e.push({ after: /* @__PURE__ */ new Date() }), K && e.push((t) => K(t)), Q && e.push((t) => Q(t)), e;
120
+ return k && (Array.isArray(k) ? e.push(...k) : e.push(k)), P && (Array.isArray(P) ? e.push(...P) : e.push(P)), K && e.push({ before: K }), Q && e.push({ after: Q }), Fe && e.push({ before: /* @__PURE__ */ new Date() }), we && e.push({ after: /* @__PURE__ */ new Date() }), Z && e.push((t) => Z(t)), ee && e.push((t) => ee(t)), e;
121
121
  }, [
122
122
  k,
123
123
  P,
124
- X,
125
- J,
126
- ve,
127
- Fe,
128
124
  K,
129
- Q
130
- ]), v = ue(
131
- (e) => Kt(e, U),
132
- [U]
133
- ), st = (e, t, r, n) => {
134
- const l = s === "range" ? Lt(e, o, t) : e;
135
- if (u(!1), f || p(l), a == null || a(l, t, r, n), l) {
125
+ Q,
126
+ Fe,
127
+ we,
128
+ Z,
129
+ ee
130
+ ]), v = me(
131
+ (e) => Kt(e, q),
132
+ [q]
133
+ ), st = (e, t, r, s) => {
134
+ const l = o === "range" ? Lt(e, n, t) : e;
135
+ if (u(!1), f || p(l), a == null || a(l, t, r, s), l) {
136
136
  const x = d ? d(l) : M(l);
137
137
  b(x);
138
138
  } else
139
139
  b("");
140
- ne && R(!1);
140
+ se && R(!1);
141
141
  }, lt = (e) => {
142
142
  if (v(e)) return;
143
- const t = s === "range" ? { from: e, to: void 0 } : s === "multiple" ? [...Array.isArray(o) ? o : [], e] : e;
143
+ const t = o === "range" ? { from: e, to: void 0 } : o === "multiple" ? [...Array.isArray(n) ? n : [], e] : e;
144
144
  u(!1), f || p(t), a == null || a(t, e, {}, {});
145
145
  const r = d ? d(t) : M(t);
146
- b(r), ne && R(!1);
147
- }, ft = me(() => {
146
+ b(r), se && R(!1);
147
+ }, ft = pe(() => {
148
148
  const e = Tt(C), t = new RegExp(`^${$t(e)}$`), { fieldOrder: r } = e;
149
- return (n) => {
150
- const l = n.match(t);
149
+ return (s) => {
150
+ const l = s.match(t);
151
151
  if (!l) return;
152
152
  const x = {};
153
153
  r.forEach((xt, At) => {
154
154
  x[xt] = Number(l[At + 1]);
155
155
  });
156
- const { day: fe, month: de, year: ce } = x;
157
- if (fe === void 0 || de === void 0 || ce === void 0) return;
158
- const V = new Date(ce, de - 1, fe);
159
- if (!(isNaN(V.getTime()) || V.getFullYear() !== ce || V.getMonth() !== de - 1 || V.getDate() !== fe))
156
+ const { day: de, month: ce, year: ue } = x;
157
+ if (de === void 0 || ce === void 0 || ue === void 0) return;
158
+ const V = new Date(ue, ce - 1, de);
159
+ if (!(isNaN(V.getTime()) || V.getFullYear() !== ue || V.getMonth() !== ce - 1 || V.getDate() !== de))
160
160
  return V;
161
161
  };
162
- }, [C]), Te = (e) => (Ge ?? (s === "single" ? ft : () => {
163
- }))(e), $e = (e) => s === "single" && e instanceof Date || s === "multiple" && Array.isArray(e) || s === "range" && !!e && !Array.isArray(e) && "from" in e, dt = (e) => {
164
- if (b(e), re(!1), e.trim() === "") {
165
- u(!1), o !== void 0 && (f || p(void 0), a == null || a(void 0, void 0, {}, {}));
162
+ }, [C]), $e = (e) => (J ?? (o === "single" ? ft : () => {
163
+ }))(e), Le = (e) => o === "single" && e instanceof Date || o === "multiple" && Array.isArray(e) || o === "range" && !!e && !Array.isArray(e) && "from" in e, dt = (e) => {
164
+ if (b(e), U(!1), e.trim() === "") {
165
+ u(!1), n !== void 0 && (f || p(void 0), a == null || a(void 0, void 0, {}, {}));
166
166
  return;
167
167
  }
168
- const t = Te(e);
169
- if (!$e(t)) {
168
+ const t = $e(e);
169
+ if (!Le(t)) {
170
170
  u(!1);
171
171
  return;
172
172
  }
173
- const n = t && !Array.isArray(t) && "from" in t ? t : null;
174
- if (t instanceof Date && v(t) || Array.isArray(t) && t.some((x) => x instanceof Date && v(x)) || !!n && (n.from && v(n.from) || n.to && v(n.to))) {
173
+ const s = t && !Array.isArray(t) && "from" in t ? t : null;
174
+ if (t instanceof Date && v(t) || Array.isArray(t) && t.some((x) => x instanceof Date && v(x)) || !!s && (s.from && v(s.from) || s.to && v(s.to))) {
175
175
  u(!0);
176
176
  return;
177
177
  }
178
- u(!1), f || p(t), a == null || a(t, t, {}, {}), t instanceof Date && oe(t), ne && R(!1);
178
+ u(!1), f || p(t), a == null || a(t, t, {}, {}), t instanceof Date && ne(t), se && R(!1);
179
179
  }, ct = () => {
180
- if (te.trim() === "") {
181
- re(!1);
180
+ if (ae.trim() === "") {
181
+ U(!1);
182
+ return;
183
+ }
184
+ if (!J && o !== "single") {
185
+ U(!1);
182
186
  return;
183
187
  }
184
- re(!$e(Te(te)));
188
+ U(!Le($e(ae)));
185
189
  };
186
190
  T(() => {
187
191
  if (f) {
188
- const e = d ? d(o) : M(o);
192
+ const e = d ? d(n) : M(n);
189
193
  b(e);
190
194
  }
191
- }, [o, f, d, M]), T(() => {
195
+ }, [n, f, d, M]), T(() => {
192
196
  if (!f && S) {
193
197
  const e = d ? d(S) : M(S);
194
198
  b(e);
@@ -201,9 +205,9 @@ const Qt = F.forwardRef((w, N) => {
201
205
  middleware: [
202
206
  zt(Yt),
203
207
  Gt(),
204
- Xt({ padding: He }),
208
+ Xt({ padding: We }),
205
209
  Jt({
206
- padding: He,
210
+ padding: We,
207
211
  apply({ availableWidth: e, elements: t }) {
208
212
  const r = t.floating;
209
213
  if (r.style.width = "", r.style.maxWidth = "", r.style.overflowX = "", A) return;
@@ -212,24 +216,24 @@ const Qt = F.forwardRef((w, N) => {
212
216
  })
213
217
  ],
214
218
  whileElementsMounted: qt
215
- }), { refs: I, context: q, x: mt, y: pt, strategy: ht } = ut, gt = Nt(q), Le = kt([
219
+ }), { refs: I, context: z, x: mt, y: pt, strategy: ht } = ut, gt = Nt(z), Ye = kt([
216
220
  ...m && !c && $ === "input" && !g ? [gt] : [],
217
- Pt(q, {
221
+ Pt(z, {
218
222
  outsidePress: (e) => {
219
223
  const t = e.target;
220
224
  return !(t != null && t.closest('[role="menu"], [role="listbox"]'));
221
225
  }
222
226
  }),
223
- Et(q, { role: "dialog" })
227
+ Ot(z, { role: "dialog" })
224
228
  ]);
225
229
  F.useEffect(() => {
226
230
  var t, r;
227
- const e = s === "multiple" ? ((t = Ve.current) == null ? void 0 : t.wrapper) ?? null : ((r = ae.current) == null ? void 0 : r.input) ?? null;
231
+ const e = o === "multiple" ? ((t = Be.current) == null ? void 0 : t.wrapper) ?? null : ((r = ie.current) == null ? void 0 : r.input) ?? null;
228
232
  I.setPositionReference(e ?? I.reference.current);
229
- }, [s, h, I]);
233
+ }, [o, h, I]);
230
234
  const yt = () => {
231
235
  var t;
232
- const e = (t = ae.current) == null ? void 0 : t.input;
236
+ const e = (t = ie.current) == null ? void 0 : t.input;
233
237
  if (e) {
234
238
  if (typeof e.showPicker == "function")
235
239
  try {
@@ -239,8 +243,8 @@ const Qt = F.forwardRef((w, N) => {
239
243
  }
240
244
  e.focus();
241
245
  }
242
- }, se = () => {
243
- !m || O || (c ? yt() : g ? Pe(!0) : R((e) => !e));
246
+ }, le = () => {
247
+ !m || E || (c ? yt() : g ? Oe(!0) : R((e) => !e));
244
248
  }, bt = (e) => {
245
249
  if (u(!1), f || p(e), a == null || a(e, e, {}, {}), e) {
246
250
  const t = d ? d(e) : M(e);
@@ -252,9 +256,9 @@ const Qt = F.forwardRef((w, N) => {
252
256
  u(!1), f || p(void 0), a == null || a(void 0, void 0, {}, {});
253
257
  return;
254
258
  }
255
- const [t, r, n] = e.split("-").map(Number);
256
- if (!t || !r || !n) return;
257
- const l = new Date(t, r - 1, n);
259
+ const [t, r, s] = e.split("-").map(Number);
260
+ if (!t || !r || !s) return;
261
+ const l = new Date(t, r - 1, s);
258
262
  if (!Number.isNaN(l.getTime())) {
259
263
  if (v(l)) {
260
264
  u(!0);
@@ -262,48 +266,48 @@ const Qt = F.forwardRef((w, N) => {
262
266
  }
263
267
  u(!1), f || p(l), a == null || a(l, l, {}, {});
264
268
  }
265
- }, _t = Le.getReferenceProps(
266
- g && $ === "input" ? { onClick: () => se() } : void 0
269
+ }, _t = Ye.getReferenceProps(
270
+ g && $ === "input" ? { onClick: () => le() } : void 0
267
271
  ), {
268
272
  role: fr,
269
273
  "aria-expanded": dr,
270
274
  "aria-haspopup": cr,
271
275
  "aria-controls": Ct,
272
276
  ...Mt
273
- } = _t, Ye = g ? void 0 : Ct, le = z("dateField.openCalendar"), je = {
274
- "aria-label": le,
275
- "aria-expanded": g ? ee : h,
277
+ } = _t, je = g ? void 0 : Ct, fe = G("dateField.openCalendar"), He = {
278
+ "aria-label": fe,
279
+ "aria-expanded": g ? re : h,
276
280
  "aria-haspopup": "dialog",
277
- "aria-controls": Ye
281
+ "aria-controls": je
278
282
  };
279
283
  return /* @__PURE__ */ vt(Ft, { children: [
280
284
  /* @__PURE__ */ D(
281
285
  "div",
282
286
  {
283
- className: B(y["tedi-date-field__container"], ze),
287
+ className: B(y["tedi-date-field__container"], Ge),
284
288
  ...Mt,
285
289
  ref: I.setReference,
286
- children: s === "multiple" ? /* @__PURE__ */ D(
290
+ children: o === "multiple" ? /* @__PURE__ */ D(
287
291
  Vt,
288
292
  {
289
293
  ...i,
290
- ref: Ve,
291
- id: he,
292
- label: ge,
294
+ ref: Be,
295
+ id: ge,
296
+ label: ye,
293
297
  tagsDirection: Xe,
294
- values: Be.map((e) => e.label),
298
+ values: Te.map((e) => e.label),
295
299
  icon: "calendar_today",
296
- onIconClick: se,
297
- iconButtonProps: m ? je : { "aria-label": le },
298
- isClearable: pe,
300
+ onIconClick: le,
301
+ iconButtonProps: m ? He : { "aria-label": fe },
302
+ isClearable: he,
299
303
  required: Y,
300
304
  onChange: (e) => {
301
- if (!Array.isArray(o)) return;
302
- const t = Be.filter((r) => e.includes(r.label)).map((r) => r.date);
305
+ if (!Array.isArray(n)) return;
306
+ const t = Te.filter((r) => e.includes(r.label)).map((r) => r.date);
303
307
  f || p(t), a == null || a(t, {}, {}, {});
304
308
  },
305
309
  className: B(y["tedi-date-field__textfield"], {
306
- [y["tedi-date-field__icon--disabled"]]: !m || O
310
+ [y["tedi-date-field__icon--disabled"]]: !m || E
307
311
  })
308
312
  }
309
313
  ) : /* @__PURE__ */ D(
@@ -311,38 +315,39 @@ const Qt = F.forwardRef((w, N) => {
311
315
  {
312
316
  ...i,
313
317
  ref: at,
314
- id: he,
315
- label: ge,
316
- readOnly: O,
317
- value: c ? ot : te,
318
- placeholder: qe,
318
+ id: ge,
319
+ label: ye,
320
+ readOnly: E,
321
+ value: c ? ot : ae,
322
+ placeholder: ze,
319
323
  icon: "calendar_today",
320
- isClearable: pe,
321
- onIconClick: se,
322
- iconButtonProps: m && !c ? je : { "aria-label": le },
324
+ isClearable: he,
325
+ onIconClick: le,
326
+ iconButtonProps: m && !c ? He : { "aria-label": fe },
323
327
  onChange: (e) => c ? Dt(e) : dt(e),
324
328
  onBlur: (e) => {
325
329
  var t;
326
330
  c || ct(), (t = i == null ? void 0 : i.onBlur) == null || t.call(i, e);
327
331
  },
328
332
  required: Y,
329
- invalid: Oe || Re || (i == null ? void 0 : i.invalid),
333
+ invalid: Re || Ie || (i == null ? void 0 : i.invalid),
330
334
  helper: (() => {
331
- const e = i == null ? void 0 : i.helper, t = Oe ? Ze : Re ? et : null, r = t ? { text: t, type: "error" } : null;
335
+ const e = i == null ? void 0 : i.helper, t = Re ? Ze : Ie ? et : null, r = t ? { text: t, type: "error" } : null;
332
336
  return r ? e ? Array.isArray(e) ? [...e, r] : [e, r] : r : e;
333
337
  })(),
334
338
  className: B(y["tedi-date-field__textfield"], {
335
339
  [y["tedi-date-field__textfield--disabled"]]: i == null ? void 0 : i.disabled,
336
- [y["tedi-date-field__icon--disabled"]]: !m || O
340
+ [y["tedi-date-field__icon--disabled"]]: !m || E
337
341
  }),
338
342
  input: {
339
343
  ...i == null ? void 0 : i.input,
344
+ ...!J && o !== "single" && { readOnly: !0 },
340
345
  ...c && { type: "date" },
341
346
  ...m && !c && $ === "input" ? {
342
347
  role: "combobox",
343
348
  "aria-haspopup": "dialog",
344
- "aria-expanded": g ? ee : h,
345
- "aria-controls": Ye
349
+ "aria-expanded": g ? re : h,
350
+ "aria-controls": je
346
351
  } : {}
347
352
  }
348
353
  }
@@ -352,40 +357,40 @@ const Qt = F.forwardRef((w, N) => {
352
357
  g && /* @__PURE__ */ D(
353
358
  jt,
354
359
  {
355
- open: ee,
356
- onOpenChange: Pe,
357
- value: o,
360
+ open: re,
361
+ onOpenChange: Oe,
362
+ value: n,
358
363
  onConfirm: bt,
359
- mode: s,
360
- numberOfMonths: Ie,
361
- locale: xe,
364
+ mode: o,
365
+ numberOfMonths: Ve,
366
+ locale: Ae,
362
367
  localeCode: H,
363
- showOutsideDays: ye,
364
- disabledMatchers: U,
368
+ showOutsideDays: be,
369
+ disabledMatchers: q,
365
370
  required: Y,
366
- availableDays: we,
367
- footer: Ae,
368
- monthYearSelectType: be,
369
- minYear: De,
370
- maxYear: _e,
371
- dayStatus: Ce,
372
- showNavigation: Me,
373
- selectionLevel: E,
371
+ availableDays: Ne,
372
+ footer: ve,
373
+ monthYearSelectType: De,
374
+ minYear: _e,
375
+ maxYear: Ce,
376
+ dayStatus: Me,
377
+ showNavigation: xe,
378
+ selectionLevel: O,
374
379
  initialView: j,
375
380
  initialMonth: W,
376
381
  modalProps: Ke,
377
- ...Ne,
382
+ ...ke,
378
383
  title: Qe
379
384
  }
380
385
  ),
381
- m && !c && !g && /* @__PURE__ */ D(Ot, { children: h && /* @__PURE__ */ D(Rt, { context: q, modal: !1, initialFocus: -1, children: /* @__PURE__ */ D(
386
+ m && !c && !g && /* @__PURE__ */ D(Et, { children: h && /* @__PURE__ */ D(Rt, { context: z, modal: !1, initialFocus: -1, children: /* @__PURE__ */ D(
382
387
  "div",
383
388
  {
384
389
  ref: I.setFloating,
385
390
  className: B({
386
391
  [y["tedi-date-field__calendar-popover--fullwidth"]]: A
387
392
  }),
388
- ...Le.getFloatingProps({
393
+ ...Ye.getFloatingProps({
389
394
  style: {
390
395
  position: ht,
391
396
  top: pt ?? 0,
@@ -396,27 +401,27 @@ const Qt = F.forwardRef((w, N) => {
396
401
  children: /* @__PURE__ */ D(
397
402
  It,
398
403
  {
399
- ...Ne,
400
- numberOfMonths: Ie,
404
+ ...ke,
405
+ numberOfMonths: Ve,
401
406
  view: rt,
402
- selectionLevel: E,
407
+ selectionLevel: O,
403
408
  currentMonth: nt,
404
- setCurrentMonth: oe,
409
+ setCurrentMonth: ne,
405
410
  setView: Ee,
406
- mode: s,
407
- value: o,
408
- locale: xe,
411
+ mode: o,
412
+ value: n,
413
+ locale: Ae,
409
414
  localeCode: H,
410
- showOutsideDays: ye,
411
- disabledMatchers: U,
415
+ showOutsideDays: be,
416
+ disabledMatchers: q,
412
417
  required: Y,
413
- availableDays: we,
414
- footer: Ae,
415
- monthYearSelectType: be,
416
- minYear: De,
417
- maxYear: _e,
418
- dayStatus: Ce,
419
- showNavigation: Me,
418
+ availableDays: Ne,
419
+ footer: ve,
420
+ monthYearSelectType: De,
421
+ minYear: _e,
422
+ maxYear: Ce,
423
+ dayStatus: Me,
424
+ showNavigation: xe,
420
425
  handleSelect: st,
421
426
  applyValue: lt,
422
427
  className: B(y["tedi-date-field__calendar"], {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),D=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),w=require("../../../../../external/classnames/index.cjs.js"),n=require("react"),ke=require("../../buttons/button/button.cjs.js"),Dt=require("../../content/calendar/calendar.cjs.js"),y=require("../date-field/date-field-helpers.cjs.js"),yt=require("../textfield/textfield.cjs.js"),Fe=require("../time-picker/time-picker.cjs.js"),a=require("./date-time-field.module.scss.cjs.js"),jt=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),kt=require("../../../providers/label-provider/use-labels.cjs.js"),Te=require("../../../helpers/hooks/use-breakpoint.cjs.js"),Ft=require("../../../../../external/react-day-picker/dist/esm/locale/et.cjs.js"),Tt=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),Y=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),Mt=require("../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs.js"),h=s=>String(s).padStart(2,"0"),g=s=>s?`${h(s.getHours())}:${h(s.getMinutes())}`:"00:00",_=(s,c)=>{const[G,b]=c.split(":"),R=Number(G),P=Number(b),E=new Date(s);return E.setHours(Number.isFinite(R)?R:0,Number.isFinite(P)?P:0,0,0),E},ne=s=>s instanceof Date,St=s=>s?`${s.getFullYear()}-${h(s.getMonth()+1)}-${h(s.getDate())}T${h(s.getHours())}:${h(s.getMinutes())}`:"",Ct=s=>{if(!s)return;const c=new Date(s);return isNaN(c.getTime())?void 0:c},wt=s=>!s||ne(s)?{}:s,Rt=s=>ne(s)?s:void 0,Me=n.forwardRef((s,c)=>{const{getCurrentBreakpointProps:G}=jt.useBreakpointProps(s.defaultServerBreakpoint),{getLabel:b}=kt.useLabels(),R=Te.default(s.defaultServerBreakpoint),P=Te.isBreakpointBelow(R,"md"),{layout:E="side-by-side",useNativePicker:Se=!1,monthYearSelectType:Ce="dropdown",timeGridVariant:we,showOutsideDays:Re=!0,availableTimes:v,timeHeading:U=b("dateTimeField.timeHeading"),clearable:Pe=!0}=G(s),{id:Ee,label:Ve,placeholder:qe,className:Ae,value:le,defaultValue:Oe,onChange:z,required:de,readOnly:$e,disabled:V,minDate:oe,maxDate:ce,disablePast:ue,disableFuture:me,disabledMatchers:j,stepMinutes:fe=15,initialMonth:W,locale:Le=Ft.et,localeCode:k="et-EE",selectTimeLabel:He=b("dateTimeField.selectTime"),backLabel:Be=b("dateTimeField.back"),mode:Ie="single",selectionLevel:Ye="days",minYear:Ge,maxYear:Ue,inputProps:l,disabledDateErrorMessage:ze=b("dateField.disabledDateError")}=s,d=Ie==="range",f=Se&&!d,F=d?"side-by-side":E,he=we??(F==="multi-step"?"radio":"button"),pe=le!==void 0,[We,Je]=n.useState(Oe),x=pe?le:We,u=d?wt(x):{},m=d?void 0:Rt(x),[N,J]=n.useState(!1),[Ke,K]=n.useState("date"),[Qe,ge]=n.useState("days"),Q=d?u.from:m,[Xe,q]=n.useState(()=>Q??W??new Date),_e=n.useRef(Q);_e.current=Q,n.useEffect(()=>{N||(K("date"),ge("days"),q(_e.current??W??new Date))},[N,W]);const A=n.useMemo(()=>new Intl.DateTimeFormat(k,{day:"2-digit",month:"2-digit",year:"numeric"}),[k]),Ze=n.useMemo(()=>new Intl.DateTimeFormat(k,{day:"2-digit",month:"2-digit",year:"2-digit"}),[k]),O=n.useCallback(e=>e?`${A.format(e)} ${h(e.getHours())}:${h(e.getMinutes())}`:"",[A]),$=n.useCallback(e=>{if(!e)return"";if(ne(e))return O(e);const t=O(e.from),r=O(e.to);return!t&&!r?"":r?t?`${t} – ${r}`:r:t},[O]),et=n.useMemo(()=>{const e=y.getLocaleDateParts(A),{fieldOrder:t}=e,r=new RegExp(`^${y.buildDateRegexSource(e)}\\s+(\\d{2}):(\\d{2})$`);return vt=>{const I=vt.trim().match(r);if(!I)return;const De={};t.forEach((xt,Nt)=>{De[xt]=Number(I[Nt+1])});const ye=Number(I[t.length+1]),je=Number(I[t.length+2]),{day:ae,month:se,year:re}=De;if(ae===void 0||se===void 0||re===void 0||ye>23||je>59)return;const C=new Date(re,se-1,ae,ye,je,0,0);if(!(isNaN(C.getTime())||C.getFullYear()!==re||C.getMonth()!==se-1||C.getDate()!==ae))return C}},[A]),[tt,X]=n.useState(()=>$(x)),[be,p]=n.useState(!1);n.useEffect(()=>{X($(x))},[x,$]);const it=D.useFloating({open:N,onOpenChange:J,placement:"bottom-end",middleware:[Y.offset(y.CALENDAR_POPOVER_OFFSET),Y.flip(),Y.shift({padding:y.CALENDAR_POPOVER_PADDING}),Y.size({padding:y.CALENDAR_POPOVER_PADDING,apply({availableWidth:e,elements:t}){t.floating.style.maxWidth=`${e}px`}})],whileElementsMounted:Tt.autoUpdate}),{refs:Z,context:ee,x:at,y:st,strategy:rt}=it,nt=D.useInteractions([D.useDismiss(ee,{outsidePress:e=>{const t=e.target;return!(t!=null&&t.closest('[role="menu"], [role="listbox"]'))}}),D.useRole(ee,{role:"dialog"})]),L=n.useRef(null),lt=n.useCallback(e=>{L.current=e,typeof c=="function"?c(e):c&&(c.current=e)},[c]);n.useEffect(()=>{var e;(e=L.current)!=null&&e.inner&&Z.setReference(L.current.inner)},[Z]);const o=e=>{pe||Je(e),z==null||z(e),X($(e))},T=n.useCallback(e=>{if(v)return typeof v=="function"?v(e??new Date):v},[v]),M=n.useCallback((e,t)=>{const r=T(e);return!r||r.length===0||r.includes(t)?t:r[0]},[T]),dt=e=>{if(d){const t=e;if(!t||!t.from&&!t.to){o(void 0);return}const r={};t.from&&(r.from=_(t.from,M(t.from,g(u.from)))),t.to&&(r.to=_(t.to,M(t.to,g(u.to)))),o(r);return}e instanceof Date?o(_(e,M(e,g(m)))):e===void 0&&o(void 0)},ot=e=>{if(d){o({from:_(e,M(e,g(u.from)))});return}o(_(e,M(e,g(m))))},ct=e=>{const t=m??new Date;o(_(t,e)),F==="multi-step"&&T(t)&&J(!1)},ut=e=>t=>{const r=u[e]??u.from??new Date;o({...u,[e]:_(r,t)})},H=n.useMemo(()=>[...y.buildDisabledMatchers({minDate:oe,maxDate:ce,disablePast:ue,disableFuture:me}),...j?Array.isArray(j)?j:[j]:[]],[oe,ce,ue,me,j]),ve=n.useCallback(e=>Mt.dateMatchModifiers(e,H),[H]),mt=e=>{if(X(e),e===""){p(!1),o(void 0);return}if(f){const r=Ct(e);if(!r){p(!1);return}if(ve(r)){p(!0);return}p(!1),o(r),q(r);return}if(d)return;const t=et(e);if(!t){p(!1);return}if(ve(t)){p(!0);return}p(!1),o(t),q(t)},ft=()=>{var t;const e=(t=L.current)==null?void 0:t.input;if(e){if(typeof e.showPicker=="function"){e.showPicker();return}e.focus()}},ht=()=>{if(!V){if(f){ft();return}J(e=>!e)}},pt=F==="multi-step"?i.jsx("div",{className:a.default["tedi-date-time-field__select-time-wrapper"],children:i.jsx(ke.Button,{type:"button",visualType:"link",size:"small",iconLeft:"schedule",onClick:()=>K("time"),children:He})}):void 0,te=i.jsx(Dt.Calendar,{view:Qe,setView:ge,selectionLevel:Ye,currentMonth:Xe,setCurrentMonth:q,mode:d?"range":"single",value:d?u:m,numberOfMonths:d&&!P?2:1,locale:Le,localeCode:k,showOutsideDays:Re,monthYearSelectType:Ce,minYear:Ge,maxYear:Ue,disabledMatchers:H.length?H:void 0,required:de,handleSelect:dt,applyValue:ot,footer:pt,className:w.default(a.default["tedi-date-time-field__calendar"],F==="side-by-side"&&a.default["tedi-date-time-field__calendar--split"])}),ie=T(m),gt=!ie||ie.length===0,xe=i.jsx(Fe.TimePicker,{value:g(m),stepMinutes:fe,availableTimes:ie,gridVariant:he,onChange:ct,className:w.default(a.default["tedi-date-time-field__time-picker"],{[a.default["tedi-date-time-field__time-picker--wheel"]]:gt})}),Ne=e=>{const t=T(u[e]),r=!t||t.length===0;return i.jsx(Fe.TimePicker,{value:g(u[e]),stepMinutes:fe,availableTimes:t,gridVariant:he,onChange:ut(e),className:w.default(a.default["tedi-date-time-field__time-picker"],{[a.default["tedi-date-time-field__time-picker--wheel"]]:r})})},S=l==null?void 0:l.helper,B=be?{text:ze,type:"error"}:null,_t=B?S?Array.isArray(S)?[...S,B]:[S,B]:B:S,bt={...l,id:Ee,label:Ve,value:f?St(m):tt,placeholder:qe,readOnly:$e||!f&&!!v&&!!x,icon:"calendar_today",isClearable:Pe,required:de,disabled:V,invalid:be||(l==null?void 0:l.invalid),helper:_t,onIconClick:ht,onChange:mt,className:w.default(a.default["tedi-date-time-field__textfield"],l==null?void 0:l.className,{[a.default["tedi-date-time-field__icon--disabled"]]:V}),input:{...l==null?void 0:l.input,type:f?"datetime-local":"text","aria-expanded":f?void 0:N}};return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:w.default(a.default["tedi-date-time-field__container"],Ae),"aria-haspopup":"dialog",children:i.jsx(yt.TextField,{ref:lt,"aria-expanded":f?void 0:N,...bt})}),!f&&i.jsx(D.FloatingPortal,{children:N&&!V&&i.jsx(D.FloatingFocusManager,{context:ee,modal:!1,initialFocus:-1,children:i.jsx("div",{ref:Z.setFloating,className:a.default["tedi-date-time-field__popup"],...nt.getFloatingProps({style:{position:rt,top:st??0,left:at??0}}),children:d?i.jsxs("div",{className:a.default["tedi-date-time-field__range"],children:[te,i.jsx("div",{className:a.default["tedi-date-time-field__range-separator"],"aria-hidden":"true",children:i.jsx("div",{className:a.default["tedi-date-time-field__range-separator-line"]})}),i.jsxs("div",{className:a.default["tedi-date-time-field__range-times"],children:[i.jsxs("div",{className:a.default["tedi-date-time-field__range-time"],children:[i.jsx("div",{className:a.default["tedi-date-time-field__split-time-header"],children:i.jsx("span",{className:a.default["tedi-date-time-field__split-heading"],children:U})}),i.jsx("div",{className:a.default["tedi-date-time-field__split-time-body"],children:Ne("from")})]}),i.jsxs("div",{className:a.default["tedi-date-time-field__range-time"],children:[i.jsx("div",{className:a.default["tedi-date-time-field__split-time-header"],children:i.jsx("span",{className:a.default["tedi-date-time-field__split-heading"],children:U})}),i.jsx("div",{className:a.default["tedi-date-time-field__split-time-body"],children:Ne("to")})]})]})]}):F==="side-by-side"?i.jsxs("div",{className:a.default["tedi-date-time-field__split"],children:[te,i.jsx("div",{className:a.default["tedi-date-time-field__split-separator"],"aria-hidden":"true",children:i.jsx("div",{className:a.default["tedi-date-time-field__split-separator-line"]})}),i.jsxs("div",{className:a.default["tedi-date-time-field__split-time"],children:[i.jsx("div",{className:a.default["tedi-date-time-field__split-time-header"],children:i.jsx("span",{className:a.default["tedi-date-time-field__split-heading"],children:U})}),i.jsx("div",{className:a.default["tedi-date-time-field__split-time-body"],children:xe})]})]}):Ke==="date"?te:i.jsxs("div",{className:a.default["tedi-date-time-field__time-step"],children:[i.jsxs("header",{className:a.default["tedi-date-time-field__time-header"],children:[i.jsx(ke.Button,{type:"button",visualType:"link",size:"small",iconLeft:"arrow_back",onClick:()=>K("date"),children:Be}),i.jsx("span",{className:a.default["tedi-date-time-field__time-date"],children:Ze.format(m??new Date)})]}),i.jsx("div",{className:a.default["tedi-date-time-field__time-body"],children:xe})]})})})})]})});Me.displayName="DateTimeField";exports.DateTimeField=Me;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),D=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),P=require("../../../../../external/classnames/index.cjs.js"),n=require("react"),Te=require("../../buttons/button/button.cjs.js"),jt=require("../../content/calendar/calendar.cjs.js"),y=require("../date-field/date-field-helpers.cjs.js"),Ft=require("../textfield/textfield.cjs.js"),ke=require("../time-picker/time-picker.cjs.js"),a=require("./date-time-field.module.scss.cjs.js"),Tt=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),kt=require("../../../providers/label-provider/use-labels.cjs.js"),Me=require("../../../helpers/hooks/use-breakpoint.cjs.js"),Mt=require("../../../../../external/react-day-picker/dist/esm/locale/et.cjs.js"),Ct=require("../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),G=require("../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),St=require("../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs.js"),f=s=>String(s).padStart(2,"0"),_=s=>s?`${f(s.getHours())}:${f(s.getMinutes())}`:"00:00",b=(s,c)=>{const[U,h]=c.split(":"),w=Number(U),R=Number(h),E=new Date(s);return E.setHours(Number.isFinite(w)?w:0,Number.isFinite(R)?R:0,0,0),E},ne=s=>s instanceof Date,Pt=s=>s?`${s.getFullYear()}-${f(s.getMonth()+1)}-${f(s.getDate())}T${f(s.getHours())}:${f(s.getMinutes())}`:"",wt=s=>{if(!s)return;const c=new Date(s);return isNaN(c.getTime())?void 0:c},Rt=s=>!s||ne(s)?{}:s,Et=s=>ne(s)?s:void 0,Ce=n.forwardRef((s,c)=>{const{getCurrentBreakpointProps:U}=Tt.useBreakpointProps(s.defaultServerBreakpoint),{getLabel:h}=kt.useLabels(),w=Me.default(s.defaultServerBreakpoint),R=Me.isBreakpointBelow(w,"md"),{layout:E="side-by-side",useNativePicker:Se=!1,monthYearSelectType:Pe="dropdown",timeGridVariant:we,showOutsideDays:Re=!0,availableTimes:v,timeHeading:z=h("dateTimeField.timeHeading"),clearable:Ee=!0}=U(s),{id:Ve,label:qe,placeholder:Ae,className:Oe,value:le,defaultValue:$e,onChange:W,required:de,readOnly:Le,disabled:V,minDate:oe,maxDate:ce,disablePast:ue,disableFuture:me,disabledMatchers:j,stepMinutes:fe=15,initialMonth:J,locale:Be=Mt.et,localeCode:F="et-EE",selectTimeLabel:He=h("dateTimeField.selectTime"),backLabel:Ie=h("dateTimeField.back"),mode:Ye="single",selectionLevel:Ge="days",minYear:Ue,maxYear:ze,inputProps:l,disabledDateErrorMessage:We=h("dateField.disabledDateError")}=s,d=Ye==="range",p=Se&&!d,T=d?"side-by-side":E,he=we??(T==="multi-step"?"radio":"button"),pe=le!==void 0,[Je,Ke]=n.useState($e),x=pe?le:Je,u=d?Rt(x):{},m=d?void 0:Et(x),[N,K]=n.useState(!1),[Qe,Q]=n.useState("date"),[Xe,ge]=n.useState("days"),X=d?u.from:m,[Ze,q]=n.useState(()=>X??J??new Date),_e=n.useRef(X);_e.current=X,n.useEffect(()=>{N||(Q("date"),ge("days"),q(_e.current??J??new Date))},[N,J]);const A=n.useMemo(()=>new Intl.DateTimeFormat(F,{day:"2-digit",month:"2-digit",year:"numeric"}),[F]),et=n.useMemo(()=>new Intl.DateTimeFormat(F,{day:"2-digit",month:"2-digit",year:"2-digit"}),[F]),O=n.useCallback(e=>e?`${A.format(e)} ${f(e.getHours())}:${f(e.getMinutes())}`:"",[A]),$=n.useCallback(e=>{if(!e)return"";if(ne(e))return O(e);const t=O(e.from),r=O(e.to);return!t&&!r?"":r?t?`${t} – ${r}`:r:t},[O]),tt=n.useMemo(()=>{const e=y.getLocaleDateParts(A),{fieldOrder:t}=e,r=new RegExp(`^${y.buildDateRegexSource(e)}\\s+(\\d{2}):(\\d{2})$`);return Nt=>{const Y=Nt.trim().match(r);if(!Y)return;const ye={};t.forEach((Dt,yt)=>{ye[Dt]=Number(Y[yt+1])});const je=Number(Y[t.length+1]),Fe=Number(Y[t.length+2]),{day:ae,month:se,year:re}=ye;if(ae===void 0||se===void 0||re===void 0||je>23||Fe>59)return;const S=new Date(re,se-1,ae,je,Fe,0,0);if(!(isNaN(S.getTime())||S.getFullYear()!==re||S.getMonth()!==se-1||S.getDate()!==ae))return S}},[A]),[it,Z]=n.useState(()=>$(x)),[be,g]=n.useState(!1);n.useEffect(()=>{Z($(x))},[x,$]);const at=D.useFloating({open:N,onOpenChange:K,placement:"bottom-end",middleware:[G.offset(y.CALENDAR_POPOVER_OFFSET),G.flip(),G.shift({padding:y.CALENDAR_POPOVER_PADDING}),G.size({padding:y.CALENDAR_POPOVER_PADDING,apply({availableWidth:e,elements:t}){t.floating.style.maxWidth=`${e}px`}})],whileElementsMounted:Ct.autoUpdate}),{refs:ee,context:L,x:st,y:rt,strategy:nt}=at,lt=D.useInteractions([D.useDismiss(L,{outsidePress:e=>{const t=e.target;return!(t!=null&&t.closest('[role="menu"], [role="listbox"]'))}}),D.useRole(L,{role:"dialog"})]),B=n.useRef(null),dt=n.useCallback(e=>{B.current=e,typeof c=="function"?c(e):c&&(c.current=e)},[c]);n.useEffect(()=>{var e;(e=B.current)!=null&&e.inner&&ee.setReference(B.current.inner)},[ee]);const o=e=>{pe||Ke(e),W==null||W(e),Z($(e))},k=n.useCallback(e=>{if(v)return typeof v=="function"?v(e??new Date):v},[v]),M=n.useCallback((e,t)=>{const r=k(e);return!r||r.length===0||r.includes(t)?t:r[0]},[k]),ot=e=>{if(d){const t=e;if(!t||!t.from&&!t.to){o(void 0);return}const r={};t.from&&(r.from=b(t.from,M(t.from,_(u.from)))),t.to&&(r.to=b(t.to,M(t.to,_(u.to)))),o(r);return}e instanceof Date?o(b(e,M(e,_(m)))):e===void 0&&o(void 0)},ct=e=>{if(d){o({from:b(e,M(e,_(u.from)))});return}o(b(e,M(e,_(m))))},ut=e=>{const t=m??new Date;o(b(t,e)),T==="multi-step"&&k(t)&&K(!1)},mt=e=>t=>{const r=u[e]??u.from??new Date;o({...u,[e]:b(r,t)})},H=n.useMemo(()=>[...y.buildDisabledMatchers({minDate:oe,maxDate:ce,disablePast:ue,disableFuture:me}),...j?Array.isArray(j)?j:[j]:[]],[oe,ce,ue,me,j]),ve=n.useCallback(e=>St.dateMatchModifiers(e,H),[H]),ft=e=>{if(Z(e),e===""){g(!1),o(void 0);return}if(p){const r=wt(e);if(!r){g(!1);return}if(ve(r)){g(!0);return}g(!1),o(r),q(r);return}if(d)return;const t=tt(e);if(!t){g(!1);return}if(ve(t)){g(!0);return}g(!1),o(t),q(t)},ht=()=>{var t;const e=(t=B.current)==null?void 0:t.input;if(e){if(typeof e.showPicker=="function"){e.showPicker();return}e.focus()}},pt=()=>{if(!V){if(p){ht();return}K(e=>!e)}},gt=T==="multi-step"?i.jsx("div",{className:a.default["tedi-date-time-field__select-time-wrapper"],children:i.jsx(Te.Button,{type:"button",visualType:"link",size:"small",iconLeft:"schedule",onClick:()=>Q("time"),children:He})}):void 0,te=i.jsx(jt.Calendar,{view:Xe,setView:ge,selectionLevel:Ge,currentMonth:Ze,setCurrentMonth:q,mode:d?"range":"single",value:d?u:m,numberOfMonths:d&&!R?2:1,locale:Be,localeCode:F,showOutsideDays:Re,monthYearSelectType:Pe,minYear:Ue,maxYear:ze,disabledMatchers:H.length?H:void 0,required:de,handleSelect:ot,applyValue:ct,footer:gt,className:P.default(a.default["tedi-date-time-field__calendar"],T==="side-by-side"&&a.default["tedi-date-time-field__calendar--split"])}),ie=k(m),_t=!ie||ie.length===0,xe=i.jsx(ke.TimePicker,{value:_(m),stepMinutes:fe,availableTimes:ie,gridVariant:he,onChange:ut,className:P.default(a.default["tedi-date-time-field__time-picker"],{[a.default["tedi-date-time-field__time-picker--wheel"]]:_t})}),Ne=e=>{const t=k(u[e]),r=!t||t.length===0;return i.jsx(ke.TimePicker,{value:_(u[e]),stepMinutes:fe,availableTimes:t,gridVariant:he,onChange:mt(e),className:P.default(a.default["tedi-date-time-field__time-picker"],{[a.default["tedi-date-time-field__time-picker--wheel"]]:r})})},C=l==null?void 0:l.helper,I=be?{text:We,type:"error"}:null,bt=I?C?Array.isArray(C)?[...C,I]:[C,I]:I:C,De=h("dateField.openCalendar"),vt=p?{"aria-label":De}:{"aria-label":De,"aria-haspopup":"dialog","aria-expanded":N,"aria-controls":N?L.floatingId:void 0},xt={...l,id:Ve,label:qe,value:p?Pt(m):it,placeholder:Ae,readOnly:Le||!p&&!!v&&!!x,icon:"calendar_today",isClearable:Ee,required:de,disabled:V,invalid:be||(l==null?void 0:l.invalid),helper:bt,onIconClick:pt,iconButtonProps:vt,onChange:ft,className:P.default(a.default["tedi-date-time-field__textfield"],l==null?void 0:l.className,{[a.default["tedi-date-time-field__icon--disabled"]]:V}),input:{...l==null?void 0:l.input,type:p?"datetime-local":"text"}};return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:P.default(a.default["tedi-date-time-field__container"],Oe),children:i.jsx(Ft.TextField,{ref:dt,...xt})}),!p&&i.jsx(D.FloatingPortal,{children:N&&!V&&i.jsx(D.FloatingFocusManager,{context:L,modal:!1,initialFocus:-1,children:i.jsx("div",{ref:ee.setFloating,className:a.default["tedi-date-time-field__popup"],...lt.getFloatingProps({style:{position:nt,top:rt??0,left:st??0}}),children:d?i.jsxs("div",{className:a.default["tedi-date-time-field__range"],children:[te,i.jsx("div",{className:a.default["tedi-date-time-field__range-separator"],"aria-hidden":"true",children:i.jsx("div",{className:a.default["tedi-date-time-field__range-separator-line"]})}),i.jsxs("div",{className:a.default["tedi-date-time-field__range-times"],children:[i.jsxs("div",{className:a.default["tedi-date-time-field__range-time"],children:[i.jsx("div",{className:a.default["tedi-date-time-field__split-time-header"],children:i.jsx("span",{className:a.default["tedi-date-time-field__split-heading"],children:z})}),i.jsx("div",{className:a.default["tedi-date-time-field__split-time-body"],children:Ne("from")})]}),i.jsxs("div",{className:a.default["tedi-date-time-field__range-time"],children:[i.jsx("div",{className:a.default["tedi-date-time-field__split-time-header"],children:i.jsx("span",{className:a.default["tedi-date-time-field__split-heading"],children:z})}),i.jsx("div",{className:a.default["tedi-date-time-field__split-time-body"],children:Ne("to")})]})]})]}):T==="side-by-side"?i.jsxs("div",{className:a.default["tedi-date-time-field__split"],children:[te,i.jsx("div",{className:a.default["tedi-date-time-field__split-separator"],"aria-hidden":"true",children:i.jsx("div",{className:a.default["tedi-date-time-field__split-separator-line"]})}),i.jsxs("div",{className:a.default["tedi-date-time-field__split-time"],children:[i.jsx("div",{className:a.default["tedi-date-time-field__split-time-header"],children:i.jsx("span",{className:a.default["tedi-date-time-field__split-heading"],children:z})}),i.jsx("div",{className:a.default["tedi-date-time-field__split-time-body"],children:xe})]})]}):Qe==="date"?te:i.jsxs("div",{className:a.default["tedi-date-time-field__time-step"],children:[i.jsxs("header",{className:a.default["tedi-date-time-field__time-header"],children:[i.jsx(Te.Button,{type:"button",visualType:"link",size:"small",iconLeft:"arrow_back",onClick:()=>Q("date"),children:Ie}),i.jsx("span",{className:a.default["tedi-date-time-field__time-date"],children:et.format(m??new Date)})]}),i.jsx("div",{className:a.default["tedi-date-time-field__time-body"],children:xe})]})})})})]})});Ce.displayName="DateTimeField";exports.DateTimeField=Ce;