hzzt-plus 2.0.3 → 2.0.5

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 (90) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +13 -4
  3. package/dist/index.full.min.js +11 -11
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +11 -11
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +13 -4
  8. package/dist/locale/en.js +1 -1
  9. package/dist/locale/en.min.js +1 -1
  10. package/dist/locale/en.min.mjs +1 -1
  11. package/dist/locale/en.mjs +1 -1
  12. package/dist/locale/zh-cn.js +1 -1
  13. package/dist/locale/zh-cn.min.js +1 -1
  14. package/dist/locale/zh-cn.min.mjs +1 -1
  15. package/dist/locale/zh-cn.mjs +1 -1
  16. package/es/components/cascader/index.mjs +2 -2
  17. package/es/components/cascader/src/cascader.mjs +122 -36
  18. package/es/components/cascader/src/cascader.mjs.map +1 -1
  19. package/es/components/cascader/src/cascader2.mjs +36 -122
  20. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  21. package/es/components/collapse/index.mjs +2 -2
  22. package/es/components/collapse/src/collapse.mjs +88 -0
  23. package/es/components/collapse/src/collapse.mjs.map +1 -1
  24. package/es/components/collapse/src/collapse2.mjs +0 -88
  25. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  26. package/es/components/index.mjs +3 -3
  27. package/es/components/input-range/index.mjs +2 -2
  28. package/es/components/input-range/src/input-range.mjs +76 -26
  29. package/es/components/input-range/src/input-range.mjs.map +1 -1
  30. package/es/components/input-range/src/input-range2.mjs +26 -76
  31. package/es/components/input-range/src/input-range2.mjs.map +1 -1
  32. package/es/components/lazy-list/index.mjs +2 -2
  33. package/es/components/lazy-list/src/lazy-list.mjs +80 -22
  34. package/es/components/lazy-list/src/lazy-list.mjs.map +1 -1
  35. package/es/components/lazy-list/src/lazy-list2.mjs +22 -80
  36. package/es/components/lazy-list/src/lazy-list2.mjs.map +1 -1
  37. package/es/components/scroll/index.mjs +2 -2
  38. package/es/components/scroll/src/scroll.mjs +0 -90
  39. package/es/components/scroll/src/scroll.mjs.map +1 -1
  40. package/es/components/scroll/src/scroll2.mjs +90 -0
  41. package/es/components/scroll/src/scroll2.mjs.map +1 -1
  42. package/es/components/select/src/select.d.ts +1 -0
  43. package/es/components/select/src/select.mjs +4 -0
  44. package/es/components/select/src/select.mjs.map +1 -1
  45. package/es/components/select/src/select.vue.d.ts +4 -0
  46. package/es/components/select/src/select2.mjs +8 -3
  47. package/es/components/select/src/select2.mjs.map +1 -1
  48. package/es/index.mjs +3 -3
  49. package/es/version.d.ts +1 -1
  50. package/es/version.mjs +1 -1
  51. package/es/version.mjs.map +1 -1
  52. package/lib/components/cascader/index.js +2 -2
  53. package/lib/components/cascader/src/cascader.js +121 -36
  54. package/lib/components/cascader/src/cascader.js.map +1 -1
  55. package/lib/components/cascader/src/cascader2.js +36 -121
  56. package/lib/components/cascader/src/cascader2.js.map +1 -1
  57. package/lib/components/collapse/index.js +2 -2
  58. package/lib/components/collapse/src/collapse.js +91 -0
  59. package/lib/components/collapse/src/collapse.js.map +1 -1
  60. package/lib/components/collapse/src/collapse2.js +0 -91
  61. package/lib/components/collapse/src/collapse2.js.map +1 -1
  62. package/lib/components/index.js +3 -3
  63. package/lib/components/input-range/index.js +2 -2
  64. package/lib/components/input-range/src/input-range.js +76 -27
  65. package/lib/components/input-range/src/input-range.js.map +1 -1
  66. package/lib/components/input-range/src/input-range2.js +27 -76
  67. package/lib/components/input-range/src/input-range2.js.map +1 -1
  68. package/lib/components/lazy-list/index.js +2 -2
  69. package/lib/components/lazy-list/src/lazy-list.js +80 -23
  70. package/lib/components/lazy-list/src/lazy-list.js.map +1 -1
  71. package/lib/components/lazy-list/src/lazy-list2.js +23 -80
  72. package/lib/components/lazy-list/src/lazy-list2.js.map +1 -1
  73. package/lib/components/scroll/index.js +2 -2
  74. package/lib/components/scroll/src/scroll.js +0 -93
  75. package/lib/components/scroll/src/scroll.js.map +1 -1
  76. package/lib/components/scroll/src/scroll2.js +93 -0
  77. package/lib/components/scroll/src/scroll2.js.map +1 -1
  78. package/lib/components/select/src/select.d.ts +1 -0
  79. package/lib/components/select/src/select.js +4 -0
  80. package/lib/components/select/src/select.js.map +1 -1
  81. package/lib/components/select/src/select.vue.d.ts +4 -0
  82. package/lib/components/select/src/select2.js +7 -2
  83. package/lib/components/select/src/select2.js.map +1 -1
  84. package/lib/index.js +3 -3
  85. package/lib/version.d.ts +1 -1
  86. package/lib/version.js +1 -1
  87. package/lib/version.js.map +1 -1
  88. package/package.json +1 -1
  89. package/tags.json +1 -1
  90. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.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 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,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;;;;;"}
