eco-vue-js 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. package/dist/components/DatePicker/WDatePicker.vue.d.ts +4 -0
  2. package/dist/components/DatePicker/WDatePicker.vue.d.ts.map +1 -1
  3. package/dist/components/DatePicker/WDatePicker.vue.js +6 -2
  4. package/dist/components/DatePicker/WDatePickerSingle.vue.d.ts +4 -0
  5. package/dist/components/DatePicker/WDatePickerSingle.vue.d.ts.map +1 -1
  6. package/dist/components/DatePicker/WDatePickerSingle.vue.js +44 -53
  7. package/dist/components/DatePicker/components/CalendarDay.vue.d.ts +6 -2
  8. package/dist/components/DatePicker/components/CalendarDay.vue.d.ts.map +1 -1
  9. package/dist/components/DatePicker/components/CalendarDay.vue.js +21 -10
  10. package/dist/components/DatePicker/components/CalendarMonth.vue.d.ts +6 -0
  11. package/dist/components/DatePicker/components/CalendarMonth.vue.d.ts.map +1 -1
  12. package/dist/components/DatePicker/components/CalendarMonth.vue.js +14 -2
  13. package/dist/components/DatePicker/components/CalendarWeek.vue.d.ts +6 -0
  14. package/dist/components/DatePicker/components/CalendarWeek.vue.d.ts.map +1 -1
  15. package/dist/components/DatePicker/components/CalendarWeek.vue.js +14 -2
  16. package/dist/components/Input/WInputDate.vue.d.ts +10 -6
  17. package/dist/components/Input/WInputDate.vue.d.ts.map +1 -1
  18. package/dist/components/Input/WInputDate.vue.js +27 -4
  19. package/dist/components/Input/WInputSuggest.vue.js +1 -1
  20. package/dist/components/Input/types.d.ts +5 -0
  21. package/dist/components/Input/types.d.ts.map +1 -1
  22. package/dist/main.js +1 -1
  23. package/dist/utils/dateTime.d.ts +1 -0
  24. package/dist/utils/dateTime.d.ts.map +1 -1
  25. package/dist/utils/dateTime.js +6 -1
  26. package/package.json +1 -1
@@ -2,10 +2,14 @@ import { DateRange } from './models/types';
2
2
 
3
3
  declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
4
4
  modelValue: DateRange | undefined;
5
+ minDate?: Date;
6
+ maxDate?: Date;
5
7
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
8
  "update:modelValue": (value: DateRange | undefined) => void;
7
9
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<{
8
10
  modelValue: DateRange | undefined;
11
+ minDate?: Date;
12
+ maxDate?: Date;
9
13
  }>>> & {
10
14
  "onUpdate:modelValue"?: ((value: DateRange | undefined) => any) | undefined;
11
15
  }, {}, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"WDatePicker.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/WDatePicker.vue"],"names":[],"mappings":"AAuJA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAA;;gBAK/B,SAAS,GAAG,SAAS;;;;gBAArB,SAAS,GAAG,SAAS;;;;AA+UnC,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
1
+ {"version":3,"file":"WDatePicker.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/WDatePicker.vue"],"names":[],"mappings":"AA2JA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAA;;gBAK/B,SAAS,GAAG,SAAS;cACvB,IAAI;cACJ,IAAI;;;;gBAFF,SAAS,GAAG,SAAS;cACvB,IAAI;cACJ,IAAI;;;;AA+UhB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -10,7 +10,9 @@ const _hoisted_3 = { class: "relative" };
10
10
  const _sfc_main = /* @__PURE__ */ defineComponent({
11
11
  __name: "WDatePicker",
12
12
  props: {
13
- modelValue: {}
13
+ modelValue: {},
14
+ minDate: {},
15
+ maxDate: {}
14
16
  },
15
17
  emits: ["update:modelValue"],
16
18
  setup(__props, { emit: __emit }) {
@@ -114,10 +116,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
116
  "start-of-month": currentDate.value,
115
117
  "date-range": dateRange.value,
116
118
  "is-hover-enabled": preselectedValue.value !== null,
119
+ "min-date": _ctx.minDate,
120
+ "max-date": _ctx.maxDate,
117
121
  class: "px-3",
118
122
  "onClick:day": onClickDay,
119
123
  "onHover:day": setRange
120
- }, null, 8, ["start-of-month", "date-range", "is-hover-enabled"]))
124
+ }, null, 8, ["start-of-month", "date-range", "is-hover-enabled", "min-date", "max-date"]))
121
125
  ]),
122
126
  _: 1
123
127
  })
@@ -1,11 +1,15 @@
1
1
  declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
2
2
  modelValue: Date | undefined;
3
3
  title?: string;
4
+ minDate?: Date;
5
+ maxDate?: Date;
4
6
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
7
  "update:modelValue": (value: Date | undefined) => void;
6
8
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<{
7
9
  modelValue: Date | undefined;
8
10
  title?: string;
11
+ minDate?: Date;
12
+ maxDate?: Date;
9
13
  }>>> & {
10
14
  "onUpdate:modelValue"?: ((value: Date | undefined) => any) | undefined;
11
15
  }, {}, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"WDatePickerSingle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/WDatePickerSingle.vue"],"names":[],"mappings":";gBAkHc,IAAI,GAAG,SAAS;YACpB,MAAM;;;;gBADF,IAAI,GAAG,SAAS;YACpB,MAAM;;;;AAgQhB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
