hzzt-plus 2.0.9 → 2.0.11

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 (56) hide show
  1. package/dist/index.full.js +45 -25
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +5 -5
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +45 -25
  7. package/dist/locale/en.js +1 -1
  8. package/dist/locale/en.min.js +1 -1
  9. package/dist/locale/en.min.mjs +1 -1
  10. package/dist/locale/en.mjs +1 -1
  11. package/dist/locale/zh-cn.js +1 -1
  12. package/dist/locale/zh-cn.min.js +1 -1
  13. package/dist/locale/zh-cn.min.mjs +1 -1
  14. package/dist/locale/zh-cn.mjs +1 -1
  15. package/es/components/cascader/index.mjs +2 -2
  16. package/es/components/cascader/src/cascader.mjs +156 -40
  17. package/es/components/cascader/src/cascader.mjs.map +1 -1
  18. package/es/components/cascader/src/cascader2.mjs +40 -156
  19. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  20. package/es/components/index.mjs +3 -3
  21. package/es/components/lazy-list/index.mjs +2 -2
  22. package/es/components/lazy-list/src/lazy-list.mjs +22 -80
  23. package/es/components/lazy-list/src/lazy-list.mjs.map +1 -1
  24. package/es/components/lazy-list/src/lazy-list2.mjs +80 -22
  25. package/es/components/lazy-list/src/lazy-list2.mjs.map +1 -1
  26. package/es/components/select/index.mjs +2 -2
  27. package/es/components/select/src/select.mjs +213 -42
  28. package/es/components/select/src/select.mjs.map +1 -1
  29. package/es/components/select/src/select2.mjs +42 -193
  30. package/es/components/select/src/select2.mjs.map +1 -1
  31. package/es/index.mjs +3 -3
  32. package/es/version.d.ts +1 -1
  33. package/es/version.mjs +1 -1
  34. package/es/version.mjs.map +1 -1
  35. package/lib/components/cascader/index.js +2 -2
  36. package/lib/components/cascader/src/cascader.js +155 -40
  37. package/lib/components/cascader/src/cascader.js.map +1 -1
  38. package/lib/components/cascader/src/cascader2.js +40 -155
  39. package/lib/components/cascader/src/cascader2.js.map +1 -1
  40. package/lib/components/index.js +3 -3
  41. package/lib/components/lazy-list/index.js +2 -2
  42. package/lib/components/lazy-list/src/lazy-list.js +23 -80
  43. package/lib/components/lazy-list/src/lazy-list.js.map +1 -1
  44. package/lib/components/lazy-list/src/lazy-list2.js +80 -23
  45. package/lib/components/lazy-list/src/lazy-list2.js.map +1 -1
  46. package/lib/components/select/index.js +2 -2
  47. package/lib/components/select/src/select.js +213 -43
  48. package/lib/components/select/src/select.js.map +1 -1
  49. package/lib/components/select/src/select2.js +43 -193
  50. package/lib/components/select/src/select2.js.map +1 -1
  51. package/lib/index.js +3 -3
  52. package/lib/version.d.ts +1 -1
  53. package/lib/version.js +1 -1
  54. package/lib/version.js.map +1 -1
  55. package/package.json +1 -1
  56. package/web-types.json +1 -1
@@ -2,165 +2,50 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var cascader = require('./cascader.js');
7
- var elementPlus = require('element-plus');
8
- require('../../../hooks/index.js');
9
5
  require('../../../utils/index.js');
10
- var utils = require('./hooks/utils.js');
11
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
12
- var index = require('../../../hooks/use-namespace/index.js');
13
- var index$1 = require('../../../hooks/use-size/index.js');
6
+ require('../../../hooks/index.js');
7
+ require('../../../constants/index.js');
8
+ var runtime = require('../../../utils/vue/props/runtime.js');
9
+ var index = require('../../../hooks/use-size/index.js');
10
+ var event = require('../../../constants/event.js');
14
11
  var shared = require('@vue/shared');
15
12
 