1
+ {"version":3,"file":"cascader.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} 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 }))\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 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 inputVal.value = val ? isArray(val) ? val.join(separator) : [val].join(separator) : '';\n input(inputVal.value);\n change(inputVal.value);\n }\n\n function getCascaderVal() {\n const separator = _cascaderProps.value.separator || '/';\n 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","_openBlock","_createElementBlock"],"mappings":"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"}
@@ -2,131 +2,46 @@
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
- }));
54
- const _cascaderProps = vue.computed(() => ({
55
- options: props.options,
56
- disabled: trueDisabled.value,
57
- size: trueSize.value,
58
- clearable: props.clearable,
59
- placeholder: props.placeholder,
60
- props: { checkStrictly: true, expandTrigger: "hover" },
61
- filterable: true,
62
- separator: "/",
63
- showAllLevels: true,
64
- ...props.cascaderProps
65
- }));
66
- vue.watch(() => props.modelValue, (v) => {
67
- inputVal.value = v;
68
- getCascaderVal();
69
- });
70
- vue.watch(() => props.options, (v) => {
71
- if (!v)
72
- return;
73
- getCascaderVal();
74
- });
75
- getCascaderVal();
76
- function input(str) {
77
- emit("update:modelValue", str);
78
- emit("input", str);
79
- }
80
- function change(str) {
81
- emit("change", str);
82
- }
83
- function click(e) {
84
- cascaderRef.value.togglePopperVisible();
85
- const target = e.target;
86
- target.focus();
87
- }
88
- function cascaderChange(val) {
89
- const separator = _cascaderProps.value.separator || "/";
90
- inputVal.value = val ? shared.isArray(val) ? val.join(separator) : [val].join(separator) : "";
91
- input(inputVal.value);
92
- change(inputVal.value);
93
- }
94
- function getCascaderVal() {
95
- const separator = _cascaderProps.value.separator || "/";
96
- if (_cascaderProps.value.showAllLevels === false) {
97
- const list = utils.getCascaderId(props.modelValue, props.options);
98
- cascaderVal.value = list.join(separator);
99
- } else {
100
- cascaderVal.value = (props.modelValue || "").split(separator);
101
- }
102
- }
103
- return (_ctx, _cache) => {
104
- return vue.openBlock(), vue.createElementBlock("div", {
105
- class: vue.normalizeClass(vue.unref(containerCls))
106
- }, [
107
- vue.createVNode(vue.unref(elementPlus.ElInput), vue.mergeProps({
108
- class: vue.unref(inputCls),
109
- modelValue: inputVal.value,
110
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputVal.value = $event),
111
- ref_key: "inputRef",
112
- ref: inputRef
113
- }, vue.unref(_inputProps), {
114
- onInput: input,
115
- onClick: click,
116
- onChange: change
117
- }), null, 16, ["class", "modelValue"]),
118
- vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
119
- class: vue.unref(cascaderCls),
120
- modelValue: cascaderVal.value,
121
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => cascaderVal.value = $event),
122
- ref_key: "cascaderRef",
123
- ref: cascaderRef
124
- }, vue.unref(_cascaderProps), { onChange: cascaderChange }), null, 16, ["class", "modelValue"])
125
- ], 2);
126
- };
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
+ modelValue: {
33
+ type: runtime.definePropType([
34
+ String
35
+ ]),
36
+ default: ""
127
37
  }
