hzzt-plus 1.0.6 → 2.0.0

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 (150) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +558 -355
  3. package/dist/index.full.min.js +10 -10
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +13 -13
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +559 -357
  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/component.mjs +3 -1
  17. package/es/component.mjs.map +1 -1
  18. package/es/components/click-input/src/click-input2.mjs +1 -1
  19. package/es/components/click-input/src/click-input2.mjs.map +1 -1
  20. package/es/components/collapse/index.d.ts +161 -8
  21. package/es/components/collapse/src/collapse.vue.d.ts +161 -8
  22. package/es/components/collapse/src/collapse2.mjs +50 -29
  23. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  24. package/es/components/icon/index.mjs +4 -0
  25. package/es/components/icon/index.mjs.map +1 -1
  26. package/es/components/icon/src/components/index.d.ts +2 -0
  27. package/es/components/icon/src/components/index.mjs +3 -0
  28. package/es/components/icon/src/components/index.mjs.map +1 -0
  29. package/es/components/icon/src/components/minus-square-outline.mjs +29 -0
  30. package/es/components/icon/src/components/minus-square-outline.mjs.map +1 -0
  31. package/es/components/icon/src/components/minus-square-outline.vue.d.ts +2 -0
  32. package/es/components/icon/src/components/plus-square-outline.mjs +29 -0
  33. package/es/components/icon/src/components/plus-square-outline.mjs.map +1 -0
  34. package/es/components/icon/src/components/plus-square-outline.vue.d.ts +2 -0
  35. package/es/components/index.d.ts +1 -0
  36. package/es/components/index.mjs +2 -1
  37. package/es/components/index.mjs.map +1 -1
  38. package/es/components/pagination/index.d.ts +2 -2
  39. package/es/components/pagination/src/index.mjs +49 -21
  40. package/es/components/pagination/src/index.mjs.map +1 -1
  41. package/es/components/pagination/src/index.vue.d.ts +2 -2
  42. package/es/components/scroll/index.d.ts +5 -0
  43. package/es/components/scroll/index.mjs +9 -0
  44. package/es/components/scroll/index.mjs.map +1 -0
  45. package/es/components/scroll/src/scroll.d.ts +2 -0
  46. package/es/components/scroll/src/scroll.mjs +2 -0
  47. package/es/components/scroll/src/scroll.mjs.map +1 -0
  48. package/es/components/scroll/src/scroll.vue.d.ts +147 -0
  49. package/es/components/scroll/src/scroll2.mjs +88 -0
  50. package/es/components/scroll/src/scroll2.mjs.map +1 -0
  51. package/es/components/scroll/style/css.d.ts +2 -0
  52. package/es/components/scroll/style/css.mjs +3 -0
  53. package/es/components/scroll/style/css.mjs.map +1 -0
  54. package/es/components/scroll/style/index.d.ts +2 -0
  55. package/es/components/scroll/style/index.mjs +3 -0
  56. package/es/components/scroll/style/index.mjs.map +1 -0
  57. package/es/components/select-input/index.d.ts +39 -0
  58. package/es/components/select-input/src/select-input.vue.d.ts +39 -0
  59. package/es/components/select-textarea/index.mjs +2 -2
  60. package/es/components/select-textarea/src/select-textarea.mjs +100 -30
  61. package/es/components/select-textarea/src/select-textarea.mjs.map +1 -1
  62. package/es/components/select-textarea/src/select-textarea.vue.d.ts +39 -0
  63. package/es/components/select-textarea/src/select-textarea2.mjs +30 -100
  64. package/es/components/select-textarea/src/select-textarea2.mjs.map +1 -1
  65. package/es/components/title/src/title.d.ts +6 -0
  66. package/es/components/title/src/title.mjs +4 -1
  67. package/es/components/title/src/title.mjs.map +1 -1
  68. package/es/components/title/src/title.vue.d.ts +39 -0
  69. package/es/components/title/src/title2.mjs +28 -12
  70. package/es/components/title/src/title2.mjs.map +1 -1
  71. package/es/index.mjs +2 -1
  72. package/es/index.mjs.map +1 -1
  73. package/es/version.d.ts +1 -1
  74. package/es/version.mjs +1 -1
  75. package/es/version.mjs.map +1 -1
  76. package/global.d.ts +1 -0
  77. package/lib/component.js +3 -1
  78. package/lib/component.js.map +1 -1
  79. package/lib/components/click-input/src/click-input2.js +1 -1
  80. package/lib/components/click-input/src/click-input2.js.map +1 -1
  81. package/lib/components/collapse/index.d.ts +161 -8
  82. package/lib/components/collapse/src/collapse.vue.d.ts +161 -8
  83. package/lib/components/collapse/src/collapse2.js +49 -28
  84. package/lib/components/collapse/src/collapse2.js.map +1 -1
  85. package/lib/components/icon/index.js +4 -0
  86. package/lib/components/icon/index.js.map +1 -1
  87. package/lib/components/icon/src/components/index.d.ts +2 -0
  88. package/lib/components/icon/src/components/index.js +12 -0
  89. package/lib/components/icon/src/components/index.js.map +1 -0
  90. package/lib/components/icon/src/components/minus-square-outline.js +33 -0
  91. package/lib/components/icon/src/components/minus-square-outline.js.map +1 -0
  92. package/lib/components/icon/src/components/minus-square-outline.vue.d.ts +2 -0
  93. package/lib/components/icon/src/components/plus-square-outline.js +33 -0
  94. package/lib/components/icon/src/components/plus-square-outline.js.map +1 -0
  95. package/lib/components/icon/src/components/plus-square-outline.vue.d.ts +2 -0
  96. package/lib/components/index.d.ts +1 -0
  97. package/lib/components/index.js +3 -1
  98. package/lib/components/index.js.map +1 -1
  99. package/lib/components/pagination/index.d.ts +2 -2
  100. package/lib/components/pagination/src/index.js +48 -20
  101. package/lib/components/pagination/src/index.js.map +1 -1
  102. package/lib/components/pagination/src/index.vue.d.ts +2 -2
  103. package/lib/components/scroll/index.d.ts +5 -0
  104. package/lib/components/scroll/index.js +14 -0
  105. package/lib/components/scroll/index.js.map +1 -0
  106. package/lib/components/scroll/src/scroll.d.ts +2 -0
  107. package/lib/components/scroll/src/scroll.js +3 -0
  108. package/lib/components/scroll/src/scroll.js.map +1 -0
  109. package/lib/components/scroll/src/scroll.vue.d.ts +147 -0
  110. package/lib/components/scroll/src/scroll2.js +92 -0
  111. package/lib/components/scroll/src/scroll2.js.map +1 -0
  112. package/lib/components/scroll/style/css.d.ts +2 -0
  113. package/lib/components/scroll/style/css.js +6 -0
  114. package/lib/components/scroll/style/css.js.map +1 -0
  115. package/lib/components/scroll/style/index.d.ts +2 -0
  116. package/lib/components/scroll/style/index.js +6 -0
  117. package/lib/components/scroll/style/index.js.map +1 -0
  118. package/lib/components/select-input/index.d.ts +39 -0
  119. package/lib/components/select-input/src/select-input.vue.d.ts +39 -0
  120. package/lib/components/select-textarea/index.js +2 -2
  121. package/lib/components/select-textarea/src/select-textarea.js +100 -31
  122. package/lib/components/select-textarea/src/select-textarea.js.map +1 -1
  123. package/lib/components/select-textarea/src/select-textarea.vue.d.ts +39 -0
  124. package/lib/components/select-textarea/src/select-textarea2.js +31 -100
  125. package/lib/components/select-textarea/src/select-textarea2.js.map +1 -1
  126. package/lib/components/title/src/title.d.ts +6 -0
  127. package/lib/components/title/src/title.js +4 -1
  128. package/lib/components/title/src/title.js.map +1 -1
  129. package/lib/components/title/src/title.vue.d.ts +39 -0
  130. package/lib/components/title/src/title2.js +27 -11
  131. package/lib/components/title/src/title2.js.map +1 -1
  132. package/lib/index.js +33 -31
  133. package/lib/index.js.map +1 -1
  134. package/lib/version.d.ts +1 -1
  135. package/lib/version.js +1 -1
  136. package/lib/version.js.map +1 -1
  137. package/package.json +1 -1
  138. package/theme/hzzt-collapse.css +1 -1
  139. package/theme/hzzt-pagination.css +1 -1
  140. package/theme/hzzt-scan.css +1 -1
  141. package/theme/hzzt-scroll.css +1 -0
  142. package/theme/hzzt-title.css +1 -1
  143. package/theme/index.css +1 -1
  144. package/theme/src/collapse.scss +45 -39
  145. package/theme/src/index.scss +1 -0
  146. package/theme/src/pagination.scss +24 -6
  147. package/theme/src/scan.scss +3 -3
  148. package/theme/src/scroll.scss +42 -0
  149. package/theme/src/title.scss +14 -5
  150. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/pagination/src/index.vue"],"sourcesContent":["<template>\n <div class=\"flex justify-content-between hzzt-pagination\">\n <p class=\"flex align-items-center font-12 hzzt-pagination-total\">\n {{ t('hzzt.pagination.total') }}{{ pagination.total\n }}{{ t('hzzt.pagination.strip') }}\n </p>\n <div class=\"flex align-items-center hzzt-pagination-page font-14\">\n <slot name=\"right\" />\n <hzzt-icon\n class=\"hzzt-pagination-arrow\"\n :class=\"{ active: pagination.current_page > 1 }\"\n name=\"arrow-left\"\n @click=\"prePage\"\n />\n <p class=\"flex\">\n {{ pagination.current_page }}/{{ pagination.total_pages }}\n </p>\n <hzzt-icon\n class=\"hzzt-pagination-arrow\"\n :class=\"{ active: pagination.current_page < pagination.total_pages }\"\n name=\"arrow-right\"\n @click=\"nextPage\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport HzztIcon from '@hzzt-plus/components/icon/src/index.vue'\nimport { useLocale } from '@hzzt-plus/hooks'\n\ndefineOptions({\n name: 'HzztPagination',\n})\n\nconst props = defineProps({\n pagination: {\n type: Object,\n default: () => ({\n total: 0,\n current_page: 1,\n total_pages: 1,\n }),\n },\n})\n\nconst emit = defineEmits(['prev', 'next'])\nconst { t } = useLocale()\n\nfunction prePage() {\n if (props.pagination.current_page > 1) {\n emit('prev', props.pagination.current_page - 1)\n } else {\n return false\n }\n}\n\nfunction nextPage() {\n if (props.pagination.current_page < props.pagination.total_pages) {\n emit('next', props.pagination.current_page + 1)\n } else {\n return false\n }\n}\n</script>\n"],"names":["useLocale"],"mappings":";;;;;;;;;;;;;;uCA+Bc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;AAcA,IAAM,MAAA,EAAE,CAAE,EAAA,GAAIA,eAAU,EAAA,CAAA;AAExB,IAAA,SAAS,OAAU,GAAA;AACjB,MAAI,IAAA,KAAA,CAAM,UAAW,CAAA,YAAA,GAAe,CAAG,EAAA;AACrC,QAAA,IAAA,CAAK,MAAQ,EAAA,KAAA,CAAM,UAAW,CAAA,YAAA,GAAe,CAAC,CAAA,CAAA;AAAA,OACzC,MAAA;AACL,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AAEA,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,IAAI,KAAM,CAAA,UAAA,CAAW,YAAe,GAAA,KAAA,CAAM,WAAW,WAAa,EAAA;AAChE,QAAA,IAAA,CAAK,MAAQ,EAAA,KAAA,CAAM,UAAW,CAAA,YAAA,GAAe,CAAC,CAAA,CAAA;AAAA,OACzC,MAAA;AACL,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/pagination/src/index.vue"],"sourcesContent":["<template>\n <div class=\"flex align-items-center justify-content-between hzzt-pagination\">\n <div class=\"flex flex-1\">\n <div class=\"font-14\">\n {{ t('hzzt.pagination.total') }}\n <span class=\"hzzt-pagination__count\">{{ pagination.total || 0 }}</span>\n {{ t('hzzt.pagination.strip') }}\n </div>\n <div class=\"flex-1\">\n <slot name=\"left\" />\n </div>\n </div>\n <div class=\"font-14 flex align-items-center\">\n <slot name=\"right\" />\n <hzzt-icon :class=\"{'is-disabled': pagination.current_page === 1}\" class=\"margin-r-1 hzzt-pagination__icon\"\n name=\"arrow-left\"\n @click=\"pageChange('prev')\" />\n <el-input v-model=\"pagination.current_page\" class=\"hzzt-pagination__input\" @change=\"handleJumpPage\" />\n <span class=\"margin-h-2\">/</span>\n <span>{{ pagination.total_pages }}</span>\n <hzzt-icon :class=\"{'is-disabled': pagination.current_page === pagination.total_pages}\"\n class=\"margin-l-1 hzzt-pagination__icon\"\n name=\"arrow-right\" @click=\"pageChange('next')\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import HzztIcon from '@hzzt-plus/components/icon/src/index.vue'\n import {useLocale} from '@hzzt-plus/hooks'\n\n defineOptions({\n name: 'HzztPagination',\n })\n\n const props = defineProps({\n pagination: {\n type: Object,\n default: () => ({\n total: 0,\n current_page: 1,\n total_pages: 1,\n }),\n },\n })\n\n const emit = defineEmits(['prev', 'next'])\n const {t} = useLocale()\n\n function pageChange(type: string, page?: number) {\n if ((type === 'next' && props.pagination.current_page >= props.pagination.total_pages) ||\n (type === 'prev' && props.pagination.current_page <= 1)\n ) return;\n if (type === 'jump') {\n emit('next', page);\n return;\n }\n if (type === 'next') {\n emit('next', props.pagination.current_page + 1);\n } else {\n emit('prev', props.pagination.current_page - 1);\n }\n }\n\n function handleJumpPage(val: string | number) {\n val = Math.trunc(+val);\n if (val > props.pagination.total_pages) {\n val = props.pagination.total_pages;\n } else if (val < 1) {\n val = 1;\n }\n pageChange('jump', Number(val));\n }\n</script>\n"],"names":["_defineComponent","_resolveComponent","_openBlock","_createElementBlock","_createElementVNode","_createTextVNode","_toDisplayString","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BE,MAAA,SAAqB,mBAAAA,mBAAA,CAAA;AACrB,EAAA,GAAA,WAAwB;;;AAEV,MACN,IAAA,EAAA,MAAA;AACR,MAAA,OAAA,EAAA,OAAA;;;;;;;;;;;;;;;;AAcA,QAAM,OAAE;AAER,OAAS;AACP,MAAA,IAAK,IAAS,KAAA,MAAA,EAAA;AAEZ,QAAA,IAAA,CAAA,MAAA,EAAA,KAAA,CAAA,UAAA,CAAA,YAAA,GAAA,CAAA,CAAA,CAAA;AACF,OAAA;AACE,QAAA,IAAA,CAAK,QAAQ,KAAI,CAAA,UAAA,CAAA,YAAA,GAAA,CAAA,CAAA,CAAA;AACjB,OAAA;AAAA,KACF;AACA,IAAA,uBAAqB,CAAA,GAAA,EAAA;AACnB,MAAA,GAAA,GAAA,IAAa,CAAA,KAAA,CAAA,CAAA,GAAM,CAAW,CAAA;AAAgB,MAChD,IAAO,GAAA,GAAA,KAAA,CAAA,UAAA,CAAA,WAAA,EAAA;AACL,QAAA,GAAA,GAAa,KAAA,CAAA,UAAiB,CAAA,WAAA,CAAA;AAAgB,OAChD,MAAA,IAAA,GAAA,GAAA,CAAA,EAAA;AAAA,QACF,GAAA,GAAA,CAAA,CAAA;AAEA,OAAA;AACE,MAAM,UAAA,CAAK,MAAM,EAAI,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACrB,KAAI;AACF,IAAA,OAAA,CAAA,YAAuB,KAAA;AAAA,MACzB,MAAA,mBAAoB,GAAAC,oBAAA,CAAA,UAAA,CAAA,CAAA;AAClB,MAAM,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,QACRC,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AACA,UAAWA,sBAAe,CAAA,KAAG,EAAC,UAAA,EAAA;AAAA,YAChCC,mBAAA,CAAAC,mBAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,CAAA,GAAA,GAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -23,8 +23,8 @@ declare const _default: import("vue").DefineComponent<{
23
23
  }>>;