16
- const __default__ = vue.defineComponent({
17
- name: "HzztCascader"
18
- });
19
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
- ...__default__,
21
- props: cascader.cascaderProps,
22
- emits: cascader.cascaderEmits,
23
- setup(__props, { emit }) {
24
- const props = __props;
25
- const attrs = vue.useAttrs();
26
- const inputVal = vue.ref(props.modelValue);
27
- const cascaderVal = vue.ref();
28
- const inputRef = vue.ref();
29
- const cascaderRef = vue.ref();
30
- const nsCascader = index.useNamespace("cascader");
31
- const formSize = elementPlus.useFormSize();
32
- const formDisabled = elementPlus.useFormDisabled();
33
- const trueSize = vue.computed(() => props.size || formSize.value || index$1.useGlobalSize().value);
34
- const trueDisabled = vue.computed(() => props.disabled || formDisabled.value);
35
- const containerCls = vue.computed(() => [
36
- "relative",
37
- nsCascader.b(),
38
- nsCascader.m(trueSize.value)
39
- ]);
40
- const inputCls = vue.computed(() => [
41
- nsCascader.e("input")
42
- ]);
43
- const cascaderCls = vue.computed(() => [
44
- nsCascader.e("cascader")
45
- ]);
46
- const _inputProps = vue.computed(() => ({
47
- disabled: trueDisabled.value,
48
- size: trueSize.value,
49
- clearable: props.clearable,
50
- placeholder: props.placeholder,
51
- readonly: props.readonly,
52
- ...attrs,
53
- class: "",
54
- style: ""
55
- }));
56
- const _cascaderProps = vue.computed(() => ({
57
- options: props.options,
58
- disabled: trueDisabled.value,
59
- size: trueSize.value,
60
- clearable: props.clearable,
61
- placeholder: props.placeholder,
62
- props: { checkStrictly: true, expandTrigger: "hover" },
63
- filterable: true,
64
- separator: "/",
65
- showAllLevels: true,
66
- ...props.cascaderProps
67
- }));
68
- const isMultiple = vue.computed(() => {
69
- var _a;
70
- return !!((_a = _cascaderProps.value.props) == null ? void 0 : _a.multiple);
71
- });
72
- vue.watch(() => props.modelValue, (v) => {
73
- inputVal.value = v;
74
- getCascaderVal();
75
- });
76
- vue.watch(() => props.options, (v) => {
77
- if (!v)
78
- return;
79
- getCascaderVal();
80
- });
81
- getCascaderVal();
82
- function input(str) {
83
- emit("update:modelValue", str);
84
- emit("input", str);
85
- }
86
- function change(str) {
87
- emit("change", str);
88
- }
89
- function click(e) {
90
- cascaderRef.value.togglePopperVisible();
91
- const target = e.target;
92
- target.focus();
93
- }
94
- function cascaderChange(val) {
95
- var _a;
96
- const separator = _cascaderProps.value.separator || "/";
97
- const joinSeparator = (_a = props.joinSeparator) != null ? _a : ",";
98
- if (isMultiple.value) {
99
- const list = shared.isArray(val) ? val : [];
100
- const items = list.map((item) => {
101
- var _a2;
102
- if (shared.isArray(item)) {
103
- return _cascaderProps.value.showAllLevels === false ? String((_a2 = item[item.length - 1]) != null ? _a2 : "") : item.join(separator);
104
- }
105
- return String(item != null ? item : "");
106
- });
107
- inputVal.value = items.join(joinSeparator);
108
- } else {
109
- inputVal.value = val ? shared.isArray(val) ? _cascaderProps.value.showAllLevels === false ? val[val.length - 1] : val.join(separator) : [val].join(separator) : "";
110
- }
111
- input(inputVal.value);
112
- change(inputVal.value);
113
- }
114
- function getCascaderVal() {
115
- var _a;
116
- const separator = _cascaderProps.value.separator || "/";
117
- const joinSeparator = (_a = props.joinSeparator) != null ? _a : ",";
118
- if (isMultiple.value) {
119
- const raw = props.modelValue || "";
120
- if (!raw) {
121
- cascaderVal.value = [];
122
- return;
123
- }
124
- const parts = raw.split(joinSeparator).filter((s) => s !== "");
125
- if (_cascaderProps.value.showAllLevels === false) {
126
- cascaderVal.value = parts.map((id) => utils.getCascaderId(id, props.options));
127
- } else {
128
- cascaderVal.value = parts.map((p) => p.split(separator));
129
- }
130
- } else if (_cascaderProps.value.showAllLevels === false) {
131
- const list = utils.getCascaderId(props.modelValue, props.options);
132
- cascaderVal.value = list.join(separator);
133
- } else {
134
- cascaderVal.value = (props.modelValue || "").split(separator);
135
- }
136
- }
137
- return (_ctx, _cache) => {
138
- return vue.openBlock(), vue.createElementBlock("div", {
139
- class: vue.normalizeClass(vue.unref(containerCls))
140
- }, [
141
- vue.createVNode(vue.unref(elementPlus.ElInput), vue.mergeProps({
142
- class: vue.unref(inputCls),
143
- modelValue: inputVal.value,
144
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputVal.value = $event),
145
- ref_key: "inputRef",
146
- ref: inputRef
147
- }, vue.unref(_inputProps), {
148
- onInput: input,
149
- onClick: click,
150
- onChange: change
151
- }), null, 16, ["class", "modelValue"]),
152
- vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
153
- class: vue.unref(cascaderCls),
154
- modelValue: cascaderVal.value,
155
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => cascaderVal.value = $event),
156
- ref_key: "cascaderRef",
157
- ref: cascaderRef
158
- }, vue.unref(_cascaderProps), { onChange: cascaderChange }), null, 16, ["class", "modelValue"])
159
- ], 2);
160
- };
13
+ const cascaderProps = runtime.buildProps({
14
+ cascaderProps: {
15
+ type: Object,
16
+ default: () => ({
17
+ showAllLevels: true
18
+ })
19
+ },
20
+ disabled: Boolean,
21
+ readonly: Boolean,
22
+ clearable: Boolean,
23
+ size: index.useSizeProp,
24
+ options: {
25
+ type: runtime.definePropType(Array),
26
+ default: () => []
27
+ },
28
+ placeholder: {
29
+ type: String,
30
+ default: ""
31
+ },
32
+ joinSeparator: {
33
+ type: String,
34
+ default: ","
35
+ },
36
+ modelValue: {
37
+ type: runtime.definePropType([
38
+ String
39
+ ]),
40
+ default: ""
161
41
  }
162
42
  });
