hzzt-plus 1.0.7 → 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 (156) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +557 -354
  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 +558 -356
  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/collapse/index.d.ts +161 -8
  19. package/es/components/collapse/src/collapse.vue.d.ts +161 -8
  20. package/es/components/collapse/src/collapse2.mjs +50 -29
  21. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  22. package/es/components/icon/index.mjs +4 -0
  23. package/es/components/icon/index.mjs.map +1 -1
  24. package/es/components/icon/src/components/index.d.ts +2 -0
  25. package/es/components/icon/src/components/index.mjs +3 -0
  26. package/es/components/icon/src/components/index.mjs.map +1 -0
  27. package/es/components/icon/src/components/minus-square-outline.mjs +29 -0
  28. package/es/components/icon/src/components/minus-square-outline.mjs.map +1 -0
  29. package/es/components/icon/src/components/minus-square-outline.vue.d.ts +2 -0
  30. package/es/components/icon/src/components/plus-square-outline.mjs +29 -0
  31. package/es/components/icon/src/components/plus-square-outline.mjs.map +1 -0
  32. package/es/components/icon/src/components/plus-square-outline.vue.d.ts +2 -0
  33. package/es/components/index.d.ts +1 -0
  34. package/es/components/index.mjs +3 -2
  35. package/es/components/index.mjs.map +1 -1
  36. package/es/components/pagination/index.d.ts +2 -2
  37. package/es/components/pagination/src/index.mjs +49 -21
  38. package/es/components/pagination/src/index.mjs.map +1 -1
  39. package/es/components/pagination/src/index.vue.d.ts +2 -2
  40. package/es/components/scroll/index.d.ts +5 -0
  41. package/es/components/scroll/index.mjs +9 -0
  42. package/es/components/scroll/index.mjs.map +1 -0
  43. package/es/components/scroll/src/scroll.d.ts +2 -0
  44. package/es/components/scroll/src/scroll.mjs +2 -0
  45. package/es/components/scroll/src/scroll.mjs.map +1 -0
  46. package/es/components/scroll/src/scroll.vue.d.ts +147 -0
  47. package/es/components/scroll/src/scroll2.mjs +88 -0
  48. package/es/components/scroll/src/scroll2.mjs.map +1 -0
  49. package/es/components/scroll/style/css.d.ts +2 -0
  50. package/es/components/scroll/style/css.mjs +3 -0
  51. package/es/components/scroll/style/css.mjs.map +1 -0
  52. package/es/components/scroll/style/index.d.ts +2 -0
  53. package/es/components/scroll/style/index.mjs +3 -0
  54. package/es/components/scroll/style/index.mjs.map +1 -0
  55. package/es/components/select-input/index.d.ts +39 -0
  56. package/es/components/select-input/index.mjs +2 -2
  57. package/es/components/select-input/src/select-input.mjs +45 -124
  58. package/es/components/select-input/src/select-input.mjs.map +1 -1
  59. package/es/components/select-input/src/select-input.vue.d.ts +39 -0
  60. package/es/components/select-input/src/select-input2.mjs +124 -45
  61. package/es/components/select-input/src/select-input2.mjs.map +1 -1
  62. package/es/components/select-textarea/index.mjs +2 -2
  63. package/es/components/select-textarea/src/select-textarea.mjs +100 -30
  64. package/es/components/select-textarea/src/select-textarea.mjs.map +1 -1
  65. package/es/components/select-textarea/src/select-textarea.vue.d.ts +39 -0
  66. package/es/components/select-textarea/src/select-textarea2.mjs +30 -100
  67. package/es/components/select-textarea/src/select-textarea2.mjs.map +1 -1
  68. package/es/components/title/src/title.d.ts +6 -0
  69. package/es/components/title/src/title.mjs +4 -1
  70. package/es/components/title/src/title.mjs.map +1 -1
  71. package/es/components/title/src/title.vue.d.ts +39 -0
  72. package/es/components/title/src/title2.mjs +28 -12
  73. package/es/components/title/src/title2.mjs.map +1 -1
  74. package/es/index.mjs +3 -2
  75. package/es/index.mjs.map +1 -1
  76. package/es/version.d.ts +1 -1
  77. package/es/version.mjs +1 -1
  78. package/es/version.mjs.map +1 -1
  79. package/global.d.ts +1 -0
  80. package/lib/component.js +3 -1
  81. package/lib/component.js.map +1 -1
  82. package/lib/components/collapse/index.d.ts +161 -8
  83. package/lib/components/collapse/src/collapse.vue.d.ts +161 -8
  84. package/lib/components/collapse/src/collapse2.js +49 -28
  85. package/lib/components/collapse/src/collapse2.js.map +1 -1
  86. package/lib/components/icon/index.js +4 -0
  87. package/lib/components/icon/index.js.map +1 -1
  88. package/lib/components/icon/src/components/index.d.ts +2 -0
  89. package/lib/components/icon/src/components/index.js +12 -0
  90. package/lib/components/icon/src/components/index.js.map +1 -0
  91. package/lib/components/icon/src/components/minus-square-outline.js +33 -0
  92. package/lib/components/icon/src/components/minus-square-outline.js.map +1 -0
  93. package/lib/components/icon/src/components/minus-square-outline.vue.d.ts +2 -0
  94. package/lib/components/icon/src/components/plus-square-outline.js +33 -0
  95. package/lib/components/icon/src/components/plus-square-outline.js.map +1 -0
  96. package/lib/components/icon/src/components/plus-square-outline.vue.d.ts +2 -0
  97. package/lib/components/index.d.ts +1 -0
  98. package/lib/components/index.js +4 -2
  99. package/lib/components/index.js.map +1 -1
  100. package/lib/components/pagination/index.d.ts +2 -2
  101. package/lib/components/pagination/src/index.js +48 -20
  102. package/lib/components/pagination/src/index.js.map +1 -1
  103. package/lib/components/pagination/src/index.vue.d.ts +2 -2
  104. package/lib/components/scroll/index.d.ts +5 -0
  105. package/lib/components/scroll/index.js +14 -0
  106. package/lib/components/scroll/index.js.map +1 -0
  107. package/lib/components/scroll/src/scroll.d.ts +2 -0
  108. package/lib/components/scroll/src/scroll.js +3 -0
  109. package/lib/components/scroll/src/scroll.js.map +1 -0
  110. package/lib/components/scroll/src/scroll.vue.d.ts +147 -0
  111. package/lib/components/scroll/src/scroll2.js +92 -0
  112. package/lib/components/scroll/src/scroll2.js.map +1 -0
  113. package/lib/components/scroll/style/css.d.ts +2 -0
  114. package/lib/components/scroll/style/css.js +6 -0
  115. package/lib/components/scroll/style/css.js.map +1 -0
  116. package/lib/components/scroll/style/index.d.ts +2 -0
  117. package/lib/components/scroll/style/index.js +6 -0
  118. package/lib/components/scroll/style/index.js.map +1 -0
  119. package/lib/components/select-input/index.d.ts +39 -0
  120. package/lib/components/select-input/index.js +2 -2
  121. package/lib/components/select-input/src/select-input.js +46 -124
  122. package/lib/components/select-input/src/select-input.js.map +1 -1
  123. package/lib/components/select-input/src/select-input.vue.d.ts +39 -0
  124. package/lib/components/select-input/src/select-input2.js +124 -46
  125. package/lib/components/select-input/src/select-input2.js.map +1 -1
  126. package/lib/components/select-textarea/index.js +2 -2
  127. package/lib/components/select-textarea/src/select-textarea.js +100 -31
  128. package/lib/components/select-textarea/src/select-textarea.js.map +1 -1
  129. package/lib/components/select-textarea/src/select-textarea.vue.d.ts +39 -0
  130. package/lib/components/select-textarea/src/select-textarea2.js +31 -100
  131. package/lib/components/select-textarea/src/select-textarea2.js.map +1 -1
  132. package/lib/components/title/src/title.d.ts +6 -0
  133. package/lib/components/title/src/title.js +4 -1
  134. package/lib/components/title/src/title.js.map +1 -1
  135. package/lib/components/title/src/title.vue.d.ts +39 -0
  136. package/lib/components/title/src/title2.js +27 -11
  137. package/lib/components/title/src/title2.js.map +1 -1
  138. package/lib/index.js +34 -32
  139. package/lib/index.js.map +1 -1
  140. package/lib/version.d.ts +1 -1
  141. package/lib/version.js +1 -1
  142. package/lib/version.js.map +1 -1
  143. package/package.json +1 -1
  144. package/theme/hzzt-collapse.css +1 -1
  145. package/theme/hzzt-pagination.css +1 -1
  146. package/theme/hzzt-scan.css +1 -1
  147. package/theme/hzzt-scroll.css +1 -0
  148. package/theme/hzzt-title.css +1 -1
  149. package/theme/index.css +1 -1
  150. package/theme/src/collapse.scss +45 -39
  151. package/theme/src/index.scss +1 -0
  152. package/theme/src/pagination.scss +24 -6
  153. package/theme/src/scan.scss +3 -3
  154. package/theme/src/scroll.scss +42 -0
  155. package/theme/src/title.scss +14 -5
  156. package/web-types.json +1 -1
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"select-textarea.js","sources":["../../../../../../packages/components/select-textarea/src/select-textarea.ts"],"sourcesContent":["import {buildProps, definePropType, isString, isNumber, isBoolean} from '@hzzt-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type SelectTextarea from './select-textarea.vue'\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\nimport {OptionType} from \"@hzzt-plus/components\";\nimport {CHANGE_EVENT, INPUT_EVENT, UPDATE_MODEL_EVENT} from \"@hzzt-plus/constants\";\n\nexport const selectTextareaProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n label: String,\n data: {\n type: definePropType<OptionType[]>(Array),\n default: () => [],\n },\n inputProps: Object,\n replace: Boolean,\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n ]),\n default: '',\n },\n})\n\nexport type SelectTextareaProps = ExtractPropTypes<typeof selectTextareaProps>\n\nexport const selectTextareaEmits = {\n [UPDATE_MODEL_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n [CHANGE_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n [INPUT_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n select: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\nexport type SelectTextareaEmits = typeof selectTextareaEmits\n\nexport type SelectTextareaInstance = InstanceType<typeof SelectTextarea>\n"],"names":["buildProps","useSizeProp","definePropType","UPDATE_MODEL_EVENT","isString","isNumber","isBoolean","CHANGE_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;;;;AAGY,MAAC,mBAAmB,GAAGA,kBAAU,CAAC;AAC9C,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,mBAAmB,GAAG;AACnC,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AACjF,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,KAAKH,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AAC3E,EAAE,CAACE,iBAAW,GAAG,CAAC,GAAG,KAAKJ,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AAC1E,EAAE,MAAM,EAAE,CAAC,GAAG,KAAKF,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AACnE;;;;;"}
1
+ {"version":3,"file":"select-textarea.js","sources":["../../../../../../packages/components/select-textarea/src/select-textarea.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\">\n <div class=\"flex column\">\n <div class=\"flex align-items-center\">\n <slot name=\"title\">\n <hzzt-title class=\"margin-l-1\" :label=\"label\"></hzzt-title>\n </slot>\n <el-select-v2 class=\"flex-1\" v-model=\"selectValue\" allow-create filterable clearable @change=\"selectChange\"\n v-if=\"!trueDisabled\" :options=\"data\"></el-select-v2>\n <slot name=\"right\"></slot>\n </div>\n <el-input ref=\"inputRef\" class=\"flex-1 margin-t-1\" v-model=\"inputVal\" v-bind=\"_inputProps\"\n @input=\"input\"\n @change=\"change\"></el-input>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {selectTextareaProps, selectTextareaEmits} from './select-textarea'\n import {computed, ref, watch} from \"vue\";\n import {useGlobalSize, useNamespace, insertCursorPosition} from \"@hzzt-plus/hooks\";\n import {useFormDisabled, useFormSize} from \"element-plus\";\n import HzztTitle from \"@hzzt-plus/components/title/src/title.vue\";\n import {ElInput, ElSelectV2} from 'element-plus'\n\n defineOptions({\n name: 'HzztSelectTextarea',\n })\n\n const props = defineProps(selectTextareaProps)\n const emit = defineEmits(selectTextareaEmits)\n\n const inputVal = ref(props.modelValue);\n const selectValue = ref('');\n const inputRef = ref();\n\n const nsInput = useNamespace('select-textarea')\n const formSize = useFormSize()\n const formDisabled = useFormDisabled()\n\n const trueSize = computed(\n () => props.size || formSize.value || useGlobalSize().value\n )\n\n const trueDisabled = computed(() => props.disabled || formDisabled.value)\n\n const containerCls = computed(() => [\n nsInput.b(),\n nsInput.m(trueSize.value),\n ])\n\n const _inputProps = computed(() => ({\n disabled: trueDisabled.value,\n clearable: true,\n ...props.inputProps,\n type: 'textarea',\n }))\n\n watch(() => props.modelValue, (v) => {\n inputVal.value = v;\n })\n\n function input(val: string) {\n emit('update:modelValue', val);\n emit('input', val);\n }\n\n function change(val: string) {\n emit('change', val);\n }\n\n function selectChange(val: string) {\n if (!inputVal.value && inputVal.value !== 0) inputVal.value = '';\n selectValue.value = '';\n let content = val;\n if (!props.replace) {\n const inputEl = inputRef.value.$el.getElementsByTagName('textarea')[0];\n content = insertCursorPosition(inputEl, val);\n }\n input(content);\n change(content);\n emit('select', val);\n }\n\n\n</script>\n"],"names":["ref","useNamespace","useFormSize","useFormDisabled","computed","useGlobalSize","watch","insertCursorPosition","_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;uCA0BgB,CAAA;AAAA,EACZ,IAAM,EAAA,oBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,QAAA,GAAWA,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACrC,IAAM,MAAA,WAAA,GAAcA,QAAI,EAAE,CAAA,CAAA;AAC1B,IAAA,MAAM,WAAWA,OAAI,EAAA,CAAA;AAErB,IAAM,MAAA,OAAA,GAAUC,mBAAa,iBAAiB,CAAA,CAAA;AAC9C,IAAA,MAAM,WAAWC,uBAAY,EAAA,CAAA;AAC7B,IAAA,MAAM,eAAeC,2BAAgB,EAAA,CAAA;AAErC,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,QAAA,CAAA,KAAA,IAAAC,qBAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAAA,kBACH,GAAAD,YAAiB,CAAA,MAAA,kBAAuB,YAAE,CAAA,KAAA,CAAA,CAAA;AAAA,IACxD,MAAA,YAAA,GAAAA,YAAA,CAAA,MAAA;AAEA,MAAA;AAEA,MAAM,OAAA,CAAA,CAAA,CAAA,QAAA,CAAe;AAAe,KAAA,CAClC;AAAU,IACV,MAAA,WAAU,GAAAA,YAAc,CAAA,OAAA;AAAA,MACzB,QAAA,EAAA,YAAA,CAAA,KAAA;AAED,MAAM,SAAA,EAAA,IAAA;AAA8B,MAClC,mBAAuB;AAAA,MACvB,IAAW,EAAA,UAAA;AAAA,KAAA,CACX;AAAS,IAAAE,SACH,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,CAAA,CAAA,KAAA;AAAA,MACN,QAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AAEF,KAAA,CAAA,CAAA;AACE,IAAA,SAAA,KAAiB,CAAA,GAAA,EAAA;AAAA,MAClB,IAAA,CAAA,mBAAA,EAAA,GAAA,CAAA,CAAA;AAED,MAAA,IAAA,CAAA,SAA4B,GAAA,CAAA,CAAA;AAC1B,KAAA;AACA,IAAA,gBAAc,GAAG,EAAA;AAAA,MACnB,IAAA,CAAA,QAAA,EAAA,GAAA,CAAA,CAAA;AAEA,KAAA;AACE,IAAA,qBAAkB,CAAA,GAAA,EAAA;AAAA,MACpB,IAAA,CAAA,QAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,KAAA,CAAA;AAEA,QAAA,mBAAmC,CAAA;AACjC,MAAA,WAAK,CAAA,KAAkB,GAAA,EAAA,CAAA;AAAsB,MAAA,IAAA,OAAS,GAAQ,GAAA,CAAA;AAC9D,MAAA,IAAA,CAAA,KAAA,CAAA,OAAoB,EAAA;AACpB,QAAA,MAAc,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,oBAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,QAAI,UAAgBC,4BAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA;AAClB,OAAA;AACA,MAAU,KAAA,CAAA,OAAA,CAAA,CAAA;AAAiC,MAC7C,MAAA,CAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAa,EAAA,GAAA,CAAA,CAAA;AACb,KAAA;AACA,IAAA,OAAK,aAAa,KAAA;AAAA,MACpB,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -69,13 +69,46 @@ declare const _default: import("vue").DefineComponent<{
69
69
  HzztTitle: import("vue").DefineComponent<{
70
70
  readonly label: StringConstructor;
71
71
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
72
+ readonly size: {
73
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
74
+ readonly required: false;
75
+ readonly validator: ((val: unknown) => boolean) | undefined;
76
+ __epPropKey: true;
77
+ };
72
78
  }, {
73
79
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
74
80
  readonly label: StringConstructor;
75
81
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
82
+ readonly size: {
83
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
84
+ readonly required: false;
85
+ readonly validator: ((val: unknown) => boolean) | undefined;
86
+ __epPropKey: true;
87
+ };
76
88
  }>> & {
77
89
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
78
90
  }>>;
91
+ formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
92
+ ns: {
93
+ namespace: import("vue").ComputedRef<string>;
94
+ b: (blockSuffix?: string) => string;
95
+ e: (element?: string | undefined) => string;
96
+ m: (modifier?: string | undefined) => string;
97
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
98
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
99
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
100
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
101
+ is: {
102
+ (name: string, state: boolean | undefined): string;
103
+ (name: string): string;
104
+ };
105
+ cssVar: (object: Record<string, string>) => Record<string, string>;
106
+ cssVarName: (name: string) => string;
107
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
108
+ cssVarBlockName: (name: string) => string;
109
+ };
110
+ trueSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
111
+ nameKls: import("vue").ComputedRef<string[]>;
79
112
  slots: Readonly<{
80
113
  [name: string]: import("vue").Slot | undefined;
81
114
  }>;
@@ -83,6 +116,12 @@ declare const _default: import("vue").DefineComponent<{
83
116
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
84
117
  readonly label: StringConstructor;
85
118
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
119
+ readonly size: {
120
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
121
+ readonly required: false;
122
+ readonly validator: ((val: unknown) => boolean) | undefined;
123
+ __epPropKey: true;
124
+ };
86
125
  }>>, {
87
126
  readonly sideline: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
88
127
  }>;
@@ -2,109 +2,40 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var selectTextarea = require('./select-textarea.js');
5
+ require('../../../utils/index.js');
7
6
  require('../../../hooks/index.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');
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');
14
13
 
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
- };
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: ""
105
30
  }