1
+ {"version":3,"file":"WDatePickerSingle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/WDatePickerSingle.vue"],"names":[],"mappings":";gBAwGc,IAAI,GAAG,SAAS;YACpB,MAAM;cACJ,IAAI;cACJ,IAAI;;;;gBAHF,IAAI,GAAG,SAAS;YACpB,MAAM;cACJ,IAAI;cACJ,IAAI;;;;AAiOhB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -1,17 +1,17 @@
1
- import { defineComponent, ref, computed, watch, toRef, openBlock, createElementBlock, createElementVNode, createVNode, normalizeStyle, unref, Transition, withCtx, createBlock } from 'vue';
1
+ import { defineComponent, ref, computed, watch, toRef, openBlock, createElementBlock, normalizeStyle, createElementVNode, createVNode, unref, Transition, withCtx, createBlock } from 'vue';
2
2
  import { getStartOfMonth, getStartOfWeek, addDay, monthShortFormatter, addMonth, addYear } from '../../utils/dateTime.js';
3
- import _sfc_main$3 from './components/CalendarMonth.vue.js';
4
- import _sfc_main$2 from './components/CalendarToggle.vue.js';
5
- import _sfc_main$1 from './components/CalendarValue.vue.js';
3
+ import _sfc_main$2 from './components/CalendarMonth.vue.js';
4
+ import _sfc_main$1 from './components/CalendarToggle.vue.js';
6
5
 
7
- const _hoisted_1 = { class: "mb-4" };
8
- const _hoisted_2 = { class: "grid grid-cols-2 px-3 pb-4" };
9
- const _hoisted_3 = { class: "relative" };
6
+ const _hoisted_1 = { class: "grid grid-cols-2 gap-8 px-3 pb-4" };
7
+ const _hoisted_2 = { class: "relative" };
10
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
11
9
  __name: "WDatePickerSingle",
12
10
  props: {
13
11
  modelValue: {},
14
- title: {}
12
+ title: {},
13
+ minDate: {},
14
+ maxDate: {}
15
15
  },
16
16
  emits: ["update:modelValue"],
17
17
  setup(__props, { emit: __emit }) {
@@ -42,54 +42,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  }
43
43
  }, { immediate: true });
44
44
  return (_ctx, _cache) => {
45
- return openBlock(), createElementBlock("div", null, [
45
+ return openBlock(), createElementBlock("div", {
46
+ class: "bg-default dark:bg-default-dark border border-solid border-gray-300 dark:border-gray-700 rounded-xl py-3 overflow-hidden",
47
+ style: normalizeStyle({ "--direction-factor": isDirect.value ? "1" : "-1" })
48
+ }, [
46
49
  createElementVNode("div", _hoisted_1, [
47
50
  createVNode(_sfc_main$1, {
48
- title: _ctx.title ?? "Value:",
49
- value: _ctx.modelValue,
50
- "current-date": currentDate.value,
51
- "auto-focus": "",
52
- "onUpdate:currentDate": setCurrentDate
53
- }, null, 8, ["title", "value", "current-date"])
51
+ text: unref(monthShortFormatter).format(currentDate.value).toLocaleUpperCase(),
52
+ "onClick:previous": _cache[0] || (_cache[0] = ($event) => setCurrentDate(unref(addMonth)(currentDate.value, -1))),
53
+ "onClick:next": _cache[1] || (_cache[1] = ($event) => setCurrentDate(unref(addMonth)(currentDate.value, 1)))
54
+ }, null, 8, ["text"]),
55
+ createVNode(_sfc_main$1, {
56
+ text: year.value.toString(),
57
+ "onClick:previous": _cache[2] || (_cache[2] = ($event) => setCurrentDate(unref(addYear)(currentDate.value, -1))),
58
+ "onClick:next": _cache[3] || (_cache[3] = ($event) => setCurrentDate(unref(addYear)(currentDate.value, 1)))
59
+ }, null, 8, ["text"])
54
60
  ]),
55
- createElementVNode("div", {
56
- class: "bg-default dark:bg-default-dark border border-solid border-gray-300 dark:border-gray-700 rounded-xl py-3 overflow-hidden",
57
- style: normalizeStyle({ "--direction-factor": isDirect.value ? "1" : "-1" })
58
- }, [
59
- createElementVNode("div", _hoisted_2, [
60
- createVNode(_sfc_main$2, {
61
- text: unref(monthShortFormatter).format(currentDate.value).toLocaleUpperCase(),
62
- "onClick:previous": _cache[0] || (_cache[0] = ($event) => setCurrentDate(unref(addMonth)(currentDate.value, -1))),
63
- "onClick:next": _cache[1] || (_cache[1] = ($event) => setCurrentDate(unref(addMonth)(currentDate.value, 1)))
64
- }, null, 8, ["text"]),
65
- createVNode(_sfc_main$2, {
66
- text: year.value.toString(),
67
- "onClick:previous": _cache[2] || (_cache[2] = ($event) => setCurrentDate(unref(addYear)(currentDate.value, -1))),
68
- "onClick:next": _cache[3] || (_cache[3] = ($event) => setCurrentDate(unref(addYear)(currentDate.value, 1)))
69
- }, null, 8, ["text"])
70
- ]),
71
- createElementVNode("div", _hoisted_3, [
72
- createVNode(Transition, {
73
- "enter-active-class": "transition-transform duration-[250ms] w-full",
74
- "leave-active-class": "transition-transform duration-[250ms] w-full absolute top-0",
75
- "enter-from-class": "translate-x-[calc(100%*var(--direction-factor))]",
76
- "leave-to-class": "translate-x-[calc(100%*var(--direction-factor)*-1)]"
77
- }, {
78
- default: withCtx(() => [
79
- (openBlock(), createBlock(_sfc_main$3, {
80
- key: currentDate.value.toISOString(),
81
- "start-of-month": currentDate.value,
82
- "date-range": dateRange.value,
83
- "is-hover-enabled": preselectedValue.value !== null,
84
- class: "px-3",
85
- "onClick:day": onClickDay
86
- }, null, 8, ["start-of-month", "date-range", "is-hover-enabled"]))
87
- ]),
88
- _: 1
89
- })
90
- ])
91
- ], 4)
92
- ]);
61
+ createElementVNode("div", _hoisted_2, [
62
+ createVNode(Transition, {
63
+ "enter-active-class": "transition-transform duration-[250ms] w-full",
64
+ "leave-active-class": "transition-transform duration-[250ms] w-full absolute top-0",
65
+ "enter-from-class": "translate-x-[calc(100%*var(--direction-factor))]",
66
+ "leave-to-class": "translate-x-[calc(100%*var(--direction-factor)*-1)]"
67
+ }, {
68
+ default: withCtx(() => [
69
+ (openBlock(), createBlock(_sfc_main$2, {
70
+ key: currentDate.value.toISOString(),
71
+ "start-of-month": currentDate.value,
72
+ "date-range": dateRange.value,
73
+ "is-hover-enabled": preselectedValue.value !== null,
74
+ "min-date": _ctx.minDate,
75
+ "max-date": _ctx.maxDate,
76
+ class: "px-3",
77
+ "onClick:day": onClickDay
78
+ }, null, 8, ["start-of-month", "date-range", "is-hover-enabled", "min-date", "max-date"]))
79
+ ]),
80
+ _: 1
81
+ })
82
+ ])
83
+ ], 4);
93
84
  };