128
38
  });
129
- var Cascader = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "cascader.vue"]]);
39
+ const cascaderEmits = {
40
+ [event.UPDATE_MODEL_EVENT]: (value) => shared.isString(value),
41
+ input: (value) => shared.isString(value),
42
+ change: (value) => shared.isString(value)
43
+ };
130
44
 
131
- exports["default"] = Cascader;
45
+ exports.cascaderEmits = cascaderEmits;
46
+ exports.cascaderProps = cascaderProps;
132
47
  //# 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} 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 }))\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 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 inputVal.value = val ? isArray(val) ? val.join(separator) : [val].join(separator) : '';\n input(inputVal.value);\n change(inputVal.value);\n }\n\n function getCascaderVal() {\n const separator = _cascaderProps.value.separator || '/';\n 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","_openBlock","_createElementBlock"],"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 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,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;;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var collapse = require('./src/collapse2.js');
7
- require('./src/collapse.js');
6
+ var collapse = require('./src/collapse.js');
7
+ require('./src/collapse2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const HzztCollapse = install.withInstall(collapse["default"]);
@@ -1,3 +1,94 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ require('../../../hooks/index.js');
7
+ var index$1 = require('../../icon/src/index.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-locale/index.js');
10
+
11
+ const _hoisted_1 = { class: "hzzt-collapse flex column" };
12
+ const _hoisted_2 = { class: "hzzt-collapse__top" };
13
+ const _hoisted_3 = { class: "hzzt-collapse__title" };
14
+ const _hoisted_4 = {
15
+ key: 0,
16
+ class: "hzzt-collapse__line"
17
+ };
18
+ const _hoisted_5 = { class: "hzzt-collapse__content flex-1" };
19
+ const __default__ = vue.defineComponent({
20
+ name: "HzztCollapse"
21
+ });
22
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
+ ...__default__,
24
+ props: {
25
+ defaultActive: {
26
+ type: Boolean,
27
+ default: true
28
+ },
29
+ title: {
30
+ type: String,
31
+ default: ""
32
+ },
33
+ showLine: {
34
+ type: Boolean,
35
+ default: true
36
+ },
37
+ modelValue: {
38
+ type: Boolean,
39
+ default: true
40
+ }
41
+ },
42
+ emits: ["update:modelValue"],
43
+ setup(__props, { emit }) {
44
+ const props = __props;
45
+ const { t } = index.useLocale();
46
+ const expand = vue.ref(props.modelValue);
47
+ if (!props.defaultActive) {
48
+ emit("update:modelValue", false);
49
+ expand.value = false;
50
+ }
51
+ vue.watch(() => props.modelValue, (v) => {
52
+ expand.value = v;
53
+ });
54
+ function toggle() {
55
+ expand.value = !expand.value;
56
+ emit("update:modelValue", expand.value);
57
+ }
58
+ return (_ctx, _cache) => {
59
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
60
+ vue.createElementVNode("div", _hoisted_2, [
61
+ vue.createElementVNode("div", _hoisted_3, [
62
+ vue.renderSlot(_ctx.$slots, "title", {}, () => [
63
+ vue.createTextVNode(vue.toDisplayString(__props.title), 1)
64
+ ])
65
+ ]),
66
+ __props.showLine ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4)) : vue.createCommentVNode("v-if", true),
67
+ vue.renderSlot(_ctx.$slots, "toggle-btn", {}, () => [
68
+ vue.createElementVNode("div", {
69
+ class: "hzzt-collapse__btn",
70
+ onClick: toggle
71
+ }, [
72
+ vue.createVNode(index$1["default"], {
73
+ name: !expand.value ? "hzzt-plus-square-outline" : "hzzt-minus-square-outline",
74
+ class: "hzzt-collapse__icon",
75
+ size: "14"
76
+ }, null, 8, ["name"]),
77
+ vue.createElementVNode("span", null, vue.toDisplayString(expand.value ? vue.unref(t)("hzzt.collapse.retract") : vue.unref(t)("hzzt.collapse.expand")), 1)
78
+ ])
79
+ ])
80
+ ]),
81
+ vue.withDirectives(vue.createElementVNode("div", _hoisted_5, [
82
+ vue.renderSlot(_ctx.$slots, "default")
83
+ ], 512), [
84
+ [vue.vShow, expand.value]
85
+ ]),
86
+ vue.renderSlot(_ctx.$slots, "active", { active: expand.value })
87
+ ]);
88
+ };
89
+ }
90
+ });
91
+ var Collapse = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "collapse.vue"]]);
92
+
93
+ exports["default"] = Collapse;
3
94
  //# sourceMappingURL=collapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"collapse.js","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-collapse flex column\">\n <div class=\"hzzt-collapse__top\">\n <div class=\"hzzt-collapse__title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div v-if=\"showLine\" class=\"hzzt-collapse__line\" />\n <slot name=\"toggle-btn\">\n <div class=\"hzzt-collapse__btn\" @click=\"toggle\">\n <hzzt-icon :name=\"!expand ? 'hzzt-plus-square-outline' : 'hzzt-minus-square-outline'\"\n class=\"hzzt-collapse__icon\" size=\"14\" />\n <span>{{ expand ? t('hzzt.collapse.retract') : t('hzzt.collapse.expand') }}</span>\n </div>\n </slot>\n </div>\n <div v-show=\"expand\" class=\"hzzt-collapse__content flex-1\">\n <slot />\n </div>\n\n <slot :active=\"expand\" name=\"active\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {useLocale} from '@hzzt-plus/hooks'\n import HzztIcon from '@hzzt-plus/components/icon/src/index.vue'\n import {ref, watch} from 'vue'\n\n defineOptions({\n name: 'HzztCollapse',\n })\n const {t} = useLocale()\n const props = defineProps({\n defaultActive: {\n type: Boolean,\n default: true,\n },\n title: {\n type: String,\n default: '',\n },\n showLine: {\n type: Boolean,\n default: true,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n })\n const emit = defineEmits(['update:modelValue'])\n\n const expand = ref(props.modelValue)\n\n if (!props.defaultActive) {\n emit('update:modelValue', false);\n expand.value = false;\n }\n\n watch(() => props.modelValue, (v) => {\n expand.value = v;\n })\n\n function toggle() {\n expand.value = !expand.value;\n emit('update:modelValue', expand.value);\n }\n\n</script>\n"],"names":["useLocale","ref","watch"],"mappings":";;;;;;;;;;;;;;;;;;uCA8BgB,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAM,MAAA,EAAC,CAAC,EAAA,GAAIA,eAAU,EAAA,CAAA;AAqBtB,IAAM,MAAA,MAAA,GAASC,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAEnC,IAAI,IAAA,CAAC,MAAM,aAAe,EAAA;AACxB,MAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAC/B,MAAA,MAAA,CAAO,KAAQ,GAAA,KAAA,CAAA;AAAA,KACjB;AAEA,IAAAC,SAAA,CAAM,MAAM,KAAA,CAAM,UAAY,EAAA,CAAC,CAAM,KAAA;AACnC,MAAA,MAAA,CAAO,KAAQ,GAAA,CAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAA,SAAS,MAAS,GAAA;AAChB,MAAO,MAAA,CAAA,KAAA,GAAQ,CAAC,MAAO,CAAA,KAAA,CAAA;AACvB,MAAK,IAAA,CAAA,mBAAA,EAAqB,OAAO,KAAK,CAAA,CAAA;AAAA,KACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,94 +1,3 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var vue = require('vue');