106
31
  });
107
- var SelectTextarea = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "select-textarea.vue"]]);
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
+ };
108
38
 
109
- exports["default"] = SelectTextarea;
39
+ exports.selectTextareaEmits = selectTextareaEmits;
40
+ exports.selectTextareaProps = selectTextareaProps;
110
41
  //# sourceMappingURL=select-textarea2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-textarea2.js","sources":["../../../../../../packages/components/select-textarea/src/select-textarea.vue"],"sourcesContent":["<template>\n <div :class=\"containerCls\">\n <div class=\"flex column\">\n <div class=\"flex align-items-center\">\n <slot name=\"title\">\n <hzzt-title class=\"margin-l-1\" :label=\"label\"></hzzt-title>\n </slot>\n <el-select-v2 class=\"flex-1\" v-model=\"selectValue\" allow-create filterable clearable @change=\"selectChange\"\n v-if=\"!trueDisabled\" :options=\"data\"></el-select-v2>\n <slot name=\"right\"></slot>\n </div>\n <el-input ref=\"inputRef\" class=\"flex-1 margin-t-1\" v-model=\"inputVal\" v-bind=\"_inputProps\"\n @input=\"input\"\n @change=\"change\"></el-input>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import {selectTextareaProps, selectTextareaEmits} from './select-textarea'\n import {computed, ref, watch} from \"vue\";\n import {useGlobalSize, useNamespace, insertCursorPosition} from \"@hzzt-plus/hooks\";\n import {useFormDisabled, useFormSize} from \"element-plus\";\n import HzztTitle from \"@hzzt-plus/components/title/src/title.vue\";\n import {ElInput, ElSelectV2} from 'element-plus'\n\n defineOptions({\n name: 'HzztSelectTextarea',\n })\n\n const props = defineProps(selectTextareaProps)\n const emit = defineEmits(selectTextareaEmits)\n\n const inputVal = ref(props.modelValue);\n const selectValue = ref('');\n const inputRef = ref();\n\n const nsInput = useNamespace('select-textarea')\n const formSize = useFormSize()\n const formDisabled = useFormDisabled()\n\n const trueSize = computed(\n () => props.size || formSize.value || useGlobalSize().value\n )\n\n const trueDisabled = computed(() => props.disabled || formDisabled.value)\n\n const containerCls = computed(() => [\n nsInput.b(),\n nsInput.m(trueSize.value),\n ])\n\n const _inputProps = computed(() => ({\n disabled: trueDisabled.value,\n clearable: true,\n ...props.inputProps,\n type: 'textarea',\n }))\n\n watch(() => props.modelValue, (v) => {\n inputVal.value = v;\n })\n\n function input(val: string) {\n emit('update:modelValue', val);\n emit('input', val);\n }\n\n function change(val: string) {\n emit('change', val);\n }\n\n function selectChange(val: string) {\n if (!inputVal.value && inputVal.value !== 0) inputVal.value = '';\n selectValue.value = '';\n let content = val;\n if (!props.replace) {\n const inputEl = inputRef.value.$el.getElementsByTagName('textarea')[0];\n content = insertCursorPosition(inputEl, val);\n }\n input(content);\n change(content);\n emit('select', val);\n }\n\n\n</script>\n"],"names":["ref","useNamespace","useFormSize","useFormDisabled","computed","useGlobalSize","watch","insertCursorPosition","_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;uCA0BgB,CAAA;AAAA,EACZ,IAAM,EAAA,oBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAM,MAAA,QAAA,GAAWA,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACrC,IAAM,MAAA,WAAA,GAAcA,QAAI,EAAE,CAAA,CAAA;AAC1B,IAAA,MAAM,WAAWA,OAAI,EAAA,CAAA;AAErB,IAAM,MAAA,OAAA,GAAUC,mBAAa,iBAAiB,CAAA,CAAA;AAC9C,IAAA,MAAM,WAAWC,uBAAY,EAAA,CAAA;AAC7B,IAAA,MAAM,eAAeC,2BAAgB,EAAA,CAAA;AAErC,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,QAAA,CAAA,KAAA,IAAAC,qBAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAAA,kBACH,GAAAD,YAAiB,CAAA,MAAA,kBAAuB,YAAE,CAAA,KAAA,CAAA,CAAA;AAAA,IACxD,MAAA,YAAA,GAAAA,YAAA,CAAA,MAAA;AAEA,MAAA;AAEA,MAAM,OAAA,CAAA,CAAA,CAAA,QAAA,CAAe;AAAe,KAAA,CAClC;AAAU,IACV,MAAA,WAAU,GAAAA,YAAc,CAAA,OAAA;AAAA,MACzB,QAAA,EAAA,YAAA,CAAA,KAAA;AAED,MAAM,SAAA,EAAA,IAAA;AAA8B,MAClC,mBAAuB;AAAA,MACvB,IAAW,EAAA,UAAA;AAAA,KAAA,CACX;AAAS,IAAAE,SACH,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,CAAA,CAAA,KAAA;AAAA,MACN,QAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AAEF,KAAA,CAAA,CAAA;AACE,IAAA,SAAA,KAAiB,CAAA,GAAA,EAAA;AAAA,MAClB,IAAA,CAAA,mBAAA,EAAA,GAAA,CAAA,CAAA;AAED,MAAA,IAAA,CAAA,SAA4B,GAAA,CAAA,CAAA;AAC1B,KAAA;AACA,IAAA,gBAAc,GAAG,EAAA;AAAA,MACnB,IAAA,CAAA,QAAA,EAAA,GAAA,CAAA,CAAA;AAEA,KAAA;AACE,IAAA,qBAAkB,CAAA,GAAA,EAAA;AAAA,MACpB,IAAA,CAAA,QAAA,CAAA,KAAA,IAAA,QAAA,CAAA,KAAA,KAAA,CAAA;AAEA,QAAA,mBAAmC,CAAA;AACjC,MAAA,WAAK,CAAA,KAAkB,GAAA,EAAA,CAAA;AAAsB,MAAA,IAAA,OAAS,GAAQ,GAAA,CAAA;AAC9D,MAAA,IAAA,CAAA,KAAA,CAAA,OAAoB,EAAA;AACpB,QAAA,MAAc,OAAA,GAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,oBAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,QAAI,UAAgBC,4BAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA;AAClB,OAAA;AACA,MAAU,KAAA,CAAA,OAAA,CAAA,CAAA;AAAiC,MAC7C,MAAA,CAAA,OAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,QAAa,EAAA,GAAA,CAAA,CAAA;AACb,KAAA;AACA,IAAA,OAAK,aAAa,KAAA;AAAA,MACpB,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"select-textarea2.js","sources":["../../../../../../packages/components/select-textarea/src/select-textarea.ts"],"sourcesContent":["import {buildProps, definePropType, isString, isNumber, isBoolean} from '@hzzt-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type SelectTextarea from './select-textarea.vue'\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\nimport {OptionType} from \"@hzzt-plus/components\";\nimport {CHANGE_EVENT, INPUT_EVENT, UPDATE_MODEL_EVENT} from \"@hzzt-plus/constants\";\n\nexport const selectTextareaProps = buildProps({\n size: useSizeProp,\n disabled: Boolean,\n label: String,\n data: {\n type: definePropType<OptionType[]>(Array),\n default: () => [],\n },\n inputProps: Object,\n replace: Boolean,\n modelValue: {\n type: definePropType<string | number | null | undefined>([\n String,\n Number,\n ]),\n default: '',\n },\n})\n\nexport type SelectTextareaProps = ExtractPropTypes<typeof selectTextareaProps>\n\nexport const selectTextareaEmits = {\n [UPDATE_MODEL_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n [CHANGE_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n [INPUT_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n select: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\nexport type SelectTextareaEmits = typeof selectTextareaEmits\n\nexport type SelectTextareaInstance = InstanceType<typeof SelectTextarea>\n"],"names":["buildProps","useSizeProp","definePropType","UPDATE_MODEL_EVENT","isString","isNumber","isBoolean","CHANGE_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;;;;AAGY,MAAC,mBAAmB,GAAGA,kBAAU,CAAC;AAC9C,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,mBAAmB,GAAG;AACnC,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AACjF,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,KAAKH,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AAC3E,EAAE,CAACE,iBAAW,GAAG,CAAC,GAAG,KAAKJ,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AAC1E,EAAE,MAAM,EAAE,CAAC,GAAG,KAAKF,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC,IAAIC,eAAS,CAAC,GAAG,CAAC;AACnE;;;;;"}