94
85
  }
95
86
  });
@@ -6,8 +6,10 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
6
6
  dateRange?: DateRange;
7
7
  isBetween: boolean;
8
8
  isWeekOutOfMonth: boolean;
9
- disabled?: boolean;
10
9
  isHoverEnabled: boolean;
10
+ disabled?: boolean;
11
+ minDate?: Date;
12
+ maxDate?: Date;
11
13
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
14
  "click:day": (value: Date) => void;
13
15
  "hover:day": (value: Date) => void;
@@ -17,8 +19,10 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
17
19
  dateRange?: DateRange;
18
20
  isBetween: boolean;
19
21
  isWeekOutOfMonth: boolean;
20
- disabled?: boolean;
21
22
  isHoverEnabled: boolean;
23
+ disabled?: boolean;
24
+ minDate?: Date;
25
+ maxDate?: Date;
22
26
  }>>> & {
23
27
  "onClick:day"?: ((value: Date) => any) | undefined;
24
28
  "onHover:day"?: ((value: Date) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDay.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/components/CalendarDay.vue"],"names":[],"mappings":"AA6GA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;;kBAK9B,IAAI;gBACN,IAAI;gBACJ,SAAS;eACV,OAAO;sBACA,OAAO;eACd,OAAO;oBACF,OAAO;;;;;kBANT,IAAI;gBACN,IAAI;gBACJ,SAAS;eACV,OAAO;sBACA,OAAO;eACd,OAAO;oBACF,OAAO;;;;;AAuKzB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
1
+ {"version":3,"file":"CalendarDay.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/components/CalendarDay.vue"],"names":[],"mappings":"AA4HA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;;kBAK9B,IAAI;gBACN,IAAI;gBACJ,SAAS;eACV,OAAO;sBACA,OAAO;oBACT,OAAO;eACZ,OAAO;cACR,IAAI;cACJ,IAAI;;;;;kBARA,IAAI;gBACN,IAAI;gBACJ,SAAS;eACV,OAAO;sBACA,OAAO;oBACT,OAAO;eACZ,OAAO;cACR,IAAI;cACJ,IAAI;;;;;AAuLhB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -10,8 +10,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  dateRange: {},
11
11
  isBetween: { type: Boolean },
12
12
  isWeekOutOfMonth: { type: Boolean },
13
+ isHoverEnabled: { type: Boolean },
13
14
  disabled: { type: Boolean },
14
- isHoverEnabled: { type: Boolean }
15
+ minDate: {},
16
+ maxDate: {}
15
17
  },
16
18
  emits: ["click:day", "hover:day"],
17
19
  setup(__props) {
@@ -47,32 +49,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47
49
  if (isSelected.value) return false;
48
50
  return isBeforeTo.value && isAfterFrom.value;
49
51
  });
