hys-ui 0.7.0 → 0.8.0

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 (32) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/components/HysDatePicker/HysDatePicker.vue.js +102 -48
  3. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
  4. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +874 -532
  5. package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +2 -2
  6. package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +209 -168
  7. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +102 -48
  8. package/dist/composables/datePicker.js +153 -94
  9. package/dist/composables/datePickerModel.js +156 -0
  10. package/dist/composables/datePickerPanels.js +78 -0
  11. package/dist/composables/datePickerRules.js +166 -0
  12. package/dist/composables/floatingPosition.js +32 -13
  13. package/dist/composables/useDatePicker.js +274 -381
  14. package/dist/composables/useFloating.js +21 -20
  15. package/dist/style.css +1 -1
  16. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +6 -9
  17. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +12 -0
  18. package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +6 -0
  19. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +6 -9
  20. package/dist/types/components/HysIcon/HysIcon.vue.d.ts +1 -1
  21. package/dist/types/composables/datePicker.d.ts +14 -214
  22. package/dist/types/composables/datePickerModel.d.ts +63 -0
  23. package/dist/types/composables/datePickerPanels.d.ts +23 -0
  24. package/dist/types/composables/datePickerRules.d.ts +31 -0
  25. package/dist/types/composables/datePickerTypes.d.ts +277 -0
  26. package/dist/types/composables/floatingPosition.d.ts +1 -1
  27. package/dist/types/composables/useColorPicker.d.ts +1 -3
  28. package/dist/types/composables/useContextMenu.d.ts +1 -3
  29. package/dist/types/composables/useDatePicker.d.ts +20 -11
  30. package/dist/types/composables/useFloating.d.ts +2 -3
  31. package/dist/types/index.d.ts +1 -1
  32. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { type HysDatePickerProps, type HysDatePickerValue, type HysDatePickerChange, type HysDateScalar, type HysDatePickerView, type HysDatePickerSlots } from "../../composables/datePicker";
1
+ import { type HysDatePickerProps, type HysDatePickerValue, type HysDatePickerChange, type HysDateCalendarChange, type HysDateScalar, type HysDatePickerView, type HysDatePickerSlots } from "../../composables/datePicker";
2
2
  declare const __VLS_export: <V extends HysDatePickerValue = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import("vue").PublicProps & __VLS_PrettifyLocal<HysDatePickerProps<V> & {
4
4
  onChange?: ((value: V, info: HysDatePickerChange) => any) | undefined;
@@ -17,13 +17,13 @@ declare const __VLS_export: <V extends HysDatePickerValue = string>(__VLS_props:
17
17
  onPanelChange?: ((date: Date, view: HysDatePickerView, context: {
18
18
  index: number;
19
19
  }) => any) | undefined;
20
+ onOpenChange?: ((value: boolean) => any) | undefined;
20
21
  "onVisible-change"?: ((value: boolean) => any) | undefined;
21
22
  "onUpdate:panelValue"?: ((value: HysDateScalar) => any) | undefined;
22
- onCalendarChange?: ((value: HysDatePickerValue, context: {
23
- range: "start" | "end";
24
- dates: readonly (Date | null)[];
25
- }) => any) | undefined;
23
+ "onUpdate:panelValues"?: ((value: readonly [Date, Date]) => any) | undefined;
24
+ onCalendarChange?: ((value: HysDatePickerValue, context: HysDateCalendarChange) => any) | undefined;
26
25
  onOk?: ((value: V) => any) | undefined;
26
+ "onUpdate:value"?: ((value: V) => any) | undefined;
27
27
  }> & (typeof globalThis extends {
28
28
  __VLS_PROPS_FALLBACK: infer P;
29
29
  } ? P : {});
@@ -53,10 +53,7 @@ declare const __VLS_export: <V extends HysDatePickerValue = string>(__VLS_props:
53
53
  error?: unknown;
54
54
  }) => void) & ((evt: "value-change", value: V, info: HysDatePickerChange) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:mode", value: HysDatePickerView) => void) & ((evt: "panelChange", date: Date, view: HysDatePickerView, context: {
55
55
  index: number;
56
- }) => void) & ((evt: "visible-change", value: boolean) => void) & ((evt: "update:panelValue", value: HysDateScalar) => void) & ((evt: "calendarChange", value: HysDatePickerValue, context: {
57
- range: "start" | "end";
58
- dates: readonly (Date | null)[];
59
- }) => void) & ((evt: "ok", value: V) => void);
56
+ }) => void) & ((evt: "openChange", value: boolean) => void) & ((evt: "visible-change", value: boolean) => void) & ((evt: "update:panelValue", value: HysDateScalar) => void) & ((evt: "update:panelValues", value: readonly [Date, Date]) => void) & ((evt: "calendarChange", value: HysDatePickerValue, context: HysDateCalendarChange) => void) & ((evt: "ok", value: V) => void) & ((evt: "update:value", value: V) => void);
60
57
  }>) => import("vue").VNode & {
61
58
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
62
59
  };