163
- var Cascader = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "cascader.vue"]]);
43
+ const cascaderEmits = {
44
+ [event.UPDATE_MODEL_EVENT]: (value) => shared.isString(value),
45
+ input: (value) => shared.isString(value),
46
+ change: (value) => shared.isString(value)
47
+ };
164
48
 
165
- exports["default"] = Cascader;
49
+ exports.cascaderEmits = cascaderEmits;
50
+ exports.cascaderProps = cascaderProps;
166
51
  //# sourceMappingURL=cascader2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cascader2.js","sources":["../../../../../../packages/components/cascader/src/cascader.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\">\n <el-input\n :class=\"inputCls\"\n v-model=\"inputVal\"\n ref=\"inputRef\"\n v-bind=\"_inputProps\"\n @input=\"input\"\n @click=\"click\"\n @change=\"change\"\n >\n </el-input>\n <el-cascader :class=\"cascaderCls\" v-model=\"cascaderVal\" ref=\"cascaderRef\" v-bind=\"_cascaderProps\"\n @change=\"cascaderChange\">\n </el-cascader>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {cascaderEmits, cascaderProps, CascaderNodeValue} from './cascader'\n import {computed, ref, useAttrs, watch} from \"vue\";\n import {CascaderProps, useFormDisabled, useFormSize, CascaderValue} from \"element-plus\";\n import {useGlobalSize, useNamespace} from \"@hzzt-plus/hooks\";\n import {isArray} from '@hzzt-plus/utils'\n import {ElInput, ElCascader} from 'element-plus'\n import {getCascaderId} from \"./hooks/utils\";\n\n defineOptions({\n name: 'HzztCascader',\n })\n\n const props = defineProps(cascaderProps)\n const emit = defineEmits(cascaderEmits)\n\n const attrs = useAttrs();\n\n const inputVal = ref(props.modelValue);\n const cascaderVal = ref();\n const inputRef = ref();\n const cascaderRef = ref();\n\n const nsCascader = useNamespace('cascader');\n\n const formSize = useFormSize()\n const formDisabled = useFormDisabled()\n\n const trueSize = computed(\n () => props.size || formSize.value || useGlobalSize().value\n )\n\n const trueDisabled = computed(() => props.disabled || formDisabled.value)\n\n const containerCls = computed(() => [\n 'relative',\n nsCascader.b(),\n nsCascader.m(trueSize.value),\n ])\n\n const inputCls = computed(() => [\n nsCascader.e('input'),\n ])\n\n const cascaderCls = computed(() => [\n nsCascader.e('cascader'),\n ])\n\n const _inputProps = computed(() => ({\n disabled: trueDisabled.value,\n size: trueSize.value,\n clearable: props.clearable,\n placeholder: props.placeholder,\n readonly: props.readonly,\n ...attrs,\n class: '',\n style: ''\n }))\n\n const _cascaderProps = computed(() => ({\n options: props.options,\n disabled: trueDisabled.value,\n size: trueSize.value,\n clearable: props.clearable,\n placeholder: props.placeholder,\n props: {checkStrictly: true, expandTrigger: 'hover'} as CascaderProps,\n filterable: true,\n separator: '/',\n showAllLevels: true,\n ...props.cascaderProps,\n }))\n\n const isMultiple = computed(() => !!_cascaderProps.value.props?.multiple)\n\n watch(() => props.modelValue, (v) => {\n inputVal.value = v;\n getCascaderVal();\n })\n\n watch(() => props.options, (v) => {\n if (!v) return;\n getCascaderVal();\n })\n\n getCascaderVal();\n\n function input(str: string) {\n emit('update:modelValue', str)\n emit('input', str)\n }\n\n function change(str: string) {\n emit('change', str)\n }\n\n function click(e: MouseEvent) {\n cascaderRef.value.togglePopperVisible();\n const target = e.target as HTMLInputElement;\n target.focus();\n }\n\n function cascaderChange(val: CascaderValue) {\n const separator = _cascaderProps.value.separator || '/';\n const joinSeparator = props.joinSeparator ?? ',';\n if (isMultiple.value) {\n const list = (isArray(val) ? val : []) as Array<CascaderNodeValue | CascaderNodeValue[]>;\n const items = list.map((item) => {\n if (isArray(item)) {\n return _cascaderProps.value.showAllLevels === false\n ? String(item[item.length - 1] ?? '')\n : item.join(separator);\n }\n return String(item ?? '');\n });\n inputVal.value = items.join(joinSeparator);\n } else {\n inputVal.value = val ? isArray(val) ? _cascaderProps.value.showAllLevels === false ? (val[val.length - 1] as string) : val.join(separator) : [val].join(separator) : '';\n }\n input(inputVal.value);\n change(inputVal.value);\n }\n\n function getCascaderVal() {\n const separator = _cascaderProps.value.separator || '/';\n const joinSeparator = props.joinSeparator ?? ',';\n if (isMultiple.value) {\n const raw = props.modelValue || '';\n if (!raw) {\n cascaderVal.value = [];\n return;\n }\n const parts = raw.split(joinSeparator).filter((s) => s !== '');\n if (_cascaderProps.value.showAllLevels === false) {\n cascaderVal.value = parts.map((id) => getCascaderId(id, props.options));\n } else {\n cascaderVal.value = parts.map((p) => p.split(separator));\n }\n } else if (_cascaderProps.value.showAllLevels === false) {\n const list = getCascaderId(props.modelValue, props.options);\n cascaderVal.value = list.join(separator);\n } else {\n cascaderVal.value = (props.modelValue || '').split(separator);\n }\n }\n\n\n</script>\n"],"names":["useAttrs","ref","useNamespace","useFormSize","useFormDisabled","computed","useGlobalSize","watch","isArray","getCascaderId"],"mappings":"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"}
