hzzt-plus 2.0.3 → 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 (64) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +7 -3
  3. package/dist/index.full.min.js +3 -3
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +3 -3
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +7 -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 +2 -2
  17. package/es/components/lazy-list/index.mjs +2 -2
  18. package/es/components/lazy-list/src/lazy-list.mjs +80 -22
  19. package/es/components/lazy-list/src/lazy-list.mjs.map +1 -1
  20. package/es/components/lazy-list/src/lazy-list2.mjs +22 -80
  21. package/es/components/lazy-list/src/lazy-list2.mjs.map +1 -1
  22. package/es/components/select/src/select.d.ts +1 -0
  23. package/es/components/select/src/select.mjs +4 -0
  24. package/es/components/select/src/select.mjs.map +1 -1
  25. package/es/components/select/src/select.vue.d.ts +4 -0
  26. package/es/components/select/src/select2.mjs +1 -1
  27. package/es/components/select/src/select2.mjs.map +1 -1
  28. package/es/components/select-input/src/select-input.mjs +1 -1
  29. package/es/components/select-textarea/src/select-textarea2.mjs +1 -1
  30. package/es/components/title/index.mjs +2 -2
  31. package/es/components/title/src/title.mjs +54 -11
  32. package/es/components/title/src/title.mjs.map +1 -1
  33. package/es/components/title/src/title2.mjs +11 -54
  34. package/es/components/title/src/title2.mjs.map +1 -1
  35. package/es/index.mjs +2 -2
  36. package/es/version.d.ts +1 -1
  37. package/es/version.mjs +1 -1
  38. package/es/version.mjs.map +1 -1
  39. package/lib/components/index.js +2 -2
  40. package/lib/components/lazy-list/index.js +2 -2
  41. package/lib/components/lazy-list/src/lazy-list.js +80 -23
  42. package/lib/components/lazy-list/src/lazy-list.js.map +1 -1
  43. package/lib/components/lazy-list/src/lazy-list2.js +23 -80
  44. package/lib/components/lazy-list/src/lazy-list2.js.map +1 -1
  45. package/lib/components/select/src/select.d.ts +1 -0
  46. package/lib/components/select/src/select.js +4 -0
  47. package/lib/components/select/src/select.js.map +1 -1
  48. package/lib/components/select/src/select.vue.d.ts +4 -0
  49. package/lib/components/select/src/select2.js +1 -1
  50. package/lib/components/select/src/select2.js.map +1 -1
  51. package/lib/components/select-input/src/select-input.js +1 -1
  52. package/lib/components/select-textarea/src/select-textarea2.js +1 -1
  53. package/lib/components/title/index.js +2 -2
  54. package/lib/components/title/src/title.js +54 -11
  55. package/lib/components/title/src/title.js.map +1 -1
  56. package/lib/components/title/src/title2.js +11 -54
  57. package/lib/components/title/src/title2.js.map +1 -1
  58. package/lib/index.js +2 -2
  59. package/lib/version.d.ts +1 -1
  60. package/lib/version.js +1 -1
  61. package/lib/version.js.map +1 -1
  62. package/package.json +1 -1
  63. package/tags.json +1 -1
  64. package/web-types.json +1 -1
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.3 */
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.3";
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);
package/dist/locale/en.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Hzzt Plus v2.0.3 */
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.3 */(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.3 */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.3 */
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.3 */
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.3 */(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.3 */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.3 */
1
+ /*! Hzzt Plus v2.0.4 */
2
2
 
3
3
  var zhCn = {
4
4
  name: "zh-cn",
@@ -19,7 +19,7 @@ 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';
@@ -30,5 +30,5 @@ export { inputRangeEmits, inputRangeProps } from './input-range/src/input-range.
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 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,85 +1,27 @@
1
- import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, Fragment, renderList, renderSlot } from 'vue';
2
- import { lazyListProps, lazyListEmits } from './lazy-list.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';
1
+ import '../../../utils/index.mjs';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
6
3
 
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
- };
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"
80
20
  }
81
21
  });
82
- var LazyList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "lazy-list.vue"]]);
22
+ const lazyListEmits = {
23
+ "row-click": (row) => row
24
+ };
83
25
 
