@touchvue/ui 1.0.0-beta.53 → 1.0.0-beta.55

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 (222) hide show
  1. package/es/components/calendar/src/calendar.d.ts +8 -1
  2. package/es/components/calendar/src/calendar.vue.d.ts +9 -0
  3. package/es/components/cascader/src/cascader-item.vue.d.ts +5 -1
  4. package/es/components/cascader/src/cascader.vue.d.ts +0 -7
  5. package/es/components/datepicker/src/DatePicker.vue.d.ts +9 -0
  6. package/es/components/datepicker/src/Picker.vue.d.ts +9 -0
  7. package/es/components/datepicker/src/date-picker.d.ts +1 -1
  8. package/es/components/datepicker/src/use-date-picker.d.ts +1 -0
  9. package/es/components/float/index.d.ts +15 -0
  10. package/es/components/float/src/Float.vue.d.ts +9 -0
  11. package/es/components/float/src/float.d.ts +4 -0
  12. package/es/components/icon/src/icon.vue.d.ts +2 -0
  13. package/es/components/input/src/input.vue.d.ts +2 -2
  14. package/es/components/rate/src/rate.vue.d.ts +46 -10
  15. package/es/components/select/src/select.d.ts +18 -0
  16. package/es/components/select/src/select.vue.d.ts +18 -0
  17. package/es/components/tab/src/tab-item.vue.d.ts +2 -0
  18. package/es/components/timeline/src/timeline.vue.d.ts +5 -0
  19. package/es/components/tip/src/tip.vue.d.ts +2 -2
  20. package/es/directives/index.d.ts +2 -1
  21. package/es/directives/press/index.d.ts +2 -0
  22. package/es/directives/press/src/press.d.ts +20 -0
  23. package/es/index.d.mjs +1 -0
  24. package/es/index.d.mjs.map +1 -1
  25. package/es/index.mjs +3 -1
  26. package/es/index.mjs.map +1 -1
  27. package/es/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.mjs +2425 -0
  28. package/es/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
  29. package/es/packages/components/calendar/src/calendar.mjs +7 -0
  30. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  31. package/es/packages/components/calendar/src/calendar.vue2.mjs +31 -38
  32. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  33. package/es/packages/components/cascader/src/cascader-item.vue2.mjs +36 -84
  34. package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
  35. package/es/packages/components/cascader/src/cascader.vue2.mjs +86 -28
  36. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  37. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +2 -3
  38. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  39. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +9 -3
  40. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  41. package/es/packages/components/datepicker/src/Picker.vue2.mjs +4 -0
  42. package/es/packages/components/datepicker/src/Picker.vue2.mjs.map +1 -1
  43. package/es/packages/components/datepicker/src/date-picker.mjs.map +1 -1
  44. package/es/packages/components/datepicker/src/use-date-picker.mjs +8 -8
  45. package/es/packages/components/datepicker/src/use-date-picker.mjs.map +1 -1
  46. package/es/packages/components/float/src/Float.vue2.mjs +13 -6
  47. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  48. package/es/packages/components/float/src/float.mjs +1 -0
  49. package/es/packages/components/float/src/float.mjs.map +1 -1
  50. package/es/packages/components/header/src/header.vue2.mjs +4 -3
  51. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  52. package/es/packages/components/icon/src/icon.vue2.mjs +7 -3
  53. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  54. package/es/packages/components/index.d.mjs +1 -0
  55. package/es/packages/components/index.d.mjs.map +1 -1
  56. package/es/packages/components/index.mjs +1 -0
  57. package/es/packages/components/index.mjs.map +1 -1
  58. package/es/packages/components/input/src/input.vue2.mjs +11 -11
  59. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  60. package/es/packages/components/msg/src/msg.vue2.mjs +1 -1
  61. package/es/packages/components/rate/src/rate.vue2.mjs +153 -85
  62. package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -1
  63. package/es/packages/components/segment/src/segment.vue.mjs +2 -2
  64. package/es/packages/components/select/src/select.mjs +18 -0
  65. package/es/packages/components/select/src/select.mjs.map +1 -1
  66. package/es/packages/components/select/src/select.vue2.mjs +262 -87
  67. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  68. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  69. package/es/packages/components/tab/src/tab-item.vue2.mjs +3 -1
  70. package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
  71. package/es/packages/components/tab/src/tab.vue2.mjs +24 -2
  72. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  73. package/es/packages/components/table/src/table.vue2.mjs +60 -2
  74. package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
  75. package/es/packages/components/tree/src/tree-item.vue2.mjs +1 -1
  76. package/es/packages/components/tree/src/tree-item.vue2.mjs.map +1 -1
  77. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  78. package/es/packages/directives/index.d.mjs +1 -0
  79. package/es/packages/directives/index.d.mjs.map +1 -1
  80. package/es/packages/directives/index.mjs +3 -3
  81. package/es/packages/directives/index.mjs.map +1 -1
  82. package/es/packages/directives/press/index.d.mjs +2 -0
  83. package/es/packages/directives/press/index.mjs +2 -0
  84. package/es/packages/directives/press/src/press.d.mjs +2 -0
  85. package/es/packages/directives/press/src/press.d.mjs.map +1 -0
  86. package/es/packages/directives/press/src/press.mjs +100 -0
  87. package/es/packages/directives/press/src/press.mjs.map +1 -0
  88. package/es/packages/directives/tip/src/tip.mjs +42 -27
  89. package/es/packages/directives/tip/src/tip.mjs.map +1 -1
  90. package/es/packages/locale/format.mjs +1 -1
  91. package/es/packages/locale/format.mjs.map +1 -1
  92. package/es/packages/locale/lang/en-US.mjs +6 -0
  93. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  94. package/es/packages/locale/lang/zh-CN.mjs +6 -0
  95. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  96. package/es/packages/utils/print.mjs +1 -1
  97. package/es/ui/index.d.ts +6 -0
  98. package/lib/components/calendar/src/calendar.d.ts +8 -1
  99. package/lib/components/calendar/src/calendar.vue.d.ts +9 -0
  100. package/lib/components/cascader/src/cascader-item.vue.d.ts +5 -1
  101. package/lib/components/cascader/src/cascader.vue.d.ts +0 -7
  102. package/lib/components/datepicker/src/DatePicker.vue.d.ts +9 -0
  103. package/lib/components/datepicker/src/Picker.vue.d.ts +9 -0
  104. package/lib/components/datepicker/src/date-picker.d.ts +1 -1
  105. package/lib/components/datepicker/src/use-date-picker.d.ts +1 -0
  106. package/lib/components/float/index.d.ts +15 -0
  107. package/lib/components/float/src/Float.vue.d.ts +9 -0
  108. package/lib/components/float/src/float.d.ts +4 -0
  109. package/lib/components/icon/src/icon.vue.d.ts +2 -0
  110. package/lib/components/input/src/input.vue.d.ts +2 -2
  111. package/lib/components/rate/src/rate.vue.d.ts +46 -10
  112. package/lib/components/select/src/select.d.ts +18 -0
  113. package/lib/components/select/src/select.vue.d.ts +18 -0
  114. package/lib/components/tab/src/tab-item.vue.d.ts +2 -0
  115. package/lib/components/timeline/src/timeline.vue.d.ts +5 -0
  116. package/lib/components/tip/src/tip.vue.d.ts +2 -2
  117. package/lib/directives/index.d.ts +2 -1
  118. package/lib/directives/press/index.d.ts +2 -0
  119. package/lib/directives/press/src/press.d.ts +20 -0
  120. package/lib/index.d.js +2 -0
  121. package/lib/index.d.js.map +1 -1
  122. package/lib/index.js +4 -1
  123. package/lib/index.js.map +1 -1
  124. package/lib/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.js +2429 -0
  125. package/lib/node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.js.map +1 -0
  126. package/lib/packages/components/calendar/src/calendar.js +7 -0
  127. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  128. package/lib/packages/components/calendar/src/calendar.vue2.js +31 -38
  129. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  130. package/lib/packages/components/cascader/src/cascader-item.vue2.js +35 -83
  131. package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
  132. package/lib/packages/components/cascader/src/cascader.vue2.js +85 -27
  133. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  134. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +1 -2
  135. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  136. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +9 -3
  137. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  138. package/lib/packages/components/datepicker/src/Picker.vue2.js +4 -0
  139. package/lib/packages/components/datepicker/src/Picker.vue2.js.map +1 -1
  140. package/lib/packages/components/datepicker/src/date-picker.js.map +1 -1
  141. package/lib/packages/components/datepicker/src/use-date-picker.js +8 -8
  142. package/lib/packages/components/datepicker/src/use-date-picker.js.map +1 -1
  143. package/lib/packages/components/float/src/Float.vue2.js +12 -5
  144. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  145. package/lib/packages/components/float/src/float.js +1 -0
  146. package/lib/packages/components/float/src/float.js.map +1 -1
  147. package/lib/packages/components/header/src/header.vue2.js +4 -3
  148. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  149. package/lib/packages/components/icon/src/icon.vue2.js +7 -3
  150. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  151. package/lib/packages/components/index.d.js +2 -0
  152. package/lib/packages/components/index.d.js.map +1 -1
  153. package/lib/packages/components/index.js +2 -0
  154. package/lib/packages/components/index.js.map +1 -1
  155. package/lib/packages/components/input/src/input.vue2.js +11 -11
  156. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  157. package/lib/packages/components/msg/src/msg.vue2.js +1 -1
  158. package/lib/packages/components/rate/src/rate.vue2.js +152 -84
  159. package/lib/packages/components/rate/src/rate.vue2.js.map +1 -1
  160. package/lib/packages/components/segment/src/segment.vue.js +2 -2
  161. package/lib/packages/components/select/src/select.js +18 -0
  162. package/lib/packages/components/select/src/select.js.map +1 -1
  163. package/lib/packages/components/select/src/select.vue2.js +261 -86
  164. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  165. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  166. package/lib/packages/components/tab/src/tab-item.vue2.js +3 -1
  167. package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
  168. package/lib/packages/components/tab/src/tab.vue2.js +23 -1
  169. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  170. package/lib/packages/components/table/src/table.vue2.js +59 -1
  171. package/lib/packages/components/table/src/table.vue2.js.map +1 -1
  172. package/lib/packages/components/tree/src/tree-item.vue2.js +1 -1
  173. package/lib/packages/components/tree/src/tree-item.vue2.js.map +1 -1
  174. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  175. package/lib/packages/directives/index.d.js +2 -0
  176. package/lib/packages/directives/index.d.js.map +1 -1
  177. package/lib/packages/directives/index.js +3 -2
  178. package/lib/packages/directives/index.js.map +1 -1
  179. package/lib/packages/directives/press/index.d.js +8 -0
  180. package/lib/packages/directives/press/index.js +8 -0
  181. package/lib/packages/directives/press/src/press.d.js +3 -0
  182. package/lib/packages/directives/press/src/press.d.js.map +1 -0
  183. package/lib/packages/directives/press/src/press.js +102 -0
  184. package/lib/packages/directives/press/src/press.js.map +1 -0
  185. package/lib/packages/directives/tip/src/tip.js +41 -26
  186. package/lib/packages/directives/tip/src/tip.js.map +1 -1
  187. package/lib/packages/locale/format.js +1 -1
  188. package/lib/packages/locale/format.js.map +1 -1
  189. package/lib/packages/locale/lang/en-US.js +6 -0
  190. package/lib/packages/locale/lang/en-US.js.map +1 -1
  191. package/lib/packages/locale/lang/zh-CN.js +6 -0
  192. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  193. package/lib/packages/utils/print.js +1 -1
  194. package/lib/ui/index.d.ts +6 -0
  195. package/package.json +1 -1
  196. package/theme/components/index.css +304 -173
  197. package/theme/index.css +304 -173
  198. package/theme/skin/default.css +304 -173
  199. package/es/directives/longtap/index.d.ts +0 -2
  200. package/es/directives/longtap/src/longtap.d.ts +0 -7
  201. package/es/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs +0 -1386
  202. package/es/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs.map +0 -1
  203. package/es/packages/directives/longtap/index.d.mjs +0 -2
  204. package/es/packages/directives/longtap/index.mjs +0 -2
  205. package/es/packages/directives/longtap/src/longtap.d.mjs +0 -2
  206. package/es/packages/directives/longtap/src/longtap.d.mjs.map +0 -1
  207. package/es/packages/directives/longtap/src/longtap.mjs +0 -80
  208. package/es/packages/directives/longtap/src/longtap.mjs.map +0 -1
  209. package/lib/directives/longtap/index.d.ts +0 -2
  210. package/lib/directives/longtap/src/longtap.d.ts +0 -7
  211. package/lib/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.js +0 -1390
  212. package/lib/node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.js.map +0 -1
  213. package/lib/packages/directives/longtap/index.d.js +0 -8
  214. package/lib/packages/directives/longtap/index.js +0 -8
  215. package/lib/packages/directives/longtap/src/longtap.d.js +0 -3
  216. package/lib/packages/directives/longtap/src/longtap.d.js.map +0 -1
  217. package/lib/packages/directives/longtap/src/longtap.js +0 -82
  218. package/lib/packages/directives/longtap/src/longtap.js.map +0 -1
  219. /package/es/packages/directives/{longtap → press}/index.d.mjs.map +0 -0
  220. /package/es/packages/directives/{longtap → press}/index.mjs.map +0 -0
  221. /package/lib/packages/directives/{longtap → press}/index.d.js.map +0 -0
  222. /package/lib/packages/directives/{longtap → press}/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"input.vue2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToInput'\r\n});\n</script>\n<template>\r\n\t<span :id=\"id\" :key=\"langKey\" v-tip=\"changed ? t('to.common.originalValue', valueStore[0]) : ''\" :flex=\"flex ? flex : null\" class=\"to-input\" :class=\"setClass\" :style=\"setStyle\" @click=\"click\">\r\n\t\t<span v-if=\"verifiable && (rule || required || ToFormItem.required)\" v-show=\"false\" :trim=\"trim\" :req=\"validateRequired\" class=\"to-validate\" :desc=\"validateDesc\" :rule=\"rule\" :value=\"data\"></span>\r\n\r\n\t\t<span class=\"to-input-wrapper\">\r\n\t\t\t<ToIcon v-if=\"props.step\" v-dis=\"Number(data) === Number(props.min) || props.disabled\" class=\"to-input-decrease\" :value=\"props.stepIconMode ? 'expand' : 'reduce'\" link @mousedown=\"reduce\" />\r\n\r\n\t\t\t<!-- 前缀 -->\r\n\t\t\t<span v-if=\"$slots.prefix || props.step\" class=\"to-input-prefix\">\r\n\t\t\t\t<slot name=\"prefix\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-if=\"props.prefix\" class=\"to-input-prefix-text\">\r\n\t\t\t\t<span>{{ props.prefix }}</span>\r\n\t\t\t</span>\r\n\r\n\t\t\t<!-- 输入框部分 -->\r\n\t\t\t<span v-if=\"props.type === 'textarea'\" class=\"to-input-content\">\r\n\t\t\t\t<textarea ref=\"inputRef\" v-model=\"data\" class=\"to-input-box\" :autocomplete=\"props.autocomplete ? 'on' : 'new-password'\" :maxlength=\"props.maxlength\" :placeholder=\"iPlaceholder\" :disabled=\"props.disabled\" :tabindex=\"props.tabindex\" @keyup=\"inputKeyup\" @keydown.exact=\"inputKeydown\" @cut=\"inputCut\" @focus=\"inputFocus\" @blur=\"inputBlur\" @paste=\"inputPaste\" @keypress=\"inputKeyPress\" @change=\"inputChange\" @input=\"inputInput\" @keydown.enter.exact=\"inputEnter\" @keydown.ctrl.enter.exact=\"inputCtrlEnter\" @keydown.meta.enter.exact=\"inputCtrlEnter\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-else-if=\"props.type === 'html'\" class=\"to-input-html\">\r\n\t\t\t\t{{ props.html }}\r\n\t\t\t\t<slot name=\"html\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-else class=\"to-input-content\">\r\n\t\t\t\t<to-icon v-if=\"icon\" :value=\"icon\" class=\"to-input-icon\"></to-icon>\r\n\t\t\t\t<input ref=\"inputRef\" v-model=\"data\" class=\"to-input-box\" :autocomplete=\"props.autocomplete ? 'on' : 'new-password'\" :tabindex=\"props.tabindex\" :maxlength=\"props.maxlength\" :placeholder=\"iPlaceholder\" :type=\"itype\" :disabled=\"props.disabled\" @keyup=\"inputKeyup\" @keydown.exact=\"inputKeydown\" @cut=\"inputCut\" @focus=\"inputFocus\" @blur=\"inputBlur\" @paste=\"inputPaste\" @keypress=\"inputKeyPress\" @change=\"inputChange\" @input=\"inputInput\" @keydown.enter.exact=\"inputEnter\" @keydown.ctrl.enter.exact=\"inputCtrlEnter\" @keydown.meta.enter.exact=\"inputCtrlEnter\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<ToIcon v-if=\"!props.disabled && props.clearable && !props.step\" v-show=\"clearVisible\" class=\"to-input-clear\" link value=\"close\" @click.stop=\"clear\" />\r\n\r\n\t\t\t<span v-if=\"props.maxlength !== Infinity && props.count && props.type !== 'textarea'\" class=\"to-input-count\">\r\n\t\t\t\t<span class=\"to-input-count-text\">{{ getDataLength }}/{{ props.maxlength }}</span>\r\n\t\t\t</span>\r\n\r\n\t\t\t<!-- 后缀区 -->\r\n\t\t\t<span v-if=\"props.suffix\" class=\"to-input-suffix-text\">\r\n\t\t\t\t<span>{{ props.suffix }}</span>\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-if=\"($slots.default || $slots.suffix || props.step) && type !== 'textarea'\" class=\"to-input-suffix\">\r\n\t\t\t\t<slot />\r\n\t\t\t\t<slot name=\"suffix\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<ToIcon v-if=\"props.step\" v-dis=\"Number(data) === Number(props.max) || props.disabled\" class=\"to-input-increase\" :value=\"props.stepIconMode ? 'collapse' : 'add'\" link @mousedown=\"increase\" />\r\n\t\t</span>\r\n\r\n\t\t<span v-if=\"props.type === 'textarea' && ((props.maxlength !== Infinity && props.count) || $slots.fn || $slots.default || props.suggestion)\" class=\"to-input-fn\">\r\n\t\t\t<span v-if=\"$slots.fn || $slots.default\" class=\"to-input-suffix-slot\">\r\n\t\t\t\t<slot v-if=\"type === 'textarea'\" />\r\n\t\t\t\t<slot v-if=\"type === 'textarea'\" name=\"fn\" />\r\n\t\t\t</span>\r\n\t\t\t<span class=\"to-input-suggestion\">\r\n\t\t\t\t<template v-if=\"props.suggestion\">\r\n\t\t\t\t\t<ToButton v-for=\"(item, i) in props.suggestion.split(',')\" :key=\"i\" color=\"info\" mode=\"text\" @click=\"addSuggestion(item)\">{{ item }}</ToButton>\r\n\t\t\t\t</template>\r\n\t\t\t</span>\r\n\t\t\t<span v-if=\"props.maxlength !== Infinity && props.count\" class=\"to-input-count\">\r\n\t\t\t\t<span class=\"to-input-count-text\">{{ getDataLength }}/{{ props.maxlength }}</span>\r\n\t\t\t</span>\r\n\t\t</span>\r\n\r\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\r\n\t\t\t<template v-if=\"errorType === 'rule'\">\r\n\t\t\t\t{{ t('to.input.inputError') }}\r\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" style=\"height: auto\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\r\n\t\t\t</template>\r\n\t\t\t<template v-else> {{ t('to.input.required') }} </template>\r\n\t\t</span>\r\n\t</span>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, computed, watch, CSSProperties, onMounted, inject, nextTick, getCurrentInstance } from 'vue'\r\nimport { ToIcon, ToButton } from '@touchvue/components'\r\nimport { vDis, vTip } from '@touchvue/directives'\r\nimport { t, langKey } from '@touchvue/locale'\r\n\r\nconst ins = getCurrentInstance()\r\n\r\n\r\nconst props = defineProps({\r\n\tflex: Boolean,\r\n\t// 是否自动获取焦点\r\n\tautofocus: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tdesc: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\trule: {\r\n\t\ttype: [String, Boolean],\r\n\t\tdefault: ''\r\n\t},\r\n\tverifiable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\trequired: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: null\r\n\t},\r\n\tvalidateTip: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tpropErrorType: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tpropErrorTip: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tid: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tplaceholder: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\ttype: {\r\n\t\ttype: String,\r\n\t\tdefault: 'text'\r\n\t},\r\n\ticon: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\ttabindex: {\r\n\t\ttype: String,\r\n\t\tdefault: '1'\r\n\t},\r\n\tautocomplete: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tdisabled: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tmax: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: Infinity\r\n\t},\r\n\tmin: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: -Infinity\r\n\t},\r\n\tmaxlength: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: Infinity\r\n\t},\r\n\tdot: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: 0\r\n\t},\r\n\tstep: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: null\r\n\t},\r\n\tstepIconMode: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tspChars: {\r\n\t\ttype: [String, Boolean],\r\n\t\tdefault: ''\r\n\t},\r\n\tprefix: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuffix: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuggestion: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuggestionType: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuggestionSymbol: {\r\n\t\ttype: String,\r\n\t\tdefault: '、'\r\n\t},\r\n\tclearable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\tpreventFocus: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tcomparable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tmodelValue: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: () => ''\r\n\t},\r\n\thtml: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: ''\r\n\t},\r\n\ttrim: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\tcolor: {\r\n\t\ttype: String,\r\n\t\tdefault: 'default'\r\n\t},\r\n\tplaceholderColor: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tmode: {\r\n\t\ttype: String,\r\n\t\tdefault: 'default'\r\n\t},\r\n\twidth: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: ''\r\n\t},\r\n\theight: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: ''\r\n\t},\r\n\tlink: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tconversionType: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: 0\r\n\t},\r\n\tcount: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t}\r\n})\r\n\r\nconst emit = defineEmits(['update:modelValue', 'click', 'clear', 'input', 'keyup', 'change', 'keydown', 'cut', 'paste', 'keypress', 'focus', 'blur', 'enter', 'ctrlenter'])\r\n\r\nconst ToForm = inject<{ comparable?: boolean }>('ToForm', {})\r\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\r\n\r\nconst errorTip = ref('')\r\nconst errorType = ref('rule')\r\nconst valueStore = ref([])\r\n// const prevent = ref(false)\r\n// const inited = ref(false)\r\nconst focused = ref(false)\r\nconst data = ref(props.modelValue)\r\nconst clearVisible = ref(false)\r\nconst itype = ref('text')\r\n// const disabled = computed(() => props.disabled)\r\nconst disabled = ref(props.disabled)\r\n// const multipleNumber = ref(1)\r\nconst inputRef = ref<HTMLInputElement | HTMLTextAreaElement | null>(null)\r\n\r\nwatch(\r\n\t() => props.modelValue,\r\n\tval => {\r\n\t\tclearVisible.value = !!val\r\n\t\tdata.value = val\r\n\t},\r\n\t{ immediate: true, deep: true }\r\n)\r\nwatch(\r\n\t() => props.type,\r\n\tval => {\r\n\t\titype.value = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => data.value,\r\n\tval => {\r\n\t\terrorTip.value = ''\r\n\t\tclearVisible.value = !!val\r\n\t\tif (props.type === 'number') {\r\n\t\t\t// 先转换为纯数字字符串\r\n\t\t\tdata.value = (data.value + '').replace(/[^0-9.-]/g, '')\r\n\t\t\t// 多重负号去重\r\n\t\t\tif (data.value.indexOf('-') > -1) {\r\n\t\t\t\tif (data.value.indexOf('-') === 0) {\r\n\t\t\t\t\tif (data.value.indexOf('.') === 1) {\r\n\t\t\t\t\t\tdata.value = '-0' + data.value.replace(/[-]/g, '')\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdata.value = '-' + data.value.replace(/[-]/g, '')\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdata.value = data.value.replace(/[-]/g, '')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//小数点去重\r\n\t\t\tdata.value = data.value.replace(/(\\..*?)\\./g, '$1')\r\n\t\t\t// 小数点长度判断\r\n\t\t\tif (data.value.indexOf('.') > -1) {\r\n\t\t\t\t// 小圆点开头的自动补 0\r\n\t\t\t\tif (data.value.indexOf('.') === 0) {\r\n\t\t\t\t\tdata.value = '0' + data.value\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// 分别获取和处理小数点前后的字符\r\n\t\t\t\tlet pre = data.value.substring(0, data.value.indexOf('.'))\r\n\t\t\t\tlet suf = data.value.substring(data.value.indexOf('.') + 1)\r\n\t\t\t\tsuf = suf.replace(/[/.]/g, '').substring(0, Number(props.dot))\r\n\r\n\t\t\t\t// 拼接字符串\r\n\t\t\t\tdata.value = `${pre}.${suf}`\r\n\t\t\t}\r\n\r\n\t\t\tif (Number(data.value) < Number(props.min)) {\r\n\t\t\t\tdata.value = props.min\r\n\t\t\t}\r\n\t\t\tif (Number(data.value) > Number(props.max)) {\r\n\t\t\t\tdata.value = props.max\r\n\t\t\t}\r\n\r\n\t\t\tif (String(data.value).length > Number(props.maxlength)) {\r\n\t\t\t\tdata.value = Number(String(data.value).slice(0, Number(props.maxlength)))\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (iSpChars.value) {\r\n\t\t\tconst filterData = filter(iSpChars.value, val)\r\n\t\t\tif (filterData !== false) {\r\n\t\t\t\tdata.value = filterData\r\n\t\t\t}\r\n\t\t}\r\n\t\temit('update:modelValue', data.value)\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.propErrorType,\r\n\tval => {\r\n\t\terrorType.value = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.propErrorTip,\r\n\tval => {\r\n\t\terrorTip.value = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.autofocus,\r\n\tval => {\r\n\t\tif (val) {\r\n\t\t\tfocusInput()\r\n\t\t}\r\n\t}\r\n)\r\n\r\nconst filter = (chars, from) => {\r\n\tif (chars && from) {\r\n\t\tconst check = new RegExp(\r\n\t\t\t`[${chars\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.map(char => '\\\\' + char)\r\n\t\t\t\t.join('')}]+`,\r\n\t\t\t''\r\n\t\t)\r\n\t\tconst reg = new RegExp(\r\n\t\t\t`[${chars\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.map(char => '\\\\' + char)\r\n\t\t\t\t.join('')}]*`,\r\n\t\t\t'g'\r\n\t\t)\r\n\t\tif (check.test(from)) {\r\n\t\t\treturn from.replace(reg, '')\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nconst focusInput = () => {\r\n\tif (inputRef.value) {\r\n\t\ttry {\r\n\t\t\t// 确保元素未被禁用\r\n\t\t\tif (!inputRef.value.disabled) {\r\n\t\t\t\t// 延迟聚焦,给元素更多准备时间\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tinputRef.value?.focus()\r\n\t\t\t\t}, 100)\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('输入框聚焦失败:', error)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nonMounted(() => {\r\n\tdata.value = props.modelValue\r\n\titype.value = props.type\r\n\tif (props.autofocus) {\r\n\t\tnextTick(() => {\r\n\t\t\tfocusInput()\r\n\t\t})\r\n\t}\r\n})\r\n\r\nconst iPlaceholder = computed(() => {\r\n\tif (!disabled.value && !props.placeholder) {\r\n\t\treturn t('to.common.placeholder.input')\r\n\t} else {\r\n\t\treturn props.placeholder\r\n\t}\r\n})\r\n\r\nconst iSpChars = computed(() => {\r\n\tif (props.spChars) {\r\n\t\treturn props.spChars\r\n\t}\r\n\treturn ins.appContext.config.globalProperties.$TouchUI?.input?.spChars ?? '/,\\\\,[,],{,},\"'\r\n})\r\n\r\nconst setClass = computed(() => {\r\n\tconst arr = ['to-disable-target']\r\n\tif (errorTip.value) {\r\n\t\tarr.push('to-input-mode-line')\r\n\t\tarr.push('to-input-color-danger')\r\n\t\tarr.push('to-input-tip-show')\r\n\t} else {\r\n\t\tif (props.mode) {\r\n\t\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\r\n\t\t\t\tarr.push(`mode-${props.mode.split(' ')[i]}`)\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (props.type) {\r\n\t\t\tarr.push(`type-${props.type}`)\r\n\t\t}\r\n\t\tif (props.disabled || disabled.value) {\r\n\t\t\tarr.push(`is-disabled`)\r\n\t\t}\r\n\t\tif (focused.value) {\r\n\t\t\tarr.push('is-focused')\r\n\t\t}\r\n\t\tif (props.color) {\r\n\t\t\tarr.push(`color-${props.color}`)\r\n\t\t}\r\n\t\tif (props.link) {\r\n\t\t\tarr.push('is-link')\r\n\t\t}\r\n\t\tif (props.step) {\r\n\t\t\tarr.push('is-step')\r\n\t\t}\r\n\t\tif ((ToForm && ToForm.comparable) || props.comparable) {\r\n\t\t\tarr.push('to-compare')\r\n\t\t}\r\n\t\tif (changed.value) {\r\n\t\t\tarr.push('to-input-changed')\r\n\t\t}\r\n\t}\r\n\treturn arr\r\n})\r\n\r\nconst setStyle = computed(() => {\r\n\tconst obj: CSSProperties = {}\r\n\tif (props.width) {\r\n\t\tif (!isNaN(Number(props.width))) {\r\n\t\t\tobj.width = props.width + 'em'\r\n\t\t} else {\r\n\t\t\tobj.width = props.width\r\n\t\t}\r\n\t}\r\n\tif (props.height) {\r\n\t\tif (!isNaN(Number(props.height))) {\r\n\t\t\tobj.height = props.height + 'em'\r\n\t\t} else {\r\n\t\t\tobj.height = props.height\r\n\t\t}\r\n\t}\r\n\treturn obj\r\n})\r\n\r\nconst changed = computed(() => {\r\n\tif ((props.comparable || ToForm?.comparable) && valueStore.value.length > 0 && data.value !== valueStore.value[0]) {\r\n\t\treturn true\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n})\r\n\r\nconst validateRequired = computed(() => {\r\n\tif (props.required === false) {\r\n\t\treturn 'false'\r\n\t} else if (props.required) {\r\n\t\treturn 'true'\r\n\t} else if (ToFormItem && ToFormItem.required) {\r\n\t\treturn 'true'\r\n\t} else {\r\n\t\treturn 'false'\r\n\t}\r\n})\r\n\r\nconst validateDesc = computed(() => {\r\n\tif (props.desc) {\r\n\t\treturn props.desc\r\n\t} else if (ToFormItem && ToFormItem.label) {\r\n\t\treturn ToFormItem.label\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n})\r\n\r\nconst getDataLength = computed(() => {\r\n\tif (data.value || data.value === 0) {\r\n\t\treturn String(data.value).length\r\n\t} else {\r\n\t\treturn 0\r\n\t}\r\n})\r\n\r\nconst setDisabled = (f: boolean) => {\r\n\tdisabled.value = f\r\n}\r\n\r\nfunction inputKeyup(e) {\r\n\temit('keyup', data.value, e)\r\n}\r\nfunction inputChange() {\r\n\temit('change', data.value)\r\n}\r\nfunction inputKeydown(e) {\r\n\temit('keydown', data.value, e)\r\n}\r\nfunction inputCut() {\r\n\temit('cut', data.value)\r\n}\r\nfunction inputFocus() {\r\n\terrorTip.value = ''\r\n\tif (props.disabled) return false\r\n\tfocused.value = true\r\n\temit('focus', data.value)\r\n}\r\nfunction inputBlur() {\r\n\tif (props.disabled) return false\r\n\tfocused.value = false\r\n\tif (props.trim && data.value && typeof data.value === 'string') {\r\n\t\tdata.value = String(data.value).trim()\r\n\t}\r\n\temit('blur', data.value)\r\n}\r\nfunction inputPaste() {\r\n\temit('paste', data.value)\r\n}\r\nfunction inputKeyPress(e) {\r\n\temit('keypress', data.value, e)\r\n}\r\nfunction inputInput() {\r\n\temit('input', data.value)\r\n}\r\nfunction inputEnter() {\r\n\temit('enter', data.value)\r\n}\r\nfunction inputCtrlEnter() {\r\n\temit('ctrlenter', data.value)\r\n}\r\nfunction clear() {\r\n\tdata.value = ''\r\n\tclearVisible.value = false\r\n\temit('clear')\r\n}\r\nfunction reduce() {\r\n\tdata.value = Number(data.value) - Number(props.step)\r\n}\r\nfunction increase() {\r\n\tdata.value = Number(data.value) + Number(props.step)\r\n}\r\nfunction addSuggestion(item: any) {\r\n\tdata.value += item\r\n}\r\n\r\nfunction click(e: MouseEvent) {\r\n\t// 须透传原生事件,父组件使用 @click.stop 等修饰符时才能调用 stopPropagation\r\n\temit('click', e)\r\n}\r\nfunction compare() {\r\n\tvalueStore.value.unshift(data.value)\r\n}\r\n// 撤销\r\nfunction restore() {\r\n\tdata.value = valueStore.value[0]\r\n\tvalueStore.value.splice(0, 1)\r\n}\r\n\r\ndefineExpose({\r\n\tcompare,\r\n\trestore,\r\n\tchanged,\r\n\tsetDisabled,\r\n\terrorTip,\r\n\terrorType,\r\n\tfocus: focusInput\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createBlock","_createCommentVNode","$slots","_renderSlot","_toDisplayString","_Fragment","_renderList","_createTextVNode","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"input.vue2.mjs","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToInput'\r\n});\n</script>\n<template>\r\n\t<label :id=\"id\" :key=\"langKey\" v-tip=\"changed ? t('to.common.originalValue', valueStore[0]) : ''\" :flex=\"flex ? flex : null\" class=\"to-input\" :class=\"setClass\" :style=\"setStyle\" @click=\"click\">\r\n\t\t<span v-if=\"verifiable && (rule || required || ToFormItem.required)\" v-show=\"false\" :trim=\"trim\" :req=\"validateRequired\" class=\"to-validate\" :desc=\"validateDesc\" :rule=\"rule\" :value=\"data\"></span>\r\n\r\n\t\t<span class=\"to-input-wrapper\">\r\n\t\t\t<to-icon v-if=\"props.step\" v-dis=\"Number(data) === Number(props.min) || props.disabled\" v-press=\"reduce\" class=\"to-input-decrease\" :value=\"props.stepIconMode ? 'expand' : 'reduce'\" link />\r\n\r\n\t\t\t<!-- 前缀 -->\r\n\t\t\t<span v-if=\"$slots.prefix || props.step\" class=\"to-input-prefix\">\r\n\t\t\t\t<slot name=\"prefix\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-if=\"props.prefix\" class=\"to-input-prefix-text\">\r\n\t\t\t\t<span>{{ props.prefix }}</span>\r\n\t\t\t</span>\r\n\r\n\t\t\t<!-- 输入框部分 -->\r\n\t\t\t<span v-if=\"props.type === 'textarea'\" class=\"to-input-content\">\r\n\t\t\t\t<textarea ref=\"inputRef\" v-model=\"data\" class=\"to-input-box\" :autocomplete=\"props.autocomplete ? 'on' : 'new-password'\" :maxlength=\"props.maxlength\" :placeholder=\"iPlaceholder\" :disabled=\"props.disabled\" :tabindex=\"props.tabindex\" @keyup=\"inputKeyup\" @keydown.exact=\"inputKeydown\" @cut=\"inputCut\" @focus=\"inputFocus\" @blur=\"inputBlur\" @paste=\"inputPaste\" @keypress=\"inputKeyPress\" @change=\"inputChange\" @input=\"inputInput\" @keydown.enter.exact=\"inputEnter\" @keydown.ctrl.enter.exact=\"inputCtrlEnter\" @keydown.meta.enter.exact=\"inputCtrlEnter\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-else-if=\"props.type === 'html'\" class=\"to-input-html\">\r\n\t\t\t\t{{ props.html }}\r\n\t\t\t\t<slot name=\"html\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-else class=\"to-input-content\">\r\n\t\t\t\t<to-icon v-if=\"icon\" :value=\"icon\" class=\"to-input-icon\"></to-icon>\r\n\t\t\t\t<input ref=\"inputRef\" v-model=\"data\" class=\"to-input-box\" :autocomplete=\"props.autocomplete ? 'on' : 'new-password'\" :tabindex=\"props.tabindex\" :maxlength=\"props.maxlength\" :placeholder=\"iPlaceholder\" :type=\"itype\" :disabled=\"props.disabled\" @keyup=\"inputKeyup\" @keydown.exact=\"inputKeydown\" @cut=\"inputCut\" @focus=\"inputFocus\" @blur=\"inputBlur\" @paste=\"inputPaste\" @keypress=\"inputKeyPress\" @change=\"inputChange\" @input=\"inputInput\" @keydown.enter.exact=\"inputEnter\" @keydown.ctrl.enter.exact=\"inputCtrlEnter\" @keydown.meta.enter.exact=\"inputCtrlEnter\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<to-icon v-if=\"!props.disabled && props.clearable && !props.step\" v-show=\"clearVisible\" class=\"to-input-clear\" link value=\"close\" @click.stop=\"clear\" />\r\n\r\n\t\t\t<span v-if=\"props.maxlength !== Infinity && props.count && props.type !== 'textarea'\" class=\"to-input-count\">\r\n\t\t\t\t<span class=\"to-input-count-text\">{{ getDataLength }}/{{ props.maxlength }}</span>\r\n\t\t\t</span>\r\n\r\n\t\t\t<!-- 后缀区 -->\r\n\t\t\t<span v-if=\"props.suffix\" class=\"to-input-suffix-text\">\r\n\t\t\t\t<span>{{ props.suffix }}</span>\r\n\t\t\t</span>\r\n\r\n\t\t\t<span v-if=\"($slots.default || $slots.suffix || props.step) && type !== 'textarea'\" class=\"to-input-suffix\">\r\n\t\t\t\t<slot />\r\n\t\t\t\t<slot name=\"suffix\" />\r\n\t\t\t</span>\r\n\r\n\t\t\t<to-icon v-if=\"props.step\" v-dis=\"Number(data) === Number(props.max) || props.disabled\" v-press=\"increase\" class=\"to-input-increase\" :value=\"props.stepIconMode ? 'collapse' : 'add'\" link />\r\n\t\t</span>\r\n\r\n\t\t<span v-if=\"props.type === 'textarea' && ((props.maxlength !== Infinity && props.count) || $slots.fn || $slots.default || props.suggestion)\" class=\"to-input-fn\">\r\n\t\t\t<span v-if=\"$slots.fn || $slots.default\" class=\"to-input-suffix-slot\">\r\n\t\t\t\t<slot v-if=\"type === 'textarea'\" />\r\n\t\t\t\t<slot v-if=\"type === 'textarea'\" name=\"fn\" />\r\n\t\t\t</span>\r\n\t\t\t<span class=\"to-input-suggestion\">\r\n\t\t\t\t<template v-if=\"props.suggestion\">\r\n\t\t\t\t\t<ToButton v-for=\"(item, i) in props.suggestion.split(',')\" :key=\"i\" class=\"to-input-suggestion-item\" @click=\"addSuggestion(item)\">{{ item }}</ToButton>\r\n\t\t\t\t</template>\r\n\t\t\t</span>\r\n\t\t\t<span v-if=\"props.maxlength !== Infinity && props.count\" class=\"to-input-count\">\r\n\t\t\t\t<span class=\"to-input-count-text\">{{ getDataLength }}/{{ props.maxlength }}</span>\r\n\t\t\t</span>\r\n\t\t</span>\r\n\r\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\r\n\t\t\t<template v-if=\"errorType === 'rule'\">\r\n\t\t\t\t{{ t('to.input.inputError') }}\r\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" style=\"height: auto\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\r\n\t\t\t</template>\r\n\t\t\t<template v-else> {{ t('to.input.required') }} </template>\r\n\t\t</span>\r\n\t</label>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, computed, watch, CSSProperties, onMounted, inject, nextTick, getCurrentInstance } from 'vue'\r\nimport { ToIcon, ToButton } from '@touchvue/components'\r\nimport { vDis, vTip, vPress } from '@touchvue/directives'\r\nimport { t, langKey } from '@touchvue/locale'\r\n\r\nconst ins = getCurrentInstance()\r\n\r\n\r\nconst props = defineProps({\r\n\tflex: Boolean,\r\n\t// 是否自动获取焦点\r\n\tautofocus: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tdesc: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\trule: {\r\n\t\ttype: [String, Boolean],\r\n\t\tdefault: ''\r\n\t},\r\n\tverifiable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\trequired: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: null\r\n\t},\r\n\tvalidateTip: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tpropErrorType: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tpropErrorTip: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tid: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tplaceholder: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\ttype: {\r\n\t\ttype: String,\r\n\t\tdefault: 'text'\r\n\t},\r\n\ticon: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\ttabindex: {\r\n\t\ttype: String,\r\n\t\tdefault: '1'\r\n\t},\r\n\tautocomplete: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tdisabled: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tmax: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: Infinity\r\n\t},\r\n\tmin: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: -Infinity\r\n\t},\r\n\tmaxlength: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: Infinity\r\n\t},\r\n\tdot: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: 0\r\n\t},\r\n\tstep: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: null\r\n\t},\r\n\tstepIconMode: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tspChars: {\r\n\t\ttype: [String, Boolean],\r\n\t\tdefault: ''\r\n\t},\r\n\tprefix: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuffix: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuggestion: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuggestionType: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tsuggestionSymbol: {\r\n\t\ttype: String,\r\n\t\tdefault: '、'\r\n\t},\r\n\tclearable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\tpreventFocus: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tcomparable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tmodelValue: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: () => ''\r\n\t},\r\n\thtml: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: ''\r\n\t},\r\n\ttrim: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: true\r\n\t},\r\n\tcolor: {\r\n\t\ttype: String,\r\n\t\tdefault: 'default'\r\n\t},\r\n\tplaceholderColor: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t},\r\n\tmode: {\r\n\t\ttype: String,\r\n\t\tdefault: 'default'\r\n\t},\r\n\twidth: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: ''\r\n\t},\r\n\theight: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: ''\r\n\t},\r\n\tlink: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tconversionType: {\r\n\t\ttype: [String, Number],\r\n\t\tdefault: 0\r\n\t},\r\n\tcount: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t}\r\n})\r\n\r\nconst emit = defineEmits(['update:modelValue', 'click', 'clear', 'input', 'keyup', 'change', 'keydown', 'cut', 'paste', 'keypress', 'focus', 'blur', 'enter', 'ctrlenter'])\r\n\r\nconst ToForm = inject<{ comparable?: boolean }>('ToForm', {})\r\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\r\n\r\nconst errorTip = ref('')\r\nconst errorType = ref('rule')\r\nconst valueStore = ref([])\r\n// const prevent = ref(false)\r\n// const inited = ref(false)\r\nconst focused = ref(false)\r\nconst data = ref(props.modelValue)\r\nconst clearVisible = ref(false)\r\nconst itype = ref('text')\r\n// const disabled = computed(() => props.disabled)\r\nconst disabled = ref(props.disabled)\r\n// const multipleNumber = ref(1)\r\nconst inputRef = ref<HTMLInputElement | HTMLTextAreaElement | null>(null)\r\n\r\nwatch(\r\n\t() => props.modelValue,\r\n\tval => {\r\n\t\tclearVisible.value = !!val\r\n\t\tdata.value = val\r\n\t},\r\n\t{ immediate: true, deep: true }\r\n)\r\nwatch(\r\n\t() => props.type,\r\n\tval => {\r\n\t\titype.value = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => data.value,\r\n\tval => {\r\n\t\terrorTip.value = ''\r\n\t\tclearVisible.value = !!val\r\n\t\tif (props.type === 'number') {\r\n\t\t\t// 先转换为纯数字字符串\r\n\t\t\tdata.value = (data.value + '').replace(/[^0-9.-]/g, '')\r\n\t\t\t// 多重负号去重\r\n\t\t\tif (data.value.indexOf('-') > -1) {\r\n\t\t\t\tif (data.value.indexOf('-') === 0) {\r\n\t\t\t\t\tif (data.value.indexOf('.') === 1) {\r\n\t\t\t\t\t\tdata.value = '-0' + data.value.replace(/[-]/g, '')\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdata.value = '-' + data.value.replace(/[-]/g, '')\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdata.value = data.value.replace(/[-]/g, '')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t//小数点去重\r\n\t\t\tdata.value = data.value.replace(/(\\..*?)\\./g, '$1')\r\n\t\t\t// 小数点长度判断\r\n\t\t\tif (data.value.indexOf('.') > -1) {\r\n\t\t\t\t// 小圆点开头的自动补 0\r\n\t\t\t\tif (data.value.indexOf('.') === 0) {\r\n\t\t\t\t\tdata.value = '0' + data.value\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// 分别获取和处理小数点前后的字符\r\n\t\t\t\tlet pre = data.value.substring(0, data.value.indexOf('.'))\r\n\t\t\t\tlet suf = data.value.substring(data.value.indexOf('.') + 1)\r\n\t\t\t\tsuf = suf.replace(/[/.]/g, '').substring(0, Number(props.dot))\r\n\r\n\t\t\t\t// 拼接字符串\r\n\t\t\t\tdata.value = `${pre}.${suf}`\r\n\t\t\t}\r\n\r\n\t\t\tif (Number(data.value) < Number(props.min)) {\r\n\t\t\t\tdata.value = props.min\r\n\t\t\t}\r\n\t\t\tif (Number(data.value) > Number(props.max)) {\r\n\t\t\t\tdata.value = props.max\r\n\t\t\t}\r\n\r\n\t\t\tif (String(data.value).length > Number(props.maxlength)) {\r\n\t\t\t\tdata.value = Number(String(data.value).slice(0, Number(props.maxlength)))\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (iSpChars.value) {\r\n\t\t\tconst filterData = filter(iSpChars.value, val)\r\n\t\t\tif (filterData !== false) {\r\n\t\t\t\tdata.value = filterData\r\n\t\t\t}\r\n\t\t}\r\n\t\temit('update:modelValue', data.value)\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.propErrorType,\r\n\tval => {\r\n\t\terrorType.value = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.propErrorTip,\r\n\tval => {\r\n\t\terrorTip.value = val\r\n\t}\r\n)\r\n\r\nwatch(\r\n\t() => props.autofocus,\r\n\tval => {\r\n\t\tif (val) {\r\n\t\t\tfocusInput()\r\n\t\t}\r\n\t}\r\n)\r\n\r\nconst filter = (chars, from) => {\r\n\tif (chars && from) {\r\n\t\tconst check = new RegExp(\r\n\t\t\t`[${chars\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.map(char => '\\\\' + char)\r\n\t\t\t\t.join('')}]+`,\r\n\t\t\t''\r\n\t\t)\r\n\t\tconst reg = new RegExp(\r\n\t\t\t`[${chars\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.map(char => '\\\\' + char)\r\n\t\t\t\t.join('')}]*`,\r\n\t\t\t'g'\r\n\t\t)\r\n\t\tif (check.test(from)) {\r\n\t\t\treturn from.replace(reg, '')\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nconst focusInput = () => {\r\n\tif (inputRef.value) {\r\n\t\ttry {\r\n\t\t\t// 确保元素未被禁用\r\n\t\t\tif (!inputRef.value.disabled) {\r\n\t\t\t\t// 延迟聚焦,给元素更多准备时间\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tinputRef.value?.focus()\r\n\t\t\t\t}, 100)\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('输入框聚焦失败:', error)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nonMounted(() => {\r\n\tdata.value = props.modelValue\r\n\titype.value = props.type\r\n\tif (props.autofocus) {\r\n\t\tnextTick(() => {\r\n\t\t\tfocusInput()\r\n\t\t})\r\n\t}\r\n})\r\n\r\nconst iPlaceholder = computed(() => {\r\n\tif (!disabled.value && !props.placeholder) {\r\n\t\treturn t('to.common.placeholder.input')\r\n\t} else {\r\n\t\treturn props.placeholder\r\n\t}\r\n})\r\n\r\nconst iSpChars = computed(() => {\r\n\tif (props.spChars) {\r\n\t\treturn props.spChars\r\n\t}\r\n\treturn ins.appContext.config.globalProperties.$TouchUI?.input?.spChars ?? '/,\\\\,[,],{,},\"'\r\n})\r\n\r\nconst setClass = computed(() => {\r\n\tconst arr = ['to-disable-target']\r\n\tif (errorTip.value) {\r\n\t\tarr.push('to-input-mode-line')\r\n\t\tarr.push('to-input-color-danger')\r\n\t\tarr.push('to-input-tip-show')\r\n\t} else {\r\n\t\tif (props.mode) {\r\n\t\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\r\n\t\t\t\tarr.push(`mode-${props.mode.split(' ')[i]}`)\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (props.type) {\r\n\t\t\tarr.push(`type-${props.type}`)\r\n\t\t}\r\n\t\tif (props.disabled || disabled.value) {\r\n\t\t\tarr.push(`is-disabled`)\r\n\t\t}\r\n\t\tif (focused.value) {\r\n\t\t\tarr.push('is-focused')\r\n\t\t}\r\n\t\tif (props.color) {\r\n\t\t\tarr.push(`color-${props.color}`)\r\n\t\t}\r\n\t\tif (props.link) {\r\n\t\t\tarr.push('is-link')\r\n\t\t}\r\n\t\tif (props.step) {\r\n\t\t\tarr.push('is-step')\r\n\t\t}\r\n\t\tif ((ToForm && ToForm.comparable) || props.comparable) {\r\n\t\t\tarr.push('to-compare')\r\n\t\t}\r\n\t\tif (changed.value) {\r\n\t\t\tarr.push('to-input-changed')\r\n\t\t}\r\n\t}\r\n\treturn arr\r\n})\r\n\r\nconst setStyle = computed(() => {\r\n\tconst obj: CSSProperties = {}\r\n\tif (props.width) {\r\n\t\tif (!isNaN(Number(props.width))) {\r\n\t\t\tobj.width = props.width + 'em'\r\n\t\t} else {\r\n\t\t\tobj.width = props.width\r\n\t\t}\r\n\t}\r\n\tif (props.height) {\r\n\t\tif (!isNaN(Number(props.height))) {\r\n\t\t\tobj.height = props.height + 'em'\r\n\t\t} else {\r\n\t\t\tobj.height = props.height\r\n\t\t}\r\n\t}\r\n\treturn obj\r\n})\r\n\r\nconst changed = computed(() => {\r\n\tif ((props.comparable || ToForm?.comparable) && valueStore.value.length > 0 && data.value !== valueStore.value[0]) {\r\n\t\treturn true\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n})\r\n\r\nconst validateRequired = computed(() => {\r\n\tif (props.required === false) {\r\n\t\treturn 'false'\r\n\t} else if (props.required) {\r\n\t\treturn 'true'\r\n\t} else if (ToFormItem && ToFormItem.required) {\r\n\t\treturn 'true'\r\n\t} else {\r\n\t\treturn 'false'\r\n\t}\r\n})\r\n\r\nconst validateDesc = computed(() => {\r\n\tif (props.desc) {\r\n\t\treturn props.desc\r\n\t} else if (ToFormItem && ToFormItem.label) {\r\n\t\treturn ToFormItem.label\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n})\r\n\r\nconst getDataLength = computed(() => {\r\n\tif (data.value || data.value === 0) {\r\n\t\treturn String(data.value).length\r\n\t} else {\r\n\t\treturn 0\r\n\t}\r\n})\r\n\r\nconst setDisabled = (f: boolean) => {\r\n\tdisabled.value = f\r\n}\r\n\r\nfunction inputKeyup(e) {\r\n\temit('keyup', data.value, e)\r\n}\r\nfunction inputChange() {\r\n\temit('change', data.value)\r\n}\r\nfunction inputKeydown(e) {\r\n\temit('keydown', data.value, e)\r\n}\r\nfunction inputCut() {\r\n\temit('cut', data.value)\r\n}\r\nfunction inputFocus() {\r\n\terrorTip.value = ''\r\n\tif (props.disabled) return false\r\n\tfocused.value = true\r\n\temit('focus', data.value)\r\n}\r\nfunction inputBlur() {\r\n\tif (props.disabled) return false\r\n\tfocused.value = false\r\n\tif (props.trim && data.value && typeof data.value === 'string') {\r\n\t\tdata.value = String(data.value).trim()\r\n\t}\r\n\temit('blur', data.value)\r\n}\r\nfunction inputPaste() {\r\n\temit('paste', data.value)\r\n}\r\nfunction inputKeyPress(e) {\r\n\temit('keypress', data.value, e)\r\n}\r\nfunction inputInput() {\r\n\temit('input', data.value)\r\n}\r\nfunction inputEnter() {\r\n\temit('enter', data.value)\r\n}\r\nfunction inputCtrlEnter() {\r\n\temit('ctrlenter', data.value)\r\n}\r\nfunction clear() {\r\n\tdata.value = ''\r\n\tclearVisible.value = false\r\n\temit('clear')\r\n}\r\nfunction reduce() {\r\n\tdata.value = Number(data.value) - Number(props.step)\r\n}\r\nfunction increase() {\r\n\tdata.value = Number(data.value) + Number(props.step)\r\n}\r\nfunction addSuggestion(item: any) {\r\n\tdata.value += item\r\n}\r\n\r\nfunction click(e: MouseEvent) {\r\n\t// 须透传原生事件,父组件使用 @click.stop 等修饰符时才能调用 stopPropagation\r\n\temit('click', e)\r\n}\r\nfunction compare() {\r\n\tvalueStore.value.unshift(data.value)\r\n}\r\n// 撤销\r\nfunction restore() {\r\n\tdata.value = valueStore.value[0]\r\n\tvalueStore.value.splice(0, 1)\r\n}\r\n\r\ndefineExpose({\r\n\tcompare,\r\n\trestore,\r\n\tchanged,\r\n\tsetDisabled,\r\n\terrorTip,\r\n\terrorType,\r\n\tfocus: focusInput\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createBlock","_createCommentVNode","$slots","_renderSlot","_toDisplayString","_Fragment","_renderList","_createTextVNode","_createVNode"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, useSlots, isVNode, useAttrs, watch, computed, openBlock, createElementBlock, unref, normalizeClass, createElementVNode, normalizeStyle, createBlock, resolveDynamicComponent, createCommentVNode, createTextVNode, toDisplayString, renderSlot, Fragment, withCtx, renderList, mergeProps } from 'vue';