@@ -3,6 +3,12 @@ import type Title from './title.vue';
3
3
  export declare const titleProps: {
4
4
  readonly label: StringConstructor;
5
5
  readonly sideline: import("hzzt-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
6
+ readonly size: {
7
+ readonly type: import("vue").PropType<import("hzzt-plus/es/utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
8
+ readonly required: false;
9
+ readonly validator: ((val: unknown) => boolean) | undefined;
10
+ __epPropKey: true;
11
+ };
6
12
  };
7
13
  export declare type TitleProps = ExtractPropTypes<typeof titleProps>;
8
14
  export declare type TitleInstance = InstanceType<typeof Title>;
@@ -3,14 +3,17 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../../utils/index.js');
6
+ require('../../../hooks/index.js');
6
7
  var runtime = require('../../../utils/vue/props/runtime.js');
8
+ var index = require('../../../hooks/use-size/index.js');
7
9
 
8
10
  const titleProps = runtime.buildProps({
9
11
  label: String,
10
12
  sideline: {
11
13
  type: Boolean,
12
14
  default: true
13
- }
15
+ },
16
+ size: index.useSizeProp
14
17
  });
15
18
 
16
19
  exports.titleProps = titleProps;
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sources":["../../../../../../packages/components/title/src/title.ts"],"sourcesContent":["import { buildProps } from '@hzzt-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Title from './title.vue'\n\nexport const titleProps = buildProps({\n label: String,\n sideline: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type TitleProps = ExtractPropTypes<typeof titleProps>\n\nexport type TitleInstance = InstanceType<typeof Title>\n"],"names":["buildProps"],"mappings":";;;;;;;AACY,MAAC,UAAU,GAAGA,kBAAU,CAAC;AACrC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"title.js","sources":["../../../../../../packages/components/title/src/title.ts"],"sourcesContent":["import { buildProps } from '@hzzt-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Title from './title.vue'\nimport {useSizeProp} from \"@hzzt-plus/hooks\";\n\nexport const titleProps = buildProps({\n label: String,\n sideline: {\n type: Boolean,\n default: true,\n },\n size: useSizeProp,\n} as const)\nexport type TitleProps = ExtractPropTypes<typeof titleProps>\n\nexport type TitleInstance = InstanceType<typeof Title>\n"],"names":["buildProps","useSizeProp"],"mappings":";;;;;;;;;AAEY,MAAC,UAAU,GAAGA,kBAAU,CAAC;AACrC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,CAAC;;;;"}
@@ -1,13 +1,46 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
2
  readonly label: StringConstructor;
