@jenesei-software/jenesei-kit-react 1.2.3 → 1.2.5

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 (146) hide show
  1. package/build/{area-C2sWYH-e.js → area-BC64nSGj.js} +2 -2
  2. package/build/{area-C2sWYH-e.js.map → area-BC64nSGj.js.map} +1 -1
  3. package/build/{area-CD10k19W.cjs → area-C6QOr2Kd.cjs} +7 -7
  4. package/build/{area-CD10k19W.cjs.map → area-C6QOr2Kd.cjs.map} +1 -1
  5. package/build/area-scroll.cjs.js +1 -1
  6. package/build/area-scroll.es.js +1 -1
  7. package/build/build-info.txt +3 -3
  8. package/build/{component-CbPhVNw5.js → component-BJ4BlUBV.js} +2 -2
  9. package/build/{component-CbPhVNw5.js.map → component-BJ4BlUBV.js.map} +1 -1
  10. package/build/{component-BnYw0FvH.cjs → component-BfsH0boq.cjs} +2 -2
  11. package/build/{component-BnYw0FvH.cjs.map → component-BfsH0boq.cjs.map} +1 -1
  12. package/build/{component-9m1Ib3fS.js → component-BtA2Qlbp.js} +2 -2
  13. package/build/{component-9m1Ib3fS.js.map → component-BtA2Qlbp.js.map} +1 -1
  14. package/build/{component-C8QrHu0C.js → component-CTz8wF0z.js} +3 -3
  15. package/build/{component-C8QrHu0C.js.map → component-CTz8wF0z.js.map} +1 -1
  16. package/build/{component-FwG2ieR3.cjs → component-CV14RCdO.cjs} +2 -2
  17. package/build/{component-FwG2ieR3.cjs.map → component-CV14RCdO.cjs.map} +1 -1
  18. package/build/{component-C0atFCun.cjs → component-DBxYbAnr.cjs} +2 -2
  19. package/build/{component-C0atFCun.cjs.map → component-DBxYbAnr.cjs.map} +1 -1
  20. package/build/{component-DURhph1i.js → component-DTH1-Npa.js} +3 -3
  21. package/build/{component-DURhph1i.js.map → component-DTH1-Npa.js.map} +1 -1
  22. package/build/{component-X4e7zEKk.cjs → component-Dw21Chky.cjs} +2 -2
  23. package/build/{component-X4e7zEKk.cjs.map → component-Dw21Chky.cjs.map} +1 -1
  24. package/build/{component-Bovatz78.cjs → component-ODhIlUPq.cjs} +2 -2
  25. package/build/{component-Bovatz78.cjs.map → component-ODhIlUPq.cjs.map} +1 -1
  26. package/build/component-button-group.cjs.js +1 -1
  27. package/build/component-button-group.es.js +1 -1
  28. package/build/component-button.cjs.js +1 -1
  29. package/build/component-button.es.js +1 -1
  30. package/build/component-checkbox-group.cjs.js +1 -1
  31. package/build/component-checkbox-group.es.js +1 -1
  32. package/build/component-checkbox.cjs.js +1 -1
  33. package/build/component-checkbox.es.js +1 -1
  34. package/build/component-date-picker.cjs.js +1 -1
  35. package/build/component-date-picker.d.ts +74 -65
  36. package/build/component-date-picker.es.js +9 -10
  37. package/build/component-image-button.cjs.js +1 -1
  38. package/build/component-image-button.es.js +1 -1
  39. package/build/component-image-select.cjs.js +1 -1
  40. package/build/component-image-select.es.js +1 -1
  41. package/build/component-image-slider.cjs.js +1 -1
  42. package/build/component-image-slider.es.js +1 -1
  43. package/build/component-input-otp.cjs.js +1 -1
  44. package/build/component-input-otp.es.js +1 -1
  45. package/build/component-input.cjs.js +1 -1
  46. package/build/component-input.d.ts +3 -3
  47. package/build/component-input.es.js +3 -3
  48. package/build/component-map.cjs.js +1 -1
  49. package/build/component-map.es.js +1 -1
  50. package/build/component-pagination.cjs.js +1 -1
  51. package/build/component-pagination.es.js +1 -1
  52. package/build/component-range.cjs.js +1 -1
  53. package/build/component-range.es.js +1 -1
  54. package/build/component-select.cjs.js +1 -1
  55. package/build/component-select.d.ts +6 -6
  56. package/build/component-select.es.js +1 -1
  57. package/build/component-textarea.cjs.js +1 -1
  58. package/build/component-textarea.es.js +1 -1
  59. package/build/component-toggle.cjs.js +1 -1
  60. package/build/component-toggle.es.js +1 -1
  61. package/build/component-tooltip.cjs.js +1 -1
  62. package/build/component-tooltip.d.ts +1 -0
  63. package/build/component-tooltip.es.js +1 -1
  64. package/build/component-typography.cjs.js +1 -1
  65. package/build/component-typography.d.ts +1 -0
  66. package/build/component-typography.es.js +1 -1
  67. package/build/{component--cOriuv7.js → component-zhkRBgS8.js} +45 -3
  68. package/build/{component--cOriuv7.js.map → component-zhkRBgS8.js.map} +1 -1
  69. package/build/{component.components-1kRDD3KO.cjs → component.components-9ON8OLUd.cjs} +2 -2
  70. package/build/{component.components-1kRDD3KO.cjs.map → component.components-9ON8OLUd.cjs.map} +1 -1
  71. package/build/{component.components-CQ3LLnFl.js → component.components-CnwUBa8n.js} +2 -2
  72. package/build/{component.components-CQ3LLnFl.js.map → component.components-CnwUBa8n.js.map} +1 -1
  73. package/build/{component.constants-B1rq1PLe.js → component.constants-Ck-Y1EPF.js} +2 -2
  74. package/build/{component.constants-B1rq1PLe.js.map → component.constants-Ck-Y1EPF.js.map} +1 -1
  75. package/build/{component.constants-BLHg7rcI.cjs → component.constants-DD964QJh.cjs} +2 -2
  76. package/build/{component.constants-BLHg7rcI.cjs.map → component.constants-DD964QJh.cjs.map} +1 -1
  77. package/build/{component.constants-Gz2mf7IF.cjs → component.constants-DGS-J9Sc.cjs} +2 -2
  78. package/build/{component.constants-Gz2mf7IF.cjs.map → component.constants-DGS-J9Sc.cjs.map} +1 -1
  79. package/build/{component.constants-B95xyW0s.js → component.constants-c0DK2OSH.js} +3 -3
  80. package/build/{component.constants-B95xyW0s.js.map → component.constants-c0DK2OSH.js.map} +1 -1
  81. package/build/{component.styles-q4ne6jV1.cjs → component.styles-B4reSccT.cjs} +2 -2
  82. package/build/{component.styles-q4ne6jV1.cjs.map → component.styles-B4reSccT.cjs.map} +1 -1
  83. package/build/{component.styles-BrGPrrEb.cjs → component.styles-BScmaCvt.cjs} +2 -2
  84. package/build/{component.styles-BrGPrrEb.cjs.map → component.styles-BScmaCvt.cjs.map} +1 -1
  85. package/build/{component.styles-Dm_Ov4nM.cjs → component.styles-C5GdZJou.cjs} +24 -24
  86. package/build/{component.styles-Dm_Ov4nM.cjs.map → component.styles-C5GdZJou.cjs.map} +1 -1
  87. package/build/{component.styles-BzNkEurr.js → component.styles-CFrk_dpy.js} +5 -5
  88. package/build/{component.styles-BzNkEurr.js.map → component.styles-CFrk_dpy.js.map} +1 -1
  89. package/build/{component.styles-CvJK1eif.cjs → component.styles-CGyQHdKu.cjs} +8 -13
  90. package/build/component.styles-CGyQHdKu.cjs.map +1 -0
  91. package/build/{component.styles-DqNAGfc9.cjs → component.styles-CzsKP7v-.cjs} +2 -2
  92. package/build/{component.styles-DqNAGfc9.cjs.map → component.styles-CzsKP7v-.cjs.map} +1 -1
  93. package/build/{component.styles-vcNQJK0U.cjs → component.styles-D8ZAo-kS.cjs} +2 -2
  94. package/build/{component.styles-vcNQJK0U.cjs.map → component.styles-D8ZAo-kS.cjs.map} +1 -1
  95. package/build/{component.styles-DjLSmx3e.cjs → component.styles-DLbbGi9i.cjs} +2 -2
  96. package/build/{component.styles-DjLSmx3e.cjs.map → component.styles-DLbbGi9i.cjs.map} +1 -1
  97. package/build/{component.styles-DKG-fvog.js → component.styles-DS53SD15.js} +4 -4
  98. package/build/{component.styles-DKG-fvog.js.map → component.styles-DS53SD15.js.map} +1 -1
  99. package/build/{component.styles-DMBvhmz6.js → component.styles-DjJOwUeA.js} +3 -3
  100. package/build/{component.styles-DMBvhmz6.js.map → component.styles-DjJOwUeA.js.map} +1 -1
  101. package/build/{component.styles-DqTkSP8L.js → component.styles-DsnwGPvj.js} +16 -21
  102. package/build/component.styles-DsnwGPvj.js.map +1 -0
  103. package/build/{component.styles-DhI3n-dL.js → component.styles-DxQx6LQO.js} +3 -3
  104. package/build/{component.styles-DhI3n-dL.js.map → component.styles-DxQx6LQO.js.map} +1 -1
  105. package/build/{component.styles-CccZrbSA.js → component.styles-N7ZFXn4z.js} +2 -2
  106. package/build/{component.styles-CccZrbSA.js.map → component.styles-N7ZFXn4z.js.map} +1 -1
  107. package/build/{component.styles-DuIrUV9k.js → component.styles-UIEZecbT.js} +2 -2
  108. package/build/{component.styles-DuIrUV9k.js.map → component.styles-UIEZecbT.js.map} +1 -1
  109. package/build/{component.styles-CRWn1pVi.js → component.styles-WqYNZfbs.js} +3 -3
  110. package/build/{component.styles-CRWn1pVi.js.map → component.styles-WqYNZfbs.js.map} +1 -1
  111. package/build/{component.styles-Dt_CUijB.js → component.styles-hc14mwUo.js} +6 -7
  112. package/build/{component.styles-Dt_CUijB.js.map → component.styles-hc14mwUo.js.map} +1 -1
  113. package/build/{component.styles-DwdN7mQq.cjs → component.styles-qRQ8i8W6.cjs} +2 -2
  114. package/build/{component.styles-DwdN7mQq.cjs.map → component.styles-qRQ8i8W6.cjs.map} +1 -1
  115. package/build/{component.styles-Bz2vyHqK.cjs → component.styles-sTbPcfTb.cjs} +2 -2
  116. package/build/{component.styles-Bz2vyHqK.cjs.map → component.styles-sTbPcfTb.cjs.map} +1 -1
  117. package/build/component.types-DSAfJbbs.js +910 -0
  118. package/build/component.types-DSAfJbbs.js.map +1 -0
  119. package/build/component.types-DuE80PmF.cjs +164 -0
  120. package/build/component.types-DuE80PmF.cjs.map +1 -0
  121. package/build/context-sonner.cjs.js +1 -1
  122. package/build/context-sonner.es.js +1 -1
  123. package/build/{context.constants-BAz35AJw.js → context.constants-B9I-yc9Q.js} +3 -3
  124. package/build/{context.constants-BAz35AJw.js.map → context.constants-B9I-yc9Q.js.map} +1 -1
  125. package/build/{context.constants-fwK8ogSf.cjs → context.constants-DkMk-pc7.cjs} +2 -2
  126. package/build/{context.constants-fwK8ogSf.cjs.map → context.constants-DkMk-pc7.cjs.map} +1 -1
  127. package/build/index.cjs.js +1 -1
  128. package/build/index.d.ts +83 -61
  129. package/build/index.es.js +34 -35
  130. package/build/{style-DjCgiI7l.js → style-Dca2udON.js} +2 -2
  131. package/build/{style-DjCgiI7l.js.map → style-Dca2udON.js.map} +1 -1
  132. package/build/{style-eIuUYu9x.cjs → style-DmwoOdFB.cjs} +2 -2
  133. package/build/{style-eIuUYu9x.cjs.map → style-DmwoOdFB.cjs.map} +1 -1
  134. package/build/style-error.cjs.js +1 -1
  135. package/build/style-error.es.js +1 -1
  136. package/build/{use-BnaBipTR.cjs → use-Deto6eH3.cjs} +2 -2
  137. package/build/{use-BnaBipTR.cjs.map → use-Deto6eH3.cjs.map} +1 -1
  138. package/build/{use-B6rT81uF.js → use-JiiFbVer.js} +3 -3
  139. package/build/{use-B6rT81uF.js.map → use-JiiFbVer.js.map} +1 -1
  140. package/package.json +1 -1
  141. package/build/component.styles-CvJK1eif.cjs.map +0 -1
  142. package/build/component.styles-DCDOKa6e.js +0 -793
  143. package/build/component.styles-DCDOKa6e.js.map +0 -1
  144. package/build/component.styles-DTC9tjQX.cjs +0 -165
  145. package/build/component.styles-DTC9tjQX.cjs.map +0 -1
  146. package/build/component.styles-DqTkSP8L.js.map +0 -1