1
+ {"version":3,"file":"cascader2.js","sources":["../../../../../../packages/components/cascader/src/cascader.ts"],"sourcesContent":["import {buildProps, definePropType, isString} from '@hzzt-plus/utils'\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\nimport type {ExtractPropTypes} from 'vue'\nimport type Cascader from './cascader.vue'\nimport {UPDATE_MODEL_EVENT} from \"@hzzt-plus/constants\";\n\nexport type CascaderNodeValue = string | number\n\nexport interface CascaderOption extends Record<string, unknown> {\n label?: string\n value?: CascaderNodeValue\n children?: CascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport const cascaderProps = buildProps({\n cascaderProps: {\n type: Object,\n default: () => ({\n showAllLevels: true,\n }),\n },\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n size: useSizeProp,\n options: {\n type: definePropType<CascaderOption[]>(Array),\n default: () => [] as CascaderOption[],\n },\n placeholder: {\n type: String,\n default: '',\n },\n joinSeparator: {\n type: String,\n default: ',',\n },\n modelValue: {\n type: definePropType<string | undefined>([\n String,\n ]),\n default: '',\n },\n})\n\nexport type CascaderProps = ExtractPropTypes<typeof cascaderProps>\n\nexport const cascaderEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | undefined) => isString(value),\n input: (value: string | undefined) => isString(value),\n change: (value: string | undefined) => isString(value),\n}\nexport type CascaderEmits = typeof cascaderEmits\n\n\nexport type CascaderInstance = InstanceType<typeof Cascader>\n"],"names":["buildProps","useSizeProp","definePropType","UPDATE_MODEL_EVENT","isString"],"mappings":";;;;;;;;;;;;AAGY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,aAAa,EAAE,IAAI;AACzB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC;AACzB,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKC,eAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,KAAK,EAAE,CAAC,KAAK,KAAKA,eAAQ,CAAC,KAAK,CAAC;AACnC,EAAE,MAAM,EAAE,CAAC,KAAK,KAAKA,eAAQ,CAAC,KAAK,CAAC;AACpC;;;;;"}
@@ -31,10 +31,10 @@ var scan = require('./scan/src/scan.js');
31
31
  var selectInput = require('./select-input/src/select-input.js');
32
32
  var selectTextarea = require('./select-textarea/src/select-textarea.js');
33
33
  var inputRange = require('./input-range/src/input-range.js');
34
- var cascader = require('./cascader/src/cascader.js');
35
- var select = require('./select/src/select.js');
34
+ var cascader = require('./cascader/src/cascader2.js');
35
+ var select = require('./select/src/select2.js');
36
36
  var clickInput = require('./click-input/src/click-input.js');
37
- var lazyList = require('./lazy-list/src/lazy-list2.js');
37
+ var lazyList = require('./lazy-list/src/lazy-list.js');
38
38
 
39
39
 