3
3
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
4
+ readonly size: {
5
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
6
+ readonly required: false;
7
+ readonly validator: ((val: unknown) => boolean) | undefined;
8
+ __epPropKey: true;
9
+ };
4
10
  }, {
5
11
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
6
12
  readonly label: StringConstructor;
7
13
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
14
+ readonly size: {
15
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
16
+ readonly required: false;
17
+ readonly validator: ((val: unknown) => boolean) | undefined;
18
+ __epPropKey: true;
19
+ };
8
20
  }>> & {
9
21
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
10
22
  }>>;
23
+ formSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
24
+ ns: {
25
+ namespace: import("vue").ComputedRef<string>;
26
+ b: (blockSuffix?: string) => string;
27
+ e: (element?: string | undefined) => string;
28
+ m: (modifier?: string | undefined) => string;
29
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
30
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
31
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
32
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
33
+ is: {
34
+ (name: string, state: boolean | undefined): string;
35
+ (name: string): string;
36
+ };
37
+ cssVar: (object: Record<string, string>) => Record<string, string>;
38
+ cssVarName: (name: string) => string;
39
+ cssVarBlock: (object: Record<string, string>) => Record<string, string>;
40
+ cssVarBlockName: (name: string) => string;
41
+ };
42
+ trueSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
43
+ nameKls: import("vue").ComputedRef<string[]>;
11
44
  slots: Readonly<{
12
45
  [name: string]: import("vue").Slot | undefined;
13
46
  }>;