@@ -38,10 +38,13 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
38
38
  "update:open": (...args: any[]) => void;
39
39
  "update:mode": (...args: any[]) => void;
40
40
  panelChange: (...args: any[]) => void;
41
+ openChange: (...args: any[]) => void;
41
42
  "visible-change": (...args: any[]) => void;
42
43
  "update:panelValue": (...args: any[]) => void;
44
+ "update:panelValues": (...args: any[]) => void;
43
45
  calendarChange: (...args: any[]) => void;
44
46
  ok: (...args: any[]) => void;
47
+ "update:value": (...args: any[]) => void;
45
48
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
46
49
  onChange?: ((...args: any[]) => any) | undefined;
47
50
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -53,16 +56,20 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
53
56
  "onUpdate:open"?: ((...args: any[]) => any) | undefined;
54
57
  "onUpdate:mode"?: ((...args: any[]) => any) | undefined;
55
58
  onPanelChange?: ((...args: any[]) => any) | undefined;
59
+ onOpenChange?: ((...args: any[]) => any) | undefined;
56
60
  "onVisible-change"?: ((...args: any[]) => any) | undefined;
57
61
  "onUpdate:panelValue"?: ((...args: any[]) => any) | undefined;
62
+ "onUpdate:panelValues"?: ((...args: any[]) => any) | undefined;
58
63
  onCalendarChange?: ((...args: any[]) => any) | undefined;
59
64
  onOk?: ((...args: any[]) => any) | undefined;
65
+ "onUpdate:value"?: ((...args: any[]) => any) | undefined;
60
66
  }>, {
61
67
  bordered: boolean;
62
68
  type: import("../..").HysDatePickerType;
63
69
  locale: string;
64
70
  open: boolean;
65
71
  clearable: boolean;
72
+ allowClear: boolean;
66
73
  validateEvent: boolean;
67
74
  appendTo: string | false | HTMLElement;
68
75
  showFooter: boolean;
@@ -70,8 +77,12 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
70
77
  firstDayOfWeek: number;
71
78
  showAdjacentDays: boolean;
72
79
  editable: boolean;
80
+ showWeekNumber: boolean;
81
+ automaticDropdown: boolean;
73
82
  showNow: boolean;
74
83
  showConfirm: boolean;
84
+ use12Hours: boolean;
85
+ hideDisabledOptions: boolean;
75
86
  hourStep: number;
76
87
  minuteStep: number;
77
88
  secondStep: number;
@@ -79,6 +90,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
79
90
  rangeSeparator: string;
80
91
  singlePanel: boolean;
81
92
  rangeValidation: "endpoints" | "continuous";
93
+ teleported: boolean;
82
94
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
83
95
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
84
96
  declare const _default: typeof __VLS_export;
@@ -5,6 +5,7 @@ type __VLS_Props = {
5
5
  unit: HysDatePickerUnit;
6
6
  selected: readonly (HysDatePoint | null)[];
7
7
  range: boolean;
8
+ stage: "start" | "end";
8
9
  preview?: number;
9
10
  first: number;
10
11
  weekContains: number;
@@ -65,6 +66,11 @@ declare const __VLS_template: () => {
65
66
  weekYear: number;
66
67
  weekStart: string;
67
68
  weekEnd: string;
69
+ range?: "start" | "end";
70
+ rangeStart?: boolean;
71
+ rangeEnd?: boolean;
72
+ row?: number;
73
+ column?: number;
68
74
  }) => any;
69
75
  };