@@ -0,0 +1,910 @@
1
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
+ import { c as Button } from "./component-BJ4BlUBV.js";
3
+ import "./component.styles-B0L4jbOO.js";
4
+ import { R as Ripple } from "./component-vpCWcIhC.js";
5
+ import { c as SelectMonth, e as SelectYear } from "./component.styles-DsnwGPvj.js";
6
+ import { b as Stack } from "./component-jPZYT5iL.js";
7
+ import { b as ErrorMessage, a as addError } from "./style-Dca2udON.js";
8
+ import { K as KEY_SIZE_DATA } from "./theme.global-B46v_8eu.js";
9
+ import moment from "moment";
10
+ import { useState, useMemo, useCallback, useRef, useEffect, Fragment } from "react";
11
+ import styled, { useTheme, css } from "styled-components";
12
+ import { u as usePopover, j as Typography, P as Popover, g as getFontSizeStyles } from "./component-zhkRBgS8.js";
13
+ import { d as addInputIsInputEffect } from "./component.styles-hc14mwUo.js";
14
+ import { j as addNiceNumber, a as addRemoveScrollbar, b as addTransition, f as addOutline, i as addRemoveOutline } from "./style-Bvt_Melk.js";
15
+ import { a as addSX } from "./style-plT9Ah7t.js";
16
+ import { motion } from "framer-motion";
17
+ function countSevens(number) {
18
+ const divisor = 7;
19
+ const count = Math.floor(number / divisor);
20
+ const remainder = number % divisor;
21
+ return remainder > 0 ? count + 1 : count;
22
+ }
23
+ const DatePicker = (props) => {
24
+ var _a, _b, _c;
25
+ const { onChange } = props;
26
+ const theme = useTheme();
27
+ const [valueMoment, setValueMoment] = useState(null);
28
+ const [dateDefaultMoment, setDateDefaultMoment] = useState(moment(props.dateDefault).utc());
29
+ const [input, setInput] = useState({
30
+ [DatePickerVariant.DD]: null,
31
+ [DatePickerVariant.MM]: null,
32
+ [DatePickerVariant.YYYY]: null
33
+ });
34
+ const [activeSegment, setActiveSegment] = useState(null);
35
+ const [isError, setIsError] = useState(false);
36
+ const mode = useMemo(() => {
37
+ if (!props.mode || props.mode.length === 0) {
38
+ return [DatePickerVariant.DD, DatePickerVariant.MM, DatePickerVariant.YYYY];
39
+ }
40
+ const hasDuplicates = new Set(props.mode).size !== props.mode.length;
41
+ if (hasDuplicates) {
42
+ return [DatePickerVariant.DD, DatePickerVariant.MM, DatePickerVariant.YYYY];
43
+ }
44
+ return props.mode;
45
+ }, [props.mode]);
46
+ const getNextSegment = useCallback(
47
+ (currentSegment) => {
48
+ const currentIndex = mode.indexOf(currentSegment);
49
+ return currentIndex < mode.length - 1 ? mode[currentIndex + 1] : mode[0];
50
+ },
51
+ [mode]
52
+ );
53
+ const getPrevSegment = useCallback(
54
+ (currentSegment) => {
55
+ const currentIndex = mode.indexOf(currentSegment);
56
+ return currentIndex > 0 ? mode[currentIndex - 1] : mode[mode.length - 1];
57
+ },
58
+ [mode]
59
+ );
60
+ const dataDate = useMemo(() => {
61
+ const result = {
62
+ MM: {
63
+ nextSegment: getNextSegment(DatePickerVariant.MM),
64
+ preSegment: getPrevSegment(DatePickerVariant.MM),
65
+ onNext: () => setActiveSegment(getNextSegment(DatePickerVariant.MM)),
66
+ onPrev: () => setActiveSegment(getPrevSegment(DatePickerVariant.MM)),
67
+ isLast: mode[mode.length - 1] === DatePickerVariant.MM,
68
+ type: DatePickerVariant.MM,
69
+ value: input.MM,
70
+ setValue: (value) => setInput((prevValue) => ({ ...prevValue, [DatePickerVariant.MM]: value })),
71
+ setActive: () => setActiveSegment(DatePickerVariant.MM),
72
+ placeholder: props.locale.inputs.month
73
+ },
74
+ DD: {
75
+ nextSegment: getNextSegment(DatePickerVariant.DD),
76
+ preSegment: getPrevSegment(DatePickerVariant.DD),
77
+ isLast: mode[mode.length - 1] === DatePickerVariant.DD,
78
+ onNext: () => setActiveSegment(getNextSegment(DatePickerVariant.DD)),
79
+ onPrev: () => setActiveSegment(getPrevSegment(DatePickerVariant.DD)),
80
+ type: DatePickerVariant.DD,
81
+ value: input.DD,
82
+ setValue: (value) => setInput((prevValue) => ({ ...prevValue, [DatePickerVariant.DD]: value })),
83
+ setActive: () => setActiveSegment(DatePickerVariant.DD),
84
+ placeholder: props.locale.inputs.day
85
+ },
86
+ YYYY: {
87
+ nextSegment: getNextSegment(DatePickerVariant.YYYY),
88
+ preSegment: getPrevSegment(DatePickerVariant.YYYY),
89
+ isLast: mode[mode.length - 1] === DatePickerVariant.YYYY,
90
+ onNext: () => setActiveSegment(getNextSegment(DatePickerVariant.YYYY)),
91
+ onPrev: () => setActiveSegment(getPrevSegment(DatePickerVariant.YYYY)),
92
+ type: DatePickerVariant.YYYY,
93
+ value: input.YYYY,
94
+ setValue: (value) => setInput((prevValue) => ({ ...prevValue, [DatePickerVariant.YYYY]: value })),
95
+ setActive: () => setActiveSegment(DatePickerVariant.YYYY),
96
+ placeholder: props.locale.inputs.year
97
+ }
98
+ };
99
+ const resultSort = mode.map((e) => {
100
+ if (e === DatePickerVariant.DD) return result.DD;
101
+ if (e === DatePickerVariant.MM) return result.MM;
102
+ if (e === DatePickerVariant.YYYY) return result.YYYY;
103
+ return null;
104
+ }).filter((e) => e !== null);
105
+ return { sort: resultSort, default: result };
106
+ }, [
107
+ props.locale.inputs.day,
108
+ props.locale.inputs.month,
109
+ props.locale.inputs.year,
110
+ getNextSegment,
111
+ getPrevSegment,
112
+ mode,
113
+ input.DD,
114
+ input.MM,
115
+ input.YYYY
116
+ ]);
117
+ const daysInWeek = useMemo(() => {
118
+ const weekOrder = ["mo", "tu", "we", "th", "fr", "sa", "su"];
119
+ return weekOrder.map((key, index) => {
120
+ const found = props.locale.weeks.find((w) => w.value === key);
121
+ return {
122
+ index,
123
+ label: (found == null ? void 0 : found.localeShort) ?? key.toUpperCase()
124
+ };
125
+ });
126
+ }, [props.locale.weeks]);
127
+ const daysInMonth = useMemo(() => {
128
+ const today = moment.utc();
129
+ const startOfMonth = (valueMoment ?? dateDefaultMoment).clone().startOf("month");
130
+ const endOfMonth = (valueMoment ?? dateDefaultMoment).clone().endOf("month");
131
+ const days = [];
132
+ const dateMin = props.dateMin ? moment.utc(props.dateMin) : null;
133
+ const dateMax = props.dateMax ? moment.utc(props.dateMax) : null;
134
+ const daysToAddBefore = startOfMonth.isoWeekday() - 1;
135
+ if (daysToAddBefore > 0) {
136
+ for (let i = daysToAddBefore; i > 0; i--) {
137
+ const day = startOfMonth.clone().subtract(i, "days");
138
+ days.push({
139
+ value: day.valueOf(),
140
+ labelString: day.format("dd"),
141
+ labelNumber: day.date(),
142
+ dayOfWeek: day.isoWeekday(),
143
+ isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,
144
+ weekOfMonth: Math.ceil((days.length + 1) / 7),
145
+ isToday: day.isSame(today, "day"),
146
+ isCurrentMonth: false,
147
+ isDisabled: day.isBefore(dateMin, "day") || day.isAfter(dateMax, "day")
148
+ });
149
+ }
150
+ }
151
+ const currentDate = startOfMonth.clone();
152
+ while (currentDate <= endOfMonth) {
153
+ days.push({
154
+ value: currentDate.valueOf(),
155
+ labelString: currentDate.format("dd"),
156
+ labelNumber: currentDate.date(),
157
+ dayOfWeek: currentDate.isoWeekday(),
158
+ isWeekend: currentDate.isoWeekday() === 6 || currentDate.isoWeekday() === 7,
159
+ weekOfMonth: Math.ceil((days.length + 1) / 7),
160
+ isToday: currentDate.isSame(today, "day"),
161
+ isCurrentMonth: true,
162
+ isDisabled: currentDate.isBefore(dateMin, "day") || currentDate.isAfter(dateMax, "day")
163
+ });
164
+ currentDate.add(1, "day");
165
+ }
166
+ const daysToAddAfter = 7 - endOfMonth.isoWeekday();
167
+ if (daysToAddAfter > 0) {
168
+ for (let i = 1; i <= daysToAddAfter; i++) {
169
+ const day = endOfMonth.clone().add(i, "days").startOf("day");
170
+ days.push({
171
+ value: day.valueOf(),
172
+ labelString: day.format("dd"),
173
+ labelNumber: day.date(),
174
+ dayOfWeek: day.isoWeekday(),
175
+ isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,
176
+ weekOfMonth: Math.ceil((days.length + 1) / 7),
177
+ isToday: day.isSame(today, "day"),
178
+ isCurrentMonth: false,
179
+ isDisabled: day.isBefore(dateMin, "day") || day.isAfter(dateMax, "day")
180
+ });
181
+ }
182
+ }
183
+ days.sort((a, b) => a.value - b.value);
184
+ return days;
185
+ }, [valueMoment, dateDefaultMoment, props.dateMax, props.dateMin]);
186
+ const rows = useMemo(() => countSevens(daysInMonth.length) + 1, [daysInMonth]);
187
+ const height = useMemo(
188
+ () => 40 + rows * 28 + (rows - 1) * 6 + KEY_SIZE_DATA[props.size].padding * 2,
189
+ [props.size, rows]
190
+ );
191
+ const sizeRadius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size]);
192
+ const isHasValue = useMemo(() => {
193
+ return valueMoment !== null;
194
+ }, [valueMoment]);
195
+ const isBlockNextMonth = useMemo(() => {
196
+ const nextMonth = (valueMoment ?? dateDefaultMoment).clone().add(1, "month").startOf("month");
197
+ const isBeforeEndDate = props.dateMax ? nextMonth.isAfter(moment.utc(props.dateMax), "month") : false;
198
+ return isBeforeEndDate;
199
+ }, [valueMoment, props.dateMax, dateDefaultMoment]);
200
+ const isBlockPrevMonth = useMemo(() => {
201
+ const prevMonth = (valueMoment ?? dateDefaultMoment).clone().subtract(1, "month").startOf("month");
202
+ const isAfterStartDate = props.dateMin ? prevMonth.isBefore(moment.utc(props.dateMin), "month") : false;
203
+ return isAfterStartDate;
204
+ }, [valueMoment, props.dateMin, dateDefaultMoment]);
205
+ const refSelectMonth = useRef(null);
206
+ const refSelectYear = useRef(null);
207
+ const sizePadding = useMemo(() => KEY_SIZE_DATA[props.size].padding, [props.size]);
208
+ const { isOpen, close, refReference, refFloating, floatingStyles, open } = usePopover({
209
+ placement: "bottom-start",
210
+ offset: sizePadding,
211
+ mode: "independence",
212
+ isClickOutside: true,
213
+ refsExcludeClickOutside: [refSelectMonth, refSelectYear],
214
+ isDisabled: props == null ? void 0 : props.isDisabled,
215
+ onFocus() {
216
+ var _a2;
217
+ (_a2 = props.onFocus) == null ? void 0 : _a2.call(props);
218
+ },
219
+ onBlur() {
220
+ var _a2;
221
+ (_a2 = props.onBlur) == null ? void 0 : _a2.call(props);
222
+ },
223
+ onBlurReference() {
224
+ setActiveSegment(null);
225
+ }
226
+ });
227
+ const onChangeDate = useCallback(
228
+ (timestamp) => {
229
+ const momentNewDate = moment(timestamp).utc();
230
+ if (valueMoment == null ? void 0 : valueMoment.isSame(momentNewDate, "day")) return;
231
+ setValueMoment(momentNewDate);
232
+ setInput({
233
+ [DatePickerVariant.DD]: momentNewDate.clone().date(),
234
+ [DatePickerVariant.MM]: momentNewDate.clone().month() + 1,
235
+ [DatePickerVariant.YYYY]: momentNewDate.clone().year()
236
+ });
237
+ },
238
+ [valueMoment]
239
+ );
240
+ const handleKeyDown = useCallback(
241
+ (e) => {
242
+ const key = e.key;
243
+ const allowedKeys = [
244
+ "ArrowLeft",
245
+ "ArrowRight",
246
+ "ArrowUp",
247
+ "ArrowDown",
248
+ "Backspace",
249
+ "Delete",
250
+ "Tab",
251
+ "Enter",
252
+ "Escape"
253
+ ];
254
+ const isDigit = /^\d$/.test(key);
255
+ const isAllowed = isDigit || allowedKeys.includes(key) || e.ctrlKey || e.metaKey;
256
+ if (!isAllowed) {
257
+ e.preventDefault();
258
+ return;
259
+ }
260
+ if (activeSegment && dataDate.default[activeSegment]) {
261
+ if (isDigit) {
262
+ const digit = key;
263
+ if (activeSegment === DatePickerVariant.DD) {
264
+ const current = input.DD !== null ? input.DD.toString() : "";
265
+ let nextValue;
266
+ if (current.length >= 2) {
267
+ nextValue = digit;
268
+ } else {
269
+ const potential = current + digit;
270
+ const potentialParsed = Number(potential);
271
+ if (potentialParsed > 31 || potentialParsed === 0) {
272
+ nextValue = digit;
273
+ } else {
274
+ nextValue = potential;
275
+ }
276
+ }
277
+ const parsed = Number(nextValue);
278
+ if (parsed > 31 || parsed === 0) return;
279
+ dataDate.default[activeSegment].setValue(parsed);
280
+ if (nextValue.length === 2) {
281
+ dataDate.default[activeSegment].onNext();
282
+ }
283
+ } else if (activeSegment === DatePickerVariant.MM) {
284
+ const currentMonthStr = input.MM !== null ? input.MM.toString() : "";
285
+ let nextValue;
286
+ if (currentMonthStr.length >= 2) {
287
+ nextValue = digit;
288
+ } else {
289
+ const potential = currentMonthStr + digit;
290
+ const potentialParsed = Number(potential);
291
+ if (potentialParsed > 12) {
292
+ nextValue = digit;
293
+ } else {
294
+ nextValue = potential;
295
+ }
296
+ }
297
+ const parsed = Number(nextValue);
298
+ if (parsed > 12 || parsed === 0) return;
299
+ dataDate.default[activeSegment].setValue(parsed);
300
+ if (nextValue.length === 2 || nextValue.length === 1 && parsed > 1) {
301
+ dataDate.default[activeSegment].onNext();
302
+ }
303
+ } else if (activeSegment === DatePickerVariant.YYYY) {
304
+ const current = input.YYYY !== null ? input.YYYY.toString() : "";
305
+ let nextValue;
306
+ if (current.length >= 4) {
307
+ if (digit === "0") return;
308
+ nextValue = digit;
309
+ } else {
310
+ nextValue = current + digit;
311
+ }
312
+ const parsed = Number(nextValue);
313
+ dataDate.default[activeSegment].setValue(parsed);
314
+ }
315
+ e.preventDefault();
316
+ e.stopPropagation();
317
+ }
318
+ if (key === "Tab") {
319
+ if (!dataDate.default[activeSegment].isLast) {
320
+ e.preventDefault();
321
+ dataDate.default[activeSegment].onNext();
322
+ }
323
+ }
324
+ if (key === "Enter") {
325
+ close();
326
+ e.preventDefault();
327
+ e.stopPropagation();
328
+ }
329
+ if (key === "Backspace" || key === "Delete") {
330
+ if (activeSegment === DatePickerVariant.DD) {
331
+ if (input.DD !== null) {
332
+ const current = input.DD.toString();
333
+ if (current.length === 1) {
334
+ dataDate.default[activeSegment].setValue(null);
335
+ } else {
336
+ const newValue = current.slice(0, -1);
337
+ dataDate.default[activeSegment].setValue(Number(newValue));
338
+ }
339
+ } else {
340
+ dataDate.default[activeSegment].onPrev();
341
+ }
342
+ } else if (activeSegment === DatePickerVariant.MM) {
343
+ if (input.MM !== null) {
344
+ const current = input.MM.toString();
345
+ if (current.length === 1) {
346
+ dataDate.default[activeSegment].setValue(null);
347
+ } else {
348
+ const newValue = current.slice(0, -1);
349
+ dataDate.default[activeSegment].setValue(Number(newValue));
350
+ }
351
+ } else {
352
+ dataDate.default[activeSegment].onPrev();
353
+ }
354
+ } else if (activeSegment === DatePickerVariant.YYYY) {
355
+ if (input.YYYY !== null) {
356
+ const current = input.YYYY.toString();
357
+ if (current.length === 1) {
358
+ dataDate.default[activeSegment].setValue(null);
359
+ } else {
360
+ const newValue = current.slice(0, -1);
361
+ dataDate.default[activeSegment].setValue(Number(newValue));
362
+ }
363
+ } else {
364
+ dataDate.default[activeSegment].onPrev();
365
+ }
366
+ }
367
+ e.preventDefault();
368
+ e.stopPropagation();
369
+ }
370
+ if (key === "ArrowLeft" || key === "ArrowDown") {
371
+ e.preventDefault();
372
+ dataDate.default[activeSegment].onPrev();
373
+ }
374
+ if (key === "ArrowRight" || key === "ArrowUp") {
375
+ e.preventDefault();
376
+ dataDate.default[activeSegment].onNext();
377
+ }
378
+ }
379
+ },
380
+ [activeSegment, input.DD, input.MM, input.YYYY, dataDate.default, close]
381
+ );
382
+ const onNextMonth = useCallback(() => {
383
+ const newDate = (valueMoment ?? dateDefaultMoment).clone().add(1, "month");
384
+ onChangeDate(newDate.valueOf());
385
+ }, [valueMoment, onChangeDate, dateDefaultMoment]);
386
+ const onPrevMonth = useCallback(() => {
387
+ const newDate = (valueMoment ?? dateDefaultMoment).clone().subtract(1, "month");
388
+ onChangeDate(newDate.valueOf());
389
+ }, [valueMoment, onChangeDate, dateDefaultMoment]);
390
+ useEffect(() => {
391
+ setDateDefaultMoment(moment(props.dateDefault).utc());
392
+ }, [props.dateDefault]);
393
+ useEffect(() => {
394
+ if (isOpen) {
395
+ setActiveSegment(DatePickerVariant.DD);
396
+ } else {
397
+ setActiveSegment(null);
398
+ }
399
+ }, [isOpen]);
400
+ useEffect(() => {
401
+ onChange(valueMoment ? valueMoment.valueOf() : null);
402
+ }, [valueMoment, onChange]);
403
+ useEffect(() => {
404
+ setValueMoment(moment(props.value ?? props.defaultValue).utc());
405
+ }, [props.value, props.defaultValue]);
406
+ useEffect(() => {
407
+ if (input.DD !== null && input.MM !== null && input.YYYY !== null) {
408
+ const day = input.DD ?? NaN;
409
+ const month = input.MM ?? NaN;
410
+ const year = input.YYYY ?? NaN;
411
+ if (!Number.isNaN(day) && !Number.isNaN(month) && !Number.isNaN(year)) {
412
+ const m = moment.utc(`${day}.${month}.${year}`, "D.M.YYYY", true).startOf("day");
413
+ if (m.isValid()) {
414
+ onChangeDate(m.valueOf());
415
+ }
416
+ }
417
+ }
418
+ }, [input.DD, input.MM, input.YYYY, onChangeDate]);
419
+ useEffect(() => {
420
+ if (input.DD !== null && input.MM !== null && input.YYYY !== null) {
421
+ const day = input.DD ?? NaN;
422
+ const month = input.MM ?? NaN;
423
+ const year = input.YYYY ?? NaN;
424
+ if (!Number.isNaN(day) && !Number.isNaN(month) && !Number.isNaN(year)) {
425
+ const m = moment.utc(`${day}.${month}.${year}`, "D.M.YYYY", true).startOf("day");
426
+ if (m.isValid()) {
427
+ setIsError(false);
428
+ } else {
429
+ setIsError(true);
430
+ }
431
+ }
432
+ }
433
+ }, [input.DD, input.MM, input.YYYY]);
434
+ const refHiddenInput = useRef(null);
435
+ const prevValueRef = useRef("");
436
+ useEffect(() => {
437
+ if (isOpen && refHiddenInput.current) {
438
+ refHiddenInput.current.focus();
439
+ }
440
+ }, [isOpen]);
441
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
442
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
443
+ DateWrapper,
444
+ {
445
+ $size: props.size,
446
+ $genre: props.genre,
447
+ $sx: props.sx,
448
+ $isDisabled: props == null ? void 0 : props.isDisabled,
449
+ $isMinWidth: props == null ? void 0 : props.isMinWidth,
450
+ $radius: sizeRadius,
451
+ $parentListHeight: height,
452
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
453
+ DateInputWrapper,
454
+ {
455
+ ref: refReference,
456
+ $genre: props.genre,
457
+ $size: props.size,
458
+ $error: isError ? {
459
+ isError: true,
460
+ size: (_a = props == null ? void 0 : props.error) == null ? void 0 : _a.size,
461
+ ...props.notValidDate
462
+ } : props.error,
463
+ $isOpen: isOpen,
464
+ onClick: () => {
465
+ open();
466
+ },
467
+ children: [
468
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
469
+ "input",
470
+ {
471
+ ref: refHiddenInput,
472
+ type: "tel",
473
+ inputMode: "numeric",
474
+ tabIndex: 0,
475
+ style: { position: "absolute", opacity: 0, left: -9999 },
476
+ onKeyDown: handleKeyDown,
477
+ onChange: (e) => {
478
+ const value = e.target.value;
479
+ const prevValue = prevValueRef.current;
480
+ const newChar = value.length > prevValue.length ? value.slice(-1) : null;
481
+ prevValueRef.current = value;
482
+ if (newChar && /^\d$/.test(newChar)) {
483
+ handleKeyDown({
484
+ key: newChar,
485
+ preventDefault: () => {
486
+ },
487
+ stopPropagation: () => {
488
+ }
489
+ });
490
+ }
491
+ if (value.length < prevValue.length) {
492
+ handleKeyDown({
493
+ key: "Backspace",
494
+ preventDefault: () => {
495
+ },
496
+ stopPropagation: () => {
497
+ }
498
+ });
499
+ }
500
+ if (newChar === "\n") {
501
+ close();
502
+ }
503
+ },
504
+ onFocus: () => {
505
+ open();
506
+ },
507
+ onBlur: () => {
508
+ }
509
+ }
510
+ ),
511
+ !isHasValue && props.labelPlaceholder && !isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(
512
+ Typography,
513
+ {
514
+ sx: { default: { size: 16, line: 1, isNoUserSelect: true } },
515
+ sxStandard: (theme2) => ({
516
+ default: {
517
+ color: theme2.colors.input[props.genre].color.placeholder
518
+ }
519
+ }),
520
+ children: props.labelPlaceholder
521
+ }
522
+ ) : dataDate.sort.map((date, index) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Fragment, { children: [
523
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
524
+ DateInput,
525
+ {
526
+ $isHaveValue: !!date.value,
527
+ $isActive: activeSegment === date.type,
528
+ $genre: props.genre,
529
+ $size: props.size,
530
+ onClick: () => date.setActive(),
531
+ children: date.value != null ? String(date.value).padStart(date.type === DatePickerVariant.YYYY ? 1 : 2, "0") : date.placeholder || ""
532
+ }
533
+ ),
534
+ index !== dataDate.sort.length - 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { width: "4px", pointerEvents: "none", textAlign: "center" }, children: "." })
535
+ ] }, date.type))
536
+ ]
537
+ }
538
+ )
539
+ }
540
+ ),
541
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
542
+ Popover,
543
+ {
544
+ sx: (theme2) => ({
545
+ default: {
546
+ background: theme2.colors.input[props.genre].background.rest,
547
+ border: `solid 1px ${theme2.colors.input[props.genre].border.rest}`
548
+ }
549
+ }),
550
+ size: props.size,
551
+ genre: props.genre,
552
+ isOpen,
553
+ isShowAlwaysOutline: true,
554
+ floatingStyles,
555
+ ref: refFloating,
556
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DateDropdownList, { $isInputEffect: props.isInputEffect, $genre: props.genre, $size: props.size, children: [
557
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
558
+ Stack,
559
+ {
560
+ sx: {
561
+ default: {
562
+ justifyContent: "space-between",
563
+ alignItems: "center"
564
+ }
565
+ },
566
+ children: [
567
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
568
+ Button,
569
+ {
570
+ type: "button",
571
+ isRadius: true,
572
+ icons: [
573
+ {
574
+ name: "Arrow2",
575
+ type: "id",
576
+ turn: 90
577
+ }
578
+ ],
579
+ isWidthAsHeight: true,
580
+ genre: props.genre,
581
+ size: "small",
582
+ onClick: () => !isBlockPrevMonth && onPrevMonth(),
583
+ isHidden: isBlockPrevMonth
584
+ }
585
+ ),
586
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Stack, { sx: { default: { gap: "8px" } }, children: [
587
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
588
+ SelectMonth,
589
+ {
590
+ monthsLocale: props.locale.months,
591
+ genre: props.genre,
592
+ size: "small",
593
+ value: (valueMoment ?? dateDefaultMoment).clone().startOf("month").utc().valueOf(),
594
+ isOnClickOptionClose: true,
595
+ isStayValueAfterSelect: true,
596
+ isOnlyColorInSelectListOption: true,
597
+ isCenter: true,
598
+ isShortLabel: true,
599
+ refFloating: refSelectMonth,
600
+ onChange: (timestamp) => {
601
+ if (timestamp) onChangeDate(timestamp);
602
+ },
603
+ dateMin: props.dateMin,
604
+ dateMax: props.dateMax,
605
+ sx: { default: { width: "60px" } }
606
+ }
607
+ ),
608
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
609
+ SelectYear,
610
+ {
611
+ genre: props.genre,
612
+ size: "small",
613
+ refFloating: refSelectYear,
614
+ value: (valueMoment ?? dateDefaultMoment).clone().startOf("year").utc().valueOf(),
615
+ onChange: (timestamp) => {
616
+ if (timestamp) onChangeDate(timestamp);
617
+ },
618
+ isOnClickOptionClose: true,
619
+ isStayValueAfterSelect: true,
620
+ isOnlyColorInSelectListOption: true,
621
+ isCenter: true,
622
+ dateMin: props.dateMin,
623
+ dateMax: props.dateMax,
624
+ sx: { default: { width: "60px" } }
625
+ }
626
+ )
627
+ ] }),
628
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
629
+ Button,
630
+ {
631
+ type: "button",
632
+ onClick: () => !isBlockNextMonth && onNextMonth(),
633
+ isWidthAsHeight: true,
634
+ isRadius: true,
635
+ icons: [
636
+ {
637
+ name: "Arrow2",
638
+ type: "id",
639
+ turn: -90
640
+ }
641
+ ],
642
+ genre: props.genre,
643
+ size: "small",
644
+ isHidden: isBlockNextMonth
645
+ }
646
+ )
647
+ ]
648
+ }
649
+ ),
650
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(DateDropdownDays, { $rows: rows, children: [
651
+ daysInWeek.map((e, index) => {
652
+ var _a2;
653
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
654
+ DateDropdownDayOfWeek,
655
+ {
656
+ tabIndex: -1,
657
+ type: "button",
658
+ $isToday: false,
659
+ $isWeekend: false,
660
+ $genre: props.genre,
661
+ $size: props.size,
662
+ $row: ((_a2 = daysInMonth[0]) == null ? void 0 : _a2.weekOfMonth) - 1,
663
+ $column: index + 1,
664
+ children: e.label
665
+ },
666
+ `${e.label}-${index}`
667
+ );
668
+ }),
669
+ daysInMonth.map((day) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
670
+ DateDropdownDay,
671
+ {
672
+ type: "button",
673
+ $isDisabled: day.isDisabled,
674
+ $genre: props.genre,
675
+ $size: props.size,
676
+ $row: (day == null ? void 0 : day.weekOfMonth) + 1,
677
+ $column: day.dayOfWeek,
678
+ onClick: () => {
679
+ if (!day.isDisabled) {
680
+ onChangeDate(day.value);
681
+ if (props.isOnClickClose) {
682
+ close();
683
+ }
684
+ }
685
+ },
686
+ tabIndex: day.isDisabled ? -1 : 0,
687
+ $isToday: day.isToday,
688
+ $isWeekend: day.isWeekend,
689
+ $isChoice: day.value === (valueMoment == null ? void 0 : valueMoment.valueOf()),
690
+ $isCurrentMonth: day.isCurrentMonth,
691
+ children: [
692
+ !day.isDisabled && /* @__PURE__ */ jsxRuntimeExports.jsx(Ripple, { color: theme.colors.date[props.genre].color.rest }),
693
+ day.labelNumber
694
+ ]
695
+ },
696
+ day.value
697
+ ))
698
+ ] })
699
+ ] })
700
+ }
701
+ ),
702
+ isError || (props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
703
+ ErrorMessage,
704
+ {
705
+ ...isError ? {
706
+ isError: true,
707
+ size: (_b = props == null ? void 0 : props.error) == null ? void 0 : _b.size,
708
+ ...props.notValidDate
709
+ } : props.error,
710
+ size: ((_c = props == null ? void 0 : props.error) == null ? void 0 : _c.size) ?? props.size
711
+ }
712
+ ) : null
713
+ ] });
714
+ };
715
+ const DateWrapper = styled.div`
716
+ width: 100%;
717
+ position: relative;
718
+ height: fit-content;
719
+ ${(props) => props.$isMinWidth && css`
720
+ width: min-content;
721
+ `}
722
+ ${addSX};
723
+ ${addNiceNumber};
724
+ `;
725
+ const DateDropdownListParent = styled(motion.div)`
726
+ ${addRemoveScrollbar};
727
+ `;
728
+ const DateDropdownList = styled.div`
729
+ position: relative;
730
+ display: flex;
731
+ flex-direction: column;
732
+ width: 100%;
733
+ padding-top: 6px;
734
+ transform: translateZ(0);
735
+ justify-content: flex-start;
736
+ gap: 10px;
737
+ ${addInputIsInputEffect};
738
+ `;
739
+ const DateDropdownDays = styled.div`
740
+ display: grid;
741
+ column-gap: normal;
742
+ row-gap: normal;
743
+ gap: 6px;
744
+ grid-template-columns: repeat(7, 28px);
745
+ grid-template-rows: repeat(${(props) => props.$rows}, 28px);
746
+ justify-content: space-between;
747
+ `;
748
+ const addDateDropdownDaySize = css`
749
+ ${(props) => props.$size && css`
750
+ border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;
751
+ ${(params) => getFontSizeStyles(12, 700, params.theme.font.family)};
752
+ `};
753
+ position: relative;
754
+ overflow: hidden;
755
+ isolation: isolate;
756
+ user-select: none;
757
+ background: ${(props) => props.theme.colors.date[props.$genre].background.rest};
758
+ border-color: ${(props) => props.theme.colors.date[props.$genre].border.rest};
759
+ color: ${(props) => props.theme.colors.date[props.$genre].color.rest};
760
+ border: 1px solid transparent;
761
+ grid-row: ${(props) => props.$row};
762
+ grid-column: ${(props) => props.$column};
763
+ display: flex;
764
+ align-items: center;
765
+ justify-content: center;
766
+ width: 100%;
767
+ height: 100%;
768
+ cursor: pointer;
769
+ &:hover {
770
+ ${(props) => !props.$isDisabled && css`
771
+ background: ${props.theme.colors.date[props.$genre].background.hover};
772
+ border-color: ${props.theme.colors.date[props.$genre].border.hover};
773
+ color: ${props.theme.colors.date[props.$genre].color.hover};
774
+ `}
775
+ }
776
+ ${addTransition};
777
+
778
+ ${(props) => props.$isWeekend && css`
779
+ background: ${props.theme.colors.date[props.$genre].background.weekend};
780
+ border-color: ${props.theme.colors.date[props.$genre].border.weekend};
781
+ color: ${props.theme.colors.date[props.$genre].color.weekend};
782
+ `}
783
+ ${(props) => props.$isToday && css`
784
+ background: ${props.theme.colors.date[props.$genre].background.today};
785
+ border-color: ${props.theme.colors.date[props.$genre].border.today};
786
+ color: ${props.theme.colors.date[props.$genre].color.today};
787
+ `}
788
+ ${(props) => props.$isChoice && css`
789
+ background: ${props.theme.colors.date[props.$genre].background.choice};
790
+ border-color: ${props.theme.colors.date[props.$genre].border.choice};
791
+ color: ${props.theme.colors.date[props.$genre].color.choice};
792
+ `}
793
+ ${(props) => props.$isDisabled && css`
794
+ background: ${props.theme.colors.date[props.$genre].background.weekend};
795
+ border-color: ${props.theme.colors.date[props.$genre].border.weekend};
796
+ color: ${props.theme.colors.date[props.$genre].color.weekend};
797
+ opacity: 0.5;
798
+ `}
799
+ ${(props) => !props.$isCurrentMonth && css`
800
+ opacity: 0.5;
801
+ `}
802
+ ${(params) => getFontSizeStyles(12, 700, params.theme.font.family)};
803
+
804
+ ${addOutline};
805
+ `;
806
+ const DateDropdownDay = styled.button`
807
+ ${addDateDropdownDaySize}
808
+ `;
809
+ const DateDropdownDayOfWeek = styled.button`
810
+ ${addDateDropdownDaySize}
811
+ opacity: 1;
812
+ background-color: transparent;
813
+ `;
814
+ const addDateInputGenre = css`
815
+ background-color: ${(props) => props.$isActive ? props.theme.palette.black10 : "transparent"};
816
+
817
+ ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
818
+ ${(props) => props.$isHaveValue ? css`
819
+ color: ${props.theme.colors.input[props.$genre].color.rest};
820
+ &:focus-visible {
821
+ color: ${props.theme.colors.input[props.$genre].color.rest};
822
+ }
823
+ ` : css`
824
+ color: ${props.theme.colors.input[props.$genre].color.placeholder};
825
+ `};
826
+ `;
827
+ const addDateInputSize = css`
828
+ border-radius: 4px;
829
+ padding: 2px;
830
+ min-width: 10px;
831
+ `;
832
+ const DateInput = styled.div`
833
+ text-align: center;
834
+ resize: none;
835
+ overflow: hidden;
836
+ border: 0px solid;
837
+ background: transparent;
838
+ margin: 0px !important;
839
+ white-space: nowrap;
840
+ ${addDateInputSize};
841
+ ${addDateInputGenre};
842
+ ${addRemoveOutline};
843
+ `;
844
+ const addDateInputWrapperGenre = css`
845
+ ${(props) => css`
846
+ background: ${props.theme.colors.input[props.$genre].background.rest};
847
+ border-color: ${props.theme.colors.input[props.$genre].border.rest};
848
+ color: ${props.theme.colors.input[props.$genre].color.rest};
849
+ outline: 2px solid transparent;
850
+ outline-offset: 1px;
851
+ &:hover {
852
+ background: ${props.theme.colors.input[props.$genre].background.hover};
853
+ border-color: ${props.theme.colors.input[props.$genre].border.hover};
854
+ color: ${props.theme.colors.input[props.$genre].color.hover};
855
+ }
856
+ ${props.$isOpen && css`
857
+ background: ${props.theme.colors.input[props.$genre].background.rest};
858
+ border-color: ${props.theme.colors.input[props.$genre].border.rest};
859
+ color: ${props.theme.colors.input[props.$genre].color.rest};
860
+ outline: 2px solid ${(props2) => props2.theme.states.focus};
861
+ `}
862
+ `};
863
+ `;
864
+ const addDateInputWrapperSize = css`
865
+ ${(props) => css`
866
+ padding: 0px ${KEY_SIZE_DATA[props.$size].padding}px;
867
+ height: ${KEY_SIZE_DATA[props.$size].height}px;
868
+ min-height: ${KEY_SIZE_DATA[props.$size].height}px;
869
+ max-height: ${KEY_SIZE_DATA[props.$size].height}px;
870
+ border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;
871
+ `}
872
+ `;
873
+ const DateInputWrapper = styled.div`
874
+ resize: none;
875
+ overflow: hidden;
876
+ width: 100%;
877
+ border: 1px solid transparent;
878
+
879
+ white-space: nowrap;
880
+
881
+ display: flex;
882
+ align-items: center;
883
+ gap: 0px;
884
+
885
+ ${addDateInputWrapperSize};
886
+ ${addDateInputWrapperGenre};
887
+ ${addTransition};
888
+ ${addError};
889
+ `;
890
+ var DatePickerVariant = /* @__PURE__ */ ((DatePickerVariant2) => {
891
+ DatePickerVariant2["DD"] = "DD";
892
+ DatePickerVariant2["MM"] = "MM";
893
+ DatePickerVariant2["YYYY"] = "YYYY";
894
+ return DatePickerVariant2;
895
+ })(DatePickerVariant || {});
896
+ export {
897
+ DatePicker as D,
898
+ DateWrapper as a,
899
+ DateDropdownListParent as b,
900
+ DateDropdownList as c,
901
+ DateDropdownDays as d,
902
+ addDateDropdownDaySize as e,
903
+ DateDropdownDay as f,
904
+ DateDropdownDayOfWeek as g,
905
+ DateInput as h,
906
+ addDateInputWrapperSize as i,
907
+ DateInputWrapper as j,
908
+ DatePickerVariant as k
909
+ };
910
+ //# sourceMappingURL=component.types-DSAfJbbs.js.map