@yimou6/common-ui 1.10.2 → 1.10.4
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/cdn/index.cdn.js +8 -8
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +8 -8
- package/cdn/index.cdn.mjs.map +1 -1
- package/cdn/index.css +1 -1
- package/es/components/checkbox/src/checkbox.vue2.mjs.map +1 -1
- package/es/components/concise-logger/src/concise-logger.vue2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/description-item.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions.vue2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue2.mjs.map +1 -1
- package/es/components/divider/src/divider.vue2.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/form/src/form-item.vue2.mjs.map +1 -1
- package/es/components/form/src/form.vue2.mjs.map +1 -1
- package/es/components/icon-select/src/icon-select.vue2.mjs +5 -5
- package/es/components/icon-select/src/icon-select.vue2.mjs.map +1 -1
- package/es/components/image-verification/src/image-verification.vue2.mjs.map +1 -1
- package/es/components/link/src/link.vue2.mjs.map +1 -1
- package/es/components/live-player/src/live-player.vue2.mjs.map +1 -1
- package/es/components/live-player/src/xgPlayer.vue2.mjs +1 -1
- package/es/components/live-player/src/xgPlayer.vue2.mjs.map +1 -1
- package/es/components/live-player/src/ysPlayer.vue2.mjs +1 -2
- package/es/components/live-player/src/ysPlayer.vue2.mjs.map +1 -1
- package/es/components/page-header/src/page-header.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio.vue2.mjs.map +1 -1
- package/es/components/search/src/search.vue2.mjs.map +1 -1
- package/es/components/segmented/src/segmented.vue2.mjs.map +1 -1
- package/es/components/select/src/select.vue2.mjs.map +1 -1
- package/es/components/split-pane/src/resizer.vue.mjs.map +1 -1
- package/es/components/split-pane/src/split-pane.vue2.mjs.map +1 -1
- package/es/components/table/src/table.vue2.mjs.map +1 -1
- package/es/components/tenant-enterprise/src/tenant-enterprise.vue2.mjs.map +1 -1
- package/es/components/text-button/src/text-button-group.vue2.mjs.map +1 -1
- package/es/components/text-button/src/text-button.vue2.mjs.map +1 -1
- package/es/components/tzj-player/index.d.ts +2 -0
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/tzj-player.d.ts +1 -0
- package/es/components/tzj-player/src/tzj-player.mjs +12 -1
- package/es/components/tzj-player/src/tzj-player.mjs.map +1 -1
- package/es/components/tzj-player/src/tzj-player.vue.d.ts +2 -0
- package/es/components/tzj-player/src/tzj-player.vue2.mjs +21 -8
- package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/ysPlayer.vue2.mjs +1 -2
- package/es/components/tzj-player/src/ysPlayer.vue2.mjs.map +1 -1
- package/es/types.d.ts +3 -2
- package/lib/components/checkbox/src/checkbox.vue2.js.map +1 -1
- package/lib/components/concise-logger/src/concise-logger.vue2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker.vue2.js.map +1 -1
- package/lib/components/descriptions/src/description-item.vue2.js.map +1 -1
- package/lib/components/descriptions/src/descriptions.vue2.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue2.js.map +1 -1
- package/lib/components/divider/src/divider.vue2.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue2.js +1 -1
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/form/src/form-item.vue2.js.map +1 -1
- package/lib/components/form/src/form.vue2.js.map +1 -1
- package/lib/components/icon-select/src/icon-select.vue2.js +5 -5
- package/lib/components/icon-select/src/icon-select.vue2.js.map +1 -1
- package/lib/components/image-verification/src/image-verification.vue2.js.map +1 -1
- package/lib/components/link/src/link.vue2.js.map +1 -1
- package/lib/components/live-player/src/live-player.vue2.js.map +1 -1
- package/lib/components/live-player/src/xgPlayer.vue2.js +1 -1
- package/lib/components/live-player/src/xgPlayer.vue2.js.map +1 -1
- package/lib/components/live-player/src/ysPlayer.vue2.js +1 -2
- package/lib/components/live-player/src/ysPlayer.vue2.js.map +1 -1
- package/lib/components/page-header/src/page-header.vue2.js.map +1 -1
- package/lib/components/radio/src/radio.vue2.js.map +1 -1
- package/lib/components/search/src/search.vue2.js.map +1 -1
- package/lib/components/segmented/src/segmented.vue2.js.map +1 -1
- package/lib/components/select/src/select.vue2.js.map +1 -1
- package/lib/components/split-pane/src/resizer.vue.js.map +1 -1
- package/lib/components/split-pane/src/split-pane.vue2.js.map +1 -1
- package/lib/components/table/src/table.vue2.js.map +1 -1
- package/lib/components/tenant-enterprise/src/tenant-enterprise.vue2.js.map +1 -1
- package/lib/components/text-button/src/text-button-group.vue2.js.map +1 -1
- package/lib/components/text-button/src/text-button.vue2.js.map +1 -1
- package/lib/components/tzj-player/index.d.ts +2 -0
- package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/tzj-player.d.ts +1 -0
- package/lib/components/tzj-player/src/tzj-player.js +12 -0
- package/lib/components/tzj-player/src/tzj-player.js.map +1 -1
- package/lib/components/tzj-player/src/tzj-player.vue.d.ts +2 -0
- package/lib/components/tzj-player/src/tzj-player.vue2.js +19 -6
- package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/ysPlayer.vue2.js +1 -2
- package/lib/components/tzj-player/src/ysPlayer.vue2.js.map +1 -1
- package/lib/types.d.ts +3 -2
- package/package.json +1 -1
- package/theme-default/i-tzj-player.css +1 -1
- package/theme-default/index.css +1 -1
- package/theme-default/i-wisdom-chat.css +0 -1
|
@@ -169,14 +169,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
169
169
|
null,
|
|
170
170
|
"\u9009\u62E9",
|
|
171
171
|
-1
|
|
172
|
-
/*
|
|
172
|
+
/* CACHED */
|
|
173
173
|
)),
|
|
174
174
|
_cache[4] || (_cache[4] = createElementVNode(
|
|
175
175
|
"span",
|
|
176
176
|
null,
|
|
177
177
|
"\u56FE\u6807",
|
|
178
178
|
-1
|
|
179
|
-
/*
|
|
179
|
+
/* CACHED */
|
|
180
180
|
))
|
|
181
181
|
],
|
|
182
182
|
64
|
|
@@ -224,7 +224,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
224
224
|
null,
|
|
225
225
|
"Name\uFF1A",
|
|
226
226
|
-1
|
|
227
|
-
/*
|
|
227
|
+
/* CACHED */
|
|
228
228
|
)),
|
|
229
229
|
createElementVNode("span", {
|
|
230
230
|
title: activeIcon.value.name
|
|
@@ -236,7 +236,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
236
236
|
null,
|
|
237
237
|
"Class\uFF1A",
|
|
238
238
|
-1
|
|
239
|
-
/*
|
|
239
|
+
/* CACHED */
|
|
240
240
|
)),
|
|
241
241
|
createElementVNode("span", {
|
|
242
242
|
title: activeIcon.value.font_class
|
|
@@ -248,7 +248,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
248
248
|
null,
|
|
249
249
|
"Unicode\uFF1A",
|
|
250
250
|
-1
|
|
251
|
-
/*
|
|
251
|
+
/* CACHED */
|
|
252
252
|
)),
|
|
253
253
|
createElementVNode(
|
|
254
254
|
"span",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-select.vue2.mjs","sources":["../../../../../../../packages/components/icon-select/src/icon-select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { onClickOutside } from '@vueuse/core';\n import { ElInput, ElPagination } from 'element-plus';\n import { ref, unref, watchEffect } from 'vue';\n import { IconSelectProps } from './icon-select';\n import Iconfont from './iconfont';\n\n defineOptions({\n name: 'IIconSelect',\n });\n const props = defineProps(IconSelectProps);\n const emit = defineEmits({\n 'update:modelValue': (value: string) => value,\n change: (value: string) => value,\n });\n const iconValue = ref<string>('');\n const triggerRef = ref();\n const popoverRef = ref();\n\n onClickOutside(triggerRef.value, () => {\n unref(popoverRef).popperRef?.delayHide?.();\n });\n\n watchEffect(() => {\n iconValue.value = props.modelValue;\n });\n\n const searchValue = ref<string>('');\n const pageSize = 50;\n const current = ref<number>(1);\n const icons = ref<any[]>([]); // 显示列表\n const iconsBaseList = ref<any[]>(Iconfont.glyphs || []); // 基础列表\n const activeIcon = ref({\n font_class: '',\n unicode: '',\n name: '',\n });\n\n // 翻页\n const handleCurrentChange = (current: number) => {\n const startIndex = (current - 1) * pageSize;\n const endIndex = startIndex + pageSize;\n const list: any[] = iconsBaseList.value.slice(startIndex, endIndex);\n // 不足 pageSize 的情况,补全\n if (list.length < pageSize) {\n const len = pageSize - list.length;\n for (let i = 0; i < len; i++) {\n list.push({\n font_class: '',\n unicode: '-',\n name: '-',\n });\n }\n }\n icons.value = list;\n };\n\n // 首次加载第一页\n handleCurrentChange(1);\n\n // 点击选择\n const handleClick = (row: any) => {\n if (row.font_class) {\n activeIcon.value = row;\n iconValue.value = `icon-${row.font_class}`;\n emit('update:modelValue', iconValue.value);\n emit('change', row);\n } else {\n return null;\n }\n };\n\n // 搜索\n const handleChange = () => {\n if (Array.isArray(Iconfont.glyphs)) {\n if (searchValue.value) {\n iconsBaseList.value = Iconfont.glyphs.filter((item: any) => {\n return item.font_class.indexOf(searchValue.value) > -1 || item.name.indexOf(searchValue.value) > -1;\n });\n current.value = 1;\n handleCurrentChange(current.value);\n } else {\n handleHide();\n }\n }\n };\n\n // 弹出框显示之前触发\n function handleShow() {\n if (props.modelValue) {\n const font_class = props.modelValue.replace('icon-', '');\n const index = iconsBaseList.value.findIndex((item: any) => {\n return item.font_class === font_class;\n });\n if (index > -1) {\n activeIcon.value = iconsBaseList.value[index];\n // 该icon在第index项,找到它在第几页\n current.value = Math.ceil(index / pageSize);\n handleCurrentChange(current.value);\n }\n }\n }\n\n // 弹出框隐藏时触发\n // 重置检索项 searchValue\n // 重置分页 current\n function handleHide() {\n searchValue.value = '';\n activeIcon.value = {\n font_class: '',\n unicode: '',\n name: '',\n };\n current.value = 1;\n iconsBaseList.value = Iconfont.glyphs;\n handleCurrentChange(current.value);\n }\n</script>\n\n<template>\n <div>\n <div v-if=\"type === 'input'\" class=\"t-icon-select__input\">\n <ElInput ref=\"triggerRef\" v-model=\"iconValue\" placeholder=\"选择图标\" readonly>\n <template #prepend>\n <i class=\"iconfont\" :class=\"iconValue\" />\n </template>\n </ElInput>\n </div>\n <div\n v-else-if=\"type === 'card'\"\n ref=\"triggerRef\"\n class=\"t-icon-select-card\"\n :style=\"{\n width: size,\n height: size,\n }\"\n >\n <template v-if=\"!iconValue\">\n <span>选择</span>\n <span>图标</span>\n </template>\n <i v-else class=\"iconfont\" :class=\"iconValue\" />\n </div>\n <ElPopover\n ref=\"popoverRef\"\n :virtual-ref=\"triggerRef\"\n trigger=\"click\"\n width=\"515px\"\n @before-enter=\"handleShow\"\n @hide=\"handleHide\"\n >\n <div class=\"t-icon-select__wrap\">\n <div class=\"icon-view\">\n <div class=\"icon-view-box\">\n <i class=\"iconfont\" :class=\"`icon-${activeIcon.font_class}`\" />\n </div>\n <div class=\"icon-text\">\n <label>Name:</label>\n <span :title=\"activeIcon.name\">{{ activeIcon.name }}</span>\n </div>\n <div class=\"icon-text\">\n <label>Class:</label>\n <span :title=\"activeIcon.font_class\">{{ activeIcon.font_class }}</span>\n </div>\n <div class=\"icon-text\">\n <label>Unicode:</label>\n <span>{{ activeIcon.unicode }}</span>\n </div>\n </div>\n <div class=\"icon-list-wrap\">\n <ElInput\n v-model=\"searchValue\"\n class=\"icon-search\"\n placeholder=\"图标Name/Class\"\n clearable\n @change=\"handleChange\"\n />\n <div class=\"icon-list\">\n <div\n v-for=\"item in icons\"\n :key=\"item.icon_id\"\n class=\"icon-list-item\"\n :class=\"{\n active: item.font_class === activeIcon.font_class,\n disabled: !item.font_class,\n }\"\n @click=\"handleClick(item)\"\n >\n <i class=\"iconfont\" :class=\"[`icon-${item.font_class}`]\" />\n </div>\n </div>\n <div class=\"icon-footer\">\n <ElPagination\n v-model:current-page=\"current\"\n :total=\"iconsBaseList.length\"\n :pager-count=\"4\"\n :page-size=\"pageSize\"\n layout=\"prev,pager,next\"\n background\n small\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n </div>\n </ElPopover>\n </div>\n</template>\n"],"names":["current"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"icon-select.vue2.mjs","sources":["../../../../../../../packages/components/icon-select/src/icon-select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { onClickOutside } from '@vueuse/core';\n import { ElInput, ElPagination } from 'element-plus';\n import { ref, unref, watchEffect } from 'vue';\n import { IconSelectProps } from './icon-select';\n import Iconfont from './iconfont';\n\n defineOptions({\n name: 'IIconSelect',\n });\n const props = defineProps(IconSelectProps);\n const emit = defineEmits({\n 'update:modelValue': (value: string) => value,\n change: (value: string) => value,\n });\n const iconValue = ref<string>('');\n const triggerRef = ref();\n const popoverRef = ref();\n\n onClickOutside(triggerRef.value, () => {\n unref(popoverRef).popperRef?.delayHide?.();\n });\n\n watchEffect(() => {\n iconValue.value = props.modelValue;\n });\n\n const searchValue = ref<string>('');\n const pageSize = 50;\n const current = ref<number>(1);\n const icons = ref<any[]>([]); // 显示列表\n const iconsBaseList = ref<any[]>(Iconfont.glyphs || []); // 基础列表\n const activeIcon = ref({\n font_class: '',\n unicode: '',\n name: '',\n });\n\n // 翻页\n const handleCurrentChange = (current: number) => {\n const startIndex = (current - 1) * pageSize;\n const endIndex = startIndex + pageSize;\n const list: any[] = iconsBaseList.value.slice(startIndex, endIndex);\n // 不足 pageSize 的情况,补全\n if (list.length < pageSize) {\n const len = pageSize - list.length;\n for (let i = 0; i < len; i++) {\n list.push({\n font_class: '',\n unicode: '-',\n name: '-',\n });\n }\n }\n icons.value = list;\n };\n\n // 首次加载第一页\n handleCurrentChange(1);\n\n // 点击选择\n const handleClick = (row: any) => {\n if (row.font_class) {\n activeIcon.value = row;\n iconValue.value = `icon-${row.font_class}`;\n emit('update:modelValue', iconValue.value);\n emit('change', row);\n } else {\n return null;\n }\n };\n\n // 搜索\n const handleChange = () => {\n if (Array.isArray(Iconfont.glyphs)) {\n if (searchValue.value) {\n iconsBaseList.value = Iconfont.glyphs.filter((item: any) => {\n return item.font_class.indexOf(searchValue.value) > -1 || item.name.indexOf(searchValue.value) > -1;\n });\n current.value = 1;\n handleCurrentChange(current.value);\n } else {\n handleHide();\n }\n }\n };\n\n // 弹出框显示之前触发\n function handleShow() {\n if (props.modelValue) {\n const font_class = props.modelValue.replace('icon-', '');\n const index = iconsBaseList.value.findIndex((item: any) => {\n return item.font_class === font_class;\n });\n if (index > -1) {\n activeIcon.value = iconsBaseList.value[index];\n // 该icon在第index项,找到它在第几页\n current.value = Math.ceil(index / pageSize);\n handleCurrentChange(current.value);\n }\n }\n }\n\n // 弹出框隐藏时触发\n // 重置检索项 searchValue\n // 重置分页 current\n function handleHide() {\n searchValue.value = '';\n activeIcon.value = {\n font_class: '',\n unicode: '',\n name: '',\n };\n current.value = 1;\n iconsBaseList.value = Iconfont.glyphs;\n handleCurrentChange(current.value);\n }\n</script>\n\n<template>\n <div>\n <div v-if=\"type === 'input'\" class=\"t-icon-select__input\">\n <ElInput ref=\"triggerRef\" v-model=\"iconValue\" placeholder=\"选择图标\" readonly>\n <template #prepend>\n <i class=\"iconfont\" :class=\"iconValue\" />\n </template>\n </ElInput>\n </div>\n <div\n v-else-if=\"type === 'card'\"\n ref=\"triggerRef\"\n class=\"t-icon-select-card\"\n :style=\"{\n width: size,\n height: size,\n }\"\n >\n <template v-if=\"!iconValue\">\n <span>选择</span>\n <span>图标</span>\n </template>\n <i v-else class=\"iconfont\" :class=\"iconValue\" />\n </div>\n <ElPopover\n ref=\"popoverRef\"\n :virtual-ref=\"triggerRef\"\n trigger=\"click\"\n width=\"515px\"\n @before-enter=\"handleShow\"\n @hide=\"handleHide\"\n >\n <div class=\"t-icon-select__wrap\">\n <div class=\"icon-view\">\n <div class=\"icon-view-box\">\n <i class=\"iconfont\" :class=\"`icon-${activeIcon.font_class}`\" />\n </div>\n <div class=\"icon-text\">\n <label>Name:</label>\n <span :title=\"activeIcon.name\">{{ activeIcon.name }}</span>\n </div>\n <div class=\"icon-text\">\n <label>Class:</label>\n <span :title=\"activeIcon.font_class\">{{ activeIcon.font_class }}</span>\n </div>\n <div class=\"icon-text\">\n <label>Unicode:</label>\n <span>{{ activeIcon.unicode }}</span>\n </div>\n </div>\n <div class=\"icon-list-wrap\">\n <ElInput\n v-model=\"searchValue\"\n class=\"icon-search\"\n placeholder=\"图标Name/Class\"\n clearable\n @change=\"handleChange\"\n />\n <div class=\"icon-list\">\n <div\n v-for=\"item in icons\"\n :key=\"item.icon_id\"\n class=\"icon-list-item\"\n :class=\"{\n active: item.font_class === activeIcon.font_class,\n disabled: !item.font_class,\n }\"\n @click=\"handleClick(item)\"\n >\n <i class=\"iconfont\" :class=\"[`icon-${item.font_class}`]\" />\n </div>\n </div>\n <div class=\"icon-footer\">\n <ElPagination\n v-model:current-page=\"current\"\n :total=\"iconsBaseList.length\"\n :pager-count=\"4\"\n :page-size=\"pageSize\"\n layout=\"prev,pager,next\"\n background\n small\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n </div>\n </ElPopover>\n </div>\n</template>\n"],"names":["current","_createElementBlock","type","_openBlock","_createVNode","_unref","_createElementVNode","_normalizeClass","_normalizeStyle","size","_Fragment","_toDisplayString","_renderList"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-verification.vue2.mjs","sources":["../../../../../../../packages/components/image-verification/src/image-verification.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize, watchDebounced } from '@vueuse/core';\n import { computed, nextTick, onMounted, ref, watchEffect } from 'vue';\n import { ImageVerificationProps } from './image-verification';\n\n defineOptions({\n name: 'IImageVerification',\n });\n\n defineProps(ImageVerificationProps);\n const emits = defineEmits({\n 'update:modelValue': (value: string) => value,\n refresh: () => true,\n });\n\n const CODE_STRING = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; // 验证码字符串\n const CODE_LENGTH = 4; // 验证码长度\n\n const imgVerifyRef = ref();\n // @ts-ignore\n const { width, height } = useElementSize(imgVerifyRef);\n const imgVerify = computed(() => {\n return { width: width.value, height: height.value };\n });\n const canvasRef = ref<HTMLCanvasElement>();\n const imgCodeText = ref('');\n onMounted(() => handleRefresh());\n watchEffect(() => {\n if (imgCodeText.value) {\n emits('update:modelValue', imgCodeText.value);\n }\n });\n watchDebounced(\n () => imgVerify.value,\n () => handleRefresh(),\n );\n defineExpose({\n refresh: handleRefresh,\n });\n\n /**\n * 刷新验证码\n */\n async function handleRefresh() {\n if (canvasRef.value) {\n await sleep(100);\n await nextTick();\n imgCodeText.value = drawCode(canvasRef.value, width.value, height.value);\n } else {\n console.error('canvas获取上下文失败');\n }\n }\n\n /**\n * 绘制验证码\n * @param canvas\n * @param w\n * @param h\n */\n function drawCode(canvas: HTMLCanvasElement, w: number, h: number): string {\n const ctx = canvas.getContext('2d');\n let codeText = '';\n if (!ctx) return '';\n ctx.fillStyle = randomColor(180, 230); // 背景色\n ctx.fillRect(0, 0, w, h); // 矩形填充区域\n for (let i = 0; i < CODE_LENGTH; i++) {\n // 字符\n const text = CODE_STRING[randomNum(0, CODE_STRING.length)];\n codeText += text;\n // 字体大小\n const fontSize = randomNum(h - 6, h);\n // 字体样式\n ctx.font = `550 ${fontSize}px Simhei`;\n // 基线对齐\n ctx.textBaseline = 'top';\n // 文本对齐\n ctx.textAlign = 'left';\n ctx.fillStyle = randomColor(50, 160);\n ctx.save();\n ctx.translate((w / (CODE_LENGTH + 1)) * i, 0);\n ctx.rotate((randomNum(-10, 10) * Math.PI) / 180);\n ctx.fillText(text, 5, 0);\n ctx.restore();\n }\n return codeText;\n }\n\n function sleep(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n /**\n * 根据min和max随机返回一个随机数\n * @param min\n * @param max\n */\n function randomNum(min: number, max: number): number {\n return Math.floor(Math.random() * (max - min) + min);\n }\n /**\n * 返回一个随机颜色(rgb格式)\n * @param min 色值最小值\n * @param max 色值最大值\n */\n function randomColor(min: number, max: number): string {\n const r = randomNum(min, max);\n const g = randomNum(min, max);\n const b = randomNum(min, max);\n return `rgb(${r},${g},${b})`;\n }\n</script>\n\n<template>\n <div ref=\"imgVerifyRef\" class=\"t-img-verify\">\n <canvas ref=\"canvasRef\" :width=\"imgVerify.width\" :height=\"imgVerify.height\" @click=\"handleRefresh\" />\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;AAgBE,MAAM,WAAc,GAAA,CAAA;;;;;;;;;;;;AANpB,IAAA,MAAM,KAAQ,GAAA,MAAA;AAKd,IAAM,MAAA,WAAA,GAAc,CAAC,GAAA,EAAK,GAAK,EAAA,GAAA,EAAK,GAAK,EAAA,GAAA,EAAK,GAAK,EAAA,GAAA,EAAK,GAAK,EAAA,GAAA,EAAK,GAAG,CAAA;AAGrE,IAAA,MAAM,eAAe,GAAI,EAAA;AAEzB,IAAA,MAAM,EAAE,KAAA,EAAO,MAAO,EAAA,GAAI,eAAe,YAAY,CAAA;AACrD,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,MAAA,OAAO,EAAE,KAAO,EAAA,KAAA,CAAM,KAAO,EAAA,MAAA,EAAQ,OAAO,KAAM,EAAA;AAAA,KACnD,CAAA;AACD,IAAA,MAAM,YAAY,GAAuB,EAAA;AACzC,IAAM,MAAA,WAAA,GAAc,IAAI,EAAE,CAAA;AAC1B,IAAU,SAAA,CAAA,MAAM,eAAe,CAAA;AAC/B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAI,YAAY,KAAO,EAAA;AACrB,QAAM,KAAA,CAAA,mBAAA,EAAqB,YAAY,KAAK,CAAA;AAAA;AAC9C,KACD,CAAA;AACD,IAAA,cAAA;AAAA,MACE,MAAM,SAAU,CAAA,KAAA;AAAA,MAChB,MAAM,aAAc;AAAA,KACtB;AACA,IAAa,QAAA,CAAA;AAAA,MACX,OAAS,EAAA;AAAA,KACV,CAAA;AAKD,IAAA,eAAe,aAAgB,GAAA;AAC7B,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,MAAM,MAAM,GAAG,CAAA;AACf,QAAA,MAAM,QAAS,EAAA;AACf,QAAA,WAAA,CAAY,QAAQ,QAAS,CAAA,SAAA,CAAU,OAAO,KAAM,CAAA,KAAA,EAAO,OAAO,KAAK,CAAA;AAAA,OAClE,MAAA;AACL,QAAA,OAAA,CAAQ,MAAM,kDAAe,CAAA;AAAA;AAC/B;AAPa,IAAA,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAgBf,IAAS,SAAA,QAAA,CAAS,MAA2B,EAAA,CAAA,EAAW,CAAmB,EAAA;AACzE,MAAM,MAAA,GAAA,GAAM,MAAO,CAAA,UAAA,CAAW,IAAI,CAAA;AAClC,MAAA,IAAI,QAAW,GAAA,EAAA;AACf,MAAI,IAAA,CAAC,KAAY,OAAA,EAAA;AACjB,MAAI,GAAA,CAAA,SAAA,GAAY,WAAY,CAAA,GAAA,EAAK,GAAG,CAAA;AACpC,MAAA,GAAA,CAAI,QAAS,CAAA,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA;AACvB,MAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,WAAA,EAAa,CAAK,EAAA,EAAA;AAEpC,QAAA,MAAM,OAAO,WAAY,CAAA,SAAA,CAAU,CAAG,EAAA,WAAA,CAAY,MAAM,CAAC,CAAA;AACzD,QAAY,QAAA,IAAA,IAAA;AAEZ,QAAA,MAAM,QAAW,GAAA,SAAA,CAAU,CAAI,GAAA,CAAA,EAAG,CAAC,CAAA;AAEnC,QAAI,GAAA,CAAA,IAAA,GAAO,OAAO,QAAQ,CAAA,SAAA,CAAA;AAE1B,QAAA,GAAA,CAAI,YAAe,GAAA,KAAA;AAEnB,QAAA,GAAA,CAAI,SAAY,GAAA,MAAA;AAChB,QAAI,GAAA,CAAA,SAAA,GAAY,WAAY,CAAA,EAAA,EAAI,GAAG,CAAA;AACnC,QAAA,GAAA,CAAI,IAAK,EAAA;AACT,QAAA,GAAA,CAAI,SAAW,CAAA,CAAA,IAAK,WAAc,GAAA,CAAA,CAAA,GAAM,GAAG,CAAC,CAAA;AAC5C,QAAA,GAAA,CAAI,OAAQ,SAAU,CAAA,CAAA,EAAA,EAAK,EAAE,CAAI,GAAA,IAAA,CAAK,KAAM,GAAG,CAAA;AAC/C,QAAI,GAAA,CAAA,QAAA,CAAS,IAAM,EAAA,CAAA,EAAG,CAAC,CAAA;AACvB,QAAA,GAAA,CAAI,OAAQ,EAAA;AAAA;AAEd,MAAO,OAAA,QAAA;AAAA;AAzBA,IAAA,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA;AA4BT,IAAA,SAAS,MAAM,EAAY,EAAA;AACzB,MAAA,OAAO,IAAI,OAAQ,CAAA,CAAA,OAAA,KAAW,UAAW,CAAA,OAAA,EAAS,EAAE,CAAC,CAAA;AAAA;AAD9C,IAAA,MAAA,CAAA,KAAA,EAAA,OAAA,CAAA;AAQT,IAAS,SAAA,SAAA,CAAU,KAAa,GAAqB,EAAA;AACnD,MAAA,OAAO,KAAK,KAAM,CAAA,IAAA,CAAK,QAAY,IAAA,GAAA,GAAM,OAAO,GAAG,CAAA;AAAA;AAD5C,IAAA,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA;AAQT,IAAS,SAAA,WAAA,CAAY,KAAa,GAAqB,EAAA;AACrD,MAAM,MAAA,CAAA,GAAI,SAAU,CAAA,GAAA,EAAK,GAAG,CAAA;AAC5B,MAAM,MAAA,CAAA,GAAI,SAAU,CAAA,GAAA,EAAK,GAAG,CAAA;AAC5B,MAAM,MAAA,CAAA,GAAI,SAAU,CAAA,GAAA,EAAK,GAAG,CAAA;AAC5B,MAAA,OAAO,CAAO,IAAA,EAAA,CAAC,CAAI,CAAA,EAAA,CAAC,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA;AAJlB,IAAA,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA
|
|
1
|
+
{"version":3,"file":"image-verification.vue2.mjs","sources":["../../../../../../../packages/components/image-verification/src/image-verification.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize, watchDebounced } from '@vueuse/core';\n import { computed, nextTick, onMounted, ref, watchEffect } from 'vue';\n import { ImageVerificationProps } from './image-verification';\n\n defineOptions({\n name: 'IImageVerification',\n });\n\n defineProps(ImageVerificationProps);\n const emits = defineEmits({\n 'update:modelValue': (value: string) => value,\n refresh: () => true,\n });\n\n const CODE_STRING = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; // 验证码字符串\n const CODE_LENGTH = 4; // 验证码长度\n\n const imgVerifyRef = ref();\n // @ts-ignore\n const { width, height } = useElementSize(imgVerifyRef);\n const imgVerify = computed(() => {\n return { width: width.value, height: height.value };\n });\n const canvasRef = ref<HTMLCanvasElement>();\n const imgCodeText = ref('');\n onMounted(() => handleRefresh());\n watchEffect(() => {\n if (imgCodeText.value) {\n emits('update:modelValue', imgCodeText.value);\n }\n });\n watchDebounced(\n () => imgVerify.value,\n () => handleRefresh(),\n );\n defineExpose({\n refresh: handleRefresh,\n });\n\n /**\n * 刷新验证码\n */\n async function handleRefresh() {\n if (canvasRef.value) {\n await sleep(100);\n await nextTick();\n imgCodeText.value = drawCode(canvasRef.value, width.value, height.value);\n } else {\n console.error('canvas获取上下文失败');\n }\n }\n\n /**\n * 绘制验证码\n * @param canvas\n * @param w\n * @param h\n */\n function drawCode(canvas: HTMLCanvasElement, w: number, h: number): string {\n const ctx = canvas.getContext('2d');\n let codeText = '';\n if (!ctx) return '';\n ctx.fillStyle = randomColor(180, 230); // 背景色\n ctx.fillRect(0, 0, w, h); // 矩形填充区域\n for (let i = 0; i < CODE_LENGTH; i++) {\n // 字符\n const text = CODE_STRING[randomNum(0, CODE_STRING.length)];\n codeText += text;\n // 字体大小\n const fontSize = randomNum(h - 6, h);\n // 字体样式\n ctx.font = `550 ${fontSize}px Simhei`;\n // 基线对齐\n ctx.textBaseline = 'top';\n // 文本对齐\n ctx.textAlign = 'left';\n ctx.fillStyle = randomColor(50, 160);\n ctx.save();\n ctx.translate((w / (CODE_LENGTH + 1)) * i, 0);\n ctx.rotate((randomNum(-10, 10) * Math.PI) / 180);\n ctx.fillText(text, 5, 0);\n ctx.restore();\n }\n return codeText;\n }\n\n function sleep(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n /**\n * 根据min和max随机返回一个随机数\n * @param min\n * @param max\n */\n function randomNum(min: number, max: number): number {\n return Math.floor(Math.random() * (max - min) + min);\n }\n /**\n * 返回一个随机颜色(rgb格式)\n * @param min 色值最小值\n * @param max 色值最大值\n */\n function randomColor(min: number, max: number): string {\n const r = randomNum(min, max);\n const g = randomNum(min, max);\n const b = randomNum(min, max);\n return `rgb(${r},${g},${b})`;\n }\n</script>\n\n<template>\n <div ref=\"imgVerifyRef\" class=\"t-img-verify\">\n <canvas ref=\"canvasRef\" :width=\"imgVerify.width\" :height=\"imgVerify.height\" @click=\"handleRefresh\" />\n </div>\n</template>\n"],"names":["_createElementBlock","_createElementVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.vue2.mjs","sources":["../../../../../../../packages/components/link/src/link.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useMouseInElement } from '@vueuse/core';\n import { ElLink } from 'element-plus';\n import { computed, ref, watchEffect } from 'vue';\n import { customLinkType, darkenColor, getLinkIcon, linkEmits, LinkProps } from './link';\n\n defineOptions({\n name: 'ILink',\n });\n const props = defineProps(LinkProps);\n const emit = defineEmits(linkEmits);\n\n const handleClick = (evt: MouseEvent) => {\n if (!props.disabled) emit('click', evt);\n };\n\n const _icon = computed(() => getLinkIcon(props.type, props.icon));\n const _color = computed(() => {\n return props.color\n ? props.color\n : props.type && customLinkType[props.type]\n ? customLinkType[props.type].color || 'var(--el-color-primary)'\n : 'var(--el-color-primary)';\n });\n\n const linkRef = ref();\n const { isOutside } = useMouseInElement(linkRef);\n const changeColorByIsOutside = () => {\n if (props.disabled) return;\n if (isOutside.value) {\n if (linkRef.value) {\n (linkRef.value?.$el as HTMLDivElement).style.color = _color.value;\n }\n } else {\n const color = (linkRef.value?.$el as HTMLDivElement).style.color;\n (linkRef.value?.$el as HTMLDivElement).style.color =\n color.indexOf('var') > -1 ? 'var(--el-color-primary-dark-2)' : props.hover || darkenColor(color, 0.2);\n }\n };\n watchEffect(() => changeColorByIsOutside());\n</script>\n\n<template>\n <ElLink ref=\"linkRef\" class=\"t-link\" :underline=\"false\" :disabled=\"disabled\" @click=\"handleClick\">\n <div v-if=\"$slots.icon || _icon\" class=\"t-link-icon\">\n <slot v-if=\"$slots.icon\" name=\"icon\" />\n <i v-else class=\"iconfont\" :class=\"[_icon]\" />\n </div>\n <div class=\"t-link-content\">\n <slot name=\"default\" />\n </div>\n </ElLink>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AAEb,IAAM,MAAA,WAAA,2BAAe,GAAoB,KAAA;AACvC,MAAA,IAAI,CAAC,KAAA,CAAM,QAAU,EAAA,IAAA,CAAK,SAAS,GAAG,CAAA;AAAA,KADpB,EAAA,aAAA,CAAA;AAIpB,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM,WAAA,CAAY,MAAM,IAAM,EAAA,KAAA,CAAM,IAAI,CAAC,CAAA;AAChE,IAAM,MAAA,MAAA,GAAS,SAAS,MAAM;AAC5B,MAAA,OAAO,KAAM,CAAA,KAAA,GACT,KAAM,CAAA,KAAA,GACN,MAAM,IAAQ,IAAA,cAAA,CAAe,KAAM,CAAA,IAAI,IACrC,cAAe,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,SAAS,yBACpC,GAAA,yBAAA;AAAA,KACP,CAAA;AAED,IAAA,MAAM,UAAU,GAAI,EAAA;AACpB,IAAA,MAAM,EAAE,SAAA,EAAc,GAAA,iBAAA,CAAkB,OAAO,CAAA;AAC/C,IAAA,MAAM,yCAA+B,MAAA,CAAA,MAAA;;AACnC,MAAA,IAAI,MAAM,QAAU,EAAA;AACpB,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,IAAI,QAAQ,KAAO,EAAA;AACjB,UAAA,CAAA,CAAC,aAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,GAAuB,EAAA,KAAA,CAAM,QAAQ,MAAO,CAAA,KAAA;AAAA;AAC9D,OACK,MAAA;AACL,QAAA,MAAM,KAAS,GAAA,CAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,KAAuB,KAAM,CAAA,KAAA;AAC3D,QAAA,CAAA,CAAC,aAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,GAAuB,EAAA,KAAA,CAAM,QAC3C,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAK,gCAAmC,GAAA,KAAA,CAAM,KAAS,IAAA,WAAA,CAAY,OAAO,GAAG,CAAA;AAAA;AACxG,KAV6B,EAAA,wBAAA,CAAA;AAY/B,IAAY,WAAA,CAAA,MAAM,wBAAwB,CAAA
|
|
1
|
+
{"version":3,"file":"link.vue2.mjs","sources":["../../../../../../../packages/components/link/src/link.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useMouseInElement } from '@vueuse/core';\n import { ElLink } from 'element-plus';\n import { computed, ref, watchEffect } from 'vue';\n import { customLinkType, darkenColor, getLinkIcon, linkEmits, LinkProps } from './link';\n\n defineOptions({\n name: 'ILink',\n });\n const props = defineProps(LinkProps);\n const emit = defineEmits(linkEmits);\n\n const handleClick = (evt: MouseEvent) => {\n if (!props.disabled) emit('click', evt);\n };\n\n const _icon = computed(() => getLinkIcon(props.type, props.icon));\n const _color = computed(() => {\n return props.color\n ? props.color\n : props.type && customLinkType[props.type]\n ? customLinkType[props.type].color || 'var(--el-color-primary)'\n : 'var(--el-color-primary)';\n });\n\n const linkRef = ref();\n const { isOutside } = useMouseInElement(linkRef);\n const changeColorByIsOutside = () => {\n if (props.disabled) return;\n if (isOutside.value) {\n if (linkRef.value) {\n (linkRef.value?.$el as HTMLDivElement).style.color = _color.value;\n }\n } else {\n const color = (linkRef.value?.$el as HTMLDivElement).style.color;\n (linkRef.value?.$el as HTMLDivElement).style.color =\n color.indexOf('var') > -1 ? 'var(--el-color-primary-dark-2)' : props.hover || darkenColor(color, 0.2);\n }\n };\n watchEffect(() => changeColorByIsOutside());\n</script>\n\n<template>\n <ElLink ref=\"linkRef\" class=\"t-link\" :underline=\"false\" :disabled=\"disabled\" @click=\"handleClick\">\n <div v-if=\"$slots.icon || _icon\" class=\"t-link-icon\">\n <slot v-if=\"$slots.icon\" name=\"icon\" />\n <i v-else class=\"iconfont\" :class=\"[_icon]\" />\n </div>\n <div class=\"t-link-content\">\n <slot name=\"default\" />\n </div>\n </ElLink>\n</template>\n"],"names":["_createBlock","_unref","disabled","$slots","_openBlock","_createElementBlock","_renderSlot","_normalizeClass","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AAEb,IAAM,MAAA,WAAA,2BAAe,GAAoB,KAAA;AACvC,MAAA,IAAI,CAAC,KAAA,CAAM,QAAU,EAAA,IAAA,CAAK,SAAS,GAAG,CAAA;AAAA,KADpB,EAAA,aAAA,CAAA;AAIpB,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM,WAAA,CAAY,MAAM,IAAM,EAAA,KAAA,CAAM,IAAI,CAAC,CAAA;AAChE,IAAM,MAAA,MAAA,GAAS,SAAS,MAAM;AAC5B,MAAA,OAAO,KAAM,CAAA,KAAA,GACT,KAAM,CAAA,KAAA,GACN,MAAM,IAAQ,IAAA,cAAA,CAAe,KAAM,CAAA,IAAI,IACrC,cAAe,CAAA,KAAA,CAAM,IAAI,CAAA,CAAE,SAAS,yBACpC,GAAA,yBAAA;AAAA,KACP,CAAA;AAED,IAAA,MAAM,UAAU,GAAI,EAAA;AACpB,IAAA,MAAM,EAAE,SAAA,EAAc,GAAA,iBAAA,CAAkB,OAAO,CAAA;AAC/C,IAAA,MAAM,yCAA+B,MAAA,CAAA,MAAA;;AACnC,MAAA,IAAI,MAAM,QAAU,EAAA;AACpB,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,IAAI,QAAQ,KAAO,EAAA;AACjB,UAAA,CAAA,CAAC,aAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,GAAuB,EAAA,KAAA,CAAM,QAAQ,MAAO,CAAA,KAAA;AAAA;AAC9D,OACK,MAAA;AACL,QAAA,MAAM,KAAS,GAAA,CAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,KAAuB,KAAM,CAAA,KAAA;AAC3D,QAAA,CAAA,CAAC,aAAQ,KAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,GAAuB,EAAA,KAAA,CAAM,QAC3C,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAK,gCAAmC,GAAA,KAAA,CAAM,KAAS,IAAA,WAAA,CAAY,OAAO,GAAG,CAAA;AAAA;AACxG,KAV6B,EAAA,wBAAA,CAAA;AAY/B,IAAY,WAAA,CAAA,MAAM,wBAAwB,CAAA;;0BAI1CA,WAQS,CAAAC,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,eARG,EAAA,SAAA;AAAA,QAAJ,GAAI,EAAA,OAAA;AAAA,QAAU,KAAM,EAAA,QAAA;AAAA,QAAU,SAAW,EAAA,KAAA;AAAA,QAAQ,UAAUC,IAAQ,CAAA,QAAA;AAAA,QAAG,OAAO,EAAA;AAAA;yBACnF,MAGM;AAAA,UAHKC,IAAAA,CAAM,OAAC,IAAQ,IAAA,KAAA,CAAK,SAA/BC,SAAA,EAAA,EAAAC,kBAGM,CAAA,KAAA,EAHN,UAGM,EAAA;AAAA,YAFQF,IAAAA,CAAAA,MAAAA,CAAO,IAAnB,GAAAG,UAAA,CAAuC,IAAA,CAAA,MAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,eACvC,EAAAD,kBAAA;AAAA,cAA8C,GAAA;AAAA,cAAA;AAAA;gBAApC,KAAA,EAAKE,eAAA,CAAC,UAAA,EAAU,CAAU,KAAK,CAAA,KAAA,CAAA,CAAA;AAAA;;;;;;UAE3CC,kBAAA,CAEM,OAFN,UAEM,EAAA;AAAA,YADJF,UAAA,CAAuB,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-player.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/live-player.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { onMounted, shallowRef } from 'vue';\n import { LivePlayerProps } from './live-player';\n import XgPlayer from './xgPlayer.vue';\n import YsPlayer from './ysPlayer.vue';\n\n defineOptions({\n name: 'ILivePlayer',\n });\n\n const props = defineProps(LivePlayerProps);\n const comp = shallowRef();\n const compRef = shallowRef();\n\n onMounted(() => {\n // 当访问令牌存在时,使用萤石云播放器(YsPlayer)\n // 否则使用西瓜播放器(XgPlayer)\n comp.value = props.accessToken && props.accessToken.length > 32 ? YsPlayer : XgPlayer;\n });\n\n defineExpose({\n play(options?: any) {\n compRef.value?.play(options);\n },\n destroy() {\n compRef.value?.destroy();\n },\n resize() {\n compRef.value?.resize();\n },\n });\n</script>\n\n<template>\n <div class=\"i-player-bg i-player-container\">\n <component :is=\"comp\" ref=\"compRef\" v-bind=\"props\" />\n </div>\n</template>\n"],"names":["YsPlayer","XgPlayer"],"mappings":";;;;;;;;;;;;;;;AAUE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,OAAO,UAAW,EAAA;AACxB,IAAA,MAAM,UAAU,UAAW,EAAA;AAE3B,IAAA,SAAA,CAAU,MAAM;AAGd,MAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,WAAA,IAAe,MAAM,WAAY,CAAA,MAAA,GAAS,KAAKA,WAAW,GAAAC,WAAA;AAAA,KAC9E,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,KAAK,OAAe,EAAA;;AAClB,QAAQ,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAR,mBAAe,IAAK,CAAA,OAAA,CAAA;AAAA,OACtB;AAAA,MACA,OAAU,GAAA;;AACR,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AAAA,OACjB;AAAA,MACA,MAAS,GAAA;;AACP,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA;AAAA;AACjB,KACD,CAAA
|
|
1
|
+
{"version":3,"file":"live-player.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/live-player.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { onMounted, shallowRef } from 'vue';\n import { LivePlayerProps } from './live-player';\n import XgPlayer from './xgPlayer.vue';\n import YsPlayer from './ysPlayer.vue';\n\n defineOptions({\n name: 'ILivePlayer',\n });\n\n const props = defineProps(LivePlayerProps);\n const comp = shallowRef();\n const compRef = shallowRef();\n\n onMounted(() => {\n // 当访问令牌存在时,使用萤石云播放器(YsPlayer)\n // 否则使用西瓜播放器(XgPlayer)\n comp.value = props.accessToken && props.accessToken.length > 32 ? YsPlayer : XgPlayer;\n });\n\n defineExpose({\n play(options?: any) {\n compRef.value?.play(options);\n },\n destroy() {\n compRef.value?.destroy();\n },\n resize() {\n compRef.value?.resize();\n },\n });\n</script>\n\n<template>\n <div class=\"i-player-bg i-player-container\">\n <component :is=\"comp\" ref=\"compRef\" v-bind=\"props\" />\n </div>\n</template>\n"],"names":["YsPlayer","XgPlayer","_openBlock","_createElementBlock","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;;;;;;;;;;;;AAUE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,OAAO,UAAW,EAAA;AACxB,IAAA,MAAM,UAAU,UAAW,EAAA;AAE3B,IAAA,SAAA,CAAU,MAAM;AAGd,MAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,WAAA,IAAe,MAAM,WAAY,CAAA,MAAA,GAAS,KAAKA,WAAW,GAAAC,WAAA;AAAA,KAC9E,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,KAAK,OAAe,EAAA;;AAClB,QAAQ,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAR,mBAAe,IAAK,CAAA,OAAA,CAAA;AAAA,OACtB;AAAA,MACA,OAAU,GAAA;;AACR,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AAAA,OACjB;AAAA,MACA,MAAS,GAAA;;AACP,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA;AAAA;AACjB,KACD,CAAA;;AAID,MAAA,OAAAC,SAAA,EAAA,EAAAC,kBAEM,CAAA,KAAA,EAFN,UAEM,EAAA;AAAA,oBADJ,EAAAC,WAAA;AAAA,UAAqDC,uBAAA,CAArC,KAAI,KAAA,CAAA;AAAA,UAApBC,UAAqD,CAAA;AAAA,mBAA3B,EAAA,SAAA;AAAA,YAAJ,GAAI,EAAA;AAAA,aAAkB,KAAK,CAAA;AAAA,UAAA,IAAA;AAAA,UAAA;AAAA;AAAA,SAAA;AAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xgPlayer.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/xgPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, ref, shallowRef } from 'vue';\n import Player from 'xgplayer';\n import FlvPlugin from 'xgplayer-flv';\n import HlsPlugin from 'xgplayer-hls';\n import { videoType } from './live-player';\n import { customLang, onLineIgnores, recordIgnores } from './preset';\n\n /**\n * 西瓜播放器\n */\n defineOptions({\n name: 'XgPlayer',\n });\n\n const props = defineProps<{\n url: string;\n onLine?: boolean;\n }>();\n\n const playerRef = shallowRef<HTMLElement>();\n const playerInstance = ref<Player | null>(null);\n const videoUrl = computed(() => props.url);\n\n onMounted(() => {\n // @ts-ignore\n Player.I18N.extend([customLang]);\n play();\n });\n\n defineExpose({ play, destroy });\n\n function play() {\n destroy();\n nextTick(() => {\n console.log(videoUrl.value);\n // 视频地址为空,不播放\n if (!videoUrl.value) {\n return;\n }\n createXgPlayer();\n });\n }\n\n function destroy() {\n if (playerInstance.value) {\n playerInstance.value.destroy();\n playerInstance.value = null;\n }\n }\n\n /**\n * 检查插件支持情况\n */\n function checkPluginSupport() {\n const plugins: any[] = [];\n const type = videoType(props.url);\n\n try {\n if (type === 'flv' && FlvPlugin.isSupported()) {\n plugins.push(FlvPlugin);\n } else if (type === 'hls') {\n const videoElement = document.createElement('video');\n const isNativeHlsSupported = videoElement.canPlayType('application/vnd.apple.mpegurl');\n\n if (!isNativeHlsSupported && HlsPlugin.isSupported()) {\n plugins.push(HlsPlugin);\n }\n } else if (type !== 'flv' && type !== 'hls') {\n console.warn(`不支持的视频类型: ${type}. 请使用 'flv' 或 'hls'。`);\n }\n } catch (error) {\n console.error('检查插件支持时出错:', error);\n }\n\n return plugins;\n }\n\n /**\n * 创建播放器配置\n */\n function createPlayerConfig(plugins: any[]) {\n const ignores = props.onLine ? onLineIgnores : recordIgnores;\n\n return {\n el: playerRef.value!,\n url: props.url,\n height: '100%',\n width: '100%',\n autoplay: true,\n autoplayMuted: true,\n videoInit: true,\n plugins,\n ignores,\n marginControls: false,\n screenShot: props.onLine,\n lang: 'zh-cn',\n videoAttributes: {\n crossOrigin: 'anonymous',\n },\n };\n }\n\n /**\n * 创建西瓜播放器实例,播放hls,flv流\n */\n function createXgPlayer() {\n const plugins = checkPluginSupport();\n const config = createPlayerConfig(plugins);\n\n playerInstance.value = new Player(config);\n\n // 播放出错之后,点击\"刷新\"按钮重新播放\n playerInstance.value.getPlugin('error').useHooks('errorRetry', () => {\n playerInstance.value!.setConfig({\n url: props.url,\n });\n // 重置状态\n playerInstance.value!.resetState();\n // 重新播放\n playerInstance.value!.play();\n return false;\n });\n\n playerInstance.value.on('error', (error: Record<string, any>) => {\n console.error('播放出错:', error);\n // 播放出错时,禁用控制栏插件\n playerInstance.value!.unRegisterPlugin('controls');\n });\n\n // 视频缓冲足够数据,可以播放\n playerInstance.value.on('canplay', () => {\n console.log('视频缓冲足够数据,可以播放');\n });\n }\n</script>\n\n<template>\n <div class=\"i-player-bg i-player-container\">\n <!-- 视频地址为空的提示 -->\n <div v-if=\"!videoUrl\" class=\"i-player-no__url\">\n <div>无播放地址</div>\n </div>\n <div v-else ref=\"playerRef\" class=\"i-player-container\" />\n </div>\n</template>\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"xgPlayer.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/xgPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, ref, shallowRef } from 'vue';\n import Player from 'xgplayer';\n import FlvPlugin from 'xgplayer-flv';\n import HlsPlugin from 'xgplayer-hls';\n import { videoType } from './live-player';\n import { customLang, onLineIgnores, recordIgnores } from './preset';\n\n /**\n * 西瓜播放器\n */\n defineOptions({\n name: 'XgPlayer',\n });\n\n const props = defineProps<{\n url: string;\n onLine?: boolean;\n }>();\n\n const playerRef = shallowRef<HTMLElement>();\n const playerInstance = ref<Player | null>(null);\n const videoUrl = computed(() => props.url);\n\n onMounted(() => {\n // @ts-ignore\n Player.I18N.extend([customLang]);\n play();\n });\n\n defineExpose({ play, destroy });\n\n function play() {\n destroy();\n nextTick(() => {\n console.log(videoUrl.value);\n // 视频地址为空,不播放\n if (!videoUrl.value) {\n return;\n }\n createXgPlayer();\n });\n }\n\n function destroy() {\n if (playerInstance.value) {\n playerInstance.value.destroy();\n playerInstance.value = null;\n }\n }\n\n /**\n * 检查插件支持情况\n */\n function checkPluginSupport() {\n const plugins: any[] = [];\n const type = videoType(props.url);\n\n try {\n if (type === 'flv' && FlvPlugin.isSupported()) {\n plugins.push(FlvPlugin);\n } else if (type === 'hls') {\n const videoElement = document.createElement('video');\n const isNativeHlsSupported = videoElement.canPlayType('application/vnd.apple.mpegurl');\n\n if (!isNativeHlsSupported && HlsPlugin.isSupported()) {\n plugins.push(HlsPlugin);\n }\n } else if (type !== 'flv' && type !== 'hls') {\n console.warn(`不支持的视频类型: ${type}. 请使用 'flv' 或 'hls'。`);\n }\n } catch (error) {\n console.error('检查插件支持时出错:', error);\n }\n\n return plugins;\n }\n\n /**\n * 创建播放器配置\n */\n function createPlayerConfig(plugins: any[]) {\n const ignores = props.onLine ? onLineIgnores : recordIgnores;\n\n return {\n el: playerRef.value!,\n url: props.url,\n height: '100%',\n width: '100%',\n autoplay: true,\n autoplayMuted: true,\n videoInit: true,\n plugins,\n ignores,\n marginControls: false,\n screenShot: props.onLine,\n lang: 'zh-cn',\n videoAttributes: {\n crossOrigin: 'anonymous',\n },\n };\n }\n\n /**\n * 创建西瓜播放器实例,播放hls,flv流\n */\n function createXgPlayer() {\n const plugins = checkPluginSupport();\n const config = createPlayerConfig(plugins);\n\n playerInstance.value = new Player(config);\n\n // 播放出错之后,点击\"刷新\"按钮重新播放\n playerInstance.value.getPlugin('error').useHooks('errorRetry', () => {\n playerInstance.value!.setConfig({\n url: props.url,\n });\n // 重置状态\n playerInstance.value!.resetState();\n // 重新播放\n playerInstance.value!.play();\n return false;\n });\n\n playerInstance.value.on('error', (error: Record<string, any>) => {\n console.error('播放出错:', error);\n // 播放出错时,禁用控制栏插件\n playerInstance.value!.unRegisterPlugin('controls');\n });\n\n // 视频缓冲足够数据,可以播放\n playerInstance.value.on('canplay', () => {\n console.log('视频缓冲足够数据,可以播放');\n });\n }\n</script>\n\n<template>\n <div class=\"i-player-bg i-player-container\">\n <!-- 视频地址为空的提示 -->\n <div v-if=\"!videoUrl\" class=\"i-player-no__url\">\n <div>无播放地址</div>\n </div>\n <div v-else ref=\"playerRef\" class=\"i-player-container\" />\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { defineComponent, shallowRef, onMounted, onBeforeUnmount, watch, nextTick, openBlock, createElementBlock, unref, toDisplayString, createCommentVNode } from 'vue';
|
|
2
2
|
import { useElementSize } from '@vueuse/core';
|
|
3
|
-
import EZUIKit from 'ezuikit-js';
|
|
4
3
|
import { uuid } from './live-player.mjs';
|
|
5
4
|
|
|
6
5
|
var __defProp = Object.defineProperty;
|
|
@@ -94,7 +93,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
94
93
|
}
|
|
95
94
|
__name(resize, "resize");
|
|
96
95
|
function createPlayer(options) {
|
|
97
|
-
playerInstance = new EZUIKit.EZUIKitPlayer({
|
|
96
|
+
playerInstance = new window.EZUIKit.EZUIKitPlayer({
|
|
98
97
|
id,
|
|
99
98
|
url: formatterUrl(),
|
|
100
99
|
accessToken: props.accessToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ysPlayer.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"ysPlayer.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useElementSize } from \"@vueuse/core\";\nimport { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from \"vue\";\nimport { uuid } from \"./live-player\";\n// 萤石云播放器\ndefineOptions({\n name: \"YsPlayer\",\n});\n\n// 传值方式\n// 1、传url、accessToken\n// 2、传deviceSerial、channel、accessToken\nconst props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: \"hd\" | \"sd\" | \"\";\n accessToken: string;\n // 播放器模板ID\n playerTemplate?: string;\n}>();\n\n// 播放器模板ID\n// 可在萤石云控制台查看、修改、获取\n// 位置:云直播-轻应用-特致珈默认模板\nconst PLAYER_TEMPLATE = \"5f295a9341a74d439b5d69374c90d501\";\nconst id = uuid();\nlet playerInstance: any = null;\nlet errorMsg = \"\";\nconst ysRef = shallowRef();\nconst { width, height } = useElementSize(ysRef);\nlet ratio = 16 / 9;\nlet isCurrentFullscreen = false;\n\nonMounted(() => play());\n\nonBeforeUnmount(() => destroy());\n\ndefineExpose({ play, destroy, resize });\n\n// 防抖函数\nfunction debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\n// 加上防抖的 resize 函数\nconst debouncedResize = debounce(resize, 300);\n\nwatch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n);\n\nfunction play(options?: Record<string, any>) {\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n nextTick(() => createPlayer(options));\n }\n }\n}\nfunction destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n}\nfunction resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n}\n\n/**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\nfunction createPlayer(options?: Record<string, any>) {\n playerInstance = new window.EZUIKit.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: \"YSPLAYER\",\n level: \"ERROR\",\n showTime: true,\n },\n staticPath: \"/plugins/ezuikit/ezuikit_static\",\n ...options,\n });\n\n playerInstance.eventEmitter.on(\"fullscreen\", () => {\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on(\"exitFullscreen\", () => {\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on(\"videoInfo\", (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n });\n}\n\nfunction formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality =\n props.quality === \"\" || props.quality === \"hd\" ? \"hd.\" : \"\";\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return \"\";\n }\n }\n}\n\n// 移除播放器DOM\nfunction removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n}\n// 创建播放器DOM\nfunction createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n const dom = document.createElement(\"div\");\n dom.id = id;\n dom.style.width = \"100%\";\n dom.style.height = \"100%\";\n ysRef.value?.appendChild(dom);\n }\n}\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-player-bg i-player-container\">\n <div\n v-if=\"errorMsg\"\n class=\"i-player__error\"\n style=\"color: red; font-weight: bold\"\n >\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_unref","_toDisplayString"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header.vue2.mjs","sources":["../../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { inject, ref, watchEffect } from 'vue';\n import { MENU_STORE } from '../../../utils';\n import { PageHeaderProps } from './page-header';\n\n defineOptions({\n name: 'IPageHeader',\n });\n\n const props = defineProps(PageHeaderProps);\n const menuStore = inject(MENU_STORE);\n const headerText = ref('');\n\n function setHeaderText() {\n if (props.title) return props.title;\n if (props.action) return props.action?.getCurrentMenu()?.label || '';\n if (menuStore) return menuStore.getCurrentMenu()?.label || '';\n return '';\n }\n watchEffect(() => {\n headerText.value = setHeaderText();\n });\n</script>\n\n<template>\n <div\n class=\"t-page-header\"\n :class=\"{\n 't-page-header__underline': underline,\n 't-page-header__between': slotFlex === 'between',\n 't-page-header__start': slotFlex === 'start',\n }\"\n >\n <div :class=\"{ 't-page-name': headerText }\">{{ headerText }}</div>\n <slot name=\"default\" />\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAM,MAAA,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA;AAEzB,IAAA,SAAS,aAAgB,GAAA;;AACvB,MAAI,IAAA,KAAA,CAAM,KAAO,EAAA,OAAO,KAAM,CAAA,KAAA;AAC9B,MAAI,IAAA,KAAA,CAAM,QAAe,OAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,WAAN,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA,EAAA,KAAd,mBAAgC,KAAS,KAAA,EAAA;AAClE,MAAA,IAAI,WAAkB,OAAA,CAAA,CAAA,EAAA,GAAA,SAAA,CAAU,cAAe,EAAA,KAAzB,mBAA4B,KAAS,KAAA,EAAA;AAC3D,MAAO,OAAA,EAAA;AAAA;AAJA,IAAA,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAMT,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,UAAA,CAAW,QAAQ,aAAc,EAAA;AAAA,KAClC,CAAA
|
|
1
|
+
{"version":3,"file":"page-header.vue2.mjs","sources":["../../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { inject, ref, watchEffect } from 'vue';\n import { MENU_STORE } from '../../../utils';\n import { PageHeaderProps } from './page-header';\n\n defineOptions({\n name: 'IPageHeader',\n });\n\n const props = defineProps(PageHeaderProps);\n const menuStore = inject(MENU_STORE);\n const headerText = ref('');\n\n function setHeaderText() {\n if (props.title) return props.title;\n if (props.action) return props.action?.getCurrentMenu()?.label || '';\n if (menuStore) return menuStore.getCurrentMenu()?.label || '';\n return '';\n }\n watchEffect(() => {\n headerText.value = setHeaderText();\n });\n</script>\n\n<template>\n <div\n class=\"t-page-header\"\n :class=\"{\n 't-page-header__underline': underline,\n 't-page-header__between': slotFlex === 'between',\n 't-page-header__start': slotFlex === 'start',\n }\"\n >\n <div :class=\"{ 't-page-name': headerText }\">{{ headerText }}</div>\n <slot name=\"default\" />\n </div>\n</template>\n"],"names":["_createElementBlock","underline","slotFlex","_createElementVNode","_renderSlot"],"mappings":";;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAM,MAAA,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA;AAEzB,IAAA,SAAS,aAAgB,GAAA;;AACvB,MAAI,IAAA,KAAA,CAAM,KAAO,EAAA,OAAO,KAAM,CAAA,KAAA;AAC9B,MAAI,IAAA,KAAA,CAAM,QAAe,OAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,WAAN,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA,EAAA,KAAd,mBAAgC,KAAS,KAAA,EAAA;AAClE,MAAA,IAAI,WAAkB,OAAA,CAAA,CAAA,EAAA,GAAA,SAAA,CAAU,cAAe,EAAA,KAAzB,mBAA4B,KAAS,KAAA,EAAA;AAC3D,MAAO,OAAA,EAAA;AAAA;AAJA,IAAA,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAMT,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,UAAA,CAAW,QAAQ,aAAc,EAAA;AAAA,KAClC,CAAA;;wBAID,EAAAA,kBAAA;AAAA,QAUM,KAAA;AAAA,QAAA;AAAA,UATJ,KAAA,kBAAM,eAAe,EAAA;AAAA,wCACuBC,IAAS,CAAA,SAAA;AAAA,sCAAkCC,KAAQ,QAAA,KAAA,SAAA;AAAA,oCAA8CA,KAAQ,QAAA,KAAA;AAAA;;;UAMrJC,kBAAA;AAAA,YAAkE,KAAA;AAAA,YAAA;AAAA,cAA5D,qCAAwB,EAAA,UAAA,CAAU,OAAA;AAAA;4BAAO,WAAU,KAAA,CAAA;AAAA,YAAA;AAAA;AAAA,WAAA;AAAA,UACzDC,UAAA,CAAuB,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.vue2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElRadio, ElRadioButton, ElRadioGroup } from 'element-plus';\n import { computed, inject, onMounted, ref, watch } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { excludeRadioKeys, RadioProps } from './radio';\n\n defineOptions({\n name: 'IRadio',\n });\n const props = defineProps(RadioProps);\n const emit = defineEmits({\n 'update:modelValue': (value: any) => value,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n const bindAttrs = computed(() => excludeObjectKeys(props, excludeRadioKeys));\n\n const radioOptions = ref<any[]>([]);\n onMounted(() => setOptions());\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true },\n );\n async function setOptions() {\n const list = await getList();\n radioOptions.value = props.dataCallback ? props.dataCallback(list) : list;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n }\n if (dictStore) {\n return await dictStore.getDict(props.data);\n }\n return [];\n }\n\n const value = ref('');\n watch(\n () => props.modelValue,\n (val: any) => (value.value = val),\n { deep: true, immediate: true },\n );\n const handleChange = (val: any) => {\n emit('change', val);\n emit('update:modelValue', val);\n };\n</script>\n\n<template>\n <ElRadioGroup v-model=\"value\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-if=\"type === 'button'\">\n <ElRadioButton\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadioButton>\n </template>\n <template v-else>\n <ElRadio v-for=\"item of radioOptions\" :key=\"item[optValue]\" :label=\"item[optValue]\" :disabled=\"item.disabled\">\n {{ item[optLabel] }}\n </ElRadio>\n </template>\n </ElRadioGroup>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AAIb,IAAM,MAAA,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,IAAA,MAAM,YAAY,QAAS,CAAA,MAAM,iBAAkB,CAAA,KAAA,EAAO,gBAAgB,CAAC,CAAA;AAE3E,IAAM,MAAA,YAAA,GAAe,GAAW,CAAA,EAAE,CAAA;AAClC,IAAU,SAAA,CAAA,MAAM,YAAY,CAAA;AAC5B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,UAAW,EAAA;AAAA,MACjB,EAAE,MAAM,IAAK;AAAA,KACf;AACA,IAAA,eAAe,UAAa,GAAA;AAC1B,MAAM,MAAA,IAAA,GAAO,MAAM,OAAQ,EAAA;AAC3B,MAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,YAAA,GAAe,KAAM,CAAA,YAAA,CAAa,IAAI,CAAI,GAAA,IAAA;AAAA;AAFxD,IAAA,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAKf,IAAA,eAAe,OAAU,GAAA;AACvB,MAAA,IAAI,KAAM,CAAA,OAAA,CAAQ,KAAM,CAAA,IAAI,CAAG,EAAA;AAC7B,QAAA,OAAO,KAAM,CAAA,IAAA;AAAA;AAEf,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,OAAO,MAAM,SAAA,CAAU,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA;AAE3C,MAAA,OAAO,EAAC;AAAA;AAPK,IAAA,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA;AAUf,IAAM,MAAA,KAAA,GAAQ,IAAI,EAAE,CAAA;AACpB,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAc,KAAA,KAAA,CAAM,KAAQ,GAAA,GAAA;AAAA,MAC7B,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,KAChC;AACA,IAAM,MAAA,YAAA,2BAAgB,GAAa,KAAA;AACjC,MAAA,IAAA,CAAK,UAAU,GAAG,CAAA;AAClB,MAAA,IAAA,CAAK,qBAAqB,GAAG,CAAA;AAAA,KAFV,EAAA,cAAA,CAAA
|
|
1
|
+
{"version":3,"file":"radio.vue2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElRadio, ElRadioButton, ElRadioGroup } from 'element-plus';\n import { computed, inject, onMounted, ref, watch } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { excludeRadioKeys, RadioProps } from './radio';\n\n defineOptions({\n name: 'IRadio',\n });\n const props = defineProps(RadioProps);\n const emit = defineEmits({\n 'update:modelValue': (value: any) => value,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n const bindAttrs = computed(() => excludeObjectKeys(props, excludeRadioKeys));\n\n const radioOptions = ref<any[]>([]);\n onMounted(() => setOptions());\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true },\n );\n async function setOptions() {\n const list = await getList();\n radioOptions.value = props.dataCallback ? props.dataCallback(list) : list;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n }\n if (dictStore) {\n return await dictStore.getDict(props.data);\n }\n return [];\n }\n\n const value = ref('');\n watch(\n () => props.modelValue,\n (val: any) => (value.value = val),\n { deep: true, immediate: true },\n );\n const handleChange = (val: any) => {\n emit('change', val);\n emit('update:modelValue', val);\n };\n</script>\n\n<template>\n <ElRadioGroup v-model=\"value\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-if=\"type === 'button'\">\n <ElRadioButton\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadioButton>\n </template>\n <template v-else>\n <ElRadio v-for=\"item of radioOptions\" :key=\"item[optValue]\" :label=\"item[optValue]\" :disabled=\"item.disabled\">\n {{ item[optLabel] }}\n </ElRadio>\n </template>\n </ElRadioGroup>\n</template>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","type","_createElementBlock","_Fragment","_renderList","optValue","_createTextVNode","_toDisplayString","optLabel"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.vue2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElButton } from 'element-plus';\n import { ref, watchEffect } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import IForm from '../../form/src/form.vue';\n import { excludeSearchPropsKeys, SearchEmits, SearchProps } from './search';\n\n defineOptions({\n name: 'ISearch',\n });\n const props = defineProps(SearchProps);\n const emit = defineEmits(SearchEmits);\n\n const bindAttrs = ref<any>();\n watchEffect(() => {\n const attrs = excludeObjectKeys(props, excludeSearchPropsKeys);\n if (!attrs.fileds) {\n attrs.fileds = [];\n }\n if (!attrs.fields.some((item: any) => item.prop === 'searchBtn')) {\n attrs.fields.push({\n prop: 'searchBtn',\n comp: 'slot',\n });\n }\n bindAttrs.value = attrs;\n });\n\n const formRef = ref();\n defineExpose({\n getRef() {\n return formRef.value?.getRef();\n },\n });\n\n const handleChange = (key: string, value: any, ref: any, comp: string) => {\n emit('change', key, value, ref, comp);\n if (comp === 'el-input') {\n // el-input change 调用查询事件\n // 即在输入框值变化和按下回车时,触发查询事件。\n // emit('search', props.model);\n }\n };\n</script>\n\n<template>\n <div class=\"i-search\">\n <IForm ref=\"formRef\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-for=\"(item, key) in $slots\" :key=\"key\" #[key]>\n <slot v-if=\"key !== 'searchBtn' && key !== 'btn'\" :name=\"key\" v-bind=\"item\" />\n </template>\n <template #searchBtn>\n <div class=\"i-search__opera\">\n <template v-if=\"showDefaultBtn\">\n <ElButton type=\"primary\" :loading=\"loading\" @click=\"emit('search', model)\">{{ searchBtnText }}</ElButton>\n <ElButton :loading=\"loading\" @click=\"emit('reset')\">{{ resetBtnText }}</ElButton>\n </template>\n <template v-if=\"$slots.btn\">\n <slot name=\"btn\" />\n </template>\n </div>\n </template>\n </IForm>\n </div>\n</template>\n"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AAEb,IAAA,MAAM,YAAY,GAAS,EAAA;AAC3B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,MAAA,KAAA,GAAQ,iBAAkB,CAAA,KAAA,EAAO,sBAAsB,CAAA;AAC7D,MAAI,IAAA,CAAC,MAAM,MAAQ,EAAA;AACjB,QAAA,KAAA,CAAM,SAAS,EAAC;AAAA;AAElB,MAAI,IAAA,CAAC,MAAM,MAAO,CAAA,IAAA,CAAK,CAAC,IAAc,KAAA,IAAA,CAAK,IAAS,KAAA,WAAW,CAAG,EAAA;AAChE,QAAA,KAAA,CAAM,OAAO,IAAK,CAAA;AAAA,UAChB,IAAM,EAAA,WAAA;AAAA,UACN,IAAM,EAAA;AAAA,SACP,CAAA;AAAA;AAEH,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA;AAAA,KACnB,CAAA;AAED,IAAA,MAAM,UAAU,GAAI,EAAA;AACpB,IAAa,QAAA,CAAA;AAAA,MACX,MAAS,GAAA;;AACP,QAAO,OAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA;AAAA;AACxB,KACD,CAAA;AAED,IAAA,MAAM,YAAe,mBAAA,MAAA,CAAA,CAAC,GAAa,EAAA,KAAA,EAAYA,MAAU,IAAiB,KAAA;AACxE,MAAA,IAAA,CAAK,QAAU,EAAA,GAAA,EAAK,KAAOA,EAAAA,IAAAA,EAAK,IAAI,CAAA;AACpC,MAAA,IAAI,SAAS,UAAY,EAAA;AAAA;AAIzB,KANmB,EAAA,cAAA,CAAA
|
|
1
|
+
{"version":3,"file":"search.vue2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElButton } from 'element-plus';\n import { ref, watchEffect } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import IForm from '../../form/src/form.vue';\n import { excludeSearchPropsKeys, SearchEmits, SearchProps } from './search';\n\n defineOptions({\n name: 'ISearch',\n });\n const props = defineProps(SearchProps);\n const emit = defineEmits(SearchEmits);\n\n const bindAttrs = ref<any>();\n watchEffect(() => {\n const attrs = excludeObjectKeys(props, excludeSearchPropsKeys);\n if (!attrs.fileds) {\n attrs.fileds = [];\n }\n if (!attrs.fields.some((item: any) => item.prop === 'searchBtn')) {\n attrs.fields.push({\n prop: 'searchBtn',\n comp: 'slot',\n });\n }\n bindAttrs.value = attrs;\n });\n\n const formRef = ref();\n defineExpose({\n getRef() {\n return formRef.value?.getRef();\n },\n });\n\n const handleChange = (key: string, value: any, ref: any, comp: string) => {\n emit('change', key, value, ref, comp);\n if (comp === 'el-input') {\n // el-input change 调用查询事件\n // 即在输入框值变化和按下回车时,触发查询事件。\n // emit('search', props.model);\n }\n };\n</script>\n\n<template>\n <div class=\"i-search\">\n <IForm ref=\"formRef\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-for=\"(item, key) in $slots\" :key=\"key\" #[key]>\n <slot v-if=\"key !== 'searchBtn' && key !== 'btn'\" :name=\"key\" v-bind=\"item\" />\n </template>\n <template #searchBtn>\n <div class=\"i-search__opera\">\n <template v-if=\"showDefaultBtn\">\n <ElButton type=\"primary\" :loading=\"loading\" @click=\"emit('search', model)\">{{ searchBtnText }}</ElButton>\n <ElButton :loading=\"loading\" @click=\"emit('reset')\">{{ resetBtnText }}</ElButton>\n </template>\n <template v-if=\"$slots.btn\">\n <slot name=\"btn\" />\n </template>\n </div>\n </template>\n </IForm>\n </div>\n</template>\n"],"names":["ref","_openBlock","_createElementBlock","_createVNode","IForm","_mergeProps","_createSlots","_createElementVNode","showDefaultBtn","_Fragment","_unref","loading","model","searchBtnText","resetBtnText","$slots","_renderSlot","_normalizeProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmented.vue2.mjs","sources":["../../../../../../../packages/components/segmented/src/segmented.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { computed, nextTick, onMounted, onUnmounted, ref, useSlots, watch } from 'vue';\n import { SegmentedProps } from './segmented';\n\n defineOptions({\n name: 'ISegmented',\n });\n\n const props = defineProps(SegmentedProps);\n const emits = defineEmits(['update:modelValue', 'change']);\n\n // ref 引用\n const segmentedControl = ref<HTMLElement | null>(null);\n // 当前选中的索引\n const activeSegment = ref(-1);\n\n // 获取每个按钮的宽度\n const buttonWidths = ref<number[]>([]);\n\n const { width: cw } = useElementSize(segmentedControl);\n\n // 更新按钮宽度\n const updateButtonWidths = () => {\n nextTick(() => {\n setTimeout(() => {\n // 同样增加延迟以确保样式已完全应用\n const buttons = segmentedControl.value?.querySelectorAll('.i-segmented-control__item') || [];\n buttonWidths.value = Array.from(buttons).map(button => {\n return button.getBoundingClientRect().width;\n });\n activeSegment.value = props.segments.findIndex(it => it.value === props.modelValue);\n }, 100); // 延迟 100ms\n });\n };\n\n // 在组件挂载后获取按钮宽度\n onMounted(() => {\n updateButtonWidths();\n // 监听窗口大小变化,重新计算按钮宽度\n window.addEventListener('resize', updateButtonWidths);\n });\n\n // 监听 modelValue 的变化\n watch(\n () => props.modelValue,\n newValue => {\n activeSegment.value = props.segments.findIndex(it => it.value === newValue);\n },\n );\n\n // 在组件卸载时移除 resize 事件监听\n onUnmounted(() => {\n window.removeEventListener('resize', updateButtonWidths);\n });\n\n // 计算当前激活分段的样式偏移量\n const activeOffset = computed(() => {\n if (buttonWidths.value.length === 0) return '0px';\n const offset = buttonWidths.value.slice(0, activeSegment.value).reduce((sum, width) => sum + width, 0);\n return `${offset}px`;\n });\n\n // 切换分段的方法\n const selectSegment = (index: number, disabled?: boolean) => {\n if (disabled) return;\n activeSegment.value = index;\n nextTick(() => {\n emits('update:modelValue', props.segments[index].value);\n emits('change', props.segments[index].value);\n });\n };\n\n const slots = useSlots();\n</script>\n\n<template>\n <div ref=\"segmentedControl\" class=\"i-segmented\" :class=\"[`i-segmented__${size || 'default'}`]\">\n <div class=\"i-segmented-control\">\n <!-- 分段按钮 -->\n <div\n v-for=\"(segment, index) in segments\"\n :key=\"index\"\n class=\"i-segmented-control__item\"\n :class=\"{ active: activeSegment === index, 'i-segmented-control__disabled': segment.disabled }\"\n @click=\"selectSegment(index, segment.disabled)\"\n >\n <slot v-if=\"slots.default\" name=\"default\" :segment=\"segment\" :index=\"index\" />\n <span\n v-else\n class=\"i-segmented-label\"\n :style=\"{ width: block ? `${cw / segments.length - 20}px` : '100%' }\"\n :title=\"segment.label\"\n >{{ segment.label }}</span\n >\n </div>\n\n <!-- 平移动效指示器 -->\n <span\n class=\"indicator\"\n :style=\"{\n transform: `translateX(${activeOffset})`,\n width: block ? `calc(100% / ${segments.length})` : `${buttonWidths[activeSegment]}px`,\n }\"\n />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAGd,IAAM,MAAA,gBAAA,GAAmB,IAAwB,IAAI,CAAA;AAErD,IAAM,MAAA,aAAA,GAAgB,IAAI,CAAE,CAAA,CAAA;AAG5B,IAAM,MAAA,YAAA,GAAe,GAAc,CAAA,EAAE,CAAA;AAErC,IAAA,MAAM,EAAE,KAAA,EAAO,EAAG,EAAA,GAAI,eAAe,gBAAgB,CAAA;AAGrD,IAAA,MAAM,qCAA2B,MAAA,CAAA,MAAA;AAC/B,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,UAAA,CAAW,MAAM;;AAEf,UAAA,MAAM,YAAU,EAAiB,GAAA,gBAAA,CAAA,KAAA,KAAjB,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAiB,kCAAiC,EAAC;AAC3F,UAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,IAAA,CAAK,OAAO,CAAA,CAAE,IAAI,CAAU,MAAA,KAAA;AACrD,YAAO,OAAA,MAAA,CAAO,uBAAwB,CAAA,KAAA;AAAA,WACvC,CAAA;AACD,UAAc,aAAA,CAAA,KAAA,GAAQ,MAAM,QAAS,CAAA,SAAA,CAAU,QAAM,EAAG,CAAA,KAAA,KAAU,MAAM,UAAU,CAAA;AAAA,WACjF,GAAG,CAAA;AAAA,OACP,CAAA;AAAA,KAVwB,EAAA,oBAAA,CAAA;AAc3B,IAAA,SAAA,CAAU,MAAM;AACd,MAAmB,kBAAA,EAAA;AAEnB,MAAO,MAAA,CAAA,gBAAA,CAAiB,UAAU,kBAAkB,CAAA;AAAA,KACrD,CAAA;AAGD,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAY,QAAA,KAAA;AACV,QAAA,aAAA,CAAc,QAAQ,KAAM,CAAA,QAAA,CAAS,UAAU,CAAM,EAAA,KAAA,EAAA,CAAG,UAAU,QAAQ,CAAA;AAAA;AAC5E,KACF;AAGA,IAAA,WAAA,CAAY,MAAM;AAChB,MAAO,MAAA,CAAA,mBAAA,CAAoB,UAAU,kBAAkB,CAAA;AAAA,KACxD,CAAA;AAGD,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,IAAI,YAAa,CAAA,KAAA,CAAM,MAAW,KAAA,CAAA,EAAU,OAAA,KAAA;AAC5C,MAAA,MAAM,MAAS,GAAA,YAAA,CAAa,KAAM,CAAA,KAAA,CAAM,GAAG,aAAc,CAAA,KAAK,CAAE,CAAA,MAAA,CAAO,CAAC,GAAA,EAAK,KAAU,KAAA,GAAA,GAAM,OAAO,CAAC,CAAA;AACrG,MAAA,OAAO,GAAG,MAAM,CAAA,EAAA,CAAA;AAAA,KACjB,CAAA;AAGD,IAAM,MAAA,aAAA,mBAAiB,MAAA,CAAA,CAAA,KAAA,EAAe,QAAuB,KAAA;AAC3D,MAAA,IAAI,QAAU,EAAA;AACd,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA;AACtB,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,KAAA,CAAM,mBAAqB,EAAA,KAAA,CAAM,QAAS,CAAA,KAAK,EAAE,KAAK,CAAA;AACtD,QAAA,KAAA,CAAM,QAAU,EAAA,KAAA,CAAM,QAAS,CAAA,KAAK,EAAE,KAAK,CAAA;AAAA,OAC5C,CAAA;AAAA,KANmB,EAAA,eAAA,CAAA;AAStB,IAAA,MAAM,QAAQ,QAAS,EAAA
|
|
1
|
+
{"version":3,"file":"segmented.vue2.mjs","sources":["../../../../../../../packages/components/segmented/src/segmented.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { computed, nextTick, onMounted, onUnmounted, ref, useSlots, watch } from 'vue';\n import { SegmentedProps } from './segmented';\n\n defineOptions({\n name: 'ISegmented',\n });\n\n const props = defineProps(SegmentedProps);\n const emits = defineEmits(['update:modelValue', 'change']);\n\n // ref 引用\n const segmentedControl = ref<HTMLElement | null>(null);\n // 当前选中的索引\n const activeSegment = ref(-1);\n\n // 获取每个按钮的宽度\n const buttonWidths = ref<number[]>([]);\n\n const { width: cw } = useElementSize(segmentedControl);\n\n // 更新按钮宽度\n const updateButtonWidths = () => {\n nextTick(() => {\n setTimeout(() => {\n // 同样增加延迟以确保样式已完全应用\n const buttons = segmentedControl.value?.querySelectorAll('.i-segmented-control__item') || [];\n buttonWidths.value = Array.from(buttons).map(button => {\n return button.getBoundingClientRect().width;\n });\n activeSegment.value = props.segments.findIndex(it => it.value === props.modelValue);\n }, 100); // 延迟 100ms\n });\n };\n\n // 在组件挂载后获取按钮宽度\n onMounted(() => {\n updateButtonWidths();\n // 监听窗口大小变化,重新计算按钮宽度\n window.addEventListener('resize', updateButtonWidths);\n });\n\n // 监听 modelValue 的变化\n watch(\n () => props.modelValue,\n newValue => {\n activeSegment.value = props.segments.findIndex(it => it.value === newValue);\n },\n );\n\n // 在组件卸载时移除 resize 事件监听\n onUnmounted(() => {\n window.removeEventListener('resize', updateButtonWidths);\n });\n\n // 计算当前激活分段的样式偏移量\n const activeOffset = computed(() => {\n if (buttonWidths.value.length === 0) return '0px';\n const offset = buttonWidths.value.slice(0, activeSegment.value).reduce((sum, width) => sum + width, 0);\n return `${offset}px`;\n });\n\n // 切换分段的方法\n const selectSegment = (index: number, disabled?: boolean) => {\n if (disabled) return;\n activeSegment.value = index;\n nextTick(() => {\n emits('update:modelValue', props.segments[index].value);\n emits('change', props.segments[index].value);\n });\n };\n\n const slots = useSlots();\n</script>\n\n<template>\n <div ref=\"segmentedControl\" class=\"i-segmented\" :class=\"[`i-segmented__${size || 'default'}`]\">\n <div class=\"i-segmented-control\">\n <!-- 分段按钮 -->\n <div\n v-for=\"(segment, index) in segments\"\n :key=\"index\"\n class=\"i-segmented-control__item\"\n :class=\"{ active: activeSegment === index, 'i-segmented-control__disabled': segment.disabled }\"\n @click=\"selectSegment(index, segment.disabled)\"\n >\n <slot v-if=\"slots.default\" name=\"default\" :segment=\"segment\" :index=\"index\" />\n <span\n v-else\n class=\"i-segmented-label\"\n :style=\"{ width: block ? `${cw / segments.length - 20}px` : '100%' }\"\n :title=\"segment.label\"\n >{{ segment.label }}</span\n >\n </div>\n\n <!-- 平移动效指示器 -->\n <span\n class=\"indicator\"\n :style=\"{\n transform: `translateX(${activeOffset})`,\n width: block ? `calc(100% / ${segments.length})` : `${buttonWidths[activeSegment]}px`,\n }\"\n />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","size","_createElementVNode","_createCommentVNode","_openBlock","_Fragment","segments","_unref","_renderSlot","block","_toDisplayString","_normalizeStyle"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.vue2.mjs","sources":["../../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElOption, ElSelect } from 'element-plus';\n import { computed, inject, nextTick, ref, watch, watchEffect } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { SelectProps } from './select';\n\n defineOptions({\n name: 'ISelect',\n });\n const props = defineProps(SelectProps);\n const emits = defineEmits({\n visibleChange: (visible: boolean) => visible,\n removeTag: (tagValue: any) => tagValue,\n 'update:modelValue': (value: any) => value,\n clear: () => true,\n blur: (evt: MouseEvent) => evt,\n focus: (evt: MouseEvent) => evt,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n\n const bindAttrs = computed(() => {\n return excludeObjectKeys(props, ['data', 'dataCallback', 'optLabel', 'optValue', 'modelValue', 'action']);\n });\n\n const _loading = ref(false);\n const optionList = ref<any[]>([]);\n const selectRef = ref();\n const selectValue = ref(props.modelValue);\n\n watchEffect(() => {\n _loading.value = props.loading;\n });\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true, immediate: true },\n );\n watch(\n () => props.modelValue,\n (val: any) => (selectValue.value = val),\n { deep: true, immediate: true },\n );\n\n defineExpose({\n getRef() {\n return selectRef.value;\n },\n focus() {\n selectRef.value?.focus();\n },\n blur() {\n selectRef.value?.blur();\n },\n });\n\n const handleChange = (value: any) => {\n emits('update:modelValue', value);\n emits('change', value);\n };\n\n async function setOptions() {\n _loading.value = true;\n const list = await getList();\n optionList.value = props.dataCallback ? props.dataCallback(list) : list;\n await nextTick();\n _loading.value = false;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n } else {\n if (props?.action) return await props.action?.getDict(props.data);\n if (dictStore) return await dictStore.getDict(props.data);\n return [];\n }\n }\n function handleVisibleChange(visible: boolean) {\n emits('visibleChange', visible);\n }\n function handleRemoveTag(tagValue: any) {\n emits('removeTag', tagValue);\n }\n</script>\n\n<template>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"selectValue\"\n class=\"i-select\"\n v-bind=\"bindAttrs\"\n :loading=\"_loading\"\n @change=\"handleChange\"\n @visible-change=\"handleVisibleChange\"\n @remove-tag=\"handleRemoveTag\"\n @clear=\"emits('clear')\"\n @blur=\"event => emits('blur', event)\"\n @focus=\"event => emits('focus', event)\"\n >\n <ElOption\n v-for=\"(option, index) of optionList\"\n :key=\"option[optValue]\"\n :label=\"option[optLabel]\"\n :value=\"option[optValue]\"\n :disabled=\"option?.disabled\"\n >\n <template #default>\n <slot name=\"default\" :data=\"option\" :index=\"index\" />\n </template>\n </ElOption>\n </ElSelect>\n</template>\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"select.vue2.mjs","sources":["../../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElOption, ElSelect } from 'element-plus';\n import { computed, inject, nextTick, ref, watch, watchEffect } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { SelectProps } from './select';\n\n defineOptions({\n name: 'ISelect',\n });\n const props = defineProps(SelectProps);\n const emits = defineEmits({\n visibleChange: (visible: boolean) => visible,\n removeTag: (tagValue: any) => tagValue,\n 'update:modelValue': (value: any) => value,\n clear: () => true,\n blur: (evt: MouseEvent) => evt,\n focus: (evt: MouseEvent) => evt,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n\n const bindAttrs = computed(() => {\n return excludeObjectKeys(props, ['data', 'dataCallback', 'optLabel', 'optValue', 'modelValue', 'action']);\n });\n\n const _loading = ref(false);\n const optionList = ref<any[]>([]);\n const selectRef = ref();\n const selectValue = ref(props.modelValue);\n\n watchEffect(() => {\n _loading.value = props.loading;\n });\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true, immediate: true },\n );\n watch(\n () => props.modelValue,\n (val: any) => (selectValue.value = val),\n { deep: true, immediate: true },\n );\n\n defineExpose({\n getRef() {\n return selectRef.value;\n },\n focus() {\n selectRef.value?.focus();\n },\n blur() {\n selectRef.value?.blur();\n },\n });\n\n const handleChange = (value: any) => {\n emits('update:modelValue', value);\n emits('change', value);\n };\n\n async function setOptions() {\n _loading.value = true;\n const list = await getList();\n optionList.value = props.dataCallback ? props.dataCallback(list) : list;\n await nextTick();\n _loading.value = false;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n } else {\n if (props?.action) return await props.action?.getDict(props.data);\n if (dictStore) return await dictStore.getDict(props.data);\n return [];\n }\n }\n function handleVisibleChange(visible: boolean) {\n emits('visibleChange', visible);\n }\n function handleRemoveTag(tagValue: any) {\n emits('removeTag', tagValue);\n }\n</script>\n\n<template>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"selectValue\"\n class=\"i-select\"\n v-bind=\"bindAttrs\"\n :loading=\"_loading\"\n @change=\"handleChange\"\n @visible-change=\"handleVisibleChange\"\n @remove-tag=\"handleRemoveTag\"\n @clear=\"emits('clear')\"\n @blur=\"event => emits('blur', event)\"\n @focus=\"event => emits('focus', event)\"\n >\n <ElOption\n v-for=\"(option, index) of optionList\"\n :key=\"option[optValue]\"\n :label=\"option[optLabel]\"\n :value=\"option[optValue]\"\n :disabled=\"option?.disabled\"\n >\n <template #default>\n <slot name=\"default\" :data=\"option\" :index=\"index\" />\n </template>\n </ElOption>\n </ElSelect>\n</template>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","_createElementBlock","_Fragment","_renderList","optValue","optLabel","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizer.vue.mjs","sources":["../../../../../../../packages/components/split-pane/src/resizer.vue"],"sourcesContent":["<template>\n <div :class=\"classes\" />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'Resizer',\n props: {\n split: {\n type: String,\n required: true,\n },\n className: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const classes = computed(() => {\n return ['splitter-pane-resizer', props.split, props.className].join(' ');\n });\n\n return {\n classes,\n };\n },\n });\n</script>\n\n<style scoped></style>\n"],"names":["classes"],"mappings":";;;;;;AACa,SAAA,
|
|
1
|
+
{"version":3,"file":"resizer.vue.mjs","sources":["../../../../../../../packages/components/split-pane/src/resizer.vue"],"sourcesContent":["<template>\n <div :class=\"classes\" />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'Resizer',\n props: {\n split: {\n type: String,\n required: true,\n },\n className: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const classes = computed(() => {\n return ['splitter-pane-resizer', props.split, props.className].join(' ');\n });\n\n return {\n classes,\n };\n },\n });\n</script>\n\n<style scoped></style>\n"],"names":["classes"],"mappings":";;;;;;AACa,SAAA,YAAA,IAAEA,EAAAA,MAAAA,EAAO,MAAA,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;;;;;;;;;;;AAAT,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-pane.vue2.mjs","sources":["../../../../../../../packages/components/split-pane/src/split-pane.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue';\n import Resizer from './resizer.vue';\n import { SplitPaneProps } from './split-pane';\n\n defineOptions({\n name: 'ISplitPane',\n });\n\n const props = defineProps(SplitPaneProps);\n\n const emit = defineEmits(['resize']);\n\n const active = ref(false);\n const hasMoved = ref(false);\n const percent = ref(props.splitSet?.defaultPercent);\n const type = computed(() => (props.splitSet?.split === 'vertical' ? 'width' : 'height'));\n const resizeType = computed(() => (props.splitSet?.split === 'vertical' ? 'left' : 'top'));\n\n const leftClass = computed(() => ['i-splitter-pane i-splitter-paneL', props.splitSet?.split]);\n\n const rightClass = computed(() => ['i-splitter-pane i-splitter-paneR', props.splitSet?.split]);\n\n const cursor = computed(() => {\n return active.value\n ? props.splitSet?.split === 'vertical'\n ? { cursor: 'col-resize' }\n : { cursor: 'row-resize' }\n : { cursor: 'default' };\n });\n\n const onClick = () => {\n if (!hasMoved.value) {\n percent.value = 50;\n emit('resize', percent.value);\n }\n };\n\n const onMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n const className = target.className;\n if (className.includes('toLeft')) {\n if (percent.value === 100) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 0;\n }\n emit('resize', percent.value);\n } else if (className.includes('toRight')) {\n if (percent.value === 0) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 100;\n }\n emit('resize', percent.value);\n } else {\n active.value = true;\n hasMoved.value = false;\n }\n };\n\n const onMouseUp = (): void => {\n active.value = false;\n };\n\n const onMouseMove = (e: MouseEvent): void => {\n if (e.buttons === 0 || e.which === 0) {\n active.value = false;\n }\n\n if (active.value) {\n let offset = 0;\n let target = e.currentTarget as HTMLElement;\n if (props.splitSet?.split === 'vertical') {\n while (target) {\n offset += target.offsetLeft;\n target = target.offsetParent as HTMLElement;\n }\n } else {\n while (target) {\n offset += target.offsetTop;\n target = target.offsetParent as HTMLElement;\n }\n }\n\n const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY;\n // @ts-ignore\n const offsetWidth = e.currentTarget?.offsetWidth || 0;\n // @ts-ignore\n const offsetHeight = e.currentTarget?.offsetHeight || 0;\n const targetOffset = props.splitSet?.split === 'vertical' ? offsetWidth : offsetHeight;\n const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100;\n\n if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) {\n percent.value = percents;\n }\n\n emit('resize', percent.value);\n\n hasMoved.value = true;\n }\n };\n</script>\n\n<template>\n <div class=\"vue-splitter-container clearfix\" :style=\"cursor\" @mouseup=\"onMouseUp\" @mousemove=\"onMouseMove\">\n <div\n :class=\"leftClass\"\n :style=\"`${type}: ${percent === 100 ? 'calc(100% - 10px)' : `${percent}%`}; display: ${percent === 0 ? 'none' : ''}`\"\n >\n <slot name=\"paneL\" />\n </div>\n <Resizer\n :style=\"`${resizeType}:${percent}%; transform: ${percent === 100 ? 'translateX(-10px)' : ''}`\"\n :split=\"splitSet?.split\"\n @mousedown=\"onMouseDown\"\n @click=\"onClick\"\n />\n <div :class=\"rightClass\" :style=\"`${type}: ${100 - percent}%; display: ${percent === 100 ? 'none' : ''}`\">\n <slot name=\"paneR\" />\n </div>\n <div v-show=\"active\" class=\"vue-splitter-container-mask\" />\n </div>\n</template>\n"],"names":["_a"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"split-pane.vue2.mjs","sources":["../../../../../../../packages/components/split-pane/src/split-pane.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue';\n import Resizer from './resizer.vue';\n import { SplitPaneProps } from './split-pane';\n\n defineOptions({\n name: 'ISplitPane',\n });\n\n const props = defineProps(SplitPaneProps);\n\n const emit = defineEmits(['resize']);\n\n const active = ref(false);\n const hasMoved = ref(false);\n const percent = ref(props.splitSet?.defaultPercent);\n const type = computed(() => (props.splitSet?.split === 'vertical' ? 'width' : 'height'));\n const resizeType = computed(() => (props.splitSet?.split === 'vertical' ? 'left' : 'top'));\n\n const leftClass = computed(() => ['i-splitter-pane i-splitter-paneL', props.splitSet?.split]);\n\n const rightClass = computed(() => ['i-splitter-pane i-splitter-paneR', props.splitSet?.split]);\n\n const cursor = computed(() => {\n return active.value\n ? props.splitSet?.split === 'vertical'\n ? { cursor: 'col-resize' }\n : { cursor: 'row-resize' }\n : { cursor: 'default' };\n });\n\n const onClick = () => {\n if (!hasMoved.value) {\n percent.value = 50;\n emit('resize', percent.value);\n }\n };\n\n const onMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n const className = target.className;\n if (className.includes('toLeft')) {\n if (percent.value === 100) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 0;\n }\n emit('resize', percent.value);\n } else if (className.includes('toRight')) {\n if (percent.value === 0) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 100;\n }\n emit('resize', percent.value);\n } else {\n active.value = true;\n hasMoved.value = false;\n }\n };\n\n const onMouseUp = (): void => {\n active.value = false;\n };\n\n const onMouseMove = (e: MouseEvent): void => {\n if (e.buttons === 0 || e.which === 0) {\n active.value = false;\n }\n\n if (active.value) {\n let offset = 0;\n let target = e.currentTarget as HTMLElement;\n if (props.splitSet?.split === 'vertical') {\n while (target) {\n offset += target.offsetLeft;\n target = target.offsetParent as HTMLElement;\n }\n } else {\n while (target) {\n offset += target.offsetTop;\n target = target.offsetParent as HTMLElement;\n }\n }\n\n const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY;\n // @ts-ignore\n const offsetWidth = e.currentTarget?.offsetWidth || 0;\n // @ts-ignore\n const offsetHeight = e.currentTarget?.offsetHeight || 0;\n const targetOffset = props.splitSet?.split === 'vertical' ? offsetWidth : offsetHeight;\n const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100;\n\n if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) {\n percent.value = percents;\n }\n\n emit('resize', percent.value);\n\n hasMoved.value = true;\n }\n };\n</script>\n\n<template>\n <div class=\"vue-splitter-container clearfix\" :style=\"cursor\" @mouseup=\"onMouseUp\" @mousemove=\"onMouseMove\">\n <div\n :class=\"leftClass\"\n :style=\"`${type}: ${percent === 100 ? 'calc(100% - 10px)' : `${percent}%`}; display: ${percent === 0 ? 'none' : ''}`\"\n >\n <slot name=\"paneL\" />\n </div>\n <Resizer\n :style=\"`${resizeType}:${percent}%; transform: ${percent === 100 ? 'translateX(-10px)' : ''}`\"\n :split=\"splitSet?.split\"\n @mousedown=\"onMouseDown\"\n @click=\"onClick\"\n />\n <div :class=\"rightClass\" :style=\"`${type}: ${100 - percent}%; display: ${percent === 100 ? 'none' : ''}`\">\n <slot name=\"paneR\" />\n </div>\n <div v-show=\"active\" class=\"vue-splitter-container-mask\" />\n </div>\n</template>\n"],"names":["_a","_createElementBlock","_createElementVNode","_renderSlot","_createVNode","_normalizeStyle","splitSet","_withDirectives"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { ElPagination, ElTable, ElTableColumn } from 'element-plus';\n import { computed, ref, useSlots, watch } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import { TableProps } from './table';\n\n defineOptions({\n name: 'ITable',\n });\n\n const props = defineProps(TableProps);\n const emits = defineEmits([\n 'update:pagination',\n 'sizeChange',\n 'currentChange',\n 'select',\n 'selectAll',\n 'selectionChange',\n 'cellMouseEnter',\n 'cellMouseLeave',\n 'cellClick',\n 'cellDblclick',\n 'cellContextmenu',\n 'rowClick',\n 'rowContextmenu',\n 'rowDblclick',\n 'headerClick',\n 'headerContextmenu',\n 'sortChange',\n 'filterChange',\n 'currentChange',\n 'headerDragend',\n 'expandChange',\n ]);\n const tableAttrs = computed(() => excludeObjectKeys(props, ['height', 'columns', 'pagination', 'loading']));\n\n const tableWarpRef = ref();\n const slots = useSlots();\n\n // @ts-ignore\n const { height } = useElementSize(tableWarpRef);\n const tableHeight = computed(() => {\n if (props.height) {\n return props.height;\n } else {\n if (props.pagination?.currentPage) {\n return height.value - 50;\n }\n return height.value;\n }\n });\n\n const pagina = ref(props.pagination);\n watch(\n () => props.pagination,\n (val: any) => {\n pagina.value = {\n ...props.pagination,\n ...val,\n };\n },\n { deep: true },\n );\n\n function handleSizeChange(pageSize: number) {\n emits('update:pagination', {\n ...props.pagination,\n pageSize,\n });\n emits('sizeChange', pageSize);\n }\n\n function handleCurrentChange(currentPage: number) {\n emits('update:pagination', {\n ...props.pagination,\n currentPage,\n });\n emits('currentChange', currentPage);\n }\n\n const tableRef = ref();\n defineExpose({\n tableRef() {\n return tableRef.value;\n },\n });\n</script>\n\n<template>\n <div ref=\"tableWarpRef\" v-loading=\"loading\" class=\"i-table-warp\">\n <ElTable\n ref=\"tableRef\"\n v-bind=\"tableAttrs\"\n :height=\"tableHeight\"\n class=\"i-table\"\n @select=\"(selection, row) => emits('select', selection, row)\"\n @select-all=\"selection => emits('selectAll', selection)\"\n @selection-change=\"newSelection => emits('selectionChange', newSelection)\"\n @cell-mouse-enter=\"(row, column, cell, event) => emits('cellMouseEnter', row, column, cell, event)\"\n @cell-mouse-leave=\"(row, column, cell, event) => emits('cellMouseLeave', row, column, cell, event)\"\n @cell-click=\"(row, column, cell, event) => emits('cellClick', row, column, cell, event)\"\n @cell-dblclick=\"(row, column, cell, event) => emits('cellDblclick', row, column, cell, event)\"\n @cell-contextmenu=\"(row, column, cell, event) => emits('cellContextmenu', row, column, cell, event)\"\n @row-click=\"(row, column, event) => emits('rowClick', row, column, event)\"\n @row-contextmenu=\"(row, column, event) => emits('rowContextmenu', row, column, event)\"\n @row-dblclick=\"(row, column, event) => emits('rowDblclick', row, column, event)\"\n @header-click=\"(column, event) => emits('headerClick', column, event)\"\n @header-contextmenu=\"(column, event) => emits('headerContextmenu', column, event)\"\n @sort-change=\"(column, prop, order) => emits('sortChange', column, prop, order)\"\n @filter-change=\"filters => emits('filterChange', filters)\"\n @header-dragend=\"(newWidth, oldWidth, column, event) => emits('headerDragend', newWidth, oldWidth, column, event)\"\n @expand-change=\"(row, expandedRows) => emits('expandChange', row, expandedRows)\"\n >\n <template v-for=\"column of columns\" :key=\"column.prop\">\n <!-- todo 使用v-bind会报typescript类型错误,所以只能一个个的写上 -->\n <ElTableColumn\n :type=\"column.type\"\n :index=\"column.index\"\n :label=\"column.label\"\n :prop=\"column.prop\"\n :row-key=\"column.rowKey || 'id'\"\n :column-key=\"column.columnKey\"\n :width=\"column.width\"\n :min-width=\"column.minWidth\"\n :fixed=\"column.fixed\"\n :sortable=\"column.sortable\"\n :sort-method=\"column.sortMethod\"\n :sort-by=\"column.sortBy\"\n :sort-orders=\"column.sortOrders\"\n :resizable=\"column.resizable\"\n :show-overflow-tooltip=\"column.showOverflowTooltip\"\n :align=\"column.align\"\n :header-align=\"column.headerAlign\"\n :class-name=\"column.className\"\n :label-class-name=\"column.labelClassName\"\n :selectable=\"column.selectable\"\n :reserve-selection=\"column.reserveSelection\"\n :filters=\"column.filters\"\n :filter-placement=\"column.filterPlacement\"\n :filter-multiple=\"column.filterMultiple\"\n :filter-method=\"column.filterMethod\"\n :filtered-value=\"column.filteredValue\"\n >\n <template #default=\"scope\">\n <!-- eslint-disable-next-line -->\n <slot v-if=\"column.slot\" :name=\"column.slot\" :row=\"scope.row\" :$index=\"scope.$index\" />\n </template>\n <template v-if=\"slots[`${column.prop}TableHeader`]\" #header>\n <slot :name=\"`${column.prop}TableHeader`\" />\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n <div v-if=\"pagina.total\" class=\"i-table-pagination\">\n <ElPagination\n v-model:current-page=\"pagina.currentPage\"\n v-model:page-size=\"pagina.pageSize\"\n :small=\"pagina.small || false\"\n :disabled=\"pagina.disabled || false\"\n :background=\"pagina.background || true\"\n :total=\"pagina.total || 0\"\n :pager-count=\"pagina.pagerCount || 7\"\n :layout=\"pagina.layout || 'total, sizes, prev, pager, next, jumper'\"\n :page-sizes=\"pagina.pageSizes || [20, 30, 50, 100]\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAuBd,IAAM,MAAA,UAAA,GAAa,QAAS,CAAA,MAAM,iBAAkB,CAAA,KAAA,EAAO,CAAC,QAAA,EAAU,SAAW,EAAA,YAAA,EAAc,SAAS,CAAC,CAAC,CAAA;AAE1G,IAAA,MAAM,eAAe,GAAI,EAAA;AACzB,IAAA,MAAM,QAAQ,QAAS,EAAA;AAGvB,IAAA,MAAM,EAAE,MAAA,EAAW,GAAA,cAAA,CAAe,YAAY,CAAA;AAC9C,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;;AACjC,MAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,QAAA,OAAO,KAAM,CAAA,MAAA;AAAA,OACR,MAAA;AACL,QAAI,IAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,WAAa,EAAA;AACjC,UAAA,OAAO,OAAO,KAAQ,GAAA,EAAA;AAAA;AAExB,QAAA,OAAO,MAAO,CAAA,KAAA;AAAA;AAChB,KACD,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA;AACnC,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAa,KAAA;AACZ,QAAA,MAAA,CAAO,KAAQ,GAAA;AAAA,UACb,GAAG,KAAM,CAAA,UAAA;AAAA,UACT,GAAG;AAAA,SACL;AAAA,OACF;AAAA,MACA,EAAE,MAAM,IAAK;AAAA,KACf;AAEA,IAAA,SAAS,iBAAiB,QAAkB,EAAA;AAC1C,MAAA,KAAA,CAAM,mBAAqB,EAAA;AAAA,QACzB,GAAG,KAAM,CAAA,UAAA;AAAA,QACT;AAAA,OACD,CAAA;AACD,MAAA,KAAA,CAAM,cAAc,QAAQ,CAAA;AAAA;AALrB,IAAA,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA;AAQT,IAAA,SAAS,oBAAoB,WAAqB,EAAA;AAChD,MAAA,KAAA,CAAM,mBAAqB,EAAA;AAAA,QACzB,GAAG,KAAM,CAAA,UAAA;AAAA,QACT;AAAA,OACD,CAAA;AACD,MAAA,KAAA,CAAM,iBAAiB,WAAW,CAAA;AAAA;AAL3B,IAAA,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAQT,IAAA,MAAM,WAAW,GAAI,EAAA;AACrB,IAAa,QAAA,CAAA;AAAA,MACX,QAAW,GAAA;AACT,QAAA,OAAO,QAAS,CAAA,KAAA;AAAA;AAClB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { ElPagination, ElTable, ElTableColumn } from 'element-plus';\n import { computed, ref, useSlots, watch } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import { TableProps } from './table';\n\n defineOptions({\n name: 'ITable',\n });\n\n const props = defineProps(TableProps);\n const emits = defineEmits([\n 'update:pagination',\n 'sizeChange',\n 'currentChange',\n 'select',\n 'selectAll',\n 'selectionChange',\n 'cellMouseEnter',\n 'cellMouseLeave',\n 'cellClick',\n 'cellDblclick',\n 'cellContextmenu',\n 'rowClick',\n 'rowContextmenu',\n 'rowDblclick',\n 'headerClick',\n 'headerContextmenu',\n 'sortChange',\n 'filterChange',\n 'currentChange',\n 'headerDragend',\n 'expandChange',\n ]);\n const tableAttrs = computed(() => excludeObjectKeys(props, ['height', 'columns', 'pagination', 'loading']));\n\n const tableWarpRef = ref();\n const slots = useSlots();\n\n // @ts-ignore\n const { height } = useElementSize(tableWarpRef);\n const tableHeight = computed(() => {\n if (props.height) {\n return props.height;\n } else {\n if (props.pagination?.currentPage) {\n return height.value - 50;\n }\n return height.value;\n }\n });\n\n const pagina = ref(props.pagination);\n watch(\n () => props.pagination,\n (val: any) => {\n pagina.value = {\n ...props.pagination,\n ...val,\n };\n },\n { deep: true },\n );\n\n function handleSizeChange(pageSize: number) {\n emits('update:pagination', {\n ...props.pagination,\n pageSize,\n });\n emits('sizeChange', pageSize);\n }\n\n function handleCurrentChange(currentPage: number) {\n emits('update:pagination', {\n ...props.pagination,\n currentPage,\n });\n emits('currentChange', currentPage);\n }\n\n const tableRef = ref();\n defineExpose({\n tableRef() {\n return tableRef.value;\n },\n });\n</script>\n\n<template>\n <div ref=\"tableWarpRef\" v-loading=\"loading\" class=\"i-table-warp\">\n <ElTable\n ref=\"tableRef\"\n v-bind=\"tableAttrs\"\n :height=\"tableHeight\"\n class=\"i-table\"\n @select=\"(selection, row) => emits('select', selection, row)\"\n @select-all=\"selection => emits('selectAll', selection)\"\n @selection-change=\"newSelection => emits('selectionChange', newSelection)\"\n @cell-mouse-enter=\"(row, column, cell, event) => emits('cellMouseEnter', row, column, cell, event)\"\n @cell-mouse-leave=\"(row, column, cell, event) => emits('cellMouseLeave', row, column, cell, event)\"\n @cell-click=\"(row, column, cell, event) => emits('cellClick', row, column, cell, event)\"\n @cell-dblclick=\"(row, column, cell, event) => emits('cellDblclick', row, column, cell, event)\"\n @cell-contextmenu=\"(row, column, cell, event) => emits('cellContextmenu', row, column, cell, event)\"\n @row-click=\"(row, column, event) => emits('rowClick', row, column, event)\"\n @row-contextmenu=\"(row, column, event) => emits('rowContextmenu', row, column, event)\"\n @row-dblclick=\"(row, column, event) => emits('rowDblclick', row, column, event)\"\n @header-click=\"(column, event) => emits('headerClick', column, event)\"\n @header-contextmenu=\"(column, event) => emits('headerContextmenu', column, event)\"\n @sort-change=\"(column, prop, order) => emits('sortChange', column, prop, order)\"\n @filter-change=\"filters => emits('filterChange', filters)\"\n @header-dragend=\"(newWidth, oldWidth, column, event) => emits('headerDragend', newWidth, oldWidth, column, event)\"\n @expand-change=\"(row, expandedRows) => emits('expandChange', row, expandedRows)\"\n >\n <template v-for=\"column of columns\" :key=\"column.prop\">\n <!-- todo 使用v-bind会报typescript类型错误,所以只能一个个的写上 -->\n <ElTableColumn\n :type=\"column.type\"\n :index=\"column.index\"\n :label=\"column.label\"\n :prop=\"column.prop\"\n :row-key=\"column.rowKey || 'id'\"\n :column-key=\"column.columnKey\"\n :width=\"column.width\"\n :min-width=\"column.minWidth\"\n :fixed=\"column.fixed\"\n :sortable=\"column.sortable\"\n :sort-method=\"column.sortMethod\"\n :sort-by=\"column.sortBy\"\n :sort-orders=\"column.sortOrders\"\n :resizable=\"column.resizable\"\n :show-overflow-tooltip=\"column.showOverflowTooltip\"\n :align=\"column.align\"\n :header-align=\"column.headerAlign\"\n :class-name=\"column.className\"\n :label-class-name=\"column.labelClassName\"\n :selectable=\"column.selectable\"\n :reserve-selection=\"column.reserveSelection\"\n :filters=\"column.filters\"\n :filter-placement=\"column.filterPlacement\"\n :filter-multiple=\"column.filterMultiple\"\n :filter-method=\"column.filterMethod\"\n :filtered-value=\"column.filteredValue\"\n >\n <template #default=\"scope\">\n <!-- eslint-disable-next-line -->\n <slot v-if=\"column.slot\" :name=\"column.slot\" :row=\"scope.row\" :$index=\"scope.$index\" />\n </template>\n <template v-if=\"slots[`${column.prop}TableHeader`]\" #header>\n <slot :name=\"`${column.prop}TableHeader`\" />\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n <div v-if=\"pagina.total\" class=\"i-table-pagination\">\n <ElPagination\n v-model:current-page=\"pagina.currentPage\"\n v-model:page-size=\"pagina.pageSize\"\n :small=\"pagina.small || false\"\n :disabled=\"pagina.disabled || false\"\n :background=\"pagina.background || true\"\n :total=\"pagina.total || 0\"\n :pager-count=\"pagina.pagerCount || 7\"\n :layout=\"pagina.layout || 'total, sizes, prev, pager, next, jumper'\"\n :page-sizes=\"pagina.pageSizes || [20, 30, 50, 100]\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createVNode","_unref","_mergeProps","_Fragment","_renderList","columns","_createCommentVNode","_withCtx","_renderSlot","_openBlock","loading"],"mappings":"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"}
|