84
- export { LazyList as default };
26
+ export { lazyListEmits, lazyListProps };
85
27
  //# sourceMappingURL=lazy-list2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-list2.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"lazy-list2.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;;;;"}
@@ -14,6 +14,7 @@ export declare const selectProps: {
14
14
  readonly: BooleanConstructor;
15
15
  clearable: BooleanConstructor;
16
16
  replace: import("hzzt-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
17
+ autoPullDown: import("hzzt-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
17
18
  placeholder: StringConstructor;
18
19
  size: {
19
20
  readonly type: import("vue").PropType<import("hzzt-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
@@ -25,6 +25,10 @@ const selectProps = buildProps({
25
25
  type: Boolean,
26
26
  default: true
27
27
  },
28
+ autoPullDown: {
29
+ type: Boolean,
30
+ default: true
31
+ },
28
32
  placeholder: String,
29
33
  size: useSizeProp
30
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import {buildProps, definePropType, isString} from '@hzzt-plus/utils'\nimport type {ExtractPropTypes} from 'vue'\nimport type Select from './select.vue'\nimport {UPDATE_MODEL_EVENT} from \"@hzzt-plus/constants\";\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\n\n\ntype OptionCommon = Record<string, any>\n\nexport type Option = OptionCommon & {\n created?: boolean\n}\n\nexport type OptionGroup = OptionCommon\n\nexport type OptionType = Option | OptionGroup\n\nexport const selectProps = buildProps({\n selectProps: Object,\n options: {\n type: definePropType<OptionType[]>(Array),\n default: () => [],\n },\n modelValue: {\n type: definePropType<string | null | undefined>([\n String,\n ]),\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n replace: {\n type: Boolean,\n default: true,\n },\n placeholder: String,\n size: useSizeProp,\n})\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\n\nexport const selectEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | undefined) => isString(value),\n 'input': (value: string | undefined) => isString(value),\n 'change': (value: string | undefined) => isString(value),\n 'arrow-down': (e: KeyboardEvent | Event) => e,\n 'arrow-up': (e: KeyboardEvent | Event) => e,\n 'arrow-left': (e: KeyboardEvent | Event) => e,\n 'arrow-right': (e: KeyboardEvent | Event) => e,\n 'enter': (e: KeyboardEvent | Event) => e,\n}\nexport type SelectEmits = typeof selectEmits\n\n\nexport type SelectInstance = InstanceType<typeof Select>\n"],"names":[],"mappings":";;;;;;;;AAGY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,IAAI,EAAE,WAAW;AACnB,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACrC,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACtC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;AACxB,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;AACtB,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;AACxB,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC;AACzB,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AACnB;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import {buildProps, definePropType, isString} from '@hzzt-plus/utils'\nimport type {ExtractPropTypes} from 'vue'\nimport type Select from './select.vue'\nimport {UPDATE_MODEL_EVENT} from \"@hzzt-plus/constants\";\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\n\n\ntype OptionCommon = Record<string, any>\n\nexport type Option = OptionCommon & {\n created?: boolean\n}\n\nexport type OptionGroup = OptionCommon\n\nexport type OptionType = Option | OptionGroup\n\nexport const selectProps = buildProps({\n selectProps: Object,\n options: {\n type: definePropType<OptionType[]>(Array),\n default: () => [],\n },\n modelValue: {\n type: definePropType<string | null | undefined>([\n String,\n ]),\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n clearable: Boolean,\n replace: {\n type: Boolean,\n default: true,\n },\n autoPullDown: {\n type: Boolean,\n default: true,\n },\n placeholder: String,\n size: useSizeProp,\n})\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\n\nexport const selectEmits = {\n [UPDATE_MODEL_EVENT]: (value: string | undefined) => isString(value),\n 'input': (value: string | undefined) => isString(value),\n 'change': (value: string | undefined) => isString(value),\n 'arrow-down': (e: KeyboardEvent | Event) => e,\n 'arrow-up': (e: KeyboardEvent | Event) => e,\n 'arrow-left': (e: KeyboardEvent | Event) => e,\n 'arrow-right': (e: KeyboardEvent | Event) => e,\n 'enter': (e: KeyboardEvent | Event) => e,\n}\nexport type SelectEmits = typeof selectEmits\n\n\nexport type SelectInstance = InstanceType<typeof Select>\n"],"names":[],"mappings":";;;;;;;;AAGY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,IAAI,EAAE,WAAW;AACnB,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AAClD,EAAE,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACrC,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;AACtC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;AACxB,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;AACtB,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;AACxB,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC;AACzB,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AACnB;;;;"}
@@ -7,6 +7,7 @@ declare const _default: import("vue").DefineComponent<{
7
7
  readonly: BooleanConstructor;
8
8
  clearable: BooleanConstructor;
9
9
  replace: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
10
+ autoPullDown: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
10
11
  placeholder: StringConstructor;
11
12
  size: {
12
13
  readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
@@ -23,6 +24,7 @@ declare const _default: import("vue").DefineComponent<{
23
24
  readonly: BooleanConstructor;
24
25
  clearable: BooleanConstructor;
25
26
  replace: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
27
+ autoPullDown: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
26
28
  placeholder: StringConstructor;
27
29
  size: {
28
30
  readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
@@ -13215,6 +13217,7 @@ declare const _default: import("vue").DefineComponent<{
13215
13217
  readonly: BooleanConstructor;
13216
13218
  clearable: BooleanConstructor;
13217
13219
  replace: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
13220
+ autoPullDown: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
13218
13221
  placeholder: StringConstructor;
13219
13222
  size: {
13220
13223
  readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
@@ -13238,5 +13241,6 @@ declare const _default: import("vue").DefineComponent<{
13238
13241
  options: import("./select").OptionType[];
13239
13242
  modelValue: import("../../../utils").EpPropMergeType<(new (...args: any[]) => string & {}) | (() => string | null | undefined) | ((new (...args: any[]) => string & {}) | (() => string | null | undefined))[], unknown, unknown>;
13240
13243
  replace: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
13244
+ autoPullDown: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
13241
13245
  }>;
13242
13246
  export default _default;
@@ -87,7 +87,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
87
  emit("change", str);
88
88
  }
89
89
  function focus() {
90
- if (selectRef.value) {
90
+ if (selectRef.value && props.autoPullDown) {
91
91
  setTimeout(() => {
92
92
  selectRef.value.dropdownMenuVisible = true;
93
93
  }, 200);
@@ -1 +1 @@
1
- {"version":3,"file":"select2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\" :style=\"containerStyle\">\n <el-input\n :class=\"inputCls\"\n v-model=\"inputVal\"\n ref=\"inputRef\"\n v-bind=\"_inputProps\"\n @input=\"input\"\n @change=\"change\"\n @focus=\"focus\"\n @keydown=\"keydown\"\n >\n <template #suffix>\n <hzzt-icon v-if=\"!trueReadonly\" class=\"pointer\" :name=\"arrowName\"\n @click=\"showSelect\"></hzzt-icon>\n </template>\n </el-input>\n <el-select-v2 v-if=\"!trueReadonly\" :class=\"selectCls\" v-model=\"selectVal\" ref=\"selectRef\" v-bind=\"_selectProps\"\n @change=\"selectChange\" @visible-change=\"selectVisibleChange\">\n </el-select-v2>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {selectEmits, selectProps} from './select'\n import {computed, ref, useAttrs, watch} from \"vue\";\n import {useFormDisabled, useFormSize} from \"element-plus\";\n import {useGlobalSize, useNamespace} from \"@hzzt-plus/hooks\";\n import {ElInput, ElSelectV2} from 'element-plus'\n import type {CSSProperties} from 'vue'\n import HzztIcon from \"@hzzt-plus/components/icon/src/index.vue\";\n\n\n defineOptions({\n name: 'HzztSelect',\n inheritAttrs: false,\n })\n\n const props = defineProps(selectProps)\n const emit = defineEmits(selectEmits)\n\n const attrs = useAttrs();\n\n const inputVal = ref(props.modelValue);\n const selectVal = ref();\n const inputRef = ref();\n const selectRef = ref();\n const arrowName = ref('arrow-down');\n\n const nsSelect = useNamespace('select');\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 trueReadonly = computed(() => props.readonly || trueDisabled.value)\n\n const containerCls = computed(() => [\n 'relative',\n 'line-height-1',\n attrs.class,\n nsSelect.b(),\n nsSelect.m(trueSize.value),\n ])\n\n const containerStyle = computed(() => attrs.style as CSSProperties)\n\n const inputCls = computed(() => [\n nsSelect.e('input'),\n 'width-100%'\n ])\n\n const selectCls = computed(() => [\n nsSelect.e('select'),\n 'width-100%'\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 position: trueReadonly.value ? 'static' : 'absolute',\n left: 0,\n top: 0,\n right: 0,\n zIndex: 2,\n },\n }))\n\n const _selectProps = computed(() => ({\n options: props.options,\n size: trueSize.value,\n filterable: true,\n popperClass: 'select-v2-popper-min-width-100',\n ...props.selectProps,\n }))\n\n watch(() => props.modelValue, (v) => {\n inputVal.value = v;\n })\n\n watch(() => inputVal.value, (v) => {\n selectVal.value = v;\n })\n\n function input(str: string) {\n if (selectRef.value?.dropdownMenuVisible) {\n selectRef.value.states.inputValue = inputVal.value;\n selectRef.value.debouncedOnInputChange();\n }\n emit('update:modelValue', str)\n emit('input', str)\n }\n\n function change(str: string) {\n emit('change', str)\n }\n\n function focus() {\n if (selectRef.value) {\n setTimeout(() => {\n selectRef.value.dropdownMenuVisible = true;\n }, 200)\n }\n }\n\n function keydown(e: KeyboardEvent | Event) {\n const key = \"key\" in e && e.key;\n if (key === 'ArrowDown') {\n emit('arrow-down', e);\n selectRef.value.dropdownMenuVisible = false;\n } else if (key === 'ArrowUp') {\n emit('arrow-up', e);\n selectRef.value.dropdownMenuVisible = false;\n } else if (key === 'ArrowLeft') {\n const index = inputRef.value.input.selectionStart;\n if (index === 0) {\n emit('arrow-left', e);\n selectRef.value.dropdownMenuVisible = false;\n }\n } else if (key === 'ArrowRight') {\n const index = inputRef.value.input.selectionStart;\n if ((inputVal.value?.length ?? 0) === index) {\n emit('arrow-right', e);\n selectRef.value.dropdownMenuVisible = false;\n }\n } else if (key === 'Enter') {\n emit('enter', e);\n selectRef.value.dropdownMenuVisible = false;\n }\n }\n\n function showSelect() {\n if (selectRef.value) {\n selectRef.value.dropdownMenuVisible = !selectRef.value.dropdownMenuVisible;\n }\n }\n\n function selectChange(v: string) {\n let str = inputVal.value || '';\n if (props.replace) {\n str = v;\n } else {\n str += v;\n }\n emit('update:modelValue', str);\n emit('input', str)\n inputVal.value = str;\n setTimeout(() => {\n inputRef.value.focus();\n setTimeout(() => {\n selectRef.value.dropdownMenuVisible = false;\n }, 250)\n emit('change', str);\n });\n }\n\n function selectVisibleChange(v: boolean) {\n arrowName.value = v ? 'arrow-up' : 'arrow-down'\n }\n\n\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select2.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\" :style=\"containerStyle\">\n <el-input\n :class=\"inputCls\"\n v-model=\"inputVal\"\n ref=\"inputRef\"\n v-bind=\"_inputProps\"\n @input=\"input\"\n @change=\"change\"\n @focus=\"focus\"\n @keydown=\"keydown\"\n >\n <template #suffix>\n <hzzt-icon v-if=\"!trueReadonly\" class=\"pointer\" :name=\"arrowName\"\n @click=\"showSelect\"></hzzt-icon>\n </template>\n </el-input>\n <el-select-v2 v-if=\"!trueReadonly\" :class=\"selectCls\" v-model=\"selectVal\" ref=\"selectRef\" v-bind=\"_selectProps\"\n @change=\"selectChange\" @visible-change=\"selectVisibleChange\">\n </el-select-v2>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {selectEmits, selectProps} from './select'\n import {computed, ref, useAttrs, watch} from \"vue\";\n import {useFormDisabled, useFormSize} from \"element-plus\";\n import {useGlobalSize, useNamespace} from \"@hzzt-plus/hooks\";\n import {ElInput, ElSelectV2} from 'element-plus'\n import type {CSSProperties} from 'vue'\n import HzztIcon from \"@hzzt-plus/components/icon/src/index.vue\";\n\n\n defineOptions({\n name: 'HzztSelect',\n inheritAttrs: false,\n })\n\n const props = defineProps(selectProps)\n const emit = defineEmits(selectEmits)\n\n const attrs = useAttrs();\n\n const inputVal = ref(props.modelValue);\n const selectVal = ref();\n const inputRef = ref();\n const selectRef = ref();\n const arrowName = ref('arrow-down');\n\n const nsSelect = useNamespace('select');\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 trueReadonly = computed(() => props.readonly || trueDisabled.value)\n\n const containerCls = computed(() => [\n 'relative',\n 'line-height-1',\n attrs.class,\n nsSelect.b(),\n nsSelect.m(trueSize.value),\n ])\n\n const containerStyle = computed(() => attrs.style as CSSProperties)\n\n const inputCls = computed(() => [\n nsSelect.e('input'),\n 'width-100%'\n ])\n\n const selectCls = computed(() => [\n nsSelect.e('select'),\n 'width-100%'\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 position: trueReadonly.value ? 'static' : 'absolute',\n left: 0,\n top: 0,\n right: 0,\n zIndex: 2,\n },\n }))\n\n const _selectProps = computed(() => ({\n options: props.options,\n size: trueSize.value,\n filterable: true,\n popperClass: 'select-v2-popper-min-width-100',\n ...props.selectProps,\n }))\n\n watch(() => props.modelValue, (v) => {\n inputVal.value = v;\n })\n\n watch(() => inputVal.value, (v) => {\n selectVal.value = v;\n })\n\n function input(str: string) {\n if (selectRef.value?.dropdownMenuVisible) {\n selectRef.value.states.inputValue = inputVal.value;\n selectRef.value.debouncedOnInputChange();\n }\n emit('update:modelValue', str)\n emit('input', str)\n }\n\n function change(str: string) {\n emit('change', str)\n }\n\n function focus() {\n if (selectRef.value && props.autoPullDown) {\n setTimeout(() => {\n selectRef.value.dropdownMenuVisible = true;\n }, 200)\n }\n }\n\n function keydown(e: KeyboardEvent | Event) {\n const key = \"key\" in e && e.key;\n if (key === 'ArrowDown') {\n emit('arrow-down', e);\n selectRef.value.dropdownMenuVisible = false;\n } else if (key === 'ArrowUp') {\n emit('arrow-up', e);\n selectRef.value.dropdownMenuVisible = false;\n } else if (key === 'ArrowLeft') {\n const index = inputRef.value.input.selectionStart;\n if (index === 0) {\n emit('arrow-left', e);\n selectRef.value.dropdownMenuVisible = false;\n }\n } else if (key === 'ArrowRight') {\n const index = inputRef.value.input.selectionStart;\n if ((inputVal.value?.length ?? 0) === index) {\n emit('arrow-right', e);\n selectRef.value.dropdownMenuVisible = false;\n }\n } else if (key === 'Enter') {\n emit('enter', e);\n selectRef.value.dropdownMenuVisible = false;\n }\n }\n\n function showSelect() {\n if (selectRef.value) {\n selectRef.value.dropdownMenuVisible = !selectRef.value.dropdownMenuVisible;\n }\n }\n\n function selectChange(v: string) {\n let str = inputVal.value || '';\n if (props.replace) {\n str = v;\n } else {\n str += v;\n }\n emit('update:modelValue', str);\n emit('input', str)\n inputVal.value = str;\n setTimeout(() => {\n inputRef.value.focus();\n setTimeout(() => {\n selectRef.value.dropdownMenuVisible = false;\n }, 250)\n emit('change', str);\n });\n }\n\n function selectVisibleChange(v: boolean) {\n arrowName.value = v ? 'arrow-up' : 'arrow-down'\n }\n\n\n</script>\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { defineComponent, ref, computed, watch, openBlock, createElementBlock, n
2
2
  import { selectInputProps, selectInputEmits } from './select-input2.mjs';
3
3
  import '../../../hooks/index.mjs';
4
4
  import { useFormSize, useFormDisabled, ElInput, ElLink } from 'element-plus';
5
- import HzztTitle from '../../title/src/title2.mjs';
5
+ import HzztTitle from '../../title/src/title.mjs';
6
6
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
7
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
8
8
  import { useGlobalSize } from '../../../hooks/use-size/index.mjs';
@@ -2,7 +2,7 @@ import { defineComponent, ref, computed, watch, openBlock, createElementBlock, n
2
2
  import { selectTextareaProps, selectTextareaEmits } from './select-textarea.mjs';
3
3
  import '../../../hooks/index.mjs';
4
4
  import { useFormSize, useFormDisabled, ElSelectV2, ElInput } from 'element-plus';
5
- import HzztTitle from '../../title/src/title2.mjs';
5
+ import HzztTitle from '../../title/src/title.mjs';
6
6
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
7
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
8
8
  import { useGlobalSize } from '../../../hooks/use-size/index.mjs';
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import HzztTitle$1 from './src/title2.mjs';
3
- export { titleProps } from './src/title.mjs';
2
+ import HzztTitle$1 from './src/title.mjs';
3
+ export { titleProps } from './src/title2.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const HzztTitle = withInstall(HzztTitle$1);
@@ -1,16 +1,59 @@
1
- import '../../../utils/index.mjs';
1
+ import { defineComponent, computed, useSlots, unref, openBlock, createElementBlock, createElementVNode, createCommentVNode, renderSlot, normalizeClass, createTextVNode, toDisplayString } from 'vue';
2
+ import { titleProps } from './title2.mjs';
2
3
  import '../../../hooks/index.mjs';
3
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
4
- import { useSizeProp } from '../../../hooks/use-size/index.mjs';
4
+ import { useFormSize } from 'element-plus';
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';
5
8
 
6
- const titleProps = buildProps({
7
- label: String,
8
- sideline: {
9
- type: Boolean,
10
- default: true
11
- },
12
- size: useSizeProp
9
+ const _hoisted_1 = {
10
+ key: 0,
11
+ class: "hzzt-title flex align-items-center justify-content-between"
12
+ };
13
+ const _hoisted_2 = { class: "flex align-items-center" };
14
+ const _hoisted_3 = {
15
+ key: 0,
16
+ class: "hzzt-title__line"
17
+ };
18
+ const __default__ = defineComponent({
19
+ name: "HzztTitle"
13
20
  });
21
+ const _sfc_main = /* @__PURE__ */ defineComponent({
22
+ ...__default__,
23
+ props: titleProps,
24
+ setup(__props) {
25
+ const props = __props;
26
+ const formSize = useFormSize();
27
+ const ns = useNamespace("title");
28
+ const trueSize = computed(() => props.size || formSize.value || useGlobalSize().value);
29
+ const nameKls = computed(() => {
30
+ return [ns.e("name"), ns.em("name", trueSize.value)];
31
+ });
32
+ const slots = useSlots();
33
+ const showLabel = computed(() => {
34
+ var _a, _b, _c;
35
+ return props.label || ((_c = (_b = (_a = slots == null ? void 0 : slots.default) == null ? void 0 : _a.call(slots)) == null ? void 0 : _b[0]) == null ? void 0 : _c.children);
36
+ });
37
+ return (_ctx, _cache) => {
38
+ return unref(showLabel) ? (openBlock(), createElementBlock("div", _hoisted_1, [
39
+ createElementVNode("div", _hoisted_2, [
40
+ _ctx.sideline ? (openBlock(), createElementBlock("span", _hoisted_3)) : createCommentVNode("v-if", true),
41
+ renderSlot(_ctx.$slots, "before"),
42
+ createElementVNode("label", {
43
+ class: normalizeClass(unref(nameKls))
44
+ }, [
45
+ renderSlot(_ctx.$slots, "default", {}, () => [
46
+ createTextVNode(toDisplayString(_ctx.label), 1)
47
+ ])
48
+ ], 2),
49
+ renderSlot(_ctx.$slots, "after")
50
+ ]),
51
+ renderSlot(_ctx.$slots, "right")
52
+ ])) : createCommentVNode("v-if", true);
53
+ };
54
+ }
55
+ });
56
+ var HzztTitle = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "title.vue"]]);
14
57
 
15
- export { titleProps };
58
+ export { HzztTitle as default };
16
59
  //# sourceMappingURL=title.mjs.map