6
- require('../../../hooks/index.js');
7
- var index$1 = require('../../icon/src/index.js');
8
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
- var index = require('../../../hooks/use-locale/index.js');
10
-
11
- const _hoisted_1 = { class: "hzzt-collapse flex column" };
12
- const _hoisted_2 = { class: "hzzt-collapse__top" };
13
- const _hoisted_3 = { class: "hzzt-collapse__title" };
14
- const _hoisted_4 = {
15
- key: 0,
16
- class: "hzzt-collapse__line"
17
- };
18
- const _hoisted_5 = { class: "hzzt-collapse__content flex-1" };
19
- const __default__ = vue.defineComponent({
20
- name: "HzztCollapse"
21
- });
22
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
- ...__default__,
24
- props: {
25
- defaultActive: {
26
- type: Boolean,
27
- default: true
28
- },
29
- title: {
30
- type: String,
31
- default: ""
32
- },
33
- showLine: {
34
- type: Boolean,
35
- default: true
36
- },
37
- modelValue: {
38
- type: Boolean,
39
- default: true
40
- }
41
- },
42
- emits: ["update:modelValue"],
43
- setup(__props, { emit }) {
44
- const props = __props;
45
- const { t } = index.useLocale();
46
- const expand = vue.ref(props.modelValue);
47
- if (!props.defaultActive) {
48
- emit("update:modelValue", false);
49
- expand.value = false;
50
- }
51
- vue.watch(() => props.modelValue, (v) => {
52
- expand.value = v;
53
- });
54
- function toggle() {
55
- expand.value = !expand.value;
56
- emit("update:modelValue", expand.value);
57
- }
58
- return (_ctx, _cache) => {
59
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
60
- vue.createElementVNode("div", _hoisted_2, [
61
- vue.createElementVNode("div", _hoisted_3, [
62
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
63
- vue.createTextVNode(vue.toDisplayString(__props.title), 1)
64
- ])
65
- ]),
66
- __props.showLine ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4)) : vue.createCommentVNode("v-if", true),
67
- vue.renderSlot(_ctx.$slots, "toggle-btn", {}, () => [
68
- vue.createElementVNode("div", {
69
- class: "hzzt-collapse__btn",
70
- onClick: toggle
71
- }, [
72
- vue.createVNode(index$1["default"], {
73
- name: !expand.value ? "hzzt-plus-square-outline" : "hzzt-minus-square-outline",
74
- class: "hzzt-collapse__icon",
75
- size: "14"
76
- }, null, 8, ["name"]),
77
- vue.createElementVNode("span", null, vue.toDisplayString(expand.value ? vue.unref(t)("hzzt.collapse.retract") : vue.unref(t)("hzzt.collapse.expand")), 1)
78
- ])
79
- ])
80
- ]),
81
- vue.withDirectives(vue.createElementVNode("div", _hoisted_5, [
82
- vue.renderSlot(_ctx.$slots, "default")
83
- ], 512), [
84
- [vue.vShow, expand.value]
85
- ]),
86
- vue.renderSlot(_ctx.$slots, "active", { active: expand.value })
87
- ]);
88
- };
89
- }
90
- });
91
- var Collapse = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "collapse.vue"]]);
92
-
93
- exports["default"] = Collapse;
94
3
  //# sourceMappingURL=collapse2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse2.js","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-collapse flex column\">\n <div class=\"hzzt-collapse__top\">\n <div class=\"hzzt-collapse__title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div v-if=\"showLine\" class=\"hzzt-collapse__line\" />\n <slot name=\"toggle-btn\">\n <div class=\"hzzt-collapse__btn\" @click=\"toggle\">\n <hzzt-icon :name=\"!expand ? 'hzzt-plus-square-outline' : 'hzzt-minus-square-outline'\"\n class=\"hzzt-collapse__icon\" size=\"14\" />\n <span>{{ expand ? t('hzzt.collapse.retract') : t('hzzt.collapse.expand') }}</span>\n </div>\n </slot>\n </div>\n <div v-show=\"expand\" class=\"hzzt-collapse__content flex-1\">\n <slot />\n </div>\n\n <slot :active=\"expand\" name=\"active\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import {useLocale} from '@hzzt-plus/hooks'\n import HzztIcon from '@hzzt-plus/components/icon/src/index.vue'\n import {ref, watch} from 'vue'\n\n defineOptions({\n name: 'HzztCollapse',\n })\n const {t} = useLocale()\n const props = defineProps({\n defaultActive: {\n type: Boolean,\n default: true,\n },\n title: {\n type: String,\n default: '',\n },\n showLine: {\n type: Boolean,\n default: true,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n })\n const emit = defineEmits(['update:modelValue'])\n\n const expand = ref(props.modelValue)\n\n if (!props.defaultActive) {\n emit('update:modelValue', false);\n expand.value = false;\n }\n\n watch(() => props.modelValue, (v) => {\n expand.value = v;\n })\n\n function toggle() {\n expand.value = !expand.value;\n emit('update:modelValue', expand.value);\n }\n\n</script>\n"],"names":["useLocale","ref","watch"],"mappings":";;;;;;;;;;;;;;;;;;uCA8BgB,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAM,MAAA,EAAC,CAAC,EAAA,GAAIA,eAAU,EAAA,CAAA;AAqBtB,IAAM,MAAA,MAAA,GAASC,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAEnC,IAAI,IAAA,CAAC,MAAM,aAAe,EAAA;AACxB,MAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAC/B,MAAA,MAAA,CAAO,KAAQ,GAAA,KAAA,CAAA;AAAA,KACjB;AAEA,IAAAC,SAAA,CAAM,MAAM,KAAA,CAAM,UAAY,EAAA,CAAC,CAAM,KAAA;AACnC,MAAA,MAAA,CAAO,KAAQ,GAAA,CAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAA,SAAS,MAAS,GAAA;AAChB,MAAO,MAAA,CAAA,KAAA,GAAQ,CAAC,MAAO,CAAA,KAAA,CAAA;AACvB,MAAK,IAAA,CAAA,mBAAA,EAAqB,OAAO,KAAK,CAAA,CAAA;AAAA,KACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"collapse2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -30,11 +30,11 @@ var useGlobalConfig = require('./config-provider/src/hooks/use-global-config.js'