52
+ const isDisabled = computed(() => {
53
+ if (props.disabled) return true;
54
+ if (props.minDate) return props.minDate > props.startOfDay;
55
+ if (props.maxDate) return props.maxDate < props.startOfDay;
56
+ return false;
57
+ });
50
58
  return (_ctx, _cache) => {
51
59
  return openBlock(), createElementBlock("div", {
52
- class: normalizeClass(["flex relative justify-center items-center cursor-pointer my-[1px] select-none height-9 flex-1 w-ripple-trigger", {
60
+ class: normalizeClass(["flex relative justify-center items-center my-[1px] select-none height-9 flex-1 w-ripple-trigger", {
53
61
  "text-accent": !isSelected.value && !isOutOfMonth.value,
54
62
  "text-description": !isSelected.value && isOutOfMonth.value,
55
63
  "text-default dark:text-default-dark selected": isSelected.value,
56
- "cursor-not-allowed": _ctx.disabled,
64
+ "cursor-not-allowed": isDisabled.value,
65
+ "cursor-pointer": !isDisabled.value,
57
66
  "hover-enabled": _ctx.isHoverEnabled
58
67
  }]),
59
- onClick: _cache[0] || (_cache[0] = ($event) => !_ctx.disabled && _ctx.$emit("click:day", _ctx.startOfDay)),
60
- onMouseenter: _cache[1] || (_cache[1] = ($event) => !_ctx.disabled && _ctx.isHoverEnabled && _ctx.$emit("hover:day", _ctx.startOfDay))
68
+ onClick: _cache[0] || (_cache[0] = ($event) => !isDisabled.value && _ctx.$emit("click:day", _ctx.startOfDay)),
69
+ onMouseenter: _cache[1] || (_cache[1] = ($event) => !isDisabled.value && _ctx.isHoverEnabled && _ctx.$emit("hover:day", _ctx.startOfDay))
61
70
  }, [
62
71
  withDirectives(createElementVNode("div", {
63
72
  class: normalizeClass(["absolute opacity-50 h-9", {
64
- "border-y border-solid border-primary-default": _ctx.isHoverEnabled,
65
- "bg-primary-default dark:bg-primary-dark": !_ctx.isHoverEnabled,
66
- "w-full": isBetweenRange.value,
73
+ "border-y border-solid border-primary-default": _ctx.isHoverEnabled && !isDisabled.value,
74
+ "bg-primary-default dark:bg-primary-dark": !_ctx.isHoverEnabled && !isDisabled.value,
75
+ "bg-gray-200 dark:bg-gray-700": isDisabled.value,
76
+ "w-full": isBetweenRange.value || isDisabled.value,
67
77
  "w-1/2 left-1/2": isFrom.value && !isTo.value,
68
78
  "w-1/2 right-1/2": !isFrom.value && isTo.value
69
79
  }])
70
80
  }, null, 2), [
71
- [vShow, isBetweenRange.value || (isFrom.value || isTo.value && !(isFrom.value && isTo.value))]
81
+ [vShow, isBetweenRange.value || (isFrom.value || isTo.value && !(isFrom.value && isTo.value)) || isDisabled.value]
72
82
  ]),
73
83
  createElementVNode("div", {
74
84
  class: normalizeClass(["relative flex justify-center items-center rounded-full square-9", {
75
- "w-ripple w-ripple-hover": !_ctx.disabled,
85
+ "w-ripple w-ripple-hover": !isDisabled.value,
86
+ "opacity-50": isDisabled.value,
76
87
  "bg-primary-default dark:bg-primary-dark font-semibold": isSelected.value
77
88
  }])
78
89
  }, [
@@ -7,6 +7,9 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
7
7
  dateRange?: DateRange;
8
8
  isBetween?: boolean;
9
9
  isHoverEnabled: boolean;
10
+ minDate?: Date;
11
+ maxDate?: Date;
12
+ disabled?: boolean;
10
13
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
14
  "click:day": (value: Date) => void;
12
15
  "hover:day": (value: Date) => void;
@@ -16,6 +19,9 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
16
19
  dateRange?: DateRange;
17
20
  isBetween?: boolean;
18
21
  isHoverEnabled: boolean;
22
+ minDate?: Date;
23
+ maxDate?: Date;
24
+ disabled?: boolean;
19
25
  }>>> & {
20
26
  "onClick:day"?: ((value: Date) => any) | undefined;
21
27
  "onHover:day"?: ((value: Date) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarMonth.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/components/CalendarMonth.vue"],"names":[],"mappings":"AA2HA,OAAO,EAAiB,OAAO,EAAwB,MAAM,kBAAkB,CAAA;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;;kBAK9B,IAAI;qBACD,OAAO;gBACZ,SAAS;gBACT,OAAO;oBACH,OAAO;;;;;kBAJT,IAAI;qBACD,OAAO;gBACZ,SAAS;gBACT,OAAO;oBACH,OAAO;;;;;AAsLzB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
1
+ {"version":3,"file":"CalendarMonth.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/components/CalendarMonth.vue"],"names":[],"mappings":"AA2IA,OAAO,EAAiB,OAAO,EAAwB,MAAM,kBAAkB,CAAA;AAC/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;;kBAK9B,IAAI;qBACD,OAAO;gBACZ,SAAS;gBACT,OAAO;oBACH,OAAO;cACb,IAAI;cACJ,IAAI;eACH,OAAO;;;;;kBAPJ,IAAI;qBACD,OAAO;gBACZ,SAAS;gBACT,OAAO;oBACH,OAAO;cACb,IAAI;cACJ,IAAI;eACH,OAAO;;;;;AAiMpB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -10,7 +10,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  startDayOfWeek: {},
11
11
  dateRange: {},
12
12
  isBetween: { type: Boolean },
13
- isHoverEnabled: { type: Boolean }
13
+ isHoverEnabled: { type: Boolean },
14
+ minDate: {},
15
+ maxDate: {},
16
+ disabled: { type: Boolean }
14
17
  },
15
18
  emits: ["click:day", "hover:day"],
16
19
  setup(__props) {
@@ -62,6 +65,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
62
65
  if (!props.dateRange) return true;
63
66
  return isBeforeFrom.value && isBeforeTo.value || isAfterFrom.value && isAfterTo.value;
64
67
  });
68
+ const isDisabled = computed(() => {
69
+ if (props.disabled) return true;
70
+ if (props.minDate) return props.minDate > endOfLastWeek.value;
71
+ if (props.maxDate) return props.maxDate < startOfFirstWeek.value;
72
+ return false;
73
+ });
65
74
  return (_ctx, _cache) => {
66
75
  return openBlock(), createElementBlock("div", null, [
67
76
  createElementVNode("div", _hoisted_1, [
@@ -82,9 +91,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
82
91
  "date-range": isEmpty.value || isBetweenRange.value ? void 0 : _ctx.dateRange,
83
92
  "is-between": isBetweenRange.value,
84
93
  "is-hover-enabled": _ctx.isHoverEnabled,
94
+ "min-date": _ctx.minDate,
95
+ "max-date": _ctx.maxDate,
96
+ disabled: isDisabled.value,
85
97
  "onClick:day": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click:day", $event)),
86
98
  "onHover:day": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("hover:day", $event))
87
- }, null, 8, ["start-of-month", "start-of-week", "date-range", "is-between", "is-hover-enabled"]);
99
+ }, null, 8, ["start-of-month", "start-of-week", "date-range", "is-between", "is-hover-enabled", "min-date", "max-date", "disabled"]);
88
100
  }), 128))
89
101
  ]);
90
102
  };