40
40
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var lazyList$1 = require('./src/lazy-list.js');
7
- var lazyList = require('./src/lazy-list2.js');
6
+ var lazyList$1 = require('./src/lazy-list2.js');
7
+ var lazyList = require('./src/lazy-list.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const HzztLazyList = install.withInstall(lazyList$1["default"]);
@@ -2,88 +2,31 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var lazyList = require('./lazy-list2.js');
7
- require('../../../hooks/index.js');
8
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
- var index = require('../../../hooks/use-namespace/index.js');
5
+ require('../../../utils/index.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
10
7
 
11
- const _hoisted_1 = ["onClick"];
12
- const __default__ = vue.defineComponent({
13
- name: "HzztLazyList"
14
- });
15
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
- ...__default__,
17
- props: lazyList.lazyListProps,
18
- emits: lazyList.lazyListEmits,
19
- setup(__props, { emit }) {
20
- const props = __props;
21
- const totalHeight = vue.ref("100%");
22
- const marginTop = vue.ref("0px");
23
- const currentIndex = vue.ref(1);
24
- const current = vue.ref(null);
25
- const nsLazy = index.useNamespace("lazy-list");
26
- const containerCls = vue.computed(() => [
27
- "overflow-y-auto",
28
- nsLazy.b()
29
- ]);
30
- vue.watch(() => props.data, () => {
31
- totalHeight.value = props.data.length * props.height + "px";
32
- }, {
33
- immediate: true
34
- });
35
- const calcList = vue.computed(() => props.data.slice(currentIndex.value === 1 ? 0 : (currentIndex.value - 1) * props.size - props.size / 2, (currentIndex.value + 1) * props.size + props.size / 2));
36
- function scrollList(e) {
37
- const target = e.target;
38
- const scrollTop = target.scrollTop;
39
- if (scrollTop < props.size / 2 * props.height) {
40
- currentIndex.value = 1;
41
- } else {
42
- currentIndex.value = Math.ceil((scrollTop - props.size / 2 * props.height) / props.size / props.height);
43
- }
44
- if (currentIndex.value === 1) {
45
- marginTop.value = "0px";
46
- } else {
47
- marginTop.value = ((currentIndex.value - 1) * props.size - props.size / 2) * props.height + "px";
48
- }
49
- }
50
- function rowClick(row) {
51
- current.value = row;
52
- emit("row-click", row);
53
- }
54
- return (_ctx, _cache) => {
55
- return vue.openBlock(), vue.createElementBlock("div", {
56
- class: vue.normalizeClass(vue.unref(containerCls)),
57
- onScroll: scrollList
58
- }, [
59
- vue.createElementVNode("div", {
60
- style: vue.normalizeStyle({
61
- height: totalHeight.value,
62
- width: 0,
63
- float: "left"
64
- })
65
- }, null, 4),
66
- vue.createElementVNode("div", {
67
- style: vue.normalizeStyle({ marginTop: marginTop.value })
68
- }, [
69
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(calcList), (item) => {
70
- return vue.openBlock(), vue.createElementBlock("div", {
71
- key: item[_ctx.rowKey],
72
- style: vue.normalizeStyle({
73
- height: _ctx.height + "px"
74
- }),
75
- class: vue.normalizeClass(["hzzt-lazy-list__item", current.value === item ? "is-active" : ""]),
76
- onClick: ($event) => rowClick(item)
77
- }, [
78
- vue.renderSlot(_ctx.$slots, "default", { data: item })
79
- ], 14, _hoisted_1);
80
- }), 128))
81
- ], 4)
82
- ], 34);
83
- };
8
+ const lazyListProps = runtime.buildProps({
9
+ size: {
10
+ type: Number,
11
+ default: 20
12
+ },
13
+ height: {
14
+ type: Number,
15
+ default: 30
16
+ },
17
+ data: {
18
+ type: runtime.definePropType(Array),
19
+ default: () => []
20
+ },
21
+ rowKey: {
22
+ type: String,
23
+ default: "id"
84
24
  }
85
25
  });
86
- var LazyList = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "lazy-list.vue"]]);
26
+ const lazyListEmits = {
27
+ "row-click": (row) => row
28
+ };
87
29
 