30
30
  var scan = require('./scan/src/scan.js');
31
31
  var selectInput = require('./select-input/src/select-input2.js');
32
32
  var selectTextarea = require('./select-textarea/src/select-textarea.js');
33
- var inputRange = require('./input-range/src/input-range.js');
34
- var cascader = require('./cascader/src/cascader.js');
33
+ var inputRange = require('./input-range/src/input-range2.js');
34
+ var cascader = require('./cascader/src/cascader2.js');
35
35
  var select = require('./select/src/select.js');
36
36
  var clickInput = require('./click-input/src/click-input.js');
37
- var lazyList = require('./lazy-list/src/lazy-list.js');
37
+ var lazyList = require('./lazy-list/src/lazy-list2.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 inputRange$1 = require('./src/input-range2.js');
7
- var inputRange = require('./src/input-range.js');
6
+ var inputRange$1 = require('./src/input-range.js');
7
+ var inputRange = require('./src/input-range2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const HzztInputRange = install.withInstall(inputRange$1["default"]);
@@ -2,35 +2,84 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
5
+ var vue = require('vue');
6
+ var inputRange = require('./input-range2.js');
7
+ var elementPlus = require('element-plus');
6
8
  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');
11
- var shared = require('@vue/shared');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
11
+ var index$1 = require('../../../hooks/use-size/index.js');
12
12
 
13
- const inputRangeProps = runtime.buildProps({
14
- modelValue: {
15
- type: Array,
16
- default: () => []
17
- },
18
- size: index.useSizeProp,
19
- disabled: Boolean,
20
- clearable: {
21
- type: Boolean,
22
- default: false
23
- },
24
- startPlaceholder: String,
25
- endPlaceholder: String,
26
- startProps: Object,
27
- endProps: Object
13
+ const _hoisted_1 = /* @__PURE__ */ vue.createElementVNode("span", { class: "margin-h-1" }, "\u2014\u2014", -1);
14
+ const __default__ = vue.defineComponent({
15
+ name: "HzztInputRange"
28
16
  });
29
- const inputRangeEmits = {
30
- [event.UPDATE_MODEL_EVENT]: (val) => shared.isArray(val),
31
- [event.CHANGE_EVENT]: (val) => shared.isArray(val)
32
- };
17
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
+ ...__default__,
19
+ props: inputRange.inputRangeProps,
20
+ emits: inputRange.inputRangeEmits,
21
+ setup(__props, { emit }) {
22
+ const props = __props;
23
+ const startValue = vue.ref(props.modelValue[0]);
24
+ const endValue = vue.ref(props.modelValue[1]);
25
+ const nsInput = index.useNamespace("input-range");
26
+ const formSize = elementPlus.useFormSize();
27
+ const formDisabled = elementPlus.useFormDisabled();
28
+ const trueSize = vue.computed(() => props.size || formSize.value || index$1.useGlobalSize().value);
29
+ const trueDisabled = vue.computed(() => props.disabled || formDisabled.value);
30
+ const containerCls = vue.computed(() => [
31
+ nsInput.b(),
32
+ nsInput.m(trueSize.value)
33
+ ]);
34
+ vue.watch(() => props.modelValue, (v) => {
35
+ startValue.value = v[0];
36
+ endValue.value = v[1];
37
+ }, {
38
+ deep: true
39
+ });
40
+ function change() {
41
+ if (startValue.value || endValue.value) {
42
+ const modelValue = [startValue.value, endValue.value];
43
+ emit("update:modelValue", modelValue);
44
+ emit("change", modelValue);
45
+ } else if (!startValue.value && !endValue.value) {
46
+ emit("update:modelValue", []);
47
+ emit("change", []);
48
+ }
49
+ }
50
+ return (_ctx, _cache) => {
51
+ const _component_el_input = vue.resolveComponent("el-input");
52
+ return vue.openBlock(), vue.createElementBlock("div", {
53
+ class: vue.normalizeClass(["flex align-items-center", vue.unref(containerCls)])
54
+ }, [
55
+ vue.createVNode(_component_el_input, vue.mergeProps({
56
+ modelValue: startValue.value,
57
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => startValue.value = $event)
58
+ }, _ctx.startProps, {
59
+ clearable: _ctx.clearable,
60
+ placeholder: _ctx.startPlaceholder,
61
+ size: vue.unref(trueSize),
62
+ disabled: vue.unref(trueDisabled),
63
+ class: "flex-1",
64
+ onChange: change
65
+ }), null, 16, ["modelValue", "clearable", "placeholder", "size", "disabled"]),
66
+ _hoisted_1,
67
+ vue.createVNode(_component_el_input, vue.mergeProps({
68
+ modelValue: endValue.value,
69
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => endValue.value = $event)
70
+ }, _ctx.endProps, {
71
+ clearable: _ctx.clearable,
72
+ placeholder: _ctx.endPlaceholder,
73
+ size: vue.unref(trueSize),
74
+ disabled: vue.unref(trueDisabled),
75
+ class: "flex-1",
76
+ onChange: change
77
+ }), null, 16, ["modelValue", "clearable", "placeholder", "size", "disabled"])
78
+ ], 2);
79
+ };
80
+ }
81
+ });
82
+ var InputRange = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "input-range.vue"]]);
33
83
 
