@touchvue/ui 1.0.0-beta.52 → 1.0.0-beta.54

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 (180) 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/slide/src/slide.vue.d.ts +4 -0
  14. package/es/components/tab/src/tab-item.vue.d.ts +2 -0
  15. package/es/components/timeline/src/timeline.vue.d.ts +5 -0
  16. package/es/directives/index.d.ts +2 -1
  17. package/es/directives/press/index.d.ts +2 -0
  18. package/es/directives/press/src/press.d.ts +20 -0
  19. package/es/index.d.mjs +1 -0
  20. package/es/index.d.mjs.map +1 -1
  21. package/es/index.mjs +1 -0
  22. package/es/index.mjs.map +1 -1
  23. package/es/packages/components/calendar/src/calendar.mjs +7 -0
  24. package/es/packages/components/calendar/src/calendar.mjs.map +1 -1
  25. package/es/packages/components/calendar/src/calendar.vue2.mjs +31 -38
  26. package/es/packages/components/calendar/src/calendar.vue2.mjs.map +1 -1
  27. package/es/packages/components/cascader/src/cascader-item.vue2.mjs +36 -84
  28. package/es/packages/components/cascader/src/cascader-item.vue2.mjs.map +1 -1
  29. package/es/packages/components/cascader/src/cascader.vue2.mjs +86 -28
  30. package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
  31. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs +2 -3
  32. package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
  33. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +9 -3
  34. package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
  35. package/es/packages/components/datepicker/src/Picker.vue2.mjs +4 -0
  36. package/es/packages/components/datepicker/src/Picker.vue2.mjs.map +1 -1
  37. package/es/packages/components/datepicker/src/date-picker.mjs.map +1 -1
  38. package/es/packages/components/datepicker/src/use-date-picker.mjs +8 -8
  39. package/es/packages/components/datepicker/src/use-date-picker.mjs.map +1 -1
  40. package/es/packages/components/float/src/Float.vue2.mjs +10 -3
  41. package/es/packages/components/float/src/Float.vue2.mjs.map +1 -1
  42. package/es/packages/components/float/src/float.mjs +1 -0
  43. package/es/packages/components/float/src/float.mjs.map +1 -1
  44. package/es/packages/components/header/src/header.vue2.mjs +1 -0
  45. package/es/packages/components/header/src/header.vue2.mjs.map +1 -1
  46. package/es/packages/components/icon/src/icon.vue2.mjs +7 -3
  47. package/es/packages/components/icon/src/icon.vue2.mjs.map +1 -1
  48. package/es/packages/components/index.d.mjs +1 -0
  49. package/es/packages/components/index.d.mjs.map +1 -1
  50. package/es/packages/components/index.mjs +1 -0
  51. package/es/packages/components/index.mjs.map +1 -1
  52. package/es/packages/components/input/src/input.vue2.mjs +9 -9
  53. package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
  54. package/es/packages/components/select/src/select.vue2.mjs +0 -9
  55. package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
  56. package/es/packages/components/slide/src/slide.vue2.mjs +3 -1
  57. package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
  58. package/es/packages/components/tab/src/tab-item.vue2.mjs +3 -1
  59. package/es/packages/components/tab/src/tab-item.vue2.mjs.map +1 -1
  60. package/es/packages/components/tab/src/tab.vue2.mjs +54 -9
  61. package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
  62. package/es/packages/components/tree/src/tree.vue2.mjs +2 -0
  63. package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
  64. package/es/packages/directives/index.d.mjs +1 -0
  65. package/es/packages/directives/index.d.mjs.map +1 -1
  66. package/es/packages/directives/index.mjs +3 -3
  67. package/es/packages/directives/index.mjs.map +1 -1
  68. package/es/packages/directives/press/index.d.mjs +2 -0
  69. package/es/packages/directives/press/index.mjs +2 -0
  70. package/es/packages/directives/press/src/press.d.mjs +2 -0
  71. package/es/packages/directives/press/src/press.d.mjs.map +1 -0
  72. package/es/packages/directives/press/src/press.mjs +100 -0
  73. package/es/packages/directives/press/src/press.mjs.map +1 -0
  74. package/es/packages/locale/lang/en-US.mjs +6 -0
  75. package/es/packages/locale/lang/en-US.mjs.map +1 -1
  76. package/es/packages/locale/lang/zh-CN.mjs +6 -0
  77. package/es/packages/locale/lang/zh-CN.mjs.map +1 -1
  78. package/es/packages/utils/validate.mjs.map +1 -1
  79. package/lib/components/calendar/src/calendar.d.ts +8 -1
  80. package/lib/components/calendar/src/calendar.vue.d.ts +9 -0
  81. package/lib/components/cascader/src/cascader-item.vue.d.ts +5 -1
  82. package/lib/components/cascader/src/cascader.vue.d.ts +0 -7
  83. package/lib/components/datepicker/src/DatePicker.vue.d.ts +9 -0
  84. package/lib/components/datepicker/src/Picker.vue.d.ts +9 -0
  85. package/lib/components/datepicker/src/date-picker.d.ts +1 -1
  86. package/lib/components/datepicker/src/use-date-picker.d.ts +1 -0
  87. package/lib/components/float/index.d.ts +15 -0
  88. package/lib/components/float/src/Float.vue.d.ts +9 -0
  89. package/lib/components/float/src/float.d.ts +4 -0
  90. package/lib/components/icon/src/icon.vue.d.ts +2 -0
  91. package/lib/components/slide/src/slide.vue.d.ts +4 -0
  92. package/lib/components/tab/src/tab-item.vue.d.ts +2 -0
  93. package/lib/components/timeline/src/timeline.vue.d.ts +5 -0
  94. package/lib/directives/index.d.ts +2 -1
  95. package/lib/directives/press/index.d.ts +2 -0
  96. package/lib/directives/press/src/press.d.ts +20 -0
  97. package/lib/index.d.js +2 -0
  98. package/lib/index.d.js.map +1 -1
  99. package/lib/index.js +2 -0
  100. package/lib/index.js.map +1 -1
  101. package/lib/packages/components/calendar/src/calendar.js +7 -0
  102. package/lib/packages/components/calendar/src/calendar.js.map +1 -1
  103. package/lib/packages/components/calendar/src/calendar.vue2.js +31 -38
  104. package/lib/packages/components/calendar/src/calendar.vue2.js.map +1 -1
  105. package/lib/packages/components/cascader/src/cascader-item.vue2.js +35 -83
  106. package/lib/packages/components/cascader/src/cascader-item.vue2.js.map +1 -1
  107. package/lib/packages/components/cascader/src/cascader.vue2.js +85 -27
  108. package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
  109. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js +1 -2
  110. package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
  111. package/lib/packages/components/datepicker/src/DatePicker.vue2.js +9 -3
  112. package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
  113. package/lib/packages/components/datepicker/src/Picker.vue2.js +4 -0
  114. package/lib/packages/components/datepicker/src/Picker.vue2.js.map +1 -1
  115. package/lib/packages/components/datepicker/src/date-picker.js.map +1 -1
  116. package/lib/packages/components/datepicker/src/use-date-picker.js +8 -8
  117. package/lib/packages/components/datepicker/src/use-date-picker.js.map +1 -1
  118. package/lib/packages/components/float/src/Float.vue2.js +9 -2
  119. package/lib/packages/components/float/src/Float.vue2.js.map +1 -1
  120. package/lib/packages/components/float/src/float.js +1 -0
  121. package/lib/packages/components/float/src/float.js.map +1 -1
  122. package/lib/packages/components/header/src/header.vue2.js +1 -0
  123. package/lib/packages/components/header/src/header.vue2.js.map +1 -1
  124. package/lib/packages/components/icon/src/icon.vue2.js +7 -3
  125. package/lib/packages/components/icon/src/icon.vue2.js.map +1 -1
  126. package/lib/packages/components/index.d.js +2 -0
  127. package/lib/packages/components/index.d.js.map +1 -1
  128. package/lib/packages/components/index.js +2 -0
  129. package/lib/packages/components/index.js.map +1 -1
  130. package/lib/packages/components/input/src/input.vue2.js +9 -9
  131. package/lib/packages/components/input/src/input.vue2.js.map +1 -1
  132. package/lib/packages/components/select/src/select.vue2.js +0 -9
  133. package/lib/packages/components/select/src/select.vue2.js.map +1 -1
  134. package/lib/packages/components/slide/src/slide.vue2.js +3 -1
  135. package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
  136. package/lib/packages/components/tab/src/tab-item.vue2.js +3 -1
  137. package/lib/packages/components/tab/src/tab-item.vue2.js.map +1 -1
  138. package/lib/packages/components/tab/src/tab.vue2.js +53 -8
  139. package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
  140. package/lib/packages/components/tree/src/tree.vue2.js +2 -0
  141. package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
  142. package/lib/packages/directives/index.d.js +2 -0
  143. package/lib/packages/directives/index.d.js.map +1 -1
  144. package/lib/packages/directives/index.js +3 -2
  145. package/lib/packages/directives/index.js.map +1 -1
  146. package/lib/packages/directives/press/index.d.js +8 -0
  147. package/lib/packages/directives/press/index.js +8 -0
  148. package/lib/packages/directives/press/src/press.d.js +3 -0
  149. package/lib/packages/directives/press/src/press.d.js.map +1 -0
  150. package/lib/packages/directives/press/src/press.js +102 -0
  151. package/lib/packages/directives/press/src/press.js.map +1 -0
  152. package/lib/packages/locale/lang/en-US.js +6 -0
  153. package/lib/packages/locale/lang/en-US.js.map +1 -1
  154. package/lib/packages/locale/lang/zh-CN.js +6 -0
  155. package/lib/packages/locale/lang/zh-CN.js.map +1 -1
  156. package/lib/packages/utils/validate.js.map +1 -1
  157. package/package.json +1 -1
  158. package/theme/components/index.css +74 -18
  159. package/theme/index.css +74 -18
  160. package/theme/skin/default.css +74 -18
  161. package/es/directives/longtap/index.d.ts +0 -2
  162. package/es/directives/longtap/src/longtap.d.ts +0 -7
  163. package/es/packages/directives/longtap/index.d.mjs +0 -2
  164. package/es/packages/directives/longtap/index.mjs +0 -2
  165. package/es/packages/directives/longtap/src/longtap.d.mjs +0 -2
  166. package/es/packages/directives/longtap/src/longtap.d.mjs.map +0 -1
  167. package/es/packages/directives/longtap/src/longtap.mjs +0 -80
  168. package/es/packages/directives/longtap/src/longtap.mjs.map +0 -1
  169. package/lib/directives/longtap/index.d.ts +0 -2
  170. package/lib/directives/longtap/src/longtap.d.ts +0 -7
  171. package/lib/packages/directives/longtap/index.d.js +0 -8
  172. package/lib/packages/directives/longtap/index.js +0 -8
  173. package/lib/packages/directives/longtap/src/longtap.d.js +0 -3
  174. package/lib/packages/directives/longtap/src/longtap.d.js.map +0 -1
  175. package/lib/packages/directives/longtap/src/longtap.js +0 -82
  176. package/lib/packages/directives/longtap/src/longtap.js.map +0 -1
  177. /package/es/packages/directives/{longtap → press}/index.d.mjs.map +0 -0
  178. /package/es/packages/directives/{longtap → press}/index.mjs.map +0 -0
  179. /package/lib/packages/directives/{longtap → press}/index.d.js.map +0 -0
  180. /package/lib/packages/directives/{longtap → press}/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sources":["../../../../packages/utils/validate.ts"],"sourcesContent":["import { createVNode, render, nextTick, type ComponentPublicInstance } from 'vue'\ntype VueInstance = ComponentPublicInstance\nimport { ToTooltip, $tip } from '@touchvue/components'\nimport { hasClass } from './dom'\nimport { t } from '@touchvue/locale'\n\ninterface ValidationRule {\n\trule: RegExp\n\tdesc: string\n\tremark?: string\n}\n\ninterface Regs {\n\t[key: string]: ValidationRule\n}\nconst regs: Regs = {\n\t// 基础判断\n\ten: {\n\t\trule: /^[A-Za-z]+$/,\n\t\tdesc: t('to.validate.desc.en')\n\t},\n\t'en-lower': {\n\t\trule: /^[a-z]+$/,\n\t\tdesc: t('to.validate.desc.enLower')\n\t},\n\t'en-upper': {\n\t\trule: /^[A-Z]+$/,\n\t\tdesc: t('to.validate.desc.enUpper')\n\t},\n\t'en-none': {\n\t\trule: /^[^A-Za-z]*$/,\n\t\tdesc: t('to.validate.desc.enNone')\n\t},\n\tcn: {\n\t\trule: /^(?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])+$/,\n\t\tdesc: t('to.validate.desc.cn')\n\t},\n\tnumber: {\n\t\trule: /^[-+]?([1-9][0-9]*|0)(\\.[0-9]+)?$/,\n\t\tdesc: t('to.validate.desc.number')\n\t},\n\tinteger: {\n\t\trule: /^-?[0-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integer')\n\t},\n\t'integer-p': {\n\t\trule: /^\\+?[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerP')\n\t},\n\t'integer-n': {\n\t\trule: /^-[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerN')\n\t},\n\tnature: {\n\t\trule: /^\\d+$/,\n\t\tdesc: t('to.validate.desc.nature')\n\t},\n\tdate: {\n\t\trule: /^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/,\n\t\tdesc: t('to.validate.desc.date')\n\t},\n\ttime: {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time')\n\t},\n\t'time-12': {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time12')\n\t},\n\t// 基本数据格式\n\tmoney: {\n\t\trule: /^-?\\d+(,\\d{3})*(\\.\\d{1,2})?$/,\n\t\tdesc: t('to.validate.desc.money')\n\t},\n\tip: {\n\t\trule: /^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]).){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/,\n\t\tdesc: t('to.validate.desc.ip')\n\t},\n\t'ip-v6': {\n\t\trule: /^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))|\\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/i,\n\t\tdesc: t('to.validate.desc.ipV6')\n\t},\n\tpassword: {\n\t\trule: /^\\S*(?=\\S{6,})(?=\\S*\\d)(?=\\S*[A-Z])(?=\\S*[a-z])(?=\\S*[!@#$%^&*? ])\\S*$/,\n\t\tdesc: t('to.validate.desc.password'),\n\t\tremark: t('to.validate.remark.password')\n\t},\n\tusername: {\n\t\trule: /^[a-zA-Z0-9_-]{4,16}$/,\n\t\tdesc: t('to.validate.desc.username'),\n\t\tremark: t('to.validate.remark.username')\n\t},\n\t// 用户信息\n\tname: {\n\t\trule: /^([\\u4e00-\\u9fa5·]{2,16}|[a-zA-Z.\\s]{1,20})$/,\n\t\tdesc: t('to.validate.desc.name')\n\t},\n\t'name-cn': {\n\t\trule: /^(?:[\\u4e00-\\u9fa5·]{2,16})$/,\n\t\tdesc: t('to.validate.desc.nameCn')\n\t},\n\t'name-en': {\n\t\trule: /(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/,\n\t\tdesc: t('to.validate.desc.nameEn')\n\t},\n\temail: {\n\t\trule: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n\t\tdesc: t('to.validate.desc.email')\n\t},\n\tqq: {\n\t\trule: /^[1-9][0-9]{4,10}$/,\n\t\tdesc: t('to.validate.desc.qq')\n\t},\n\twechat: {\n\t\trule: /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/,\n\t\tdesc: t('to.validate.desc.wechat')\n\t},\n\tweb: {\n\t\trule: /^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/,\n\t\tdesc: t('to.validate.desc.web')\n\t},\n\tuscc: {\n\t\trule: /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,\n\t\tdesc: t('to.validate.desc.uscc')\n\t},\n\tbank: {\n\t\trule: /^[1-9]\\d{9,29}$/,\n\t\tdesc: t('to.validate.desc.bank')\n\t},\n\tphone: {\n\t\trule: /^1[3456789]\\d{9}$/,\n\t\tdesc: t('to.validate.desc.phone')\n\t},\n\ttelphone: {\n\t\trule: /^\\d{3}-\\d{8}$|^\\d{4}-\\d{7,8}$/,\n\t\tdesc: t('to.validate.desc.telphone')\n\t},\n\tid: {\n\t\trule: /^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$/,\n\t\tdesc: t('to.validate.desc.id')\n\t},\n\tpassport: {\n\t\trule: /(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/,\n\t\tdesc: t('to.validate.desc.passport')\n\t},\n\tmac: {\n\t\trule: /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i,\n\t\tdesc: t('to.validate.desc.mac')\n\t}\n}\n\n// 判断是否在滚动条以内\nfunction isHideByScroller(node) {\n\tconst el = node\n\twhile (node && !hasClass(node, 'to-scroll') && node.nodeName !== 'BODY') {\n\t\tnode = (node as VueInstance & { __vueParentComponent?: any; __vue_app__?: any }).__vueParentComponent || node.parentNode\n\t}\n\tif (node && node.nodeName !== 'BODY') {\n\t\tconst scroller = node\n\t\treturn el.getBoundingClientRect().top > scroller.getBoundingClientRect().top + scroller.offsetHeight || el.getBoundingClientRect().top + el.offsetHeight <= scroller.getBoundingClientRect().top\n\t} else {\n\t\treturn false\n\t}\n}\n\n// 显示提示的方法\nfunction showTip(formEl, desc = '') {\n\t// 元素未被隐藏使用 tooltip\n\tif (formEl.offsetWidth > 0 && !isHideByScroller(formEl)) {\n\t\tconst tooltip = createVNode(\n\t\t\tToTooltip,\n\t\t\t{\n\t\t\t\tevent: '',\n\t\t\t\tshadow: false,\n\t\t\t\tposition: 'auto',\n\t\t\t\talign: 'auto',\n\t\t\t\tcolor: 'danger',\n\t\t\t\twidth: '',\n\t\t\t\tlazy: true,\n\t\t\t\tcloseOnBlur: true,\n\t\t\t\tisScrollClose: true,\n\t\t\t\tdelay: 0,\n\t\t\t\tmode: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tdefault: () => desc\n\t\t\t}\n\t\t)\n\t\tconst container = document.createElement('div')\n\t\trender(tooltip, container)\n\t\tdocument.body.appendChild(container)\n\t\tnextTick(() => {\n\t\t\tformEl._tip = {\n\t\t\t\tvnode: tooltip,\n\t\t\t\tcontainer\n\t\t\t}\n\t\t\tconst open = () => {\n\t\t\t\ttooltip.component.exposed.open(formEl)\n\t\t\t}\n\t\t\t// const close = () => {\n\t\t\t// \ttooltip.component.exposed.close(formEl)\n\t\t\t// }\n\t\t\t// 参数 click,弹出方式\n\t\t\t// if (binding.arg) {\n\t\t\t// \tformEl.addEventListener('click', open)\n\t\t\t// } else {\n\t\t\t// formEl.addEventListener('mouseenter', open)\n\t\t\t// formEl.addEventListener('mouseleave', close)\n\t\t\topen()\n\t\t\t// }\n\t\t})\n\n\t\t// 当前元素获取焦点\n\t\tif (formEl.getElementsByTagName('input')[0]) {\n\t\t\tformEl.getElementsByTagName('input')[0].select()\n\t\t}\n\t}\n\n\t// 元素被隐藏使用 floattip\n\telse {\n\t\t// ToTip.danger(desc)\n\t\t$tip.warning(desc)\n\t}\n}\n\n/**\n * 表单验证函数\n * 该函数用于验证网页表单中的输入是否符合规范\n * 它可以接受一个DOM元素、Vue实例或元素ID作为参数,并验证指定元素及其子元素中带有.to-validate类的元素\n * @param {string|HTMLElement|Vue} dom - 表单的DOM元素、Vue实例或元素ID\n * @param {boolean} isAll - 是否验证所有输入项,默认为false,只验证第一个不符合规则的项\n * @returns {boolean} - 如果所有验证项都通过验证,则返回true;否则返回false\n */\nconst validate = function (dom: string | HTMLElement | VueInstance, isAll = false): boolean {\n\t// 存储待验证的DOM节点\n\tlet nodes: Element[] = []\n\n\t// 标记验证是否全部通过\n\tlet allPass = true\n\n\t// 标记所有在滚动条之外的节点\n\tconst hiddenErrorNodes = []\n\n\t// 记录第一个校验不通过的节点(按 DOM 顺序),用于滚动定位\n\tlet firstErrorNode: any = null\n\n\t/**\n\t * 标记所有在滚动条之外的节点信息\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\n\t */\n\tfunction setHiddenErrorNodes(formEl) {\n\t\t// 记录首个错误节点(仅记录第一次)\n\t\tif (!firstErrorNode) firstErrorNode = formEl\n\t\t\n\t\t// 如果表单元素在滚动条之外,则将其添加到隐藏错误节点列表中\n\t\telse {\n\t\t\thiddenErrorNodes.push(formEl)\n\t\t}\n\t}\n\n\t// 根据传入参数类型获取待验证的节点列表\n\tif (typeof dom === 'string' && document.getElementById(dom)) {\n\t\tnodes = Array.from(document.getElementById(dom).querySelectorAll('.to-validate'))\n\t} else if (dom instanceof HTMLElement) {\n\t\tnodes = Array.from(dom.querySelectorAll('.to-validate'))\n\t} else if (typeof dom !== 'string' && dom && dom.$el) {\n\t\tnodes = Array.from(dom.$el.querySelectorAll('.to-validate'))\n\t}\n\n\t// 如果没有找到任何待验证的节点,直接返回true\n\tif (nodes.length === 0) {\n\t\treturn true\n\t}\n\n\t// 遍历所有待验证的节点\n\tfor (let i = 0; i < nodes.length; i++) {\n\t\tconst node = nodes[i]\n\n\t\t// 获取验证规则、是否需要trim空格、描述、是否必填等属性\n\t\tconst rule = node.getAttribute('rule')\n\t\tconst trim = node.getAttribute('trim') === 'true'\n\t\tconst value = (function () {\n\t\t\tif (node.getAttribute('value')) {\n\t\t\t\treturn trim ? node.getAttribute('value').trim() : node.getAttribute('value')\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t})()\n\t\tconst desc = node.getAttribute('desc')\n\t\tconst required = node.getAttribute('req') === 'true'\n\t\tconst formEl = node.parentNode\n\t\t// 修改这里,将formEl转换为any类型以访问Vue特定属性\n\t\tlet formVue = (formEl as any).__vueParentComponent || (formEl as any).__vue_app__?.$parent\n\n\t\t// 特殊处理ToDatePicker组件的验证 (兼容Vue2/Vue3)\n\t\tconst vueInstance = formVue || (formEl as any).__vue_app__?.$parent\n\t\tif (vueInstance && ['ToDatePicker'].includes(vueInstance.$options?.name)) {\n\t\t\tformVue = vueInstance.$refs.inputBox\n\t\t}\n\n\t\t// 根据isAll参数决定验证流程\n\t\tif (isAll) {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tformVue.exposed.errorType.value = 'rule'\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`)\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tformVue.errorTip = t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : '')\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tformVue.exposed.errorType.value = 'required'\n\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.requiredRemark', desc)\n\t\t\t\tallPass = false\n\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : ''))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tshowTip(formEl, t('to.validate.tip.requiredRemark', desc))\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t}\n\n\t// 根据isAll参数返回相应的结果\n\tif (isAll) {\n\t\t// 校验不通过时,自动滚动到第一个不通过的表单项(若其位于 to-scroll 内)\n\t\tif (!allPass && firstErrorNode) {\n\t\t\t// 用纯 DOM 向上查找最近的 .to-scroll 容器,兼容 Vue 3\n\t\t\tlet scrollEl: any = firstErrorNode\n\t\t\twhile (scrollEl && scrollEl.nodeName !== 'BODY' && !(scrollEl.classList && scrollEl.classList.contains('to-scroll'))) {\n\t\t\t\tscrollEl = scrollEl.parentNode\n\t\t\t}\n\t\t\tif (scrollEl && scrollEl.nodeName !== 'BODY') {\n\t\t\t\t// 真正可滚动的元素是 .to-scroll-content,回退到 .to-scroll 自身\n\t\t\t\tconst inner = scrollEl.querySelector('.to-scroll-content') || scrollEl\n\t\t\t\tconst targetRect = (firstErrorNode as HTMLElement).getBoundingClientRect()\n\t\t\t\tconst scrollRect = (inner as HTMLElement).getBoundingClientRect()\n\t\t\t\t;(inner as HTMLElement).scrollTo({\n\t\t\t\t\ttop: (inner as HTMLElement).scrollTop + targetRect.top - scrollRect.top - 10,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn allPass\n\t} else {\n\t\treturn true\n\t}\n}\n\nconst validateAll = function (dom) {\n\treturn validate(dom, true)\n}\nexport { validate, validateAll }\n"],"names":["t","hasClass","createVNode","ToTooltip","render","nextTick","$tip"],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sources":["../../../../packages/utils/validate.ts"],"sourcesContent":["import { createVNode, render, nextTick, type ComponentPublicInstance } from 'vue'\ntype VueInstance = ComponentPublicInstance\nimport { ToTooltip, $tip } from '@touchvue/components'\nimport { hasClass } from './dom'\nimport { t } from '@touchvue/locale'\n\ninterface ValidationRule {\n\trule: RegExp\n\tdesc: string\n\tremark?: string\n}\n\ninterface Regs {\n\t[key: string]: ValidationRule\n}\nconst regs: Regs = {\n\t// 基础判断\n\ten: {\n\t\trule: /^[A-Za-z]+$/,\n\t\tdesc: t('to.validate.desc.en')\n\t},\n\t'en-lower': {\n\t\trule: /^[a-z]+$/,\n\t\tdesc: t('to.validate.desc.enLower')\n\t},\n\t'en-upper': {\n\t\trule: /^[A-Z]+$/,\n\t\tdesc: t('to.validate.desc.enUpper')\n\t},\n\t'en-none': {\n\t\trule: /^[^A-Za-z]*$/,\n\t\tdesc: t('to.validate.desc.enNone')\n\t},\n\tcn: {\n\t\trule: /^(?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])+$/,\n\t\tdesc: t('to.validate.desc.cn')\n\t},\n\tnumber: {\n\t\trule: /^[-+]?([1-9][0-9]*|0)(\\.[0-9]+)?$/,\n\t\tdesc: t('to.validate.desc.number')\n\t},\n\tinteger: {\n\t\trule: /^-?[0-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integer')\n\t},\n\t'integer-p': {\n\t\trule: /^\\+?[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerP')\n\t},\n\t'integer-n': {\n\t\trule: /^-[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerN')\n\t},\n\tnature: {\n\t\trule: /^\\d+$/,\n\t\tdesc: t('to.validate.desc.nature')\n\t},\n\tdate: {\n\t\trule: /^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/,\n\t\tdesc: t('to.validate.desc.date')\n\t},\n\ttime: {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time')\n\t},\n\t'time-12': {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time12')\n\t},\n\t// 基本数据格式\n\tmoney: {\n\t\trule: /^-?\\d+(,\\d{3})*(\\.\\d{1,2})?$/,\n\t\tdesc: t('to.validate.desc.money')\n\t},\n\tip: {\n\t\trule: /^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]).){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/,\n\t\tdesc: t('to.validate.desc.ip')\n\t},\n\t'ip-v6': {\n\t\trule: /^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))|\\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/i,\n\t\tdesc: t('to.validate.desc.ipV6')\n\t},\n\tpassword: {\n\t\trule: /^\\S*(?=\\S{6,})(?=\\S*\\d)(?=\\S*[A-Z])(?=\\S*[a-z])(?=\\S*[!@#$%^&*? ])\\S*$/,\n\t\tdesc: t('to.validate.desc.password'),\n\t\tremark: t('to.validate.remark.password')\n\t},\n\tusername: {\n\t\trule: /^[a-zA-Z0-9_-]{4,16}$/,\n\t\tdesc: t('to.validate.desc.username'),\n\t\tremark: t('to.validate.remark.username')\n\t},\n\t// 用户信息\n\tname: {\n\t\trule: /^([\\u4e00-\\u9fa5·]{2,16}|[a-zA-Z.\\s]{1,20})$/,\n\t\tdesc: t('to.validate.desc.name')\n\t},\n\t'name-cn': {\n\t\trule: /^(?:[\\u4e00-\\u9fa5·]{2,16})$/,\n\t\tdesc: t('to.validate.desc.nameCn')\n\t},\n\t'name-en': {\n\t\trule: /(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/,\n\t\tdesc: t('to.validate.desc.nameEn')\n\t},\n\temail: {\n\t\trule: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n\t\tdesc: t('to.validate.desc.email')\n\t},\n\tqq: {\n\t\trule: /^[1-9][0-9]{4,10}$/,\n\t\tdesc: t('to.validate.desc.qq')\n\t},\n\twechat: {\n\t\trule: /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/,\n\t\tdesc: t('to.validate.desc.wechat')\n\t},\n\tweb: {\n\t\trule: /^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/,\n\t\tdesc: t('to.validate.desc.web')\n\t},\n\tuscc: {\n\t\trule: /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,\n\t\tdesc: t('to.validate.desc.uscc')\n\t},\n\tbank: {\n\t\trule: /^[1-9]\\d{9,29}$/,\n\t\tdesc: t('to.validate.desc.bank')\n\t},\n\tphone: {\n\t\trule: /^1[3456789]\\d{9}$/,\n\t\tdesc: t('to.validate.desc.phone')\n\t},\n\ttelphone: {\n\t\trule: /^\\d{3}-\\d{8}$|^\\d{4}-\\d{7,8}$/,\n\t\tdesc: t('to.validate.desc.telphone')\n\t},\n\tid: {\n\t\trule: /^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$/,\n\t\tdesc: t('to.validate.desc.id')\n\t},\n\tpassport: {\n\t\trule: /(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/,\n\t\tdesc: t('to.validate.desc.passport')\n\t},\n\tmac: {\n\t\trule: /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i,\n\t\tdesc: t('to.validate.desc.mac')\n\t}\n}\n\n// 判断是否在滚动条以内\nfunction isHideByScroller(node) {\n\tconst el = node\n\twhile (node && !hasClass(node, 'to-scroll') && node.nodeName !== 'BODY') {\n\t\tnode = (node as VueInstance & { __vueParentComponent?: any; __vue_app__?: any }).__vueParentComponent || node.parentNode\n\t}\n\tif (node && node.nodeName !== 'BODY') {\n\t\tconst scroller = node\n\t\treturn el.getBoundingClientRect().top > scroller.getBoundingClientRect().top + scroller.offsetHeight || el.getBoundingClientRect().top + el.offsetHeight <= scroller.getBoundingClientRect().top\n\t} else {\n\t\treturn false\n\t}\n}\n\n// 显示提示的方法\nfunction showTip(formEl, desc = '') {\n\t// 元素未被隐藏使用 tooltip\n\tif (formEl.offsetWidth > 0 && !isHideByScroller(formEl)) {\n\t\tconst tooltip = createVNode(\n\t\t\tToTooltip,\n\t\t\t{\n\t\t\t\tevent: '',\n\t\t\t\tshadow: false,\n\t\t\t\tposition: 'auto',\n\t\t\t\talign: 'auto',\n\t\t\t\tcolor: 'danger',\n\t\t\t\twidth: '',\n\t\t\t\tlazy: true,\n\t\t\t\tcloseOnBlur: true,\n\t\t\t\tisScrollClose: true,\n\t\t\t\tdelay: 0,\n\t\t\t\tmode: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tdefault: () => desc\n\t\t\t}\n\t\t)\n\t\tconst container = document.createElement('div')\n\t\trender(tooltip, container)\n\t\tdocument.body.appendChild(container)\n\t\tnextTick(() => {\n\t\t\tformEl._tip = {\n\t\t\t\tvnode: tooltip,\n\t\t\t\tcontainer\n\t\t\t}\n\t\t\tconst open = () => {\n\t\t\t\ttooltip.component.exposed.open(formEl)\n\t\t\t}\n\t\t\t// const close = () => {\n\t\t\t// \ttooltip.component.exposed.close(formEl)\n\t\t\t// }\n\t\t\t// 参数 click,弹出方式\n\t\t\t// if (binding.arg) {\n\t\t\t// \tformEl.addEventListener('click', open)\n\t\t\t// } else {\n\t\t\t// formEl.addEventListener('mouseenter', open)\n\t\t\t// formEl.addEventListener('mouseleave', close)\n\t\t\topen()\n\t\t\t// }\n\t\t})\n\n\t\t// 当前元素获取焦点\n\t\tif (formEl.getElementsByTagName('input')[0]) {\n\t\t\tformEl.getElementsByTagName('input')[0].select()\n\t\t}\n\t}\n\n\t// 元素被隐藏使用 floattip\n\telse {\n\t\t// ToTip.danger(desc)\n\t\t$tip.warning(desc)\n\t}\n}\n\n/**\n * 表单验证函数\n * 该函数用于验证网页表单中的输入是否符合规范\n * 它可以接受一个DOM元素、Vue实例或元素ID作为参数,并验证指定元素及其子元素中带有.to-validate类的元素\n * @param {string|HTMLElement|Vue} dom - 表单的DOM元素、Vue实例或元素ID\n * @param {boolean} isAll - 是否验证所有输入项,默认为false,只验证第一个不符合规则的项\n * @returns {boolean} - 如果所有验证项都通过验证,则返回true;否则返回false\n */\nconst validate = function (dom: string | HTMLElement | VueInstance, isAll = false): boolean {\n\t// 存储待验证的DOM节点\n\tlet nodes: Element[] = []\n\n\t// 标记验证是否全部通过\n\tlet allPass = true\n\n\t// 标记所有在滚动条之外的节点\n\tconst hiddenErrorNodes = []\n\n\t// 记录第一个校验不通过的节点(按 DOM 顺序),用于滚动定位\n\tlet firstErrorNode: any = null\n\n\t/**\n\t * 标记所有在滚动条之外的节点信息\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\n\t */\n\tfunction setHiddenErrorNodes(formEl) {\n\t\t// 记录首个错误节点(仅记录第一次)\n\t\tif (!firstErrorNode) firstErrorNode = formEl\n\t\t// 如果表单元素在滚动条之外,则将其添加到隐藏错误节点列表中\n\t\telse {\n\t\t\thiddenErrorNodes.push(formEl)\n\t\t}\n\t}\n\n\t// 根据传入参数类型获取待验证的节点列表\n\tif (typeof dom === 'string' && document.getElementById(dom)) {\n\t\tnodes = Array.from(document.getElementById(dom).querySelectorAll('.to-validate'))\n\t} else if (dom instanceof HTMLElement) {\n\t\tnodes = Array.from(dom.querySelectorAll('.to-validate'))\n\t} else if (typeof dom !== 'string' && dom && dom.$el) {\n\t\tnodes = Array.from(dom.$el.querySelectorAll('.to-validate'))\n\t}\n\n\t// 如果没有找到任何待验证的节点,直接返回true\n\tif (nodes.length === 0) {\n\t\treturn true\n\t}\n\n\t// 遍历所有待验证的节点\n\tfor (let i = 0; i < nodes.length; i++) {\n\t\tconst node = nodes[i]\n\n\t\t// 获取验证规则、是否需要trim空格、描述、是否必填等属性\n\t\tconst rule = node.getAttribute('rule')\n\t\tconst trim = node.getAttribute('trim') === 'true'\n\t\tconst value = (function () {\n\t\t\tif (node.getAttribute('value')) {\n\t\t\t\treturn trim ? node.getAttribute('value').trim() : node.getAttribute('value')\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t})()\n\t\tconst desc = node.getAttribute('desc')\n\t\tconst required = node.getAttribute('req') === 'true'\n\t\tconst formEl = node.parentNode\n\t\t// 修改这里,将formEl转换为any类型以访问Vue特定属性\n\t\tlet formVue = (formEl as any).__vueParentComponent || (formEl as any).__vue_app__?.$parent\n\n\t\t// 特殊处理ToDatePicker组件的验证 (兼容Vue2/Vue3)\n\t\tconst vueInstance = formVue || (formEl as any).__vue_app__?.$parent\n\t\tif (vueInstance && ['ToDatePicker'].includes(vueInstance.$options?.name)) {\n\t\t\tformVue = vueInstance.$refs.inputBox\n\t\t}\n\n\t\t// 根据isAll参数决定验证流程\n\t\tif (isAll) {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tformVue.exposed.errorType.value = 'rule'\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`)\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tformVue.errorTip = t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : '')\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tformVue.exposed.errorType.value = 'required'\n\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.requiredRemark', desc)\n\t\t\t\tallPass = false\n\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : ''))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tshowTip(formEl, t('to.validate.tip.requiredRemark', desc))\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t}\n\n\t// 根据isAll参数返回相应的结果\n\tif (isAll) {\n\t\t// 校验不通过时,自动滚动到第一个不通过的表单项(若其位于 to-scroll 内)\n\t\tif (!allPass && firstErrorNode) {\n\t\t\t// 用纯 DOM 向上查找最近的 .to-scroll 容器,兼容 Vue 3\n\t\t\tlet scrollEl: any = firstErrorNode\n\t\t\twhile (scrollEl && scrollEl.nodeName !== 'BODY' && !(scrollEl.classList && scrollEl.classList.contains('to-scroll'))) {\n\t\t\t\tscrollEl = scrollEl.parentNode\n\t\t\t}\n\t\t\tif (scrollEl && scrollEl.nodeName !== 'BODY') {\n\t\t\t\t// 真正可滚动的元素是 .to-scroll-content,回退到 .to-scroll 自身\n\t\t\t\tconst inner = scrollEl.querySelector('.to-scroll-content') || scrollEl\n\t\t\t\tconst targetRect = (firstErrorNode as HTMLElement).getBoundingClientRect()\n\t\t\t\tconst scrollRect = (inner as HTMLElement).getBoundingClientRect()\n\t\t\t\t;(inner as HTMLElement).scrollTo({\n\t\t\t\t\ttop: (inner as HTMLElement).scrollTop + targetRect.top - scrollRect.top - 10,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn allPass\n\t} else {\n\t\treturn true\n\t}\n}\n\nconst validateAll = function (dom) {\n\treturn validate(dom, true)\n}\nexport { validate, validateAll }\n"],"names":["t","hasClass","createVNode","ToTooltip","render","nextTick","$tip"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@touchvue/ui",
3
- "version": "1.0.0-beta.52",
3
+ "version": "1.0.0-beta.54",
4
4
  "description": "TouchVue UI Component Library",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -2590,6 +2590,9 @@ html body .height-full {
2590
2590
  --day-item-on-border: var(--day-item-border);
2591
2591
  --day-item-on-bg: var(--color-primary);
2592
2592
  --day-item-on-color: var(--color-bg);
2593
+ --day-item-checked-border: var(--day-item-border);
2594
+ --day-item-checked-bg: var(--color-primary);
2595
+ --day-item-checked-color: var(--color-bg);
2593
2596
  --day-item-sun-border: var(--day-item-border);
2594
2597
  --day-item-sun-bg: var(--day-item-bg);
2595
2598
  --day-item-sun-color: var(--color-danger);
@@ -2759,10 +2762,12 @@ html body .height-full {
2759
2762
  background-size: var(--year-bg-size);
2760
2763
  gap: var(--year-gap);
2761
2764
  border-right: var(--year-divider);
2765
+ }
2766
+ .to-calendar-year .to-scroll-content {
2762
2767
  -ms-overflow-style: none;
2763
2768
  scrollbar-width: none;
2764
2769
  }
2765
- .to-calendar-year::-webkit-scrollbar {
2770
+ .to-calendar-year .to-scroll-content::-webkit-scrollbar {
2766
2771
  display: none;
2767
2772
  }
2768
2773
  .to-calendar-year-item {
@@ -2807,6 +2812,7 @@ html body .height-full {
2807
2812
  font-size: var(--year-item-size);
2808
2813
  }
2809
2814
  .to-calendar-month {
2815
+ flex: 1;
2810
2816
  display: flex;
2811
2817
  align-items: center;
2812
2818
  align-self: flex-start;
@@ -2903,10 +2909,6 @@ html body .height-full {
2903
2909
  position: relative;
2904
2910
  padding: var(--day-item-padding);
2905
2911
  }
2906
- .to-calendar-day-item.is-checked .to-calendar-day-item-content {
2907
- background: #0e0;
2908
- color: #fff;
2909
- }
2910
2912
  .to-calendar-day-item-content {
2911
2913
  width: var(--day-item-width);
2912
2914
  height: var(--day-item-height);
@@ -3037,11 +3039,13 @@ html body .height-full {
3037
3039
  }
3038
3040
  .to-calendar-time-list {
3039
3041
  flex: 1;
3040
- height: 100%;
3042
+ }
3043
+ .to-calendar-time-list .to-scroll-content {
3044
+ flex: 1;
3041
3045
  -ms-overflow-style: none;
3042
3046
  scrollbar-width: none;
3043
3047
  }
3044
- .to-calendar-time-list::-webkit-scrollbar {
3048
+ .to-calendar-time-list .to-scroll-content::-webkit-scrollbar {
3045
3049
  display: none;
3046
3050
  }
3047
3051
  .to-calendar-time-item {
@@ -3993,13 +3997,14 @@ html body .height-full {
3993
3997
  --radius: var(--radius-fe);
3994
3998
  --weight: normal;
3995
3999
  --gap: 0;
4000
+ --shadow: none;
3996
4001
  --clear-margin: 0;
3997
4002
  --clear-height: var(--height);
3998
4003
  --content-gap: 1em;
3999
4004
  --content-padding: 0 1em;
4000
4005
  --prefix-padding: 0;
4001
4006
  --suffix-padding: 0;
4002
- --suffix-gap: 1em;
4007
+ --suffix-gap: 0;
4003
4008
  --prefix-text-padding: 0 0 0 1em;
4004
4009
  --prefix-text-bg: none;
4005
4010
  --prefix-text-bg-size: 100% 100%;
@@ -4020,6 +4025,7 @@ html body .height-full {
4020
4025
  --count-size: 1em;
4021
4026
  --count-padding: 0;
4022
4027
  --count-lh: var(--height);
4028
+ --count-align: center;
4023
4029
  --lh: 1.5em;
4024
4030
  --fn-padding: 0 1em 1em;
4025
4031
  --fn-gap: 1em;
@@ -4028,7 +4034,7 @@ html body .height-full {
4028
4034
  --focus-border: var(--border);
4029
4035
  --focus-bg: var(--bg);
4030
4036
  --focus-color: var(--color);
4031
- --focus-shadow: none;
4037
+ --focus-shadow: var(--shadow);
4032
4038
  --hover-border: var(--border);
4033
4039
  --hover-bg: rgba(0, 0, 0, 0.1);
4034
4040
  --hover-color: var(--color);
@@ -4046,13 +4052,14 @@ html body .height-full {
4046
4052
  padding: var(--padding);
4047
4053
  width: var(--width);
4048
4054
  height: var(--height);
4055
+ box-shadow: var(--shadow);
4049
4056
  }
4050
4057
  .to-input-wrapper {
4051
4058
  width: 100%;
4052
4059
  height: 100%;
4053
4060
  color: var(--color);
4054
4061
  display: inline-flex;
4055
- align-items: flex-start;
4062
+ align-items: center;
4056
4063
  box-sizing: border-box;
4057
4064
  overflow: hidden;
4058
4065
  position: relative;
@@ -4130,6 +4137,7 @@ html body .height-full {
4130
4137
  padding: var(--prefix-padding);
4131
4138
  }
4132
4139
  .to-input-suffix {
4140
+ gap: var(--suffix-gap);
4133
4141
  padding: var(--suffix-padding);
4134
4142
  }
4135
4143
  .to-input-prefix-text {
@@ -4139,12 +4147,14 @@ html body .height-full {
4139
4147
  background-size: var(--prefix-text-bg-size);
4140
4148
  border-right: var(--prefix-text-border);
4141
4149
  font-weight: var(--prefix-text-weight);
4142
- font-size: var(--prefix-text-size);
4143
4150
  line-height: var(--prefix-text-lh);
4144
4151
  }
4145
- .to-input-suffix-text span {
4152
+ .to-input-prefix-text span {
4146
4153
  font-size: var(--prefix-text-size);
4147
4154
  }
4155
+ .to-input-suffix-text span {
4156
+ font-size: var(--suffix-text-size);
4157
+ }
4148
4158
  .to-input-suffix-text {
4149
4159
  padding: var(--suffix-text-padding);
4150
4160
  background: var(--suffix-text-bg);
@@ -4170,6 +4180,7 @@ html body .height-full {
4170
4180
  height: auto;
4171
4181
  min-height: 0;
4172
4182
  display: flex;
4183
+ align-items: flex-start;
4173
4184
  }
4174
4185
  .to-input.type-textarea .to-input-box {
4175
4186
  resize: none;
@@ -4188,7 +4199,7 @@ html body .height-full {
4188
4199
  flex: 1;
4189
4200
  gap: var(--suggestion-gap);
4190
4201
  }
4191
- .to-input-suggestion .to-button {
4202
+ .to-input-suggestion-item {
4192
4203
  --border: 0 none;
4193
4204
  }
4194
4205
  .to-input::before {
@@ -4240,6 +4251,7 @@ html body .height-full {
4240
4251
  font-weight: var(--count-weight);
4241
4252
  padding: var(--count-padding);
4242
4253
  line-height: var(--count-lh);
4254
+ align-self: var(--count-align);
4243
4255
  }
4244
4256
  .to-input-count:only-child {
4245
4257
  flex: 1;
@@ -4247,10 +4259,16 @@ html body .height-full {
4247
4259
  .to-input-count-text {
4248
4260
  font-size: var(--count-size);
4249
4261
  }
4262
+ .to-input.type-textarea {
4263
+ --count-align: flex-end;
4264
+ }
4250
4265
  .to-input.type-textarea .to-input-count {
4251
4266
  display: block;
4252
4267
  text-align: right;
4253
4268
  }
4269
+ .to-input.type-textarea:has(.to-input-fn) {
4270
+ min-height: 8em;
4271
+ }
4254
4272
  .to-input.is-link {
4255
4273
  cursor: pointer;
4256
4274
  }
@@ -5652,7 +5670,6 @@ html body .height-full {
5652
5670
  --fn-padding: 0;
5653
5671
  --fn-gap: 0.5em;
5654
5672
  --list-gap: 0;
5655
- --item-gap: 0;
5656
5673
  --item-width: auto;
5657
5674
  --item-height: 3em;
5658
5675
  --item-padding: 0 1em;
@@ -5669,12 +5686,13 @@ html body .height-full {
5669
5686
  --item-size: 1em;
5670
5687
  --item-weight: normal;
5671
5688
  --item-align: left;
5689
+ --item-valign: center;
5690
+ --item-icon-margin: 0.5em;
5672
5691
  --item-left-bg: none;
5673
5692
  --item-left-width: none;
5674
5693
  --item-right-bg: none;
5675
5694
  --item-right-width: none;
5676
5695
  --item-content-bg: none;
5677
- --item-content-gap: 0.5em;
5678
5696
  --item-content-bg-size: 100% 100%;
5679
5697
  --item-divider-width: 0;
5680
5698
  --item-divider-color: var(--color-border);
@@ -5718,12 +5736,15 @@ html body .height-full {
5718
5736
  --item-on-divider-color: var(--item-divider-color);
5719
5737
  --item-on-divider-height: var(--item-divider-height);
5720
5738
  --item-disabled-color: #d6d6d6;
5739
+ --item-remove-margin: 0.5em;
5740
+ --item-count-margin: 0.5em;
5721
5741
  --indicator-height: 0;
5722
5742
  --indicator-width: 100%;
5723
5743
  --indicator-radius: 0;
5724
5744
  --indicator-bg: none;
5725
5745
  --indicator-bg-size: 100% 100%;
5726
5746
  --indicator-order: 2;
5747
+ --indicator-margin: 0;
5727
5748
  --list-scroll-area-height: 0.5em;
5728
5749
  --list-scroll-height: 0.2em;
5729
5750
  --list-scroll-border: 0 none;
@@ -5848,6 +5869,7 @@ html body .height-full {
5848
5869
  vertical-align: top;
5849
5870
  position: relative;
5850
5871
  gap: var(--list-gap);
5872
+ align-items: var(--item-valign);
5851
5873
  }
5852
5874
  .to-tab.over-wrap .to-tab-wrapper {
5853
5875
  flex-wrap: wrap;
@@ -5862,7 +5884,6 @@ html body .height-full {
5862
5884
  }
5863
5885
  .to-tab-item {
5864
5886
  width: var(--item-width);
5865
- gap: var(--item-gap);
5866
5887
  height: var(--item-height);
5867
5888
  background: var(--item-bg);
5868
5889
  background-size: var(--item-bg-size);
@@ -5882,6 +5903,7 @@ html body .height-full {
5882
5903
  --width: 1em;
5883
5904
  --height: 1em;
5884
5905
  --color: inherit;
5906
+ margin-right: var(--item-icon-margin);
5885
5907
  }
5886
5908
  .to-tab-item-pic {
5887
5909
  --width: 2em;
@@ -5940,10 +5962,18 @@ html body .height-full {
5940
5962
  --radius: 50%;
5941
5963
  --cursor: default;
5942
5964
  visibility: hidden;
5965
+ margin-left: var(--item-remove-margin);
5943
5966
  }
5944
5967
  .to-tab-item:hover .to-tab-item-remove {
5945
5968
  visibility: visible;
5946
5969
  }
5970
+ .to-tab-item-count {
5971
+ margin-left: var(--item-count-margin);
5972
+ --radius: 50%;
5973
+ --size: 0.8em;
5974
+ --width: 0.8em;
5975
+ --height: 0.8em;
5976
+ }
5947
5977
  .to-tab-indicator {
5948
5978
  order: var(--indicator-order);
5949
5979
  margin: 0 auto;
@@ -5952,6 +5982,7 @@ html body .height-full {
5952
5982
  background: var(--indicator-bg);
5953
5983
  background-size: var(--indicator-bg-size);
5954
5984
  border-radius: var(--indicator-radius);
5985
+ margin-top: var(--indicator-margin);
5955
5986
  position: relative;
5956
5987
  visibility: hidden;
5957
5988
  }
@@ -5980,10 +6011,12 @@ html body .height-full {
5980
6011
  }
5981
6012
  .to-tab-item.is-on .to-tab-item-left {
5982
6013
  background: var(--item-on-left-bg);
6014
+ background-size: 100% 100%;
5983
6015
  width: var(--item-on-left-width);
5984
6016
  }
5985
6017
  .to-tab-item.is-on .to-tab-item-right {
5986
6018
  background: var(--item-on-right-bg);
6019
+ background-size: 100% 100%;
5987
6020
  width: var(--item-on-right-width);
5988
6021
  }
5989
6022
  .to-tab-item.is-on .to-tab-item-content {
@@ -7097,6 +7130,7 @@ html body .height-full {
7097
7130
  --item-radius: var(--radius-fe);
7098
7131
  --item-shadow: none;
7099
7132
  --item-gap: 0.5em;
7133
+ --item-size: 1em;
7100
7134
  --item-hover-border: var(--item-border);
7101
7135
  --item-hover-color: var(--item-color);
7102
7136
  --item-hover-bg: rgba(0, 0, 0, 0.1);
@@ -7234,6 +7268,7 @@ html body .height-full {
7234
7268
  text-overflow: ellipsis;
7235
7269
  white-space: nowrap;
7236
7270
  gap: var(--item-gap);
7271
+ font-size: var(--item-size);
7237
7272
  }
7238
7273
  .to-segment-icon {
7239
7274
  --width: 1em;
@@ -8144,7 +8179,9 @@ html body .height-full {
8144
8179
  background: var(--bg);
8145
8180
  background-size: var(--bg-size);
8146
8181
  cursor: pointer;
8147
- color: var(--color);
8182
+ }
8183
+ .to-cascader:empty {
8184
+ height: 0;
8148
8185
  }
8149
8186
  .to-cascader::after {
8150
8187
  border: var(--border);
@@ -8168,6 +8205,7 @@ html body .height-full {
8168
8205
  text-overflow: ellipsis;
8169
8206
  overflow: hidden;
8170
8207
  white-space: nowrap;
8208
+ color: var(--color);
8171
8209
  }
8172
8210
  .to-cascader-arrow {
8173
8211
  flex-shrink: 0;
@@ -8203,11 +8241,29 @@ html body .height-full {
8203
8241
  .to-cascader:active .to-cascader-arrow:before {
8204
8242
  color: var(--active-arrow-color);
8205
8243
  }
8206
- .to-cascader.is-placeholder {
8244
+ .to-cascader.is-placeholder .to-cascader-content {
8207
8245
  color: var(--placeholder-color);
8208
8246
  }
8209
8247
  .to-cascader-group {
8210
8248
  display: flex;
8249
+ flex: 1;
8250
+ min-width: 0;
8251
+ }
8252
+ .to-cascader-layer {
8253
+ width: auto !important;
8254
+ }
8255
+ .to-cascader-options {
8256
+ display: flex;
8257
+ }
8258
+ .to-cascader-group-content {
8259
+ flex: 1;
8260
+ width: 14em;
8261
+ white-space: nowrap;
8262
+ text-overflow: ellipsis;
8263
+ overflow: hidden;
8264
+ }
8265
+ .to-cascader-group-child {
8266
+ flex: 1;
8211
8267
  }
8212
8268
  .to-cascader-item {
8213
8269
  cursor: pointer;