@@ -15,6 +48,12 @@ declare const _default: import("vue").DefineComponent<{
15
48
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
49
  readonly label: StringConstructor;
17
50
  readonly sideline: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
51
+ readonly size: {
52
+ readonly type: import("vue").PropType<import("../../../utils").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
53
+ readonly required: false;
54
+ readonly validator: ((val: unknown) => boolean) | undefined;
55
+ __epPropKey: true;
56
+ };
18
57
  }>>, {
19
58
  readonly sideline: import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
20
59
  }>;
@@ -4,17 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var title = require('./title.js');
7
+ require('../../../hooks/index.js');
8
+ var elementPlus = require('element-plus');
7
9
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
11
+ var index$1 = require('../../../hooks/use-size/index.js');
8
12
 
9
13
  const _hoisted_1 = {
10
14
  key: 0,
11
- class: "hzzt-title flex align-items-center"
15
+ class: "hzzt-title flex align-items-center justify-content-between"
12
16
  };
13
- const _hoisted_2 = {
17
+ const _hoisted_2 = { class: "flex align-items-center" };
18
+ const _hoisted_3 = {
14
19
  key: 0,
15
- class: "decorative-line"
20
+ class: "hzzt-title__line"
16
21
  };
17
- const _hoisted_3 = { class: "label-name" };
18
22
  const __default__ = vue.defineComponent({
19
23
  name: "HzztTitle"
20
24
  });
@@ -23,6 +27,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
27
  props: title.titleProps,
24
28
  setup(__props) {
25
29
  const props = __props;
30
+ const formSize = elementPlus.useFormSize();
31
+ const ns = index.useNamespace("title");
32
+ const trueSize = vue.computed(() => props.size || formSize.value || index$1.useGlobalSize().value);
33
+ const nameKls = vue.computed(() => {
34
+ return [ns.e("name"), ns.em("name", trueSize.value)];
35
+ });
26
36
  const slots = vue.useSlots();
27
37
  const showLabel = vue.computed(() => {
28
38
  var _a, _b, _c;
@@ -30,13 +40,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
30
40
  });
31
41
  return (_ctx, _cache) => {
32
42
  return vue.unref(showLabel) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
33
- _ctx.sideline ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2)) : vue.createCommentVNode("v-if", true),
34
- vue.renderSlot(_ctx.$slots, "before"),
35
- vue.createElementVNode("label", _hoisted_3, [
36
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
37
- vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
38
- ])
39
- ])
43
+ vue.createElementVNode("div", _hoisted_2, [
44
+ _ctx.sideline ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3)) : vue.createCommentVNode("v-if", true),
45
+ vue.renderSlot(_ctx.$slots, "before"),
46
+ vue.createElementVNode("label", {
47
+ class: vue.normalizeClass(vue.unref(nameKls))
48
+ }, [
49
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
50
+ vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
51
+ ])
52
+ ], 2),
53
+ vue.renderSlot(_ctx.$slots, "after")
54
+ ]),
55
+ vue.renderSlot(_ctx.$slots, "right")
40
56
  ])) : vue.createCommentVNode("v-if", true);