34
- exports.inputRangeEmits = inputRangeEmits;
35
- exports.inputRangeProps = inputRangeProps;
84
+ exports["default"] = InputRange;
36
85
  //# sourceMappingURL=input-range.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-range.js","sources":["../../../../../../packages/components/input-range/src/input-range.ts"],"sourcesContent":["import {buildProps, isArray} from '@hzzt-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type InputRange from './input-range.vue'\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\nimport {CHANGE_EVENT, UPDATE_MODEL_EVENT} from \"@hzzt-plus/constants\";\n\nexport const inputRangeProps = buildProps({\n modelValue: {\n type: Array,\n default: () => [],\n },\n size: useSizeProp,\n disabled: Boolean,\n clearable: {\n type: Boolean,\n default: false,\n },\n startPlaceholder: String,\n endPlaceholder: String,\n startProps: Object,\n endProps: Object,\n})\n\nexport type InputRangeProps = ExtractPropTypes<typeof inputRangeProps>\n\nexport const inputRangeEmits = {\n [UPDATE_MODEL_EVENT]: (val: Array<string>) => isArray(val),\n [CHANGE_EVENT]: (val: Array<string>) => isArray(val),\n}\nexport type InputRangeEmits = typeof inputRangeEmits\n\nexport type InputRangeInstance = InstanceType<typeof InputRange>\n"],"names":["buildProps","useSizeProp","UPDATE_MODEL_EVENT","isArray","CHANGE_EVENT"],"mappings":";;;;;;;;;;;;AAGY,MAAC,eAAe,GAAGA,kBAAU,CAAC;AAC1C,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,gBAAgB,EAAE,MAAM;AAC1B,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,QAAQ,EAAE,MAAM;AAClB,CAAC,EAAE;AACS,MAAC,eAAe,GAAG;AAC/B,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,cAAO,CAAC,GAAG,CAAC;AAC7C,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,KAAKD,cAAO,CAAC,GAAG,CAAC;AACvC;;;;;"}
