@touchvue/ui 1.0.0-beta.50 → 1.0.0-beta.52
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.
- package/es/components/form/src/form.vue.d.ts +0 -3
- package/es/components/index.d.ts +3 -1
- package/es/components/input/src/input.vue.d.ts +1 -10
- package/es/components/rate/index.d.ts +4 -0
- package/es/components/rate/src/instance.d.ts +2 -0
- package/es/components/rate/src/rate.vue.d.ts +77 -0
- package/es/components/select/src/select.d.ts +0 -8
- package/es/components/select/src/select.vue.d.ts +0 -9
- package/es/components/switch/src/switch.vue.d.ts +3 -3
- package/es/components/tab/src/tab.d.ts +1 -1
- package/es/components/tab/src/tab.vue.d.ts +17 -4
- package/es/index.d.mjs +1 -0
- package/es/index.d.mjs.map +1 -1
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +1 -1
- package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
- package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
- package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +2 -3
- package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
- package/es/packages/components/daterange/src/date-range.vue2.mjs +18 -6
- package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
- package/es/packages/components/form/src/form.vue2.mjs +1 -2
- package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
- package/es/packages/components/index.d.mjs +1 -0
- package/es/packages/components/index.d.mjs.map +1 -1
- package/es/packages/components/index.mjs +1 -0
- package/es/packages/components/index.mjs.map +1 -1
- package/es/packages/components/input/src/input.vue2.mjs +63 -62
- package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
- package/es/packages/components/page/src/page.vue2.mjs +9 -4
- package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
- package/es/packages/components/rate/index.d.mjs +2 -0
- package/es/packages/components/rate/index.d.mjs.map +1 -0
- package/es/packages/components/rate/index.mjs +7 -0
- package/es/packages/components/rate/index.mjs.map +1 -0
- package/es/packages/components/rate/src/instance.d.mjs +2 -0
- package/es/packages/components/rate/src/instance.d.mjs.map +1 -0
- package/es/packages/components/rate/src/instance.mjs +2 -0
- package/es/packages/components/rate/src/instance.mjs.map +1 -0
- package/es/packages/components/rate/src/rate.vue.mjs +7 -0
- package/es/packages/components/rate/src/rate.vue.mjs.map +1 -0
- package/es/packages/components/rate/src/rate.vue2.mjs +153 -0
- package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -0
- package/es/packages/components/segment/src/segment.vue.mjs +1 -4
- package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
- package/es/packages/components/select/src/hooks/use-select-class-style.mjs +1 -1
- package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
- package/es/packages/components/select/src/select.mjs +0 -8
- package/es/packages/components/select/src/select.mjs.map +1 -1
- package/es/packages/components/select/src/select.vue2.mjs +11 -2
- package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
- package/es/packages/components/switch/src/switch.vue2.mjs +4 -4
- package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
- package/es/packages/components/tab/src/tab.vue2.mjs +378 -47
- package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
- package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
- package/es/packages/components/upload/src/upload.vue2.mjs +2 -2
- package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
- package/es/packages/utils/disabledArea.mjs +2 -2
- package/es/packages/utils/disabledArea.mjs.map +1 -1
- package/es/packages/utils/validate.mjs +18 -11
- package/es/packages/utils/validate.mjs.map +1 -1
- package/global.d.ts +1 -0
- package/lib/components/form/src/form.vue.d.ts +0 -3
- package/lib/components/index.d.ts +3 -1
- package/lib/components/input/src/input.vue.d.ts +1 -10
- package/lib/components/rate/index.d.ts +4 -0
- package/lib/components/rate/src/instance.d.ts +2 -0
- package/lib/components/rate/src/rate.vue.d.ts +77 -0
- package/lib/components/select/src/select.d.ts +0 -8
- package/lib/components/select/src/select.vue.d.ts +0 -9
- package/lib/components/switch/src/switch.vue.d.ts +3 -3
- package/lib/components/tab/src/tab.d.ts +1 -1
- package/lib/components/tab/src/tab.vue.d.ts +17 -4
- package/lib/index.d.js +8 -6
- package/lib/index.d.js.map +1 -1
- package/lib/index.js +13 -11
- package/lib/index.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/packages/components/checkbox/src/Checkbox.vue2.js +1 -1
- package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
- package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
- package/lib/packages/components/datepicker/src/DatePicker.vue2.js +2 -3
- package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
- package/lib/packages/components/daterange/src/date-range.vue2.js +18 -6
- package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
- package/lib/packages/components/form/src/form.vue2.js +1 -2
- package/lib/packages/components/form/src/form.vue2.js.map +1 -1
- package/lib/packages/components/index.d.js +2 -0
- package/lib/packages/components/index.d.js.map +1 -1
- package/lib/packages/components/index.js +2 -0
- package/lib/packages/components/index.js.map +1 -1
- package/lib/packages/components/input/src/input.vue2.js +63 -62
- package/lib/packages/components/input/src/input.vue2.js.map +1 -1
- package/lib/packages/components/page/src/page.vue2.js +9 -4
- package/lib/packages/components/page/src/page.vue2.js.map +1 -1
- package/lib/packages/components/rate/index.d.js +3 -0
- package/lib/packages/components/rate/index.d.js.map +1 -0
- package/lib/packages/components/rate/index.js +9 -0
- package/lib/packages/components/rate/index.js.map +1 -0
- package/lib/packages/components/rate/src/instance.d.js +3 -0
- package/lib/packages/components/rate/src/instance.d.js.map +1 -0
- package/lib/packages/components/rate/src/instance.js +3 -0
- package/lib/packages/components/rate/src/instance.js.map +1 -0
- package/lib/packages/components/rate/src/rate.vue.js +11 -0
- package/lib/packages/components/rate/src/rate.vue.js.map +1 -0
- package/lib/packages/components/rate/src/rate.vue2.js +157 -0
- package/lib/packages/components/rate/src/rate.vue2.js.map +1 -0
- package/lib/packages/components/segment/src/segment.vue.js +1 -4
- package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
- package/lib/packages/components/select/src/hooks/use-select-class-style.js +1 -1
- package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
- package/lib/packages/components/select/src/select.js +0 -8
- package/lib/packages/components/select/src/select.js.map +1 -1
- package/lib/packages/components/select/src/select.vue2.js +11 -2
- package/lib/packages/components/select/src/select.vue2.js.map +1 -1
- package/lib/packages/components/switch/src/switch.vue2.js +4 -4
- package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
- package/lib/packages/components/tab/src/tab.vue2.js +377 -46
- package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
- package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
- package/lib/packages/components/upload/src/upload.vue2.js +2 -2
- package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
- package/lib/packages/utils/disabledArea.js +2 -2
- package/lib/packages/utils/disabledArea.js.map +1 -1
- package/lib/packages/utils/validate.js +24 -17
- package/lib/packages/utils/validate.js.map +1 -1
- package/package.json +1 -1
- package/theme/components/index.css +326 -122
- package/theme/index.css +326 -122
- package/theme/skin/default.css +326 -122
- package/types/global.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.mjs","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, queryVm } 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\tlet hasErrorVisible = false\n\n\t// 标记所有在滚动条之外的节点\n\tconst hiddenErrorNodes = []\n\n\t/**\n\t * 标记所有在滚动条之外的节点信息\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\n\t */\n\tfunction setHiddenErrorNodes(formEl) {\n\t\t// 如果表单元素不在滚动条之外,则设置有错误可见标志为true\n\t\tif (!isHideByScroller(formEl)) {\n\t\t\thasErrorVisible = true\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// 如果全部不通过的选项都在滚动条之外,则滚动到第一个出问题的节点上\n\t\tif (!allPass && !hasErrorVisible) {\n\t\t\tconst scroller = queryVm(hiddenErrorNodes[0], 'ToScroll')\n\t\t\tscroller.to(hiddenErrorNodes[0])\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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.mjs","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":[],"mappings":"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"}
|
package/global.d.ts
CHANGED
|
@@ -49,7 +49,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
49
49
|
default: string;
|
|
50
50
|
};
|
|
51
51
|
comparable: BooleanConstructor;
|
|
52
|
-
readonly: BooleanConstructor;
|
|
53
52
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
54
53
|
flex: BooleanConstructor;
|
|
55
54
|
labelWidth: {
|
|
@@ -97,11 +96,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
97
96
|
default: string;
|
|
98
97
|
};
|
|
99
98
|
comparable: BooleanConstructor;
|
|
100
|
-
readonly: BooleanConstructor;
|
|
101
99
|
}>> & Readonly<{}>, {
|
|
102
100
|
mode: string;
|
|
103
101
|
flex: boolean;
|
|
104
|
-
readonly: boolean;
|
|
105
102
|
type: string;
|
|
106
103
|
col: string | number;
|
|
107
104
|
dir: string;
|
|
@@ -48,7 +48,8 @@ import { ToTransfer } from './transfer';
|
|
|
48
48
|
import { ToUpload } from './upload';
|
|
49
49
|
import { ToImport } from './import';
|
|
50
50
|
import { ToExport } from './export';
|
|
51
|
-
|
|
51
|
+
import { ToRate } from './rate';
|
|
52
|
+
export { ToButton, ToIcon, ToBox, ToSelect, ToCalendar, ToGap, ToStep, ToForm, ToFormItem, ToGrid, ToGridItem, ToHeader, ToInput, ToDivider, ToMsg, ToPadding, ToPage, ToCheckbox, ToCheckboxes, ToCenterScroll, ToDatePicker, ToDateRange, ToSwitch, ToTab, ToTabItem, ToTable, ToTableHead, ToTableBody, ToTableConfig, ToTag, ToText, ToTip, ToDialog, ToEllipsis, ToFix, ToFloat, ToTooltip, ToSegment, ToPic, ToParam, ToProgress, ToScroll, ToScrollPoint, ToSlide, ToBreadcrumb, ToBreadcrumbItem, ToTree, ToCascader, ToTimeline, ToCollapse, ToCollapseItem, ToRange, ToGuider, ToTransfer, ToUpload, ToImport, ToExport, ToRate };
|
|
52
53
|
export * from '@touchvue/ui/lib/directives';
|
|
53
54
|
export * from './button';
|
|
54
55
|
export * from './icon';
|
|
@@ -97,3 +98,4 @@ export * from './transfer';
|
|
|
97
98
|
export * from './upload';
|
|
98
99
|
export * from './import';
|
|
99
100
|
export * from './export';
|
|
101
|
+
export * from './rate';
|
|
@@ -6,7 +6,7 @@ declare function __VLS_template(): {
|
|
|
6
6
|
default?(_: {}): any;
|
|
7
7
|
default?(_: {}): any;
|
|
8
8
|
suffix?(_: {}): any;
|
|
9
|
-
|
|
9
|
+
fn?(_: {}): any;
|
|
10
10
|
};
|
|
11
11
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
12
|
flex: BooleanConstructor;
|
|
@@ -170,10 +170,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
170
170
|
type: (NumberConstructor | StringConstructor)[];
|
|
171
171
|
default: number;
|
|
172
172
|
};
|
|
173
|
-
readonly: {
|
|
174
|
-
type: BooleanConstructor;
|
|
175
|
-
default: boolean;
|
|
176
|
-
};
|
|
177
173
|
count: {
|
|
178
174
|
type: BooleanConstructor;
|
|
179
175
|
default: boolean;
|
|
@@ -363,10 +359,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
363
359
|
type: (NumberConstructor | StringConstructor)[];
|
|
364
360
|
default: number;
|
|
365
361
|
};
|
|
366
|
-
readonly: {
|
|
367
|
-
type: BooleanConstructor;
|
|
368
|
-
default: boolean;
|
|
369
|
-
};
|
|
370
362
|
count: {
|
|
371
363
|
type: BooleanConstructor;
|
|
372
364
|
default: boolean;
|
|
@@ -391,7 +383,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
391
383
|
color: string;
|
|
392
384
|
flex: boolean;
|
|
393
385
|
width: string | number;
|
|
394
|
-
readonly: boolean;
|
|
395
386
|
trim: boolean;
|
|
396
387
|
link: boolean;
|
|
397
388
|
type: string;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
modelValue: {
|
|
3
|
+
type: NumberConstructor;
|
|
4
|
+
default: number;
|
|
5
|
+
};
|
|
6
|
+
max: {
|
|
7
|
+
type: NumberConstructor;
|
|
8
|
+
default: number;
|
|
9
|
+
};
|
|
10
|
+
size: {
|
|
11
|
+
type: NumberConstructor;
|
|
12
|
+
default: number;
|
|
13
|
+
};
|
|
14
|
+
readonly: BooleanConstructor;
|
|
15
|
+
allowHalf: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
19
|
+
color: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
showScore: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
clearable: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
32
|
+
change: (...args: any[]) => void;
|
|
33
|
+
"update:modelValue": (...args: any[]) => void;
|
|
34
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
|
+
modelValue: {
|
|
36
|
+
type: NumberConstructor;
|
|
37
|
+
default: number;
|
|
38
|
+
};
|
|
39
|
+
max: {
|
|
40
|
+
type: NumberConstructor;
|
|
41
|
+
default: number;
|
|
42
|
+
};
|
|
43
|
+
size: {
|
|
44
|
+
type: NumberConstructor;
|
|
45
|
+
default: number;
|
|
46
|
+
};
|
|
47
|
+
readonly: BooleanConstructor;
|
|
48
|
+
allowHalf: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
color: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
default: string;
|
|
55
|
+
};
|
|
56
|
+
showScore: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: boolean;
|
|
59
|
+
};
|
|
60
|
+
clearable: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
}>> & Readonly<{
|
|
65
|
+
onChange?: (...args: any[]) => any;
|
|
66
|
+
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
67
|
+
}>, {
|
|
68
|
+
size: number;
|
|
69
|
+
color: string;
|
|
70
|
+
readonly: boolean;
|
|
71
|
+
modelValue: number;
|
|
72
|
+
clearable: boolean;
|
|
73
|
+
max: number;
|
|
74
|
+
allowHalf: boolean;
|
|
75
|
+
showScore: boolean;
|
|
76
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
77
|
+
export default _default;
|
|
@@ -160,14 +160,6 @@ export declare const selectProps: {
|
|
|
160
160
|
type: StringConstructor;
|
|
161
161
|
default: string;
|
|
162
162
|
};
|
|
163
|
-
/**
|
|
164
|
-
* 是否只读
|
|
165
|
-
* @deprecated replace by disabled
|
|
166
|
-
*/
|
|
167
|
-
readonly: {
|
|
168
|
-
type: BooleanConstructor;
|
|
169
|
-
default: boolean;
|
|
170
|
-
};
|
|
171
163
|
disabled: {
|
|
172
164
|
type: BooleanConstructor;
|
|
173
165
|
default: boolean;
|
|
@@ -86,10 +86,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
86
86
|
type: StringConstructor;
|
|
87
87
|
default: string;
|
|
88
88
|
};
|
|
89
|
-
readonly: {
|
|
90
|
-
type: BooleanConstructor;
|
|
91
|
-
default: boolean;
|
|
92
|
-
};
|
|
93
89
|
disabled: {
|
|
94
90
|
type: BooleanConstructor;
|
|
95
91
|
default: boolean;
|
|
@@ -338,10 +334,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
338
334
|
type: StringConstructor;
|
|
339
335
|
default: string;
|
|
340
336
|
};
|
|
341
|
-
readonly: {
|
|
342
|
-
type: BooleanConstructor;
|
|
343
|
-
default: boolean;
|
|
344
|
-
};
|
|
345
337
|
disabled: {
|
|
346
338
|
type: BooleanConstructor;
|
|
347
339
|
default: boolean;
|
|
@@ -513,7 +505,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
513
505
|
flex: boolean;
|
|
514
506
|
width: string | number;
|
|
515
507
|
lazy: boolean;
|
|
516
|
-
readonly: boolean;
|
|
517
508
|
trim: boolean;
|
|
518
509
|
data: string | SelectOptionsData[];
|
|
519
510
|
required: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
2
|
flex: BooleanConstructor;
|
|
3
|
-
|
|
3
|
+
disabled: BooleanConstructor;
|
|
4
4
|
modelValue: {
|
|
5
5
|
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
|
|
6
6
|
default: boolean;
|
|
@@ -67,7 +67,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
67
67
|
"update:modelValue": (...args: any[]) => void;
|
|
68
68
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
69
69
|
flex: BooleanConstructor;
|
|
70
|
-
|
|
70
|
+
disabled: BooleanConstructor;
|
|
71
71
|
modelValue: {
|
|
72
72
|
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
|
|
73
73
|
default: boolean;
|
|
@@ -132,7 +132,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
132
132
|
color: string;
|
|
133
133
|
flex: boolean;
|
|
134
134
|
width: string | number;
|
|
135
|
-
|
|
135
|
+
disabled: boolean;
|
|
136
136
|
modelValue: string | number | boolean;
|
|
137
137
|
comparable: boolean;
|
|
138
138
|
beforeChange: string | boolean | Function;
|
|
@@ -13,7 +13,7 @@ export interface TabProps {
|
|
|
13
13
|
removable?: boolean;
|
|
14
14
|
position?: 'left' | 'right' | 'bottom' | 'top' | '';
|
|
15
15
|
itemDir?: 'v' | '';
|
|
16
|
-
over?: 'float' | 'wrap' | 'control';
|
|
16
|
+
over?: 'float' | 'wrap' | 'control' | 'avg' | '';
|
|
17
17
|
event?: string;
|
|
18
18
|
contentType?: string;
|
|
19
19
|
title?: string;
|
|
@@ -33,10 +33,23 @@ declare function __VLS_template(): {
|
|
|
33
33
|
title?(_: {}): any;
|
|
34
34
|
center?(_: {}): any;
|
|
35
35
|
item?(_: {
|
|
36
|
-
item:
|
|
36
|
+
item: {
|
|
37
|
+
[x: string]: any;
|
|
38
|
+
label: string;
|
|
39
|
+
value: string | number;
|
|
40
|
+
};
|
|
37
41
|
index: number;
|
|
38
42
|
}): any;
|
|
39
|
-
label?(_:
|
|
43
|
+
label?(_: {
|
|
44
|
+
[x: string]: any;
|
|
45
|
+
label: string;
|
|
46
|
+
value: string | number;
|
|
47
|
+
}): any;
|
|
48
|
+
label?(_: {
|
|
49
|
+
[x: string]: any;
|
|
50
|
+
label: string;
|
|
51
|
+
value: string | number;
|
|
52
|
+
}): any;
|
|
40
53
|
fn?(_: {}): any;
|
|
41
54
|
default?(_: {}): any;
|
|
42
55
|
default?(_: {}): any;
|
|
@@ -65,7 +78,7 @@ declare const __VLS_component: import("vue").DefineComponent<TabProps, {}, {}, {
|
|
|
65
78
|
beforeChange: () => boolean | Promise<boolean>;
|
|
66
79
|
itemDir: "v" | "";
|
|
67
80
|
itemWidth: string | number;
|
|
68
|
-
over: "float" | "wrap" | "control";
|
|
81
|
+
over: "float" | "wrap" | "control" | "avg" | "";
|
|
69
82
|
contentType: string;
|
|
70
83
|
beforeRemove: () => boolean | Promise<boolean>;
|
|
71
84
|
changePic: boolean;
|
package/lib/index.d.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index$
|
|
5
|
+
var index$N = require('./packages/locale/index.js');
|
|
6
6
|
var align = require('./packages/directives/align/src/align.js');
|
|
7
7
|
var color = require('./packages/directives/color/src/color.js');
|
|
8
8
|
var dis = require('./packages/directives/dis/src/dis.js');
|
|
@@ -71,6 +71,7 @@ var index$I = require('./packages/components/transfer/index.js');
|
|
|
71
71
|
var index$J = require('./packages/components/upload/index.js');
|
|
72
72
|
var index$K = require('./packages/components/import/index.js');
|
|
73
73
|
var index$L = require('./packages/components/export/index.js');
|
|
74
|
+
var index$M = require('./packages/components/rate/index.js');
|
|
74
75
|
var index$6 = require('./packages/components/step/index.js');
|
|
75
76
|
var md5 = require('./packages/utils/md5.js');
|
|
76
77
|
var types = require('./packages/utils/types.js');
|
|
@@ -95,11 +96,11 @@ var useWidthStyle = require('./packages/hooks/useWidthStyle.js');
|
|
|
95
96
|
|
|
96
97
|
var install$1 = install;
|
|
97
98
|
|
|
98
|
-
exports.i18n = index$
|
|
99
|
-
exports.langKey = index$
|
|
100
|
-
exports.onLangChange = index$
|
|
101
|
-
exports.t = index$
|
|
102
|
-
exports.use = index$
|
|
99
|
+
exports.i18n = index$N.i18n;
|
|
100
|
+
exports.langKey = index$N.langKey;
|
|
101
|
+
exports.onLangChange = index$N.onLangChange;
|
|
102
|
+
exports.t = index$N.t;
|
|
103
|
+
exports.use = index$N.use;
|
|
103
104
|
exports.vAlign = align.default;
|
|
104
105
|
exports.vColor = color.default;
|
|
105
106
|
exports.vDis = dis.default;
|
|
@@ -189,6 +190,7 @@ exports.ToTransfer = index$I.ToTransfer;
|
|
|
189
190
|
exports.ToUpload = index$J.ToUpload;
|
|
190
191
|
exports.ToImport = index$K.ToImport;
|
|
191
192
|
exports.ToExport = index$L.ToExport;
|
|
193
|
+
exports.ToRate = index$M.ToRate;
|
|
192
194
|
exports.ToStep = index$6.ToStep;
|
|
193
195
|
exports.md5 = md5.md5;
|
|
194
196
|
exports.isArray = types.isArray;
|
package/lib/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","sources":["../../packages/ui/index.d.ts"],"sourcesContent":["import type { App } from 'vue';\nexport interface TouchVueUIOptions {\n ratio?: {\n base?: {\n pc?: number;\n pad?: number;\n phone?: number;\n };\n };\n zIndex?: number;\n input?: {\n spChars?: string;\n };\n lang?: string;\n}\nexport declare const defaultOptions: TouchVueUIOptions;\nexport declare let globalOptions: {\n ratio?: {\n base?: {\n pc?: number;\n pad?: number;\n phone?: number;\n };\n };\n zIndex?: number;\n input?: {\n spChars?: string;\n };\n lang?: string;\n};\nexport declare const getGlobalOptions: () => TouchVueUIOptions;\ndeclare const install: (app: App, options?: TouchVueUIOptions) => void;\nexport default install;\nexport * from '@touchvue/components';\nexport * from '@touchvue/directives';\nexport * from '@touchvue/locale';\nexport * from '@touchvue/utils';\nexport * from '@touchvue/hooks';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.js","sources":["../../packages/ui/index.d.ts"],"sourcesContent":["import type { App } from 'vue';\nexport interface TouchVueUIOptions {\n ratio?: {\n base?: {\n pc?: number;\n pad?: number;\n phone?: number;\n };\n };\n zIndex?: number;\n input?: {\n spChars?: string;\n };\n lang?: string;\n}\nexport declare const defaultOptions: TouchVueUIOptions;\nexport declare let globalOptions: {\n ratio?: {\n base?: {\n pc?: number;\n pad?: number;\n phone?: number;\n };\n };\n zIndex?: number;\n input?: {\n spChars?: string;\n };\n lang?: string;\n};\nexport declare const getGlobalOptions: () => TouchVueUIOptions;\ndeclare const install: (app: App, options?: TouchVueUIOptions) => void;\nexport default install;\nexport * from '@touchvue/components';\nexport * from '@touchvue/directives';\nexport * from '@touchvue/locale';\nexport * from '@touchvue/utils';\nexport * from '@touchvue/hooks';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,gBAAe,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index$
|
|
6
|
-
var index$
|
|
7
|
-
var index$
|
|
5
|
+
var index$O = require('./packages/components/index.js');
|
|
6
|
+
var index$P = require('./packages/directives/index.js');
|
|
7
|
+
var index$N = require('./packages/locale/index.js');
|
|
8
8
|
var zhCN = require('./packages/locale/lang/zh-CN.js');
|
|
9
9
|
var enUS = require('./packages/locale/lang/en-US.js');
|
|
10
10
|
var ratio = require('./packages/utils/ratio.js');
|
|
@@ -76,6 +76,7 @@ var index$I = require('./packages/components/transfer/index.js');
|
|
|
76
76
|
var index$J = require('./packages/components/upload/index.js');
|
|
77
77
|
var index$K = require('./packages/components/import/index.js');
|
|
78
78
|
var index$L = require('./packages/components/export/index.js');
|
|
79
|
+
var index$M = require('./packages/components/rate/index.js');
|
|
79
80
|
var index$6 = require('./packages/components/step/index.js');
|
|
80
81
|
var md5 = require('./packages/utils/md5.js');
|
|
81
82
|
var types = require('./packages/utils/types.js');
|
|
@@ -116,7 +117,7 @@ const install = (app, options = {}) => {
|
|
|
116
117
|
} else {
|
|
117
118
|
localeModule = zhCN.default;
|
|
118
119
|
}
|
|
119
|
-
index$
|
|
120
|
+
index$N.use(localeModule);
|
|
120
121
|
app.config.globalProperties.$getEm = ratio.getEm;
|
|
121
122
|
app.config.globalProperties.$setMedia = ratio.setMedia;
|
|
122
123
|
app.config.globalProperties.$getMedia = ratio.getMedia;
|
|
@@ -134,19 +135,19 @@ const install = (app, options = {}) => {
|
|
|
134
135
|
};
|
|
135
136
|
ratio.setMedia(options);
|
|
136
137
|
ratio.setRatio(options);
|
|
137
|
-
Object.values(index$
|
|
138
|
+
Object.values(index$O).forEach((component) => {
|
|
138
139
|
if (component && typeof component === "object" && "install" in component && typeof component.install === "function") {
|
|
139
140
|
app.use(component);
|
|
140
141
|
}
|
|
141
142
|
});
|
|
142
|
-
index$
|
|
143
|
+
index$P.default.install(app);
|
|
143
144
|
};
|
|
144
145
|
|
|
145
|
-
exports.i18n = index$
|
|
146
|
-
exports.langKey = index$
|
|
147
|
-
exports.onLangChange = index$
|
|
148
|
-
exports.t = index$
|
|
149
|
-
exports.use = index$
|
|
146
|
+
exports.i18n = index$N.i18n;
|
|
147
|
+
exports.langKey = index$N.langKey;
|
|
148
|
+
exports.onLangChange = index$N.onLangChange;
|
|
149
|
+
exports.t = index$N.t;
|
|
150
|
+
exports.use = index$N.use;
|
|
150
151
|
exports.commitTouchReport = ratio.commitTouchReport;
|
|
151
152
|
exports.getEm = ratio.getEm;
|
|
152
153
|
exports.getMedia = ratio.getMedia;
|
|
@@ -241,6 +242,7 @@ exports.ToTransfer = index$I.ToTransfer;
|
|
|
241
242
|
exports.ToUpload = index$J.ToUpload;
|
|
242
243
|
exports.ToImport = index$K.ToImport;
|
|
243
244
|
exports.ToExport = index$L.ToExport;
|
|
245
|
+
exports.ToRate = index$M.ToRate;
|
|
244
246
|
exports.ToStep = index$6.ToStep;
|
|
245
247
|
exports.md5 = md5.md5;
|
|
246
248
|
exports.isArray = types.isArray;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../packages/ui/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { setRatio, getEm, setMedia, getMedia } from '@touchvue/utils'\nimport * as TouchVueComponents from '@touchvue/components'\nimport InstallDirective from '@touchvue/directives'\n// 添加语言包导入\nimport { use as useTouchvueLocale } from '@touchvue/locale'\nimport cnTouchvueLocale from '@touchvue/locale/lang/zh-CN.js'\nimport enTouchvueLocale from '@touchvue/locale/lang/en-US.js'\n\nexport interface TouchVueUIOptions {\n\tratio?: {\n\t\tbase?: {\n\t\t\tpc?: number\n\t\t\tpad?: number\n\t\t\tphone?: number\n\t\t}\n\t}\n\tzIndex?: number\n\tinput?: {\n\t\tspChars?: string\n\t}\n\t// 添加语言配置选项\n\tlang?: string\n}\n\n// 全局默认配置\nexport const defaultOptions: TouchVueUIOptions = {}\n\n// 全局配置\nexport let globalOptions = { ...defaultOptions }\n\n// 获取全局配置\nexport const getGlobalOptions = (): TouchVueUIOptions => {\n\treturn globalOptions\n}\n\nconst install = (app: App, options: TouchVueUIOptions = {}) => {\n\t// 合并配置项\n\tglobalOptions = {\n\t\t...defaultOptions,\n\t\t...options\n\t}\n\n\t// 处理国际化配置\n\tconst lang = options.lang || 'zh-CN'\n\tlet localeModule\n\tif (lang === 'en-US') {\n\t\tlocaleModule = enTouchvueLocale\n\t} else if (lang === 'zh-CN') {\n\t\tlocaleModule = cnTouchvueLocale\n\t} else {\n\t\t// 如果是其他语言,尝试从默认语言包开始,用户可能需要自己提供\n\t\tlocaleModule = cnTouchvueLocale\n\t}\n\t// 设置默认语言\n\tuseTouchvueLocale(localeModule)\n\n\t// 将配置注入到应用实例中,可以通过app.config.globalProperties.$TOUCHVUE_CONFIG访问\n\t// 工具\n\tapp.config.globalProperties.$getEm = getEm\n\tapp.config.globalProperties.$setMedia = setMedia\n\tapp.config.globalProperties.$getMedia = getMedia\n\n\tconst media = getMedia()\n\tapp.config.globalProperties.$phone = media === 'phone'\n\tapp.config.globalProperties.$pad = media === 'pad'\n\tapp.config.globalProperties.$pc = media === 'pc'\n\n\t// 全局默认配置\n\tapp.config.globalProperties.$TouchUI = {\n\t\tzIndex: globalOptions.zIndex || 2000, // 全局zIndex基数\n\t\tinput: globalOptions.input || {}\n\t}\n\t;(window as any).$TouchUI = {\n\t\tzIndex: 2000\n\t}\n\t// 初始化\n\tsetMedia(options)\n\tsetRatio(options)\n\n\t// 注册所有组件\n\tObject.values(TouchVueComponents).forEach(component => {\n\t\t// 确保是有效的Vue组件插件\n\t\tif (component && typeof component === 'object' && 'install' in component && typeof component.install === 'function') {\n\t\t\tapp.use(component as any)\n\t\t}\n\t})\n\n\tInstallDirective.install(app)\n}\n\n// export { install };\n\nexport default install\n\nexport * from '@touchvue/components'\nexport * from '@touchvue/directives'\nexport * from '@touchvue/locale'\nexport * from '@touchvue/utils'\nexport * from '@touchvue/hooks'\n"],"names":["globalOptions","enTouchvueLocale","cnTouchvueLocale","useTouchvueLocale","getEm","setMedia","getMedia","setRatio","TouchVueComponents","InstallDirective"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../packages/ui/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { setRatio, getEm, setMedia, getMedia } from '@touchvue/utils'\nimport * as TouchVueComponents from '@touchvue/components'\nimport InstallDirective from '@touchvue/directives'\n// 添加语言包导入\nimport { use as useTouchvueLocale } from '@touchvue/locale'\nimport cnTouchvueLocale from '@touchvue/locale/lang/zh-CN.js'\nimport enTouchvueLocale from '@touchvue/locale/lang/en-US.js'\n\nexport interface TouchVueUIOptions {\n\tratio?: {\n\t\tbase?: {\n\t\t\tpc?: number\n\t\t\tpad?: number\n\t\t\tphone?: number\n\t\t}\n\t}\n\tzIndex?: number\n\tinput?: {\n\t\tspChars?: string\n\t}\n\t// 添加语言配置选项\n\tlang?: string\n}\n\n// 全局默认配置\nexport const defaultOptions: TouchVueUIOptions = {}\n\n// 全局配置\nexport let globalOptions = { ...defaultOptions }\n\n// 获取全局配置\nexport const getGlobalOptions = (): TouchVueUIOptions => {\n\treturn globalOptions\n}\n\nconst install = (app: App, options: TouchVueUIOptions = {}) => {\n\t// 合并配置项\n\tglobalOptions = {\n\t\t...defaultOptions,\n\t\t...options\n\t}\n\n\t// 处理国际化配置\n\tconst lang = options.lang || 'zh-CN'\n\tlet localeModule\n\tif (lang === 'en-US') {\n\t\tlocaleModule = enTouchvueLocale\n\t} else if (lang === 'zh-CN') {\n\t\tlocaleModule = cnTouchvueLocale\n\t} else {\n\t\t// 如果是其他语言,尝试从默认语言包开始,用户可能需要自己提供\n\t\tlocaleModule = cnTouchvueLocale\n\t}\n\t// 设置默认语言\n\tuseTouchvueLocale(localeModule)\n\n\t// 将配置注入到应用实例中,可以通过app.config.globalProperties.$TOUCHVUE_CONFIG访问\n\t// 工具\n\tapp.config.globalProperties.$getEm = getEm\n\tapp.config.globalProperties.$setMedia = setMedia\n\tapp.config.globalProperties.$getMedia = getMedia\n\n\tconst media = getMedia()\n\tapp.config.globalProperties.$phone = media === 'phone'\n\tapp.config.globalProperties.$pad = media === 'pad'\n\tapp.config.globalProperties.$pc = media === 'pc'\n\n\t// 全局默认配置\n\tapp.config.globalProperties.$TouchUI = {\n\t\tzIndex: globalOptions.zIndex || 2000, // 全局zIndex基数\n\t\tinput: globalOptions.input || {}\n\t}\n\t;(window as any).$TouchUI = {\n\t\tzIndex: 2000\n\t}\n\t// 初始化\n\tsetMedia(options)\n\tsetRatio(options)\n\n\t// 注册所有组件\n\tObject.values(TouchVueComponents).forEach(component => {\n\t\t// 确保是有效的Vue组件插件\n\t\tif (component && typeof component === 'object' && 'install' in component && typeof component.install === 'function') {\n\t\t\tapp.use(component as any)\n\t\t}\n\t})\n\n\tInstallDirective.install(app)\n}\n\n// export { install };\n\nexport default install\n\nexport * from '@touchvue/components'\nexport * from '@touchvue/directives'\nexport * from '@touchvue/locale'\nexport * from '@touchvue/utils'\nexport * from '@touchvue/hooks'\n"],"names":["globalOptions","enTouchvueLocale","cnTouchvueLocale","useTouchvueLocale","getEm","setMedia","getMedia","setRatio","TouchVueComponents","InstallDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,MAAM,iBAAoC,GAAC;AAGvCA,qBAAA,GAAgB,EAAE,GAAG,cAAe,GAAA;AAGxC,MAAM,mBAAmB,MAAyB;AACxD,EAAO,OAAAA,qBAAA,CAAA;AACR,EAAA;AAEA,MAAM,OAAU,GAAA,CAAC,GAAU,EAAA,OAAA,GAA6B,EAAO,KAAA;AAE9D,EAAgBA,qBAAA,GAAA;AAAA,IACf,GAAG,cAAA;AAAA,IACH,GAAG,OAAA;AAAA,GACJ,CAAA;AAGA,EAAM,MAAA,IAAA,GAAO,QAAQ,IAAQ,IAAA,OAAA,CAAA;AAC7B,EAAI,IAAA,YAAA,CAAA;AACJ,EAAA,IAAI,SAAS,OAAS,EAAA;AACrB,IAAe,YAAA,GAAAC,YAAA,CAAA;AAAA,GAChB,MAAA,IAAW,SAAS,OAAS,EAAA;AAC5B,IAAe,YAAA,GAAAC,YAAA,CAAA;AAAA,GACT,MAAA;AAEN,IAAe,YAAA,GAAAA,YAAA,CAAA;AAAA,GAChB;AAEA,EAAAC,WAAA,CAAkB,YAAY,CAAA,CAAA;AAI9B,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,MAAS,GAAAC,WAAA,CAAA;AACrC,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,SAAY,GAAAC,cAAA,CAAA;AACxC,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,SAAY,GAAAC,cAAA,CAAA;AAExC,EAAA,MAAM,QAAQA,cAAS,EAAA,CAAA;AACvB,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,MAAA,GAAS,KAAU,KAAA,OAAA,CAAA;AAC/C,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,IAAA,GAAO,KAAU,KAAA,KAAA,CAAA;AAC7C,EAAI,GAAA,CAAA,MAAA,CAAO,gBAAiB,CAAA,GAAA,GAAM,KAAU,KAAA,IAAA,CAAA;AAG5C,EAAI,GAAA,CAAA,MAAA,CAAO,iBAAiB,QAAW,GAAA;AAAA,IACtC,MAAA,EAAQN,sBAAc,MAAU,IAAA,GAAA;AAAA;AAAA,IAChC,KAAA,EAAOA,qBAAc,CAAA,KAAA,IAAS,EAAC;AAAA,GAChC,CAAA;AACC,EAAC,OAAe,QAAW,GAAA;AAAA,IAC3B,MAAQ,EAAA,GAAA;AAAA,GACT,CAAA;AAEA,EAAAK,cAAA,CAAS,OAAO,CAAA,CAAA;AAChB,EAAAE,cAAA,CAAS,OAAO,CAAA,CAAA;AAGhB,EAAA,MAAA,CAAO,MAAO,CAAAC,OAAkB,CAAE,CAAA,OAAA,CAAQ,CAAa,SAAA,KAAA;AAEtD,IAAI,IAAA,SAAA,IAAa,OAAO,SAAc,KAAA,QAAA,IAAY,aAAa,SAAa,IAAA,OAAO,SAAU,CAAA,OAAA,KAAY,UAAY,EAAA;AACpH,MAAA,GAAA,CAAI,IAAI,SAAgB,CAAA,CAAA;AAAA,KACzB;AAAA,GACA,CAAA,CAAA;AAED,EAAAC,eAAA,CAAiB,QAAQ,GAAG,CAAA,CAAA;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -75,7 +75,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
75
75
|
return `${(currentLevel.value + 1) * omit}${unit}`;
|
|
76
76
|
});
|
|
77
77
|
const setClass = vue.computed(() => {
|
|
78
|
-
const arr = ["to-
|
|
78
|
+
const arr = ["to-disable-target"];
|
|
79
79
|
if (errorTip.value) {
|
|
80
80
|
arr.push("to-cascader-mode-line");
|
|
81
81
|
arr.push("to-cascader-color-danger");
|