88
- exports["default"] = LazyList;
30
+ exports.lazyListEmits = lazyListEmits;
31
+ exports.lazyListProps = lazyListProps;
89
32
  //# sourceMappingURL=lazy-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-list.js","sources":["../../../../../../packages/components/lazy-list/src/lazy-list.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\" @scroll=\"scrollList\">\n <div\n :style=\"{\n height: totalHeight,\n width: 0,\n float: 'left',\n }\"\n />\n <div :style=\"{marginTop: marginTop}\">\n <div\n v-for=\"item in calcList\"\n :key=\"item[rowKey]\"\n :style=\"{\n height: height+'px'\n }\"\n :class=\"['hzzt-lazy-list__item', current === item?'is-active':'']\"\n @click=\"rowClick(item)\"\n >\n <slot :data=\"item\" />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {lazyListEmits, lazyListProps} from './lazy-list'\n import {computed, ref, watch} from \"vue\";\n import {useNamespace} from \"@hzzt-plus/hooks\";\n\n defineOptions({\n name: 'HzztLazyList',\n })\n\n const props = defineProps(lazyListProps)\n const emit = defineEmits(lazyListEmits)\n\n const totalHeight = ref('100%');\n const marginTop = ref('0px');\n const currentIndex = ref(1);\n const current = ref(null);\n\n const nsLazy = useNamespace('lazy-list');\n\n const containerCls = computed(() => [\n 'overflow-y-auto',\n nsLazy.b(),\n ])\n\n watch(() => props.data, () => {\n totalHeight.value = props.data.length * props.height + 'px';\n }, {\n immediate: true,\n });\n\n const calcList = computed(\n () => props.data.slice(currentIndex.value === 1 ? 0 : ((currentIndex.value - 1) * props.size -\n props.size / 2), (currentIndex.value + 1) * props.size + props.size / 2));\n\n function scrollList(e: Event) {\n const target = e.target as HTMLElement;\n const scrollTop = target.scrollTop;\n if (scrollTop < props.size / 2 * props.height) {\n currentIndex.value = 1;\n } else {\n currentIndex.value = Math.ceil((scrollTop - props.size / 2 * props.height) / props.size / props.height);\n }\n if (currentIndex.value === 1) {\n marginTop.value = '0px';\n } else {\n marginTop.value = ((currentIndex.value - 1) * props.size - props.size / 2) * props.height + 'px';\n }\n }\n\n function rowClick(row: any) {\n current.value = row;\n emit('row-click', row);\n }\n\n\n</script>\n"],"names":["ref","useNamespace","computed","watch","_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;uCA8BgB,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,WAAA,GAAcA,QAAI,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,SAAA,GAAYA,QAAI,KAAK,CAAA,CAAA;AAC3B,IAAM,MAAA,YAAA,GAAeA,QAAI,CAAC,CAAA,CAAA;AAC1B,IAAM,MAAA,OAAA,GAAUA,QAAI,IAAI,CAAA,CAAA;AAExB,IAAM,MAAA,MAAA,GAASC,mBAAa,WAAW,CAAA,CAAA;AAEvC,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAAA,MAClC,iBAAA;AAAA,MACA,OAAO,CAAE,EAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAMC,SAAA,CAAA,MAAM,KAAM,CAAA,IAAA,EAAM,MAAM;AAC5B,MAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,GAAS,MAAM,MAAS,GAAA,IAAA,CAAA;AAAA,KACtD,EAAA;AAAA,MACD,SAAW,EAAA,IAAA;AAAA,KACZ,CAAA,CAAA;AAED,IAAA,MAAM,QAAW,GAAAD,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,KAAA,KAAA,CAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,EAAA,CAAA,YAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IACf,mBAAiB,CAAA,CAAA,EAAA;AACwD,MAAC,MAAA,MAAA,GAAA,CAAA,CAAA,MAAA,CAAA;AAE5E,MAAA,MAAA,YAAoB,MAAU,CAAA,SAAA,CAAA;AAC5B,MAAA,IAAA,YAAiB,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,KAAA,CAAA,MAAA,EAAA;AACjB,QAAA,kBAAyB,GAAA,CAAA,CAAA;AACzB,OAAA,MAAgB;AACd,QAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA,IAAA,CAAA,CAAA,SAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,KAAA,CAAA,MAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OAChB;AACL,MAAA,IAAA,YAAqB,CAAA,KAAA,KAAA,CAAK,EAAM;AAAsE,QACxG,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,OAAI,MAAA;AACF,QAAA,SAAA,CAAU,KAAQ,GAAA,CAAA,CAAA,YAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,IAAA,KAAA,CAAA,MAAA,GAAA,IAAA,CAAA;AAAA,OACb;AACL,KAAU;AAAkF,IAC9F,SAAA,QAAA,CAAA,GAAA,EAAA;AAAA,MACF,OAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAEA,MAAA,IAAA,CAAA,WAAkB,EAAU,GAAA,CAAA,CAAA;AAC1B,KAAA;AACA,IAAA,OAAK,aAAa,KAAG;AAAA,MACvB,OAAAE,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"lazy-list.js","sources":["../../../../../../packages/components/lazy-list/src/lazy-list.ts"],"sourcesContent":["import {buildProps, definePropType} from '@hzzt-plus/utils'\nimport type {ExtractPropTypes} from 'vue'\nimport type LazyList from './lazy-list.vue'\n\nexport const lazyListProps = buildProps({\n size: {\n type: Number,\n default: 20,\n },\n height: {\n type: Number,\n default: 30,\n },\n data: {\n type: definePropType<Record<string, any>[]>(Array),\n default: () => [],\n },\n rowKey: {\n type: String,\n default: 'id',\n },\n})\n\nexport type LazyListProps = ExtractPropTypes<typeof lazyListProps>\n\nexport const lazyListEmits = {\n 'row-click': (row: any) => row\n}\n\nexport type LazyListEmits = typeof lazyListEmits\n\n\nexport type LazyListInstance = InstanceType<typeof LazyList>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,WAAW,EAAE,CAAC,GAAG,KAAK,GAAG;AAC3B;;;;;"}
@@ -2,31 +2,88 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
5
+ var vue = require('vue');
6
+ var lazyList = require('./lazy-list.js');
7
+ require('../../../hooks/index.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-namespace/index.js');
7
10
 