1
+ {"version":3,"file":"input-range.js","sources":["../../../../../../packages/components/input-range/src/input-range.vue"],"sourcesContent":["<template>\n <div class=\"flex align-items-center\" :class=\"containerCls\">\n <el-input\n v-model=\"startValue\"\n v-bind=\"startProps\"\n :clearable=\"clearable\"\n :placeholder=\"startPlaceholder\"\n :size=\"trueSize\"\n :disabled=\"trueDisabled\"\n class=\"flex-1\"\n @change=\"change\"\n />\n <span class=\"margin-h-1\">——</span>\n <el-input\n v-model=\"endValue\"\n v-bind=\"endProps\"\n :clearable=\"clearable\"\n :placeholder=\"endPlaceholder\"\n :size=\"trueSize\"\n :disabled=\"trueDisabled\"\n class=\"flex-1\"\n @change=\"change\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {inputRangeEmits, inputRangeProps} from './input-range'\n import {useFormDisabled, useFormSize} from \"element-plus\";\n import {computed, ref, watch} from \"vue\";\n import {useGlobalSize, useNamespace} from \"@hzzt-plus/hooks\";\n\n defineOptions({\n name: 'HzztInputRange',\n })\n\n const props = defineProps(inputRangeProps)\n const emit = defineEmits(inputRangeEmits)\n\n const startValue = ref(props.modelValue[0])\n const endValue = ref(props.modelValue[1])\n\n const nsInput = useNamespace('input-range')\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 nsInput.b(),\n nsInput.m(trueSize.value),\n ])\n\n watch(() => props.modelValue, (v) => {\n startValue.value = v[0];\n endValue.value = v[1];\n }, {\n deep: true,\n })\n\n function change() {\n if (startValue.value || endValue.value) {\n const modelValue = [startValue.value, endValue.value] as Array<string>;\n emit('update:modelValue', modelValue);\n emit('change', modelValue);\n } else if (!startValue.value && !endValue.value) {\n emit('update:modelValue', []);\n emit('change', []);\n }\n }\n\n</script>\n"],"names":["_defineComponent","computed","watch","_resolveComponent","_openBlock","_createElementBlock","_unref","_createVNode","_mergeProps"],"mappings":";;;;;;;;;;;;;;AA2BE,EAAA,IAAA,EAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAQ,SAAA,mBAA2BA,mBAAA,CAAA;AACnC,EAAA,GAAA;;mCAEc;AAAA,EACZ,KAAM,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACR,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;;;;;;;AAKA,IAAA,MAAM,YAAa,GAAAC,YAAU,CAAA,MAAA,KAAY,CAAC,QAAA,IAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAC1C,IAAA,MAAM,YAAW,GAAIA,YAAM,CAAA,MAAA;AAE3B,MAAM,OAAA,CAAA,CAAA,EAAA;AAEN,MAAA,kBAA6B,CAAA,KAAA,CAAA;AAC7B,KAAA,CAAA,CAAA;AAEA,IAAAC,SAAA,CAAM,MAAW,KAAA,CAAA,UAAA,EAAA,CAAA,CAAA,KAAA;AAAA,MACf,UAAY,CAAA,KAAA,GAAA,CAAQ,CAAS,CAAA,CAAA,CAAA;AAAyB,MACxD,QAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,KAAA,EAAA;AAEA,MAAM,IAAA,EAAA,IAAA;AAA8B,KAAA,CAClC;AAAU,IACV,SAAA,MAAU,GAAA;AAAc,MACzB,IAAA,UAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,EAAA;AAED,QAAA,MAAY,UAAkB,GAAA,CAAA,UAAO,CAAA,KAAA,EAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AACnC,QAAW,IAAA,CAAA,mBAAW,EAAA,UAAA,CAAA,CAAA;AACtB,QAAS,IAAA,CAAA,QAAA,EAAQ,UAAG,CAAA,CAAA;AAAA,OACnB,MAAA,IAAA,CAAA,UAAA,CAAA,KAAA,IAAA,CAAA,QAAA,CAAA,KAAA,EAAA;AAAA,QACK,IAAA,CAAA,mBAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QACP,IAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAED,OAAA;AACE,KAAI;AACF,IAAA,OAAA,CAAA,IAAmB,EAAA,MAAA,KAAY;AAC/B,MAAA,MAAA,sBAA0BC,oBAAU,CAAA,UAAA,CAAA,CAAA;AACpC,MAAA,OAAKC,aAAU,EAAU,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,iCACK,CAAA,CAAA,yBAAiB,EAAAC,SAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAC/C,OAAK,EAAA;AACL,QAAKC,eAAA,CAAA,mBAAY,EAAAC,cAAA,CAAA;AAAA,UACnB,UAAA,EAAA,UAAA,CAAA,KAAA;AAAA,UACF,qBAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,UAAA,CAAA,KAAA,GAAA,MAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}