@@ -6,6 +6,9 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
6
6
  dateRange?: DateRange;
7
7
  isBetween: boolean;
8
8
  isHoverEnabled: boolean;
9
+ minDate?: Date;
10
+ maxDate?: Date;
11
+ disabled?: boolean;
9
12
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
13
  "click:day": (value: Date) => void;
11
14
  "hover:day": (value: Date) => void;
@@ -15,6 +18,9 @@ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
15
18
  dateRange?: DateRange;
16
19
  isBetween: boolean;
17
20
  isHoverEnabled: boolean;
21
+ minDate?: Date;
22
+ maxDate?: Date;
23
+ disabled?: boolean;
18
24
  }>>> & {
19
25
  "onClick:day"?: ((value: Date) => any) | undefined;
20
26
  "onHover:day"?: ((value: Date) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarWeek.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/components/CalendarWeek.vue"],"names":[],"mappings":"AA4FA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;;kBAM9B,IAAI;iBACL,IAAI;gBACL,SAAS;eACV,OAAO;oBACF,OAAO;;;;;kBAJT,IAAI;iBACL,IAAI;gBACL,SAAS;eACV,OAAO;oBACF,OAAO;;;;;AAmJzB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
1
+ {"version":3,"file":"CalendarWeek.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DatePicker/components/CalendarWeek.vue"],"names":[],"mappings":"AA4GA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;;kBAM9B,IAAI;iBACL,IAAI;gBACL,SAAS;eACV,OAAO;oBACF,OAAO;cACb,IAAI;cACJ,IAAI;eACH,OAAO;;;;;kBAPJ,IAAI;iBACL,IAAI;gBACL,SAAS;eACV,OAAO;oBACF,OAAO;cACb,IAAI;cACJ,IAAI;eACH,OAAO;;;;;AA8JpB,wBAOG;AAOH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -9,7 +9,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  startOfWeek: {},
10
10
  dateRange: {},
11
11
  isBetween: { type: Boolean },
12
- isHoverEnabled: { type: Boolean }
12
+ isHoverEnabled: { type: Boolean },
13
+ minDate: {},
14
+ maxDate: {},
15
+ disabled: { type: Boolean }
13
16
  },
14
17
  emits: ["click:day", "hover:day"],
15
18
  setup(__props) {
@@ -49,6 +52,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
52
  if (!props.dateRange) return true;
50
53
  return isBeforeFrom.value && isBeforeTo.value || isAfterFrom.value && isAfterTo.value;
51
54
  });