70
76
  };
@@ -1,4 +1,4 @@
1
- import { type HysDateRangePickerProps, type HysDatePickerValue, type HysDatePickerChange, type HysDateScalar, type HysDatePickerView, type HysDatePickerSlots } from "../../composables/datePicker";
1
+ import { type HysDateRangePickerProps, type HysDatePickerValue, type HysDatePickerChange, type HysDateCalendarChange, type HysDateScalar, type HysDatePickerView, type HysDatePickerSlots } from "../../composables/datePicker";
2
2
  declare const __VLS_export: <V extends HysDatePickerValue = [string, string]>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import("vue").PublicProps & __VLS_PrettifyLocal<HysDateRangePickerProps<V> & {
4
4
  onChange?: ((value: V, info: HysDatePickerChange) => any) | undefined;
@@ -17,13 +17,13 @@ declare const __VLS_export: <V extends HysDatePickerValue = [string, string]>(__
17
17
  onPanelChange?: ((date: Date, view: HysDatePickerView, context: {
18
18
  index: number;
19
19
  }) => any) | undefined;
20
+ onOpenChange?: ((value: boolean) => any) | undefined;
20
21
  "onVisible-change"?: ((value: boolean) => any) | undefined;
21
22
  "onUpdate:panelValue"?: ((value: HysDateScalar) => any) | undefined;
22
- onCalendarChange?: ((value: HysDatePickerValue, context: {
23
- range: "start" | "end";
24
- dates: readonly (Date | null)[];
25
- }) => any) | undefined;
23
+ "onUpdate:panelValues"?: ((value: readonly [Date, Date]) => any) | undefined;
24
+ onCalendarChange?: ((value: HysDatePickerValue, context: HysDateCalendarChange) => any) | undefined;
26
25
  onOk?: ((value: V) => any) | undefined;
26
+ "onUpdate:value"?: ((value: V) => any) | undefined;
27
27
  }> & (typeof globalThis extends {
28
28
  __VLS_PROPS_FALLBACK: infer P;
29
29
  } ? P : {});
@@ -53,10 +53,7 @@ declare const __VLS_export: <V extends HysDatePickerValue = [string, string]>(__
53
53
  error?: unknown;
54
54
  }) => void) & ((evt: "value-change", value: V, info: HysDatePickerChange) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:mode", value: HysDatePickerView) => void) & ((evt: "panelChange", date: Date, view: HysDatePickerView, context: {
55
55
  index: number;
56
- }) => void) & ((evt: "visible-change", value: boolean) => void) & ((evt: "update:panelValue", value: HysDateScalar) => void) & ((evt: "calendarChange", value: HysDatePickerValue, context: {
57
- range: "start" | "end";
58
- dates: readonly (Date | null)[];
59
- }) => void) & ((evt: "ok", value: V) => void);
56
+ }) => void) & ((evt: "openChange", value: boolean) => void) & ((evt: "visible-change", value: boolean) => void) & ((evt: "update:panelValue", value: HysDateScalar) => void) & ((evt: "update:panelValues", value: readonly [Date, Date]) => void) & ((evt: "calendarChange", value: HysDatePickerValue, context: HysDateCalendarChange) => void) & ((evt: "ok", value: V) => void) & ((evt: "update:value", value: V) => void);
60
57
  }>) => import("vue").VNode & {
61
58
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
62
59
  };