24
24
  emit: (event: "prev" | "next", ...args: any[]) => void;
25
25
  t: import("hzzt-plus/es/hooks").Translator;
26
- prePage: () => false | undefined;
27
- nextPage: () => false | undefined;
26
+ pageChange: (type: string, page?: number | undefined) => void;
27
+ handleJumpPage: (val: string | number) => void;
28
28
  HzztIcon: import("vue").DefineComponent<{
29
29
  name: {
30
30
  type: StringConstructor;
@@ -0,0 +1,5 @@
1
+ import Scroll from './src/scroll.vue';
2
+ import type { SFCWithInstall } from 'hzzt-plus/es/utils';
3
+ export declare const HzztScroll: SFCWithInstall<typeof Scroll>;
4
+ export default HzztScroll;
5
+ export * from './src/scroll';
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('../../utils/index.js');
6
+ var scroll = require('./src/scroll2.js');
7
+ require('./src/scroll.js');
8
+ var install = require('../../utils/vue/install.js');
9
+
10
+ const HzztScroll = install.withInstall(scroll["default"]);
11
+
12
+ exports.HzztScroll = HzztScroll;
13
+ exports["default"] = HzztScroll;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/scroll/index.ts"],"sourcesContent":["import { withInstall } from '@hzzt-plus/utils'\nimport Scroll from './src/scroll.vue'\nimport type { SFCWithInstall } from '@hzzt-plus/utils'\n\nexport const HzztScroll: SFCWithInstall<typeof Scroll> = withInstall(Scroll)\nexport default HzztScroll\n\nexport * from './src/scroll'\n"],"names":["withInstall","Scroll"],"mappings":";;;;;;;;;AAEY,MAAC,UAAU,GAAGA,mBAAW,CAACC,iBAAM;;;;;"}
@@ -0,0 +1,2 @@
1
+ import type Scroll from './scroll.vue';
2
+ export declare type ScrollInstance = InstanceType<typeof Scroll>;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,147 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ navTranslateX: import("vue").Ref<number>;
3
+ scrollRef: import("vue").Ref<HTMLElement | null>;
4
+ scrollContentRef: import("vue").Ref<HTMLElement | null>;
5
+ scrollable: import("vue").Ref<boolean>;
6
+ update: () => void;
7
+ btnNavPrev: () => void;
8
+ btnNavNext: () => void;
9
+ HzztIcon: import("vue").DefineComponent<{
10
+ name: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ type: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ }, {
19
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
20
+ name: {
21
+ type: StringConstructor;
22
+ required: true;
23
+ };
24
+ type: {
25
+ type: StringConstructor;
26
+ default: string;
27
+ };
28
+ }>> & {
29
+ [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
30
+ }>>;
31
+ attrs: {
32
+ [x: string]: unknown;
33
+ };
34
+ componentName: import("vue").ComputedRef<string>;
35
+ ElIcon: import("element-plus/es/utils").SFCWithInstall<{
36
+ new (...args: any[]): {
37
+ $: import("vue").ComponentInternalInstance;
38
+ $data: {};
39
+ $props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{
40
+ readonly size: {
41
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
42
+ readonly required: false;
43
+ readonly validator: ((val: unknown) => boolean) | undefined;
44
+ __epPropKey: true;
45
+ };
46
+ readonly color: {
47
+ readonly type: import("vue").PropType<string>;
48
+ readonly required: false;
49
+ readonly validator: ((val: unknown) => boolean) | undefined;
50
+ __epPropKey: true;
51
+ };
52
+ }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
53
+ $attrs: {
54
+ [x: string]: unknown;
55
+ };
56
+ $refs: {
57
+ [x: string]: unknown;
58
+ };
59
+ $slots: Readonly<{
60
+ [name: string]: import("vue").Slot | undefined;
61
+ }>;
62
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
63
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
64
+ $emit: (event: string, ...args: any[]) => void;
65
+ $el: any;
66
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
67
+ readonly size: {
68
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
69
+ readonly required: false;
70
+ readonly validator: ((val: unknown) => boolean) | undefined;
71
+ __epPropKey: true;
72
+ };
73
+ readonly color: {
74
+ readonly type: import("vue").PropType<string>;
75
+ readonly required: false;
76
+ readonly validator: ((val: unknown) => boolean) | undefined;
77
+ __epPropKey: true;
78
+ };
79
+ }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {}> & {
80
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
81
+ created?: ((() => void) | (() => void)[]) | undefined;
82
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
83
+ mounted?: ((() => void) | (() => void)[]) | undefined;
84
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
85
+ updated?: ((() => void) | (() => void)[]) | undefined;
86
+ activated?: ((() => void) | (() => void)[]) | undefined;
87
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
88
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
89
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
90
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
91
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
92
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
93
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
94
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
95
+ };
96
+ $forceUpdate: () => void;
97
+ $nextTick: typeof import("vue").nextTick;
98
+ $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
99
+ } & Readonly<import("vue").ExtractPropTypes<{
100
+ readonly size: {
101
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
102
+ readonly required: false;
103
+ readonly validator: ((val: unknown) => boolean) | undefined;
104
+ __epPropKey: true;
105
+ };
106
+ readonly color: {
107
+ readonly type: import("vue").PropType<string>;
108
+ readonly required: false;
109
+ readonly validator: ((val: unknown) => boolean) | undefined;
110
+ __epPropKey: true;
111
+ };
112
+ }>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties;
113
+ __isFragment?: undefined;
114
+ __isTeleport?: undefined;
115
+ __isSuspense?: undefined;
116
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
117
+ readonly size: {
118
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>>;
119
+ readonly required: false;
120
+ readonly validator: ((val: unknown) => boolean) | undefined;
121
+ __epPropKey: true;
122
+ };
123
+ readonly color: {
124
+ readonly type: import("vue").PropType<string>;
125
+ readonly required: false;
126
+ readonly validator: ((val: unknown) => boolean) | undefined;
127
+ __epPropKey: true;
128
+ };
129
+ }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
130
+ $slots: {
131
+ default?(_: {}): any;
132
+ };
133
+ })>;
134
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
135
+ name: {
136
+ type: StringConstructor;
137
+ required: true;
138
+ };
139
+ type: {
140
+ type: StringConstructor;
141
+ default: string;
142
+ };
143
+ }>>, {
144
+ type: string;
145
+ }>;
146
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
147
+ export default _default;
@@ -0,0 +1,92 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ var index = require('../../icon/src/index.js');
8
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
9
+
10
+ const __default__ = vue.defineComponent({
11
+ name: "HzztScroll"
12
+ });
13
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
+ ...__default__,
15
+ setup(__props) {
16
+ const navTranslateX = vue.ref(0);
17
+ const scrollRef = vue.ref(null);
18
+ const scrollContentRef = vue.ref(null);
19
+ const scrollable = vue.ref(false);
20
+ function update() {
21
+ if (!scrollRef.value || !scrollContentRef.value)
22
+ return;
23
+ const scrollWidth = scrollRef.value ? scrollRef.value.offsetWidth : 0;
24
+ const contentWidth = scrollContentRef.value ? scrollContentRef.value.offsetWidth : 0;
25
+ if (scrollWidth >= contentWidth) {
26
+ scrollable.value = false;
27
+ navTranslateX.value = 0;
28
+ return;
29
+ }
30
+ scrollable.value = true;
31
+ }
32
+ core.useResizeObserver(scrollContentRef, update);
33
+ vue.onUpdated(() => update());
34
+ function btnNavPrev() {
35
+ var _a;
36
+ const containerSize = ((_a = scrollRef.value) == null ? void 0 : _a.offsetWidth) || 0;
37
+ const currentOffset = navTranslateX.value;
38
+ if (!currentOffset)
39
+ return;
40
+ const newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0;
41
+ navTranslateX.value = newOffset;
42
+ }
43
+ function btnNavNext() {
44
+ var _a, _b;
45
+ const navSize = ((_a = scrollContentRef.value) == null ? void 0 : _a.offsetWidth) || 0;
46
+ const currentOffset = navTranslateX.value;
47
+ const containerSize = ((_b = scrollRef.value) == null ? void 0 : _b.offsetWidth) || 0;
48
+ if (navSize - currentOffset < containerSize)
49
+ return;
50
+ const newOffset = navSize - currentOffset > containerSize * 2 ? currentOffset + containerSize : navSize - containerSize;
51
+ navTranslateX.value = newOffset;
52
+ }
53
+ return (_ctx, _cache) => {
54
+ return vue.openBlock(), vue.createElementBlock("div", {
55
+ class: vue.normalizeClass([{ "is-scrollable": scrollable.value }, "relative hzzt-scroll"])
56
+ }, [
57
+ scrollable.value ? (vue.openBlock(), vue.createElementBlock("div", {
58
+ key: 0,
59
+ class: "hzzt-scroll__nav-prev",
60
+ onClick: btnNavPrev
61
+ }, [
62
+ vue.createVNode(index["default"], { name: "arrow-left" })
63
+ ])) : vue.createCommentVNode("v-if", true),
64
+ scrollable.value ? (vue.openBlock(), vue.createElementBlock("div", {
65
+ key: 1,
66
+ class: "hzzt-scroll__nav-next",
67
+ onClick: btnNavNext
68
+ }, [
69
+ vue.createVNode(index["default"], { name: "arrow-right" })
70
+ ])) : vue.createCommentVNode("v-if", true),
71
+ vue.createElementVNode("div", {
72
+ ref_key: "scrollRef",
73
+ ref: scrollRef,
74
+ class: "overflow-hidden"
75
+ }, [
76
+ vue.createElementVNode("div", {
77
+ ref_key: "scrollContentRef",
78
+ ref: scrollContentRef,
79
+ style: vue.normalizeStyle({ transform: `translateX(${-navTranslateX.value}px)` }),
80
+ class: "hzzt-scroll__content"
81
+ }, [
82
+ vue.renderSlot(_ctx.$slots, "default")
83
+ ], 4)
84
+ ], 512)
85
+ ], 2);
86
+ };
87
+ }
88
+ });
89
+ var Scroll = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "scroll.vue"]]);
90
+
91
+ exports["default"] = Scroll;
92
+ //# sourceMappingURL=scroll2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll2.js","sources":["../../../../../../packages/components/scroll/src/scroll.vue"],"sourcesContent":["<template>\n <div :class=\"{'is-scrollable':scrollable}\" class=\"relative hzzt-scroll\">\n <div v-if=\"scrollable\" class=\"hzzt-scroll__nav-prev\" @click=\"btnNavPrev\">\n <hzzt-icon name=\"arrow-left\" />\n </div>\n <div v-if=\"scrollable\" class=\"hzzt-scroll__nav-next\" @click=\"btnNavNext\">\n <hzzt-icon name=\"arrow-right\" />\n </div>\n <div ref=\"scrollRef\" class=\"overflow-hidden\">\n <div ref=\"scrollContentRef\" :style=\"{transform: `translateX(${-navTranslateX}px)`}\" class=\"hzzt-scroll__content\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {onUpdated, ref} from 'vue';\n import {useResizeObserver} from '@vueuse/core';\n import HzztIcon from \"@hzzt-plus/components/icon/src/index.vue\";\n\n defineOptions({\n name: 'HzztScroll',\n })\n\n const navTranslateX = ref(0);\n const scrollRef = ref<HTMLElement | null>(null);\n const scrollContentRef = ref<HTMLElement | null>(null);\n const scrollable = ref(false);\n\n function update() {\n if (!scrollRef.value || !scrollContentRef.value) return;\n const scrollWidth = scrollRef.value ? scrollRef.value.offsetWidth : 0;\n const contentWidth = scrollContentRef.value ? scrollContentRef.value.offsetWidth : 0;\n if (scrollWidth >= contentWidth) {\n scrollable.value = false;\n navTranslateX.value = 0;\n return;\n }\n scrollable.value = true;\n }\n\n useResizeObserver(scrollContentRef, update);\n\n onUpdated(() => update());\n\n function btnNavPrev() {\n const containerSize = scrollRef.value?.offsetWidth || 0;\n const currentOffset = navTranslateX.value;\n if (!currentOffset) return;\n const newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0;\n navTranslateX.value = newOffset;\n }\n\n function btnNavNext() {\n const navSize = scrollContentRef.value?.offsetWidth || 0;\n const currentOffset = navTranslateX.value;\n const containerSize = scrollRef.value?.offsetWidth || 0;\n if (navSize - currentOffset < containerSize) return;\n const newOffset = navSize - currentOffset > containerSize * 2 ?\n currentOffset + containerSize :\n navSize - containerSize;\n navTranslateX.value = newOffset;\n }\n</script>\n"],"names":["ref","useResizeObserver","onUpdated"],"mappings":";;;;;;;;;uCAqBgB,CAAA;AAAA,EACZ,IAAM,EAAA,YAAA;AACR,CAAA,CAAA,CAAA;;;;AAEA,IAAM,MAAA,aAAA,GAAgBA,QAAI,CAAC,CAAA,CAAA;AAC3B,IAAM,MAAA,SAAA,GAAYA,QAAwB,IAAI,CAAA,CAAA;AAC9C,IAAM,MAAA,gBAAA,GAAmBA,QAAwB,IAAI,CAAA,CAAA;AACrD,IAAM,MAAA,UAAA,GAAaA,QAAI,KAAK,CAAA,CAAA;AAE5B,IAAA,SAAS,MAAS,GAAA;AAChB,MAAA,IAAI,CAAC,SAAA,CAAU,KAAS,IAAA,CAAC,gBAAiB,CAAA,KAAA;AAAO,QAAA,OAAA;AACjD,MAAA,MAAM,WAAc,GAAA,SAAA,CAAU,KAAQ,GAAA,SAAA,CAAU,MAAM,WAAc,GAAA,CAAA,CAAA;AACpE,MAAA,MAAM,YAAe,GAAA,gBAAA,CAAiB,KAAQ,GAAA,gBAAA,CAAiB,MAAM,WAAc,GAAA,CAAA,CAAA;AACnF,MAAA,IAAI,eAAe,YAAc,EAAA;AAC/B,QAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AACnB,QAAA,aAAA,CAAc,KAAQ,GAAA,CAAA,CAAA;AACtB,QAAA,OAAA;AAAA,OACF;AACA,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACrB;AAEA,IAAAC,sBAAA,CAAkB,kBAAkB,MAAM,CAAA,CAAA;AAE1C,IAAUC,aAAA,CAAA,MAAM,QAAQ,CAAA,CAAA;AAExB,IAAA,SAAS,UAAa,GAAA;AACpB,MAAM,IAAA,EAAA,CAAA;AACN,MAAA,MAAM,gBAAgB,CAAc,CAAA,EAAA,GAAA,SAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AACpC,MAAA,MAAK,aAAA,GAAA,aAAA,CAAA,KAAA,CAAA;AAAe,MAAA,IAAA,CAAA,aAAA;AACpB,QAAA,OAAkB;AAClB,MAAA,MAAA,SAAsB,GAAA,aAAA,GAAA,aAAA,GAAA,aAAA,GAAA,aAAA,GAAA,CAAA,CAAA;AAAA,MACxB,aAAA,CAAA,KAAA,GAAA,SAAA,CAAA;AAEA,KAAA;AACE,IAAM,SAAA,UAA2B,GAAA;AACjC,MAAA,IAAA,EAAM;AACN,MAAM,MAAA,OAAA,GAAA,CAAA,CAAA,EAAA,GAA0B,gBAAO,CAAe,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AACtD,MAAA,mBAA8B,GAAA,aAAA,CAAA,KAAA,CAAA;AAAe,MAAA,MAAA,aAAA,GAAA,CAAA,CAAA,EAAA,GAAA,SAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,KAAA,CAAA,CAAA;AAC7C,MAAA,IAAA,uBAA4B,GAAA,aAAA;AAG5B,QAAA,OAAA;AAAsB,MACxB,MAAA,SAAA,GAAA,OAAA,GAAA,aAAA,GAAA,aAAA,GAAA,CAAA,GAAA,aAAA,GAAA,aAAA,GAAA,OAAA,GAAA,aAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ import 'hzzt-plus/es/components/base/style/css';
2
+ import 'hzzt-plus/theme/hzzt-scroll.css';
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ require('../../base/style/css.js');
4
+ require('hzzt-plus/theme/hzzt-scroll.css');
5
+
6
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,2 @@
1
+ import 'hzzt-plus/es/components/base/style';
2
+ import 'hzzt-plus/theme/src/scroll.scss';
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ require('../../base/style/index.js');
4
+ require('hzzt-plus/theme/src/scroll.scss');
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -88,13 +88,46 @@ export declare const HzztSelectInput: import("hzzt-plus/es/utils").SFCWithInstal
88
88
  HzztTitle: import("vue").DefineComponent<{
89
89
  readonly label: StringConstructor;
90
90
  readonly sideline: import("hzzt-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
91
+ readonly size: {
92
+ readonly type: import("vue").PropType<import("hzzt-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
93
+ readonly required: false;
94
+ readonly validator: ((val: unknown) => boolean) | undefined;
95
+ __epPropKey: true;
96
+ };
91
97
  }, {
92
98
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
93
99
  readonly label: StringConstructor;
94
100
  readonly sideline: import("hzzt-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
101
+ readonly size: {
102
+ readonly type: import("vue").PropType<import("hzzt-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
103
+ readonly required: false;
104
+ readonly validator: ((val: unknown) => boolean) | undefined;
105
+ __epPropKey: true;
106
+ };
95
107
  }>> & {
96
108
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
97
109
  }>>;
110
+ formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
111
+ ns: {
112
+ namespace: import("vue").ComputedRef<string>;
113
+ b: (blockSuffix?: string) => string;
114
+ e: (element?: string | undefined) => string;
115
+ m: (modifier?: string | undefined) => string;
116
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
117
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
118
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
119
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
120
+ is: {
121
+ (name: string, state: boolean | undefined): string;
122
+ (name: string): string;
123
+ };
124
+ cssVar: (object: Record<string, string>) => Record<string, string>;
125
+ cssVarName: (name: string) => string;
126
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
127
+ cssVarBlockName: (name: string) => string;
128
+ };
129
+ trueSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
130
+ nameKls: import("vue").ComputedRef<string[]>;
98
131
  slots: Readonly<{
99
132
  [name: string]: import("vue").Slot | undefined;
100
133
  }>;
@@ -102,6 +135,12 @@ export declare const HzztSelectInput: import("hzzt-plus/es/utils").SFCWithInstal
102
135
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
103
136
  readonly label: StringConstructor;
104
137
  readonly sideline: import("hzzt-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
138
+ readonly size: {
139
+ readonly type: import("vue").PropType<import("hzzt-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
140
+ readonly required: false;
141
+ readonly validator: ((val: unknown) => boolean) | undefined;
142
+ __epPropKey: true;
143
+ };
105
144
  }>>, {
106
145
  readonly sideline: import("hzzt-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
107
146
  }>;
@@ -89,13 +89,46 @@ declare const _default: import("vue").DefineComponent<{
89
89
  HzztTitle: import("vue").DefineComponent<{
90
90
  readonly label: StringConstructor;
91
91
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
92
+ readonly size: {
93
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
94
+ readonly required: false;
95
+ readonly validator: ((val: unknown) => boolean) | undefined;
96
+ __epPropKey: true;
97
+ };
92
98
  }, {
93
99
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
94
100
  readonly label: StringConstructor;
95
101
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
102
+ readonly size: {
103
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
104
+ readonly required: false;
105
+ readonly validator: ((val: unknown) => boolean) | undefined;
106
+ __epPropKey: true;
107
+ };
96
108
  }>> & {
97
109
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
98
110
  }>>;
111
+ formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
112
+ ns: {
113
+ namespace: import("vue").ComputedRef<string>;
114
+ b: (blockSuffix?: string) => string;
115
+ e: (element?: string | undefined) => string;
116
+ m: (modifier?: string | undefined) => string;
117
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
118
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
119
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
120
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
121
+ is: {
122
+ (name: string, state: boolean | undefined): string;
123
+ (name: string): string;
124
+ };
125
+ cssVar: (object: Record<string, string>) => Record<string, string>;
126
+ cssVarName: (name: string) => string;
127
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
128
+ cssVarBlockName: (name: string) => string;
129
+ };
130
+ trueSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
131
+ nameKls: import("vue").ComputedRef<string[]>;
99
132
  slots: Readonly<{
100
133
  [name: string]: import("vue").Slot | undefined;
101
134
  }>;
@@ -103,6 +136,12 @@ declare const _default: import("vue").DefineComponent<{
103
136
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
104
137
  readonly label: StringConstructor;
105
138
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
139
+ readonly size: {
140
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
141
+ readonly required: false;
142
+ readonly validator: ((val: unknown) => boolean) | undefined;
143
+ __epPropKey: true;
144
+ };
106
145
  }>>, {
107
146
  readonly sideline: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
108
147
  }>;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var selectTextarea$1 = require('./src/select-textarea2.js');
7
- var selectTextarea = require('./src/select-textarea.js');
6
+ var selectTextarea$1 = require('./src/select-textarea.js');
7
+ var selectTextarea = require('./src/select-textarea2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const HzztSelectTextarea = install.withInstall(selectTextarea$1["default"]);
@@ -2,40 +2,109 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
5
+ var vue = require('vue');
6
+ var selectTextarea = require('./select-textarea2.js');
6
7
  require('../../../hooks/index.js');
7
- require('../../../constants/index.js');
8
- var runtime = require('../../../utils/vue/props/runtime.js');
9
- var index = require('../../../hooks/use-size/index.js');
10
- var event = require('../../../constants/event.js');
11
- var shared = require('@vue/shared');
12
- var types = require('../../../utils/types.js');
8
+ var elementPlus = require('element-plus');
9
+ var title = require('../../title/src/title2.js');
10
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
+ var index = require('../../../hooks/use-namespace/index.js');
12
+ var index$1 = require('../../../hooks/use-size/index.js');
13
+ var index$2 = require('../../../hooks/use-cursor/index.js');
13
14
 
14
- const selectTextareaProps = runtime.buildProps({
15
- size: index.useSizeProp,
16
- disabled: Boolean,
17
- label: String,
18
- data: {
19
- type: runtime.definePropType(Array),
20
- default: () => []
21
- },
22
- inputProps: Object,
23
- replace: Boolean,
24
- modelValue: {
25
- type: runtime.definePropType([
26
- String,
27
- Number
28
- ]),
29
- default: ""
15
+ const _hoisted_1 = { class: "flex column" };
16
+ const _hoisted_2 = { class: "flex align-items-center" };
17
+ const __default__ = vue.defineComponent({
18
+ name: "HzztSelectTextarea"
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
+ ...__default__,
22
+ props: selectTextarea.selectTextareaProps,
23
+ emits: selectTextarea.selectTextareaEmits,
24
+ setup(__props, { emit }) {
25
+ const props = __props;
26
+ const inputVal = vue.ref(props.modelValue);
27
+ const selectValue = vue.ref("");
28
+ const inputRef = vue.ref();
29
+ const nsInput = index.useNamespace("select-textarea");
30
+ const formSize = elementPlus.useFormSize();
31
+ const formDisabled = elementPlus.useFormDisabled();
32
+ const trueSize = vue.computed(() => props.size || formSize.value || index$1.useGlobalSize().value);
33
+ const trueDisabled = vue.computed(() => props.disabled || formDisabled.value);
34
+ const containerCls = vue.computed(() => [
35
+ nsInput.b(),
36
+ nsInput.m(trueSize.value)
37
+ ]);
38
+ const _inputProps = vue.computed(() => ({
39
+ disabled: trueDisabled.value,
40
+ clearable: true,
41
+ ...props.inputProps,
42
+ type: "textarea"
43
+ }));
44
+ vue.watch(() => props.modelValue, (v) => {
45
+ inputVal.value = v;
46
+ });
47
+ function input(val) {
48
+ emit("update:modelValue", val);
49
+ emit("input", val);
50
+ }
51
+ function change(val) {
52
+ emit("change", val);
53
+ }
54
+ function selectChange(val) {
55
+ if (!inputVal.value && inputVal.value !== 0)
56
+ inputVal.value = "";
57
+ selectValue.value = "";
58
+ let content = val;
59
+ if (!props.replace) {
60
+ const inputEl = inputRef.value.$el.getElementsByTagName("textarea")[0];
61
+ content = index$2.insertCursorPosition(inputEl, val);
62
+ }
63
+ input(content);
64
+ change(content);
65
+ emit("select", val);
66
+ }
67
+ return (_ctx, _cache) => {
68
+ return vue.openBlock(), vue.createElementBlock("div", {
69
+ class: vue.normalizeClass(vue.unref(containerCls))
70
+ }, [
71
+ vue.createElementVNode("div", _hoisted_1, [
72
+ vue.createElementVNode("div", _hoisted_2, [
73
+ vue.renderSlot(_ctx.$slots, "title", {}, () => [
74
+ vue.createVNode(title["default"], {
75
+ class: "margin-l-1",
76
+ label: _ctx.label
77
+ }, null, 8, ["label"])
78
+ ]),
79
+ !vue.unref(trueDisabled) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElSelectV2), {
80
+ key: 0,
81
+ class: "flex-1",
82
+ modelValue: selectValue.value,
83
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectValue.value = $event),
84
+ "allow-create": "",
85
+ filterable: "",
86
+ clearable: "",
87
+ onChange: selectChange,
88
+ options: _ctx.data
89
+ }, null, 8, ["modelValue", "options"])) : vue.createCommentVNode("v-if", true),
90
+ vue.renderSlot(_ctx.$slots, "right")
91
+ ]),
92
+ vue.createVNode(vue.unref(elementPlus.ElInput), vue.mergeProps({
93
+ ref_key: "inputRef",
94
+ ref: inputRef,
95
+ class: "flex-1 margin-t-1",
96
+ modelValue: inputVal.value,
97
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => inputVal.value = $event)
98
+ }, vue.unref(_inputProps), {
99
+ onInput: input,
100
+ onChange: change
101
+ }), null, 16, ["modelValue"])
102
+ ])
103
+ ], 2);
104
+ };
30
105
  }
31
106
  });
32
- const selectTextareaEmits = {
33
- [event.UPDATE_MODEL_EVENT]: (val) => shared.isString(val) || types.isNumber(val) || types.isBoolean(val),
34
- [event.CHANGE_EVENT]: (val) => shared.isString(val) || types.isNumber(val) || types.isBoolean(val),
35
- [event.INPUT_EVENT]: (val) => shared.isString(val) || types.isNumber(val) || types.isBoolean(val),
36
- select: (val) => shared.isString(val) || types.isNumber(val) || types.isBoolean(val)
37
- };
107
+ var SelectTextarea = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "select-textarea.vue"]]);
38
108
 
39
- exports.selectTextareaEmits = selectTextareaEmits;
40
- exports.selectTextareaProps = selectTextareaProps;
109
+ exports["default"] = SelectTextarea;
41
110
  //# sourceMappingURL=select-textarea.js.map