@rockshin/tao-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/components/button/button.css +1055 -0
  4. package/dist/components/button/button.d.ts +15 -0
  5. package/dist/components/button/button.js +93 -0
  6. package/dist/components/checkbox/checkbox.css +1035 -0
  7. package/dist/components/checkbox/checkbox.d.ts +33 -0
  8. package/dist/components/checkbox/checkbox.js +312 -0
  9. package/dist/components/date-picker/calendar/calendar-grid.d.ts +18 -0
  10. package/dist/components/date-picker/calendar/calendar-grid.js +173 -0
  11. package/dist/components/date-picker/calendar/calendar-header.d.ts +10 -0
  12. package/dist/components/date-picker/calendar/calendar-header.js +336 -0
  13. package/dist/components/date-picker/calendar/month-grid.d.ts +9 -0
  14. package/dist/components/date-picker/calendar/month-grid.js +61 -0
  15. package/dist/components/date-picker/calendar/time-panel.d.ts +12 -0
  16. package/dist/components/date-picker/calendar/time-panel.js +233 -0
  17. package/dist/components/date-picker/calendar/use-calendar.d.ts +15 -0
  18. package/dist/components/date-picker/calendar/use-calendar.js +24 -0
  19. package/dist/components/date-picker/calendar/year-grid.d.ts +9 -0
  20. package/dist/components/date-picker/calendar/year-grid.js +60 -0
  21. package/dist/components/date-picker/date-picker.css +1799 -0
  22. package/dist/components/date-picker/date-picker.d.ts +29 -0
  23. package/dist/components/date-picker/date-picker.js +663 -0
  24. package/dist/components/date-picker/presets.d.ts +9 -0
  25. package/dist/components/date-picker/presets.js +36 -0
  26. package/dist/components/date-picker/range-picker.d.ts +30 -0
  27. package/dist/components/date-picker/range-picker.js +432 -0
  28. package/dist/components/date-picker/types.d.ts +39 -0
  29. package/dist/components/date-picker/types.js +7 -0
  30. package/dist/components/drawer/drawer.css +1112 -0
  31. package/dist/components/drawer/drawer.d.ts +17 -0
  32. package/dist/components/drawer/drawer.js +184 -0
  33. package/dist/components/form-actions/form-actions.d.ts +12 -0
  34. package/dist/components/form-actions/form-actions.js +42 -0
  35. package/dist/components/form-field/form-field.d.ts +17 -0
  36. package/dist/components/form-field/form-field.js +101 -0
  37. package/dist/components/form-field/form.css +1036 -0
  38. package/dist/components/form-section/form-section.d.ts +14 -0
  39. package/dist/components/form-section/form-section.js +92 -0
  40. package/dist/components/input/input.css +1185 -0
  41. package/dist/components/input/input.d.ts +15 -0
  42. package/dist/components/input/input.js +143 -0
  43. package/dist/components/pagination/pagination.css +1099 -0
  44. package/dist/components/pagination/pagination.d.ts +22 -0
  45. package/dist/components/pagination/pagination.js +310 -0
  46. package/dist/components/radio/radio.css +1045 -0
  47. package/dist/components/radio/radio.d.ts +34 -0
  48. package/dist/components/radio/radio.js +215 -0
  49. package/dist/components/scroll-area/scroll-area.css +1099 -0
  50. package/dist/components/scroll-area/scroll-area.d.ts +33 -0
  51. package/dist/components/scroll-area/scroll-area.js +375 -0
  52. package/dist/components/select/mobile-select.css +1044 -0
  53. package/dist/components/select/mobile-select.d.ts +19 -0
  54. package/dist/components/select/mobile-select.js +224 -0
  55. package/dist/components/select/select.css +1327 -0
  56. package/dist/components/select/select.d.ts +32 -0
  57. package/dist/components/select/select.js +532 -0
  58. package/dist/components/select/use-is-mobile.d.ts +1 -0
  59. package/dist/components/select/use-is-mobile.js +30 -0
  60. package/dist/components/splitter/splitter.css +1104 -0
  61. package/dist/components/splitter/splitter.d.ts +33 -0
  62. package/dist/components/splitter/splitter.js +451 -0
  63. package/dist/components/switch/switch.css +1170 -0
  64. package/dist/components/switch/switch.d.ts +19 -0
  65. package/dist/components/switch/switch.js +143 -0
  66. package/dist/components/table/table.css +1255 -0
  67. package/dist/components/table/table.d.ts +73 -0
  68. package/dist/components/table/table.js +1022 -0
  69. package/dist/components/tabs/tabs.css +1076 -0
  70. package/dist/components/tabs/tabs.d.ts +24 -0
  71. package/dist/components/tabs/tabs.js +256 -0
  72. package/dist/components/tag/tag.css +1124 -0
  73. package/dist/components/tag/tag.d.ts +33 -0
  74. package/dist/components/tag/tag.js +237 -0
  75. package/dist/index.d.ts +23 -0
  76. package/dist/index.js +23 -0
  77. package/dist/layouts/form-layout/form-layout.d.ts +6 -0
  78. package/dist/layouts/form-layout/form-layout.js +18 -0
  79. package/dist/layouts/stack/layout.css +1003 -0
  80. package/dist/layouts/stack/stack.d.ts +9 -0
  81. package/dist/layouts/stack/stack.js +27 -0
  82. package/dist/number-input/cursor.d.ts +9 -0
  83. package/dist/number-input/cursor.js +44 -0
  84. package/dist/number-input/format.d.ts +5 -0
  85. package/dist/number-input/format.js +50 -0
  86. package/dist/number-input/index.d.ts +5 -0
  87. package/dist/number-input/index.js +2 -0
  88. package/dist/number-input/number-input.d.ts +9 -0
  89. package/dist/number-input/number-input.js +101 -0
  90. package/dist/number-input/percentage.d.ts +3 -0
  91. package/dist/number-input/percentage.js +28 -0
  92. package/dist/number-input/types.d.ts +5 -0
  93. package/dist/number-input/types.js +0 -0
  94. package/dist/number-input/use-number-input.d.ts +30 -0
  95. package/dist/number-input/use-number-input.js +211 -0
  96. package/dist/number-input/validate.d.ts +3 -0
  97. package/dist/number-input/validate.js +17 -0
  98. package/dist/provider/tao-provider.d.ts +42 -0
  99. package/dist/provider/tao-provider.js +67 -0
  100. package/dist/theme/control.css +1061 -0
  101. package/dist/theme/theme.css +957 -0
  102. package/dist/utils/semantic.d.ts +10 -0
  103. package/dist/utils/semantic.js +5 -0
  104. package/llms.txt +67 -0
  105. package/package.json +97 -0