55
+ const isDisabled = computed(() => {
56
+ if (props.disabled) return true;
57
+ if (props.minDate) return props.minDate > endOfWeek.value;
58
+ if (props.maxDate) return props.maxDate < props.startOfWeek;
59
+ return false;
60
+ });
52
61
  return (_ctx, _cache) => {
53
62
  return openBlock(), createElementBlock("div", _hoisted_1, [
54
63
  (openBlock(true), createElementBlock(Fragment, null, renderList(days.value, (day, index) => {
@@ -60,9 +69,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
69
  "is-between": isBetweenRange.value,
61
70
  "is-week-out-of-month": isWeekOutOfMonth.value,
62
71
  "is-hover-enabled": _ctx.isHoverEnabled,
72
+ "min-date": _ctx.minDate,
73
+ "max-date": _ctx.maxDate,
74
+ disabled: isDisabled.value,
63
75
  "onClick:day": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click:day", $event)),
64
76
  "onHover:day": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("hover:day", $event))
65
- }, null, 8, ["start-of-month", "start-of-day", "date-range", "is-between", "is-week-out-of-month", "is-hover-enabled"]);
77
+ }, null, 8, ["start-of-month", "start-of-day", "date-range", "is-between", "is-week-out-of-month", "is-hover-enabled", "min-date", "max-date", "disabled"]);
66
78
  }), 128))
67
79
  ]);
68
80
  };
@@ -1,25 +1,27 @@
1
1
  import { HorizontalAlign } from '../../utils/HorizontalAlign';
2
- import { InputSuggestProps } from './types';
2
+ import { InputDateProps } from './types';
3
3
 
4
- interface Props extends Omit<InputSuggestProps<'text'>, 'modelValue'> {
5
- modelValue?: Date | undefined;
6
- }
7
4
  declare function __VLS_template(): {
8
5
  title?(_: {}): any;
9
6
  subtitle?(_: {}): any;
7
+ right?(_: {}): any;
10
8
  };
11
- declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
9
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<InputDateProps>, {
12
10
  modelValue: undefined;
13
11
  maxHeight: number;
14
12
  maxWidth: number;
15
13
  horizontalAlign: HorizontalAlign;
14
+ minDate: undefined;
15
+ maxDate: undefined;
16
16
  }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
17
  "update:model-value": (value: Date | undefined) => void;
18
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
18
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<InputDateProps>, {
19
19
  modelValue: undefined;
20
20
  maxHeight: number;
21
21
  maxWidth: number;
22
22
  horizontalAlign: HorizontalAlign;
23
+ minDate: undefined;
24
+ maxDate: undefined;
23
25
  }>>> & {
24
26
  "onUpdate:model-value"?: ((value: Date | undefined) => any) | undefined;
25
27
  }, {
@@ -27,6 +29,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<
27
29
  maxWidth: number;
28
30
  horizontalAlign: HorizontalAlign;
29
31
  modelValue: Date;
32
+ minDate: Date;
33
+ maxDate: Date;
30
34
  }, {}>;
31
35
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
32
36
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"WInputDate.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Input/WInputDate.vue"],"names":[],"mappings":"AA2FA,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAI9C,UAAU,KAAM,SAAQ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IACnE,UAAU,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CAC9B;AAgDD,iBAAS,cAAc;mBA+II,GAAG;sBACC,GAAG;EAqBjC;AACD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;MAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AAOxG,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAC7C,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AAEN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AAExD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACpC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC;AAEN,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
1
+ {"version":3,"file":"WInputDate.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Input/WInputDate.vue"],"names":[],"mappings":"AAkHA,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAsE3C,iBAAS,cAAc;mBAyJI,GAAG;sBACC,GAAG;mBACN,GAAG;EAqB9B;AACD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;MAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AAOxG,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAC7C,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KAAC,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AAEN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AAExD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACpC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC;AAEN,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5D,KAAK,uBAAuB,CAAC,CAAC,IAAI;KAChC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAC9D;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CACzD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementVNode, withModifiers, createVNode, renderSlot } from 'vue';
1
+ import { defineComponent, ref, watch, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementVNode, withModifiers, createVNode, renderSlot } from 'vue';
2
2
  import _sfc_main$2 from '../DatePicker/WDatePickerSingle.vue.js';
3
3
  import { dateFormat, parseDate } from '../../utils/dateTime.js';
4
4
  import _sfc_main$1 from './WInputSuggest.vue.js';
@@ -9,6 +9,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  __name: "WInputDate",
10
10
  props: {
11
11
  modelValue: { default: void 0 },
12
+ minDate: { default: void 0 },
13
+ maxDate: { default: void 0 },
12
14
  mobileTitle: {},
13
15
  persist: { type: Boolean },
14
16
  type: {},
@@ -44,7 +46,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
46
  allowCopy: { type: Boolean },
45
47
  teleport: { type: Boolean },
46
48
  noZIndex: { type: Boolean },
47
- maxHeight: { default: 520 },
49
+ maxHeight: { default: 440 },
48
50
  maxWidth: { default: 480 },
49
51
  horizontalAlign: { default: HorizontalAlign.RIGHT_INNER }
50
52
  },