@@ -56,6 +56,7 @@ declare const __VLS_base: import("vue").DefineComponent<HysIconProps, {
56
56
  fallback: false | HysIconReference;
57
57
  loadingIcon: false | HysIconReference;
58
58
  selected: boolean;
59
+ picker: boolean;
59
60
  directional: boolean;
60
61
  badge: string | number | boolean;
61
62
  flipX: boolean;
@@ -63,7 +64,6 @@ declare const __VLS_base: import("vue").DefineComponent<HysIconProps, {
63
64
  animated: boolean;
64
65
  decorative: boolean;
65
66
  clickable: boolean;
66
- picker: boolean;
67
67
  allowUpload: boolean;
68
68
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
69
69
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,218 +1,16 @@
1
- import type { HysPopupTransition } from '../motion/popup';
2
- import type { CSSProperties } from "vue";
3
- import type { Placement } from "./useFloating";
4
- export type HysDateScalar = string | Date | number;
5
- export type HysDatePickerValue = HysDateScalar | readonly (HysDateScalar | null)[] | null;
6
- export type HysDateRangeValue = readonly [HysDateScalar | null, HysDateScalar | null] | null;
7
- export type HysDatePickerType = "date" | "dates" | "week" | "weeks" | "month" | "months" | "quarter" | "quarters" | "year" | "years" | "datetime";
8
- export type HysDatePickerView = "date" | "month" | "quarter" | "year";
9
- export type HysDatePickerUnit = "date" | "week" | "month" | "quarter" | "year";
10
- export interface HysDatePoint {
11
- day: number;
12
- second: number;
13
- }
14
- export interface HysDatePickerContext {
15
- range: "start" | "end";
16
- from: Date | null;
17
- iso: string;
18
- }
19
- export interface HysDateDisabledTime {
20
- hours?: readonly number[];
21
- minutes?: (hour: number) => readonly number[];
22
- seconds?: (hour: number, minute: number) => readonly number[];
23
- }
24
- export interface HysDateShortcut {
25
- label: string;
26
- value: HysDatePickerValue | (() => HysDatePickerValue);
27
- disabled?: boolean;
28
- }
29
- export interface HysDatePickerCell {
30
- date: Date;
31
- iso: string;
32
- value: number;
33
- end: number;
34
- text: string;
35
- type: HysDatePickerView;
36
- outside: boolean;
37
- disabled: boolean;
38
- selected: boolean;
39
- inRange: boolean;
40
- today: boolean;
41
- week: number;
42
- weekYear: number;
43
- weekStart: string;
44
- weekEnd: string;
45
- }
46
- export interface HysDatePickerWeek {
47
- year: number;
48
- week: number;
49
- start: string;
50
- end: string;
51
- dates: readonly string[];
52
- }
53
- export interface HysDatePickerChange {
54
- source: "date" | "time" | "input" | "shortcut" | "clear" | "confirm" | "api";
55
- dates: readonly (Date | null)[];
56
- formatted: readonly string[];
57
- weeks?: readonly (HysDatePickerWeek | null)[];
58
- }
59
- export interface HysDatePickerLocale {
60
- today: string;
61
- now: string;
62
- clear: string;
63
- cancel: string;
64
- close: string;
65
- confirm: string;
66
- start: string;
67
- end: string;
68
- chooseStart: string;
69
- chooseEnd: string;
70
- invalid: string;
71
- week: string;
72
- year: string;
73
- month: string;
74
- back: string;
75
- prevMonth: string;
76
- nextMonth: string;
77
- prevYear: string;
78
- nextYear: string;
79
- hour: string;
80
- minute: string;
81
- second: string;
82
- empty: string;
83
- limit: string;
84
- }
85
- export interface HysDatePickerProps<V extends HysDatePickerValue = HysDatePickerValue> {
86
- popupTransition?: HysPopupTransition;
87
- popupTransitionDuration?: number;
88
- modelValue?: V;
89
- defaultValue?: V;
90
- clearValue?: V;
91
- type?: HysDatePickerType;
92
- valueType?: "string" | "date" | "timestamp";
93
- valueFormat?: string;
94
- format?: string;
95
- inputFormats?: readonly string[];
96
- disabled?: boolean | readonly [boolean, boolean];
97
- readonly?: boolean;
98
- size?: "sm" | "md" | "lg";
99
- status?: "error" | "warning" | "success";
100
- bordered?: boolean;
101
- placeholder?: string;
102
- label?: string;
103
- ariaLabel?: string;
104
- name?: string | readonly [string, string];
105
- form?: string;
106
- autofocus?: boolean;
107
- min?: HysDateScalar;
108
- max?: HysDateScalar;
109
- disabledDate?: (date: Date, context: HysDatePickerContext) => boolean;
110
- disabledTime?: (date: Date, context: HysDatePickerContext) => HysDateDisabledTime;
111
- firstDayOfWeek?: number;
112
- firstWeekContainsDate?: number;
113
- weekNumberFormatter?: (week: HysDatePickerWeek) => string;
114
- disabledWeek?: (week: HysDatePickerWeek) => boolean;
115
- weekValidation?: "any" | "full";
116
- locale?: string;
117
- messages?: Partial<HysDatePickerLocale>;
118
- showWeekNumbers?: boolean;
119
- showAdjacentDays?: boolean;
120
- defaultPickerValue?: HysDateScalar;
121
- panelValue?: HysDateScalar;
122
- mode?: HysDatePickerView;
123
- defaultMode?: HysDatePickerView;
124
- shortcuts?: readonly HysDateShortcut[];
125
- clearable?: boolean;
126
- editable?: boolean;
127
- inputReadonly?: boolean;
128
- showOnFocus?: boolean;
129
- showToday?: boolean;
130
- showNow?: boolean;
131
- showFooter?: boolean;
132
- showConfirm?: boolean;
133
- showTime?: boolean;
134
- defaultTime?: string | readonly [string, string];
135
- hourStep?: number;
136
- minuteStep?: number;
137
- secondStep?: number;
138
- showSeconds?: boolean;
139
- rangeSeparator?: string;
140
- startPlaceholder?: string;
141
- endPlaceholder?: string;
142
- allowEmpty?: readonly [boolean, boolean];
143
- singlePanel?: boolean;
144
- unlinkPanels?: boolean;
145
- minRangeDays?: number;
146
- maxRangeDays?: number;
147
- rangeValidation?: "endpoints" | "continuous";
148
- maxDates?: number;
149
- open?: boolean;
150
- defaultOpen?: boolean;
151
- inline?: boolean;
152
- placement?: Placement;
153
- appendTo?: string | HTMLElement | false;
154
- popupWidth?: number | string;
155
- popupClass?: string;
156
- popupStyle?: CSSProperties;
157
- validateEvent?: boolean;
158
- cellClassName?: (cell: HysDatePickerCell) => string;
159
- }
160
- export interface HysDateRangePickerProps<V extends HysDatePickerValue = HysDateRangeValue> extends HysDatePickerProps<V> {
161
- }
162
- export interface HysDatePickerInstance<V extends HysDatePickerValue = HysDatePickerValue> {
163
- readonly element: HTMLElement | undefined;
164
- readonly open: boolean;
165
- readonly value: V;
166
- readonly draft: readonly (Date | null)[];
167
- focus: () => void;
168
- blur: () => void;
169
- show: () => Promise<boolean>;
170
- hide: (restoreFocus?: boolean) => void;
171
- handleOpen: () => Promise<boolean>;
172
- handleClose: () => void;
173
- clear: () => Promise<boolean>;
174
- setValue: (value: V) => Promise<boolean>;
175
- confirm: () => Promise<boolean>;
176
- cancel: () => void;
177
- showMonth: (value: HysDateScalar) => Promise<boolean>;
178
- setMode: (view: HysDatePickerView) => boolean;
179
- }
180
- export interface HysDatePickerSlots {
181
- "week-number"?: (week: HysDatePickerWeek & {
182
- selected: boolean;
183
- disabled: boolean;
184
- }) => any;
185
- default?: (cell: HysDatePickerCell) => any;
186
- cell?: (cell: HysDatePickerCell) => any;
187
- prefix?: () => any;
188
- suffix?: () => any;
189
- "clear-icon"?: () => any;
190
- "prev-month"?: () => any;
191
- "next-month"?: () => any;
192
- "prev-year"?: () => any;
193
- "next-year"?: () => any;
194
- header?: (context: {
195
- dates: readonly (Date | null)[];
196
- view: HysDatePickerView;
197
- }) => any;
198
- footer?: (context: {
199
- dates: readonly (Date | null)[];
200
- confirm: () => Promise<boolean>;
201
- cancel: () => void;
202
- clear: () => Promise<boolean>;
203
- }) => any;
204
- shortcut?: (context: {
205
- shortcut: HysDateShortcut;
206
- index: number;
207
- }) => any;
208
- "range-separator"?: () => any;
209
- }
210
- export type HysDateRangePickerInstance<V extends HysDatePickerValue = HysDateRangeValue> = HysDatePickerInstance<V>;
1
+ import type { HysDatePickerLocale, HysDatePickerUnit, HysDatePickerValue, HysDatePickerWeek, HysDatePoint } from "./datePickerTypes";
2
+ export type * from "./datePickerTypes";
211
3
  export declare const datePickerDefaults: {
212
4
  readonly open: undefined;
213
5
  readonly showConfirm: undefined;
214
6
  readonly type: "date";
215
7
  readonly clearable: false;
8
+ readonly allowClear: undefined;
9
+ readonly automaticDropdown: undefined;
10
+ readonly showWeekNumber: undefined;
11
+ readonly use12Hours: undefined;
12
+ readonly hideDisabledOptions: undefined;
13
+ readonly teleported: undefined;
216
14
  readonly editable: false;
217
15
  readonly bordered: true;
218
16
  readonly firstDayOfWeek: 1;
@@ -234,15 +32,17 @@ export declare const datePickerDefaults: {
234
32
  export declare const datePickerWords: HysDatePickerLocale;
235
33
  export declare const datePickerEnglish: HysDatePickerLocale;
236
34
  export declare const DATE_MIN: number, DATE_MAX: number;
237
- export declare const dateUnit: (type: string | undefined) => HysDatePickerUnit;
35
+ export declare const dateRange: (type: string | undefined) => boolean;
36
+ export declare function dateUnit(type: string | undefined): HysDatePickerUnit;
238
37
  export declare const dateMultiple: (type: string | undefined) => boolean;
239
38
  export declare function datePattern(type: string | undefined, time?: boolean): "YYYY-MM-DD" | "YYYY" | "YYYY-MM-DD HH:mm:ss" | "YYYY-MM" | "YYYY-[Q]Q";
240
39
  export declare function datePeriod(day: number, unit: HysDatePickerUnit, first?: number): [number, number];
241
40
  export declare function dateTimeString(second: number): string;
242
- export declare function dateTimeSeconds(value: string | undefined): number;
41
+ export declare function dateTimeSeconds(value: string | Date | undefined): number;
243
42
  export declare function dateWeek(day: number, first?: number, contains?: number): HysDatePickerWeek;
244
- export declare function dateFormat(point: HysDatePoint, pattern: string, first?: number, contains?: number): string;
245
- export declare function datePoint(value: unknown, pattern?: string, first?: number, contains?: number): HysDatePoint | undefined;
43
+ export declare function dateFormat(point: HysDatePoint, pattern: string, first?: number, contains?: number, locale?: string): string;
44
+ export declare function datePoint(value: unknown, pattern?: string, first?: number, contains?: number, locale?: string): HysDatePoint | undefined;
45
+ export declare function dateClockPoint(value: string, format: string): HysDatePoint | undefined;
246
46
  export declare function dateNative(point: HysDatePoint): Date;
247
47
  export declare function dateEqual(a: HysDatePickerValue | undefined, b: HysDatePickerValue | undefined): boolean;
248
48
  export declare function dateClone<V extends HysDatePickerValue>(value: V): V;
@@ -0,0 +1,63 @@
1
+ import { type ComputedRef } from "vue";
2
+ import { type HysDateDisplayFormat, type HysDatePickerProps, type HysDatePickerValue, type HysDatePoint } from "./datePicker";
3
+ export declare function useDatePickerModel(props: HysDatePickerProps, range: ComputedRef<boolean>): {
4
+ time: ComputedRef<boolean>;
5
+ rangeDefaultTime: ComputedRef<boolean>;
6
+ unit: ComputedRef<import("./datePickerTypes").HysDatePickerUnit>;
7
+ multiple: ComputedRef<boolean>;
8
+ first: ComputedRef<number>;
9
+ weekContains: ComputedRef<number>;
10
+ pattern: ComputedRef<string>;
11
+ displayPattern: ComputedRef<HysDateDisplayFormat>;
12
+ words: ComputedRef<{
13
+ today: string;
14
+ now: string;
15
+ clear: string;
16
+ cancel: string;
17
+ close: string;
18
+ confirm: string;
19
+ start: string;
20
+ end: string;
21
+ chooseStart: string;
22
+ chooseEnd: string;
23
+ invalid: string;
24
+ week: string;
25
+ year: string;
26
+ month: string;
27
+ back: string;
28
+ prevMonth: string;
29
+ nextMonth: string;
30
+ prevYear: string;
31
+ nextYear: string;
32
+ hour: string;
33
+ minute: string;
34
+ second: string;
35
+ empty: string;
36
+ limit: string;
37
+ }>;
38
+ model: {
39
+ current: ComputedRef<HysDatePickerValue>;
40
+ commit: (value: HysDatePickerValue, update: (value: HysDatePickerValue) => void, change: (value: HysDatePickerValue) => void, notifyOnRequest?: boolean) => Promise<boolean>;
41
+ reset: () => void;
42
+ invalidate: () => void;
43
+ isLive: () => boolean;
44
+ };
45
+ current: ComputedRef<HysDatePickerValue>;
46
+ outputType: ComputedRef<"string" | "date" | "timestamp">;
47
+ parse: (value: unknown) => HysDatePoint | undefined;
48
+ boundary: (value: unknown) => HysDatePoint | undefined;
49
+ normalize: (point: HysDatePoint) => {
50
+ day: number;
51
+ second: number;
52
+ };
53
+ isEmpty: (value: HysDatePickerValue | undefined) => boolean;
54
+ points: (value?: HysDatePickerValue | undefined) => (HysDatePoint | null)[];
55
+ selected: ComputedRef<(HysDatePoint | null)[]>;
56
+ minPoint: ComputedRef<HysDatePoint | undefined>;
57
+ maxPoint: ComputedRef<HysDatePoint | undefined>;
58
+ encodePoint: (point: HysDatePoint) => string | number | Date;
59
+ encode: (list: readonly (HysDatePoint | null)[]) => HysDatePickerValue;
60
+ empty: () => HysDatePickerValue;
61
+ describe: (list?: (HysDatePoint | null)[]) => string[];
62
+ markClear: (value: HysDatePickerValue) => void;
63
+ };
@@ -0,0 +1,23 @@
1
+ import { type Ref } from "vue";
2
+ import { type HysDatePickerProps, type HysDatePickerUnit, type HysDatePickerView, type HysDatePoint } from "./datePicker";
3
+ interface DatePickerPanels {
4
+ props: HysDatePickerProps;
5
+ unit: Readonly<Ref<HysDatePickerUnit>>;
6
+ range: Readonly<Ref<boolean>>;
7
+ time: Readonly<Ref<boolean>>;
8
+ selected: Readonly<Ref<readonly (HysDatePoint | null)[]>>;
9
+ minPoint: Readonly<Ref<HysDatePoint | undefined>>;
10
+ maxPoint: Readonly<Ref<HysDatePoint | undefined>>;
11
+ boundary: (value: unknown) => HysDatePoint | undefined;
12
+ encodePoint: (point: HysDatePoint) => string | number | Date;
13
+ emit: (name: string, ...args: any[]) => void;
14
+ }
15
+ export declare function useDatePickerPanels({ props, unit, range, time, selected, minPoint, maxPoint, boundary, encodePoint, emit, }: DatePickerPanels): {
16
+ currentView: import("vue").ComputedRef<HysDatePickerView>;
17
+ rightView: Ref<HysDatePickerView, HysDatePickerView>;
18
+ panels: import("vue").ComputedRef<number[]>;
19
+ resetPanels: (today: number) => void;
20
+ setPanel: (day: number, index?: number) => boolean;
21
+ setMode: (mode: HysDatePickerView, index?: number) => boolean;
22
+ };
23
+ export {};
@@ -0,0 +1,31 @@
1
+ import type { Ref } from "vue";
2
+ import { type HysDatePickerContext, type HysDatePickerProps, type HysDatePickerUnit, type HysDatePoint } from "./datePicker";
3
+ interface DatePickerRules {
4
+ props: HysDatePickerProps;
5
+ range: Readonly<Ref<boolean>>;
6
+ multiple: Readonly<Ref<boolean>>;
7
+ time: Readonly<Ref<boolean>>;
8
+ unit: Readonly<Ref<HysDatePickerUnit>>;
9
+ first: Readonly<Ref<number>>;
10
+ weekContains: Readonly<Ref<number>>;
11
+ selected: Readonly<Ref<readonly (HysDatePoint | null)[]>>;
12
+ draft: Readonly<Ref<readonly (HysDatePoint | null)[]>>;
13
+ stage: Readonly<Ref<"start" | "end">>;
14
+ minPoint: Readonly<Ref<HysDatePoint | undefined>>;
15
+ maxPoint: Readonly<Ref<HysDatePoint | undefined>>;
16
+ }
17
+ export declare function useDatePickerRules({ props, range, multiple, time, unit, first, weekContains, selected, draft, stage, minPoint, maxPoint, }: DatePickerRules): {
18
+ context: (day: number, endpoint: number, from?: HysDatePoint | null) => HysDatePickerContext;
19
+ locked: (endpoint: number) => boolean;
20
+ available: (day: number, endpoint?: number, rangeLimit?: boolean, from?: HysDatePoint | null) => boolean;
21
+ periodAvailable: (start: number, end: number, endpoint?: number, rangeLimit?: boolean, fromPoint?: HysDatePoint | null) => boolean;
22
+ timeDisabled: (point: HysDatePoint, endpoint: number, from?: HysDatePoint | null) => {
23
+ hours: number[];
24
+ minutes: (hour: number) => number[];
25
+ seconds: (hour: number, minute: number) => number[];
26
+ };
27
+ validTime: (point: HysDatePoint, endpoint: number, from?: HysDatePoint | null) => boolean;
28
+ valid: (list: readonly (HysDatePoint | null)[], enforceLocks?: boolean) => boolean;
29
+ samePoint: (a: HysDatePoint | null | undefined, b: HysDatePoint | null | undefined) => boolean;
30
+ };
31
+ export {};