@@ -0,0 +1,29 @@
1
+ import type { Dayjs } from 'dayjs';
2
+ import { type ReactNode } from 'react';
3
+ import { type TaoSize, type TaoVariant } from '../../provider/tao-provider';
4
+ import './date-picker.css';
5
+ import { type PresetItem, type TimeConfig } from './types';
6
+ export interface DatePickerProps {
7
+ value?: Dayjs | null;
8
+ defaultValue?: Dayjs | null;
9
+ onChange?: (date: Dayjs | null, dateString: string) => void;
10
+ picker?: 'date' | 'month' | 'year';
11
+ showTime?: boolean | TimeConfig;
12
+ format?: string;
13
+ disabledDate?: (date: Dayjs) => boolean;
14
+ minDate?: Dayjs;
15
+ maxDate?: Dayjs;
16
+ presets?: PresetItem[];
17
+ placeholder?: string;
18
+ size?: TaoSize;
19
+ variant?: TaoVariant;
20
+ disabled?: boolean;
21
+ allowClear?: boolean;
22
+ prefix?: ReactNode;
23
+ suffixIcon?: ReactNode;
24
+ status?: 'error' | 'warning';
25
+ mobile?: boolean;
26
+ open?: boolean;
27
+ onOpenChange?: (open: boolean) => void;
28
+ }
29
+ export declare function DatePicker({ value, onChange, picker, showTime, format: formatProp, disabledDate, minDate, maxDate, presets, placeholder, size, variant, disabled, allowClear, prefix, suffixIcon, status, mobile, open: controlledOpen, onOpenChange, }: DatePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,663 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { c } from "react/compiler-runtime";
3
+ import dayjs from "dayjs";
4
+ import { useEffect, useState } from "react";
5
+ import { useTaoConfig } from "../../provider/tao-provider.js";
6
+ import { Drawer } from "../drawer/drawer.js";
7
+ import { useIsMobile } from "../select/use-is-mobile.js";
8
+ import { CalendarGrid } from "./calendar/calendar-grid.js";
9
+ import { CalendarHeader } from "./calendar/calendar-header.js";
10
+ import { MonthGrid } from "./calendar/month-grid.js";
11
+ import { TimePanel } from "./calendar/time-panel.js";
12
+ import { YearGrid } from "./calendar/year-grid.js";
13
+ import "./date-picker.css";
14
+ import { Presets } from "./presets.js";
15
+ import { getDefaultFormat } from "./types.js";
16
+ import * as __rspack_external__radix_ui_react_popover_e2827c9f from "@radix-ui/react-popover";
17
+ function DatePicker(t0) {
18
+ const $ = c(152);
19
+ const { value, onChange, picker: t1, showTime, format: formatProp, disabledDate, minDate, maxDate, presets, placeholder, size, variant, disabled, allowClear: t2, prefix, suffixIcon, status, mobile, open: controlledOpen, onOpenChange } = t0;
20
+ const picker = void 0 === t1 ? "date" : t1;
21
+ const allowClear = void 0 === t2 ? true : t2;
22
+ const ctx = useTaoConfig();
23
+ const resolvedSize = size ?? ctx.size;
24
+ const resolvedVariant = variant ?? ctx.variant;
25
+ const resolvedDisabled = disabled ?? ctx.disabled;
26
+ const autoMobile = useIsMobile();
27
+ const isMobile = mobile ?? autoMobile;
28
+ let t3;
29
+ if ($[0] !== formatProp || $[1] !== picker || $[2] !== showTime) {
30
+ t3 = formatProp ?? getDefaultFormat(picker, showTime);
31
+ $[0] = formatProp;
32
+ $[1] = picker;
33
+ $[2] = showTime;
34
+ $[3] = t3;
35
+ } else t3 = $[3];
36
+ const fmt = t3;
37
+ const defaultPlaceholder = placeholder ?? fmt;
38
+ const drawerTitle = showTime ? "Date & Time" : defaultPlaceholder;
39
+ const [internalOpen, setInternalOpen] = useState(false);
40
+ const [hovering, setHovering] = useState(false);
41
+ const isOpen = controlledOpen ?? internalOpen;
42
+ let t4;
43
+ if ($[4] !== onOpenChange) {
44
+ t4 = (v)=>{
45
+ setInternalOpen(v);
46
+ onOpenChange?.(v);
47
+ };
48
+ $[4] = onOpenChange;
49
+ $[5] = t4;
50
+ } else t4 = $[5];
51
+ const setOpen = t4;
52
+ let t5;
53
+ if ($[6] !== value) {
54
+ t5 = ()=>value ?? dayjs();
55
+ $[6] = value;
56
+ $[7] = t5;
57
+ } else t5 = $[7];
58
+ const [viewDate, setViewDate] = useState(t5);
59
+ const [panelMode, setPanelMode] = useState("year" === picker ? "year" : "month" === picker ? "month" : "date");
60
+ const [timeScrollKey, setTimeScrollKey] = useState(0);
61
+ let t6;
62
+ if ($[8] !== isOpen || $[9] !== picker || $[10] !== value) {
63
+ t6 = ()=>{
64
+ if (isOpen) {
65
+ setViewDate(value ?? dayjs());
66
+ setPanelMode("year" === picker ? "year" : "month" === picker ? "month" : "date");
67
+ setTimeScrollKey(_temp);
68
+ }
69
+ };
70
+ $[8] = isOpen;
71
+ $[9] = picker;
72
+ $[10] = value;
73
+ $[11] = t6;
74
+ } else t6 = $[11];
75
+ let t7;
76
+ if ($[12] !== isOpen) {
77
+ t7 = [
78
+ isOpen
79
+ ];
80
+ $[12] = isOpen;
81
+ $[13] = t7;
82
+ } else t7 = $[13];
83
+ useEffect(t6, t7);
84
+ let t8;
85
+ if ($[14] !== value) {
86
+ t8 = value?.hour() ?? 0;
87
+ $[14] = value;
88
+ $[15] = t8;
89
+ } else t8 = $[15];
90
+ let t9;
91
+ if ($[16] !== value) {
92
+ t9 = value?.minute() ?? 0;
93
+ $[16] = value;
94
+ $[17] = t9;
95
+ } else t9 = $[17];
96
+ let t10;
97
+ if ($[18] !== value) {
98
+ t10 = value?.second() ?? 0;
99
+ $[18] = value;
100
+ $[19] = t10;
101
+ } else t10 = $[19];
102
+ let t11;
103
+ if ($[20] !== t10 || $[21] !== t8 || $[22] !== t9) {
104
+ t11 = {
105
+ hour: t8,
106
+ minute: t9,
107
+ second: t10
108
+ };
109
+ $[20] = t10;
110
+ $[21] = t8;
111
+ $[22] = t9;
112
+ $[23] = t11;
113
+ } else t11 = $[23];
114
+ const timeValue = t11;
115
+ let t12;
116
+ if ($[24] !== fmt || $[25] !== onChange || $[26] !== setOpen || $[27] !== showTime || $[28] !== value) {
117
+ t12 = (date)=>{
118
+ let result = date;
119
+ if (showTime && value) result = date.hour(value.hour()).minute(value.minute()).second(value.second());
120
+ if (showTime) onChange?.(result, result.format(fmt));
121
+ else {
122
+ onChange?.(result, result.format(fmt));
123
+ setOpen(false);
124
+ }
125
+ };
126
+ $[24] = fmt;
127
+ $[25] = onChange;
128
+ $[26] = setOpen;
129
+ $[27] = showTime;
130
+ $[28] = value;
131
+ $[29] = t12;
132
+ } else t12 = $[29];
133
+ const handleDateSelect = t12;
134
+ let t13;
135
+ if ($[30] !== fmt || $[31] !== onChange || $[32] !== picker || $[33] !== setOpen) {
136
+ t13 = (date_0)=>{
137
+ if ("month" === picker) {
138
+ onChange?.(date_0, date_0.format(fmt));
139
+ setOpen(false);
140
+ } else {
141
+ setViewDate(date_0);
142
+ setPanelMode("date");
143
+ }
144
+ };
145
+ $[30] = fmt;
146
+ $[31] = onChange;
147
+ $[32] = picker;
148
+ $[33] = setOpen;
149
+ $[34] = t13;
150
+ } else t13 = $[34];
151
+ const handleMonthSelect = t13;
152
+ let t14;
153
+ if ($[35] !== fmt || $[36] !== onChange || $[37] !== picker || $[38] !== setOpen) {
154
+ t14 = (date_1)=>{
155
+ if ("year" === picker) {
156
+ onChange?.(date_1, date_1.format(fmt));
157
+ setOpen(false);
158
+ } else {
159
+ setViewDate(date_1);
160
+ setPanelMode("month" === picker ? "month" : "date");
161
+ }
162
+ };
163
+ $[35] = fmt;
164
+ $[36] = onChange;
165
+ $[37] = picker;
166
+ $[38] = setOpen;
167
+ $[39] = t14;
168
+ } else t14 = $[39];
169
+ const handleYearSelect = t14;
170
+ let t15;
171
+ if ($[40] !== fmt || $[41] !== onChange || $[42] !== value) {
172
+ t15 = (h, m, s)=>{
173
+ const base = value ?? dayjs();
174
+ const result_0 = base.hour(h).minute(m).second(s);
175
+ onChange?.(result_0, result_0.format(fmt));
176
+ };
177
+ $[40] = fmt;
178
+ $[41] = onChange;
179
+ $[42] = value;
180
+ $[43] = t15;
181
+ } else t15 = $[43];
182
+ const handleTimeChange = t15;
183
+ let t16;
184
+ if ($[44] !== onChange) {
185
+ t16 = (e)=>{
186
+ e.stopPropagation();
187
+ onChange?.(null, "");
188
+ };
189
+ $[44] = onChange;
190
+ $[45] = t16;
191
+ } else t16 = $[45];
192
+ const handleClear = t16;
193
+ let t17;
194
+ if ($[46] !== fmt || $[47] !== onChange || $[48] !== setOpen) {
195
+ t17 = (val)=>{
196
+ const d = val;
197
+ onChange?.(d, d.format(fmt));
198
+ setOpen(false);
199
+ };
200
+ $[46] = fmt;
201
+ $[47] = onChange;
202
+ $[48] = setOpen;
203
+ $[49] = t17;
204
+ } else t17 = $[49];
205
+ const handlePresetSelect = t17;
206
+ let t18;
207
+ if ($[50] !== setOpen) {
208
+ t18 = ()=>{
209
+ setOpen(false);
210
+ };
211
+ $[50] = setOpen;
212
+ $[51] = t18;
213
+ } else t18 = $[51];
214
+ const handleOk = t18;
215
+ let t19;
216
+ if ($[52] !== fmt || $[53] !== onChange) {
217
+ t19 = ()=>{
218
+ const now = dayjs();
219
+ onChange?.(now, now.format(fmt));
220
+ setViewDate(now);
221
+ setPanelMode("date");
222
+ setTimeScrollKey(_temp2);
223
+ };
224
+ $[52] = fmt;
225
+ $[53] = onChange;
226
+ $[54] = t19;
227
+ } else t19 = $[54];
228
+ const handleNow = t19;
229
+ let t20;
230
+ if ($[55] !== fmt || $[56] !== value) {
231
+ t20 = value ? value.format(fmt) : "";
232
+ $[55] = fmt;
233
+ $[56] = value;
234
+ $[57] = t20;
235
+ } else t20 = $[57];
236
+ const displayValue = t20;
237
+ const showClearBtn = allowClear && value && !resolvedDisabled;
238
+ const showTimePanel = !!(showTime && "date" === panelMode);
239
+ let t21;
240
+ if ($[58] !== panelMode || $[59] !== viewDate) {
241
+ t21 = /*#__PURE__*/ jsx(CalendarHeader, {
242
+ viewDate: viewDate,
243
+ panelMode: panelMode,
244
+ onViewDateChange: setViewDate,
245
+ onPanelModeChange: setPanelMode
246
+ });
247
+ $[58] = panelMode;
248
+ $[59] = viewDate;
249
+ $[60] = t21;
250
+ } else t21 = $[60];
251
+ let t22;
252
+ if ($[61] !== disabledDate || $[62] !== handleDateSelect || $[63] !== maxDate || $[64] !== minDate || $[65] !== panelMode || $[66] !== value || $[67] !== viewDate) {
253
+ t22 = "date" === panelMode && /*#__PURE__*/ jsx(CalendarGrid, {
254
+ viewDate: viewDate,
255
+ value: value,
256
+ onSelect: handleDateSelect,
257
+ disabledDate: disabledDate,
258
+ minDate: minDate,
259
+ maxDate: maxDate
260
+ });
261
+ $[61] = disabledDate;
262
+ $[62] = handleDateSelect;
263
+ $[63] = maxDate;
264
+ $[64] = minDate;
265
+ $[65] = panelMode;
266
+ $[66] = value;
267
+ $[67] = viewDate;
268
+ $[68] = t22;
269
+ } else t22 = $[68];
270
+ let t23;
271
+ if ($[69] !== disabledDate || $[70] !== handleMonthSelect || $[71] !== panelMode || $[72] !== value || $[73] !== viewDate) {
272
+ t23 = "month" === panelMode && /*#__PURE__*/ jsx(MonthGrid, {
273
+ viewDate: viewDate,
274
+ value: value,
275
+ onSelect: handleMonthSelect,
276
+ disabledDate: disabledDate
277
+ });
278
+ $[69] = disabledDate;
279
+ $[70] = handleMonthSelect;
280
+ $[71] = panelMode;
281
+ $[72] = value;
282
+ $[73] = viewDate;
283
+ $[74] = t23;
284
+ } else t23 = $[74];
285
+ let t24;
286
+ if ($[75] !== disabledDate || $[76] !== handleYearSelect || $[77] !== panelMode || $[78] !== value || $[79] !== viewDate) {
287
+ t24 = ("year" === panelMode || "decade" === panelMode) && /*#__PURE__*/ jsx(YearGrid, {
288
+ viewDate: viewDate,
289
+ value: value,
290
+ onSelect: handleYearSelect,
291
+ disabledDate: disabledDate
292
+ });
293
+ $[75] = disabledDate;
294
+ $[76] = handleYearSelect;
295
+ $[77] = panelMode;
296
+ $[78] = value;
297
+ $[79] = viewDate;
298
+ $[80] = t24;
299
+ } else t24 = $[80];
300
+ let t25;
301
+ if ($[81] !== t22 || $[82] !== t23 || $[83] !== t24) {
302
+ t25 = /*#__PURE__*/ jsxs("div", {
303
+ "data-tao-picker-body": "",
304
+ children: [
305
+ t22,
306
+ t23,
307
+ t24
308
+ ]
309
+ });
310
+ $[81] = t22;
311
+ $[82] = t23;
312
+ $[83] = t24;
313
+ $[84] = t25;
314
+ } else t25 = $[84];
315
+ let t26;
316
+ if ($[85] !== t21 || $[86] !== t25) {
317
+ t26 = /*#__PURE__*/ jsxs(Fragment, {
318
+ children: [
319
+ t21,
320
+ t25
321
+ ]
322
+ });
323
+ $[85] = t21;
324
+ $[86] = t25;
325
+ $[87] = t26;
326
+ } else t26 = $[87];
327
+ const datePanel = t26;
328
+ const t27 = showTimePanel || void 0;
329
+ let t28;
330
+ if ($[88] !== datePanel || $[89] !== handleTimeChange || $[90] !== showTime || $[91] !== showTimePanel || $[92] !== timeScrollKey || $[93] !== timeValue) {
331
+ t28 = showTimePanel ? /*#__PURE__*/ jsxs("div", {
332
+ "data-tao-picker-datetime": "",
333
+ children: [
334
+ /*#__PURE__*/ jsx("div", {
335
+ "data-tao-picker-date-side": "",
336
+ children: datePanel
337
+ }),
338
+ /*#__PURE__*/ jsxs("div", {
339
+ "data-tao-picker-time": "",
340
+ children: [
341
+ /*#__PURE__*/ jsxs("div", {
342
+ "data-tao-time-header": "",
343
+ children: [
344
+ String(timeValue.hour).padStart(2, "0"),
345
+ ":",
346
+ String(timeValue.minute).padStart(2, "0"),
347
+ ":",
348
+ String(timeValue.second).padStart(2, "0")
349
+ ]
350
+ }),
351
+ /*#__PURE__*/ jsx(TimePanel, {
352
+ hour: timeValue.hour,
353
+ minute: timeValue.minute,
354
+ second: timeValue.second,
355
+ onChange: handleTimeChange,
356
+ config: "object" == typeof showTime ? showTime : void 0,
357
+ scrollKey: timeScrollKey
358
+ })
359
+ ]
360
+ })
361
+ ]
362
+ }) : datePanel;
363
+ $[88] = datePanel;
364
+ $[89] = handleTimeChange;
365
+ $[90] = showTime;
366
+ $[91] = showTimePanel;
367
+ $[92] = timeScrollKey;
368
+ $[93] = timeValue;
369
+ $[94] = t28;
370
+ } else t28 = $[94];
371
+ let t29;
372
+ if ($[95] !== handlePresetSelect || $[96] !== presets) {
373
+ t29 = presets && presets.length > 0 && /*#__PURE__*/ jsx(Presets, {
374
+ items: presets,
375
+ onSelect: handlePresetSelect
376
+ });
377
+ $[95] = handlePresetSelect;
378
+ $[96] = presets;
379
+ $[97] = t29;
380
+ } else t29 = $[97];
381
+ let t30;
382
+ if ($[98] !== handleNow || $[99] !== handleOk || $[100] !== showTimePanel) {
383
+ t30 = showTimePanel && /*#__PURE__*/ jsxs("div", {
384
+ "data-tao-picker-footer": "",
385
+ children: [
386
+ /*#__PURE__*/ jsx("button", {
387
+ type: "button",
388
+ "data-tao-picker-footer-btn": "",
389
+ onClick: handleNow,
390
+ children: "Now"
391
+ }),
392
+ /*#__PURE__*/ jsx("button", {
393
+ type: "button",
394
+ "data-tao-picker-footer-btn": "",
395
+ "data-tao-primary": "",
396
+ onClick: handleOk,
397
+ children: "OK"
398
+ })
399
+ ]
400
+ });
401
+ $[98] = handleNow;
402
+ $[99] = handleOk;
403
+ $[100] = showTimePanel;
404
+ $[101] = t30;
405
+ } else t30 = $[101];
406
+ let t31;
407
+ if ($[102] !== t27 || $[103] !== t28 || $[104] !== t29 || $[105] !== t30) {
408
+ t31 = /*#__PURE__*/ jsxs("div", {
409
+ "data-tao-picker-panel": "",
410
+ "data-tao-has-time": t27,
411
+ children: [
412
+ t28,
413
+ t29,
414
+ t30
415
+ ]
416
+ });
417
+ $[102] = t27;
418
+ $[103] = t28;
419
+ $[104] = t29;
420
+ $[105] = t30;
421
+ $[106] = t31;
422
+ } else t31 = $[106];
423
+ const panelContent = t31;
424
+ const t32 = "error" === status || void 0;
425
+ let t33;
426
+ if ($[107] !== isMobile || $[108] !== setOpen) {
427
+ t33 = isMobile ? ()=>setOpen(true) : void 0;
428
+ $[107] = isMobile;
429
+ $[108] = setOpen;
430
+ $[109] = t33;
431
+ } else t33 = $[109];
432
+ let t34;
433
+ let t35;
434
+ if ($[110] === Symbol.for("react.memo_cache_sentinel")) {
435
+ t34 = ()=>setHovering(true);
436
+ t35 = ()=>setHovering(false);
437
+ $[110] = t34;
438
+ $[111] = t35;
439
+ } else {
440
+ t34 = $[110];
441
+ t35 = $[111];
442
+ }
443
+ let t36;
444
+ if ($[112] !== prefix) {
445
+ t36 = null != prefix && /*#__PURE__*/ jsx("span", {
446
+ "data-tao-picker-prefix": "",
447
+ children: prefix
448
+ });
449
+ $[112] = prefix;
450
+ $[113] = t36;
451
+ } else t36 = $[113];
452
+ let t37;
453
+ if ($[114] !== defaultPlaceholder || $[115] !== displayValue) {
454
+ t37 = displayValue || /*#__PURE__*/ jsx("span", {
455
+ "data-tao-picker-placeholder": "",
456
+ children: defaultPlaceholder
457
+ });
458
+ $[114] = defaultPlaceholder;
459
+ $[115] = displayValue;
460
+ $[116] = t37;
461
+ } else t37 = $[116];
462
+ let t38;
463
+ if ($[117] !== t37) {
464
+ t38 = /*#__PURE__*/ jsx("span", {
465
+ "data-tao-picker-input": "",
466
+ children: t37
467
+ });
468
+ $[117] = t37;
469
+ $[118] = t38;
470
+ } else t38 = $[118];
471
+ let t39;
472
+ if ($[119] !== handleClear || $[120] !== hovering || $[121] !== showClearBtn || $[122] !== suffixIcon) {
473
+ t39 = /*#__PURE__*/ jsx("span", {
474
+ "data-tao-picker-icons": "",
475
+ children: showClearBtn && hovering ? /*#__PURE__*/ jsx("span", {
476
+ "data-tao-picker-clear": "",
477
+ onClick: handleClear,
478
+ role: "button",
479
+ "aria-label": "Clear",
480
+ children: /*#__PURE__*/ jsx(CloseIcon, {})
481
+ }) : /*#__PURE__*/ jsx("span", {
482
+ "data-tao-picker-suffix": "",
483
+ children: suffixIcon ?? /*#__PURE__*/ jsx(CalendarIcon, {})
484
+ })
485
+ });
486
+ $[119] = handleClear;
487
+ $[120] = hovering;
488
+ $[121] = showClearBtn;
489
+ $[122] = suffixIcon;
490
+ $[123] = t39;
491
+ } else t39 = $[123];
492
+ let t40;
493
+ if ($[124] !== resolvedDisabled || $[125] !== resolvedSize || $[126] !== resolvedVariant || $[127] !== t32 || $[128] !== t33 || $[129] !== t36 || $[130] !== t38 || $[131] !== t39) {
494
+ t40 = /*#__PURE__*/ jsxs("button", {
495
+ type: "button",
496
+ "data-tao-control": "",
497
+ "data-tao-picker-trigger": "",
498
+ "data-tao-size": resolvedSize,
499
+ "data-tao-variant": resolvedVariant,
500
+ "data-tao-error": t32,
501
+ disabled: resolvedDisabled,
502
+ onClick: t33,
503
+ onMouseEnter: t34,
504
+ onMouseLeave: t35,
505
+ children: [
506
+ t36,
507
+ t38,
508
+ t39
509
+ ]
510
+ });
511
+ $[124] = resolvedDisabled;
512
+ $[125] = resolvedSize;
513
+ $[126] = resolvedVariant;
514
+ $[127] = t32;
515
+ $[128] = t33;
516
+ $[129] = t36;
517
+ $[130] = t38;
518
+ $[131] = t39;
519
+ $[132] = t40;
520
+ } else t40 = $[132];
521
+ const trigger = t40;
522
+ if (isMobile) {
523
+ let t41;
524
+ if ($[133] !== setOpen) {
525
+ t41 = ()=>setOpen(false);
526
+ $[133] = setOpen;
527
+ $[134] = t41;
528
+ } else t41 = $[134];
529
+ let t42;
530
+ if ($[135] !== drawerTitle || $[136] !== isOpen || $[137] !== panelContent || $[138] !== t41) {
531
+ t42 = /*#__PURE__*/ jsx(Drawer, {
532
+ open: isOpen,
533
+ onClose: t41,
534
+ placement: "bottom",
535
+ title: drawerTitle,
536
+ height: "auto",
537
+ children: panelContent
538
+ });
539
+ $[135] = drawerTitle;
540
+ $[136] = isOpen;
541
+ $[137] = panelContent;
542
+ $[138] = t41;
543
+ $[139] = t42;
544
+ } else t42 = $[139];
545
+ let t43;
546
+ if ($[140] !== t42 || $[141] !== trigger) {
547
+ t43 = /*#__PURE__*/ jsxs(Fragment, {
548
+ children: [
549
+ trigger,
550
+ t42
551
+ ]
552
+ });
553
+ $[140] = t42;
554
+ $[141] = trigger;
555
+ $[142] = t43;
556
+ } else t43 = $[142];
557
+ return t43;
558
+ }
559
+ let t41;
560
+ if ($[143] !== trigger) {
561
+ t41 = /*#__PURE__*/ jsx(__rspack_external__radix_ui_react_popover_e2827c9f.Trigger, {
562
+ asChild: true,
563
+ children: trigger
564
+ });
565
+ $[143] = trigger;
566
+ $[144] = t41;
567
+ } else t41 = $[144];
568
+ let t42;
569
+ if ($[145] !== panelContent) {
570
+ t42 = /*#__PURE__*/ jsx(__rspack_external__radix_ui_react_popover_e2827c9f.Portal, {
571
+ children: /*#__PURE__*/ jsx(__rspack_external__radix_ui_react_popover_e2827c9f.Content, {
572
+ "data-tao-picker-dropdown": "",
573
+ sideOffset: 4,
574
+ align: "start",
575
+ onOpenAutoFocus: _temp3,
576
+ children: panelContent
577
+ })
578
+ });
579
+ $[145] = panelContent;
580
+ $[146] = t42;
581
+ } else t42 = $[146];
582
+ let t43;
583
+ if ($[147] !== isOpen || $[148] !== setOpen || $[149] !== t41 || $[150] !== t42) {
584
+ t43 = /*#__PURE__*/ jsxs(__rspack_external__radix_ui_react_popover_e2827c9f.Root, {
585
+ open: isOpen,
586
+ onOpenChange: setOpen,
587
+ children: [
588
+ t41,
589
+ t42
590
+ ]
591
+ });
592
+ $[147] = isOpen;
593
+ $[148] = setOpen;
594
+ $[149] = t41;
595
+ $[150] = t42;
596
+ $[151] = t43;
597
+ } else t43 = $[151];
598
+ return t43;
599
+ }
600
+ function _temp3(e_0) {
601
+ return e_0.preventDefault();
602
+ }
603
+ function _temp2(k_0) {
604
+ return k_0 + 1;
605
+ }
606
+ function _temp(k) {
607
+ return k + 1;
608
+ }
609
+ function CalendarIcon() {
610
+ const $ = c(1);
611
+ let t0;
612
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
613
+ t0 = /*#__PURE__*/ jsxs("svg", {
614
+ width: "16",
615
+ height: "16",
616
+ viewBox: "0 0 24 24",
617
+ fill: "none",
618
+ stroke: "currentColor",
619
+ strokeWidth: "2",
620
+ strokeLinecap: "round",
621
+ strokeLinejoin: "round",
622
+ children: [
623
+ /*#__PURE__*/ jsx("path", {
624
+ d: "M8 2v4M16 2v4"
625
+ }),
626
+ /*#__PURE__*/ jsx("rect", {
627
+ width: "18",
628
+ height: "18",
629
+ x: "3",
630
+ y: "4",
631
+ rx: "2"
632
+ }),
633
+ /*#__PURE__*/ jsx("path", {
634
+ d: "M3 10h18"
635
+ })
636
+ ]
637
+ });
638
+ $[0] = t0;
639
+ } else t0 = $[0];
640
+ return t0;
641
+ }
642
+ function CloseIcon() {
643
+ const $ = c(1);
644
+ let t0;
645
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
646
+ t0 = /*#__PURE__*/ jsx("svg", {
647
+ width: "16",
648
+ height: "16",
649
+ viewBox: "0 0 24 24",
650
+ fill: "none",
651
+ stroke: "currentColor",
652
+ strokeWidth: "2",
653
+ strokeLinecap: "round",
654
+ strokeLinejoin: "round",
655
+ children: /*#__PURE__*/ jsx("path", {
656
+ d: "M18 6 6 18M6 6l12 12"
657
+ })
658
+ });
659
+ $[0] = t0;
660
+ } else t0 = $[0];
661
+ return t0;
662
+ }
663
+ export { DatePicker };
@@ -0,0 +1,9 @@
1
+ interface PresetsProps {
2
+ items: Array<{
3
+ label: string;
4
+ value: unknown;
5
+ }>;
6
+ onSelect: (value: unknown) => void;
7
+ }
8
+ export declare function Presets({ items, onSelect }: PresetsProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export {};