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.
- package/dist/style.css +1 -1
- package/dist/yuyeon.js +3133 -2862
- package/dist/yuyeon.umd.cjs +6 -6
- package/lib/components/button/YButton.mjs +4 -1
- package/lib/components/button/YButton.mjs.map +1 -1
- package/lib/components/date-picker/YDateCalendar.mjs +5 -5
- package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
- package/lib/components/date-picker/YDatePicker.mjs +112 -4
- package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
- package/lib/components/date-picker/YDatePicker.scss +3 -0
- package/lib/components/date-picker/YDatePickerControl.mjs +84 -6
- package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.scss +33 -1
- package/lib/components/date-picker/YMonthPicker.mjs +57 -0
- package/lib/components/date-picker/YMonthPicker.mjs.map +1 -0
- package/lib/components/date-picker/YMonthPicker.scss +25 -0
- package/lib/components/date-picker/YYearPicker.mjs +82 -0
- package/lib/components/date-picker/YYearPicker.mjs.map +1 -0
- package/lib/components/date-picker/YYearPicker.scss +23 -0
- package/lib/components/date-picker/index.mjs +2 -0
- package/lib/components/date-picker/index.mjs.map +1 -1
- package/lib/components/icons/index.mjs +12 -0
- package/lib/components/icons/index.mjs.map +1 -1
- package/lib/composables/choice.mjs +2 -1
- package/lib/composables/choice.mjs.map +1 -1
- package/package.json +1 -1
- package/types/components/button/YButton.d.ts +3 -1
- package/types/components/checkbox/YCheckbox.d.ts +2 -2
- package/types/components/checkbox/YInputCheckbox.d.ts +2 -2
- package/types/components/date-picker/YDatePicker.d.ts +117 -0
- package/types/components/date-picker/YDatePickerControl.d.ts +128 -0
- package/types/components/date-picker/YMonthPicker.d.ts +28 -0
- package/types/components/date-picker/YYearPicker.d.ts +43 -0
- package/types/components/date-picker/index.d.ts +2 -0
- package/types/components/field-input/YFieldInput.d.ts +2 -2
- package/types/components/icons/index.d.ts +36 -0
- package/types/components/input/YInput.d.ts +2 -2
- package/types/components/tab/YTabs.d.ts +7 -0
- package/types/components/textarea/YTextarea.d.ts +6 -6
- package/types/composables/choice.d.ts +5 -0
- 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":";AAAA,SAAmBA,QAAQ,EAAEC,eAAe,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAEtDC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,YAAY;AAAA,SACZC,OAAO;AAEhB;AAEA,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CACtD;EACEG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACD,MAAM,EAAEF,MAAM,CAAC;EACxBI,GAAG,EAAE,IAAgC;EACrCC,GAAG,EAAE;AACP,CAAC,EACD,aACF,CAAC;AAED,MAAMC,QAAQ,GAAG,EAAE;AAEnB,OAAO,MAAMC,WAAW,GAAGjB,eAAe,CAAC;EACzCkB,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAEX,4BAA4B,CAAC,CAAC;EACrCY,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,IAAI;MAAEC;IAAO,CAAC,GAAAF,IAAA;IAC3B,MAAMG,QAAQ,GAAGpB,OAAO,CAAC,CAAC;IAC1B,MAAMqB,KAAK,GAAGvB,cAAc,CAACiB,KAAK,EAAE,YAAY,CAAC;IACjD,MAAMO,QAAQ,GAAGD,KAAK,CAACE,KAAK;IAC5B,MAAMC,SAAS,GAAG3B,GAAG,CACnByB,QAAQ,GAAIA,QAAQ,GAAGV,QAAS,IAAIU,QAAQ,GAAG,CAAC,GAAGV,QAAQ,GAAG,CAAC,CACjE,CAAC;IACD,MAAMa,KAAK,GAAG9B,QAAQ,CAAC,MAAM;MAC3B,IAAI+B,IAAI,GAAGN,QAAQ,CAACO,WAAW,CAACP,QAAQ,CAACM,IAAI,CAAC,CAAC,CAAC;MAEhD,OAAOzB,WAAW,CAACW,QAAQ,GAAG,CAAC,EAAEY,SAAS,CAACD,KAAK,CAAC,CAACK,GAAG,CAAEL,KAAK,IAAK;QAC/DG,IAAI,GAAGN,QAAQ,CAACS,OAAO,CAACH,IAAI,EAAEH,KAAK,CAAC;QACpC,OAAO;UACLO,IAAI,EAAEV,QAAQ,CAACW,MAAM,CAACL,IAAI,EAAE,MAAM,CAAC;UACnCH,KAAK;UACLS,MAAM,EAAEX,KAAK,CAACE,KAAK,KAAKA;QAC1B,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAASU,OAAOA,CAACV,KAAa,EAAE;MAC9BF,KAAK,CAACE,KAAK,GAAIA,KAAK;IACtB;IAEA,SAASW,UAAUA,CAAA,EAAU;MAAA,IAATC,GAAG,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;MACzB,IAAIG,MAAM,GAAGf,SAAS,CAACD,KAAK,GAAGX,QAAQ,GAAGuB,GAAG;MAC7C,IAAII,MAAM,GAAG,CAAC,EAAE;QACdA,MAAM,GAAG,CAAC;MACZ;MACAf,SAAS,CAACD,KAAK,GAAGgB,MAAM;IAC1B;IAEApB,MAAM,CAAC;MACLe;IACF,CAAC,CAAC;IAEFnC,SAAS,CAAC,MAAM;MACd,OAAAyC,YAAA;QAAA,SACc,CAAC,eAAe;MAAC,IAC1Bf,KAAK,CAACF,KAAK,CAACK,GAAG,CAAEa,IAAI,IAAK;QACzB,MAAMC,WAAW,GAAG;UAClBC,IAAI,EAAEF,IAAI;UACV1B,KAAK,EAAE;YACLkB,OAAO,EAAEA,CAAA,KAAM;cACbA,OAAO,CAACQ,IAAI,CAAClB,KAAK,CAAC;YACrB;UACF;QACF,CAAC;QACD,OAAAiB,YAAA;UAAA,SACc,CAAC,qBAAqB;QAAC,IAAAA,YAAA,CAAArC,OAAA;UAAA,aAEpB,CAAC,SAAS,EAAE,MAAM,CAAC,CAACyC,IAAI,CAAC,GAAG,CAAC;UAAA,UAChCH,IAAI,CAACT,MAAM;UAAA,SACZjB,KAAK,CAACR,KAAK;UAAA,WACT0B,CAAA,KAAMA,OAAO,CAACQ,IAAI,CAAClB,KAAK;QAAC;UAAAsB,OAAA,EAAAA,CAAA,MAEjCJ,IAAI,CAACX,IAAI;QAAA;MAIlB,CAAC,CAAC;IAGR,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -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 +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,
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -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
|
-
}) =>
|
|
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, ("
|
|
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, ("
|
|
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>;
|