@tedi-design-system/react 18.0.0-rc.1 → 18.0.0-rc.10

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 (224) hide show
  1. package/_virtual/index.cjs10.js +1 -1
  2. package/_virtual/index.cjs11.js +1 -1
  3. package/_virtual/index.cjs12.js +1 -1
  4. package/_virtual/index.cjs13.js +1 -1
  5. package/_virtual/index.cjs5.js +1 -1
  6. package/_virtual/index.cjs6.js +1 -1
  7. package/_virtual/index.cjs7.js +1 -1
  8. package/_virtual/index.cjs8.js +1 -1
  9. package/_virtual/index.cjs9.js +1 -1
  10. package/_virtual/index.es10.js +1 -1
  11. package/_virtual/index.es11.js +1 -1
  12. package/_virtual/index.es12.js +1 -1
  13. package/_virtual/index.es13.js +2 -4
  14. package/_virtual/index.es14.js +2 -2
  15. package/_virtual/index.es5.js +4 -2
  16. package/_virtual/index.es6.js +1 -1
  17. package/_virtual/index.es7.js +1 -1
  18. package/_virtual/index.es8.js +1 -1
  19. package/_virtual/index.es9.js +1 -1
  20. package/bundle-stats.html +1 -1
  21. package/external/@floating-ui/core/dist/floating-ui.core.cjs.js +1 -1
  22. package/external/@floating-ui/core/dist/floating-ui.core.es.js +275 -271
  23. package/external/@floating-ui/dom/dist/floating-ui.dom.cjs.js +1 -1
  24. package/external/@floating-ui/dom/dist/floating-ui.dom.es.js +189 -188
  25. package/external/@floating-ui/react/dist/floating-ui.react.cjs.js +1 -1
  26. package/external/@floating-ui/react/dist/floating-ui.react.es.js +1419 -1538
  27. package/external/@floating-ui/react/dist/floating-ui.react.utils.cjs.js +1 -1
  28. package/external/@floating-ui/react/dist/floating-ui.react.utils.es.js +348 -81
  29. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js +1 -1
  30. package/external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +113 -93
  31. package/external/@floating-ui/utils/dist/floating-ui.utils.cjs.js +1 -1
  32. package/external/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +1 -1
  33. package/external/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +97 -97
  34. package/external/@floating-ui/utils/dist/floating-ui.utils.es.js +66 -68
  35. package/external/@mui/system/colorManipulator.cjs.js +1 -1
  36. package/external/@mui/system/colorManipulator.es.js +2 -2
  37. package/external/@mui/system/createStyled.cjs.js +1 -1
  38. package/external/@mui/system/createStyled.es.js +6 -6
  39. package/external/@mui/system/useThemeWithoutDefault.cjs.js +1 -1
  40. package/external/@mui/system/useThemeWithoutDefault.es.js +1 -1
  41. package/external/lodash-es/_baseUnset.cjs.js +1 -1
  42. package/external/lodash-es/_baseUnset.es.js +12 -19
  43. package/external/react-is/index.cjs.js +1 -1
  44. package/external/react-is/index.es.js +1 -1
  45. package/external/tabbable/dist/index.esm.cjs.js +1 -1
  46. package/external/tabbable/dist/index.esm.es.js +72 -63
  47. package/external/toposort/index.cjs.js +1 -1
  48. package/external/toposort/index.es.js +1 -1
  49. package/index.css +1 -1
  50. package/package.json +4 -4
  51. package/src/community/components/form/pickers/calendar/calendar.d.ts +6 -0
  52. package/src/community/components/form/pickers/datepicker/datepicker.d.ts +6 -0
  53. package/src/community/components/form/pickers/datetimepicker/datetimepicker.d.ts +6 -0
  54. package/src/community/components/form/pickers/timepicker/timepicker.d.ts +6 -0
  55. package/src/community/components/modal/modal-closer.d.ts +6 -0
  56. package/src/community/components/modal/modal-provider.d.ts +6 -0
  57. package/src/community/components/modal/modal-trigger.d.ts +6 -0
  58. package/src/community/components/modal/modal.d.ts +6 -0
  59. package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
  60. package/src/tedi/components/buttons/button-group/button-group.es.js +4 -4
  61. package/src/tedi/components/buttons/collapse/collapse.cjs.js +1 -1
  62. package/src/tedi/components/buttons/collapse/collapse.d.ts +23 -0
  63. package/src/tedi/components/buttons/collapse/collapse.es.js +62 -59
  64. package/src/tedi/components/buttons/collapse/collapse.module.scss.cjs.js +1 -1
  65. package/src/tedi/components/buttons/collapse/collapse.module.scss.es.js +2 -1
  66. package/src/tedi/components/content/calendar/calendar-grid.cjs.js +1 -1
  67. package/src/tedi/components/content/calendar/calendar-grid.es.js +7 -6
  68. package/src/tedi/components/content/calendar/calendar.cjs.js +1 -1
  69. package/src/tedi/components/content/calendar/calendar.d.ts +9 -1
  70. package/src/tedi/components/content/calendar/calendar.es.js +72 -71
  71. package/src/tedi/components/content/calendar/calendar.module.scss.cjs.js +1 -1
  72. package/src/tedi/components/content/calendar/calendar.module.scss.es.js +3 -2
  73. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.cjs.js +1 -1
  74. package/src/tedi/components/content/calendar/components/calendar-header/calendar-header.es.js +99 -79
  75. package/src/tedi/components/content/table/index.d.ts +6 -0
  76. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.cjs.js +1 -0
  77. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.d.ts +15 -0
  78. package/src/tedi/components/content/table/table-columns-menu/table-columns-menu.es.js +37 -0
  79. package/src/tedi/components/content/table/table-context.cjs.js +1 -0
  80. package/src/tedi/components/content/table/table-context.d.ts +3 -0
  81. package/src/tedi/components/content/table/table-context.es.js +11 -0
  82. package/src/tedi/components/content/table/table-header-button/table-header-button.cjs.js +1 -0
  83. package/src/tedi/components/content/table/table-header-button/table-header-button.d.ts +51 -0
  84. package/src/tedi/components/content/table/table-header-button/table-header-button.es.js +42 -0
  85. package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.cjs.js +1 -0
  86. package/src/tedi/components/content/table/table-header-button/table-header-button.module.scss.es.js +7 -0
  87. package/src/tedi/components/content/table/table-toolbar/table-toolbar.cjs.js +1 -0
  88. package/src/tedi/components/content/table/table-toolbar/table-toolbar.d.ts +21 -0
  89. package/src/tedi/components/content/table/table-toolbar/table-toolbar.es.js +9 -0
  90. package/src/tedi/components/content/table/table.cjs.js +1 -0
  91. package/src/tedi/components/content/table/table.d.ts +519 -0
  92. package/src/tedi/components/content/table/table.es.js +856 -0
  93. package/src/tedi/components/content/table/table.module.scss.cjs.js +1 -0
  94. package/src/tedi/components/content/table/table.module.scss.es.js +54 -0
  95. package/src/tedi/components/content/table/use-table-persistence.cjs.js +1 -0
  96. package/src/tedi/components/content/table/use-table-persistence.d.ts +13 -0
  97. package/src/tedi/components/content/table/use-table-persistence.es.js +53 -0
  98. package/src/tedi/components/filter/filter/filter-group-context.cjs.js +1 -0
  99. package/src/tedi/components/filter/filter/filter-group-context.d.ts +8 -0
  100. package/src/tedi/components/filter/filter/filter-group-context.es.js +5 -0
  101. package/src/tedi/components/filter/filter/filter-group.cjs.js +1 -0
  102. package/src/tedi/components/filter/filter/filter-group.d.ts +94 -0
  103. package/src/tedi/components/filter/filter/filter-group.es.js +64 -0
  104. package/src/tedi/components/filter/filter/filter.cjs.js +1 -0
  105. package/src/tedi/components/filter/filter/filter.d.ts +98 -0
  106. package/src/tedi/components/filter/filter/filter.es.js +236 -0
  107. package/src/tedi/components/filter/filter/filter.module.scss.cjs.js +1 -0
  108. package/src/tedi/components/filter/filter/filter.module.scss.es.js +21 -0
  109. package/src/tedi/components/filter/filter/index.d.ts +3 -0
  110. package/src/tedi/components/form/date-field/date-field-helpers.cjs.js +1 -0
  111. package/src/tedi/components/form/date-field/date-field-helpers.d.ts +66 -0
  112. package/src/tedi/components/form/date-field/date-field-helpers.es.js +28 -0
  113. package/src/tedi/components/form/date-field/date-field.cjs.js +1 -1
  114. package/src/tedi/components/form/date-field/date-field.d.ts +22 -0
  115. package/src/tedi/components/form/date-field/date-field.es.js +248 -212
  116. package/src/tedi/components/form/date-time-field/date-time-field.cjs.js +1 -0
  117. package/src/tedi/components/form/date-time-field/date-time-field.d.ts +207 -0
  118. package/src/tedi/components/form/date-time-field/date-time-field.es.js +376 -0
  119. package/src/tedi/components/form/date-time-field/date-time-field.module.scss.cjs.js +1 -0
  120. package/src/tedi/components/form/date-time-field/date-time-field.module.scss.es.js +30 -0
  121. package/src/tedi/components/form/search/search.cjs.js +1 -1
  122. package/src/tedi/components/form/search/search.es.js +22 -20
  123. package/src/tedi/components/form/time-field/time-field.cjs.js +1 -1
  124. package/src/tedi/components/form/time-field/time-field.d.ts +9 -0
  125. package/src/tedi/components/form/time-field/time-field.es.js +80 -78
  126. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.cjs.js +1 -0
  127. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.d.ts +52 -0
  128. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.es.js +68 -0
  129. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.module.scss.cjs.js +1 -0
  130. package/src/tedi/components/layout/mobile-nav/components/mobile-nav-toggle/mobile-nav-toggle.module.scss.es.js +9 -0
  131. package/src/tedi/components/layout/mobile-nav/index.d.ts +2 -0
  132. package/src/tedi/components/layout/mobile-nav/mobile-nav.cjs.js +1 -0
  133. package/src/tedi/components/layout/mobile-nav/mobile-nav.d.ts +20 -0
  134. package/src/tedi/components/layout/{sidenav/components/sidenav-mobile/sidenav-mobile.es.js → mobile-nav/mobile-nav.es.js} +21 -20
  135. package/src/tedi/components/layout/sidenav/index.d.ts +2 -2
  136. package/src/tedi/components/layout/sidenav/sidenav.cjs.js +1 -1
  137. package/src/tedi/components/layout/sidenav/sidenav.d.ts +2 -11
  138. package/src/tedi/components/layout/sidenav/sidenav.es.js +27 -27
  139. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.cjs.js +1 -0
  140. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.d.ts +34 -0
  141. package/src/tedi/components/layout/top-nav/components/top-nav-group/top-nav-group.es.js +33 -0
  142. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.cjs.js +1 -0
  143. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.d.ts +66 -0
  144. package/src/tedi/components/layout/top-nav/components/top-nav-item/top-nav-item.es.js +101 -0
  145. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.cjs.js +1 -0
  146. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.d.ts +11 -0
  147. package/src/tedi/components/layout/top-nav/components/top-nav-separator/top-nav-separator.es.js +9 -0
  148. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.cjs.js +1 -0
  149. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.d.ts +28 -0
  150. package/src/tedi/components/layout/top-nav/components/top-nav-subitem/top-nav-subitem.es.js +30 -0
  151. package/src/tedi/components/layout/top-nav/index.d.ts +5 -0
  152. package/src/tedi/components/layout/top-nav/top-nav-context.cjs.js +1 -0
  153. package/src/tedi/components/layout/top-nav/top-nav-context.d.ts +11 -0
  154. package/src/tedi/components/layout/top-nav/top-nav-context.es.js +6 -0
  155. package/src/tedi/components/layout/top-nav/top-nav.cjs.js +1 -0
  156. package/src/tedi/components/layout/top-nav/top-nav.d.ts +91 -0
  157. package/src/tedi/components/layout/top-nav/top-nav.es.js +171 -0
  158. package/src/tedi/components/layout/top-nav/top-nav.module.scss.cjs.js +1 -0
  159. package/src/tedi/components/layout/top-nav/top-nav.module.scss.es.js +28 -0
  160. package/src/tedi/components/navigation/pagination/index.d.ts +1 -0
  161. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.cjs.js +1 -0
  162. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.d.ts +36 -0
  163. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.es.js +65 -0
  164. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.module.scss.cjs.js +1 -0
  165. package/src/tedi/components/navigation/pagination/pagination-mobile-modal/pagination-mobile-modal.module.scss.es.js +13 -0
  166. package/src/tedi/components/navigation/pagination/pagination.cjs.js +1 -1
  167. package/src/tedi/components/navigation/pagination/pagination.d.ts +115 -13
  168. package/src/tedi/components/navigation/pagination/pagination.es.js +244 -96
  169. package/src/tedi/components/navigation/pagination/pagination.module.scss.cjs.js +1 -1
  170. package/src/tedi/components/navigation/pagination/pagination.module.scss.es.js +18 -1
  171. package/src/tedi/components/notifications/alert/alert.cjs.js +1 -1
  172. package/src/tedi/components/notifications/alert/alert.d.ts +14 -1
  173. package/src/tedi/components/notifications/alert/alert.es.js +45 -42
  174. package/src/tedi/components/notifications/alert/alert.module.scss.cjs.js +1 -1
  175. package/src/tedi/components/notifications/alert/alert.module.scss.es.js +2 -1
  176. package/src/tedi/components/overlays/dropdown/dropdown.es.js +0 -3
  177. package/src/tedi/components/overlays/modal/index.d.ts +8 -0
  178. package/src/tedi/components/overlays/modal/modal-body/modal-body.cjs.js +1 -0
  179. package/src/tedi/components/overlays/modal/modal-body/modal-body.d.ts +22 -0
  180. package/src/tedi/components/overlays/modal/modal-body/modal-body.es.js +21 -0
  181. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.cjs.js +1 -0
  182. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.d.ts +15 -0
  183. package/src/tedi/components/overlays/modal/modal-closer/modal-closer.es.js +16 -0
  184. package/src/tedi/components/overlays/modal/modal-content/modal-content.cjs.js +1 -0
  185. package/src/tedi/components/overlays/modal/modal-content/modal-content.d.ts +108 -0
  186. package/src/tedi/components/overlays/modal/modal-content/modal-content.es.js +81 -0
  187. package/src/tedi/components/overlays/modal/modal-context.cjs.js +1 -0
  188. package/src/tedi/components/overlays/modal/modal-context.d.ts +59 -0
  189. package/src/tedi/components/overlays/modal/modal-context.es.js +15 -0
  190. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.cjs.js +1 -0
  191. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.d.ts +22 -0
  192. package/src/tedi/components/overlays/modal/modal-footer/modal-footer.es.js +25 -0
  193. package/src/tedi/components/overlays/modal/modal-header/modal-header.cjs.js +1 -0
  194. package/src/tedi/components/overlays/modal/modal-header/modal-header.d.ts +58 -0
  195. package/src/tedi/components/overlays/modal/modal-header/modal-header.es.js +25 -0
  196. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.cjs.js +1 -0
  197. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.d.ts +13 -0
  198. package/src/tedi/components/overlays/modal/modal-trigger/modal-trigger.es.js +14 -0
  199. package/src/tedi/components/overlays/modal/modal.cjs.js +1 -0
  200. package/src/tedi/components/overlays/modal/modal.d.ts +68 -0
  201. package/src/tedi/components/overlays/modal/modal.es.js +76 -0
  202. package/src/tedi/components/overlays/modal/modal.module.scss.cjs.js +1 -0
  203. package/src/tedi/components/overlays/modal/modal.module.scss.es.js +37 -0
  204. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  205. package/src/tedi/components/overlays/overlay/overlay-content.es.js +35 -32
  206. package/src/tedi/components/overlays/tooltip/tooltip.cjs.js +1 -1
  207. package/src/tedi/components/overlays/tooltip/tooltip.es.js +14 -6
  208. package/src/tedi/helpers/hooks/use-breakpoint.cjs.js +1 -1
  209. package/src/tedi/helpers/hooks/use-breakpoint.d.ts +7 -0
  210. package/src/tedi/helpers/hooks/use-breakpoint.es.js +22 -14
  211. package/src/tedi/helpers/hooks/use-sidenav-state.d.ts +1 -1
  212. package/src/tedi/index.d.ts +6 -0
  213. package/src/tedi/providers/label-provider/labels-map.cjs.js +1 -1
  214. package/src/tedi/providers/label-provider/labels-map.d.ts +174 -6
  215. package/src/tedi/providers/label-provider/labels-map.es.js +234 -57
  216. package/tedi.cjs.js +1 -1
  217. package/tedi.es.js +257 -202
  218. package/src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.cjs.js +0 -1
  219. package/src/tedi/components/layout/sidenav/components/sidenav-mobile/sidenav-mobile.d.ts +0 -14
  220. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.cjs.js +0 -1
  221. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.d.ts +0 -31
  222. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.es.js +0 -48
  223. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.cjs.js +0 -1
  224. package/src/tedi/components/layout/sidenav/components/sidenav-toggle/sidenav-toggle.module.scss.es.js +0 -8
