giime 0.3.14 → 0.3.16
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/index.css +47 -4
- package/es/components/src/base/select/Select.vue.d.ts +1 -0
- package/es/components/src/base/select/Select.vue.mjs +2 -1
- package/es/components/src/base/select/Select.vue.mjs.map +1 -1
- package/es/components/src/base/select/Select.vue2.mjs +32 -8
- package/es/components/src/base/select/Select.vue2.mjs.map +1 -1
- package/es/components/src/base/select/Select.vue3.mjs +4 -0
- package/es/components/src/base/select/Select.vue3.mjs.map +1 -0
- package/es/components/src/base/select/index.d.ts +1 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +9 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs +2 -1
- package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs.map +1 -1
- package/es/components/src/composite/searchForm/searchFormItems/select/index.d.ts +9 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.d.ts +4 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs +4 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs.map +1 -1
- package/es/components/src/composite/selectOptions/SelectOptions.vue.d.ts +15 -2
- package/es/components/src/composite/selectOptions/SelectOptions.vue2.mjs +58 -7
- package/es/components/src/composite/selectOptions/SelectOptions.vue2.mjs.map +1 -1
- package/es/components/src/composite/selectOptions/index.d.ts +415 -105
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useDownload/index.d.ts +1 -1
- package/es/hooks/base/useDownload/index.mjs +7 -7
- package/es/hooks/base/useDownload/index.mjs.map +1 -1
- package/es/hooks/base/useIDBKeyval/index.d.ts +4 -0
- package/es/hooks/base/useIDBKeyval/index.mjs.map +1 -1
- package/es/index.css +47 -4
- package/lib/components/src/base/select/Select.vue.d.ts +1 -0
- package/lib/components/src/base/select/Select.vue.js +2 -1
- package/lib/components/src/base/select/Select.vue.js.map +1 -1
- package/lib/components/src/base/select/Select.vue2.js +31 -7
- package/lib/components/src/base/select/Select.vue2.js.map +1 -1
- package/lib/components/src/base/select/Select.vue3.js +8 -0
- package/lib/components/src/base/select/Select.vue3.js.map +1 -0
- package/lib/components/src/base/select/index.d.ts +1 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +9 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js +2 -1
- package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js.map +1 -1
- package/lib/components/src/composite/searchForm/searchFormItems/select/index.d.ts +9 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.d.ts +4 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js +4 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js.map +1 -1
- package/lib/components/src/composite/selectOptions/SelectOptions.vue.d.ts +15 -2
- package/lib/components/src/composite/selectOptions/SelectOptions.vue2.js +57 -6
- package/lib/components/src/composite/selectOptions/SelectOptions.vue2.js.map +1 -1
- package/lib/components/src/composite/selectOptions/index.d.ts +415 -105
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useDownload/index.d.ts +1 -1
- package/lib/hooks/base/useDownload/index.js +7 -7
- package/lib/hooks/base/useDownload/index.js.map +1 -1
- package/lib/hooks/base/useIDBKeyval/index.d.ts +4 -0
- package/lib/hooks/base/useIDBKeyval/index.js.map +1 -1
- package/lib/index.css +47 -4
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -569,6 +569,9 @@ video {
|
|
|
569
569
|
.gm-inline-block {
|
|
570
570
|
display: inline-block;
|
|
571
571
|
}
|
|
572
|
+
.gm-inline {
|
|
573
|
+
display: inline;
|
|
574
|
+
}
|
|
572
575
|
.gm-flex {
|
|
573
576
|
display: flex;
|
|
574
577
|
}
|
|
@@ -587,6 +590,9 @@ video {
|
|
|
587
590
|
.gm-h-1 {
|
|
588
591
|
height: 0.25rem;
|
|
589
592
|
}
|
|
593
|
+
.gm-h-\[30px\] {
|
|
594
|
+
height: 30px;
|
|
595
|
+
}
|
|
590
596
|
.gm-h-\[36px\] {
|
|
591
597
|
height: 36px;
|
|
592
598
|
}
|
|
@@ -602,6 +608,9 @@ video {
|
|
|
602
608
|
.gm-w-\[120px\] {
|
|
603
609
|
width: 120px;
|
|
604
610
|
}
|
|
611
|
+
.gm-w-\[30px\] {
|
|
612
|
+
width: 30px;
|
|
613
|
+
}
|
|
605
614
|
.gm-w-full {
|
|
606
615
|
width: 100%;
|
|
607
616
|
}
|
|
@@ -671,6 +680,9 @@ video {
|
|
|
671
680
|
--tw-bg-opacity: 1;
|
|
672
681
|
background-color: rgb(236 254 255 / var(--tw-bg-opacity));
|
|
673
682
|
}
|
|
683
|
+
.gm-stroke-2 {
|
|
684
|
+
stroke-width: 2;
|
|
685
|
+
}
|
|
674
686
|
.gm-p-4 {
|
|
675
687
|
padding: 1rem;
|
|
676
688
|
}
|
|
@@ -755,10 +767,6 @@ video {
|
|
|
755
767
|
margin: 0;
|
|
756
768
|
}
|
|
757
769
|
|
|
758
|
-
[data-v-ec3af0bb] .gmSearchForm .el-form-item {
|
|
759
|
-
margin-right: 0;
|
|
760
|
-
margin-bottom: 4px;
|
|
761
|
-
}
|
|
762
770
|
.gm-flex-center[data-v-2a79bac9] {
|
|
763
771
|
align-items: center;
|
|
764
772
|
}
|
|
@@ -766,6 +774,37 @@ video {
|
|
|
766
774
|
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
767
775
|
justify-content: space-between;
|
|
768
776
|
}
|
|
777
|
+
.circular[data-v-b391445c] {
|
|
778
|
+
animation: loading-rotate-b391445c 2s linear infinite;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
.path[data-v-b391445c] {
|
|
782
|
+
animation: loading-dash-b391445c 1.5s ease-in-out infinite;
|
|
783
|
+
stroke-dasharray: 90, 150;
|
|
784
|
+
stroke-dashoffset: 0;
|
|
785
|
+
stroke: var(--el-color-primary);
|
|
786
|
+
stroke-linecap: round;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
@keyframes loading-rotate-b391445c {
|
|
790
|
+
to {
|
|
791
|
+
transform: rotate(360deg);
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
@keyframes loading-dash-b391445c {
|
|
795
|
+
0% {
|
|
796
|
+
stroke-dasharray: 1, 200;
|
|
797
|
+
stroke-dashoffset: 0;
|
|
798
|
+
}
|
|
799
|
+
50% {
|
|
800
|
+
stroke-dasharray: 90, 150;
|
|
801
|
+
stroke-dashoffset: -40px;
|
|
802
|
+
}
|
|
803
|
+
100% {
|
|
804
|
+
stroke-dasharray: 90, 150;
|
|
805
|
+
stroke-dashoffset: -120px;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
769
808
|
.gm-number-interval-single[data-v-47a13fd0] {
|
|
770
809
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
771
810
|
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
@@ -807,6 +846,10 @@ video {
|
|
|
807
846
|
[data-v-72a53f6c] .gmTableNoBorder .el-table__border-left-patch {
|
|
808
847
|
height: 0;
|
|
809
848
|
}
|
|
849
|
+
[data-v-ec3af0bb] .gmSearchForm .el-form-item {
|
|
850
|
+
margin-right: 0;
|
|
851
|
+
margin-bottom: 4px;
|
|
852
|
+
}
|
|
810
853
|
|
|
811
854
|
.pagination-container[data-v-19230954] {
|
|
812
855
|
background: #fff;
|
|
@@ -206,6 +206,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
206
206
|
empty?(_: {}): any;
|
|
207
207
|
tag?(_: {}): any;
|
|
208
208
|
loading?(_: {}): any;
|
|
209
|
+
label?(_: any): any;
|
|
209
210
|
}>;
|
|
210
211
|
export default _default;
|
|
211
212
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import _sfc_main from './Select.vue2.mjs';
|
|
2
|
+
import './Select.vue3.mjs';
|
|
2
3
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
3
4
|
|
|
4
|
-
var Select = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "Select.vue"]]);
|
|
5
|
+
var Select = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b391445c"], ["__file", "Select.vue"]]);
|
|
5
6
|
|
|
6
7
|
export { Select as default };
|
|
7
8
|
//# sourceMappingURL=Select.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, useSlots, ref, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, unref, createSlots, withCtx, renderSlot } from 'vue';
|
|
1
|
+
import { defineComponent, useSlots, ref, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, unref, createSlots, withCtx, renderSlot, createElementBlock, createElementVNode, normalizeProps, guardReactiveProps } from 'vue';
|
|
2
2
|
import '../../../../utils/index.mjs';
|
|
3
3
|
import { selectProps, selectEmits, elSelectEmits } from './select.mjs';
|
|
4
4
|
import { getGmEvent } from '../../../../utils/src/elementPlus/event.mjs';
|
|
@@ -37,51 +37,75 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
unref(slots).default ? {
|
|
38
38
|
name: "default",
|
|
39
39
|
fn: withCtx(() => [
|
|
40
|
-
renderSlot(_ctx.$slots, "default")
|
|
40
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
41
41
|
]),
|
|
42
42
|
key: "0"
|
|
43
43
|
} : void 0,
|
|
44
44
|
unref(slots).header ? {
|
|
45
45
|
name: "header",
|
|
46
46
|
fn: withCtx(() => [
|
|
47
|
-
renderSlot(_ctx.$slots, "header")
|
|
47
|
+
renderSlot(_ctx.$slots, "header", {}, void 0, true)
|
|
48
48
|
]),
|
|
49
49
|
key: "1"
|
|
50
50
|
} : void 0,
|
|
51
51
|
unref(slots).footer ? {
|
|
52
52
|
name: "footer",
|
|
53
53
|
fn: withCtx(() => [
|
|
54
|
-
renderSlot(_ctx.$slots, "footer")
|
|
54
|
+
renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
55
55
|
]),
|
|
56
56
|
key: "2"
|
|
57
57
|
} : void 0,
|
|
58
58
|
unref(slots).prefix ? {
|
|
59
59
|
name: "prefix",
|
|
60
60
|
fn: withCtx(() => [
|
|
61
|
-
renderSlot(_ctx.$slots, "prefix")
|
|
61
|
+
renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
|
|
62
62
|
]),
|
|
63
63
|
key: "3"
|
|
64
64
|
} : void 0,
|
|
65
65
|
unref(slots).empty ? {
|
|
66
66
|
name: "empty",
|
|
67
67
|
fn: withCtx(() => [
|
|
68
|
-
renderSlot(_ctx.$slots, "empty")
|
|
68
|
+
renderSlot(_ctx.$slots, "empty", {}, void 0, true)
|
|
69
69
|
]),
|
|
70
70
|
key: "4"
|
|
71
71
|
} : void 0,
|
|
72
72
|
unref(slots).tag ? {
|
|
73
73
|
name: "tag",
|
|
74
74
|
fn: withCtx(() => [
|
|
75
|
-
renderSlot(_ctx.$slots, "tag")
|
|
75
|
+
renderSlot(_ctx.$slots, "tag", {}, void 0, true)
|
|
76
76
|
]),
|
|
77
77
|
key: "5"
|
|
78
78
|
} : void 0,
|
|
79
79
|
unref(slots).loading ? {
|
|
80
80
|
name: "loading",
|
|
81
81
|
fn: withCtx(() => [
|
|
82
|
-
renderSlot(_ctx.$slots, "loading")
|
|
82
|
+
renderSlot(_ctx.$slots, "loading", {}, void 0, true)
|
|
83
83
|
]),
|
|
84
84
|
key: "6"
|
|
85
|
+
} : {
|
|
86
|
+
name: "loading",
|
|
87
|
+
fn: withCtx(() => [
|
|
88
|
+
(openBlock(), createElementBlock("svg", {
|
|
89
|
+
class: "circular gm-inline gm-h-[30px] gm-w-[30px]",
|
|
90
|
+
viewBox: "0 0 50 50"
|
|
91
|
+
}, [
|
|
92
|
+
createElementVNode("circle", {
|
|
93
|
+
class: "path gm-stroke-2",
|
|
94
|
+
cx: "25",
|
|
95
|
+
cy: "25",
|
|
96
|
+
r: "20",
|
|
97
|
+
fill: "none"
|
|
98
|
+
})
|
|
99
|
+
]))
|
|
100
|
+
]),
|
|
101
|
+
key: "7"
|
|
102
|
+
},
|
|
103
|
+
unref(slots).label ? {
|
|
104
|
+
name: "label",
|
|
105
|
+
fn: withCtx((slotValue) => [
|
|
106
|
+
renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps(slotValue)), void 0, true)
|
|
107
|
+
]),
|
|
108
|
+
key: "8"
|
|
85
109
|
} : void 0
|
|
86
110
|
]),
|
|
87
111
|
1040
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.vue2.mjs","sources":["../../../../../../../packages/components/src/base/select/Select.vue"],"sourcesContent":["<template>\r\n <el-select ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default>\r\n <slot name=\"default\" />\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n </el-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { elSelectEmits, selectEmits, selectProps } from './select';\r\n\r\ndefineOptions({\r\n name: 'GmSelect',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(selectProps);\r\nconst emit = defineEmits(selectEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elSelectEmits, emit);\r\n\r\nconst elRef = ref();\r\nconst exposeNames = ['focus', 'blur'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Select.vue2.mjs","sources":["../../../../../../../packages/components/src/base/select/Select.vue"],"sourcesContent":["<template>\r\n <el-select ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default>\r\n <slot name=\"default\" />\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n <template v-else #loading>\r\n <svg class=\"circular gm-inline gm-h-[30px] gm-w-[30px]\" viewBox=\"0 0 50 50\">\r\n <circle class=\"path gm-stroke-2\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"slotValue\">\r\n <slot name=\"label\" v-bind=\"slotValue\" />\r\n </template>\r\n </el-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { elSelectEmits, selectEmits, selectProps } from './select';\r\n\r\ndefineOptions({\r\n name: 'GmSelect',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(selectProps);\r\nconst emit = defineEmits(selectEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elSelectEmits, emit);\r\n\r\nconst elRef = ref();\r\nconst exposeNames = ['focus', 'blur'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.circular {\r\n animation: loading-rotate 2s linear infinite;\r\n}\r\n.path {\r\n animation: loading-dash 1.5s ease-in-out infinite;\r\n stroke-dasharray: 90, 150;\r\n stroke-dashoffset: 0;\r\n stroke: var(--el-color-primary);\r\n stroke-linecap: round;\r\n}\r\n@keyframes loading-rotate {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n@keyframes loading-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 90, 150;\r\n stroke-dashoffset: -40px;\r\n }\r\n 100% {\r\n stroke-dasharray: 90, 150;\r\n stroke-dashoffset: -120px;\r\n }\r\n}\r\n</style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAyCA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAW,UAAW,CAAA,aAAA,EAAe,IAAI,CAAA,CAAA;AAE/C,IAAA,MAAM,QAAQ,GAAI,EAAA,CAAA;AAClB,IAAM,MAAA,WAAA,GAAc,CAAC,OAAA,EAAS,MAAM,CAAA,CAAA;AACpC,IAAA,MAAM,EAAE,SAAA,EAAc,GAAA,YAAA,CAAa,OAAO,WAAW,CAAA,CAAA;AAErD,IAAa,QAAA,CAAA;AAAA,MACX,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.vue3.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -468,6 +468,7 @@ export declare const GmSelect: import("../../../../utils").SFCWithInstall<{
|
|
|
468
468
|
empty?(_: {}): any;
|
|
469
469
|
tag?(_: {}): any;
|
|
470
470
|
loading?(_: {}): any;
|
|
471
|
+
label?(_: any): any;
|
|
471
472
|
};
|
|
472
473
|
})> & Record<string, any>;
|
|
473
474
|
export type SelectInstance = InstanceType<typeof Select>;
|
package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
8
|
type: StringConstructor;
|
|
9
9
|
required: true;
|
|
10
10
|
};
|
|
11
|
+
loading: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
11
15
|
multiple: {
|
|
12
16
|
type: BooleanConstructor;
|
|
13
17
|
default: boolean;
|
|
@@ -45,6 +49,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
45
49
|
type: StringConstructor;
|
|
46
50
|
required: true;
|
|
47
51
|
};
|
|
52
|
+
loading: {
|
|
53
|
+
type: BooleanConstructor;
|
|
54
|
+
default: boolean;
|
|
55
|
+
};
|
|
48
56
|
multiple: {
|
|
49
57
|
type: BooleanConstructor;
|
|
50
58
|
default: boolean;
|
|
@@ -75,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
75
83
|
}, {
|
|
76
84
|
options: import("../../..").SelectOptionsOptionType[];
|
|
77
85
|
disabled: boolean;
|
|
86
|
+
loading: boolean;
|
|
78
87
|
label: string;
|
|
79
88
|
multiple: boolean;
|
|
80
89
|
optionLabel: string;
|
package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs
CHANGED
|
@@ -37,11 +37,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
disabled: _ctx.disabled,
|
|
38
38
|
options: _ctx.options,
|
|
39
39
|
labelKey: _ctx.labelKey,
|
|
40
|
+
loading: _ctx.loading,
|
|
40
41
|
optionLabel: _ctx.optionLabel,
|
|
41
42
|
optionValue: _ctx.optionValue,
|
|
42
43
|
class: "gm-w-full",
|
|
43
44
|
onChange: _cache[1] || (_cache[1] = ($event) => emit("change", $event))
|
|
44
|
-
}, null, 8, ["modelValue", "placeholder", "multiple", "disabled", "options", "labelKey", "optionLabel", "optionValue"])
|
|
45
|
+
}, null, 8, ["modelValue", "placeholder", "multiple", "disabled", "options", "labelKey", "loading", "optionLabel", "optionValue"])
|
|
45
46
|
]),
|
|
46
47
|
_: 1
|
|
47
48
|
/* STABLE */
|
package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFormSelect.vue2.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue"],"sourcesContent":["<template>\r\n <gm-form-item :prop=\"prop\" class=\"\">\r\n <gm-select-options\r\n v-model=\"modelValue\"\r\n :placeholder=\"label\"\r\n :multiple=\"multiple\"\r\n filterable\r\n clearable\r\n collapse-tags\r\n collapse-tags-tooltip\r\n :disabled=\"disabled\"\r\n :options=\"options\"\r\n :labelKey=\"labelKey\"\r\n :optionLabel=\"optionLabel\"\r\n :optionValue=\"optionValue\"\r\n class=\"gm-w-full\"\r\n @change=\"emit('change', $event)\"\r\n />\r\n </gm-form-item>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { useWatchModelChange } from '../../composables/useWatchModelChange';\r\nimport { SearchFormSelectName, searchFormSelectEmits, searchFormSelectProps } from './searchFormSelect';\r\nimport type { SelectProps } from '@giime/components/src/base/select';\r\n\r\ndefineOptions({\r\n name: SearchFormSelectName,\r\n});\r\nconst props = defineProps(searchFormSelectProps);\r\nconst modelValue = defineModel<SelectProps['modelValue'] | undefined>();\r\n\r\nconst emit = defineEmits(searchFormSelectEmits);\r\nuseWatchModelChange(modelValue, { prop: props.prop });\r\n</script>\r\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SearchFormSelect.vue2.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue"],"sourcesContent":["<template>\r\n <gm-form-item :prop=\"prop\" class=\"\">\r\n <gm-select-options\r\n v-model=\"modelValue\"\r\n :placeholder=\"label\"\r\n :multiple=\"multiple\"\r\n filterable\r\n clearable\r\n collapse-tags\r\n collapse-tags-tooltip\r\n :disabled=\"disabled\"\r\n :options=\"options\"\r\n :labelKey=\"labelKey\"\r\n :loading=\"loading\"\r\n :optionLabel=\"optionLabel\"\r\n :optionValue=\"optionValue\"\r\n class=\"gm-w-full\"\r\n @change=\"emit('change', $event)\"\r\n />\r\n </gm-form-item>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { useWatchModelChange } from '../../composables/useWatchModelChange';\r\nimport { SearchFormSelectName, searchFormSelectEmits, searchFormSelectProps } from './searchFormSelect';\r\nimport type { SelectProps } from '@giime/components/src/base/select';\r\n\r\ndefineOptions({\r\n name: SearchFormSelectName,\r\n});\r\nconst props = defineProps(searchFormSelectProps);\r\nconst modelValue = defineModel<SelectProps['modelValue'] | undefined>();\r\n\r\nconst emit = defineEmits(searchFormSelectEmits);\r\nuseWatchModelChange(modelValue, { prop: props.prop });\r\n</script>\r\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,UAAA,GAAaA,QAAmD,CAAA,OAAA,EAAA,YAAA,CAAA,CAAA;AAEtE,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,mBAAA,CAAoB,UAAY,EAAA,EAAE,IAAM,EAAA,KAAA,CAAM,MAAM,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,10 @@ export declare const GmSearchFormSelect: import("../../../../../../utils").SFCWi
|
|
|
9
9
|
type: StringConstructor;
|
|
10
10
|
required: true;
|
|
11
11
|
};
|
|
12
|
+
loading: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
12
16
|
multiple: {
|
|
13
17
|
type: BooleanConstructor;
|
|
14
18
|
default: boolean;
|
|
@@ -46,6 +50,10 @@ export declare const GmSearchFormSelect: import("../../../../../../utils").SFCWi
|
|
|
46
50
|
type: StringConstructor;
|
|
47
51
|
required: true;
|
|
48
52
|
};
|
|
53
|
+
loading: {
|
|
54
|
+
type: BooleanConstructor;
|
|
55
|
+
default: boolean;
|
|
56
|
+
};
|
|
49
57
|
multiple: {
|
|
50
58
|
type: BooleanConstructor;
|
|
51
59
|
default: boolean;
|
|
@@ -76,6 +84,7 @@ export declare const GmSearchFormSelect: import("../../../../../../utils").SFCWi
|
|
|
76
84
|
}, {
|
|
77
85
|
options: import("../../../index.js").SelectOptionsOptionType[];
|
|
78
86
|
disabled: boolean;
|
|
87
|
+
loading: boolean;
|
|
79
88
|
label: string;
|
|
80
89
|
multiple: boolean;
|
|
81
90
|
optionLabel: string;
|
package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchFormSelect.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.ts"],"sourcesContent":["import { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\r\nimport { searchFormCommonProps } from '../common';\r\nimport type { OptionProps } from '@giime/components/src/base';\r\n// import type { PropType } from 'vue';\r\nexport interface SearchFormSelectPropsOption {\r\n label: OptionProps['label'];\r\n value: OptionProps['value'];\r\n}\r\nexport const searchFormSelectProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n options: selectOptionsProps.options,\r\n optionLabel: selectOptionsProps.optionLabel,\r\n // 自定义指定option中的value字段\r\n optionValue: selectOptionsProps.optionValue,\r\n labelKey: selectOptionsProps.labelKey,\r\n};\r\n\r\nexport const searchFormSelectEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormSelectName = 'GmSearchFormSelect';\r\n"],"names":[],"mappings":";;;AAQO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAG,qBAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAS,kBAAmB,CAAA,OAAA;AAAA,EAC5B,aAAa,kBAAmB,CAAA,WAAA;AAAA;AAAA,EAEhC,aAAa,kBAAmB,CAAA,WAAA;AAAA,EAChC,UAAU,kBAAmB,CAAA,QAAA;AAC/B,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACnC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,oBAAuB,GAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"searchFormSelect.mjs","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.ts"],"sourcesContent":["import { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\r\nimport { searchFormCommonProps } from '../common';\r\nimport type { OptionProps } from '@giime/components/src/base';\r\n// import type { PropType } from 'vue';\r\nexport interface SearchFormSelectPropsOption {\r\n label: OptionProps['label'];\r\n value: OptionProps['value'];\r\n}\r\nexport const searchFormSelectProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n options: selectOptionsProps.options,\r\n optionLabel: selectOptionsProps.optionLabel,\r\n // 自定义指定option中的value字段\r\n optionValue: selectOptionsProps.optionValue,\r\n labelKey: selectOptionsProps.labelKey,\r\n};\r\n\r\nexport const searchFormSelectEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormSelectName = 'GmSearchFormSelect';\r\n"],"names":[],"mappings":";;;AAQO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAG,qBAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAAS,kBAAmB,CAAA,OAAA;AAAA,EAC5B,aAAa,kBAAmB,CAAA,WAAA;AAAA;AAAA,EAEhC,aAAa,kBAAmB,CAAA,WAAA;AAAA,EAChC,UAAU,kBAAmB,CAAA,QAAA;AAC/B,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACnC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,oBAAuB,GAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
2
|
clearable: {
|
|
3
3
|
type: BooleanConstructor;
|
|
4
4
|
default: boolean;
|
|
@@ -237,5 +237,18 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
237
237
|
optionLabel: string;
|
|
238
238
|
optionValue: string;
|
|
239
239
|
labelKey: string | boolean;
|
|
240
|
-
}, {}
|
|
240
|
+
}, {}>, {
|
|
241
|
+
header?(_: {}): any;
|
|
242
|
+
footer?(_: {}): any;
|
|
243
|
+
prefix?(_: {}): any;
|
|
244
|
+
empty?(_: {}): any;
|
|
245
|
+
tag?(_: {}): any;
|
|
246
|
+
loading?(_: {}): any;
|
|
247
|
+
label?(_: any): any;
|
|
248
|
+
}>;
|
|
241
249
|
export default _default;
|
|
250
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
251
|
+
new (): {
|
|
252
|
+
$slots: S;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, unref, withCtx, createElementBlock, Fragment, renderList } from 'vue';
|
|
1
|
+
import { defineComponent, useSlots, computed, resolveComponent, openBlock, createBlock, mergeProps, toHandlers, unref, createSlots, withCtx, createElementBlock, Fragment, renderList, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
|
|
2
2
|
import '../../../../utils/index.mjs';
|
|
3
3
|
import { isString } from '../../../../utils/src/is.mjs';
|
|
4
4
|
import { selectOptionsProps, selectOptionsEmits } from './selectOptions.mjs';
|
|
@@ -15,6 +15,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15
15
|
const props = __props;
|
|
16
16
|
const emit = __emit;
|
|
17
17
|
const events = getGmEvent(selectOptionsEmits, emit);
|
|
18
|
+
const slots = useSlots();
|
|
18
19
|
const labelOptions = computed(() => {
|
|
19
20
|
return props.options.map((it, i) => {
|
|
20
21
|
const res = {
|
|
@@ -37,7 +38,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
38
|
return openBlock(), createBlock(
|
|
38
39
|
_component_gm_select,
|
|
39
40
|
mergeProps(props, toHandlers(unref(events))),
|
|
40
|
-
{
|
|
41
|
+
createSlots({
|
|
41
42
|
default: withCtx(() => [
|
|
42
43
|
(openBlock(true), createElementBlock(
|
|
43
44
|
Fragment,
|
|
@@ -53,11 +54,61 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
53
54
|
/* KEYED_FRAGMENT */
|
|
54
55
|
))
|
|
55
56
|
]),
|
|
56
|
-
_:
|
|
57
|
-
/*
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
_: 2
|
|
58
|
+
/* DYNAMIC */
|
|
59
|
+
}, [
|
|
60
|
+
unref(slots).header ? {
|
|
61
|
+
name: "header",
|
|
62
|
+
fn: withCtx(() => [
|
|
63
|
+
renderSlot(_ctx.$slots, "header")
|
|
64
|
+
]),
|
|
65
|
+
key: "0"
|
|
66
|
+
} : void 0,
|
|
67
|
+
unref(slots).footer ? {
|
|
68
|
+
name: "footer",
|
|
69
|
+
fn: withCtx(() => [
|
|
70
|
+
renderSlot(_ctx.$slots, "footer")
|
|
71
|
+
]),
|
|
72
|
+
key: "1"
|
|
73
|
+
} : void 0,
|
|
74
|
+
unref(slots).prefix ? {
|
|
75
|
+
name: "prefix",
|
|
76
|
+
fn: withCtx(() => [
|
|
77
|
+
renderSlot(_ctx.$slots, "prefix")
|
|
78
|
+
]),
|
|
79
|
+
key: "2"
|
|
80
|
+
} : void 0,
|
|
81
|
+
unref(slots).empty ? {
|
|
82
|
+
name: "empty",
|
|
83
|
+
fn: withCtx(() => [
|
|
84
|
+
renderSlot(_ctx.$slots, "empty")
|
|
85
|
+
]),
|
|
86
|
+
key: "3"
|
|
87
|
+
} : void 0,
|
|
88
|
+
unref(slots).tag ? {
|
|
89
|
+
name: "tag",
|
|
90
|
+
fn: withCtx(() => [
|
|
91
|
+
renderSlot(_ctx.$slots, "tag")
|
|
92
|
+
]),
|
|
93
|
+
key: "4"
|
|
94
|
+
} : void 0,
|
|
95
|
+
unref(slots).loading ? {
|
|
96
|
+
name: "loading",
|
|
97
|
+
fn: withCtx(() => [
|
|
98
|
+
renderSlot(_ctx.$slots, "loading")
|
|
99
|
+
]),
|
|
100
|
+
key: "5"
|
|
101
|
+
} : void 0,
|
|
102
|
+
unref(slots).label ? {
|
|
103
|
+
name: "label",
|
|
104
|
+
fn: withCtx((slotValue) => [
|
|
105
|
+
renderSlot(_ctx.$slots, "label", normalizeProps(guardReactiveProps(slotValue)))
|
|
106
|
+
]),
|
|
107
|
+
key: "6"
|
|
108
|
+
} : void 0
|
|
109
|
+
]),
|
|
110
|
+
1040
|
|
111
|
+
/* FULL_PROPS, DYNAMIC_SLOTS */
|
|
61
112
|
);
|
|
62
113
|
};
|
|
63
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectOptions.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/selectOptions/SelectOptions.vue"],"sourcesContent":["<template>\r\n <gm-select v-bind=\"props\" v-on=\"events\">\r\n <gm-option v-for=\"(item, index) in labelOptions\" :key=\"index\" :label=\"item.label\" :value=\"item.value\" />\r\n </gm-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { isString } from '@giime/utils/src/is';\r\nimport { selectOptionsEmits, selectOptionsProps } from './selectOptions';\r\ndefineOptions({\r\n name: 'GmSelectOptions',\r\n});\r\nconst props = defineProps(selectOptionsProps);\r\nconst emit = defineEmits(selectOptionsEmits);\r\nconst events = getGmEvent(selectOptionsEmits, emit);\r\n\r\nconst labelOptions = computed(() => {\r\n return props.options.map((it, i) => {\r\n const res = {\r\n label: it[props.optionLabel],\r\n value: it[props.optionValue],\r\n };\r\n if (props.labelKey === true) {\r\n res.label = `${it.id}. ${res.label}`;\r\n } else if (props.labelKey === 'index') {\r\n res.label = `${i + 1}. ${res.label}`;\r\n } else if (isString(props.labelKey) && Object.prototype.hasOwnProperty.call(it, props.labelKey)) {\r\n res.label = `${it[props.labelKey]}. ${res.label}`;\r\n }\r\n return res;\r\n });\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SelectOptions.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/selectOptions/SelectOptions.vue"],"sourcesContent":["<template>\r\n <gm-select v-bind=\"props\" v-on=\"events\">\r\n <gm-option v-for=\"(item, index) in labelOptions\" :key=\"index\" :label=\"item.label\" :value=\"item.value\" />\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"slotValue\">\r\n <slot name=\"label\" v-bind=\"slotValue\" />\r\n </template>\r\n </gm-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, useSlots } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { isString } from '@giime/utils/src/is';\r\nimport { selectOptionsEmits, selectOptionsProps } from './selectOptions';\r\ndefineOptions({\r\n name: 'GmSelectOptions',\r\n});\r\nconst props = defineProps(selectOptionsProps);\r\nconst emit = defineEmits(selectOptionsEmits);\r\nconst events = getGmEvent(selectOptionsEmits, emit);\r\nconst slots = useSlots();\r\n\r\nconst labelOptions = computed(() => {\r\n return props.options.map((it, i) => {\r\n const res = {\r\n label: it[props.optionLabel],\r\n value: it[props.optionValue],\r\n };\r\n if (props.labelKey === true) {\r\n res.label = `${it.id}. ${res.label}`;\r\n } else if (props.labelKey === 'index') {\r\n res.label = `${i + 1}. ${res.label}`;\r\n } else if (isString(props.labelKey) && Object.prototype.hasOwnProperty.call(it, props.labelKey)) {\r\n res.label = `${it[props.labelKey]}. ${res.label}`;\r\n }\r\n return res;\r\n });\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAkCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAM,MAAA,MAAA,GAAS,UAAW,CAAA,kBAAA,EAAoB,IAAI,CAAA,CAAA;AAClD,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,IAAI,CAAM,KAAA;AAClC,QAAA,MAAM,GAAM,GAAA;AAAA,UACV,KAAA,EAAO,EAAG,CAAA,KAAA,CAAM,WAAW,CAAA;AAAA,UAC3B,KAAA,EAAO,EAAG,CAAA,KAAA,CAAM,WAAW,CAAA;AAAA,SAC7B,CAAA;AACA,QAAI,IAAA,KAAA,CAAM,aAAa,IAAM,EAAA;AAC3B,UAAA,GAAA,CAAI,QAAQ,CAAG,EAAA,EAAA,CAAG,EAAE,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,SACpC,MAAA,IAAW,KAAM,CAAA,QAAA,KAAa,OAAS,EAAA;AACrC,UAAA,GAAA,CAAI,QAAQ,CAAG,EAAA,CAAA,GAAI,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,SACzB,MAAA,IAAA,QAAA,CAAS,KAAM,CAAA,QAAQ,CAAK,IAAA,MAAA,CAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,EAAA,EAAI,KAAM,CAAA,QAAQ,CAAG,EAAA;AAC/F,UAAI,GAAA,CAAA,KAAA,GAAQ,GAAG,EAAG,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,SACjD;AACA,QAAO,OAAA,GAAA,CAAA;AAAA,OACR,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|