@@ -57,11 +59,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
57
59
  const updateInputValue = (value) => {
58
60
  inputValue.value = value;
59
61
  const date = parseDate(value);
60
- if (date) emit("update:model-value", date);
62
+ if (!date) return;
63
+ if (props.minDate && props.minDate > date) {
64
+ emit("update:model-value", props.minDate);
65
+ return;
66
+ }
67
+ if (props.maxDate && props.maxDate < date) {
68
+ emit("update:model-value", props.maxDate);
69
+ return;
70
+ }
71
+ emit("update:model-value", date);
61
72
  };
62
73
  const formatModelValue = (value) => {
63
74
  inputValue.value = value ? dateFormat(value) : "";
64
75
  };
76
+ watch(() => props.modelValue, (value) => {
77
+ inputValue.value = value ? dateFormat(value) : "";
78
+ });
65
79
  return (_ctx, _cache) => {
66
80
  return openBlock(), createBlock(_sfc_main$1, mergeProps({
67
81
  ref_key: "inputComponent",
@@ -84,11 +98,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
84
98
  createVNode(_sfc_main$2, {
85
99
  "model-value": _ctx.modelValue,
86
100
  title: _ctx.title,
101
+ "min-date": _ctx.minDate,
102
+ "max-date": _ctx.maxDate,
87
103
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => {
88
104
  _ctx.$emit("update:model-value", $event);
89
105
  formatModelValue($event);
90
106
  })
91
- }, null, 8, ["model-value", "title"])
107
+ }, null, 8, ["model-value", "title", "min-date", "max-date"])
92
108
  ], 32)
93
109
  ]),
94
110
  _: 2
@@ -106,6 +122,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
106
122
  renderSlot(_ctx.$slots, "subtitle")
107
123
  ]),
108
124
  key: "1"
125
+ } : void 0,
126
+ _ctx.$slots.right ? {
127
+ name: "right",
128
+ fn: withCtx(() => [
129
+ renderSlot(_ctx.$slots, "right")
130
+ ]),
131
+ key: "2"
109
132
  } : void 0
110
133
  ]), 1040, ["class"]);
111
134
  };
@@ -161,7 +161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
161
161
  ]),
162
162
  key: "1"
163
163
  } : void 0,