41
57
  };
42
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"title2.js","sources":["../../../../../../packages/components/title/src/title.vue"],"sourcesContent":["<template>\n <div v-if=\"showLabel\" class=\"hzzt-title flex align-items-center\">\n <span v-if=\"sideline\" class=\"decorative-line\" />\n <slot name=\"before\" />\n <label class=\"label-name\">\n <slot>{{ label }}</slot>\n </label>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { titleProps } from './title'\n\ndefineOptions({\n name: 'HzztTitle',\n})\n\nconst props = defineProps(titleProps)\n\nconst slots = useSlots()\n\nconst showLabel = computed(\n () => props.label || slots?.default?.()?.[0]?.children\n)\n</script>\n"],"names":["useSlots","computed"],"mappings":";;;;;;;;;;;;;;;;;uCAcc,CAAA;AAAA,EACZ,IAAM,EAAA,WAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,SAAY,GAAAC,YAAA,CAAA,MAAA;AAAA,MAChB,MAAM,EAAM,EAAA,EAAA,EAAA,CAAA;AAAkC,MAChD,OAAA,KAAA,CAAA,KAAA,KAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"title2.js","sources":["../../../../../../packages/components/title/src/title.vue"],"sourcesContent":["<template>\n <div v-if=\"showLabel\" class=\"hzzt-title flex align-items-center justify-content-between\">\n <div class=\"flex align-items-center\">\n <span v-if=\"sideline\" class=\"hzzt-title__line\" />\n <slot name=\"before\" />\n <label :class=\"nameKls\">\n <slot>{{ label }}</slot>\n </label>\n <slot name=\"after\" />\n </div>\n\n <slot name=\"right\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue'\nimport { titleProps } from './title'\nimport {useGlobalSize, useNamespace} from \"@hzzt-plus/hooks\";\nimport { useFormSize } from 'element-plus'\n\ndefineOptions({\n name: 'HzztTitle',\n})\n\nconst props = defineProps(titleProps)\n\nconst formSize = useFormSize()\n\nconst ns = useNamespace('title')\n\nconst trueSize = computed(\n () => props.size || formSize.value || useGlobalSize().value\n)\n\nconst nameKls = computed(() => {\n return [ns.e('name'), ns.em('name', trueSize.value)]\n})\n\nconst slots = useSlots()\n\nconst showLabel = computed(\n () => props.label || slots?.default?.()?.[0]?.children\n)\n</script>\n"],"names":["useFormSize","useNamespace","computed","useGlobalSize","useSlots"],"mappings":";;;;;;;;;;;;;;;;;;;;;uCAqBc,CAAA;AAAA,EACZ,IAAM,EAAA,WAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAA,MAAM,WAAWA,uBAAY,EAAA,CAAA;AAE7B,IAAM,MAAA,EAAA,GAAKC,mBAAa,OAAO,CAAA,CAAA;AAE/B,IAAA,MAAM,QAAW,GAAAC,YAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,QAAA,CAAA,KAAA,IAAAC,qBAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,IAAA,aACH,GAAAD,YAAiB,CAAA,MAAA;AAAyB,MACxD,OAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,KAAM,CAAA,CAAA;AACJ,IAAO,MAAA,KAAI,GAAAE,YAAQ,EAAG;AAA6B,IACrD,MAAC,SAAA,GAAAF,YAAA,CAAA,MAAA;AAED,MAAA,IAAM,QAAQ,EAAS,CAAA;AAEvB,MAAA,OAAkB,KAAA,CAAA,KAAA,KAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,CAAA;AAAA,KAAA,CAChB;AAA8C,IAChD,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;"}