@@ -0,0 +1,207 @@
1
+ import { default as React } from 'react';
2
+ import { Locale, Matcher } from 'react-day-picker';
3
+ import { BreakpointSupport } from '../../../helpers';
4
+ import { CalendarView } from '../date-field/date-field';
5
+ import { TextFieldForwardRef, TextFieldProps } from '../textfield/textfield';
6
+ export type DateTimeFieldStep = 'date' | 'time';
7
+ export type DateTimeFieldLayout = 'side-by-side' | 'multi-step';
8
+ export type DateTimeFieldMode = 'single' | 'range';
9
+ export interface DateTimeRange {
10
+ from?: Date;
11
+ to?: Date;
12
+ }
13
+ export type DateTimeFieldValue = Date | DateTimeRange;
14
+ type DateTimeFieldBreakpointProps = {
15
+ /**
16
+ * When `true`, renders an `<input type="datetime-local">` and skips the
17
+ * custom popover entirely — the browser's built-in date/time picker is
18
+ * shown when the calendar icon is clicked. Has no effect when
19
+ * `mode='range'` (native datetime-local has no range counterpart).
20
+ * @default false
21
+ */
22
+ useNativePicker?: boolean;
23
+ /**
24
+ * Layout of the date-and-time popover. `mode='range'` always uses
25
+ * `'side-by-side'` regardless of this value — the range UI needs the
26
+ * calendar and both `from` / `to` time pickers visible at once.
27
+ * @default side-by-side
28
+ */
29
+ layout?: DateTimeFieldLayout;
30
+ /**
31
+ * Predefined time slots, each in `"HH:mm"` format. When provided, the
32
+ * time step renders a grid of slots instead of the scroll-wheel picker.
33
+ *
34
+ * Accepts either:
35
+ * - a static array — the same slot list for every date,
36
+ * - or a function `(date: Date) => string[]` evaluated per render with the
37
+ * currently-selected date. Use the function form when slots depend on
38
+ * the picked date (e.g. clinic appointments where Tuesdays differ from
39
+ * Wednesdays). In `mode='range'` the function is called twice: once
40
+ * with `rangeValue.from` for the `from` time picker, once with
41
+ * `rangeValue.to` for the `to` time picker. When no date is picked yet
42
+ * the function is called with today's date as a fallback.
43
+ *
44
+ * Returning an empty array currently falls back to the wheel picker —
45
+ * if you need a dedicated "no times available" UX, render it from the
46
+ * consumer side via `onChange` / `value` state for now.
47
+ */
48
+ availableTimes?: string[] | ((date: Date) => string[]);
49
+ /**
50
+ * Layout variant for the time grid when `availableTimes` is set.
51
+ * Defaults differ per layout: `'button'` for `side-by-side`, `'radio'`
52
+ * for `multi-step`.
53
+ */
54
+ timeGridVariant?: 'button' | 'radio';
55
+ /**
56
+ * How the month/year selector in the calendar header is rendered.
57
+ * @default dropdown
58
+ */
59
+ monthYearSelectType?: 'dropdown' | 'grid';
60
+ /**
61
+ * Show days from adjacent months in the calendar grid.
62
+ * @default true
63
+ */
64
+ showOutsideDays?: boolean;
65
+ /**
66
+ * Heading rendered above the time picker in the side-by-side layout.
67
+ * Falls back to the localised `dateTimeField.timeHeading` label.
68
+ */
69
+ timeHeading?: React.ReactNode;
70
+ };
71
+ export interface DateTimeFieldProps extends BreakpointSupport<DateTimeFieldBreakpointProps> {
72
+ /**
73
+ * Unique identifier for the input field.
74
+ */
75
+ id: string;
76
+ /**
77
+ * Field label. Required for accessibility.
78
+ */
79
+ label: string;
80
+ /**
81
+ * Placeholder shown in the input when no value is selected.
82
+ */
83
+ placeholder?: string;
84
+ /**
85
+ * Additional class on the container.
86
+ */
87
+ className?: string;
88
+ /**
89
+ * Selection mode.
90
+ * - `'single'` (default) — one combined `Date` value.
91
+ * - `'range'` — pair of `from` / `to` `Date` values, each carrying their
92
+ * own time. Renders a 2-month calendar and two time pickers (one for
93
+ * `from`, one for `to`) stacked underneath.
94
+ * @default single
95
+ */
96
+ mode?: DateTimeFieldMode;
97
+ /**
98
+ * Controlled value. Type depends on `mode`:
99
+ * - `mode='single'` → `Date | undefined`
100
+ * - `mode='range'` → `DateTimeRange | undefined` (`{ from, to }`)
101
+ */
102
+ value?: DateTimeFieldValue;
103
+ /**
104
+ * Initial value for uncontrolled usage. Ignored when `value` is provided.
105
+ */
106
+ defaultValue?: DateTimeFieldValue;
107
+ /**
108
+ * Fires whenever the user picks a date or a time. The argument shape
109
+ * matches `mode`: `Date | undefined` for `'single'`,
110
+ * `DateTimeRange | undefined` for `'range'`.
111
+ */
112
+ onChange?: (value: DateTimeFieldValue | undefined) => void;
113
+ /**
114
+ * Marks the field as required.
115
+ * @default false
116
+ */
117
+ required?: boolean;
118
+ /**
119
+ * When `true`, the input is read-only — typing is disabled, but the
120
+ * picker can still be opened.
121
+ * @default false
122
+ */
123
+ readOnly?: boolean;
124
+ /**
125
+ * Disables the input and the picker.
126
+ * @default false
127
+ */
128
+ disabled?: boolean;
129
+ /**
130
+ * Minimum selectable date. Dates before this are disabled in the calendar.
131
+ */
132
+ minDate?: Date;
133
+ /**
134
+ * Maximum selectable date. Dates after this are disabled in the calendar.
135
+ */
136
+ maxDate?: Date;
137
+ /**
138
+ * Disables every date strictly before today.
139
+ */
140
+ disablePast?: boolean;
141
+ /**
142
+ * Disables every date strictly after today.
143
+ */
144
+ disableFuture?: boolean;
145
+ /**
146
+ * Disable specific dates via react-day-picker matchers. Layered on top of
147
+ * the `minDate` / `maxDate` / `disablePast` / `disableFuture` shortcuts —
148
+ * use this for free-form matchers like "every Sunday" or "specific
149
+ * blacklisted dates". Mirrors the `disabledMatchers` prop on `DateField`.
150
+ */
151
+ disabledMatchers?: Matcher | Matcher[];
152
+ /**
153
+ * Step interval (minutes) for the time-wheel picker. Ignored when
154
+ * `availableTimes` is set.
155
+ * @default 15
156
+ */
157
+ stepMinutes?: number;
158
+ /**
159
+ * Initial month displayed when the calendar opens. Defaults to the
160
+ * month of the current value, or the current month if no value.
161
+ */
162
+ initialMonth?: Date;
163
+ /**
164
+ * Locale object used by react-day-picker for the calendar grid.
165
+ * @default et
166
+ */
167
+ locale?: Locale;
168
+ /**
169
+ * Locale code used for the displayed date format.
170
+ * @default et-EE
171
+ */
172
+ localeCode?: string;
173
+ /**
174
+ * Label of the "Select time" footer button under the calendar in the
175
+ * multi-step layout. Falls back to the localised
176
+ * `dateTimeField.selectTime` label.
177
+ */
178
+ selectTimeLabel?: string;
179
+ /**
180
+ * Label of the "Back" link shown above the time picker in the
181
+ * multi-step layout. Falls back to the localised `dateTimeField.back`
182
+ * label.
183
+ */
184
+ backLabel?: string;
185
+ /**
186
+ * Lowest calendar drill-down level the user can pick from before the value
187
+ * commits. `'days'` (default) requires drilling all the way down to a day;
188
+ * `'months'` commits as soon as a month is picked; `'years'` commits on
189
+ * year selection. Only meaningful when `monthYearSelectType='grid'`.
190
+ * @default days
191
+ */
192
+ selectionLevel?: CalendarView;
193
+ /**
194
+ * Forwarded to the underlying `TextField`. `id`, `label`, `value`, and
195
+ * `onChange` are owned by `DateTimeField`.
196
+ */
197
+ inputProps?: Omit<TextFieldProps, 'id' | 'label' | 'value' | 'onChange'>;
198
+ /**
199
+ * Error message rendered below the input when the user types a date that
200
+ * fails the disable matchers (`disablePast`, `disableFuture`, `minDate`,
201
+ * `maxDate`, `disabledMatchers`). Falls back to the localised
202
+ * `dateField.disabledDateError` label.
203
+ */
204
+ disabledDateErrorMessage?: string;
205
+ }
206
+ export declare const DateTimeField: React.ForwardRefExoticComponent<DateTimeFieldProps & React.RefAttributes<TextFieldForwardRef>>;
207
+ export default DateTimeField;
@@ -0,0 +1,376 @@
1
+ import { jsx as r, jsxs as f, Fragment as Nt } from "react/jsx-runtime";
2
+ import { useFloating as yt, useInteractions as Dt, useDismiss as Ft, useRole as Tt, FloatingPortal as kt, FloatingFocusManager as Mt } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
+ import C from "../../../../../external/classnames/index.es.js";
4
+ import Me, { useState as g, useRef as wt, useEffect as se, useMemo as W, useCallback as F } from "react";
5
+ import { Button as we } from "../../buttons/button/button.es.js";
6
+ import { Calendar as xt } from "../../content/calendar/calendar.es.js";
7
+ import { getLocaleDateParts as Rt, buildDateRegexSource as Vt, buildDisabledMatchers as Ct, CALENDAR_POPOVER_OFFSET as Et, CALENDAR_POPOVER_PADDING as xe } from "../date-field/date-field-helpers.es.js";
8
+ import { TextField as St } from "../textfield/textfield.es.js";
9
+ import { TimePicker as Re } from "../time-picker/time-picker.es.js";
10
+ import i from "./date-time-field.module.scss.es.js";
11
+ import { et as Pt } from "../../../../../external/react-day-picker/dist/esm/locale/et.es.js";
12
+ import { autoUpdate as $t } from "../../../../../external/@floating-ui/dom/dist/floating-ui.dom.es.js";
13
+ import { offset as At, flip as Ot, shift as Lt, size as Ht } from "../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js";
14
+ import { useBreakpointProps as It } from "../../../helpers/hooks/use-breakpoint-props.es.js";
15
+ import { useLabels as Bt } from "../../../providers/label-provider/use-labels.es.js";
16
+ import { useBreakpoint as zt, isBreakpointBelow as Gt } from "../../../helpers/hooks/use-breakpoint.es.js";
17
+ import { dateMatchModifiers as Wt } from "../../../../../external/react-day-picker/dist/esm/utils/dateMatchModifiers.es.js";
18
+ const p = (a) => String(a).padStart(2, "0"), _ = (a) => a ? `${p(a.getHours())}:${p(a.getMinutes())}` : "00:00", v = (a, o) => {
19
+ const [Y, b] = o.split(":"), E = Number(Y), S = Number(b), P = new Date(a);
20
+ return P.setHours(Number.isFinite(E) ? E : 0, Number.isFinite(S) ? S : 0, 0, 0), P;
21
+ }, le = (a) => a instanceof Date, Yt = (a) => a ? `${a.getFullYear()}-${p(a.getMonth() + 1)}-${p(a.getDate())}T${p(a.getHours())}:${p(a.getMinutes())}` : "", jt = (a) => {
22
+ if (!a) return;
23
+ const o = new Date(a);
24
+ return isNaN(o.getTime()) ? void 0 : o;
25
+ }, qt = (a) => !a || le(a) ? {} : a, Ut = (a) => le(a) ? a : void 0, Jt = Me.forwardRef((a, o) => {
26
+ const { getCurrentBreakpointProps: Y } = It(a.defaultServerBreakpoint), { getLabel: b } = Bt(), E = zt(a.defaultServerBreakpoint), S = Gt(E, "md"), {
27
+ layout: P = "side-by-side",
28
+ useNativePicker: Ve = !1,
29
+ monthYearSelectType: Ce = "dropdown",
30
+ timeGridVariant: Ee,
31
+ showOutsideDays: Se = !0,
32
+ availableTimes: N,
33
+ timeHeading: j = b("dateTimeField.timeHeading")
34
+ } = Y(a), {
35
+ id: Pe,
36
+ label: $e,
37
+ placeholder: Ae,
38
+ className: Oe,
39
+ value: de,
40
+ defaultValue: Le,
41
+ onChange: q,
42
+ required: oe,
43
+ readOnly: He,
44
+ disabled: $,
45
+ minDate: ce,
46
+ maxDate: me,
47
+ disablePast: fe,
48
+ disableFuture: ue,
49
+ disabledMatchers: T,
50
+ stepMinutes: pe = 15,
51
+ initialMonth: U,
52
+ locale: Ie = Pt,
53
+ localeCode: k = "et-EE",
54
+ selectTimeLabel: Be = b("dateTimeField.selectTime"),
55
+ backLabel: ze = b("dateTimeField.back"),
56
+ mode: Ge = "single",
57
+ selectionLevel: We = "days",
58
+ inputProps: s,
59
+ disabledDateErrorMessage: Ye = b("dateField.disabledDateError")
60
+ } = a, l = Ge === "range", u = Ve && !l, M = l ? "side-by-side" : P, he = Ee ?? (M === "multi-step" ? "radio" : "button"), ge = de !== void 0, [je, qe] = g(Le), y = ge ? de : je, c = l ? qt(y) : {}, m = l ? void 0 : Ut(y), [D, J] = g(!1), [Ue, K] = g("date"), [Je, _e] = g("days"), Q = l ? c.from : m, [Ke, A] = g(() => Q ?? U ?? /* @__PURE__ */ new Date()), ve = wt(Q);
61
+ ve.current = Q, se(() => {
62
+ D || (K("date"), _e("days"), A(ve.current ?? U ?? /* @__PURE__ */ new Date()));
63
+ }, [D, U]);
64
+ const O = W(
65
+ () => new Intl.DateTimeFormat(k, {
66
+ day: "2-digit",
67
+ month: "2-digit",
68
+ year: "numeric"
69
+ }),
70
+ [k]
71
+ ), Qe = W(
72
+ () => new Intl.DateTimeFormat(k, {
73
+ day: "2-digit",
74
+ month: "2-digit",
75
+ year: "2-digit"
76
+ }),
77
+ [k]
78
+ ), L = F(
79
+ (e) => e ? `${O.format(e)} ${p(e.getHours())}:${p(e.getMinutes())}` : "",
80
+ [O]
81
+ ), H = F(
82
+ (e) => {
83
+ if (!e) return "";
84
+ if (le(e)) return L(e);
85
+ const t = L(e.from), n = L(e.to);
86
+ return !t && !n ? "" : n ? t ? `${t} – ${n}` : n : t;
87
+ },
88
+ [L]
89
+ ), Xe = W(() => {
90
+ const e = Rt(O), { fieldOrder: t } = e, n = new RegExp(`^${Vt(e)}\\s+(\\d{2}):(\\d{2})$`);
91
+ return (_t) => {
92
+ const G = _t.trim().match(n);
93
+ if (!G) return;
94
+ const Fe = {};
95
+ t.forEach((vt, bt) => {
96
+ Fe[vt] = Number(G[bt + 1]);
97
+ });
98
+ const Te = Number(G[t.length + 1]), ke = Number(G[t.length + 2]), { day: ae, month: re, year: ne } = Fe;
99
+ if (ae === void 0 || re === void 0 || ne === void 0 || Te > 23 || ke > 59) return;
100
+ const V = new Date(ne, re - 1, ae, Te, ke, 0, 0);
101
+ if (!(isNaN(V.getTime()) || V.getFullYear() !== ne || V.getMonth() !== re - 1 || V.getDate() !== ae))
102
+ return V;
103
+ };
104
+ }, [O]), [Ze, X] = g(() => H(y)), [be, h] = g(!1);
105
+ se(() => {
106
+ X(H(y));
107
+ }, [y, H]);
108
+ const et = yt({
109
+ open: D,
110
+ onOpenChange: J,
111
+ placement: "bottom-end",
112
+ middleware: [
113
+ At(Et),
114
+ Ot(),
115
+ Lt({ padding: xe }),
116
+ Ht({
117
+ padding: xe,
118
+ apply({ availableWidth: e, elements: t }) {
119
+ t.floating.style.maxWidth = `${e}px`;
120
+ }
121
+ })
122
+ ],
123
+ whileElementsMounted: $t
124
+ }), { refs: Z, context: ee, x: tt, y: it, strategy: at } = et, rt = Dt([
125
+ Ft(ee, {
126
+ outsidePress: (e) => {
127
+ const t = e.target;
128
+ return !(t != null && t.closest('[role="menu"], [role="listbox"]'));
129
+ }
130
+ }),
131
+ Tt(ee, { role: "dialog" })
132
+ ]), I = Me.useRef(null), nt = F(
133
+ (e) => {
134
+ I.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
135
+ },
136
+ [o]
137
+ );
138
+ se(() => {
139
+ var e;
140
+ (e = I.current) != null && e.inner && Z.setReference(I.current.inner);
141
+ }, [Z]);
142
+ const d = (e) => {
143
+ ge || qe(e), q == null || q(e), X(H(e));
144
+ }, w = F(
145
+ (e) => {
146
+ if (N)
147
+ return typeof N == "function" ? N(e ?? /* @__PURE__ */ new Date()) : N;
148
+ },
149
+ [N]
150
+ ), x = F(
151
+ (e, t) => {
152
+ const n = w(e);
153
+ return !n || n.length === 0 || n.includes(t) ? t : n[0];
154
+ },
155
+ [w]
156
+ ), st = (e) => {
157
+ if (l) {
158
+ const t = e;
159
+ if (!t || !t.from && !t.to) {
160
+ d(void 0);
161
+ return;
162
+ }
163
+ const n = {};
164
+ t.from && (n.from = v(t.from, x(t.from, _(c.from)))), t.to && (n.to = v(t.to, x(t.to, _(c.to)))), d(n);
165
+ return;
166
+ }
167
+ e instanceof Date ? d(v(e, x(e, _(m)))) : e === void 0 && d(void 0);
168
+ }, lt = (e) => {
169
+ if (l) {
170
+ d({ from: v(e, x(e, _(c.from))) });
171
+ return;
172
+ }
173
+ d(v(e, x(e, _(m))));
174
+ }, dt = (e) => {
175
+ const t = m ?? /* @__PURE__ */ new Date();
176
+ d(v(t, e)), M === "multi-step" && w(t) && J(!1);
177
+ }, ot = (e) => (t) => {
178
+ const n = c[e] ?? c.from ?? /* @__PURE__ */ new Date();
179
+ d({ ...c, [e]: v(n, t) });
180
+ }, B = W(
181
+ () => [
182
+ ...Ct({
183
+ minDate: ce,
184
+ maxDate: me,
185
+ disablePast: fe,
186
+ disableFuture: ue
187
+ }),
188
+ ...T ? Array.isArray(T) ? T : [T] : []
189
+ ],
190
+ [ce, me, fe, ue, T]
191
+ ), Ne = F(
192
+ (e) => Wt(e, B),
193
+ [B]
194
+ ), ct = (e) => {
195
+ if (X(e), e === "") {
196
+ h(!1), d(void 0);
197
+ return;
198
+ }
199
+ if (u) {
200
+ const n = jt(e);
201
+ if (!n) {
202
+ h(!1);
203
+ return;
204
+ }
205
+ if (Ne(n)) {
206
+ h(!0);
207
+ return;
208
+ }
209
+ h(!1), d(n), A(n);
210
+ return;
211
+ }
212
+ if (l) return;
213
+ const t = Xe(e);
214
+ if (!t) {
215
+ h(!1);
216
+ return;
217
+ }
218
+ if (Ne(t)) {
219
+ h(!0);
220
+ return;
221
+ }
222
+ h(!1), d(t), A(t);
223
+ }, mt = () => {
224
+ var t;
225
+ const e = (t = I.current) == null ? void 0 : t.input;
226
+ if (e) {
227
+ if (typeof e.showPicker == "function") {
228
+ e.showPicker();
229
+ return;
230
+ }
231
+ e.focus();
232
+ }
233
+ }, ft = () => {
234
+ if (!$) {
235
+ if (u) {
236
+ mt();
237
+ return;
238
+ }
239
+ J((e) => !e);
240
+ }
241
+ }, ut = M === "multi-step" ? /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__select-time-wrapper"], children: /* @__PURE__ */ r(we, { type: "button", visualType: "link", size: "small", iconLeft: "schedule", onClick: () => K("time"), children: Be }) }) : void 0, te = /* @__PURE__ */ r(
242
+ xt,
243
+ {
244
+ view: Je,
245
+ setView: _e,
246
+ selectionLevel: We,
247
+ currentMonth: Ke,
248
+ setCurrentMonth: A,
249
+ mode: l ? "range" : "single",
250
+ value: l ? c : m,
251
+ numberOfMonths: l && !S ? 2 : 1,
252
+ locale: Ie,
253
+ localeCode: k,
254
+ showOutsideDays: Se,
255
+ monthYearSelectType: Ce,
256
+ disabledMatchers: B.length ? B : void 0,
257
+ required: oe,
258
+ handleSelect: st,
259
+ applyValue: lt,
260
+ footer: ut,
261
+ className: C(
262
+ i["tedi-date-time-field__calendar"],
263
+ M === "side-by-side" && i["tedi-date-time-field__calendar--split"]
264
+ )
265
+ }
266
+ ), ie = w(m), pt = !ie || ie.length === 0, ye = /* @__PURE__ */ r(
267
+ Re,
268
+ {
269
+ value: _(m),
270
+ stepMinutes: pe,
271
+ availableTimes: ie,
272
+ gridVariant: he,
273
+ onChange: dt,
274
+ className: C(i["tedi-date-time-field__time-picker"], {
275
+ [i["tedi-date-time-field__time-picker--wheel"]]: pt
276
+ })
277
+ }
278
+ ), De = (e) => {
279
+ const t = w(c[e]), n = !t || t.length === 0;
280
+ return /* @__PURE__ */ r(
281
+ Re,
282
+ {
283
+ value: _(c[e]),
284
+ stepMinutes: pe,
285
+ availableTimes: t,
286
+ gridVariant: he,
287
+ onChange: ot(e),
288
+ className: C(i["tedi-date-time-field__time-picker"], {
289
+ [i["tedi-date-time-field__time-picker--wheel"]]: n
290
+ })
291
+ }
292
+ );
293
+ }, R = s == null ? void 0 : s.helper, z = be ? { text: Ye, type: "error" } : null, ht = z ? R ? Array.isArray(R) ? [...R, z] : [R, z] : z : R, gt = {
294
+ ...s,
295
+ id: Pe,
296
+ label: $e,
297
+ value: u ? Yt(m) : Ze,
298
+ placeholder: Ae,
299
+ readOnly: He || !u && !!N && !!y,
300
+ icon: "calendar_today",
301
+ isClearable: !0,
302
+ required: oe,
303
+ disabled: $,
304
+ invalid: be || (s == null ? void 0 : s.invalid),
305
+ helper: ht,
306
+ onIconClick: ft,
307
+ onChange: ct,
308
+ className: C(i["tedi-date-time-field__textfield"], s == null ? void 0 : s.className, {
309
+ [i["tedi-date-time-field__icon--disabled"]]: $
310
+ }),
311
+ input: {
312
+ ...s == null ? void 0 : s.input,
313
+ type: u ? "datetime-local" : "text",
314
+ "aria-expanded": u ? void 0 : D
315
+ }
316
+ };
317
+ return /* @__PURE__ */ f(Nt, { children: [
318
+ /* @__PURE__ */ r("div", { className: C(i["tedi-date-time-field__container"], Oe), "aria-haspopup": "dialog", children: /* @__PURE__ */ r(St, { ref: nt, "aria-expanded": u ? void 0 : D, ...gt }) }),
319
+ !u && /* @__PURE__ */ r(kt, { children: D && !$ && /* @__PURE__ */ r(Mt, { context: ee, modal: !1, initialFocus: -1, children: /* @__PURE__ */ r(
320
+ "div",
321
+ {
322
+ ref: Z.setFloating,
323
+ className: i["tedi-date-time-field__popup"],
324
+ ...rt.getFloatingProps({
325
+ style: {
326
+ position: at,
327
+ top: it ?? 0,
328
+ left: tt ?? 0
329
+ }
330
+ }),
331
+ children: l ? /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__range"], children: [
332
+ te,
333
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__range-separator"], "aria-hidden": "true", children: /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__range-separator-line"] }) }),
334
+ /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__range-times"], children: [
335
+ /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__range-time"], children: [
336
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-time-header"], children: /* @__PURE__ */ r("span", { className: i["tedi-date-time-field__split-heading"], children: j }) }),
337
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-time-body"], children: De("from") })
338
+ ] }),
339
+ /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__range-time"], children: [
340
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-time-header"], children: /* @__PURE__ */ r("span", { className: i["tedi-date-time-field__split-heading"], children: j }) }),
341
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-time-body"], children: De("to") })
342
+ ] })
343
+ ] })
344
+ ] }) : M === "side-by-side" ? /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__split"], children: [
345
+ te,
346
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-separator"], "aria-hidden": "true", children: /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-separator-line"] }) }),
347
+ /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__split-time"], children: [
348
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-time-header"], children: /* @__PURE__ */ r("span", { className: i["tedi-date-time-field__split-heading"], children: j }) }),
349
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__split-time-body"], children: ye })
350
+ ] })
351
+ ] }) : Ue === "date" ? te : /* @__PURE__ */ f("div", { className: i["tedi-date-time-field__time-step"], children: [
352
+ /* @__PURE__ */ f("header", { className: i["tedi-date-time-field__time-header"], children: [
353
+ /* @__PURE__ */ r(
354
+ we,
355
+ {
356
+ type: "button",
357
+ visualType: "link",
358
+ size: "small",
359
+ iconLeft: "arrow_back",
360
+ onClick: () => K("date"),
361
+ children: ze
362
+ }
363
+ ),
364
+ /* @__PURE__ */ r("span", { className: i["tedi-date-time-field__time-date"], children: Qe.format(m ?? /* @__PURE__ */ new Date()) })
365
+ ] }),
366
+ /* @__PURE__ */ r("div", { className: i["tedi-date-time-field__time-body"], children: ye })
367
+ ] })
368
+ }
369
+ ) }) })
370
+ ] });
371
+ });
372
+ Jt.displayName = "DateTimeField";
373
+ export {
374
+ Jt as DateTimeField,
375
+ Jt as default
376
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e={"tedi-date-time-field__container":"tedi-date-time-field__container-27fb2d35","tedi-date-time-field__textfield":"tedi-date-time-field__textfield-74c7a842","tedi-date-time-field__icon--disabled":"tedi-date-time-field__icon--disabled-82069c63","tedi-date-time-field__popup":"tedi-date-time-field__popup-9c353957","tedi-date-time-field__calendar":"tedi-date-time-field__calendar-44cf1ff8","tedi-date-time-field__split":"tedi-date-time-field__split-7c921802","tedi-date-time-field__calendar--split":"tedi-date-time-field__calendar--split-758ff612","tedi-date-time-field__time-picker":"tedi-date-time-field__time-picker-4d9e2eb6","tedi-date-time-field__time-picker--wheel":"tedi-date-time-field__time-picker--wheel-4bd09564","tedi-date-time-field__split-separator":"tedi-date-time-field__split-separator-b37f315f","tedi-date-time-field__split-separator-line":"tedi-date-time-field__split-separator-line-d4cb6bfe","tedi-date-time-field__split-time":"tedi-date-time-field__split-time-d898edf8","tedi-date-time-field__split-time-header":"tedi-date-time-field__split-time-header-7a646313","tedi-date-time-field__split-heading":"tedi-date-time-field__split-heading-8a3194a5","tedi-date-time-field__split-time-body":"tedi-date-time-field__split-time-body-ce0c1335","tedi-date-time-field__range":"tedi-date-time-field__range-17507b68","tedi-date-time-field__range-separator":"tedi-date-time-field__range-separator-8159580a","tedi-date-time-field__range-separator-line":"tedi-date-time-field__range-separator-line-993e312a","tedi-date-time-field__range-times":"tedi-date-time-field__range-times-a55a5598","tedi-date-time-field__range-time":"tedi-date-time-field__range-time-f46bcb80","tedi-date-time-field__select-time-wrapper":"tedi-date-time-field__select-time-wrapper-5c969c55","tedi-date-time-field__time-step":"tedi-date-time-field__time-step-c25362e0","tedi-date-time-field__time-header":"tedi-date-time-field__time-header-e72d431f","tedi-date-time-field__time-date":"tedi-date-time-field__time-date-e5eb5da7","tedi-date-time-field__time-body":"tedi-date-time-field__time-body-b8c484e0"};exports.default=e;
@@ -0,0 +1,30 @@
1
+ const e = {
2
+ "tedi-date-time-field__container": "tedi-date-time-field__container-27fb2d35",
3
+ "tedi-date-time-field__textfield": "tedi-date-time-field__textfield-74c7a842",
4
+ "tedi-date-time-field__icon--disabled": "tedi-date-time-field__icon--disabled-82069c63",
5
+ "tedi-date-time-field__popup": "tedi-date-time-field__popup-9c353957",
6
+ "tedi-date-time-field__calendar": "tedi-date-time-field__calendar-44cf1ff8",
7
+ "tedi-date-time-field__split": "tedi-date-time-field__split-7c921802",
8
+ "tedi-date-time-field__calendar--split": "tedi-date-time-field__calendar--split-758ff612",
9
+ "tedi-date-time-field__time-picker": "tedi-date-time-field__time-picker-4d9e2eb6",
10
+ "tedi-date-time-field__time-picker--wheel": "tedi-date-time-field__time-picker--wheel-4bd09564",
11
+ "tedi-date-time-field__split-separator": "tedi-date-time-field__split-separator-b37f315f",
12
+ "tedi-date-time-field__split-separator-line": "tedi-date-time-field__split-separator-line-d4cb6bfe",
13
+ "tedi-date-time-field__split-time": "tedi-date-time-field__split-time-d898edf8",
14
+ "tedi-date-time-field__split-time-header": "tedi-date-time-field__split-time-header-7a646313",
15
+ "tedi-date-time-field__split-heading": "tedi-date-time-field__split-heading-8a3194a5",
16
+ "tedi-date-time-field__split-time-body": "tedi-date-time-field__split-time-body-ce0c1335",
17
+ "tedi-date-time-field__range": "tedi-date-time-field__range-17507b68",
18
+ "tedi-date-time-field__range-separator": "tedi-date-time-field__range-separator-8159580a",
19
+ "tedi-date-time-field__range-separator-line": "tedi-date-time-field__range-separator-line-993e312a",
20
+ "tedi-date-time-field__range-times": "tedi-date-time-field__range-times-a55a5598",
21
+ "tedi-date-time-field__range-time": "tedi-date-time-field__range-time-f46bcb80",
22
+ "tedi-date-time-field__select-time-wrapper": "tedi-date-time-field__select-time-wrapper-5c969c55",
23
+ "tedi-date-time-field__time-step": "tedi-date-time-field__time-step-c25362e0",
24
+ "tedi-date-time-field__time-header": "tedi-date-time-field__time-header-e72d431f",
25
+ "tedi-date-time-field__time-date": "tedi-date-time-field__time-date-e5eb5da7",
26
+ "tedi-date-time-field__time-body": "tedi-date-time-field__time-body-b8c484e0"
27
+ };
28
+ export {
29
+ e as default
30
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),i=require("../../../../../external/classnames/index.cjs.js"),j=require("react"),v=require("../../buttons/button/button.cjs.js"),L=require("../textfield/textfield.cjs.js"),s=require("./search.module.scss.cjs.js"),N=require("../../../providers/label-provider/use-labels.cjs.js"),u=j.forwardRef(({placeholder:c,isClearable:d=!0,searchIcon:n="search",onSearch:a,onChange:o,button:e,ariaLabel:f,className:h,...t},_)=>{const{getLabel:l}=N.useLabels(),m=y=>{y.key==="Enter"&&(a==null||a(t.value))},x=()=>{a==null||a(t.value)},b={...t,ref:_,inputClassName:i.default(s.default["tedi-search__input"],e&&s.default["tedi-search__input--has-button"],h),placeholder:c,isClearable:d,onKeyDown:m,onChange:o,...e?{}:{icon:n}},p=c||l("search"),q=f??p;return r.jsxs("div",{className:i.default(s.default["tedi-search__wrapper"]),role:"search","aria-label":q,children:[r.jsx(L.TextField,{...b}),e&&r.jsx(v.Button,{...e,onClick:x,className:i.default(s.default["tedi-search__button"],e.className),"aria-label":e.children?void 0:l("search"),children:e.children??l("search")})]})});u.displayName="Search";exports.Search=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),i=require("../../../../../external/classnames/index.cjs.js"),v=require("react"),L=require("../../buttons/button/button.cjs.js"),N=require("../textfield/textfield.cjs.js"),s=require("./search.module.scss.cjs.js"),w=require("../../../providers/label-provider/use-labels.cjs.js"),u=v.forwardRef(({placeholder:c,isClearable:d=!0,searchIcon:n="search",onSearch:a,onChange:o,button:e,ariaLabel:f,className:h,input:x,...t},_)=>{const{getLabel:r}=w.useLabels(),b=j=>{j.key==="Enter"&&(a==null||a(t.value))},m=()=>{a==null||a(t.value)},p={...t,ref:_,inputClassName:i.default(s.default["tedi-search__input"],e&&s.default["tedi-search__input--has-button"],h),placeholder:c,isClearable:d,onKeyDown:b,onChange:o,input:{...x,role:"searchbox"},...e?{}:{icon:n}},q=c||r("search"),y=f??q;return l.jsxs("div",{className:i.default(s.default["tedi-search__wrapper"]),role:"search","aria-label":y,children:[l.jsx(N.TextField,{...p}),e&&l.jsx(L.Button,{...e,onClick:m,className:i.default(s.default["tedi-search__button"],e.className),"aria-label":e.children?void 0:r("search"),children:e.children??r("search")})]})});u.displayName="Search";exports.Search=u;