hzzt-plus 2.0.2 → 2.0.4

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 (94) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +11 -3
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +11 -3
  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/index.mjs +4 -4
  17. package/es/components/input-range/index.mjs +2 -2
  18. package/es/components/input-range/src/input-range.mjs +26 -76
  19. package/es/components/input-range/src/input-range.mjs.map +1 -1
  20. package/es/components/input-range/src/input-range2.mjs +76 -26
  21. package/es/components/input-range/src/input-range2.mjs.map +1 -1
  22. package/es/components/lazy-list/index.mjs +2 -2
  23. package/es/components/lazy-list/src/lazy-list.mjs +80 -22
  24. package/es/components/lazy-list/src/lazy-list.mjs.map +1 -1
  25. package/es/components/lazy-list/src/lazy-list2.mjs +22 -80
  26. package/es/components/lazy-list/src/lazy-list2.mjs.map +1 -1
  27. package/es/components/scroll/index.mjs +2 -2
  28. package/es/components/scroll/src/scroll.mjs +90 -0
  29. package/es/components/scroll/src/scroll.mjs.map +1 -1
  30. package/es/components/scroll/src/scroll.vue.d.ts +1 -0
  31. package/es/components/scroll/src/scroll2.mjs +0 -86
  32. package/es/components/scroll/src/scroll2.mjs.map +1 -1
  33. package/es/components/select/src/select.d.ts +1 -0
  34. package/es/components/select/src/select.mjs +4 -0
  35. package/es/components/select/src/select.mjs.map +1 -1
  36. package/es/components/select/src/select.vue.d.ts +4 -0
  37. package/es/components/select/src/select2.mjs +1 -1
  38. package/es/components/select/src/select2.mjs.map +1 -1
  39. package/es/components/select-input/index.mjs +2 -2
  40. package/es/components/select-input/src/select-input.mjs +124 -45
  41. package/es/components/select-input/src/select-input.mjs.map +1 -1
  42. package/es/components/select-input/src/select-input2.mjs +45 -124
  43. package/es/components/select-input/src/select-input2.mjs.map +1 -1
  44. package/es/components/select-textarea/src/select-textarea2.mjs +1 -1
  45. package/es/components/title/index.mjs +2 -2
  46. package/es/components/title/src/title.mjs +54 -11
  47. package/es/components/title/src/title.mjs.map +1 -1
  48. package/es/components/title/src/title2.mjs +11 -54
  49. package/es/components/title/src/title2.mjs.map +1 -1
  50. package/es/index.mjs +4 -4
  51. package/es/version.d.ts +1 -1
  52. package/es/version.mjs +1 -1
  53. package/es/version.mjs.map +1 -1
  54. package/lib/components/index.js +4 -4
  55. package/lib/components/input-range/index.js +2 -2
  56. package/lib/components/input-range/src/input-range.js +27 -76
  57. package/lib/components/input-range/src/input-range.js.map +1 -1
  58. package/lib/components/input-range/src/input-range2.js +76 -27
  59. package/lib/components/input-range/src/input-range2.js.map +1 -1
  60. package/lib/components/lazy-list/index.js +2 -2
  61. package/lib/components/lazy-list/src/lazy-list.js +80 -23
  62. package/lib/components/lazy-list/src/lazy-list.js.map +1 -1
  63. package/lib/components/lazy-list/src/lazy-list2.js +23 -80
  64. package/lib/components/lazy-list/src/lazy-list2.js.map +1 -1
  65. package/lib/components/scroll/index.js +2 -2
  66. package/lib/components/scroll/src/scroll.js +93 -0
  67. package/lib/components/scroll/src/scroll.js.map +1 -1
  68. package/lib/components/scroll/src/scroll.vue.d.ts +1 -0
  69. package/lib/components/scroll/src/scroll2.js +0 -89
  70. package/lib/components/scroll/src/scroll2.js.map +1 -1
  71. package/lib/components/select/src/select.d.ts +1 -0
  72. package/lib/components/select/src/select.js +4 -0
  73. package/lib/components/select/src/select.js.map +1 -1
  74. package/lib/components/select/src/select.vue.d.ts +4 -0
  75. package/lib/components/select/src/select2.js +1 -1
  76. package/lib/components/select/src/select2.js.map +1 -1
  77. package/lib/components/select-input/index.js +2 -2
  78. package/lib/components/select-input/src/select-input.js +124 -46
  79. package/lib/components/select-input/src/select-input.js.map +1 -1
  80. package/lib/components/select-input/src/select-input2.js +46 -124
  81. package/lib/components/select-input/src/select-input2.js.map +1 -1
  82. package/lib/components/select-textarea/src/select-textarea2.js +1 -1
  83. package/lib/components/title/index.js +2 -2
  84. package/lib/components/title/src/title.js +54 -11
  85. package/lib/components/title/src/title.js.map +1 -1
  86. package/lib/components/title/src/title2.js +11 -54
  87. package/lib/components/title/src/title2.js.map +1 -1
  88. package/lib/index.js +4 -4
  89. package/lib/version.d.ts +1 -1
  90. package/lib/version.js +1 -1
  91. package/lib/version.js.map +1 -1
  92. package/package.json +1 -1
  93. package/tags.json +1 -1
  94. package/web-types.json +1 -1
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.2 */
1
+ /*! Hzzt Plus v2.0.4 */
2
2
 