8
- const lazyListProps = runtime.buildProps({
9
- size: {
10
- type: Number,
11
- default: 20
12
- },
13
- height: {
14
- type: Number,
15
- default: 30
16
- },
17
- data: {
18
- type: runtime.definePropType(Array),
19
- default: () => []
20
- },
21
- rowKey: {
22
- type: String,
23
- default: "id"
11
+ const _hoisted_1 = ["onClick"];
12
+ const __default__ = vue.defineComponent({
13
+ name: "HzztLazyList"
14
+ });
15
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
+ ...__default__,
17
+ props: lazyList.lazyListProps,
18
+ emits: lazyList.lazyListEmits,
19
+ setup(__props, { emit }) {
20
+ const props = __props;
21
+ const totalHeight = vue.ref("100%");
22
+ const marginTop = vue.ref("0px");
23
+ const currentIndex = vue.ref(1);
24
+ const current = vue.ref(null);
25
+ const nsLazy = index.useNamespace("lazy-list");
26
+ const containerCls = vue.computed(() => [
27
+ "overflow-y-auto",
28
+ nsLazy.b()
29
+ ]);
30
+ vue.watch(() => props.data, () => {
31
+ totalHeight.value = props.data.length * props.height + "px";
32
+ }, {
33
+ immediate: true
34
+ });
35
+ const calcList = vue.computed(() => props.data.slice(currentIndex.value === 1 ? 0 : (currentIndex.value - 1) * props.size - props.size / 2, (currentIndex.value + 1) * props.size + props.size / 2));
36
+ function scrollList(e) {
37
+ const target = e.target;
38
+ const scrollTop = target.scrollTop;
39
+ if (scrollTop < props.size / 2 * props.height) {
40
+ currentIndex.value = 1;
41
+ } else {
42
+ currentIndex.value = Math.ceil((scrollTop - props.size / 2 * props.height) / props.size / props.height);
43
+ }
44
+ if (currentIndex.value === 1) {
45
+ marginTop.value = "0px";
46
+ } else {
47
+ marginTop.value = ((currentIndex.value - 1) * props.size - props.size / 2) * props.height + "px";
48
+ }
49
+ }
50
+ function rowClick(row) {
51
+ current.value = row;
52
+ emit("row-click", row);
53
+ }
54
+ return (_ctx, _cache) => {
55
+ return vue.openBlock(), vue.createElementBlock("div", {
56
+ class: vue.normalizeClass(vue.unref(containerCls)),
57
+ onScroll: scrollList
58
+ }, [
59
+ vue.createElementVNode("div", {
60
+ style: vue.normalizeStyle({
61
+ height: totalHeight.value,
62
+ width: 0,
63
+ float: "left"
64
+ })
65
+ }, null, 4),
66
+ vue.createElementVNode("div", {
67
+ style: vue.normalizeStyle({ marginTop: marginTop.value })
68
+ }, [
69
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(calcList), (item) => {
70
+ return vue.openBlock(), vue.createElementBlock("div", {
71
+ key: item[_ctx.rowKey],
72
+ style: vue.normalizeStyle({
73
+ height: _ctx.height + "px"
74
+ }),
75
+ class: vue.normalizeClass(["hzzt-lazy-list__item", current.value === item ? "is-active" : ""]),
76
+ onClick: ($event) => rowClick(item)
77
+ }, [
78
+ vue.renderSlot(_ctx.$slots, "default", { data: item })
79
+ ], 14, _hoisted_1);
80
+ }), 128))
81
+ ], 4)
82
+ ], 34);
83
+ };
24
84
  }
25
85
  });
26
- const lazyListEmits = {
27
- "row-click": (row) => row
28
- };
86
+ var LazyList = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "lazy-list.vue"]]);
29
87
 
30
- exports.lazyListEmits = lazyListEmits;
31
- exports.lazyListProps = lazyListProps;
88
+ exports["default"] = LazyList;
32
89
  //# sourceMappingURL=lazy-list2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-list2.js","sources":["../../../../../../packages/components/lazy-list/src/lazy-list.ts"],"sourcesContent":["import {buildProps, definePropType} from '@hzzt-plus/utils'\nimport type {ExtractPropTypes} from 'vue'\nimport type LazyList from './lazy-list.vue'\n\nexport const lazyListProps = buildProps({\n size: {\n type: Number,\n default: 20,\n },\n height: {\n type: Number,\n default: 30,\n },\n data: {\n type: definePropType<Record<string, any>[]>(Array),\n default: () => [],\n },\n rowKey: {\n type: String,\n default: 'id',\n },\n})\n\nexport type LazyListProps = ExtractPropTypes<typeof lazyListProps>\n\nexport const lazyListEmits = {\n 'row-click': (row: any) => row\n}\n\nexport type LazyListEmits = typeof lazyListEmits\n\n\nexport type LazyListInstance = InstanceType<typeof LazyList>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,WAAW,EAAE,CAAC,GAAG,KAAK,GAAG;AAC3B;;;;;"}
