yuyeon 0.0.42-rc28 → 0.0.42-rc30

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 (41) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +3133 -2862
  3. package/dist/yuyeon.umd.cjs +6 -6
  4. package/lib/components/button/YButton.mjs +4 -1
  5. package/lib/components/button/YButton.mjs.map +1 -1
  6. package/lib/components/date-picker/YDateCalendar.mjs +5 -5
  7. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  8. package/lib/components/date-picker/YDatePicker.mjs +112 -4
  9. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  10. package/lib/components/date-picker/YDatePicker.scss +3 -0
  11. package/lib/components/date-picker/YDatePickerControl.mjs +84 -6
  12. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  13. package/lib/components/date-picker/YDatePickerControl.scss +33 -1
  14. package/lib/components/date-picker/YMonthPicker.mjs +57 -0
  15. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -0
  16. package/lib/components/date-picker/YMonthPicker.scss +25 -0
  17. package/lib/components/date-picker/YYearPicker.mjs +82 -0
  18. package/lib/components/date-picker/YYearPicker.mjs.map +1 -0
  19. package/lib/components/date-picker/YYearPicker.scss +23 -0
  20. package/lib/components/date-picker/index.mjs +2 -0
  21. package/lib/components/date-picker/index.mjs.map +1 -1
  22. package/lib/components/icons/index.mjs +12 -0
  23. package/lib/components/icons/index.mjs.map +1 -1
  24. package/lib/composables/choice.mjs +2 -1
  25. package/lib/composables/choice.mjs.map +1 -1
  26. package/package.json +1 -1
  27. package/types/components/button/YButton.d.ts +3 -1
  28. package/types/components/checkbox/YCheckbox.d.ts +2 -2
  29. package/types/components/checkbox/YInputCheckbox.d.ts +2 -2
  30. package/types/components/date-picker/YDatePicker.d.ts +117 -0
  31. package/types/components/date-picker/YDatePickerControl.d.ts +128 -0
  32. package/types/components/date-picker/YMonthPicker.d.ts +28 -0
  33. package/types/components/date-picker/YYearPicker.d.ts +43 -0
  34. package/types/components/date-picker/index.d.ts +2 -0
  35. package/types/components/field-input/YFieldInput.d.ts +2 -2
  36. package/types/components/icons/index.d.ts +36 -0
  37. package/types/components/input/YInput.d.ts +2 -2
  38. package/types/components/tab/YTabs.d.ts +7 -0
  39. package/types/components/textarea/YTextarea.d.ts +6 -6
  40. package/types/composables/choice.d.ts +5 -0
  41. package/types/shims.d.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YMonthPicker.mjs","names":["computed","defineComponent","useModelDuplex","useRender","useDate","getRangeArr","propsFactory","YButton","pressYMonthPickerPropsOptions","modelValue","Number","color","String","height","YMonthPicker","name","props","setup","dateUtil","model","months","date","startOfYear","map","i","text","format","getNextMonth","value","onClick","index","_createVNode","month","item","active","join","default"],"sources":["../../../src/components/date-picker/YMonthPicker.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\n\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { useDate } from '../../composables/date';\nimport { getRangeArr } from '../../util';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\n\nimport './YMonthPicker.scss';\n\nexport const pressYMonthPickerPropsOptions = propsFactory(\n {\n modelValue: Number,\n color: String,\n height: [String, Number],\n },\n 'YMonthPicker',\n);\n\nexport const YMonthPicker = defineComponent({\n name: 'YMonthPicker',\n props: pressYMonthPickerPropsOptions(),\n setup(props) {\n const dateUtil = useDate();\n const model = useModelDuplex(props, 'modelValue');\n\n const months = computed(() => {\n let date = dateUtil.startOfYear(dateUtil.date());\n\n return getRangeArr(12).map((i) => {\n const text = dateUtil.format(date, 'monthShort');\n date = dateUtil.getNextMonth(date);\n\n return {\n text,\n value: i,\n };\n });\n });\n\n function onClick(index: number) {\n model.value = index;\n }\n\n useRender(() => {\n return (\n <div class={['y-month-picker']}>\n {months.value.map((month, index) => {\n const item = {\n active: index === model.value\n }\n return (\n <div class={['y-month-picker__cell', 'y-month-picker__month']}>\n <YButton\n variation={['rounded', 'text'].join(',')}\n active={item.active}\n color={props.color}\n onClick={() => onClick(index)}\n >\n {month.text}\n </YButton>\n </div>\n );\n })}\n </div>\n );\n });\n\n return {};\n },\n});\n\nexport type YMonthPicker = InstanceType<typeof YMonthPicker>;\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEvCC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,YAAY;AAAA,SACZC,OAAO;AAEhB;AAEA,OAAO,MAAMC,6BAA6B,GAAGF,YAAY,CACvD;EACEG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACD,MAAM,EAAEF,MAAM;AACzB,CAAC,EACD,cACF,CAAC;AAED,OAAO,MAAMI,YAAY,GAAGb,eAAe,CAAC;EAC1Cc,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAER,6BAA6B,CAAC,CAAC;EACtCS,KAAKA,CAACD,KAAK,EAAE;IACX,MAAME,QAAQ,GAAGd,OAAO,CAAC,CAAC;IAC1B,MAAMe,KAAK,GAAGjB,cAAc,CAACc,KAAK,EAAE,YAAY,CAAC;IAEjD,MAAMI,MAAM,GAAGpB,QAAQ,CAAC,MAAM;MAC5B,IAAIqB,IAAI,GAAGH,QAAQ,CAACI,WAAW,CAACJ,QAAQ,CAACG,IAAI,CAAC,CAAC,CAAC;MAEhD,OAAOhB,WAAW,CAAC,EAAE,CAAC,CAACkB,GAAG,CAAEC,CAAC,IAAK;QAChC,MAAMC,IAAI,GAAGP,QAAQ,CAACQ,MAAM,CAACL,IAAI,EAAE,YAAY,CAAC;QAChDA,IAAI,GAAGH,QAAQ,CAACS,YAAY,CAACN,IAAI,CAAC;QAElC,OAAO;UACLI,IAAI;UACJG,KAAK,EAAEJ;QACT,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAASK,OAAOA,CAACC,KAAa,EAAE;MAC9BX,KAAK,CAACS,KAAK,GAAGE,KAAK;IACrB;IAEA3B,SAAS,CAAC,MAAM;MACd,OAAA4B,YAAA;QAAA,SACc,CAAC,gBAAgB;MAAC,IAC3BX,MAAM,CAACQ,KAAK,CAACL,GAAG,CAAC,CAACS,KAAK,EAAEF,KAAK,KAAK;QAClC,MAAMG,IAAI,GAAG;UACXC,MAAM,EAAEJ,KAAK,KAAKX,KAAK,CAACS;QAC1B,CAAC;QACD,OAAAG,YAAA;UAAA,SACc,CAAC,sBAAsB,EAAE,uBAAuB;QAAC,IAAAA,YAAA,CAAAxB,OAAA;UAAA,aAE9C,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC4B,IAAI,CAAC,GAAG,CAAC;UAAA,UAChCF,IAAI,CAACC,MAAM;UAAA,SACZlB,KAAK,CAACL,KAAK;UAAA,WACTkB,CAAA,KAAMA,OAAO,CAACC,KAAK;QAAC;UAAAM,OAAA,EAAAA,CAAA,MAE5BJ,KAAK,CAACP,IAAI;QAAA;MAInB,CAAC,CAAC;IAGR,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ .y-month-picker {
2
+ --y-month-picker-cols: 3;
3
+
4
+ display: grid;
5
+ grid-template-columns: repeat(var(--y-month-picker-cols, 3), 1fr);
6
+ min-height: 280px;
7
+
8
+ &__cell {
9
+ display: flex;
10
+ justify-content: center;
11
+
12
+ > .y-button {
13
+ width: 70px;
14
+ height: 70px;
15
+
16
+ &--active.y-button--text {
17
+ color: var(--y-button__color);
18
+ --y-button__color: var(--y-theme-primary);
19
+ &:before {
20
+ opacity: 0.3;
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,82 @@
1
+ import { createVNode as _createVNode } from "vue";
2
+ import { computed, defineComponent, ref } from 'vue';
3
+ import { useModelDuplex } from "../../composables/communication.mjs";
4
+ import { useRender } from "../../composables/component.mjs";
5
+ import { useDate } from "../../composables/date/index.mjs";
6
+ import { getRangeArr } from "../../util/index.mjs";
7
+ import { propsFactory } from "../../util/vue-component.mjs";
8
+ import { YButton } from "../button/index.mjs";
9
+ import "./YYearPicker.scss";
10
+ export const pressYYearPickerPropsOptions = propsFactory({
11
+ modelValue: Number,
12
+ color: String,
13
+ height: [String, Number],
14
+ min: null,
15
+ max: null
16
+ }, 'YYearPicker');
17
+ const interval = 20;
18
+ export const YYearPicker = defineComponent({
19
+ name: 'YYearPicker',
20
+ props: pressYYearPickerPropsOptions(),
21
+ setup(props, _ref) {
22
+ let {
23
+ emit,
24
+ expose
25
+ } = _ref;
26
+ const dateUtil = useDate();
27
+ const model = useModelDuplex(props, 'modelValue');
28
+ const tempYear = model.value;
29
+ const startYear = ref(tempYear - tempYear % interval - (tempYear < 0 ? interval : 0));
30
+ const years = computed(() => {
31
+ let date = dateUtil.startOfYear(dateUtil.date());
32
+ return getRangeArr(interval + 1, startYear.value).map(value => {
33
+ date = dateUtil.setYear(date, value);
34
+ return {
35
+ text: dateUtil.format(date, 'year'),
36
+ value,
37
+ active: model.value === value
38
+ };
39
+ });
40
+ });
41
+ function onClick(value) {
42
+ model.value = value;
43
+ }
44
+ function changePage() {
45
+ let dir = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
46
+ let change = startYear.value + interval * dir;
47
+ if (change < 0) {
48
+ change = 0;
49
+ }
50
+ startYear.value = change;
51
+ }
52
+ expose({
53
+ changePage
54
+ });
55
+ useRender(() => {
56
+ return _createVNode("div", {
57
+ "class": ['y-year-picker']
58
+ }, [years.value.map(year => {
59
+ const scopedProps = {
60
+ item: year,
61
+ props: {
62
+ onClick: () => {
63
+ onClick(year.value);
64
+ }
65
+ }
66
+ };
67
+ return _createVNode("div", {
68
+ "class": ['y-year-picker__cell']
69
+ }, [_createVNode(YButton, {
70
+ "variation": ['rounded', 'text'].join(','),
71
+ "active": year.active,
72
+ "color": props.color,
73
+ "onClick": () => onClick(year.value)
74
+ }, {
75
+ default: () => [year.text]
76
+ })]);
77
+ })]);
78
+ });
79
+ return {};
80
+ }
81
+ });
82
+ //# sourceMappingURL=YYearPicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YYearPicker.mjs","names":["computed","defineComponent","ref","useModelDuplex","useRender","useDate","getRangeArr","propsFactory","YButton","pressYYearPickerPropsOptions","modelValue","Number","color","String","height","min","max","interval","YYearPicker","name","props","setup","_ref","emit","expose","dateUtil","model","tempYear","value","startYear","years","date","startOfYear","map","setYear","text","format","active","onClick","changePage","dir","arguments","length","undefined","change","_createVNode","year","scopedProps","item","join","default"],"sources":["../../../src/components/date-picker/YYearPicker.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { useDate } from '../../composables/date';\nimport { getRangeArr } from '../../util';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\n\nimport './YYearPicker.scss';\n\nexport const pressYYearPickerPropsOptions = propsFactory(\n {\n modelValue: Number,\n color: String,\n height: [String, Number],\n min: null as any as PropType<unknown>,\n max: null as any as PropType<unknown>,\n },\n 'YYearPicker',\n);\n\nconst interval = 20;\n\nexport const YYearPicker = defineComponent({\n name: 'YYearPicker',\n props: pressYYearPickerPropsOptions(),\n setup(props, { emit, expose }) {\n const dateUtil = useDate();\n const model = useModelDuplex(props, 'modelValue');\n const tempYear = model.value;\n const startYear = ref(\n tempYear - (tempYear % interval) - (tempYear < 0 ? interval : 0),\n );\n const years = computed(() => {\n let date = dateUtil.startOfYear(dateUtil.date());\n\n return getRangeArr(interval + 1, startYear.value).map((value) => {\n date = dateUtil.setYear(date, value);\n return {\n text: dateUtil.format(date, 'year'),\n value,\n active: model.value === value,\n };\n });\n });\n\n function onClick(value: number) {\n model.value = value;\n }\n\n function changePage(dir = 1) {\n let change = startYear.value + interval * dir;\n if (change < 0) {\n change = 0;\n }\n startYear.value = change;\n }\n\n expose({\n changePage,\n });\n\n useRender(() => {\n return (\n <div class={['y-year-picker']}>\n {years.value.map((year) => {\n const scopedProps = {\n item: year,\n props: {\n onClick: () => {\n onClick(year.value)\n }\n }\n }\n return (\n <div class={['y-year-picker__cell']}>\n <YButton\n variation={['rounded', 'text'].join(',')}\n active={year.active}\n color={props.color}\n onClick={() => onClick(year.value)}\n >\n {year.text}\n </YButton>\n </div>\n );\n })}\n </div>\n );\n });\n\n return {};\n },\n});\n\nexport type YYearPicker = InstanceType<typeof YYearPicker>;\n"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ .y-year-picker {
2
+ --y-year-picker-cols: 3;
3
+
4
+ display: grid;
5
+ grid-template-columns: repeat(var(--y-year-picker-cols, 3), 1fr);
6
+ min-height: 280px;
7
+
8
+ &__cell {
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+
13
+ > .y-button {
14
+ &--active.y-button--text {
15
+ color: var(--y-button__color);
16
+ --y-button__color: var(--y-theme-primary);
17
+ &:before {
18
+ opacity: 0.3;
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
@@ -1,2 +1,4 @@
1
1
  export * from "./YDateCalendar.mjs";
2
+ export * from "./YMonthPicker.mjs";
3
+ export * from "./YDatePicker.mjs";
2
4
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/date-picker/index.ts"],"sourcesContent":["export * from './YDateCalendar';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/date-picker/index.ts"],"sourcesContent":["export * from './YDateCalendar';\r\nexport * from './YMonthPicker';\r\nexport * from './YDatePicker';\r\n"],"mappings":""}
@@ -15,6 +15,18 @@ export const builtSet = {
15
15
  clear: YIconClear,
16
16
  checkbox: YIconCheckbox,
17
17
  pageControl: YIconPageControl,
18
+ next: {
19
+ component: YIconPageControl,
20
+ props: {
21
+ type: 'next'
22
+ }
23
+ },
24
+ prev: {
25
+ component: YIconPageControl,
26
+ props: {
27
+ type: 'prev'
28
+ }
29
+ },
18
30
  sort: YIconSort
19
31
  };
20
32
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["YIconCheckbox","YIconClear","YIconExpand","YIconPageControl","YIconSort","YIconDropdown","builtSet","expand","dropdown","clear","checkbox","pageControl","sort"],"sources":["../../../src/components/icons/index.ts"],"sourcesContent":["import { YIconCheckbox } from './YIconCheckbox';\nimport { YIconClear } from './YIconClear';\nimport { YIconExpand } from './YIconExpand';\nimport { YIconPageControl } from './YIconPageControl';\nimport { YIconSort } from './YIconSort';\nimport {YIconDropdown} from \"./YIconDropdown\";\n\nexport * from './YIconExpand';\nexport * from './YIconClear';\nexport * from './YIconCheckbox';\nexport * from './YIconPageControl';\nexport * from './YIconSort';\n\nexport const builtSet = {\n expand: YIconExpand,\n dropdown: YIconDropdown,\n clear: YIconClear,\n checkbox: YIconCheckbox,\n pageControl: YIconPageControl,\n sort: YIconSort,\n};\n"],"mappings":"SAASA,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,WAAW;AAAA,SACXC,gBAAgB;AAAA,SAChBC,SAAS;AAAA,SACVC,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAQrB,OAAO,MAAMC,QAAQ,GAAG;EACtBC,MAAM,EAAEL,WAAW;EACnBM,QAAQ,EAAEH,aAAa;EACvBI,KAAK,EAAER,UAAU;EACjBS,QAAQ,EAAEV,aAAa;EACvBW,WAAW,EAAER,gBAAgB;EAC7BS,IAAI,EAAER;AACR,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":["YIconCheckbox","YIconClear","YIconExpand","YIconPageControl","YIconSort","YIconDropdown","builtSet","expand","dropdown","clear","checkbox","pageControl","next","component","props","type","prev","sort"],"sources":["../../../src/components/icons/index.ts"],"sourcesContent":["import { YIconCheckbox } from './YIconCheckbox';\nimport { YIconClear } from './YIconClear';\nimport { YIconExpand } from './YIconExpand';\nimport { YIconPageControl } from './YIconPageControl';\nimport { YIconSort } from './YIconSort';\nimport {YIconDropdown} from \"./YIconDropdown\";\n\nexport * from './YIconExpand';\nexport * from './YIconClear';\nexport * from './YIconCheckbox';\nexport * from './YIconPageControl';\nexport * from './YIconSort';\n\nexport const builtSet = {\n expand: YIconExpand,\n dropdown: YIconDropdown,\n clear: YIconClear,\n checkbox: YIconCheckbox,\n pageControl: YIconPageControl,\n next: {\n component: YIconPageControl,\n props: {\n type: 'next'\n }\n },\n prev: {\n component: YIconPageControl,\n props: {\n type: 'prev'\n }\n },\n sort: YIconSort,\n};\n"],"mappings":"SAASA,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,WAAW;AAAA,SACXC,gBAAgB;AAAA,SAChBC,SAAS;AAAA,SACVC,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAQrB,OAAO,MAAMC,QAAQ,GAAG;EACtBC,MAAM,EAAEL,WAAW;EACnBM,QAAQ,EAAEH,aAAa;EACvBI,KAAK,EAAER,UAAU;EACjBS,QAAQ,EAAEV,aAAa;EACvBW,WAAW,EAAER,gBAAgB;EAC7BS,IAAI,EAAE;IACJC,SAAS,EAAEV,gBAAgB;IAC3BW,KAAK,EAAE;MACLC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,IAAI,EAAE;IACJH,SAAS,EAAEV,gBAAgB;IAC3BW,KAAK,EAAE;MACLC,IAAI,EAAE;IACR;EACF,CAAC;EACDE,IAAI,EAAEb;AACR,CAAC"}
@@ -12,7 +12,8 @@ export const pressChoicePropsOptions = propsFactory({
12
12
  mandatory: [Boolean, String],
13
13
  max: Number,
14
14
  selectedClass: String,
15
- disabled: Boolean
15
+ disabled: Boolean,
16
+ returnItem: Boolean
16
17
  }, 'choice');
17
18
  export const pressChoiceItemPropsOptions = propsFactory({
18
19
  value: null,
@@ -1 +1 @@
1
- {"version":3,"file":"choice.mjs","names":["computed","getCurrentInstance","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","wrapInArray","deepEqual","findChildrenWithProvide","getUid","propsFactory","useModelDuplex","pressChoicePropsOptions","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","pressChoiceItemPropsOptions","value","useChoiceItem","props","injectKey","required","arguments","length","vm","Error","id","Symbol","for","description","choiceProvider","register","unregister","isSelected","emit","toggle","select","provider","useChoice","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","forEach","itemByIndex","values","itemIndex"],"sources":["../../src/composables/choice.ts"],"sourcesContent":["import type {\n ComponentInternalInstance,\n ComputedRef,\n ExtractPropTypes,\n InjectionKey,\n PropType,\n Ref,\n UnwrapRef,\n} from 'vue';\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n toRef,\n watch,\n} from 'vue';\n\nimport { wrapInArray } from '../util/array';\nimport { deepEqual } from '../util/common';\nimport {\n findChildrenWithProvide,\n getUid,\n propsFactory,\n} from '../util/vue-component';\nimport { useModelDuplex } from './communication';\n\nexport interface ChoiceItem {\n id: number;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n}\n\nexport interface ChoiceProps {\n disabled: boolean;\n modelValue: unknown;\n multiple?: boolean;\n mandatory?: boolean | 'force' | undefined;\n max?: number | undefined;\n selectedClass?: string | undefined;\n 'onUpdate:modelValue': ((value: unknown) => void) | undefined;\n}\n\nexport interface ChoiceProvide {\n register: (item: ChoiceItem, instance: ComponentInternalInstance) => void;\n unregister: (id: number) => void;\n select: (id: number, value: boolean) => void;\n selected: Ref<Readonly<number[]>>;\n selectedClass: Ref<string | undefined>;\n isSelected: (id: number) => boolean;\n disabled: Ref<boolean | undefined>;\n getItemIndex: (value: unknown) => number;\n prev: () => void;\n next: () => void;\n items: ComputedRef<\n { id: number; value: unknown; disabled: boolean | undefined }[]\n >;\n}\n\nexport interface ChoiceItemProvide {\n id: number;\n isSelected: Ref<boolean>;\n toggle: () => void;\n select: (value: boolean) => void;\n selectedClass: Ref<(string | undefined)[] | false>;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n provider: ChoiceProvide;\n}\n\nexport const pressChoicePropsOptions = propsFactory(\n {\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String as PropType<string>,\n disabled: Boolean,\n },\n 'choice',\n);\n\nexport const pressChoiceItemPropsOptions = propsFactory(\n {\n value: null,\n disabled: Boolean,\n selectedClass: String,\n },\n 'choice-item',\n);\n\nexport interface ChoiceItemProps\n extends ExtractPropTypes<ReturnType<typeof pressChoiceItemPropsOptions>> {\n 'onChoice:selected': ((val: { value: boolean }) => void) | undefined;\n}\n\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required?: true,\n): ChoiceItemProvide;\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required: false,\n): ChoiceItemProvide | null;\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required = true,\n): ChoiceItemProvide | null {\n const vm = getCurrentInstance();\n\n if (!vm) {\n throw new Error(\n '\"useChoiceItem\" must be used inside a component setup function',\n );\n }\n\n const id = getUid() as number;\n\n provide(Symbol.for(`${injectKey.description}:id`), id);\n\n const choiceProvider = inject(injectKey, null);\n\n if (!choiceProvider) {\n if (!required) return choiceProvider as null;\n\n throw new Error(`Not found provider`);\n }\n\n const value = toRef(props, 'value');\n const disabled = computed(\n () => !!(choiceProvider.disabled.value || props.disabled),\n );\n\n choiceProvider.register(\n {\n id,\n value,\n disabled,\n },\n vm,\n );\n\n onBeforeUnmount(() => {\n choiceProvider.unregister(id);\n });\n\n const isSelected = computed(() => {\n return choiceProvider.isSelected(id);\n });\n\n const selectedClass = computed(\n () =>\n isSelected.value && [\n choiceProvider.selectedClass.value,\n props.selectedClass,\n ],\n );\n\n watch(isSelected, (value) => {\n vm.emit('choice:selected', { value });\n });\n\n return {\n id,\n isSelected,\n toggle: () => choiceProvider.select(id, !isSelected.value),\n select: (value: boolean) => choiceProvider.select(id, value),\n selectedClass,\n value,\n disabled,\n provider: choiceProvider,\n };\n}\n\nexport function useChoice(\n props: ChoiceProps,\n injectKey: InjectionKey<ChoiceProvide>,\n) {\n let isUnmounted = false;\n const items = reactive<ChoiceItem[]>([]);\n const selected = useModelDuplex(\n props,\n 'modelValue',\n [],\n (v) => {\n if (v == null) return [];\n\n return getIds(items, wrapInArray(v));\n },\n (v) => {\n const arr = getValues(items, v);\n\n return props.multiple ? arr : arr[0];\n },\n );\n\n const groupVm = getCurrentInstance();\n\n function register(item: ChoiceItem, vm: ComponentInternalInstance) {\n const unwrapped = item as unknown as UnwrapRef<ChoiceItem>;\n\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n\n function unregister(id: number) {\n if (isUnmounted) return;\n forceMandatoryValue();\n const index = items.findIndex((item) => item.id === id);\n items.splice(index, 1);\n }\n\n function forceMandatoryValue() {\n const item = items.find((item) => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n\n onMounted(() => {\n forceMandatoryValue();\n });\n\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n\n function select(id: number, value?: boolean) {\n const item = items.find((item) => item.id === id);\n if (value && item?.disabled) return;\n\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex((v: any) => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n )\n return;\n\n if (index < 0 && value) internalValue.push(id);\n else if (index >= 0 && !value) internalValue.splice(index, 1);\n\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n\n function step(offset: number) {\n if (props.multiple) {\n }\n\n if (!selected.value.length) {\n const item = items.find((item) => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex((i) => i.id === currentId);\n\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n\n if (newItem.disabled) return;\n\n selected.value = [items[newIndex].id];\n }\n }\n\n const state: ChoiceProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n };\n\n provide(injectKey, state);\n\n return state;\n}\n\nfunction getItemIndex(items: UnwrapRef<ChoiceItem[]>, value: unknown) {\n const ids = getIds(items, [value]);\n\n if (!ids.length) return -1;\n\n return items.findIndex((item) => item.id === ids[0]);\n}\n\nfunction getIds(items: UnwrapRef<ChoiceItem[]>, modelValue: any[]) {\n const ids: number[] = [];\n\n modelValue.forEach((value) => {\n const item = items.find((item) => deepEqual(value, item.value));\n const itemByIndex = items[value];\n\n if (item?.value != null) {\n ids.push(item.id);\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id);\n }\n });\n\n return ids;\n}\n\nfunction getValues(items: UnwrapRef<ChoiceItem[]>, ids: any[]) {\n const values: unknown[] = [];\n ids.forEach((id) => {\n const itemIndex = items.findIndex((item) => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value != null ? item.value : itemIndex);\n }\n });\n\n return values;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"choice.mjs","names":["computed","getCurrentInstance","inject","onBeforeUnmount","onMounted","provide","reactive","toRef","watch","wrapInArray","deepEqual","findChildrenWithProvide","getUid","propsFactory","useModelDuplex","pressChoicePropsOptions","modelValue","type","default","undefined","multiple","Boolean","mandatory","String","max","Number","selectedClass","disabled","returnItem","pressChoiceItemPropsOptions","value","useChoiceItem","props","injectKey","required","arguments","length","vm","Error","id","Symbol","for","description","choiceProvider","register","unregister","isSelected","emit","toggle","select","provider","useChoice","isUnmounted","items","selected","v","getIds","arr","getValues","groupVm","item","unwrapped","key","children","vnode","index","indexOf","splice","push","forceMandatoryValue","findIndex","find","internalValue","slice","includes","step","offset","currentId","currentIndex","i","newIndex","newItem","state","prev","next","getItemIndex","ids","forEach","itemByIndex","values","itemIndex"],"sources":["../../src/composables/choice.ts"],"sourcesContent":["import type {\n ComponentInternalInstance,\n ComputedRef,\n ExtractPropTypes,\n InjectionKey,\n PropType,\n Ref,\n UnwrapRef,\n} from 'vue';\nimport {\n computed,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n toRef,\n watch,\n} from 'vue';\n\nimport { wrapInArray } from '../util/array';\nimport { deepEqual } from '../util/common';\nimport {\n findChildrenWithProvide,\n getUid,\n propsFactory,\n} from '../util/vue-component';\nimport { useModelDuplex } from './communication';\n\nexport interface ChoiceItem {\n id: number;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n}\n\nexport interface ChoiceProps {\n disabled: boolean;\n modelValue: unknown;\n multiple?: boolean;\n mandatory?: boolean | 'force' | undefined;\n max?: number | undefined;\n selectedClass?: string | undefined;\n 'onUpdate:modelValue': ((value: unknown) => void) | undefined;\n}\n\nexport interface ChoiceProvide {\n register: (item: ChoiceItem, instance: ComponentInternalInstance) => void;\n unregister: (id: number) => void;\n select: (id: number, value: boolean) => void;\n selected: Ref<Readonly<number[]>>;\n selectedClass: Ref<string | undefined>;\n isSelected: (id: number) => boolean;\n disabled: Ref<boolean | undefined>;\n getItemIndex: (value: unknown) => number;\n prev: () => void;\n next: () => void;\n items: ComputedRef<\n { id: number; value: unknown; disabled: boolean | undefined }[]\n >;\n}\n\nexport interface ChoiceItemProvide {\n id: number;\n isSelected: Ref<boolean>;\n toggle: () => void;\n select: (value: boolean) => void;\n selectedClass: Ref<(string | undefined)[] | false>;\n value: Ref<unknown>;\n disabled: Ref<boolean | undefined>;\n provider: ChoiceProvide;\n}\n\nexport const pressChoicePropsOptions = propsFactory(\n {\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String as PropType<string>,\n disabled: Boolean,\n returnItem: Boolean as PropType<boolean>,\n },\n 'choice',\n);\n\nexport const pressChoiceItemPropsOptions = propsFactory(\n {\n value: null,\n disabled: Boolean,\n selectedClass: String,\n },\n 'choice-item',\n);\n\nexport interface ChoiceItemProps\n extends ExtractPropTypes<ReturnType<typeof pressChoiceItemPropsOptions>> {\n 'onChoice:selected': ((val: { value: boolean }) => void) | undefined;\n}\n\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required?: true,\n): ChoiceItemProvide;\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required: false,\n): ChoiceItemProvide | null;\nexport function useChoiceItem(\n props: ChoiceItemProps,\n injectKey: InjectionKey<ChoiceProvide>,\n required = true,\n): ChoiceItemProvide | null {\n const vm = getCurrentInstance();\n\n if (!vm) {\n throw new Error(\n '\"useChoiceItem\" must be used inside a component setup function',\n );\n }\n\n const id = getUid() as number;\n\n provide(Symbol.for(`${injectKey.description}:id`), id);\n\n const choiceProvider = inject(injectKey, null);\n\n if (!choiceProvider) {\n if (!required) return choiceProvider as null;\n\n throw new Error(`Not found provider`);\n }\n\n const value = toRef(props, 'value');\n const disabled = computed(\n () => !!(choiceProvider.disabled.value || props.disabled),\n );\n\n choiceProvider.register(\n {\n id,\n value,\n disabled,\n },\n vm,\n );\n\n onBeforeUnmount(() => {\n choiceProvider.unregister(id);\n });\n\n const isSelected = computed(() => {\n return choiceProvider.isSelected(id);\n });\n\n const selectedClass = computed(\n () =>\n isSelected.value && [\n choiceProvider.selectedClass.value,\n props.selectedClass,\n ],\n );\n\n watch(isSelected, (value) => {\n vm.emit('choice:selected', { value });\n });\n\n return {\n id,\n isSelected,\n toggle: () => choiceProvider.select(id, !isSelected.value),\n select: (value: boolean) => choiceProvider.select(id, value),\n selectedClass,\n value,\n disabled,\n provider: choiceProvider,\n };\n}\n\nexport function useChoice(\n props: ChoiceProps,\n injectKey: InjectionKey<ChoiceProvide>,\n) {\n let isUnmounted = false;\n const items = reactive<ChoiceItem[]>([]);\n const selected = useModelDuplex(\n props,\n 'modelValue',\n [],\n (v) => {\n if (v == null) return [];\n\n return getIds(items, wrapInArray(v));\n },\n (v) => {\n const arr = getValues(items, v);\n\n return props.multiple ? arr : arr[0];\n },\n );\n\n const groupVm = getCurrentInstance();\n\n function register(item: ChoiceItem, vm: ComponentInternalInstance) {\n const unwrapped = item as unknown as UnwrapRef<ChoiceItem>;\n\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n\n function unregister(id: number) {\n if (isUnmounted) return;\n forceMandatoryValue();\n const index = items.findIndex((item) => item.id === id);\n items.splice(index, 1);\n }\n\n function forceMandatoryValue() {\n const item = items.find((item) => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n\n onMounted(() => {\n forceMandatoryValue();\n });\n\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n\n function select(id: number, value?: boolean) {\n const item = items.find((item) => item.id === id);\n if (value && item?.disabled) return;\n\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex((v: any) => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n if (\n !isSelected &&\n props.max != null &&\n internalValue.length + 1 > props.max\n )\n return;\n\n if (index < 0 && value) internalValue.push(id);\n else if (index >= 0 && !value) internalValue.splice(index, 1);\n\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n\n function step(offset: number) {\n if (props.multiple) {\n }\n\n if (!selected.value.length) {\n const item = items.find((item) => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex((i) => i.id === currentId);\n\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n\n if (newItem.disabled) return;\n\n selected.value = [items[newIndex].id];\n }\n }\n\n const state: ChoiceProvide = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: (value: unknown) => getItemIndex(items, value),\n };\n\n provide(injectKey, state);\n\n return state;\n}\n\nfunction getItemIndex(items: UnwrapRef<ChoiceItem[]>, value: unknown) {\n const ids = getIds(items, [value]);\n\n if (!ids.length) return -1;\n\n return items.findIndex((item) => item.id === ids[0]);\n}\n\nfunction getIds(items: UnwrapRef<ChoiceItem[]>, modelValue: any[]) {\n const ids: number[] = [];\n\n modelValue.forEach((value) => {\n const item = items.find((item) => deepEqual(value, item.value));\n const itemByIndex = items[value];\n\n if (item?.value != null) {\n ids.push(item.id);\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id);\n }\n });\n\n return ids;\n}\n\nfunction getValues(items: UnwrapRef<ChoiceItem[]>, ids: any[]) {\n const values: unknown[] = [];\n ids.forEach((id) => {\n const itemIndex = items.findIndex((item) => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value != null ? item.value : itemIndex);\n }\n });\n\n return values;\n}\n"],"mappings":"AASA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,MAAM,EACNC,eAAe,EACfC,SAAS,EACTC,OAAO,EACPC,QAAQ,EACRC,KAAK,EACLC,KAAK,QACA,KAAK;AAAC,SAEJC,WAAW;AAAA,SACXC,SAAS;AAAA,SAEhBC,uBAAuB,EACvBC,MAAM,EACNC,YAAY;AAAA,SAELC,cAAc;AA6CvB,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CACjD;EACEG,UAAU,EAAE;IACVC,IAAI,EAAE,IAAI;IACVC,OAAO,EAAEC;EACX,CAAC;EACDC,QAAQ,EAAEC,OAAO;EACjBC,SAAS,EAAE,CAACD,OAAO,EAAEE,MAAM,CAAgC;EAC3DC,GAAG,EAAEC,MAAM;EACXC,aAAa,EAAEH,MAA0B;EACzCI,QAAQ,EAAEN,OAAO;EACjBO,UAAU,EAAEP;AACd,CAAC,EACD,QACF,CAAC;AAED,OAAO,MAAMQ,2BAA2B,GAAGhB,YAAY,CACrD;EACEiB,KAAK,EAAE,IAAI;EACXH,QAAQ,EAAEN,OAAO;EACjBK,aAAa,EAAEH;AACjB,CAAC,EACD,aACF,CAAC;AAiBD,OAAO,SAASQ,aAAaA,CAC3BC,KAAsB,EACtBC,SAAsC,EAEZ;EAAA,IAD1BC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAhB,SAAA,GAAAgB,SAAA,MAAG,IAAI;EAEf,MAAME,EAAE,GAAGpC,kBAAkB,CAAC,CAAC;EAE/B,IAAI,CAACoC,EAAE,EAAE;IACP,MAAM,IAAIC,KAAK,CACb,gEACF,CAAC;EACH;EAEA,MAAMC,EAAE,GAAG3B,MAAM,CAAC,CAAW;EAE7BP,OAAO,CAACmC,MAAM,CAACC,GAAG,CAAE,GAAER,SAAS,CAACS,WAAY,KAAI,CAAC,EAAEH,EAAE,CAAC;EAEtD,MAAMI,cAAc,GAAGzC,MAAM,CAAC+B,SAAS,EAAE,IAAI,CAAC;EAE9C,IAAI,CAACU,cAAc,EAAE;IACnB,IAAI,CAACT,QAAQ,EAAE,OAAOS,cAAc;IAEpC,MAAM,IAAIL,KAAK,CAAE,oBAAmB,CAAC;EACvC;EAEA,MAAMR,KAAK,GAAGvB,KAAK,CAACyB,KAAK,EAAE,OAAO,CAAC;EACnC,MAAML,QAAQ,GAAG3B,QAAQ,CACvB,MAAM,CAAC,EAAE2C,cAAc,CAAChB,QAAQ,CAACG,KAAK,IAAIE,KAAK,CAACL,QAAQ,CAC1D,CAAC;EAEDgB,cAAc,CAACC,QAAQ,CACrB;IACEL,EAAE;IACFT,KAAK;IACLH;EACF,CAAC,EACDU,EACF,CAAC;EAEDlC,eAAe,CAAC,MAAM;IACpBwC,cAAc,CAACE,UAAU,CAACN,EAAE,CAAC;EAC/B,CAAC,CAAC;EAEF,MAAMO,UAAU,GAAG9C,QAAQ,CAAC,MAAM;IAChC,OAAO2C,cAAc,CAACG,UAAU,CAACP,EAAE,CAAC;EACtC,CAAC,CAAC;EAEF,MAAMb,aAAa,GAAG1B,QAAQ,CAC5B,MACE8C,UAAU,CAAChB,KAAK,IAAI,CAClBa,cAAc,CAACjB,aAAa,CAACI,KAAK,EAClCE,KAAK,CAACN,aAAa,CAEzB,CAAC;EAEDlB,KAAK,CAACsC,UAAU,EAAGhB,KAAK,IAAK;IAC3BO,EAAE,CAACU,IAAI,CAAC,iBAAiB,EAAE;MAAEjB;IAAM,CAAC,CAAC;EACvC,CAAC,CAAC;EAEF,OAAO;IACLS,EAAE;IACFO,UAAU;IACVE,MAAM,EAAEA,CAAA,KAAML,cAAc,CAACM,MAAM,CAACV,EAAE,EAAE,CAACO,UAAU,CAAChB,KAAK,CAAC;IAC1DmB,MAAM,EAAGnB,KAAc,IAAKa,cAAc,CAACM,MAAM,CAACV,EAAE,EAAET,KAAK,CAAC;IAC5DJ,aAAa;IACbI,KAAK;IACLH,QAAQ;IACRuB,QAAQ,EAAEP;EACZ,CAAC;AACH;AAEA,OAAO,SAASQ,SAASA,CACvBnB,KAAkB,EAClBC,SAAsC,EACtC;EACA,IAAImB,WAAW,GAAG,KAAK;EACvB,MAAMC,KAAK,GAAG/C,QAAQ,CAAe,EAAE,CAAC;EACxC,MAAMgD,QAAQ,GAAGxC,cAAc,CAC7BkB,KAAK,EACL,YAAY,EACZ,EAAE,EACDuB,CAAC,IAAK;IACL,IAAIA,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE;IAExB,OAAOC,MAAM,CAACH,KAAK,EAAE5C,WAAW,CAAC8C,CAAC,CAAC,CAAC;EACtC,CAAC,EACAA,CAAC,IAAK;IACL,MAAME,GAAG,GAAGC,SAAS,CAACL,KAAK,EAAEE,CAAC,CAAC;IAE/B,OAAOvB,KAAK,CAACZ,QAAQ,GAAGqC,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC;EACtC,CACF,CAAC;EAED,MAAME,OAAO,GAAG1D,kBAAkB,CAAC,CAAC;EAEpC,SAAS2C,QAAQA,CAACgB,IAAgB,EAAEvB,EAA6B,EAAE;IACjE,MAAMwB,SAAS,GAAGD,IAAwC;IAE1D,MAAME,GAAG,GAAGtB,MAAM,CAACC,GAAG,CAAE,GAAER,SAAS,CAACS,WAAY,KAAI,CAAC;IACrD,MAAMqB,QAAQ,GAAGpD,uBAAuB,CAACmD,GAAG,EAAEH,OAAO,EAAEK,KAAK,CAAC;IAC7D,MAAMC,KAAK,GAAGF,QAAQ,CAACG,OAAO,CAAC7B,EAAE,CAAC;IAElC,IAAI4B,KAAK,GAAG,CAAC,CAAC,EAAE;MACdZ,KAAK,CAACc,MAAM,CAACF,KAAK,EAAE,CAAC,EAAEJ,SAAS,CAAC;IACnC,CAAC,MAAM;MACLR,KAAK,CAACe,IAAI,CAACP,SAAS,CAAC;IACvB;EACF;EAEA,SAAShB,UAAUA,CAACN,EAAU,EAAE;IAC9B,IAAIa,WAAW,EAAE;IACjBiB,mBAAmB,CAAC,CAAC;IACrB,MAAMJ,KAAK,GAAGZ,KAAK,CAACiB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAKA,EAAE,CAAC;IACvDc,KAAK,CAACc,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;EACxB;EAEA,SAASI,mBAAmBA,CAAA,EAAG;IAC7B,MAAMT,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAK,CAACA,IAAI,CAACjC,QAAQ,CAAC;IACjD,IAAIiC,IAAI,IAAI5B,KAAK,CAACV,SAAS,KAAK,OAAO,IAAI,CAACgC,QAAQ,CAACxB,KAAK,CAACM,MAAM,EAAE;MACjEkB,QAAQ,CAACxB,KAAK,GAAG,CAAC8B,IAAI,CAACrB,EAAE,CAAC;IAC5B;EACF;EAEAnC,SAAS,CAAC,MAAM;IACdiE,mBAAmB,CAAC,CAAC;EACvB,CAAC,CAAC;EAEFlE,eAAe,CAAC,MAAM;IACpBiD,WAAW,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,SAASH,MAAMA,CAACV,EAAU,EAAET,KAAe,EAAE;IAC3C,MAAM8B,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAKA,EAAE,CAAC;IACjD,IAAIT,KAAK,IAAI8B,IAAI,EAAEjC,QAAQ,EAAE;IAE7B,IAAIK,KAAK,CAACZ,QAAQ,EAAE;MAClB,MAAMoD,aAAa,GAAGlB,QAAQ,CAACxB,KAAK,CAAC2C,KAAK,CAAC,CAAC;MAC5C,MAAMR,KAAK,GAAGO,aAAa,CAACF,SAAS,CAAEf,CAAM,IAAKA,CAAC,KAAKhB,EAAE,CAAC;MAC3D,MAAMO,UAAU,GAAG,CAACmB,KAAK;MACzBnC,KAAK,GAAGA,KAAK,IAAI,CAACgB,UAAU;MAC5B,IAAIA,UAAU,IAAId,KAAK,CAACV,SAAS,IAAIkD,aAAa,CAACpC,MAAM,IAAI,CAAC,EAAE;MAChE,IACE,CAACU,UAAU,IACXd,KAAK,CAACR,GAAG,IAAI,IAAI,IACjBgD,aAAa,CAACpC,MAAM,GAAG,CAAC,GAAGJ,KAAK,CAACR,GAAG,EAEpC;MAEF,IAAIyC,KAAK,GAAG,CAAC,IAAInC,KAAK,EAAE0C,aAAa,CAACJ,IAAI,CAAC7B,EAAE,CAAC,CAAC,KAC1C,IAAI0B,KAAK,IAAI,CAAC,IAAI,CAACnC,KAAK,EAAE0C,aAAa,CAACL,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAE7DX,QAAQ,CAACxB,KAAK,GAAG0C,aAAa;IAChC,CAAC,MAAM;MACL,MAAM1B,UAAU,GAAGQ,QAAQ,CAACxB,KAAK,CAAC4C,QAAQ,CAACnC,EAAE,CAAC;MAC9C,IAAIP,KAAK,CAACV,SAAS,IAAIwB,UAAU,EAAE;MACnCQ,QAAQ,CAACxB,KAAK,GAAGA,KAAK,IAAI,CAACgB,UAAU,GAAG,CAACP,EAAE,CAAC,GAAG,EAAE;IACnD;EACF;EAEA,SAASoC,IAAIA,CAACC,MAAc,EAAE;IAC5B,IAAI5C,KAAK,CAACZ,QAAQ,EAAE,CACpB;IAEA,IAAI,CAACkC,QAAQ,CAACxB,KAAK,CAACM,MAAM,EAAE;MAC1B,MAAMwB,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAK,CAACA,IAAI,CAACjC,QAAQ,CAAC;MACjDiC,IAAI,KAAKN,QAAQ,CAACxB,KAAK,GAAG,CAAC8B,IAAI,CAACrB,EAAE,CAAC,CAAC;IACtC,CAAC,MAAM;MACL,MAAMsC,SAAS,GAAGvB,QAAQ,CAACxB,KAAK,CAAC,CAAC,CAAC;MACnC,MAAMgD,YAAY,GAAGzB,KAAK,CAACiB,SAAS,CAAES,CAAC,IAAKA,CAAC,CAACxC,EAAE,KAAKsC,SAAS,CAAC;MAE/D,IAAIG,QAAQ,GAAG,CAACF,YAAY,GAAGF,MAAM,IAAIvB,KAAK,CAACjB,MAAM;MACrD,IAAI6C,OAAO,GAAG5B,KAAK,CAAC2B,QAAQ,CAAC;MAE7B,OAAOC,OAAO,CAACtD,QAAQ,IAAIqD,QAAQ,KAAKF,YAAY,EAAE;QACpDE,QAAQ,GAAG,CAACA,QAAQ,GAAGJ,MAAM,IAAIvB,KAAK,CAACjB,MAAM;QAC7C6C,OAAO,GAAG5B,KAAK,CAAC2B,QAAQ,CAAC;MAC3B;MAEA,IAAIC,OAAO,CAACtD,QAAQ,EAAE;MAEtB2B,QAAQ,CAACxB,KAAK,GAAG,CAACuB,KAAK,CAAC2B,QAAQ,CAAC,CAACzC,EAAE,CAAC;IACvC;EACF;EAEA,MAAM2C,KAAoB,GAAG;IAC3BtC,QAAQ;IACRC,UAAU;IACVS,QAAQ;IACRL,MAAM;IACNtB,QAAQ,EAAEpB,KAAK,CAACyB,KAAK,EAAE,UAAU,CAAC;IAClCmD,IAAI,EAAEA,CAAA,KAAMR,IAAI,CAACtB,KAAK,CAACjB,MAAM,GAAG,CAAC,CAAC;IAClCgD,IAAI,EAAEA,CAAA,KAAMT,IAAI,CAAC,CAAC,CAAC;IACnB7B,UAAU,EAAGP,EAAU,IAAKe,QAAQ,CAACxB,KAAK,CAAC4C,QAAQ,CAACnC,EAAE,CAAC;IACvDb,aAAa,EAAE1B,QAAQ,CAAC,MAAMgC,KAAK,CAACN,aAAa,CAAC;IAClD2B,KAAK,EAAErD,QAAQ,CAAC,MAAMqD,KAAK,CAAC;IAC5BgC,YAAY,EAAGvD,KAAc,IAAKuD,YAAY,CAAChC,KAAK,EAAEvB,KAAK;EAC7D,CAAC;EAEDzB,OAAO,CAAC4B,SAAS,EAAEiD,KAAK,CAAC;EAEzB,OAAOA,KAAK;AACd;AAEA,SAASG,YAAYA,CAAChC,KAA8B,EAAEvB,KAAc,EAAE;EACpE,MAAMwD,GAAG,GAAG9B,MAAM,CAACH,KAAK,EAAE,CAACvB,KAAK,CAAC,CAAC;EAElC,IAAI,CAACwD,GAAG,CAAClD,MAAM,EAAE,OAAO,CAAC,CAAC;EAE1B,OAAOiB,KAAK,CAACiB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAK+C,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD;AAEA,SAAS9B,MAAMA,CAACH,KAA8B,EAAErC,UAAiB,EAAE;EACjE,MAAMsE,GAAa,GAAG,EAAE;EAExBtE,UAAU,CAACuE,OAAO,CAAEzD,KAAK,IAAK;IAC5B,MAAM8B,IAAI,GAAGP,KAAK,CAACkB,IAAI,CAAEX,IAAI,IAAKlD,SAAS,CAACoB,KAAK,EAAE8B,IAAI,CAAC9B,KAAK,CAAC,CAAC;IAC/D,MAAM0D,WAAW,GAAGnC,KAAK,CAACvB,KAAK,CAAC;IAEhC,IAAI8B,IAAI,EAAE9B,KAAK,IAAI,IAAI,EAAE;MACvBwD,GAAG,CAAClB,IAAI,CAACR,IAAI,CAACrB,EAAE,CAAC;IACnB,CAAC,MAAM,IAAIiD,WAAW,IAAI,IAAI,EAAE;MAC9BF,GAAG,CAAClB,IAAI,CAACoB,WAAW,CAACjD,EAAE,CAAC;IAC1B;EACF,CAAC,CAAC;EAEF,OAAO+C,GAAG;AACZ;AAEA,SAAS5B,SAASA,CAACL,KAA8B,EAAEiC,GAAU,EAAE;EAC7D,MAAMG,MAAiB,GAAG,EAAE;EAC5BH,GAAG,CAACC,OAAO,CAAEhD,EAAE,IAAK;IAClB,MAAMmD,SAAS,GAAGrC,KAAK,CAACiB,SAAS,CAAEV,IAAI,IAAKA,IAAI,CAACrB,EAAE,KAAKA,EAAE,CAAC;IAC3D,IAAI,CAACmD,SAAS,EAAE;MACd,MAAM9B,IAAI,GAAGP,KAAK,CAACqC,SAAS,CAAC;MAC7BD,MAAM,CAACrB,IAAI,CAACR,IAAI,CAAC9B,KAAK,IAAI,IAAI,GAAG8B,IAAI,CAAC9B,KAAK,GAAG4D,SAAS,CAAC;IAC1D;EACF,CAAC,CAAC;EAEF,OAAOD,MAAM;AACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuyeon",
3
- "version": "0.0.42-rc28",
3
+ "version": "0.0.42-rc30",
4
4
  "keywords": [
5
5
  "UI Library",
6
6
  "Vue"
@@ -183,9 +183,10 @@ export declare const YButton: import("vue").DefineComponent<{
183
183
  }, {
184
184
  link: import("../../composables/vue-router").UseLink;
185
185
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
186
+ click: (event: MouseEvent) => true;
186
187
  'choice:selected': (choice: {
187
188
  value: boolean;
188
- }) => boolean;
189
+ }) => true;
189
190
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
190
191
  value: null;
191
192
  disabled: BooleanConstructor;
@@ -228,6 +229,7 @@ export declare const YButton: import("vue").DefineComponent<{
228
229
  default: boolean;
229
230
  };
230
231
  }>> & {
232
+ onClick?: ((event: MouseEvent) => any) | undefined;
231
233
  "onChoice:selected"?: ((choice: {
232
234
  value: boolean;
233
235
  }) => any) | undefined;
@@ -18,7 +18,7 @@ declare const _default: import("vue").DefineComponent<{
18
18
  readonly: PropType<boolean>;
19
19
  }, {
20
20
  checked: import("vue").Ref<boolean>;
21
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "click" | "blur" | "update:modelValue" | "change")[], "focus" | "click" | "blur" | "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
21
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "focus" | "blur" | "update:modelValue" | "change")[], "click" | "focus" | "blur" | "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
22
  modelValue: PropType<boolean | any[]>;
23
23
  value: PropType<any>;
24
24
  label: PropType<string>;
@@ -36,8 +36,8 @@ declare const _default: import("vue").DefineComponent<{
36
36
  disabled: PropType<boolean>;
37
37
  readonly: PropType<boolean>;
38
38
  }>> & {
39
- onFocus?: ((...args: any[]) => any) | undefined;
40
39
  onClick?: ((...args: any[]) => any) | undefined;
40
+ onFocus?: ((...args: any[]) => any) | undefined;
41
41
  onBlur?: ((...args: any[]) => any) | undefined;
42
42
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
43
43
  onChange?: ((...args: any[]) => any) | undefined;
@@ -34,7 +34,7 @@ declare const _default: import("vue").DefineComponent<{
34
34
  onFocus(e: FocusEvent): void;
35
35
  onBlur(e: FocusEvent): void;
36
36
  onClick(event: MouseEvent): void;
37
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "click" | "blur")[], "focus" | "click" | "blur", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
37
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "focus" | "blur")[], "click" | "focus" | "blur", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
38
  id: PropType<string>;
39
39
  value: PropType<boolean>;
40
40
  icon: PropType<string>;
@@ -45,8 +45,8 @@ declare const _default: import("vue").DefineComponent<{
45
45
  disabled: PropType<boolean>;
46
46
  readonly: PropType<boolean>;
47
47
  }>> & {
48
- onFocus?: ((...args: any[]) => any) | undefined;
49
48
  onClick?: ((...args: any[]) => any) | undefined;
49
+ onFocus?: ((...args: any[]) => any) | undefined;
50
50
  onBlur?: ((...args: any[]) => any) | undefined;
51
51
  }, {
52
52
  color: string;
@@ -0,0 +1,117 @@
1
+ export declare const pressYDatePickerPropsOptions: <Defaults extends {
2
+ modelValue?: unknown;
3
+ disabled?: unknown;
4
+ color?: unknown;
5
+ max?: unknown;
6
+ multiple?: unknown;
7
+ year?: unknown;
8
+ month?: unknown;
9
+ range?: unknown;
10
+ allowedDates?: unknown;
11
+ hideWeekdays?: unknown;
12
+ showAdjacentMonthDates?: unknown;
13
+ hideHeader?: unknown;
14
+ min?: unknown;
15
+ } = {}>(defaults?: Defaults | undefined) => {
16
+ modelValue: unknown extends Defaults["modelValue"] ? null : {
17
+ type: import("vue").PropType<unknown extends Defaults["modelValue"] ? any : any>;
18
+ default: unknown extends Defaults["modelValue"] ? any : any;
19
+ };
20
+ disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
21
+ type: import("vue").PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
22
+ default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
23
+ };
24
+ color: unknown extends Defaults["color"] ? StringConstructor : {
25
+ type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
26
+ default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
27
+ };
28
+ max: unknown extends Defaults["max"] ? import("vue").PropType<unknown> : {
29
+ type: import("vue").PropType<unknown extends Defaults["max"] ? unknown : {} | Defaults["max"]>;
30
+ default: unknown extends Defaults["max"] ? unknown : {} | Defaults["max"];
31
+ };
32
+ multiple: unknown extends Defaults["multiple"] ? BooleanConstructor : {
33
+ type: import("vue").PropType<unknown extends Defaults["multiple"] ? boolean : boolean | Defaults["multiple"]>;
34
+ default: unknown extends Defaults["multiple"] ? boolean : boolean | Defaults["multiple"];
35
+ };
36
+ year: unknown extends Defaults["year"] ? (StringConstructor | NumberConstructor)[] : {
37
+ type: import("vue").PropType<unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"]>;
38
+ default: unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"];
39
+ };
40
+ month: unknown extends Defaults["month"] ? (StringConstructor | NumberConstructor)[] : {
41
+ type: import("vue").PropType<unknown extends Defaults["month"] ? string | number : NonNullable<string | number> | Defaults["month"]>;
42
+ default: unknown extends Defaults["month"] ? string | number : NonNullable<string | number> | Defaults["month"];
43
+ };
44
+ range: unknown extends Defaults["range"] ? BooleanConstructor : {
45
+ type: import("vue").PropType<unknown extends Defaults["range"] ? boolean : boolean | Defaults["range"]>;
46
+ default: unknown extends Defaults["range"] ? boolean : boolean | Defaults["range"];
47
+ };
48
+ allowedDates: unknown extends Defaults["allowedDates"] ? (ArrayConstructor | FunctionConstructor)[] : {
49
+ type: import("vue").PropType<unknown extends Defaults["allowedDates"] ? Function | unknown[] : NonNullable<Function | unknown[]> | Defaults["allowedDates"]>;
50
+ default: unknown extends Defaults["allowedDates"] ? Function | unknown[] : NonNullable<Function | unknown[]> | Defaults["allowedDates"];
51
+ };
52
+ hideWeekdays: unknown extends Defaults["hideWeekdays"] ? BooleanConstructor : {
53
+ type: import("vue").PropType<unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"]>;
54
+ default: unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"];
55
+ };
56
+ showAdjacentMonthDates: unknown extends Defaults["showAdjacentMonthDates"] ? {
57
+ type: BooleanConstructor;
58
+ default: boolean;
59
+ } : Omit<{
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ }, "type" | "default"> & {
63
+ type: import("vue").PropType<unknown extends Defaults["showAdjacentMonthDates"] ? boolean : boolean | Defaults["showAdjacentMonthDates"]>;
64
+ default: unknown extends Defaults["showAdjacentMonthDates"] ? boolean : boolean | Defaults["showAdjacentMonthDates"];
65
+ };
66
+ hideHeader: unknown extends Defaults["hideHeader"] ? BooleanConstructor : {
67
+ type: import("vue").PropType<unknown extends Defaults["hideHeader"] ? boolean : boolean | Defaults["hideHeader"]>;
68
+ default: unknown extends Defaults["hideHeader"] ? boolean : boolean | Defaults["hideHeader"];
69
+ };
70
+ min: unknown extends Defaults["min"] ? import("vue").PropType<unknown> : {
71
+ type: import("vue").PropType<unknown extends Defaults["min"] ? unknown : {} | Defaults["min"]>;
72
+ default: unknown extends Defaults["min"] ? unknown : {} | Defaults["min"];
73
+ };
74
+ };
75
+ export declare const YDatePicker: import("vue").DefineComponent<{
76
+ modelValue: null;
77
+ disabled: BooleanConstructor;
78
+ color: StringConstructor;
79
+ max: import("vue").PropType<unknown>;
80
+ multiple: BooleanConstructor;
81
+ year: (StringConstructor | NumberConstructor)[];
82
+ month: (StringConstructor | NumberConstructor)[];
83
+ range: BooleanConstructor;
84
+ allowedDates: (ArrayConstructor | FunctionConstructor)[];
85
+ hideWeekdays: BooleanConstructor;
86
+ showAdjacentMonthDates: {
87
+ type: BooleanConstructor;
88
+ default: boolean;
89
+ };
90
+ hideHeader: BooleanConstructor;
91
+ min: import("vue").PropType<unknown>;
92
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
93
+ modelValue: null;
94
+ disabled: BooleanConstructor;
95
+ color: StringConstructor;
96
+ max: import("vue").PropType<unknown>;
97
+ multiple: BooleanConstructor;
98
+ year: (StringConstructor | NumberConstructor)[];
99
+ month: (StringConstructor | NumberConstructor)[];
100
+ range: BooleanConstructor;
101
+ allowedDates: (ArrayConstructor | FunctionConstructor)[];
102
+ hideWeekdays: BooleanConstructor;
103
+ showAdjacentMonthDates: {
104
+ type: BooleanConstructor;
105
+ default: boolean;
106
+ };
107
+ hideHeader: BooleanConstructor;
108
+ min: import("vue").PropType<unknown>;
109
+ }>>, {
110
+ disabled: boolean;
111
+ multiple: boolean;
112
+ range: boolean;
113
+ hideWeekdays: boolean;
114
+ showAdjacentMonthDates: boolean;
115
+ hideHeader: boolean;
116
+ }, {}>;
117
+ export type YDatePicker = InstanceType<typeof YDatePicker>;
@@ -0,0 +1,128 @@
1
+ import type { PropType } from 'vue';
2
+ export declare const pressYDatePickerControlPropsOptions: <Defaults extends {
3
+ disabled?: unknown;
4
+ nextIcon?: unknown;
5
+ prevIcon?: unknown;
6
+ dropdownIcon?: unknown;
7
+ mode?: unknown;
8
+ yearText?: unknown;
9
+ monthText?: unknown;
10
+ } = {}>(defaults?: Defaults | undefined) => {
11
+ disabled: unknown extends Defaults["disabled"] ? {
12
+ type: PropType<string | boolean | string[]>;
13
+ default: boolean;
14
+ } : Omit<{
15
+ type: PropType<string | boolean | string[]>;
16
+ default: boolean;
17
+ }, "type" | "default"> & {
18
+ type: PropType<unknown extends Defaults["disabled"] ? string | boolean | string[] : Defaults["disabled"] | NonNullable<string | boolean | string[]>>;
19
+ default: unknown extends Defaults["disabled"] ? string | boolean | string[] : Defaults["disabled"] | NonNullable<string | boolean | string[]>;
20
+ };
21
+ nextIcon: unknown extends Defaults["nextIcon"] ? {
22
+ type: (StringConstructor | ObjectConstructor)[];
23
+ default: string;
24
+ } : Omit<{
25
+ type: (StringConstructor | ObjectConstructor)[];
26
+ default: string;
27
+ }, "type" | "default"> & {
28
+ type: PropType<unknown extends Defaults["nextIcon"] ? string | Record<string, any> : Defaults["nextIcon"] | NonNullable<string | Record<string, any>>>;
29
+ default: unknown extends Defaults["nextIcon"] ? string | Record<string, any> : Defaults["nextIcon"] | NonNullable<string | Record<string, any>>;
30
+ };
31
+ prevIcon: unknown extends Defaults["prevIcon"] ? {
32
+ type: (StringConstructor | ObjectConstructor)[];
33
+ default: string;
34
+ } : Omit<{
35
+ type: (StringConstructor | ObjectConstructor)[];
36
+ default: string;
37
+ }, "type" | "default"> & {
38
+ type: PropType<unknown extends Defaults["prevIcon"] ? string | Record<string, any> : NonNullable<string | Record<string, any>> | Defaults["prevIcon"]>;
39
+ default: unknown extends Defaults["prevIcon"] ? string | Record<string, any> : NonNullable<string | Record<string, any>> | Defaults["prevIcon"];
40
+ };
41
+ dropdownIcon: unknown extends Defaults["dropdownIcon"] ? {
42
+ type: (StringConstructor | ObjectConstructor)[];
43
+ } : Omit<{
44
+ type: (StringConstructor | ObjectConstructor)[];
45
+ }, "type" | "default"> & {
46
+ type: PropType<unknown extends Defaults["dropdownIcon"] ? string | Record<string, any> : NonNullable<string | Record<string, any>> | Defaults["dropdownIcon"]>;
47
+ default: unknown extends Defaults["dropdownIcon"] ? string | Record<string, any> : NonNullable<string | Record<string, any>> | Defaults["dropdownIcon"];
48
+ };
49
+ mode: unknown extends Defaults["mode"] ? {
50
+ type: PropType<"date" | "year" | "month">;
51
+ default: string;
52
+ } : Omit<{
53
+ type: PropType<"date" | "year" | "month">;
54
+ default: string;
55
+ }, "type" | "default"> & {
56
+ type: PropType<unknown extends Defaults["mode"] ? "date" | "year" | "month" : Defaults["mode"] | NonNullable<"date" | "year" | "month">>;
57
+ default: unknown extends Defaults["mode"] ? "date" | "year" | "month" : Defaults["mode"] | NonNullable<"date" | "year" | "month">;
58
+ };
59
+ yearText: unknown extends Defaults["yearText"] ? StringConstructor : {
60
+ type: PropType<unknown extends Defaults["yearText"] ? string : string | Defaults["yearText"]>;
61
+ default: unknown extends Defaults["yearText"] ? string : string | Defaults["yearText"];
62
+ };
63
+ monthText: unknown extends Defaults["monthText"] ? StringConstructor : {
64
+ type: PropType<unknown extends Defaults["monthText"] ? string : string | Defaults["monthText"]>;
65
+ default: unknown extends Defaults["monthText"] ? string : string | Defaults["monthText"];
66
+ };
67
+ };
68
+ export declare const YDatePickerControl: import("vue").DefineComponent<{
69
+ disabled: {
70
+ type: PropType<string | boolean | string[]>;
71
+ default: boolean;
72
+ };
73
+ nextIcon: {
74
+ type: (StringConstructor | ObjectConstructor)[];
75
+ default: string;
76
+ };
77
+ prevIcon: {
78
+ type: (StringConstructor | ObjectConstructor)[];
79
+ default: string;
80
+ };
81
+ dropdownIcon: {
82
+ type: (StringConstructor | ObjectConstructor)[];
83
+ };
84
+ mode: {
85
+ type: PropType<"date" | "year" | "month">;
86
+ default: string;
87
+ };
88
+ yearText: StringConstructor;
89
+ monthText: StringConstructor;
90
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
91
+ 'click:year': () => true;
92
+ 'click:month': () => true;
93
+ 'click:prev': () => true;
94
+ 'click:next': () => true;
95
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
96
+ disabled: {
97
+ type: PropType<string | boolean | string[]>;
98
+ default: boolean;
99
+ };
100
+ nextIcon: {
101
+ type: (StringConstructor | ObjectConstructor)[];
102
+ default: string;
103
+ };
104
+ prevIcon: {
105
+ type: (StringConstructor | ObjectConstructor)[];
106
+ default: string;
107
+ };
108
+ dropdownIcon: {
109
+ type: (StringConstructor | ObjectConstructor)[];
110
+ };
111
+ mode: {
112
+ type: PropType<"date" | "year" | "month">;
113
+ default: string;
114
+ };
115
+ yearText: StringConstructor;
116
+ monthText: StringConstructor;
117
+ }>> & {
118
+ "onClick:year"?: (() => any) | undefined;
119
+ "onClick:month"?: (() => any) | undefined;
120
+ "onClick:prev"?: (() => any) | undefined;
121
+ "onClick:next"?: (() => any) | undefined;
122
+ }, {
123
+ disabled: string | boolean | string[];
124
+ mode: "date" | "year" | "month";
125
+ nextIcon: string | Record<string, any>;
126
+ prevIcon: string | Record<string, any>;
127
+ }, {}>;
128
+ export type YDatePickerControl = InstanceType<typeof YDatePickerControl>;