2
- import purify from '../../../../node_modules/.pnpm/dompurify@3.3.1/node_modules/dompurify/dist/purify.es.mjs';
2
+ import purify from '../../../../node_modules/.pnpm/dompurify@3.4.12/node_modules/dompurify/dist/purify.es.mjs';
3
3
  import { ToButton } from '../../button/index.mjs';
4
4
  import { langKey, t } from '../../../locale/index.mjs';
5
5
 
@@ -1,4 +1,5 @@
1
- import { defineComponent, ref, computed, watch, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeClass, normalizeStyle, Fragment, renderList, createElementVNode, toDisplayString, createCommentVNode } from 'vue';
1
+ import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, renderList, createVNode, unref, toDisplayString, createCommentVNode } from 'vue';
2
+ import { ToIcon } from '../../icon/index.mjs';
2
3
 
3
4
  const __default__ = defineComponent({
4
5
  name: "ToRate"
@@ -14,14 +15,22 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
14
15
  type: Number,
15
16
  default: 5
16
17
  },
18
+ count: {
19
+ type: Number,
20
+ default: 5
21
+ },
17
22
  size: {
18
23
  type: Number,
19
24
  default: 2
20
25
  },
21
- readonly: Boolean,
22
- allowHalf: {
23
- type: Boolean,
24
- default: false
26
+ disabled: Boolean,
27
+ step: {
28
+ type: [Number, String],
29
+ default: 1
30
+ },
31
+ dot: {
32
+ type: [Number, String],
33
+ default: "auto"
25
34
  },
26
35
  color: {
27
36
  type: String,
@@ -34,117 +43,176 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
34
43
  clearable: {
35
44
  type: Boolean,
36
45
  default: false
46
+ },
47
+ icon: {
48
+ type: String,
49
+ default: "star"
50
+ },
51
+ mode: {
52
+ type: String,
53
+ default: ""
37
54
  }
38
55
  },
39
56
  emits: ["update:modelValue", "change"],
40
57
  setup(__props, { emit: __emit }) {
41
58
  const props = __props;
42
59
  const emit = __emit;
43
- const ivalue = ref(props.modelValue);
44
- const hoverIndex = ref(0);
45
- const hoverHalf = ref(false);
46
- const isReadonly = computed(() => props.readonly);
47
- const disabled = computed(() => props.readonly);
48
- const displayValue = computed(() => {
49
- if (!isReadonly.value && hoverIndex.value > 0) {
50
- return hoverHalf.value ? hoverIndex.value - 0.5 : hoverIndex.value;
60
+ const ivalue = ref(0);
61
+ const hoverValue = ref(0);
62
+ const normalizedCount = computed(() => Math.max(1, Math.floor(Number(props.count) || 1)));
63
+ const normalizedMax = computed(() => Math.max(0, Number(props.max) || 0));
64
+ const scoreUnit = computed(() => normalizedMax.value / normalizedCount.value);
65
+ const normalizedStep = computed(() => Number(props.step) === 0.5 ? 0.5 : 1);
66
+ const isHalf = computed(() => normalizedStep.value === 0.5);
67
+ const normalizedDot = computed(() => {
68
+ if (props.dot === "auto")
69
+ return isHalf.value ? 1 : 0;
70
+ const dot = Number(props.dot);
71
+ if (!Number.isFinite(dot))
72
+ return 0;
73
+ return Math.max(0, Math.floor(dot));
74
+ });
75
+ const activeValue = computed(() => {
76
+ if (!props.disabled && hoverValue.value > 0) {
77
+ return hoverValue.value;
51
78
  }
52
79
  return ivalue.value;
53
80
  });
54
- const setStyle = computed(() => {
55
- const obj = {};
56
- if (props.size) {
57
- obj["--size"] = props.size + "em";
58
- }
59
- return obj;
81
+ const activeRateValue = computed(() => {
82
+ if (!scoreUnit.value)
83
+ return 0;
84
+ const rateValue = activeValue.value / scoreUnit.value;
85
+ return Math.round(rateValue / normalizedStep.value) * normalizedStep.value;
60
86
  });
87
+ const displayValue = computed(() => activeValue.value.toFixed(normalizedDot.value));
61
88
  watch(
62
- () => props.modelValue,
63
- (val) => {
64
- ivalue.value = val;
89
+ () => [props.modelValue, props.max, props.count, props.step, props.dot],
90
+ () => {
91
+ ivalue.value = normalizeModelValue(props.modelValue);
65
92
  },
66
93
  { immediate: true }
67
94
  );
95
+ function normalizeModelValue(value) {
96
+ const num = Number(value);
97
+ if (!Number.isFinite(num))
98
+ return 0;
99
+ return formatValue(Math.min(Math.max(num, 0), normalizedMax.value));
100
+ }
101
+ function normalizeStepValue(value) {
102
+ const limited = normalizeModelValue(value);
103
+ if (!scoreUnit.value)
104
+ return 0;
105
+ const rateValue = limited / scoreUnit.value;
106
+ const steppedValue = Math.round(rateValue / normalizedStep.value) * normalizedStep.value;
107
+ return formatValue(steppedValue * scoreUnit.value);
108
+ }
109
+ function formatValue(value) {
110
+ return Number(value.toFixed(normalizedDot.value));
111
+ }
112
+ function getItemClass(i) {
113
+ const value = activeRateValue.value;
114
+ return {
115
+ "is-on": i <= value,
116
+ "is-half-on": isHalf.value && Math.abs(i - 0.5 - value) < 1e-7,
117
+ "is-hover": !props.disabled && hoverValue.value > 0 && i <= Math.ceil(value)
118
+ };
119
+ }
120
+ function getValueByEvent(i, event) {
121
+ if (!isHalf.value)
122
+ return i * scoreUnit.value;
123
+ const rect = event.currentTarget.getBoundingClientRect();
124
+ const x = event.clientX - rect.left;
125
+ return (x < rect.width / 2 ? i - 0.5 : i) * scoreUnit.value;
126
+ }
127
+ function updateValue(value) {
128
+ const normalizedValue = normalizeStepValue(value);
129
+ ivalue.value = normalizedValue;
130
+ emit("update:modelValue", normalizedValue);
131
+ emit("change", normalizedValue);
132
+ }
68
133
  function handleClick(i, event) {
69
- if (isReadonly.value)
134
+ if (props.disabled)
70
135
  return;
71
- let value = i;
72
- if (props.allowHalf) {
73
- const rect = event.currentTarget.getBoundingClientRect();
74
- const x = event.clientX - rect.left;
75
- value = x < rect.width / 2 ? i - 0.5 : i;
76
- }
136
+ let value = getValueByEvent(i, event);
77
137
  if (props.clearable && ivalue.value === value) {
78
138
  value = 0;
79
139
  }
80
- ivalue.value = value;
81
- emit("update:modelValue", value);
82
- emit("change", value);
140
+ updateValue(value);
83
141
  }
84
- function handleHalfMove(i, event) {
85
- const rect = event.currentTarget.getBoundingClientRect();
86
- const x = event.clientX - rect.left;
87
- hoverIndex.value = i;
88
- hoverHalf.value = x < rect.width / 2;
142
+ function handleMouseMove(i, event) {
143
+ if (props.disabled)
144
+ return;
145
+ hoverValue.value = getValueByEvent(i, event);
146
+ }
147
+ function handleMouseEnter(i) {
148
+ if (props.disabled || isHalf.value)
149
+ return;
150
+ hoverValue.value = i * scoreUnit.value;
89
151
  }
90
152
  function handleMouseLeave() {
91
- if (!isReadonly.value) {
92
- hoverIndex.value = 0;
93
- hoverHalf.value = false;
153
+ if (!props.disabled) {
154
+ hoverValue.value = 0;
94
155
  }
95
156
  }
96
157
  return (_ctx, _cache) => {
97
- const _directive_dis = resolveDirective("dis");
98
- return withDirectives((openBlock(), createElementBlock(
158
+ return openBlock(), createElementBlock(
99
159
  "div",
100
160
  {
101
- class: normalizeClass(["to-rate", [`color-${__props.color}`, { "is-half": __props.allowHalf, "is-readonly": isReadonly.value }]]),
102
- style: normalizeStyle(setStyle.value),
161
+ class: normalizeClass(["to-rate", [
162
+ `color-${__props.color}`,
163
+ `mode-${__props.mode}`,
164
+ {
165
+ "is-half": isHalf.value,
166
+ "is-disabled": __props.disabled
167
+ }
168
+ ]]),
103
169
  onMouseleave: handleMouseLeave
104
170
  },
105
171
  [
106
- (openBlock(true), createElementBlock(
107
- Fragment,
108
- null,
109
- renderList(__props.max, (i) => {
110
- return openBlock(), createElementBlock("div", {
111
- key: i,
112
- class: normalizeClass(["to-rate-item", {
113
- "is-on": i <= ivalue.value,
114
- "is-half-on": __props.allowHalf && i - 0.5 <= ivalue.value && i > ivalue.value,
115
- "is-hover": !isReadonly.value && i <= hoverIndex.value && !hoverHalf.value
116
- }]),
117
- onClick: ($event) => handleClick(i, $event),
118
- onMousemove: ($event) => __props.allowHalf && !isReadonly.value ? handleHalfMove(i, $event) : void 0,
119
- onMouseenter: ($event) => !isReadonly.value ? hoverIndex.value = i : void 0
120
- }, [
121
- createElementVNode("span", { class: "to-rate-item-star" })
122
- ], 42, ["onClick", "onMousemove", "onMouseenter"]);
123
- }),
124
- 128
125
- /* KEYED_FRAGMENT */
126
- )),
127
- __props.showScore ? (openBlock(), createElementBlock(
128
- "div",
129
- {
130
- key: 0,
131
- class: "to-rate-score"
132
- },
133
- toDisplayString(displayValue.value),
134
- 1
135
- /* TEXT */
136
- )) : createCommentVNode("v-if", true)
172
+ createElementVNode("div", { class: "to-rate-group" }, [
173
+ (openBlock(true), createElementBlock(
174
+ Fragment,
175
+ null,
176
+ renderList(normalizedCount.value, (i) => {
177
+ return openBlock(), createElementBlock("div", {
178
+ key: i,
179
+ class: normalizeClass(["to-rate-item", getItemClass(i)]),
180
+ onClick: ($event) => handleClick(i, $event),
181
+ onMousemove: ($event) => handleMouseMove(i, $event),
182
+ onMouseenter: ($event) => handleMouseEnter(i)
183
+ }, [
184
+ createVNode(unref(ToIcon), {
185
+ class: "to-rate-icon is-off",
186
+ type: "fill",
187
+ value: __props.icon
188
+ }, null, 8, ["value"]),
189
+ createVNode(unref(ToIcon), {
190
+ class: "to-rate-icon is-on",
191
+ type: "fill",
192
+ value: __props.icon
193
+ }, null, 8, ["value"])
194
+ ], 42, ["onClick", "onMousemove", "onMouseenter"]);
195
+ }),
196
+ 128
197
+ /* KEYED_FRAGMENT */
198
+ ))
199
+ ]),
200
+ __props.showScore ? (openBlock(), createElementBlock("div", {
201
+ key: 0,
202
+ class: "to-rate-score"
203
+ }, [
204
+ createElementVNode(
205
+ "span",
206
+ { class: "to-rate-score-text" },
207
+ toDisplayString(displayValue.value),
208
+ 1
209
+ /* TEXT */
210
+ )
211
+ ])) : createCommentVNode("v-if", true)
137
212
  ],
138
- 38
139
- /* CLASS, STYLE, NEED_HYDRATION */
140
- )), [
141
- [
142
- _directive_dis,
143
- disabled.value,
144
- void 0,
145
- { opacity: true }
146
- ]
147
- ]);
213
+ 34
214
+ /* CLASS, NEED_HYDRATION */
215
+ );
148
216
  };
149
217
  }
150
218
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rate.vue2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToRate'\r\n});\n</script>\n<template>\r\n\t<div v-dis.opacity=\"disabled\" class=\"to-rate\" :class=\"[`color-${color}`, { 'is-half': allowHalf, 'is-readonly': isReadonly }]\" :style=\"setStyle\" @mouseleave=\"handleMouseLeave\">\r\n\t\t<div\r\n\t\t\tv-for=\"i in max\"\r\n\t\t\t:key=\"i\"\r\n\t\t\tclass=\"to-rate-item\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t'is-on': i <= ivalue,\r\n\t\t\t\t'is-half-on': allowHalf && i - 0.5 <= ivalue && i > ivalue,\r\n\t\t\t\t'is-hover': !isReadonly && i <= hoverIndex && !hoverHalf\r\n\t\t\t}\"\r\n\t\t\t@click=\"handleClick(i, $event)\"\r\n\t\t\t@mousemove=\"allowHalf && !isReadonly ? handleHalfMove(i, $event) : undefined\"\r\n\t\t\t@mouseenter=\"!isReadonly ? (hoverIndex = i) : undefined\"\r\n\t\t>\r\n\t\t\t<span class=\"to-rate-item-star\"></span>\r\n\t\t</div>\r\n\t\t<div v-if=\"showScore\" class=\"to-rate-score\">{{ displayValue }}</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { CSSProperties, computed, ref, watch } from 'vue'\r\n\r\n\r\n\r\nconst props = defineProps({\r\n\tmodelValue: {\r\n\t\ttype: Number,\r\n\t\tdefault: 0\r\n\t},\r\n\tmax: {\r\n\t\ttype: Number,\r\n\t\tdefault: 5\r\n\t},\r\n\tsize: {\r\n\t\ttype: Number,\r\n\t\tdefault: 2\r\n\t},\r\n\treadonly: Boolean,\r\n\tallowHalf: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tcolor: {\r\n\t\ttype: String,\r\n\t\tdefault: 'primary'\r\n\t},\r\n\tshowScore: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tclearable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t}\r\n})\r\n\r\nconst emit = defineEmits(['update:modelValue', 'change'])\r\n\r\nconst ivalue = ref(props.modelValue)\r\nconst hoverIndex = ref(0)\r\nconst hoverHalf = ref(false)\r\n\r\nconst isReadonly = computed(() => props.readonly)\r\nconst disabled = computed(() => props.readonly)\r\n\r\nconst displayValue = computed(() => {\r\n\tif (!isReadonly.value && hoverIndex.value > 0) {\r\n\t\treturn hoverHalf.value ? hoverIndex.value - 0.5 : hoverIndex.value\r\n\t}\r\n\treturn ivalue.value\r\n})\r\n\r\nconst setStyle = computed(() => {\r\n\tconst obj: CSSProperties = {}\r\n\tif (props.size) {\r\n\t\tobj['--size'] = props.size + 'em'\r\n\t}\r\n\treturn obj\r\n})\r\n\r\nwatch(\r\n\t() => props.modelValue,\r\n\tval => {\r\n\t\tivalue.value = val\r\n\t},\r\n\t{ immediate: true }\r\n)\r\n\r\nfunction handleClick(i: number, event: MouseEvent) {\r\n\tif (isReadonly.value) return\r\n\tlet value: number = i\r\n\tif (props.allowHalf) {\r\n\t\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\r\n\t\tconst x = event.clientX - rect.left\r\n\t\tvalue = x < rect.width / 2 ? i - 0.5 : i\r\n\t}\r\n\tif (props.clearable && ivalue.value === value) {\r\n\t\tvalue = 0\r\n\t}\r\n\tivalue.value = value\r\n\temit('update:modelValue', value)\r\n\temit('change', value)\r\n}\r\n\r\nfunction handleHalfMove(i: number, event: MouseEvent) {\r\n\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\r\n\tconst x = event.clientX - rect.left\r\n\thoverIndex.value = i\r\n\thoverHalf.value = x < rect.width / 2\r\n}\r\n\r\nfunction handleMouseLeave() {\r\n\tif (!isReadonly.value) {\r\n\t\thoverIndex.value = 0\r\n\t\thoverHalf.value = false\r\n\t}\r\n}\r\n</script>\r\n"],"names":["DO_defineComponent","_createElementBlock","_Fragment","_renderList","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"rate.vue2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToRate'\r\n});\n</script>\n<template>\r\n\t<div\r\n\t\tclass=\"to-rate\"\r\n\t\t:class=\"[\r\n\t\t\t`color-${color}`,\r\n\t\t\t`mode-${mode}`,\r\n\t\t\t{\r\n\t\t\t\t'is-half': isHalf,\r\n\t\t\t\t'is-disabled': disabled\r\n\t\t\t}\r\n\t\t]\"\r\n\t\t@mouseleave=\"handleMouseLeave\"\r\n\t>\r\n\t\t<div class=\"to-rate-group\">\r\n\t\t\t<div v-for=\"i in normalizedCount\" :key=\"i\" class=\"to-rate-item\" :class=\"getItemClass(i)\" @click=\"handleClick(i, $event)\" @mousemove=\"handleMouseMove(i, $event)\" @mouseenter=\"handleMouseEnter(i)\">\r\n\t\t\t\t<to-icon class=\"to-rate-icon is-off\" type=\"fill\" :value=\"icon\" />\r\n\t\t\t\t<to-icon class=\"to-rate-icon is-on\" type=\"fill\" :value=\"icon\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"showScore\" class=\"to-rate-score\">\r\n\t\t\t<span class=\"to-rate-score-text\">{{ displayValue }}</span>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, watch } from 'vue'\r\nimport { ToIcon } from '../../icon'\r\n\r\n\r\n\r\nconst props = defineProps({\r\n\tmodelValue: {\r\n\t\ttype: Number,\r\n\t\tdefault: 0\r\n\t},\r\n\tmax: {\r\n\t\ttype: Number,\r\n\t\tdefault: 5\r\n\t},\r\n\tcount: {\r\n\t\ttype: Number,\r\n\t\tdefault: 5\r\n\t},\r\n\tsize: {\r\n\t\ttype: Number,\r\n\t\tdefault: 2\r\n\t},\r\n\tdisabled: Boolean,\r\n\tstep: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: 1\r\n\t},\r\n\tdot: {\r\n\t\ttype: [Number, String],\r\n\t\tdefault: 'auto'\r\n\t},\r\n\tcolor: {\r\n\t\ttype: String,\r\n\t\tdefault: 'primary'\r\n\t},\r\n\tshowScore: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\tclearable: {\r\n\t\ttype: Boolean,\r\n\t\tdefault: false\r\n\t},\r\n\ticon: {\r\n\t\ttype: String,\r\n\t\tdefault: 'star'\r\n\t},\r\n\tmode: {\r\n\t\ttype: String,\r\n\t\tdefault: ''\r\n\t}\r\n})\r\n\r\nconst emit = defineEmits(['update:modelValue', 'change'])\r\n\r\nconst ivalue = ref(0)\r\nconst hoverValue = ref(0)\r\n\r\nconst normalizedCount = computed(() => Math.max(1, Math.floor(Number(props.count) || 1)))\r\nconst normalizedMax = computed(() => Math.max(0, Number(props.max) || 0))\r\nconst scoreUnit = computed(() => normalizedMax.value / normalizedCount.value)\r\nconst normalizedStep = computed(() => (Number(props.step) === 0.5 ? 0.5 : 1))\r\nconst isHalf = computed(() => normalizedStep.value === 0.5)\r\nconst normalizedDot = computed(() => {\r\n\tif (props.dot === 'auto') return isHalf.value ? 1 : 0\r\n\tconst dot = Number(props.dot)\r\n\tif (!Number.isFinite(dot)) return 0\r\n\treturn Math.max(0, Math.floor(dot))\r\n})\r\n\r\nconst activeValue = computed(() => {\r\n\tif (!props.disabled && hoverValue.value > 0) {\r\n\t\treturn hoverValue.value\r\n\t}\r\n\treturn ivalue.value\r\n})\r\n\r\nconst activeRateValue = computed(() => {\r\n\tif (!scoreUnit.value) return 0\r\n\tconst rateValue = activeValue.value / scoreUnit.value\r\n\treturn Math.round(rateValue / normalizedStep.value) * normalizedStep.value\r\n})\r\n\r\nconst displayValue = computed(() => activeValue.value.toFixed(normalizedDot.value))\r\n\r\nwatch(\r\n\t() => [props.modelValue, props.max, props.count, props.step, props.dot] as const,\r\n\t() => {\r\n\t\tivalue.value = normalizeModelValue(props.modelValue)\r\n\t},\r\n\t{ immediate: true }\r\n)\r\n\r\nfunction normalizeModelValue(value: number) {\r\n\tconst num = Number(value)\r\n\tif (!Number.isFinite(num)) return 0\r\n\treturn formatValue(Math.min(Math.max(num, 0), normalizedMax.value))\r\n}\r\n\r\nfunction normalizeStepValue(value: number) {\r\n\tconst limited = normalizeModelValue(value)\r\n\tif (!scoreUnit.value) return 0\r\n\tconst rateValue = limited / scoreUnit.value\r\n\tconst steppedValue = Math.round(rateValue / normalizedStep.value) * normalizedStep.value\r\n\treturn formatValue(steppedValue * scoreUnit.value)\r\n}\r\n\r\nfunction formatValue(value: number) {\r\n\treturn Number(value.toFixed(normalizedDot.value))\r\n}\r\n\r\nfunction getItemClass(i: number) {\r\n\tconst value = activeRateValue.value\r\n\treturn {\r\n\t\t'is-on': i <= value,\r\n\t\t'is-half-on': isHalf.value && Math.abs(i - 0.5 - value) < 0.0000001,\r\n\t\t'is-hover': !props.disabled && hoverValue.value > 0 && i <= Math.ceil(value)\r\n\t}\r\n}\r\n\r\nfunction getValueByEvent(i: number, event: MouseEvent) {\r\n\tif (!isHalf.value) return i * scoreUnit.value\r\n\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\r\n\tconst x = event.clientX - rect.left\r\n\treturn (x < rect.width / 2 ? i - 0.5 : i) * scoreUnit.value\r\n}\r\n\r\nfunction updateValue(value: number) {\r\n\tconst normalizedValue = normalizeStepValue(value)\r\n\tivalue.value = normalizedValue\r\n\temit('update:modelValue', normalizedValue)\r\n\temit('change', normalizedValue)\r\n}\r\n\r\nfunction handleClick(i: number, event: MouseEvent) {\r\n\tif (props.disabled) return\r\n\tlet value = getValueByEvent(i, event)\r\n\tif (props.clearable && ivalue.value === value) {\r\n\t\tvalue = 0\r\n\t}\r\n\tupdateValue(value)\r\n}\r\n\r\nfunction handleMouseMove(i: number, event: MouseEvent) {\r\n\tif (props.disabled) return\r\n\thoverValue.value = getValueByEvent(i, event)\r\n}\r\n\r\nfunction handleMouseEnter(i: number) {\r\n\tif (props.disabled || isHalf.value) return\r\n\thoverValue.value = i * scoreUnit.value\r\n}\r\n\r\nfunction handleMouseLeave() {\r\n\tif (!props.disabled) {\r\n\t\thoverValue.value = 0\r\n\t}\r\n}\r\n</script>\r\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_Fragment","_renderList","_normalizeClass","_createVNode","_unref"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,QAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAgDd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,MAAA,GAAS,IAAI,CAAC,CAAA,CAAA;AACpB,IAAM,MAAA,UAAA,GAAa,IAAI,CAAC,CAAA,CAAA;AAExB,IAAA,MAAM,eAAkB,GAAA,QAAA,CAAS,MAAM,IAAA,CAAK,IAAI,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,MAAA,CAAO,KAAM,CAAA,KAAK,CAAK,IAAA,CAAC,CAAC,CAAC,CAAA,CAAA;AACxF,IAAM,MAAA,aAAA,GAAgB,QAAS,CAAA,MAAM,IAAK,CAAA,GAAA,CAAI,CAAG,EAAA,MAAA,CAAO,KAAM,CAAA,GAAG,CAAK,IAAA,CAAC,CAAC,CAAA,CAAA;AACxE,IAAA,MAAM,YAAY,QAAS,CAAA,MAAM,aAAc,CAAA,KAAA,GAAQ,gBAAgB,KAAK,CAAA,CAAA;AAC5E,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAO,MAAA,CAAO,MAAM,IAAI,CAAA,KAAM,GAAM,GAAA,GAAA,GAAM,CAAE,CAAA,CAAA;AAC5E,IAAA,MAAM,MAAS,GAAA,QAAA,CAAS,MAAM,cAAA,CAAe,UAAU,GAAG,CAAA,CAAA;AAC1D,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACpC,MAAA,IAAI,MAAM,GAAQ,KAAA,MAAA;AAAQ,QAAO,OAAA,MAAA,CAAO,QAAQ,CAAI,GAAA,CAAA,CAAA;AACpD,MAAM,MAAA,GAAA,GAAM,MAAO,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAC5B,MAAI,IAAA,CAAC,MAAO,CAAA,QAAA,CAAS,GAAG,CAAA;AAAG,QAAO,OAAA,CAAA,CAAA;AAClC,MAAA,OAAO,KAAK,GAAI,CAAA,CAAA,EAAG,IAAK,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA;AAAA,KAClC,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AAClC,MAAA,IAAI,CAAC,KAAA,CAAM,QAAY,IAAA,UAAA,CAAW,QAAQ,CAAG,EAAA;AAC5C,QAAA,OAAO,UAAW,CAAA,KAAA,CAAA;AAAA,OACnB;AACA,MAAA,OAAO,MAAO,CAAA,KAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAED,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACtC,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AAAO,QAAO,OAAA,CAAA,CAAA;AAC7B,MAAM,MAAA,SAAA,GAAY,WAAY,CAAA,KAAA,GAAQ,SAAU,CAAA,KAAA,CAAA;AAChD,MAAA,OAAO,KAAK,KAAM,CAAA,SAAA,GAAY,cAAe,CAAA,KAAK,IAAI,cAAe,CAAA,KAAA,CAAA;AAAA,KACrE,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM,WAAA,CAAY,MAAM,OAAQ,CAAA,aAAA,CAAc,KAAK,CAAC,CAAA,CAAA;AAElF,IAAA,KAAA;AAAA,MACC,MAAM,CAAC,KAAA,CAAM,UAAY,EAAA,KAAA,CAAM,GAAK,EAAA,KAAA,CAAM,KAAO,EAAA,KAAA,CAAM,IAAM,EAAA,KAAA,CAAM,GAAG,CAAA;AAAA,MACtE,MAAM;AACL,QAAO,MAAA,CAAA,KAAA,GAAQ,mBAAoB,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,OACpD;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACnB,CAAA;AAEA,IAAA,SAAS,oBAAoB,KAAe,EAAA;AAC3C,MAAM,MAAA,GAAA,GAAM,OAAO,KAAK,CAAA,CAAA;AACxB,MAAI,IAAA,CAAC,MAAO,CAAA,QAAA,CAAS,GAAG,CAAA;AAAG,QAAO,OAAA,CAAA,CAAA;AAClC,MAAO,OAAA,WAAA,CAAY,IAAK,CAAA,GAAA,CAAI,IAAK,CAAA,GAAA,CAAI,KAAK,CAAC,CAAA,EAAG,aAAc,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KACnE;AAEA,IAAA,SAAS,mBAAmB,KAAe,EAAA;AAC1C,MAAM,MAAA,OAAA,GAAU,oBAAoB,KAAK,CAAA,CAAA;AACzC,MAAA,IAAI,CAAC,SAAU,CAAA,KAAA;AAAO,QAAO,OAAA,CAAA,CAAA;AAC7B,MAAM,MAAA,SAAA,GAAY,UAAU,SAAU,CAAA,KAAA,CAAA;AACtC,MAAA,MAAM,eAAe,IAAK,CAAA,KAAA,CAAM,YAAY,cAAe,CAAA,KAAK,IAAI,cAAe,CAAA,KAAA,CAAA;AACnF,MAAO,OAAA,WAAA,CAAY,YAAe,GAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KAClD;AAEA,IAAA,SAAS,YAAY,KAAe,EAAA;AACnC,MAAA,OAAO,MAAO,CAAA,KAAA,CAAM,OAAQ,CAAA,aAAA,CAAc,KAAK,CAAC,CAAA,CAAA;AAAA,KACjD;AAEA,IAAA,SAAS,aAAa,CAAW,EAAA;AAChC,MAAA,MAAM,QAAQ,eAAgB,CAAA,KAAA,CAAA;AAC9B,MAAO,OAAA;AAAA,QACN,SAAS,CAAK,IAAA,KAAA;AAAA,QACd,YAAA,EAAc,OAAO,KAAS,IAAA,IAAA,CAAK,IAAI,CAAI,GAAA,GAAA,GAAM,KAAK,CAAI,GAAA,IAAA;AAAA,QAC1D,UAAA,EAAY,CAAC,KAAA,CAAM,QAAY,IAAA,UAAA,CAAW,QAAQ,CAAK,IAAA,CAAA,IAAK,IAAK,CAAA,IAAA,CAAK,KAAK,CAAA;AAAA,OAC5E,CAAA;AAAA,KACD;AAEA,IAAS,SAAA,eAAA,CAAgB,GAAW,KAAmB,EAAA;AACtD,MAAA,IAAI,CAAC,MAAO,CAAA,KAAA;AAAO,QAAA,OAAO,IAAI,SAAU,CAAA,KAAA,CAAA;AACxC,MAAM,MAAA,IAAA,GAAQ,KAAM,CAAA,aAAA,CAA8B,qBAAsB,EAAA,CAAA;AACxE,MAAM,MAAA,CAAA,GAAI,KAAM,CAAA,OAAA,GAAU,IAAK,CAAA,IAAA,CAAA;AAC/B,MAAA,OAAA,CAAQ,IAAI,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAI,GAAA,GAAA,GAAM,KAAK,SAAU,CAAA,KAAA,CAAA;AAAA,KACvD;AAEA,IAAA,SAAS,YAAY,KAAe,EAAA;AACnC,MAAM,MAAA,eAAA,GAAkB,mBAAmB,KAAK,CAAA,CAAA;AAChD,MAAA,MAAA,CAAO,KAAQ,GAAA,eAAA,CAAA;AACf,MAAA,IAAA,CAAK,qBAAqB,eAAe,CAAA,CAAA;AACzC,MAAA,IAAA,CAAK,UAAU,eAAe,CAAA,CAAA;AAAA,KAC/B;AAEA,IAAS,SAAA,WAAA,CAAY,GAAW,KAAmB,EAAA;AAClD,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACpB,MAAI,IAAA,KAAA,GAAQ,eAAgB,CAAA,CAAA,EAAG,KAAK,CAAA,CAAA;AACpC,MAAA,IAAI,KAAM,CAAA,SAAA,IAAa,MAAO,CAAA,KAAA,KAAU,KAAO,EAAA;AAC9C,QAAQ,KAAA,GAAA,CAAA,CAAA;AAAA,OACT;AACA,MAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,KAClB;AAEA,IAAS,SAAA,eAAA,CAAgB,GAAW,KAAmB,EAAA;AACtD,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACpB,MAAW,UAAA,CAAA,KAAA,GAAQ,eAAgB,CAAA,CAAA,EAAG,KAAK,CAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,SAAS,iBAAiB,CAAW,EAAA;AACpC,MAAI,IAAA,KAAA,CAAM,YAAY,MAAO,CAAA,KAAA;AAAO,QAAA,OAAA;AACpC,MAAW,UAAA,CAAA,KAAA,GAAQ,IAAI,SAAU,CAAA,KAAA,CAAA;AAAA,KAClC;AAEA,IAAA,SAAS,gBAAmB,GAAA;AAC3B,MAAI,IAAA,CAAC,MAAM,QAAU,EAAA;AACpB,QAAA,UAAA,CAAW,KAAQ,GAAA,CAAA,CAAA;AAAA,OACpB;AAAA,KACD;;wBAtLC,EAAAC,kBAAA;AAAA,QAqBM,KAAA;AAAA,QAAA;AAAA,UApBL,KAAA,kBAAM,SAAS,EAAA;AAAA,qBACQ,OAAK,CAAA,KAAA,CAAA,CAAA;AAAA,oBAAgB,OAAI,CAAA,IAAA,CAAA,CAAA;AAAA;yBAA0B,MAAM,CAAA,KAAA;AAAA,6BAAsB,OAAQ,CAAA,QAAA;AAAA;;UAQ7G,YAAY,EAAA,gBAAA;AAAA;;UAEbC,kBAKM,CAAA,KAAA,EAAA,EALD,KAAA,EAAM,iBAAe,EAAA;AAAA,4BACzB,EAAAD,kBAAA;AAAA,cAGME,QAAA;AAAA,cAAA,IAAA;AAAA,cAAAC,UAHW,CAAA,eAAA,CAAe,KAAA,EAAA,CAApB,CAAC,KAAA;kCAAb,EAAAH,kBAAA,CAGM,KAAA,EAAA;AAAA,kBAH6B,GAAK,EAAA,CAAA;AAAA,kBAAG,OAAMI,cAAA,CAAA,CAAA,gBAAuB,YAAa,CAAA,CAAC,CAAA,CAAA,CAAA;AAAA,kBAAI,OAAO,EAAA,CAAA,MAAA,KAAA,WAAA,CAAY,GAAG,MAAM,CAAA;AAAA,kBAAI,WAAW,EAAA,CAAA,MAAA,KAAA,eAAA,CAAgB,GAAG,MAAM,CAAA;AAAA,kBAAI,YAAU,EAAA,CAAA,MAAE,KAAA,gBAAA,CAAiB,CAAC,CAAA;AAAA;kBAC/LC,WAAA,CAAiEC,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,oBAAxD,KAAM,EAAA,qBAAA;AAAA,oBAAsB,IAAK,EAAA,MAAA;AAAA,oBAAQ,OAAO,OAAI,CAAA,IAAA;AAAA;kBAC7DD,WAAA,CAAgEC,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,oBAAvD,KAAM,EAAA,oBAAA;AAAA,oBAAqB,IAAK,EAAA,MAAA;AAAA,oBAAQ,OAAO,OAAI,CAAA,IAAA;AAAA;;;;;;;UAGnD,OAAS,CAAA,SAAA,iBAApBN,mBAEM,KAAA,EAAA;AAAA;YAFgB,KAAM,EAAA,eAAA;AAAA;YAC3BC,kBAAA;AAAA,cAA0D,MAAA;AAAA,cAApD,EAAA,OAAM;8BAAwB,aAAY,KAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;;;;;;;;"}
@@ -504,7 +504,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
504
504
  class: normalizeClass(["to-segment-item", setItemClass(item)]),
505
505
  onClick: ($event) => change(item, index)
506
506
  }, [
507
- __props.type === "color" ? renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
507
+ __props.type === "color" ? renderSlot(_ctx.$slots, "default", {}, () => [
508
508
  createElementVNode(
509
509
  "div",
510
510
  {
@@ -515,7 +515,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
515
515
  4
516
516
  /* STYLE */
517
517
  )
518
- ]) : (openBlock(), createElementBlock(
518
+ ], void 0, 0) : (openBlock(), createElementBlock(
519
519
  Fragment,
520
520
  { key: 1 },
521
521
  [
@@ -140,6 +140,14 @@ const selectProps = {
140
140
  type: Boolean,
141
141
  default: false
142
142
  },
143
+ /**
144
+ * 多选时是否折叠标签为计数显示(+N)
145
+ * 开启后自动根据宽度判断一行能放下的标签数,超出部分显示 +N
146
+ */
147
+ isCount: {
148
+ type: Boolean,
149
+ default: false
150
+ },
143
151
  /**
144
152
  * 是否可过滤
145
153
  */
@@ -175,6 +183,16 @@ const selectProps = {
175
183
  type: Boolean,
176
184
  default: true
177
185
  },
186
+ /**
187
+ * 清空方式
188
+ * - icon:输入框内显示清除图标按钮,不展示"请选择"默认项
189
+ * - default:通过下拉选项中的"请选择"空选项清空(原始行为)
190
+ * 支持全局配置 $TouchUI.select.clearType
191
+ */
192
+ clearType: {
193
+ type: String,
194
+ default: ""
195
+ },
178
196
  /**
179
197
  * 多选是否可逐个删除
180
198
  */