164
- _ctx.$slots.right?.()?.length ? {
164
+ _ctx.$slots.right ? {
165
165
  name: "right",
166
166
  fn: withCtx(() => [
167
167
  renderSlot(_ctx.$slots, "right")
@@ -42,4 +42,9 @@ export interface InputOptionsProps<Type extends InputType, Option> extends Input
42
42
  model?: boolean;
43
43
  }>;
44
44
  }
45
+ export interface InputDateProps extends Omit<InputSuggestProps<'text'>, 'modelValue'> {
46
+ modelValue?: Date | undefined;
47
+ minDate?: Date;
48
+ maxDate?: Date;
49
+ }
45
50
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,KAAK,CAAA;AAClC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,SAAS,CAAE,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC;IAC/F,UAAU,CAAC,EAAE,CAAC,IAAI,SAAS,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAA;IAClE,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,SAAS,CAAE,SAAQ,UAAU,CAAC,IAAI,CAAC;IAC/E,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,SAAS,CAAE,SAAQ,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;IAC5J,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,SAAS,EAAE,MAAM,CAAE,SAAQ,iBAAiB,CAAC,IAAI,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAChF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC,CAAA;CACnF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,KAAK,CAAA;AAClC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAE5D,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,SAAS,CAAE,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC;IAC/F,UAAU,CAAC,EAAE,CAAC,IAAI,SAAS,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAA;IAClE,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,SAAS,CAAE,SAAQ,UAAU,CAAC,IAAI,CAAC;IAC/E,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,SAAS,CAAE,SAAQ,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;IAC5J,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,SAAS,EAAE,MAAM,CAAE,SAAQ,iBAAiB,CAAC,IAAI,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAChF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC,CAAA;CACnF;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IACnF,UAAU,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;CACf"}
package/dist/main.js CHANGED
@@ -69,7 +69,7 @@ export { Modal, initModal } from './utils/Modal.js';
69
69
  import './utils/supportsPassive.js';
70
70
  export { SemanticType } from './utils/SemanticType.js';
71
71
  export { HorizontalAlign } from './utils/HorizontalAlign.js';
72
- export { Month, WeekDay, addDay, addMonth, addYear, dateFormat, dateFormatter, dateRegexp, dateToQueryString, datetimeFormat, durationHumanize, getDurationRound, getStartOfDay, getStartOfMonth, getStartOfWeek, isSameDate, isSameMonth, isSameYear, monthShortFormatter, parseDate, timeFormat, weekdayShortFormatter } from './utils/dateTime.js';
72
+ export { Month, WeekDay, addDay, addMonth, addYear, dateFormat, dateFormatter, dateRegexp, dateToQueryString, datetimeFormat, durationHumanize, getDurationRound, getStartOfDay, getStartOfMonth, getStartOfNextDay, getStartOfWeek, isSameDate, isSameMonth, isSameYear, monthShortFormatter, parseDate, timeFormat, weekdayShortFormatter } from './utils/dateTime.js';
73
73
  export { getIsMobile, getIsTouchDevice } from './utils/mobile.js';
74
74
  export { useDefaultQuery } from './utils/useDefaultQuery.js';
75
75
  export { useCopy } from './utils/useCopy.js';
@@ -38,6 +38,7 @@ export declare function addMonth(date: Date | undefined, count: number): Date;
38
38
  export declare function addYear(date: Date | undefined, count: number): Date;
39
39
  export declare function getStartOfWeek(date?: Date, startFrom?: WeekDay): Date;
40
40
  export declare function getStartOfDay(date?: Date): Date;
41
+ export declare function getStartOfNextDay(date?: Date): Date;
41
42
  export declare function isSameDate(a: Date, b: Date): boolean;
42
43
  export declare function isSameMonth(a: Date, b: Date): boolean;
43
44
  export declare function isSameYear(a: Date, b: Date): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"dateTime.d.ts","sourceRoot":"","sources":["../../src/utils/dateTime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,qBAAgD,CAAA;AAClF,eAAO,MAAM,mBAAmB,qBAA8C,CAAA;AAC9E,eAAO,MAAM,aAAa,qBAAiF,CAAA;AAE3G,eAAO,MAAM,UAAU,QAA0B,CAAA;AAEjD,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,IAAI,GAAG,SAQhD,CAAA;AAED,oBAAY,OAAO;IACjB,MAAM,IAAI;IACV,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;CACb;AAED,oBAAY,KAAK;IACf,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,KAAK,IAAI;IACT,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,MAAM,IAAI;IACV,SAAS,IAAI;IACb,OAAO,IAAI;IACX,QAAQ,KAAK;IACb,QAAQ,KAAK;CACd;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAMpD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAI7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEjD;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAiChF;AAkCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,IAAiB,GAAG,IAAI,CAQ7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,YAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMnE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,YAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,YAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMpE;AAED,wBAAgB,cAAc,CAAC,IAAI,GAAE,IAAiB,EAAE,SAAS,GAAE,OAAwB,GAAG,IAAI,CAYjG;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,IAAiB,GAAG,IAAI,CAM3D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAEpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAErD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAEpD"}
1
+ {"version":3,"file":"dateTime.d.ts","sourceRoot":"","sources":["../../src/utils/dateTime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,qBAAgD,CAAA;AAClF,eAAO,MAAM,mBAAmB,qBAA8C,CAAA;AAC9E,eAAO,MAAM,aAAa,qBAAiF,CAAA;AAE3G,eAAO,MAAM,UAAU,QAA0B,CAAA;AAEjD,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,IAAI,GAAG,SAQhD,CAAA;AAED,oBAAY,OAAO;IACjB,MAAM,IAAI;IACV,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;CACb;AAED,oBAAY,KAAK;IACf,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,KAAK,IAAI;IACT,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,MAAM,IAAI;IACV,SAAS,IAAI;IACb,OAAO,IAAI;IACX,QAAQ,KAAK;IACb,QAAQ,KAAK;CACd;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAMpD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAI7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEjD;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAiChF;AAkCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,wBAAgB,eAAe,CAAC,IAAI,GAAE,IAAiB,GAAG,IAAI,CAQ7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,YAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMnE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,YAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,YAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMpE;AAED,wBAAgB,cAAc,CAAC,IAAI,GAAE,IAAiB,EAAE,SAAS,GAAE,OAAwB,GAAG,IAAI,CAYjG;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,IAAiB,GAAG,IAAI,CAM3D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,IAAiB,GAAG,IAAI,CAM/D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAEpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAErD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAEpD"}
@@ -146,6 +146,11 @@ function getStartOfDay(date = /* @__PURE__ */ new Date()) {
146
146
  startOfDay.setHours(0, 0, 0, 0);
147
147
  return startOfDay;
148
148
  }
149
+ function getStartOfNextDay(date = /* @__PURE__ */ new Date()) {
150
+ const startOfDay = getStartOfDay(date);
151
+ startOfDay.setDate(startOfDay.getDate() + 1);
152
+ return startOfDay;
153
+ }
149
154
  function isSameDate(a, b) {
150
155
  return a.getDate() === b.getDate() && isSameMonth(a, b);
151
156
  }
@@ -156,4 +161,4 @@ function isSameYear(a, b) {
156
161
  return a.getFullYear() === b.getFullYear();
157
162
  }
158
163
 
159
- export { Month, WeekDay, addDay, addMonth, addYear, dateFormat, dateFormatter, dateRegexp, dateToQueryString, datetimeFormat, durationHumanize, getDurationRound, getStartOfDay, getStartOfMonth, getStartOfWeek, isSameDate, isSameMonth, isSameYear, monthShortFormatter, parseDate, timeFormat, weekdayShortFormatter };
164
+ export { Month, WeekDay, addDay, addMonth, addYear, dateFormat, dateFormatter, dateRegexp, dateToQueryString, datetimeFormat, durationHumanize, getDurationRound, getStartOfDay, getStartOfMonth, getStartOfNextDay, getStartOfWeek, isSameDate, isSameMonth, isSameYear, monthShortFormatter, parseDate, timeFormat, weekdayShortFormatter };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/rsmple/eco-vue-js.git"
6
6
  },
7
- "version": "0.6.7",
7
+ "version": "0.6.8",
8
8
  "scripts": {
9
9
  "dev": "vite",
10
10
  "build": "run-p type-check build-only",