3
3
  import { getCurrentScope, onScopeDispose, unref, getCurrentInstance, onMounted, nextTick, readonly, shallowRef, watchEffect, watch, ref, computed, defineComponent, openBlock, createElementBlock, createElementVNode, warn, isRef, inject, provide, renderSlot, mergeProps, toRef, onUnmounted, useAttrs as useAttrs$1, useSlots, normalizeClass, normalizeStyle, createCommentVNode, Fragment, createBlock, withCtx, resolveDynamicComponent, withModifiers, createVNode, toDisplayString, onBeforeUnmount, Transition, withDirectives, vShow, reactive, onActivated, onUpdated, cloneVNode, Text, Comment, Teleport as Teleport$1, onBeforeMount, onDeactivated, toRaw, vModelCheckbox, createTextVNode, toRefs, vModelRadio, h, resolveComponent, renderList, onBeforeUpdate, withKeys, vModelText, createSlots, resolveDirective, toHandlerKey, normalizeProps, guardReactiveProps } from 'vue';
4
4
 
@@ -12961,7 +12961,7 @@ var ConfigProvider$1 = ConfigProvider;
12961
12961
 
12962
12962
  const HzztConfigProvider = withInstall$1(ConfigProvider$1);
12963
12963
 
12964
- const version$1 = "2.0.2";
12964
+ const version$1 = "2.0.4";
12965
12965
 
12966
12966
  const makeInstaller = (components = []) => {
12967
12967
  const install = (app, options) => {
@@ -27806,6 +27806,10 @@ const selectProps = buildProps$1({
27806
27806
  type: Boolean,
27807
27807
  default: true
27808
27808
  },
27809
+ autoPullDown: {
27810
+ type: Boolean,
27811
+ default: true
27812
+ },
27809
27813
  placeholder: String,
27810
27814
  size: useSizeProp$1
27811
27815
  });
@@ -27900,7 +27904,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
27900
27904
  emit("change", str);
27901
27905
  }