1
+ {"version":3,"file":"lazy-list2.js","sources":["../../../../../../packages/components/lazy-list/src/lazy-list.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\" @scroll=\"scrollList\">\n <div\n :style=\"{\n height: totalHeight,\n width: 0,\n float: 'left',\n }\"\n />\n <div :style=\"{marginTop: marginTop}\">\n <div\n v-for=\"item in calcList\"\n :key=\"item[rowKey]\"\n :style=\"{\n height: height+'px'\n }\"\n :class=\"['hzzt-lazy-list__item', current === item?'is-active':'']\"\n @click=\"rowClick(item)\"\n >\n <slot :data=\"item\" />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {lazyListEmits, lazyListProps} from './lazy-list'\n import {computed, ref, watch} from \"vue\";\n import {useNamespace} from \"@hzzt-plus/hooks\";\n\n defineOptions({\n name: 'HzztLazyList',\n })\n\n const props = defineProps(lazyListProps)\n const emit = defineEmits(lazyListEmits)\n\n const totalHeight = ref('100%');\n const marginTop = ref('0px');\n const currentIndex = ref(1);\n const current = ref(null);\n\n const nsLazy = useNamespace('lazy-list');\n\n const containerCls = computed(() => [\n 'overflow-y-auto',\n nsLazy.b(),\n ])\n\n watch(() => props.data, () => {\n totalHeight.value = props.data.length * props.height + 'px';\n }, {\n immediate: true,\n });\n\n const calcList = computed(\n () => props.data.slice(currentIndex.value === 1 ? 0 : ((currentIndex.value - 1) * props.size -\n props.size / 2), (currentIndex.value + 1) * props.size + props.size / 2));\n\n function scrollList(e: Event) {\n const target = e.target as HTMLElement;\n const scrollTop = target.scrollTop;\n if (scrollTop < props.size / 2 * props.height) {\n currentIndex.value = 1;\n } else {\n currentIndex.value = Math.ceil((scrollTop - props.size / 2 * props.height) / props.size / props.height);\n }\n if (currentIndex.value === 1) {\n marginTop.value = '0px';\n } else {\n marginTop.value = ((currentIndex.value - 1) * props.size - props.size / 2) * props.height + 'px';\n }\n }\n\n function rowClick(row: any) {\n current.value = row;\n emit('row-click', row);\n }\n\n\n</script>\n"],"names":["ref","useNamespace","computed","watch","_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;uCA8BgB,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,WAAA,GAAcA,QAAI,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,SAAA,GAAYA,QAAI,KAAK,CAAA,CAAA;AAC3B,IAAM,MAAA,YAAA,GAAeA,QAAI,CAAC,CAAA,CAAA;AAC1B,IAAM,MAAA,OAAA,GAAUA,QAAI,IAAI,CAAA,CAAA;AAExB,IAAM,MAAA,MAAA,GAASC,mBAAa,WAAW,CAAA,CAAA;AAEvC,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAAA,MAClC,iBAAA;AAAA,MACA,OAAO,CAAE,EAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAMC,SAAA,CAAA,MAAM,KAAM,CAAA,IAAA,EAAM,MAAM;AAC5B,MAAA,WAAA,CAAY,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,GAAS,MAAM,MAAS,GAAA,IAAA,CAAA;AAAA,KACtD,EAAA;AAAA,MACD,SAAW,EAAA,IAAA;AAAA,KACZ,CAAA,CAAA;AAED,IAAA,MAAM,QAAW,GAAAD,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,CAAA,KAAA,CAAA,YAAA,CAAA,KAAA,KAAA,CAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,EAAA,CAAA,YAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,IACf,mBAAiB,CAAA,CAAA,EAAA;AACwD,MAAC,MAAA,MAAA,GAAA,CAAA,CAAA,MAAA,CAAA;AAE5E,MAAA,MAAA,YAAoB,MAAU,CAAA,SAAA,CAAA;AAC5B,MAAA,IAAA,YAAiB,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,KAAA,CAAA,MAAA,EAAA;AACjB,QAAA,kBAAyB,GAAA,CAAA,CAAA;AACzB,OAAA,MAAgB;AACd,QAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA,IAAA,CAAA,CAAA,SAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,GAAA,KAAA,CAAA,MAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,MAAA,CAAA,CAAA;AAAA,OAChB;AACL,MAAA,IAAA,YAAqB,CAAA,KAAA,KAAA,CAAK,EAAM;AAAsE,QACxG,SAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,OAAI,MAAA;AACF,QAAA,SAAA,CAAU,KAAQ,GAAA,CAAA,CAAA,YAAA,CAAA,KAAA,GAAA,CAAA,IAAA,KAAA,CAAA,IAAA,GAAA,KAAA,CAAA,IAAA,GAAA,CAAA,IAAA,KAAA,CAAA,MAAA,GAAA,IAAA,CAAA;AAAA,OACb;AACL,KAAU;AAAkF,IAC9F,SAAA,QAAA,CAAA,GAAA,EAAA;AAAA,MACF,OAAA,CAAA,KAAA,GAAA,GAAA,CAAA;AAEA,MAAA,IAAA,CAAA,WAAkB,EAAU,GAAA,CAAA,CAAA;AAC1B,KAAA;AACA,IAAA,OAAK,aAAa,KAAG;AAAA,MACvB,OAAAE,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var select$1 = require('./src/select2.js');
7
- var select = require('./src/select.js');
6
+ var select$1 = require('./src/select.js');
7
+ var select = require('./src/select2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const HzztSelect = install.withInstall(select$1["default"]);