27902
27906
  function focus() {
27903
- if (selectRef.value) {
27907
+ if (selectRef.value && props.autoPullDown) {
27904
27908
  setTimeout(() => {
27905
27909
  selectRef.value.dropdownMenuVisible = true;
27906
27910
  }, 200);
@@ -28108,6 +28112,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
28108
28112
  ...__default__$1,
28109
28113
  setup(__props) {
28110
28114
  const navTranslateX = ref(0);
28115
+ const scrollMainRef = ref(null);
28111
28116
  const scrollRef = ref(null);
28112
28117
  const scrollContentRef = ref(null);
28113
28118
  const scrollable = ref(false);
@@ -28123,6 +28128,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
28123
28128
  }
28124
28129
  scrollable.value = true;
28125
28130
  }
28131
+ useResizeObserver(scrollMainRef, update);
28126
28132
  useResizeObserver(scrollContentRef, update);
28127
28133
  onUpdated(() => update());
28128
28134
  function btnNavPrev() {
@@ -28146,6 +28152,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
28146
28152
  }
28147
28153
  return (_ctx, _cache) => {
28148
28154
  return openBlock(), createElementBlock("div", {
28155
+ ref_key: "scrollMainRef",
28156
+ ref: scrollMainRef,
28149
28157
  class: normalizeClass([{ "is-scrollable": scrollable.value }, "relative hzzt-scroll"])
28150
28158
  }, [
28151
28159
  scrollable.value ? (openBlock(), createElementBlock("div", {
package/dist/locale/en.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.2 */
1
+ /*! Hzzt Plus v2.0.4 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,2 +1,2 @@
1
- /*! Hzzt Plus v2.0.2 */(function(e,r){typeof exports=="object"&&typeof module!="undefined"?module.exports=r():typeof define=="function"&&define.amd?define(r):(e=typeof globalThis!="undefined"?globalThis:e||self,e.HzztPlusLocaleEn=r())})(this,function(){"use strict";var e={name:"en",hzzt:{collapse:{expand:"expand",retract:"retract"},pagination:{total:"",strip:""},pageSize:{total:"Total ",strip:"",page:"page",d:"",per_page:"per page"},quarterpicker:{prevYear:"Previous Year",nextYear:"Next Year",year:"",firstQuarter:"First quarter",secondQuarter:"Second quarter",thirdQuarter:"Third quarter",fourthQuarter:"Fourth quarter"}}};return e});
1
+ /*! Hzzt Plus v2.0.4 */(function(e,r){typeof exports=="object"&&typeof module!="undefined"?module.exports=r():typeof define=="function"&&define.amd?define(r):(e=typeof globalThis!="undefined"?globalThis:e||self,e.HzztPlusLocaleEn=r())})(this,function(){"use strict";var e={name:"en",hzzt:{collapse:{expand:"expand",retract:"retract"},pagination:{total:"",strip:""},pageSize:{total:"Total ",strip:"",page:"page",d:"",per_page:"per page"},quarterpicker:{prevYear:"Previous Year",nextYear:"Next Year",year:"",firstQuarter:"First quarter",secondQuarter:"Second quarter",thirdQuarter:"Third quarter",fourthQuarter:"Fourth quarter"}}};return e});
2
2
  //# sourceMappingURL=en.min.js.map
@@ -1,2 +1,2 @@
1
- /*! Hzzt Plus v2.0.2 */var r={name:"en",hzzt:{collapse:{expand:"expand",retract:"retract"},pagination:{total:"",strip:""},pageSize:{total:"Total ",strip:"",page:"page",d:"",per_page:"per page"},quarterpicker:{prevYear:"Previous Year",nextYear:"Next Year",year:"",firstQuarter:"First quarter",secondQuarter:"Second quarter",thirdQuarter:"Third quarter",fourthQuarter:"Fourth quarter"}}};export{r as default};
1
+ /*! Hzzt Plus v2.0.4 */var r={name:"en",hzzt:{collapse:{expand:"expand",retract:"retract"},pagination:{total:"",strip:""},pageSize:{total:"Total ",strip:"",page:"page",d:"",per_page:"per page"},quarterpicker:{prevYear:"Previous Year",nextYear:"Next Year",year:"",firstQuarter:"First quarter",secondQuarter:"Second quarter",thirdQuarter:"Third quarter",fourthQuarter:"Fourth quarter"}}};export{r as default};
2
2
  //# sourceMappingURL=en.min.mjs.map
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.2 */
1
+ /*! Hzzt Plus v2.0.4 */
2
2
 
3
3
  var en = {
4
4
  name: "en",
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.2 */
1
+ /*! Hzzt Plus v2.0.4 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1,2 +1,2 @@
1
- /*! Hzzt Plus v2.0.2 */(function(u,e){typeof exports=="object"&&typeof module!="undefined"?module.exports=e():typeof define=="function"&&define.amd?define(e):(u=typeof globalThis!="undefined"?globalThis:u||self,u.HzztPlusLocaleZhCn=e())})(this,function(){"use strict";var u={name:"zh-cn",hzzt:{collapse:{expand:"\u5C55\u5F00",retract:"\u6536\u8D77"},pagination:{total:"\u5171",strip:"\u6761"},pageSize:{total:"\u5171",strip:"\u6761",d:"\u7B2C",page:"\u9875",per_page:"\u6BCF\u9875"},quarterpicker:{prevYear:"\u524D\u4E00\u5E74",nextYear:"\u540E\u4E00\u5E74",year:"\u5E74",firstQuarter:"\u7B2C\u4E00\u5B63\u5EA6",secondQuarter:"\u7B2C\u4E8C\u5B63\u5EA6",thirdQuarter:"\u7B2C\u4E09\u5B63\u5EA6",fourthQuarter:"\u7B2C\u56DB\u5B63\u5EA6"}}};return u});
1
+ /*! Hzzt Plus v2.0.4 */(function(u,e){typeof exports=="object"&&typeof module!="undefined"?module.exports=e():typeof define=="function"&&define.amd?define(e):(u=typeof globalThis!="undefined"?globalThis:u||self,u.HzztPlusLocaleZhCn=e())})(this,function(){"use strict";var u={name:"zh-cn",hzzt:{collapse:{expand:"\u5C55\u5F00",retract:"\u6536\u8D77"},pagination:{total:"\u5171",strip:"\u6761"},pageSize:{total:"\u5171",strip:"\u6761",d:"\u7B2C",page:"\u9875",per_page:"\u6BCF\u9875"},quarterpicker:{prevYear:"\u524D\u4E00\u5E74",nextYear:"\u540E\u4E00\u5E74",year:"\u5E74",firstQuarter:"\u7B2C\u4E00\u5B63\u5EA6",secondQuarter:"\u7B2C\u4E8C\u5B63\u5EA6",thirdQuarter:"\u7B2C\u4E09\u5B63\u5EA6",fourthQuarter:"\u7B2C\u56DB\u5B63\u5EA6"}}};return u});
2
2
  //# sourceMappingURL=zh-cn.min.js.map
@@ -1,2 +1,2 @@
1
- /*! Hzzt Plus v2.0.2 */var u={name:"zh-cn",hzzt:{collapse:{expand:"\u5C55\u5F00",retract:"\u6536\u8D77"},pagination:{total:"\u5171",strip:"\u6761"},pageSize:{total:"\u5171",strip:"\u6761",d:"\u7B2C",page:"\u9875",per_page:"\u6BCF\u9875"},quarterpicker:{prevYear:"\u524D\u4E00\u5E74",nextYear:"\u540E\u4E00\u5E74",year:"\u5E74",firstQuarter:"\u7B2C\u4E00\u5B63\u5EA6",secondQuarter:"\u7B2C\u4E8C\u5B63\u5EA6",thirdQuarter:"\u7B2C\u4E09\u5B63\u5EA6",fourthQuarter:"\u7B2C\u56DB\u5B63\u5EA6"}}};export{u as default};
1
+ /*! Hzzt Plus v2.0.4 */var u={name:"zh-cn",hzzt:{collapse:{expand:"\u5C55\u5F00",retract:"\u6536\u8D77"},pagination:{total:"\u5171",strip:"\u6761"},pageSize:{total:"\u5171",strip:"\u6761",d:"\u7B2C",page:"\u9875",per_page:"\u6BCF\u9875"},quarterpicker:{prevYear:"\u524D\u4E00\u5E74",nextYear:"\u540E\u4E00\u5E74",year:"\u5E74",firstQuarter:"\u7B2C\u4E00\u5B63\u5EA6",secondQuarter:"\u7B2C\u4E8C\u5B63\u5EA6",thirdQuarter:"\u7B2C\u4E09\u5B63\u5EA6",fourthQuarter:"\u7B2C\u56DB\u5B63\u5EA6"}}};export{u as default};
2
2
  //# sourceMappingURL=zh-cn.min.mjs.map
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.2 */
1
+ /*! Hzzt Plus v2.0.4 */
2
2
 
3
3
  var zhCn = {
4
4
  name: "zh-cn",
@@ -19,16 +19,16 @@ export { HzztSelect } from './select/index.mjs';
19
19
  export { HzztClickInput } from './click-input/index.mjs';
20
20
  export { HzztScroll } from './scroll/index.mjs';
21
21
  export { HzztLazyList } from './lazy-list/index.mjs';
22
- export { titleProps } from './title/src/title.mjs';
22
+ export { titleProps } from './title/src/title2.mjs';
23
23
  export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
24
24
  export { configProviderContextKey } from './config-provider/src/constants.mjs';
25
25
  export { provideGlobalConfig, useGlobalConfig } from './config-provider/src/hooks/use-global-config.mjs';
26
26
  export { scanEmits, scanProps } from './scan/src/scan.mjs';
27
- export { selectInputEmits, selectInputProps } from './select-input/src/select-input.mjs';
27
+ export { selectInputEmits, selectInputProps } from './select-input/src/select-input2.mjs';
28
28
  export { selectTextareaEmits, selectTextareaProps } from './select-textarea/src/select-textarea.mjs';
29
- export { inputRangeEmits, inputRangeProps } from './input-range/src/input-range2.mjs';
29
+ export { inputRangeEmits, inputRangeProps } from './input-range/src/input-range.mjs';
30
30
  export { cascaderEmits, cascaderProps } from './cascader/src/cascader.mjs';
31
31
  export { selectEmits, selectProps } from './select/src/select.mjs';
32
32
  export { clickInputEmits, clickInputProps } from './click-input/src/click-input.mjs';
33
- export { lazyListEmits, lazyListProps } from './lazy-list/src/lazy-list.mjs';
33
+ export { lazyListEmits, lazyListProps } from './lazy-list/src/lazy-list2.mjs';
34
34
  //# sourceMappingURL=index.mjs.map
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import InputRange from './src/input-range.mjs';
3
- export { inputRangeEmits, inputRangeProps } from './src/input-range2.mjs';
2
+ import InputRange from './src/input-range2.mjs';
3
+ export { inputRangeEmits, inputRangeProps } from './src/input-range.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const HzztInputRange = withInstall(InputRange);
@@ -1,81 +1,31 @@
1
- import { createElementVNode, defineComponent, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, mergeProps } from 'vue';
2
- import { inputRangeProps, inputRangeEmits } from './input-range2.mjs';
3
- import { useFormSize, useFormDisabled } from 'element-plus';
1
+ import '../../../utils/index.mjs';
4
2
  import '../../../hooks/index.mjs';
5
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
- import { useGlobalSize } from '../../../hooks/use-size/index.mjs';
3
+ import '../../../constants/index.mjs';
4
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
5
+ import { useSizeProp } from '../../../hooks/use-size/index.mjs';
6
+ import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
7
+ import { isArray } from '@vue/shared';
8
8
 
9
- const _hoisted_1 = /* @__PURE__ */ createElementVNode("span", { class: "margin-h-1" }, "\u2014\u2014", -1);
10
- const __default__ = defineComponent({
11
- name: "HzztInputRange"
9
+ const inputRangeProps = buildProps({
10
+ modelValue: {
11
+ type: Array,
12
+ default: () => []
13
+ },
14
+ size: useSizeProp,
15
+ disabled: Boolean,
16
+ clearable: {
17
+ type: Boolean,
18
+ default: false
19
+ },
20
+ startPlaceholder: String,
21
+ endPlaceholder: String,
22
+ startProps: Object,
23
+ endProps: Object
12
24
  });
13
- const _sfc_main = /* @__PURE__ */ defineComponent({
14
- ...__default__,
15
- props: inputRangeProps,
16
- emits: inputRangeEmits,
17
- setup(__props, { emit }) {
18
- const props = __props;
19
- const startValue = ref(props.modelValue[0]);
20
- const endValue = ref(props.modelValue[1]);
21
- const nsInput = useNamespace("input-range");
22
- const formSize = useFormSize();
23
- const formDisabled = useFormDisabled();
24
- const trueSize = computed(() => props.size || formSize.value || useGlobalSize().value);
25
- const trueDisabled = computed(() => props.disabled || formDisabled.value);
26
- const containerCls = computed(() => [
27
- nsInput.b(),
28
- nsInput.m(trueSize.value)
29
- ]);
30
- watch(() => props.modelValue, (v) => {
31
- startValue.value = v[0];
32
- endValue.value = v[1];
33
- }, {
34
- deep: true
35
- });
36
- function change() {
37
- if (startValue.value || endValue.value) {
38
- const modelValue = [startValue.value, endValue.value];
39
- emit("update:modelValue", modelValue);
40
- emit("change", modelValue);
41
- } else if (!startValue.value && !endValue.value) {
42
- emit("update:modelValue", []);
43
- emit("change", []);
44
- }
45
- }
46
- return (_ctx, _cache) => {
47
- const _component_el_input = resolveComponent("el-input");
48
- return openBlock(), createElementBlock("div", {
49
- class: normalizeClass(["flex align-items-center", unref(containerCls)])
50
- }, [
51
- createVNode(_component_el_input, mergeProps({
52
- modelValue: startValue.value,
53
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => startValue.value = $event)
54
- }, _ctx.startProps, {
55
- clearable: _ctx.clearable,
56
- placeholder: _ctx.startPlaceholder,
57
- size: unref(trueSize),
58
- disabled: unref(trueDisabled),
59
- class: "flex-1",
60
- onChange: change
61
- }), null, 16, ["modelValue", "clearable", "placeholder", "size", "disabled"]),
62
- _hoisted_1,
63
- createVNode(_component_el_input, mergeProps({
64
- modelValue: endValue.value,
65
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => endValue.value = $event)
66
- }, _ctx.endProps, {
67
- clearable: _ctx.clearable,
68
- placeholder: _ctx.endPlaceholder,
69
- size: unref(trueSize),
70
- disabled: unref(trueDisabled),
71
- class: "flex-1",
72
- onChange: change
73
- }), null, 16, ["modelValue", "clearable", "placeholder", "size", "disabled"])
74
- ], 2);
75
- };
76
- }
77
- });
78
- var InputRange = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "input-range.vue"]]);
25
+ const inputRangeEmits = {
26
+ [UPDATE_MODEL_EVENT]: (val) => isArray(val),
27
+ [CHANGE_EVENT]: (val) => isArray(val)
28
+ };
79
29
 
80
- export { InputRange as default };
30
+ export { inputRangeEmits, inputRangeProps };
81
31
  //# sourceMappingURL=input-range.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-range.mjs","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","_resolveComponent","_openBlock","_createElementBlock","_unref","_createVNode","_mergeProps"],"mappings":";;;;;;;;;;AA2BE,EAAA,IAAA,EAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAQ,SAAA,mBAA2BA,eAAA,CAAA;AACnC,EAAA,GAAA;;wBAEc;AAAA,EACZ,KAAM,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACR,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;;;;;;;AAKA,IAAA,MAAM,YAAa,GAAA,QAAU,CAAA,MAAA,KAAY,CAAC,QAAA,IAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAC1C,IAAA,MAAM,YAAW,GAAI,QAAM,CAAA,MAAA;AAE3B,MAAM,OAAA,CAAA,CAAA,EAAA;AAEN,MAAA,kBAA6B,CAAA,KAAA,CAAA;AAC7B,KAAA,CAAA,CAAA;AAEA,IAAA,KAAA,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,gBAAU,CAAA,UAAA,CAAA,CAAA;AACpC,MAAA,OAAKC,SAAU,EAAU,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,6BACK,CAAA,CAAA,yBAAiB,EAAAC,KAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAC/C,OAAK,EAAA;AACL,QAAKC,WAAA,CAAA,mBAAY,EAAAC,UAAA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"input-range.mjs","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":[],"mappings":";;;;;;;;AAGY,MAAC,eAAe,GAAG,UAAU,CAAC;AAC1C,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;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,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;AAC7C,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;AACvC;;;;"}
@@ -1,31 +1,81 @@
1
- import '../../../utils/index.mjs';
1
+ import { createElementVNode, defineComponent, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, mergeProps } from 'vue';
2
+ import { inputRangeProps, inputRangeEmits } from './input-range.mjs';
3
+ import { useFormSize, useFormDisabled } from 'element-plus';
2
4
  import '../../../hooks/index.mjs';
3
- import '../../../constants/index.mjs';
4
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
5
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
6
- import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
7
- import { isArray } from '@vue/shared';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
+ import { useGlobalSize } from '../../../hooks/use-size/index.mjs';
8
8
 
9
- const inputRangeProps = buildProps({
10
- modelValue: {
11
- type: Array,
12
- default: () => []
13
- },
14
- size: useSizeProp,
15
- disabled: Boolean,
16
- clearable: {
17
- type: Boolean,
18
- default: false
19
- },
20
- startPlaceholder: String,
21
- endPlaceholder: String,
22
- startProps: Object,
23
- endProps: Object
9
+ const _hoisted_1 = /* @__PURE__ */ createElementVNode("span", { class: "margin-h-1" }, "\u2014\u2014", -1);
10
+ const __default__ = defineComponent({
11
+ name: "HzztInputRange"
24
12
  });
25
- const inputRangeEmits = {
26
- [UPDATE_MODEL_EVENT]: (val) => isArray(val),
27
- [CHANGE_EVENT]: (val) => isArray(val)
28
- };
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ ...__default__,
15
+ props: inputRangeProps,
16
+ emits: inputRangeEmits,
17
+ setup(__props, { emit }) {
18
+ const props = __props;
19
+ const startValue = ref(props.modelValue[0]);
20
+ const endValue = ref(props.modelValue[1]);
21
+ const nsInput = useNamespace("input-range");
22
+ const formSize = useFormSize();
23
+ const formDisabled = useFormDisabled();
24
+ const trueSize = computed(() => props.size || formSize.value || useGlobalSize().value);
25
+ const trueDisabled = computed(() => props.disabled || formDisabled.value);
26
+ const containerCls = computed(() => [
27
+ nsInput.b(),
28
+ nsInput.m(trueSize.value)
29
+ ]);
30
+ watch(() => props.modelValue, (v) => {
31
+ startValue.value = v[0];
32
+ endValue.value = v[1];
33
+ }, {
34
+ deep: true
35
+ });
36
+ function change() {
37
+ if (startValue.value || endValue.value) {
38
+ const modelValue = [startValue.value, endValue.value];
39
+ emit("update:modelValue", modelValue);
40
+ emit("change", modelValue);
41
+ } else if (!startValue.value && !endValue.value) {
42
+ emit("update:modelValue", []);
43
+ emit("change", []);
44
+ }
45
+ }
46
+ return (_ctx, _cache) => {
47
+ const _component_el_input = resolveComponent("el-input");
48
+ return openBlock(), createElementBlock("div", {
49
+ class: normalizeClass(["flex align-items-center", unref(containerCls)])
50
+ }, [
51
+ createVNode(_component_el_input, mergeProps({
52
+ modelValue: startValue.value,
53
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => startValue.value = $event)
54
+ }, _ctx.startProps, {
55
+ clearable: _ctx.clearable,
56
+ placeholder: _ctx.startPlaceholder,
57
+ size: unref(trueSize),
58
+ disabled: unref(trueDisabled),
59
+ class: "flex-1",
60
+ onChange: change
61
+ }), null, 16, ["modelValue", "clearable", "placeholder", "size", "disabled"]),
62
+ _hoisted_1,
63
+ createVNode(_component_el_input, mergeProps({
64
+ modelValue: endValue.value,
65
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => endValue.value = $event)
66
+ }, _ctx.endProps, {
67
+ clearable: _ctx.clearable,
68
+ placeholder: _ctx.endPlaceholder,
69
+ size: unref(trueSize),
70
+ disabled: unref(trueDisabled),
71
+ class: "flex-1",
72
+ onChange: change
73
+ }), null, 16, ["modelValue", "clearable", "placeholder", "size", "disabled"])
74
+ ], 2);
75
+ };
76
+ }
77
+ });
78
+ var InputRange = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "input-range.vue"]]);
29
79
 
30
- export { inputRangeEmits, inputRangeProps };
80
+ export { InputRange as default };
31
81
  //# sourceMappingURL=input-range2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-range2.mjs","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":[],"mappings":";;;;;;;;AAGY,MAAC,eAAe,GAAG,UAAU,CAAC;AAC1C,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;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,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;AAC7C,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;AACvC;;;;"}
1
+ {"version":3,"file":"input-range2.mjs","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","_resolveComponent","_openBlock","_createElementBlock","_unref","_createVNode","_mergeProps"],"mappings":";;;;;;;;;;AA2BE,EAAA,IAAA,EAAA;AACA,CAAA,CAAA,CAAA;AACA,MAAQ,SAAA,mBAA2BA,eAAA,CAAA;AACnC,EAAA,GAAA;;wBAEc;AAAA,EACZ,KAAM,CAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA;AACR,IAAA,MAAA,KAAA,GAAA,OAAA,CAAA;;;;;;;AAKA,IAAA,MAAM,YAAa,GAAA,QAAU,CAAA,MAAA,KAAY,CAAC,QAAA,IAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AAC1C,IAAA,MAAM,YAAW,GAAI,QAAM,CAAA,MAAA;AAE3B,MAAM,OAAA,CAAA,CAAA,EAAA;AAEN,MAAA,kBAA6B,CAAA,KAAA,CAAA;AAC7B,KAAA,CAAA,CAAA;AAEA,IAAA,KAAA,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,gBAAU,CAAA,UAAA,CAAA,CAAA;AACpC,MAAA,OAAKC,SAAU,EAAU,EAAAC,kBAAA,CAAA,KAAA,EAAA;AAAA,6BACK,CAAA,CAAA,yBAAiB,EAAAC,KAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAC/C,OAAK,EAAA;AACL,QAAKC,WAAA,CAAA,mBAAY,EAAAC,UAAA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import LazyList from './src/lazy-list2.mjs';
3
- export { lazyListEmits, lazyListProps } from './src/lazy-list.mjs';
2
+ import LazyList from './src/lazy-list.mjs';
3
+ export { lazyListEmits, lazyListProps } from './src/lazy-list2.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const HzztLazyList = withInstall(LazyList);
@@ -1,27 +1,85 @@
1
- import '../../../utils/index.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
1
+ import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, Fragment, renderList, renderSlot } from 'vue';
2
+ import { lazyListProps, lazyListEmits } from './lazy-list2.mjs';
3
+ import '../../../hooks/index.mjs';
4
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
5
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
3
6
 
4
- const lazyListProps = buildProps({
5
- size: {
6
- type: Number,
7
- default: 20
8
- },
9
- height: {
10
- type: Number,
11
- default: 30
12
- },
13
- data: {
14
- type: definePropType(Array),
15
- default: () => []
16
- },
17
- rowKey: {
18
- type: String,
19
- default: "id"
7
+ const _hoisted_1 = ["onClick"];
8
+ const __default__ = defineComponent({
9
+ name: "HzztLazyList"
10
+ });
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ ...__default__,
13
+ props: lazyListProps,
14
+ emits: lazyListEmits,
15
+ setup(__props, { emit }) {
16
+ const props = __props;
17
+ const totalHeight = ref("100%");
18
+ const marginTop = ref("0px");
19
+ const currentIndex = ref(1);
20
+ const current = ref(null);
21
+ const nsLazy = useNamespace("lazy-list");
22
+ const containerCls = computed(() => [
23
+ "overflow-y-auto",
24
+ nsLazy.b()
25
+ ]);
26
+ watch(() => props.data, () => {
27
+ totalHeight.value = props.data.length * props.height + "px";
28
+ }, {
29
+ immediate: true
30
+ });
31
+ const calcList = computed(() => props.data.slice(currentIndex.value === 1 ? 0 : (currentIndex.value - 1) * props.size - props.size / 2, (currentIndex.value + 1) * props.size + props.size / 2));
32
+ function scrollList(e) {
33
+ const target = e.target;
34
+ const scrollTop = target.scrollTop;
35
+ if (scrollTop < props.size / 2 * props.height) {
36
+ currentIndex.value = 1;
37
+ } else {
38
+ currentIndex.value = Math.ceil((scrollTop - props.size / 2 * props.height) / props.size / props.height);
39
+ }
40
+ if (currentIndex.value === 1) {
41
+ marginTop.value = "0px";
42
+ } else {
43
+ marginTop.value = ((currentIndex.value - 1) * props.size - props.size / 2) * props.height + "px";
44
+ }
45
+ }
46
+ function rowClick(row) {
47
+ current.value = row;
48
+ emit("row-click", row);
49
+ }
50
+ return (_ctx, _cache) => {
51
+ return openBlock(), createElementBlock("div", {
52
+ class: normalizeClass(unref(containerCls)),
53
+ onScroll: scrollList
54
+ }, [
55
+ createElementVNode("div", {
56
+ style: normalizeStyle({
57
+ height: totalHeight.value,
58
+ width: 0,
59
+ float: "left"
60
+ })
61
+ }, null, 4),
62
+ createElementVNode("div", {
63
+ style: normalizeStyle({ marginTop: marginTop.value })
64
+ }, [
65
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(calcList), (item) => {
66
+ return openBlock(), createElementBlock("div", {
67
+ key: item[_ctx.rowKey],
68
+ style: normalizeStyle({
69
+ height: _ctx.height + "px"
70
+ }),
71
+ class: normalizeClass(["hzzt-lazy-list__item", current.value === item ? "is-active" : ""]),
72
+ onClick: ($event) => rowClick(item)
73
+ }, [
74
+ renderSlot(_ctx.$slots, "default", { data: item })
75
+ ], 14, _hoisted_1);
76
+ }), 128))
77
+ ], 4)
78
+ ], 34);
79
+ };
20
80
  }
21
81
  });
22
- const lazyListEmits = {
23
- "row-click": (row) => row
24
- };
82
+ var LazyList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "lazy-list.vue"]]);
25
83
 
26
- export { lazyListEmits, lazyListProps };
84
+ export { LazyList as default };
27
85
  //# sourceMappingURL=lazy-list.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-list.mjs","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":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,UAAU,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,EAAE,cAAc,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-list.mjs","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":["_openBlock","_createElementBlock"],"mappings":";;;;;;;mCA8BgB,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,WAAA,GAAc,IAAI,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,IAAM,MAAA,YAAA,GAAe,IAAI,CAAC,CAAA,CAAA;AAC1B,IAAM,MAAA,OAAA,GAAU,IAAI,IAAI,CAAA,CAAA;AAExB,IAAM,MAAA,MAAA,GAAS,aAAa,WAAW,CAAA,CAAA;AAEvC,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAAA,MAClC,iBAAA;AAAA,MACA,OAAO,CAAE,EAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAM,KAAA,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,GAAA,QAAA,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,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}