@ctc-front/components-ui-next 0.1.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -7
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +258 -0
- package/dist/index.js +1858 -149
- package/dist/style-with-element-plus.css +1 -1
- package/dist/style.css +1 -1
- package/package.json +30 -17
package/README.md
CHANGED
|
@@ -8,12 +8,14 @@
|
|
|
8
8
|
- 配置化 `CtcTable`:多级表头、插槽、render 函数、受控分页、行合并
|
|
9
9
|
- Element Plus 原生表格属性类型、滚动方法与 `elTableRef` 原生实例入口
|
|
10
10
|
- `app.use(CtcComponentsUi, options)` 团队默认配置
|
|
11
|
-
-
|
|
11
|
+
- `CtcReport` 报表布局:工具栏、查询区、标题、统计区、表格前后区域组合,完整类型和表格实例入口
|
|
12
|
+
- `CtcVideoPlayer` 视频播放器:支持 mpegts.js 流媒体播放、时间轴、工具栏与 seek 模拟
|
|
13
|
+
- 白色、黑色、蓝色大屏三套主题,适配原生控件、弹层、状态提示和空状态
|
|
12
14
|
|
|
13
15
|
## 安装
|
|
14
16
|
|
|
15
17
|
```bash
|
|
16
|
-
pnpm add @ctc-front/components-ui-next element-plus vue
|
|
18
|
+
pnpm add @ctc-front/components-ui-next@0.3.0 element-plus vue @element-plus/icons-vue
|
|
17
19
|
```
|
|
18
20
|
|
|
19
21
|
## 使用
|
|
@@ -21,6 +23,8 @@ pnpm add @ctc-front/components-ui-next element-plus vue
|
|
|
21
23
|
```ts
|
|
22
24
|
import { createApp } from 'vue'
|
|
23
25
|
import ElementPlus from 'element-plus'
|
|
26
|
+
import 'element-plus/dist/index.css'
|
|
27
|
+
import 'element-plus/theme-chalk/dark/css-vars.css'
|
|
24
28
|
import '@ctc-front/components-ui-next/style.css'
|
|
25
29
|
import CtcComponentsUi from '@ctc-front/components-ui-next'
|
|
26
30
|
import App from './App.vue'
|
|
@@ -31,6 +35,7 @@ createApp(App).use(ElementPlus).use(CtcComponentsUi).mount('#app')
|
|
|
31
35
|
如果宿主使用 Element Plus 按需加载,请改用包含 Element Plus 基础样式的入口:
|
|
32
36
|
|
|
33
37
|
```ts
|
|
38
|
+
import 'element-plus/theme-chalk/dark/css-vars.css'
|
|
34
39
|
import '@ctc-front/components-ui-next/style-with-element-plus.css'
|
|
35
40
|
```
|
|
36
41
|
|
|
@@ -39,7 +44,7 @@ import '@ctc-front/components-ui-next/style-with-element-plus.css'
|
|
|
39
44
|
也可以按组件导入:
|
|
40
45
|
|
|
41
46
|
```ts
|
|
42
|
-
import { CtcDialog, CtcTable } from '@ctc-front/components-ui-next'
|
|
47
|
+
import { CtcDialog, CtcTable, CtcReport } from '@ctc-front/components-ui-next'
|
|
43
48
|
```
|
|
44
49
|
|
|
45
50
|
## CtcTable 行合并
|
|
@@ -58,18 +63,48 @@ import { CtcDialog, CtcTable } from '@ctc-front/components-ui-next'
|
|
|
58
63
|
/>
|
|
59
64
|
```
|
|
60
65
|
|
|
61
|
-
只有相邻行的 `by` 字段全部相同,目标列才会纵向合并。`selection`、`index`、`expand` 特殊列不参与配置合并;原生 `span-method`
|
|
66
|
+
只有相邻行的 `by` 字段全部相同,目标列才会纵向合并。`selection`、`index`、`expand` 特殊列不参与配置合并;原生 `span-method` 传入后优先使用。merge 配置仅支持纵向合并;横向合并可使用原生 span-method。
|
|
62
67
|
|
|
63
68
|
## 主题
|
|
64
69
|
|
|
65
|
-
|
|
70
|
+
默认启用 CTC 白色主题;黑色与蓝色大屏同时使用 Element Plus 官方暗色基础变量。主题标记放在 html,让传送到 body 的弹层也能同步:
|
|
66
71
|
|
|
67
72
|
```ts
|
|
68
|
-
|
|
73
|
+
function applyTheme(theme: 'light' | 'dark' | 'blue') {
|
|
74
|
+
document.documentElement.classList.toggle('dark', theme !== 'light')
|
|
75
|
+
document.documentElement.dataset.ctcTheme = theme
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
applyTheme('blue')
|
|
69
79
|
```
|
|
70
80
|
|
|
81
|
+
若需要沿用宿主自己的品牌色,使用 `data-ctc-theme-mode="inherit"`,详见[主题与大屏模式](./docs/guide/theme.md)。
|
|
82
|
+
|
|
71
83
|
详细属性、插槽、分页和主题说明见[开始使用](./docs/guide/getting-started.md)。各个已发布版本的功能点见[更新日志](./CHANGELOG.md)和[版本说明](./docs/guide/releases.md)。
|
|
72
84
|
|
|
85
|
+
项目的 GitLab 校验、文档部署、npm 发布和回滚说明见 [CI/CD 文档](./deploy/CI-CD.md)。
|
|
86
|
+
|
|
73
87
|
## 版本说明
|
|
74
88
|
|
|
75
|
-
当前为 `0.
|
|
89
|
+
当前为 `0.3.0`,适用于 Vue 3 项目。Vue 2 / Element UI 项目请继续使用原组件库。
|
|
90
|
+
|
|
91
|
+
## 文档与本地演示
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
pnpm dev # 组件 Playground:http://127.0.0.1:5173,草稿页不进版本库
|
|
95
|
+
pnpm docs:dev # VitePress 文档站:http://127.0.0.1:4173,支持热更新
|
|
96
|
+
pnpm docs:preview # 构建产物验收:http://localhost:4174
|
|
97
|
+
pnpm docs:sync # 同步源码契约、API 页和 AI 阅读文件
|
|
98
|
+
pnpm docs:check # 检查契约覆盖及生成文档是否过期
|
|
99
|
+
pnpm release:check
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
`pnpm dev` 首次启动会从 `play/app.example.vue` 生成 `play/src/App.vue`;该文件及 `play/src/` 下的其它草稿均被忽略,不会提交。删除 `App.vue` 后重新运行即可恢复模板。
|
|
103
|
+
|
|
104
|
+
组件调试使用 `pnpm dev`;文档与正式示例使用 `pnpm docs:dev`,示例位于 `docs/examples/`,由 `manifest.json` 登记并嵌入 Markdown。
|
|
105
|
+
|
|
106
|
+
- 人工使用:[组件目录](./docs/components/index.md) · [方法实战](./docs/components/table/methods.md) · [业务场景](./docs/patterns/index.md)
|
|
107
|
+
- AI 读取:[llms.txt](./llms.txt) · [读取约定](./docs/guide/ai.md) · [契约源](./docs/reference/components.json)
|
|
108
|
+
- 维护规范:[文档与示例贡献](./docs/guide/contributing.md)
|
|
109
|
+
|
|
110
|
+
文档站同时输出 `/llms.txt`、`/llms-full.txt`、`/api/components.json` 与 `/markdown/`。本站描述当前源码,尚未发布的能力以发布记录为准。
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require("vue"),t=require("element-plus");var n=Symbol(`CtcComponentsUiConfig`);function r(){return(0,e.inject)(n,{})}var i=(0,e.defineComponent)({name:`Close`,__name:`close`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z`})]))}}),a=(0,e.defineComponent)({name:`FullScreen`,__name:`full-screen`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z`})]))}}),o=(0,e.defineComponent)({name:`Minus`,__name:`minus`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64`})]))}});function s(t,n){let r=(0,e.computed)(()=>t.fullscreen??!1);function i(){n(`update:fullscreen`,!r.value)}return{isFullscreen:r,toggleFullscreen:i}}function c(e,t,n){return Math.min(Math.max(e,t),n)}function l(t,n){let r=(0,e.ref)(!1),i=(0,e.ref)({}),a=()=>{};function o(){a(),a=()=>{}}function s(e){if(!t.resizable||e.button!==0)return;let s=e.currentTarget.closest(`.ctc-dialog`);if(!s)return;e.preventDefault(),o();let l=s.getBoundingClientRect(),u=t.minWidth??400,d=t.minHeight??240,f=Math.max(u,window.innerWidth-l.left-32),p=Math.max(d,window.innerHeight-l.top-32),m=e.clientX,h=e.clientY;function g(e){let t=Math.round(c(l.width+e.clientX-m,u,f)),a=Math.round(c(l.height+e.clientY-h,d,p));r.value=!0,i.value={height:`${a}px`,width:`${t}px`},n(`resize`,{width:t,height:a})}function _(){o()}window.addEventListener(`pointermove`,g),window.addEventListener(`pointerup`,_,{once:!0}),a=()=>{window.removeEventListener(`pointermove`,g),window.removeEventListener(`pointerup`,_)}}return(0,e.onBeforeUnmount)(o),{isResized:r,resizeStyle:i,startResize:s}}var u={class:`ctc-dialog__header-content`},d={class:`ctc-dialog__title`},f={class:`ctc-dialog__header-actions`},p=[`aria-label`,`title`],m={class:`ctc-dialog__content`},h=(0,e.defineComponent)({name:`CtcDialog`,inheritAttrs:!1,__name:`index`,props:{modelValue:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},resizable:{type:Boolean,default:!1},minWidth:{type:Number,default:400},minHeight:{type:Number,default:240},title:{type:String,default:``},width:{type:[String,Number],default:`640px`},alignCenter:Boolean,appendTo:{type:[String,Object],default:void 0},beforeClose:{type:Function,default:void 0},closeDelay:Number,closeOnClickModal:{type:Boolean,default:void 0},closeOnPressEscape:Boolean,contentFill:{type:Boolean,default:!1},destroyOnClose:Boolean,draggable:Boolean,lockScroll:Boolean,modal:{type:Boolean,default:!0},modalClass:{type:[String,Array,Object],default:void 0},openDelay:Number,overflow:Boolean,showClose:{type:Boolean,default:!0},top:String,trapFocus:Boolean,zIndex:Number},emits:[`update:modelValue`,`update:fullscreen`,`resize`,`open`,`opened`,`close`,`closed`],setup(n,{emit:c}){let h=n,g=c,_=(0,e.useAttrs)(),v=(0,e.useSlots)(),y=r(),{isFullscreen:b,toggleFullscreen:x}=s(h,g),{isResized:S,resizeStyle:C,startResize:w}=l(h,g),T=(0,e.computed)(()=>b.value?{}:C.value),E=(0,e.computed)(()=>S.value&&!b.value),D=(0,e.computed)(()=>h.closeOnClickModal??y.dialog?.closeOnClickModal??!1);function O(e){g(`update:modelValue`,e)}function k(){if(h.beforeClose){h.beforeClose(e=>{e||g(`update:modelValue`,!1)});return}g(`update:modelValue`,!1)}return(r,s)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDialog),(0,e.mergeProps)((0,e.unref)(_),{class:[`ctc-dialog`,{"ctc-dialog--content-fill":n.contentFill,"ctc-dialog--resizable":n.resizable,"ctc-dialog--resized":E.value}],style:T.value,"model-value":n.modelValue,fullscreen:(0,e.unref)(b),title:n.title,width:n.width,"align-center":n.alignCenter,"append-to":n.appendTo,"before-close":n.beforeClose,"close-delay":n.closeDelay,"close-on-click-modal":D.value,"close-on-press-escape":n.closeOnPressEscape,"destroy-on-close":n.destroyOnClose,draggable:n.draggable,"lock-scroll":n.lockScroll,modal:n.modal,"modal-class":n.modalClass,"open-delay":n.openDelay,overflow:n.overflow,"show-close":!1,top:n.top,"trap-focus":n.trapFocus,"z-index":n.zIndex,"header-class":`ctc-dialog__header`,"body-class":`ctc-dialog__body`,"footer-class":`ctc-dialog__footer`,"onUpdate:modelValue":O,onOpen:s[2]||=e=>g(`open`),onOpened:s[3]||=e=>g(`opened`),onClose:s[4]||=e=>g(`close`),onClosed:s[5]||=e=>g(`closed`)}),(0,e.createSlots)({header:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,u,[(0,e.renderSlot)(r.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,d,(0,e.toDisplayString)(n.title),1)])]),(0,e.createElementVNode)(`div`,f,[n.showFullscreen?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`ctc-dialog__fullscreen-toggle`,type:`button`,"aria-label":(0,e.unref)(b)?`退出全屏`:`全屏显示`,title:(0,e.unref)(b)?`退出全屏`:`全屏显示`,"data-ctc-fullscreen-toggle":``,onClick:s[0]||=(...t)=>(0,e.unref)(x)&&(0,e.unref)(x)(...t)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.unref)(b)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(o),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(a),{key:1}))]),_:1})],8,p)):(0,e.createCommentVNode)(``,!0),n.showClose?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:`ctc-dialog__close`,type:`button`,"aria-label":`关闭弹窗`,title:`关闭`,"data-ctc-close":``,onClick:k},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(i))]),_:1})])):(0,e.createCommentVNode)(``,!0)])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,m,[(0,e.renderSlot)(r.$slots,`default`)]),n.resizable&&!(0,e.unref)(b)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`ctc-dialog__resize-handle`,"aria-hidden":`true`,"data-ctc-resize-handle":``,onPointerdown:s[1]||=(...t)=>(0,e.unref)(w)&&(0,e.unref)(w)(...t)},null,32)):(0,e.createCommentVNode)(``,!0)]),_:2},[(0,e.unref)(v).footer?{name:`footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,`footer`)]),key:`0`}:void 0]),1040,[`class`,`style`,`model-value`,`fullscreen`,`title`,`width`,`align-center`,`append-to`,`before-close`,`close-delay`,`close-on-click-modal`,`close-on-press-escape`,`destroy-on-close`,`draggable`,`lock-scroll`,`modal`,`modal-class`,`open-delay`,`overflow`,`top`,`trap-focus`,`z-index`]))}}),g={class:`ctc-drawer__header-content`},_={class:`ctc-drawer__title`},v={class:`ctc-drawer__header-actions`},y=[`aria-label`,`title`],b={class:`ctc-drawer__content`},x={key:0,class:`ctc-drawer__footer`},S=(0,e.defineComponent)({name:`CtcDrawer`,inheritAttrs:!1,__name:`index`,props:{modelValue:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},title:{type:String,default:``},size:{type:[String,Number],default:`480px`},direction:{type:String,default:`rtl`},appendTo:{type:[String,Object],default:void 0},beforeClose:{type:Function,default:void 0},closeOnClickModal:Boolean,closeOnPressEscape:Boolean,destroyOnClose:Boolean,lockScroll:Boolean,modal:{type:Boolean,default:!0},modalClass:{type:[String,Array,Object],default:void 0},showClose:{type:Boolean,default:!0},zIndex:Number},emits:[`update:modelValue`,`update:fullscreen`,`open`,`opened`,`close`,`closed`],setup(n,{emit:r}){let c=n,l=r,u=(0,e.useAttrs)(),d=(0,e.useSlots)(),{isFullscreen:f,toggleFullscreen:p}=s(c,l),m=(0,e.computed)(()=>f.value?`100%`:c.size);function h(e){l(`update:modelValue`,e)}function S(){if(c.beforeClose){c.beforeClose(e=>{e||l(`update:modelValue`,!1)});return}l(`update:modelValue`,!1)}return(r,s)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDrawer),(0,e.mergeProps)((0,e.unref)(u),{class:[`ctc-drawer`,{"is-fullscreen":(0,e.unref)(f)}],"model-value":n.modelValue,"append-to":n.appendTo,"before-close":n.beforeClose,"close-on-click-modal":n.closeOnClickModal,"close-on-press-escape":n.closeOnPressEscape,"destroy-on-close":n.destroyOnClose,direction:n.direction,"lock-scroll":n.lockScroll,modal:n.modal,"modal-class":n.modalClass,"show-close":!1,size:m.value,"z-index":n.zIndex,"header-class":`ctc-drawer__header`,"body-class":`ctc-drawer__body`,"onUpdate:modelValue":h,onOpen:s[1]||=e=>l(`open`),onOpened:s[2]||=e=>l(`opened`),onClose:s[3]||=e=>l(`close`),onClosed:s[4]||=e=>l(`closed`)}),{header:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,g,[(0,e.renderSlot)(r.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,_,(0,e.toDisplayString)(n.title),1)])]),(0,e.createElementVNode)(`div`,v,[n.showFullscreen?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`ctc-drawer__fullscreen-toggle`,type:`button`,"aria-label":(0,e.unref)(f)?`退出全屏`:`全屏显示`,title:(0,e.unref)(f)?`退出全屏`:`全屏显示`,"data-ctc-fullscreen-toggle":``,onClick:s[0]||=(...t)=>(0,e.unref)(p)&&(0,e.unref)(p)(...t)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.unref)(f)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(o),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(a),{key:1}))]),_:1})],8,y)):(0,e.createCommentVNode)(``,!0),n.showClose?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:`ctc-drawer__close`,type:`button`,"aria-label":`关闭抽屉`,title:`关闭`,"data-ctc-close":``,onClick:S},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(i))]),_:1})])):(0,e.createCommentVNode)(``,!0)])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`ctc-drawer__layout`,{"has-footer":(0,e.unref)(d).footer}])},[(0,e.createElementVNode)(`div`,b,[(0,e.renderSlot)(r.$slots,`default`)]),(0,e.unref)(d).footer?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,x,[(0,e.renderSlot)(r.$slots,`footer`)])):(0,e.createCommentVNode)(``,!0)],2)]),_:3},16,[`class`,`model-value`,`append-to`,`before-close`,`close-on-click-modal`,`close-on-press-escape`,`destroy-on-close`,`direction`,`lock-scroll`,`modal`,`modal-class`,`size`,`z-index`]))}}),C=(0,e.defineComponent)({name:`CtcFlex`,__name:`index`,props:{direction:{default:`column`},fill:{type:Boolean,default:!1},grow:{default:1},justify:{default:`flex-start`},align:{default:`stretch`},gap:{default:0},scroll:{type:[Boolean,String],default:!1}},setup(t){let n=t,r=(0,e.computed)(()=>{let e={alignItems:n.align,flexDirection:n.direction,justifyContent:n.justify};return n.gap!==0&&n.gap!==``&&(e.gap=typeof n.gap==`number`?`${n.gap}px`:n.gap),n.fill&&(e.flex=n.grow),n.direction===`column`?e.minHeight=`0`:e.minWidth=`0`,n.scroll===`x`?(e.overflowX=`auto`,e.overflowY=`hidden`):n.scroll===`y`?(e.overflowX=`hidden`,e.overflowY=`auto`):n.scroll&&(e.overflow=`auto`),e});return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`ctc-flex`,style:(0,e.normalizeStyle)(r.value)},[(0,e.renderSlot)(t.$slots,`default`)],4))}}),w=new Set([`selection`,`index`,`expand`]),T=new Map,E=(0,e.defineComponent)({name:`CtcTableColumn`,props:{column:{type:Object,required:!0},slots:{type:Object,required:!0}},setup(n){let r=e=>e.slot??e.prop,i=(e,t)=>{if(!t)return;let n=T.get(t);return n||(n=t.replace(/\[(?:'([^']*)'|"([^"]*)"|([^\]]+))\]/g,`.$1$2$3`).split(`.`).filter(Boolean),T.set(t,n)),n.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)},a=(e,t)=>{let a=r(e),o=a?n.slots[a]:void 0;if(o)return o({...t,config:e});if(e.renderCell)return e.renderCell(t);if(e.formatter){let n=i(t.row,e.prop??e.property);return e.formatter(t.row,t.column,n,t.$index)}},o=(e,t)=>{let r=e.headerSlot?n.slots[e.headerSlot]:void 0;return r?r({...t,config:e}):e.renderHeader?.(t)},s=r=>{let{children:i,slot:c,headerSlot:l,renderCell:u,renderHeader:d,formatter:f,...p}=r,m=!!i?.length,h=c??r.prop,g=!!(h&&n.slots[h]||u||f),_=!!(l&&n.slots[l]||d),v=r.type?w.has(r.type):!1;return(0,e.h)(t.ElTableColumn,p,{default:m?()=>i?.map(s):g&&!v?e=>a(r,e):void 0,header:_?e=>o(r,e):void 0})};return()=>s(n.column)}});function D(e,t){return t.replace(/\[(?:'([^']*)'|"([^"]*)"|([^\]]+))\]/g,`.$1$2$3`).split(`.`).filter(Boolean).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function O(e,t,n){return n.every(n=>Object.is(D(e,n),D(t,n)))}function k(e,t){let n=new Map(t.filter(e=>e.prop&&e.by.length>0).map(e=>[e.prop,e]));return({column:t,rowIndex:r})=>{if(t.type===`selection`||t.type===`index`||t.type===`expand`)return;let i=t.property,a=i?n.get(i):void 0;if(!a)return;let o=e[r];if(!o)return;if(r>0&&O(e[r-1],o,a.by))return{rowspan:0,colspan:0};let s=1;for(;r+s<e.length&&O(o,e[r+s],a.by);)s+=1;return{rowspan:s,colspan:1}}}var A={key:0,class:`ctc-table__pagination`},j=(0,e.defineComponent)({name:`CtcTable`,inheritAttrs:!1,__name:`index`,props:{autoHeight:{type:Boolean,default:!1},columns:{default:()=>[]},currentPage:{default:1},data:{default:()=>[]},height:{},loading:{type:Boolean,default:!1},merge:{default:()=>[]},pageSize:{},pagination:{type:Boolean,default:!1},paginationProps:{default:()=>({})},total:{default:0}},emits:[`update:currentPage`,`update:pageSize`,`current-change`,`page-change`,`page-size-change`,`prev-click`,`next-click`],setup(n,{expose:i,emit:a}){let o=n,s=a,c=(0,e.useAttrs)(),l=(0,e.useSlots)(),u=r(),d=(0,e.useTemplateRef)(`tableRef`),f=new Set(`currentPage.pageSize.total.layout.pageSizes.pagerCount.background.disabled.hideOnSinglePage.small.prevText.nextText.prevIcon.nextIcon.popperClass.popperStyle.teleported.appendSizeTo.pageCount.defaultCurrentPage.defaultPageSize.onUpdate:currentPage.onUpdate:pageSize.onCurrentChange.onSizeChange.onPrevClick.onNextClick`.split(`.`)),p=(0,e.computed)(()=>{let e=Object.fromEntries(Object.entries(c).filter(([e])=>!f.has(e)&&e!==`height`&&e!==`spanMethod`)),t={};return!(`border`in c)&&u.table?.border!==void 0&&(t.border=u.table.border),!(`stripe`in c)&&u.table?.stripe!==void 0&&(t.stripe=u.table.stripe),{...t,...e}}),m=(0,e.computed)(()=>o.pageSize??u.table?.pageSize??10),h=(0,e.computed)(()=>({...u.table?.paginationProps,...o.paginationProps})),g=(0,e.computed)(()=>{if(typeof o.height==`string`||typeof o.height==`number`)return o.height}),_=(0,e.computed)(()=>o.autoHeight&&g.value===void 0),v=(0,e.computed)(()=>g.value??(_.value?`100%`:void 0)),y=(0,e.computed)(()=>{if(typeof c.spanMethod==`function`)return c.spanMethod;if(o.merge.length!==0)return k(o.data,o.merge)});function b(e,t){s(`current-change`,e,t)}return i({elTableRef:d,clearSelection:()=>d.value?.clearSelection(),toggleRowSelection:(e,t)=>d.value?.toggleRowSelection(e,t),toggleAllSelection:()=>d.value?.toggleAllSelection(),toggleRowExpansion:(e,t)=>d.value?.toggleRowExpansion(e,t),setCurrentRow:e=>d.value?.setCurrentRow(e),clearSort:()=>d.value?.clearSort(),clearFilter:e=>d.value?.clearFilter(e),doLayout:()=>d.value?.doLayout(),sort:(e,t)=>d.value?.sort(e,t),scrollTo:(e,t)=>d.value?.scrollTo(e,t),setScrollTop:e=>d.value?.setScrollTop(e),setScrollLeft:e=>d.value?.setScrollLeft(e)}),(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`ctc-table`,{"ctc-table--auto-height":_.value}])},[(0,e.withDirectives)(((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTable),(0,e.mergeProps)({ref_key:`tableRef`,ref:d},p.value,{data:o.data,height:v.value,"span-method":y.value,onCurrentChange:b}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(o.columns,(t,n)=>((0,e.openBlock)(),(0,e.createBlock)(E,{key:t.prop??t.property??t.label??n,column:t,slots:(0,e.unref)(l)},null,8,[`column`,`slots`]))),128))]),_:2},[(0,e.unref)(l).empty?{name:`empty`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`empty`)]),key:`0`}:void 0,(0,e.unref)(l).append?{name:`append`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`append`)]),key:`1`}:void 0]),1040,[`data`,`height`,`span-method`])),[[(0,e.unref)(t.vLoading),o.loading]]),o.pagination?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,A,[(0,e.createVNode)((0,e.unref)(t.ElPagination),(0,e.mergeProps)(h.value,{"current-page":o.currentPage,"page-size":m.value,total:o.total,"onUpdate:currentPage":r[0]||=e=>s(`update:currentPage`,e),"onUpdate:pageSize":r[1]||=e=>s(`update:pageSize`,e),onCurrentChange:r[2]||=e=>s(`page-change`,e),onSizeChange:r[3]||=e=>s(`page-size-change`,e),onPrevClick:r[4]||=e=>s(`prev-click`,e),onNextClick:r[5]||=e=>s(`next-click`,e)}),null,16,[`current-page`,`page-size`,`total`]),(0,e.renderSlot)(n.$slots,`pagination`)])):(0,e.createCommentVNode)(``,!0)],2))}}),M=[h,S,C,j],N={install(e,t={}){e.provide(n,t),M.forEach(t=>{e.component(t.name??``,t)})}};exports.CtcComponentsUi=N,exports.default=N,exports.CtcDialog=h,exports.CtcDrawer=S,exports.CtcFlex=C,exports.CtcTable=j;
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require("vue"),t=require("element-plus");var n=Symbol(`CtcComponentsUiConfig`);function r(){return(0,e.inject)(n,{})}var i=(0,e.defineComponent)({name:`ArrowDown`,__name:`arrow-down`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z`})]))}}),a=(0,e.defineComponent)({name:`ArrowRight`,__name:`arrow-right`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z`})]))}}),o=(0,e.defineComponent)({name:`Bell`,__name:`bell`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64`}),(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320`}),(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0`})]))}}),s=(0,e.defineComponent)({name:`Camera`,__name:`camera`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448`})]))}}),c=(0,e.defineComponent)({name:`Close`,__name:`close`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z`})]))}}),l=(0,e.defineComponent)({name:`Fold`,__name:`fold`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z`})]))}}),u=(0,e.defineComponent)({name:`FullScreen`,__name:`full-screen`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z`})]))}}),d=(0,e.defineComponent)({name:`Loading`,__name:`loading`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0`})]))}}),f=(0,e.defineComponent)({name:`Minus`,__name:`minus`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64`})]))}}),p=(0,e.defineComponent)({name:`MuteNotification`,__name:`mute-notification`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.13 320.13 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.55 319.55 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0`}),(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056z`})]))}}),m=(0,e.defineComponent)({name:`Mute`,__name:`mute`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`m412.16 592.128-45.44 45.44A191.23 191.23 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128m51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528zM314.88 779.968l46.144-46.08A223 223 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032M266.752 737.6A286.98 286.98 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288z`}),(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056z`})]))}}),h=(0,e.defineComponent)({name:`Refresh`,__name:`refresh`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z`})]))}}),g=(0,e.defineComponent)({name:`Search`,__name:`search`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704`})]))}}),_=(0,e.defineComponent)({name:`VideoCamera`,__name:`video-camera`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M704 768V256H128v512zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 71.552v176.896l128 64V359.552zM192 320h192v64H192z`})]))}}),v=(0,e.defineComponent)({name:`VideoPause`,__name:`video-pause`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32`})]))}}),y=(0,e.defineComponent)({name:`VideoPlay`,__name:`video-play`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z`})]))}}),b=(0,e.defineComponent)({name:`Warning`,__name:`warning`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1024 1024`},[(0,e.createElementVNode)(`path`,{fill:`currentColor`,d:`M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32`})]))}});function x(t,n){let r=(0,e.computed)(()=>t.fullscreen??!1);function i(){n(`update:fullscreen`,!r.value)}return{isFullscreen:r,toggleFullscreen:i}}function S(e,t,n){return Math.min(Math.max(e,t),n)}function C(t,n){let r=(0,e.ref)(!1),i=(0,e.ref)({}),a=()=>{};function o(){a(),a=()=>{}}function s(e){if(!t.resizable||e.button!==0)return;let s=e.currentTarget.closest(`.ctc-dialog`);if(!s)return;e.preventDefault(),o();let c=s.getBoundingClientRect(),l=t.minWidth??400,u=t.minHeight??240,d=Math.max(l,window.innerWidth-c.left-32),f=Math.max(u,window.innerHeight-c.top-32),p=e.clientX,m=e.clientY;function h(e){let t=Math.round(S(c.width+e.clientX-p,l,d)),a=Math.round(S(c.height+e.clientY-m,u,f));r.value=!0,i.value={height:`${a}px`,width:`${t}px`},n(`resize`,{width:t,height:a})}function g(){o()}window.addEventListener(`pointermove`,h),window.addEventListener(`pointerup`,g,{once:!0}),a=()=>{window.removeEventListener(`pointermove`,h),window.removeEventListener(`pointerup`,g)}}return(0,e.onBeforeUnmount)(o),{isResized:r,resizeStyle:i,startResize:s}}var w={class:`ctc-dialog__header-content`},T={class:`ctc-dialog__title`},E={class:`ctc-dialog__header-actions`},D=[`aria-label`,`title`],O={class:`ctc-dialog__content`},k=(0,e.defineComponent)({name:`CtcDialog`,inheritAttrs:!1,__name:`index`,props:{modelValue:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},resizable:{type:Boolean,default:!1},minWidth:{type:Number,default:400},minHeight:{type:Number,default:240},title:{type:String,default:``},width:{type:[String,Number],default:`640px`},alignCenter:Boolean,appendTo:{type:[String,Object],default:void 0},beforeClose:{type:Function,default:void 0},closeDelay:Number,closeOnClickModal:{type:Boolean,default:void 0},closeOnPressEscape:Boolean,contentFill:{type:Boolean,default:!1},destroyOnClose:Boolean,draggable:Boolean,lockScroll:Boolean,modal:{type:Boolean,default:!0},modalClass:{type:[String,Array,Object],default:void 0},openDelay:Number,overflow:Boolean,showClose:{type:Boolean,default:!0},top:String,trapFocus:Boolean,zIndex:Number},emits:[`update:modelValue`,`update:fullscreen`,`resize`,`open`,`opened`,`close`,`closed`],setup(n,{emit:i}){let a=n,o=i,s=(0,e.useAttrs)(),l=(0,e.useSlots)(),d=r(),{isFullscreen:p,toggleFullscreen:m}=x(a,o),{isResized:h,resizeStyle:g,startResize:_}=C(a,o),v=(0,e.computed)(()=>p.value?{}:g.value),y=(0,e.computed)(()=>h.value&&!p.value),b=(0,e.computed)(()=>a.closeOnClickModal??d.dialog?.closeOnClickModal??!1);function S(e){o(`update:modelValue`,e)}function k(){if(a.beforeClose){a.beforeClose(e=>{e||o(`update:modelValue`,!1)});return}o(`update:modelValue`,!1)}return(r,i)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDialog),(0,e.mergeProps)((0,e.unref)(s),{class:[`ctc-dialog`,{"ctc-dialog--content-fill":n.contentFill,"ctc-dialog--resizable":n.resizable,"ctc-dialog--resized":y.value}],style:v.value,"model-value":n.modelValue,fullscreen:(0,e.unref)(p),title:n.title,width:n.width,"align-center":n.alignCenter,"append-to":n.appendTo,"before-close":n.beforeClose,"close-delay":n.closeDelay,"close-on-click-modal":b.value,"close-on-press-escape":n.closeOnPressEscape,"destroy-on-close":n.destroyOnClose,draggable:n.draggable,"lock-scroll":n.lockScroll,modal:n.modal,"modal-class":n.modalClass,"open-delay":n.openDelay,overflow:n.overflow,"show-close":!1,top:n.top,"trap-focus":n.trapFocus,"z-index":n.zIndex,"header-class":`ctc-dialog__header`,"body-class":`ctc-dialog__body`,"footer-class":`ctc-dialog__footer`,"onUpdate:modelValue":S,onOpen:i[2]||=e=>o(`open`),onOpened:i[3]||=e=>o(`opened`),onClose:i[4]||=e=>o(`close`),onClosed:i[5]||=e=>o(`closed`)}),(0,e.createSlots)({header:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,w,[(0,e.renderSlot)(r.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,T,(0,e.toDisplayString)(n.title),1)])]),(0,e.createElementVNode)(`div`,E,[n.showFullscreen?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`ctc-dialog__fullscreen-toggle`,type:`button`,"aria-label":(0,e.unref)(p)?`退出全屏`:`全屏显示`,title:(0,e.unref)(p)?`退出全屏`:`全屏显示`,"data-ctc-fullscreen-toggle":``,onClick:i[0]||=(...t)=>(0,e.unref)(m)&&(0,e.unref)(m)(...t)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.unref)(p)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(u),{key:1}))]),_:1})],8,D)):(0,e.createCommentVNode)(``,!0),n.showClose?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:`ctc-dialog__close`,type:`button`,"aria-label":`关闭弹窗`,title:`关闭`,"data-ctc-close":``,onClick:k},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(c))]),_:1})])):(0,e.createCommentVNode)(``,!0)])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,O,[(0,e.renderSlot)(r.$slots,`default`)]),n.resizable&&!(0,e.unref)(p)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`ctc-dialog__resize-handle`,"aria-hidden":`true`,"data-ctc-resize-handle":``,onPointerdown:i[1]||=(...t)=>(0,e.unref)(_)&&(0,e.unref)(_)(...t)},null,32)):(0,e.createCommentVNode)(``,!0)]),_:2},[(0,e.unref)(l).footer?{name:`footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(r.$slots,`footer`)]),key:`0`}:void 0]),1040,[`class`,`style`,`model-value`,`fullscreen`,`title`,`width`,`align-center`,`append-to`,`before-close`,`close-delay`,`close-on-click-modal`,`close-on-press-escape`,`destroy-on-close`,`draggable`,`lock-scroll`,`modal`,`modal-class`,`open-delay`,`overflow`,`top`,`trap-focus`,`z-index`]))}}),A={class:`ctc-drawer__header-content`},j={class:`ctc-drawer__title`},M={class:`ctc-drawer__header-actions`},N=[`aria-label`,`title`],P={class:`ctc-drawer__content`},F={key:0,class:`ctc-drawer__footer`},I=(0,e.defineComponent)({name:`CtcDrawer`,inheritAttrs:!1,__name:`index`,props:{modelValue:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},title:{type:String,default:``},size:{type:[String,Number],default:`480px`},direction:{type:String,default:`rtl`},appendTo:{type:[String,Object],default:void 0},beforeClose:{type:Function,default:void 0},closeOnClickModal:Boolean,closeOnPressEscape:Boolean,destroyOnClose:Boolean,lockScroll:Boolean,modal:{type:Boolean,default:!0},modalClass:{type:[String,Array,Object],default:void 0},showClose:{type:Boolean,default:!0},zIndex:Number},emits:[`update:modelValue`,`update:fullscreen`,`open`,`opened`,`close`,`closed`],setup(n,{emit:r}){let i=n,a=r,o=(0,e.useAttrs)(),s=(0,e.useSlots)(),{isFullscreen:l,toggleFullscreen:d}=x(i,a),p=(0,e.computed)(()=>l.value?`100%`:i.size);function m(e){a(`update:modelValue`,e)}function h(){if(i.beforeClose){i.beforeClose(e=>{e||a(`update:modelValue`,!1)});return}a(`update:modelValue`,!1)}return(r,i)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDrawer),(0,e.mergeProps)((0,e.unref)(o),{class:[`ctc-drawer`,{"is-fullscreen":(0,e.unref)(l)}],"model-value":n.modelValue,"append-to":n.appendTo,"before-close":n.beforeClose,"close-on-click-modal":n.closeOnClickModal,"close-on-press-escape":n.closeOnPressEscape,"destroy-on-close":n.destroyOnClose,direction:n.direction,"lock-scroll":n.lockScroll,modal:n.modal,"modal-class":n.modalClass,"show-close":!1,size:p.value,"z-index":n.zIndex,"header-class":`ctc-drawer__header`,"body-class":`ctc-drawer__body`,"onUpdate:modelValue":m,onOpen:i[1]||=e=>a(`open`),onOpened:i[2]||=e=>a(`opened`),onClose:i[3]||=e=>a(`close`),onClosed:i[4]||=e=>a(`closed`)}),{header:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,A,[(0,e.renderSlot)(r.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,j,(0,e.toDisplayString)(n.title),1)])]),(0,e.createElementVNode)(`div`,M,[n.showFullscreen?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`ctc-drawer__fullscreen-toggle`,type:`button`,"aria-label":(0,e.unref)(l)?`退出全屏`:`全屏显示`,title:(0,e.unref)(l)?`退出全屏`:`全屏显示`,"data-ctc-fullscreen-toggle":``,onClick:i[0]||=(...t)=>(0,e.unref)(d)&&(0,e.unref)(d)(...t)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.unref)(l)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(f),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(u),{key:1}))]),_:1})],8,N)):(0,e.createCommentVNode)(``,!0),n.showClose?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:`ctc-drawer__close`,type:`button`,"aria-label":`关闭抽屉`,title:`关闭`,"data-ctc-close":``,onClick:h},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(c))]),_:1})])):(0,e.createCommentVNode)(``,!0)])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`ctc-drawer__layout`,{"has-footer":(0,e.unref)(s).footer}])},[(0,e.createElementVNode)(`div`,P,[(0,e.renderSlot)(r.$slots,`default`)]),(0,e.unref)(s).footer?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,F,[(0,e.renderSlot)(r.$slots,`footer`)])):(0,e.createCommentVNode)(``,!0)],2)]),_:3},16,[`class`,`model-value`,`append-to`,`before-close`,`close-on-click-modal`,`close-on-press-escape`,`destroy-on-close`,`direction`,`lock-scroll`,`modal`,`modal-class`,`size`,`z-index`]))}}),L=(0,e.defineComponent)({name:`CtcFlex`,__name:`index`,props:{direction:{default:`column`},fill:{type:Boolean,default:!1},grow:{default:1},justify:{default:`flex-start`},align:{default:`stretch`},gap:{default:0},scroll:{type:[Boolean,String],default:!1}},setup(t){let n=t,r=(0,e.computed)(()=>{let e={alignItems:n.align,flexDirection:n.direction,justifyContent:n.justify};return n.gap!==0&&n.gap!==``&&(e.gap=typeof n.gap==`number`?`${n.gap}px`:n.gap),n.fill&&(e.flex=n.grow),n.direction===`column`?e.minHeight=`0`:e.minWidth=`0`,n.scroll===`x`?(e.overflowX=`auto`,e.overflowY=`hidden`):n.scroll===`y`?(e.overflowX=`hidden`,e.overflowY=`auto`):n.scroll&&(e.overflow=`auto`),e});return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:`ctc-flex`,style:(0,e.normalizeStyle)(r.value)},[(0,e.renderSlot)(t.$slots,`default`)],4))}}),R=new Set([`selection`,`index`,`expand`]),z=new Map,B=(0,e.defineComponent)({name:`CtcTableColumn`,props:{column:{type:Object,required:!0},slots:{type:Object,required:!0}},setup(n){let r=e=>e.slot??e.prop,i=(e,t)=>{if(!t)return;let n=z.get(t);return n||(n=t.replace(/\[(?:'([^']*)'|"([^"]*)"|([^\]]+))\]/g,`.$1$2$3`).split(`.`).filter(Boolean),z.set(t,n)),n.reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)},a=(e,t)=>{let a=r(e),o=a?n.slots[a]:void 0;if(o)return o({...t,config:e});if(e.renderCell)return e.renderCell(t);if(e.formatter){let n=i(t.row,e.prop??e.property);return e.formatter(t.row,t.column,n,t.$index)}},o=(e,t)=>{let r=e.headerSlot?n.slots[e.headerSlot]:void 0;return r?r({...t,config:e}):e.renderHeader?.(t)},s=r=>{let{children:i,slot:c,headerSlot:l,renderCell:u,renderHeader:d,formatter:f,...p}=r,m=!!i?.length,h=c??r.prop,g=!!(h&&n.slots[h]||u||f),_=!!(l&&n.slots[l]||d),v=r.type?R.has(r.type):!1;return(0,e.h)(t.ElTableColumn,p,{default:m?()=>i?.map(s):g&&!v?e=>a(r,e):void 0,header:_?e=>o(r,e):void 0})};return()=>s(n.column)}});function V(e,t){return t.replace(/\[(?:'([^']*)'|"([^"]*)"|([^\]]+))\]/g,`.$1$2$3`).split(`.`).filter(Boolean).reduce((e,t)=>{if(!(typeof e!=`object`||!e))return e[t]},e)}function ee(e,t,n){return n.every(n=>Object.is(V(e,n),V(t,n)))}function H(e,t){let n=new Map(t.filter(e=>e.prop&&e.by.length>0).map(e=>[e.prop,e]));return({column:t,rowIndex:r})=>{if(t.type===`selection`||t.type===`index`||t.type===`expand`)return;let i=t.property,a=i?n.get(i):void 0;if(!a)return;let o=e[r];if(!o)return;if(r>0&&ee(e[r-1],o,a.by))return{rowspan:0,colspan:0};let s=1;for(;r+s<e.length&&ee(o,e[r+s],a.by);)s+=1;return{rowspan:s,colspan:1}}}var U={key:0,class:`ctc-table__pagination`},W=(0,e.defineComponent)({name:`CtcTable`,inheritAttrs:!1,__name:`index`,props:{autoHeight:{type:Boolean,default:!1},columns:{default:()=>[]},currentPage:{default:1},data:{default:()=>[]},height:{},loading:{type:Boolean,default:!1},merge:{default:()=>[]},pageSize:{},pagination:{type:Boolean,default:!1},paginationProps:{default:()=>({})},total:{default:0}},emits:[`update:currentPage`,`update:pageSize`,`current-change`,`page-change`,`page-size-change`,`prev-click`,`next-click`],setup(n,{expose:i,emit:a}){let o=t.ElTable,s=n,c=a,l=(0,e.useAttrs)(),u=(0,e.useSlots)(),d=r(),f=(0,e.useTemplateRef)(`tableRef`),p=new Set(`currentPage.pageSize.total.layout.pageSizes.pagerCount.background.disabled.hideOnSinglePage.small.prevText.nextText.prevIcon.nextIcon.popperClass.popperStyle.teleported.appendSizeTo.pageCount.defaultCurrentPage.defaultPageSize.onUpdate:currentPage.onUpdate:pageSize.onCurrentChange.onSizeChange.onPrevClick.onNextClick`.split(`.`)),m=(0,e.computed)(()=>{let e=Object.fromEntries(Object.entries(l).filter(([e])=>!p.has(e)&&e!==`height`&&e!==`spanMethod`&&e!==`span-method`)),t={};return!(`border`in l)&&d.table?.border!==void 0&&(t.border=d.table.border),!(`stripe`in l)&&d.table?.stripe!==void 0&&(t.stripe=d.table.stripe),{...t,...e}}),h=(0,e.computed)(()=>s.pageSize??d.table?.pageSize??10),g=(0,e.computed)(()=>({...d.table?.paginationProps,...s.paginationProps})),_=(0,e.computed)(()=>{if(typeof s.height==`string`||typeof s.height==`number`)return s.height}),v=(0,e.computed)(()=>s.autoHeight&&_.value===void 0),y=(0,e.computed)(()=>_.value??(v.value?`100%`:void 0)),b=(0,e.computed)(()=>{let e=l.spanMethod??l[`span-method`];if(typeof e==`function`)return e;if(s.merge.length!==0)return H(s.data,s.merge)});function x(e,t){c(`current-change`,e,t)}return i({elTableRef:f,clearSelection:()=>f.value?.clearSelection(),toggleRowSelection:(e,t)=>f.value?.toggleRowSelection(e,t),toggleAllSelection:()=>f.value?.toggleAllSelection(),toggleRowExpansion:(e,t)=>f.value?.toggleRowExpansion(e,t),setCurrentRow:e=>f.value?.setCurrentRow(e),clearSort:()=>f.value?.clearSort(),clearFilter:e=>f.value?.clearFilter(e),doLayout:()=>f.value?.doLayout(),sort:(e,t)=>f.value?.sort(e,t),scrollTo:(e,t)=>f.value?.scrollTo(e,t),setScrollTop:e=>f.value?.setScrollTop(e),setScrollLeft:e=>f.value?.setScrollLeft(e)}),(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`ctc-table`,{"ctc-table--auto-height":v.value}])},[(0,e.withDirectives)(((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(o),(0,e.mergeProps)({ref_key:`tableRef`,ref:f},m.value,{data:s.data,height:y.value,"span-method":b.value,onCurrentChange:x}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(s.columns,(t,n)=>((0,e.openBlock)(),(0,e.createBlock)(B,{key:t.prop??t.property??t.label??n,column:t,slots:(0,e.unref)(u)},null,8,[`column`,`slots`]))),128))]),_:2},[(0,e.unref)(u).empty?{name:`empty`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`empty`)]),key:`0`}:void 0,(0,e.unref)(u).append?{name:`append`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`append`)]),key:`1`}:void 0]),1040,[`data`,`height`,`span-method`])),[[(0,e.unref)(t.vLoading),s.loading]]),s.pagination?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,U,[(0,e.createVNode)((0,e.unref)(t.ElPagination),(0,e.mergeProps)(g.value,{"current-page":s.currentPage,"page-size":h.value,total:s.total,"onUpdate:currentPage":r[0]||=e=>c(`update:currentPage`,e),"onUpdate:pageSize":r[1]||=e=>c(`update:pageSize`,e),onCurrentChange:r[2]||=e=>c(`page-change`,e),onSizeChange:r[3]||=e=>c(`page-size-change`,e),onPrevClick:r[4]||=e=>c(`prev-click`,e),onNextClick:r[5]||=e=>c(`next-click`,e)}),null,16,[`current-page`,`page-size`,`total`]),(0,e.renderSlot)(n.$slots,`pagination`)])):(0,e.createCommentVNode)(``,!0)],2))}}),te={key:0,class:`ctc-report__bar-left`},ne={key:1,class:`ctc-report__bar-right`},G=(0,e.defineComponent)({__name:`ReportBar`,setup(t){return(t,n)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(L),{class:`ctc-report__bar`,direction:`row`,align:`center`,justify:`space-between`},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`default`,{},()=>[t.$slots.left?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,te,[(0,e.renderSlot)(t.$slots,`left`)])):(0,e.createCommentVNode)(``,!0),t.$slots.right?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ne,[(0,e.renderSlot)(t.$slots,`right`)])):(0,e.createCommentVNode)(``,!0)])]),_:3}))}}),re={key:0,class:`ctc-report__container-top`},ie={key:0,class:`ctc-report__table-bar`},ae={key:0,class:`ctc-report__title`},K={key:1,class:`ctc-report__before`},oe={key:2,class:`ctc-report__after`},se=(0,e.defineComponent)({name:`CtcReport`,inheritAttrs:!1,__name:`index`,props:{title:{default:``},autoHeight:{type:Boolean,default:!0},height:{},margin:{default:0},padding:{default:0},containerMargin:{default:0},containerPadding:{default:`var(--ctc-space-4)`}},emits:[`update:currentPage`,`update:pageSize`,`current-change`,`page-change`,`page-size-change`,`prev-click`,`next-click`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=(0,e.useSlots)(),s=(0,e.useAttrs)(),c=(0,e.useTemplateRef)(`tableRef`),l=new Set([`custom-tool-bar`,`tool-bar`,`tool-bar-left`,`tool-bar-right`,`search-bar`,`search-bar-left`,`search-bar-right`,`container-top`,`table-bar`,`table-title`,`table-info-left`,`table-info-right`,`default`,`table-empty`,`append-table`]);function u(e){return typeof e==`number`?`${e}px`:typeof e==`string`?e:e.map(e=>`${e}px`).join(` `)}let d=(0,e.computed)(()=>({margin:u(i.margin),padding:u(i.padding)})),f=(0,e.computed)(()=>({margin:u(i.containerMargin),padding:u(i.containerPadding)}));function p(){return Object.fromEntries(Object.entries(s).filter(([e])=>e!==`class`&&e!==`style`))}function m(){return Object.keys(o).filter(e=>!l.has(e)&&!(e===`empty`&&o[`table-empty`]))}function h(e,t){a(`current-change`,e,t)}return n({tableRef:c,clearSelection:()=>c.value?.clearSelection(),toggleRowSelection:(e,t)=>c.value?.toggleRowSelection(e,t),toggleAllSelection:()=>c.value?.toggleAllSelection(),toggleRowExpansion:(e,t)=>c.value?.toggleRowExpansion(e,t),setCurrentRow:e=>c.value?.setCurrentRow(e),clearSort:()=>c.value?.clearSort(),clearFilter:e=>c.value?.clearFilter(e),doLayout:()=>c.value?.doLayout(),sort:(e,t)=>c.value?.sort(e,t),scrollTo:(e,t)=>c.value?.scrollTo(e,t),setScrollTop:e=>c.value?.setScrollTop(e),setScrollLeft:e=>c.value?.setScrollLeft(e)}),(t,n)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(L),{class:(0,e.normalizeClass)([`ctc-report`,(0,e.unref)(s).class]),style:(0,e.normalizeStyle)((0,e.unref)(s).style)},{default:(0,e.withCtx)(()=>[o[`custom-tool-bar`]||o[`tool-bar`]||o[`tool-bar-left`]||o[`tool-bar-right`]||o[`search-bar`]||o[`search-bar-left`]||o[`search-bar-right`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`ctc-report__header`,style:(0,e.normalizeStyle)(d.value)},[o[`custom-tool-bar`]?(0,e.renderSlot)(t.$slots,`custom-tool-bar`,{},void 0,void 0,0):o[`tool-bar`]||o[`tool-bar-left`]||o[`tool-bar-right`]?((0,e.openBlock)(),(0,e.createBlock)(G,{key:1,class:`ctc-report__toolbar`},(0,e.createSlots)({_:2},[o[`tool-bar`]?{name:`default`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`tool-bar`)]),key:`0`}:void 0,o[`tool-bar-left`]?{name:`left`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`tool-bar-left`)]),key:`1`}:void 0,o[`tool-bar-right`]?{name:`right`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`tool-bar-right`)]),key:`2`}:void 0]),1024)):(0,e.createCommentVNode)(``,!0),o[`search-bar`]||o[`search-bar-left`]||o[`search-bar-right`]?((0,e.openBlock)(),(0,e.createBlock)(G,{key:2,class:`ctc-report__search`},(0,e.createSlots)({_:2},[o[`search-bar`]?{name:`default`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`search-bar`)]),key:`0`}:void 0,o[`search-bar-left`]?{name:`left`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`search-bar-left`)]),key:`1`}:void 0,o[`search-bar-right`]?{name:`right`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`search-bar-right`)]),key:`2`}:void 0]),1024)):(0,e.createCommentVNode)(``,!0)],4)):(0,e.createCommentVNode)(``,!0),(0,e.createVNode)((0,e.unref)(L),{class:`ctc-report__container`,fill:``,style:(0,e.normalizeStyle)(f.value)},{default:(0,e.withCtx)(()=>[o[`container-top`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,re,[(0,e.renderSlot)(t.$slots,`container-top`)])):(0,e.createCommentVNode)(``,!0),(0,e.createVNode)((0,e.unref)(L),{class:`ctc-report__body`,fill:``},{default:(0,e.withCtx)(()=>[o[`table-bar`]||o[`table-title`]||i.title||o[`table-info-left`]||o[`table-info-right`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ie,[o[`table-bar`]?(0,e.renderSlot)(t.$slots,`table-bar`,{},void 0,void 0,0):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[o[`table-title`]||i.title?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,ae,[(0,e.renderSlot)(t.$slots,`table-title`,{},()=>[(0,e.createElementVNode)(`h2`,null,(0,e.toDisplayString)(i.title),1)])])):(0,e.createCommentVNode)(``,!0),o[`table-info-left`]||o[`table-info-right`]?((0,e.openBlock)(),(0,e.createBlock)(G,{key:1,class:`ctc-report__info`},(0,e.createSlots)({_:2},[o[`table-info-left`]?{name:`left`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`table-info-left`)]),key:`0`}:void 0,o[`table-info-right`]?{name:`right`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`table-info-right`)]),key:`1`}:void 0]),1024)):(0,e.createCommentVNode)(``,!0)],64))])):(0,e.createCommentVNode)(``,!0),o.default?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,K,[(0,e.renderSlot)(t.$slots,`default`)])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`ctc-report__table`,{"ctc-report__table--auto-height":i.autoHeight&&i.height===void 0}])},[(0,e.createVNode)((0,e.unref)(W),(0,e.mergeProps)({ref_key:`tableRef`,ref:c},p(),{"auto-height":i.autoHeight,height:i.height,"onUpdate:currentPage":n[0]||=e=>a(`update:currentPage`,e),"onUpdate:pageSize":n[1]||=e=>a(`update:pageSize`,e),onCurrentChange:h,onPageChange:n[2]||=e=>a(`page-change`,e),onPageSizeChange:n[3]||=e=>a(`page-size-change`,e),onPrevClick:n[4]||=e=>a(`prev-click`,e),onNextClick:n[5]||=e=>a(`next-click`,e)}),(0,e.createSlots)({_:2},[o[`table-empty`]?{name:`empty`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`table-empty`)]),key:`0`}:void 0,(0,e.renderList)(m(),n=>({name:n,fn:(0,e.withCtx)(r=>[(0,e.renderSlot)(t.$slots,n,(0,e.normalizeProps)((0,e.guardReactiveProps)(r)))])}))]),1040,[`auto-height`,`height`])],2),o[`append-table`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,oe,[(0,e.renderSlot)(t.$slots,`append-table`)])):(0,e.createCommentVNode)(``,!0)]),_:3})]),_:3},8,[`style`])]),_:3},8,[`class`,`style`]))}});function q(e){return String(e).padStart(2,`0`)}function ce(e){return`${e.getFullYear()}-${q(e.getMonth()+1)}-${q(e.getDate())} ${q(e.getHours())}:${q(e.getMinutes())}:${q(e.getSeconds())}`}function le(){let e=new Date;return e.setHours(0,0,0,0),ce(e)}function J(e){let t=/(?:^|\s)(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?/.exec(e||``);return t?Number(t[1])+Number(t[2]??0)/60+Number(t[3]??0)/3600:0}function Y(e){let t=/^(\d{4})-(\d{2})-(\d{2})\s+(.*)$/.exec(e||``);if(t){let[,e,n,r,i]=t;return Date.UTC(Number(e),Number(n)-1,Number(r))/864e5*24+J(i??``)}return J(e)}function ue(e,t){let n=Y(t)-Y(e);return n>0?n:n<0?n+24:0}function de(e){let t=Math.max(0,Math.round(e*3600));return`${q(Math.floor(t/3600))}:${q(Math.floor(t%3600/60))}:${q(t%60)}`}function fe(e,t){let n=e||`00:00`,r=Math.max(0,Math.round((t-Y(n))*36e5));return n.split(` `)[0]?ce(new Date(new Date(n.replace(` `,`T`)).getTime()+r)):de((J(n)*36e5+r)%864e5/36e5)}function pe(){return Y(ce(new Date))}var me=2e4,he=6e4;function ge(e,t){let n=e,r=n?.response?.data??n,i=String(r?.msg??r?.message??``).trim();if(i)return/network error/i.test(i)?`网络异常,请检查网络后重试`:/timeout/i.test(i)?`请求超时,请重试`:i;let a=n?.response?.status;return typeof a==`number`&&a>=400?`${t}(HTTP ${a})`:t}var _e=null;function ve(){return _e||=import(`@brid9e/mpegts.js`).then(e=>e.default),_e}function ye(t){let n=(0,e.ref)(),r=(0,e.ref)(!1),i=(0,e.ref)(!1),a=(0,e.ref)(``),o=(0,e.ref)(!1),s=(0,e.ref)(!1),c=(0,e.ref)([]),l=(0,e.ref)(0),u=(0,e.ref)(``),d=null,f=null,p=null,m=0,h=(0,e.computed)(()=>c.value[l.value]);function g(){_(),p=setTimeout(()=>{p=null,r.value&&(r.value=!1,i.value=!0,a.value=`视频加载超时,请重试`)},me)}function _(){p&&=(clearTimeout(p),null)}function v(){f&&=(clearTimeout(f),null)}function y(){i.value=!1,a.value=``}function b(e,n){i.value=!0,a.value=e,r.value=!1,_(),t.onError?.({channel:t.channel(),error:n??Error(e),mode:t.mode()})}function x(e){r.value=!0,s.value=e,g()}function S(){if(v(),_(),d){let e=d;d=null,e.pause(),e.unload(),e.detachMediaElement(),e.destroy()}let e=n.value;e&&(e.removeAttribute(`src`),e.load())}async function C(t,i,a){let o=await ve();if(a!==m)return;if(!o.isSupported()){b(`当前浏览器不支持 flv 播放`);return}if(S(),n.value||await(0,e.nextTick)(),a!==m)return;if(!n.value){b(`视频容器尚未就绪`);return}let s=o.createPlayer({type:`flv`,url:t,isLive:i},i?{enableWorker:!1,enableStashBuffer:!1,stashInitialSize:128,lazyLoad:!1,autoCleanupSourceBuffer:!0,autoDisableAudioOnUnsupportedCodec:!0,autoDisableAudioTimeout:1e3}:{enableWorker:!1,lazyLoad:!1,seekType:`range`,enableStashBuffer:!0,stashInitialSize:8192,autoCleanupSourceBuffer:!0,autoCleanupMaxBackwardDuration:120,autoCleanupMinBackwardDuration:60,autoDisableAudioOnUnsupportedCodec:!0,autoDisableAudioTimeout:1e3});s.attachMediaElement(n.value),s.on(o.Events.ERROR,()=>{a===m&&b(`视频流播放中断,请重试`)}),s.load();let c=s.play();c&&typeof c.catch==`function`&&c.catch(()=>{}),d=s,r.value&&g()}async function w(e){let n=t.source?.();return n?.live?n.live(e):e.liveUrl?{url:e.liveUrl}:null}async function T(e,n,r){let i=t.source?.();return i?.playback?i.playback(e,{beginTime:n,endTime:r}):e.playbackUrl?{url:e.playbackUrl}:null}async function E(e=!0){let n=t.channel();if(!n)return;let r=++m;s.value=!1,e&&x(!1),y();try{let e=await w(n);if(r!==m||t.channel()?.id!==n.id)return;if(!e?.url){b(`未获取到拉流地址`);return}await C(e.url,!0,r),r===m&&k(e.expireTime,r)}catch(e){r===m&&b(ge(e,`视频加载失败,请切换其他通道`),e)}}async function D(e=!0,n=!1){let r=t.channel();if(!r)return;let i=++m;s.value=!1,n||(u.value=t.beginTime()),e&&x(!1),y();try{let e=await T(r,u.value||t.beginTime(),t.endTime());if(i!==m||t.channel()?.id!==r.id)return;let n=e?.segments??[];if(c.value=n,n.length>0)l.value=0,await C(n[0].url,!1,i);else if(e?.url)c.value=[],await C(e.url,!1,i);else{b(`该时段无录像`);return}i===m&&k(e?.expireTime,i)}catch(e){i===m&&b(ge(e,`录像获取失败,请切换其他时段`),e)}}async function O(e){if(t.mode()!==`playback`)return;let n=t.channel();if(!n)return;let i=++m;y(),x(!0);try{u.value=fe(t.beginTime(),e);let r=await T(n,u.value,t.endTime());if(i!==m||t.channel()?.id!==n.id)return;let a=r?.segments??[];if(c.value=a,a.length>0)l.value=0,await C(a[0].url,!1,i);else if(r?.url)c.value=[],await C(r.url,!1,i);else{b(`该时段无录像`);return}i===m&&k(r?.expireTime,i)}catch{r.value=!1,s.value=!1,_()}}function k(e,n){if(v(),!e)return;let r=new Date(e.replace(/-/g,`/`)).getTime()-Date.now()-he;r<=0||(f=setTimeout(()=>{f=null,!(n!==m||!t.channel())&&(t.mode()===`playback`?D(!1,!0):E(!1))},r))}function A(){r.value=!1,s.value=!1,_()}function j(){o.value=!1}function M(){o.value=!0}function N(){let e=n.value;!e||t.mode()!==`playback`||(e.paused?e.play().catch(()=>{}):e.pause())}function P(){if(t.mode()!==`playback`)return;let e=l.value+1;if(c.value.length>0&&e<c.value.length){l.value=e;let t=c.value[e];t&&C(t.url,!1,m);return}t.onPlaybackEnded?.({channel:t.channel(),mode:t.mode()})}function F(){if(t.mode()!==`playback`)return NaN;let e=n.value,r=h.value,i=Y(u.value||t.beginTime()||`00:00`);if(!e||!r)return NaN;let a=c.value.slice(0,l.value).reduce((e,t)=>e+ue(t.segmentBeginTime??``,t.segmentEndTime??``),0),o=e.currentTime>0?e.currentTime/3600:0;return i+a+o}function I(){r.value||!t.channel()||(t.mode()===`live`?E(!0):h.value?O(F()):D(!0,!0))}function L(){m++,S(),r.value=!1,i.value=!1,a.value=``,o.value=!1,s.value=!1,c.value=[],l.value=0,u.value=t.beginTime()}function R(){let e=t.channel();L(),e&&(t.mode()===`live`?E(!0):D(!0))}return(0,e.watch)([()=>t.channel()?.id,()=>t.mode()],()=>R(),{immediate:!0}),(0,e.watch)([()=>t.beginTime(),()=>t.endTime()],()=>{t.mode()===`playback`&&R()}),(0,e.onBeforeUnmount)(()=>{m++,S(),v()}),{clearWatchdog:_,cursorHour:F,currentSegment:h,destroy:S,error:i,errorText:a,isPaused:o,isSeekReload:s,loading:r,onEnded:P,onPause:M,onPlay:j,onPlaying:A,playbackBeginTime:u,reload:I,segmentIndex:l,segments:c,seekTo:O,togglePause:N,videoEl:n}}var be={none:()=>!0,alt:e=>e.altKey,ctrl:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};function X(e,t){return typeof window>`u`?t:getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}function xe(t){let n=(0,e.ref)(),r=(0,e.ref)(0),i=(0,e.ref)(!1),a=(0,e.ref)(-1),o=(0,e.ref)(0),s=null,c=null,l=!1,u=null,d=null,f=t.axisRange??(0,e.ref)({start:0,end:24}),p=(0,e.computed)(()=>f.value.start),m=(0,e.computed)(()=>f.value.end),h=(0,e.computed)(()=>Math.max(m.value-p.value,1e-4)),g=(0,e.computed)(()=>Math.min(m.value,t.availableEndHour?.()??m.value)),_=(0,e.computed)(()=>g.value<m.value-1e-6),v=(0,e.ref)(h.value),y=(0,e.ref)(p.value),b=(0,e.computed)(()=>Math.min(y.value+v.value,m.value)),x=[1/12,.25,.5,1,2,4,6,8,12,24,48],S=(0,e.computed)(()=>{let e=v.value/20;for(let t of x)if(t>=e)return t;return x[x.length-1]??48}),C=(0,e.computed)(()=>(o.value,{alarm:X(`--el-color-danger`,`#f56c6c`),forbidden:X(`--ctc-color-text-placeholder`,`#94969e`),hoverBox:X(`--ctc-color-surface-elevated`,`#282a32`),hoverHint:X(`--ctc-color-text-secondary`,`#b8bcc6`),hoverLinePlayed:X(`--ctc-color-on-primary`,`#ffffff`),hoverLineRest:X(`--ctc-color-primary`,`#1f5eff`),hoverText:X(`--ctc-color-text`,`#e5e7eb`),labelPlayed:X(`--ctc-color-on-primary`,`#ffffff`),labelRest:X(`--ctc-color-text-secondary`,`#b8bcc6`),played:X(`--ctc-color-primary`,`#1f5eff`),tickPlayed:X(`--ctc-color-on-primary`,`#ffffff`),tickRest:X(`--ctc-color-text-placeholder`,`#98a2b3`),track:X(`--ctc-color-fill`,`#2e3039`)}));function w(e,t,n,r=!1){let i=n-t,a=new Date(Math.floor(e/24)*864e5),o=`${String(a.getUTCMonth()+1).padStart(2,`0`)}-${String(a.getUTCDate()).padStart(2,`0`)}`;if(r){let t=Math.floor((e%24+24)%24*3600);return`${o} ${String(Math.floor(t/3600)).padStart(2,`0`)}:${String(Math.floor(t%3600/60)).padStart(2,`0`)}:${String(t%60).padStart(2,`0`)}`}let s=Math.round((e%24+24)%24*60),c=`${String(Math.floor(s/60)).padStart(2,`0`)}:${String(s%60).padStart(2,`0`)}`;return Math.floor(t/24)===Math.floor(n/24)?c:i>=168?o:`${o} ${c}`}let T=(0,e.computed)(()=>{let e=p.value+r.value*h.value,t=(e%24+24)%24*3600,n=`${String(Math.floor(t/3600)).padStart(2,`0`)}:${String(Math.floor(t%3600/60)).padStart(2,`0`)}:${String(Math.floor(t%60)).padStart(2,`0`)}`;if(Math.floor(p.value/24)!==Math.floor(m.value/24)){let t=new Date(Math.floor(e/24)*864e5);return`${String(t.getUTCMonth()+1).padStart(2,`0`)}-${String(t.getUTCDate()).padStart(2,`0`)} ${n}`}return n});function E(e){let t=Y(e);return/^\d{4}-\d{2}-\d{2}/.test(e)?t:Math.floor(p.value/24)*24+t}let D=(0,e.computed)(()=>{let e=p.value+r.value*h.value;return t.alarms.value.filter(t=>e>=E(t.startTime)&&e<=E(t.endTime))});function O(){if(t.getCursorHour){let e=t.getCursorHour();if(Number.isFinite(e))return e}let e=t.videoRef.value,n=e?.duration;return e&&n&&Number.isFinite(n)?p.value+e.currentTime/n*h.value:p.value+r.value*h.value}function k(){let e=v.value,t=p.value+r.value*h.value,n=y.value,i=Math.min(n+e,m.value),a=e*.15;t<n+a&&n>p.value?y.value=Math.max(p.value,t-a):t>i-a&&i<m.value&&(y.value=Math.min(m.value-e,t-e+a))}function A(){let e=t.videoRef.value,a=n.value;if(!e||!a||e.paused||i.value){c=null;return}r.value=Math.max(0,Math.min(1,(O()-p.value)/h.value)),k(),j(),c=requestAnimationFrame(A)}function j(){let e=n.value;if(!e)return;let o=e.getContext(`2d`);if(!o)return;let s=e.getBoundingClientRect();if(s.width<=0||s.height<=0)return;let c=window.devicePixelRatio||1;e.width=s.width*c,e.height=s.height*c,o.scale(c,c),o.clearRect(0,0,s.width,s.height);let l=o,u=C.value,d=s.width,f=s.height,m=f/2,v=y.value,x=b.value,T=p.value+r.value*h.value,D=e=>(e-v)/(x-v)*d,O=e=>Math.max(0,Math.min(d,e)),k=e=>Math.max(10,Math.min(d-10,e));l.fillStyle=u.track,l.fillRect(0,0,d,f);let A=O(D(p.value)),j=O(D(T));l.fillStyle=u.played,l.fillRect(A,0,Math.max(j-A,0),f);for(let e of t.alarms.value){let t=E(e.startTime),n=E(e.endTime);if(n<v||t>x)continue;let r=O(D(t)),i=O(D(n));i-r<1||(l.globalAlpha=.85,l.fillStyle=u.alarm,l.fillRect(r,0,i-r,f),l.globalAlpha=1)}l.lineWidth=1,l.textAlign=`left`,l.textBaseline=`middle`;let M=S.value,N=x-v,P=N>=168||Math.floor(v/24)===Math.floor(x/24)?34:52,F=Math.max(M,(P+8)/d*N),I=Math.max(1,Math.ceil(F/M));function L(e,t){l.strokeStyle=e,l.fillStyle=t,l.font=M<.5?`8px sans-serif`:`9px sans-serif`;let n=Math.ceil(v/M)*M,r=0;for(;n<=x+1e-6;){let e=D(n);e>=0&&e<=d&&(l.globalAlpha=.55,l.beginPath(),l.moveTo(e,0),l.lineTo(e,f/2),l.stroke(),l.globalAlpha=1,r%I===0&&l.fillText(w(n,v,x),k(e+4),m)),n+=M,r++}}function R(e,t,n,r){t-e<=0||(l.save(),l.beginPath(),l.rect(e,0,t-e,f),l.clip(),L(n,r),l.restore())}if(R(0,j,u.tickPlayed,u.labelPlayed),R(j,d,u.tickRest,u.labelRest),_.value&&g.value<x){let e=O(D(g.value)),t=O(D(x));t-e>=1&&(l.globalAlpha=.32,l.fillStyle=u.forbidden,l.fillRect(e,0,t-e,f),l.globalAlpha=1)}if(a.value>=0&&!i.value){let e=v+a.value*(x-v),t=D(e),n=t>=A&&t<=j,r=e>g.value+1e-6;l.strokeStyle=n?u.hoverLinePlayed:u.hoverLineRest,l.lineWidth=1,l.setLineDash([3,3]),l.beginPath(),l.moveTo(t,0),l.lineTo(t,f),l.stroke(),l.setLineDash([]),l.font=`bold 9px sans-serif`;let i=w(e,v,x,!0),o=`(还未生成回放)`,s=Math.max(l.measureText(i).width,l.measureText(o).width),c=k(t),d=s+10,p=r?28:14,h=m-p/2;l.globalAlpha=.95,l.fillStyle=u.hoverBox,l.fillRect(c-d/2,h,d,p),l.globalAlpha=1,l.fillStyle=u.hoverText,l.textAlign=`center`,l.textBaseline=`middle`,r?(l.fillText(i,c,m-7),l.fillStyle=u.hoverHint,l.fillText(o,c,m+7)):l.fillText(i,c,m)}}function M(e){let a=n.value;if(!a)return;let o=a.getBoundingClientRect(),s=Math.max(0,Math.min(1,(e.clientX-o.left)/o.width)),u=y.value+s*v.value,d=Math.min(u,g.value);if(r.value=Math.max(0,Math.min(1,(d-p.value)/h.value)),t.onSeekHour?l=!0:t.videoRef.value?.duration&&Number.isFinite(t.videoRef.value.duration)&&(t.videoRef.value.currentTime=r.value*t.videoRef.value.duration,t.mode.value===`playback`&&t.videoRef.value.paused&&t.videoRef.value.play()),k(),j(),!i.value){let e=t.videoRef.value;e&&!e.paused&&t.mode.value===`playback`&&!c&&A()}}function N(e){i.value=!0,M(e)}function P(e){i.value&&M(e)}function F(){if(i.value=!1,t.onSeekHour&&l){l=!1;let e=p.value+r.value*h.value;t.onSeekHour(Math.max(p.value,Math.min(g.value,e)))}let e=t.videoRef.value;e&&!e.paused&&t.mode.value===`playback`&&!c&&A()}function I(e){let t=n.value;if(!t)return;let r=t.getBoundingClientRect();a.value=Math.max(0,Math.min(1,(e.clientX-r.left)/r.width)),s&&cancelAnimationFrame(s),s=requestAnimationFrame(j)}function L(){a.value=-1,s&&cancelAnimationFrame(s),s=requestAnimationFrame(j)}function R(e){if(!be[t.zoomModifier?.()??`none`](e))return;e.preventDefault();let n=Math.abs(e.deltaY)>Math.abs(e.deltaX)?e.deltaY:e.deltaX;if(Math.abs(n)<1)return;let r=v.value,i=n>0?1.5:1/1.5,a=Math.max(.25,Math.min(h.value,r*i));a!==r&&(v.value=a)}function z(){!t.videoRef.value||i.value||(r.value=Math.max(0,Math.min(1,(O()-p.value)/h.value)),j())}function B(){t.mode.value===`playback`&&!c&&A()}function V(){a.value=-1,s&&=(cancelAnimationFrame(s),null),c&&=(cancelAnimationFrame(c),null),i.value=!1,l=!1,r.value=0,v.value=h.value,y.value=p.value,(0,e.nextTick)(j)}return(0,e.onMounted)(()=>{document.addEventListener(`mousemove`,P),document.addEventListener(`mouseup`,F),d=new MutationObserver(()=>{o.value++,(0,e.nextTick)(j)}),d.observe(document.documentElement,{attributeFilter:[`class`,`data-ctc-theme`,`data-ctc-theme-mode`,`style`],attributes:!0}),(0,e.nextTick)(j)}),(0,e.onUnmounted)(()=>{document.removeEventListener(`mousemove`,P),document.removeEventListener(`mouseup`,F),s&&cancelAnimationFrame(s),c&&cancelAnimationFrame(c),u?.disconnect(),d?.disconnect()}),(0,e.watch)(n,t=>{u?.disconnect(),!(!t||typeof ResizeObserver>`u`)&&(u=new ResizeObserver(()=>j()),u.observe(t),(0,e.nextTick)(j))},{immediate:!0}),(0,e.watch)(v,()=>{let t=p.value+r.value*h.value,n=v.value;y.value=Math.max(p.value,Math.min(m.value-n,t-n/2)),(0,e.nextTick)(j)}),(0,e.watch)(f,t=>{v.value=Math.max(.1,t.end-t.start),y.value=t.start,(0,e.nextTick)(j)}),(0,e.watch)(y,()=>(0,e.nextTick)(j)),(0,e.watch)(t.mode,()=>{t.mode.value===`playback`&&(0,e.nextTick)(j)}),{cursorPercent:r,cursorTimeText:T,currentAlarms:D,drawTimeline:j,onCanvasMouseLeave:L,onCanvasMouseMove:I,onTimelineMouseDown:N,onTimelineWheel:R,onVideoTimeUpdate:z,resetTimeline:V,startSync:B,timelineCanvas:n}}var Z={class:`ctc-video__sidebar`},Q={class:`ctc-video__sidebar-toolbar`},Se=[`onClick`],$={class:`ctc-video__channel-label`},Ce={key:0,class:`ctc-video__empty`},we=(0,e.defineComponent)({name:`CtcVideoChannelNav`,__name:`VideoChannelNav`,props:{activeChannel:{},channels:{},emptyText:{},tree:{}},emits:[`select`,`toggle-collapsed`],setup(n,{expose:r,emit:o}){let s=n,c=o,u=(0,e.ref)(``),d=(0,e.ref)(new Set);function f(e,t=new Set){for(let n of e)n.children?.length&&(t.add(n.key),f(n.children,t));return t}(0,e.watch)(()=>s.tree,e=>{d.value=e?.length?f(e):new Set},{immediate:!0});let p=(0,e.computed)(()=>{let e=s.tree;if(!e?.length)return[];let t=u.value.trim().toLowerCase();if(!t)return e;function n(e){return e.flatMap(e=>{let r=e.children?n(e.children):[];return e.label.toLowerCase().includes(t)||r.length>0?[{...e,children:r}]:[]})}return n(e)}),m=(0,e.computed)(()=>{if(!s.tree?.length){let e=u.value.trim().toLowerCase();return s.channels.filter(t=>!e||t.name.toLowerCase().includes(e)).map(e=>({channel:e,depth:0,hasChildren:!1,key:e.id,label:e.name,online:e.online,open:!1,value:e.id}))}let e=[];function t(n,r){for(let i of n){let n=!!i.children?.length,a=n&&d.value.has(i.key);e.push({channel:i.value?s.channels.find(e=>e.id===i.value):void 0,depth:r,hasChildren:n,key:i.key,label:i.label,node:i,online:i.online,open:a,value:i.value}),n&&a&&t(i.children,r+1)}}return t(p.value,0),e});function h(e){let t=new Set(d.value);t.has(e)?t.delete(e):t.add(e),d.value=t}function v(e){if(e.hasChildren){h(e.key);return}e.value&&c(`select`,e.value)}return r({keyword:u}),(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,Z,[(0,e.createElementVNode)(`div`,Q,[(0,e.createVNode)((0,e.unref)(t.ElInput),{modelValue:u.value,"onUpdate:modelValue":r[0]||=e=>u.value=e,size:`small`,clearable:``,placeholder:`搜索通道`,class:`ctc-video__search`},{prefix:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(g))]),_:1})]),_:1},8,[`modelValue`]),(0,e.createElementVNode)(`button`,{type:`button`,class:`ctc-video__icon-button`,title:`收起通道列表`,onClick:r[1]||=e=>c(`toggle-collapsed`)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l))]),_:1})])]),(0,e.createVNode)((0,e.unref)(t.ElScrollbar),{class:`ctc-video__sidebar-body`},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(m.value,r=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:r.key,type:`button`,class:(0,e.normalizeClass)([`ctc-video__channel`,{"is-active":r.value===s.activeChannel,"is-parent":r.hasChildren}]),style:(0,e.normalizeStyle)({paddingLeft:`calc(var(--ctc-video-space) + ${r.depth} * var(--ctc-video-tree-indent))`}),onClick:e=>v(r)},[(0,e.renderSlot)(n.$slots,`channel`,{channel:r.channel,node:r.node,row:r,active:r.value===s.activeChannel,depth:r.depth,online:r.online,hasChildren:r.hasChildren},()=>[r.hasChildren?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElIcon),{key:0,class:`ctc-video__channel-caret`},{default:(0,e.withCtx)(()=>[r.open?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(a),{key:1}))]),_:2},1024)):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElIcon),{key:1,class:`ctc-video__channel-icon`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(_))]),_:1})),(0,e.createElementVNode)(`span`,$,(0,e.toDisplayString)(r.label),1),r.online===void 0?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:2,class:(0,e.normalizeClass)([`ctc-video__dot`,{"is-online":r.online}])},null,2))])],14,Se))),128)),m.value.length===0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ce,(0,e.toDisplayString)(s.emptyText),1)):(0,e.createCommentVNode)(``,!0)]),_:3})]))}}),Te={class:`ctc-video__toolbar`},Ee={key:0,class:`ctc-video__record-timer`},De={type:`button`,class:`ctc-video__tool-button ctc-video__rate-button`,title:`播放速度`},Oe=[`onClick`],ke={type:`button`,class:`ctc-video__tool-button`,disabled:``},Ae=150,je=5,Me=(0,e.defineComponent)({name:`CtcVideoToolbar`,__name:`VideoToolbar`,props:{channelName:{},fullscreenTarget:{},mode:{},video:{}},emits:[`notice`,`reload`],setup(n,{emit:r}){let i=n,a=r,c=[.5,1,1.5,2,4],l=(0,e.ref)(0),d=(0,e.ref)(50),f=(0,e.ref)(!1),g=(0,e.ref)(!1),y=(0,e.ref)(1),b=(0,e.ref)(!1),x=(0,e.ref)(!1),S=(0,e.ref)(0),C=null,w=null,T=null,E=null,D=[],O=0,k=`video/webm`,A=(0,e.computed)(()=>l.value===0?p:o),j=(0,e.computed)(()=>{let e=Math.floor(S.value/60);return`${String(e).padStart(2,`0`)}:${String(S.value%60).padStart(2,`0`)}`});function M(e){a(`notice`,e)}function N(e){e.volume=l.value/100,e.muted=l.value===0}function P(e){e.playbackRate=y.value}function F(){C&&clearTimeout(C),f.value=!0}function I(){C&&clearTimeout(C),C=setTimeout(()=>{f.value=!1,C=null},Ae)}function L(){l.value>0?(d.value=l.value,l.value=0):l.value=d.value||50}function R(){w&&clearTimeout(w),g.value=!0}function z(){w&&clearTimeout(w),w=setTimeout(()=>{g.value=!1,w=null},Ae)}function B(e){y.value=e,g.value=!1,i.video&&P(i.video)}function V(e,t){let n=i.channelName||`视频`,r=new Date().toISOString().replace(/[.:]/g,`-`),a=URL.createObjectURL(e),o=document.createElement(`a`);o.href=a,o.download=`${n}_${r}.${t}`,o.click(),URL.revokeObjectURL(a)}function ee(){let e=i.video;if(!e?.videoWidth){M(`视频未加载,无法截屏`);return}try{let t=document.createElement(`canvas`);t.width=e.videoWidth,t.height=e.videoHeight,t.getContext(`2d`)?.drawImage(e,0,0,t.width,t.height),t.toBlob(e=>{e?V(e,`png`):M(`截屏失败`)},`image/png`)}catch{M(`截屏失败`)}}function H(){return[`video/mp4;codecs=avc1`,`video/mp4;codecs=h264`,`video/mp4`,`video/webm;codecs=vp9`,`video/webm;codecs=vp8`,`video/webm`].find(e=>MediaRecorder.isTypeSupported?.(e))??`video/webm`}function U(){let e=i.video,t=e?.captureStream?.bind(e);if(!e||!t||typeof MediaRecorder>`u`){M(`当前浏览器不支持录屏`);return}try{D=[],k=H(),E=new MediaRecorder(t(),{mimeType:k}),E.addEventListener(`dataavailable`,e=>{e.data.size>0&&D.push(e.data)}),E.addEventListener(`stop`,()=>{if(Date.now()-O<je*1e3)M(`录制时长不足 ${je} 秒,已取消保存`);else if(D.length>0){let e=k.startsWith(`video/mp4`)?`mp4`:`webm`;V(new Blob(D,{type:k}),e)}D=[],E=null}),E.start(),O=Date.now(),S.value=0,T=setInterval(()=>{S.value=Math.floor((Date.now()-O)/1e3)},1e3),x.value=!0}catch{M(`录屏启动失败`)}}function W(){E?.stop(),x.value=!1,T&&=(clearInterval(T),null)}function te(){x.value?W():U()}function ne(){b.value=document.fullscreenElement===i.fullscreenTarget}function G(){let e=i.fullscreenTarget??i.video?.parentElement;e&&(document.fullscreenElement?document.exitFullscreen():e.requestFullscreen())}return(0,e.watch)(l,()=>{i.video&&N(i.video)}),(0,e.watch)(()=>i.video,e=>{e&&(N(e),P(e))},{immediate:!0}),(0,e.watch)(()=>i.channelName,()=>{y.value=1,i.video&&P(i.video),x.value&&W()}),(0,e.onMounted)(()=>{document.addEventListener(`fullscreenchange`,ne)}),(0,e.onBeforeUnmount)(()=>{document.removeEventListener(`fullscreenchange`,ne),x.value&&W(),C&&clearTimeout(C),w&&clearTimeout(w)}),(r,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Te,[(0,e.createElementVNode)(`div`,{class:`ctc-video__tool`,onMouseenter:F,onMouseleave:I},[(0,e.createVNode)((0,e.unref)(t.ElTooltip),{content:l.value===0?`取消静音`:`静音`,placement:`top`,"show-arrow":!1,teleported:!1,disabled:f.value},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`ctc-video__tool-button`,onClick:L},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(A.value)))]),_:1})])]),_:1},8,[`content`,`disabled`]),(0,e.withDirectives)((0,e.createElementVNode)(`div`,{class:`ctc-video__popup`,onMouseenter:F,onMouseleave:I},[(0,e.createVNode)((0,e.unref)(t.ElSlider),{modelValue:l.value,"onUpdate:modelValue":i[0]||=e=>l.value=e,vertical:``,height:`80px`,"show-tooltip":!1},null,8,[`modelValue`])],544),[[e.vShow,f.value]])],32),(0,e.createVNode)((0,e.unref)(t.ElTooltip),{content:`截屏`,placement:`top`,"show-arrow":!1,teleported:!1},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`ctc-video__tool-button`,onClick:ee},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(s))]),_:1})])]),_:1}),(0,e.createVNode)((0,e.unref)(t.ElTooltip),{content:x.value?`停止录屏`:`录屏`,placement:`top`,"show-arrow":!1,teleported:!1},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`ctc-video__tool-button`,{"is-recording":x.value}]),onClick:te},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[x.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(v),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(_),{key:1}))]),_:1})],2)]),_:1},8,[`content`]),x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Ee,(0,e.toDisplayString)(j.value),1)):(0,e.createCommentVNode)(``,!0),n.mode===`playback`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,class:`ctc-video__tool`,onMouseenter:R,onMouseleave:z},[(0,e.createElementVNode)(`button`,De,(0,e.toDisplayString)(y.value)+`x `,1),(0,e.withDirectives)((0,e.createElementVNode)(`div`,{class:`ctc-video__popup ctc-video__rate-popup`,onMouseenter:R,onMouseleave:z},[((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(c,t=>(0,e.createElementVNode)(`button`,{key:t,type:`button`,class:(0,e.normalizeClass)([`ctc-video__rate-option`,{"is-active":t===y.value}]),onClick:e=>B(t)},(0,e.toDisplayString)(t)+`x `,11,Oe)),64))],544),[[e.vShow,g.value]])],32)):(0,e.createCommentVNode)(``,!0),n.mode===`live`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTooltip),{key:2,content:`语音喊话(暂未开放)`,placement:`top`,"show-arrow":!1,teleported:!1},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,ke,[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(m))]),_:1})])]),_:1})):(0,e.createCommentVNode)(``,!0),(0,e.createVNode)((0,e.unref)(t.ElTooltip),{content:b.value?`退出全屏`:`全屏`,placement:`top`,"show-arrow":!1,teleported:!1},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`ctc-video__tool-button`,onClick:G},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(u))]),_:1})])]),_:1},8,[`content`]),(0,e.createVNode)((0,e.unref)(t.ElTooltip),{content:`刷新`,placement:`top`,"show-arrow":!1,teleported:!1},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`ctc-video__tool-button`,onClick:i[1]||=e=>a(`reload`)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(h))]),_:1})])]),_:1})]))}}),Ne={key:0,class:`ctc-video__header`},Pe={class:`ctc-video__header-title`},Fe={key:2,class:`ctc-video__header-name`},Ie={key:2,class:`ctc-video__meta`},Le={class:`ctc-video__meta-label`},Re=[`title`],ze={class:`ctc-video__header-extra`},Be={class:`ctc-video__body`},Ve={class:`ctc-video__stage`},He={class:`ctc-video__screen`},Ue=[`autoplay`,`loop`,`muted`],We={key:0,class:`ctc-video__overlay`},Ge={key:1,class:`ctc-video__hint`},Ke={key:2,class:`ctc-video__rec`},qe={key:3,class:`ctc-video__stage-tip`},Je={class:`ctc-video__stage-empty`},Ye=640,Xe=480,Ze=(0,e.defineComponent)({name:`CtcVideoPlayer`,__name:`index`,props:{activeChannel:{default:``},alwaysShowSidebar:{type:Boolean,default:!1},alarms:{default:()=>[]},beginTime:{default:``},channels:{default:()=>[]},compact:{type:Boolean,default:!1},emptyText:{default:`暂无视频通道`},endTime:{default:``},headerFields:{default:()=>[`outlet`,`mp`,`channel`,`location`]},mode:{default:`live`},showHeader:{type:Boolean,default:!1},showModeSwitch:{type:Boolean,default:!1},showSidebar:{type:Boolean,default:!0},showTimeline:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},source:{},timelineZoomModifier:{default:`none`},tree:{}},emits:[`update:activeChannel`,`update:beginTime`,`update:endTime`,`update:mode`,`channel-change`,`playback-ended`,`seek`,`source-error`],setup(n,{expose:r,emit:i}){let o=n,s=i,c=(0,e.useSlots)(),l=(0,e.ref)(o.activeChannel);(0,e.watch)(()=>o.activeChannel,e=>{e!==l.value&&(l.value=e)}),(0,e.watch)(l,e=>s(`update:activeChannel`,e)),(0,e.watch)(()=>o.channels,e=>{e.length&&(e.some(e=>e.id===l.value)||(l.value=e[0].id))},{immediate:!0});let u=(0,e.computed)(()=>o.channels.find(e=>e.id===l.value));(0,e.watch)(u,e=>s(`channel-change`,e));let f=(0,e.ref)(o.mode);(0,e.watch)(()=>o.mode,e=>{e!==f.value&&(f.value=e)}),(0,e.watch)(f,e=>s(`update:mode`,e));let p=[{label:`实时监控`,value:`live`},{label:`历史回放`,value:`playback`}],m=(0,e.computed)({get:()=>f.value,set:e=>{f.value=e===`playback`?`playback`:`live`}}),h=(0,e.ref)(o.beginTime||(o.showModeSwitch?le():``)),g=(0,e.ref)(o.endTime||(o.showModeSwitch?ce(new Date):``));(0,e.watch)([()=>o.beginTime,()=>o.endTime],([e,t])=>{h.value=e,g.value=t}),(0,e.watch)(h,e=>s(`update:beginTime`,e)),(0,e.watch)(g,e=>s(`update:endTime`,e));let v=(0,e.computed)({get:()=>h.value&&g.value?[h.value.slice(0,10),g.value.slice(0,10)]:null,set:e=>{e&&(h.value=`${e[0]} 00:00:00`,g.value=`${e[1]} 23:59:59`)}});function x(e){let t=null;return e instanceof Date?t=e:typeof e?.toDate==`function`&&(t=e.toDate()),t&&!Number.isNaN(t.getTime())?t:null}function S(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()}function C(e){let t=x(e);return t?S(t)>S(new Date):!1}let w={channel:`通道`,location:`位置`,mp:`监测点`,outlet:`排放口`},T=(0,e.computed)(()=>o.headerFields.flatMap(e=>{let t=u.value,n=e===`channel`?t?.name:e===`location`?t?.location:e===`mp`?t?.mpName:t?.outletName;return n?[{label:w[e],value:n}]:[]})),E=(0,e.computed)(()=>o.showModeSwitch&&o.channels.length>0),D=(0,e.computed)(()=>o.showHeader||E.value||!!c.title||!!c.extra||!!c.header),O=(0,e.computed)(()=>o.showSidebar&&(o.channels.length>1||o.alwaysShowSidebar||!!o.tree?.length)),k=(0,e.ref)(!1),A=(0,e.ref)(!1),j=(0,e.computed)(()=>O.value&&!k.value),M=!1,N=0,P=0,F=null;function I(){k.value=!0}function L(){if(!N||!P)return;let e=P<Ye||N<Xe;e!==A.value&&(A.value=e,e?k.value||=(M=!0,!0):M&&(M=!1,k.value=!1))}function R(){P=window.innerWidth,L()}let z=(0,e.ref)({start:Y(h.value||`00:00`),end:Y(g.value||`24:00`)});(0,e.watch)([h,g],()=>{z.value={start:Y(h.value||`00:00`),end:Y(g.value||`24:00`)}});let{cursorHour:B,error:V,errorText:ee,isSeekReload:H,loading:U,onEnded:W,onPause:te,onPlay:ne,onPlaying:G,reload:re,seekTo:ie,togglePause:ae,videoEl:K}=ye({beginTime:()=>h.value,channel:()=>u.value,endTime:()=>g.value,mode:()=>f.value,onError:e=>s(`source-error`,e),onPlaybackEnded:e=>s(`playback-ended`,e),source:()=>o.source}),oe=(0,e.ref)();function se(){let e=oe.value,t=K.value;if(e){if(!t?.videoWidth){e.width=0,e.height=0;return}e.width=t.videoWidth,e.height=t.videoHeight,e.getContext(`2d`)?.drawImage(t,0,0,e.width,e.height)}}function q(e){se(),ie(e),s(`seek`,{hour:e,beginTime:fe(h.value||`00:00`,e)})}let{drawTimeline:J,onCanvasMouseLeave:ue,onCanvasMouseMove:de,onTimelineMouseDown:me,onTimelineWheel:he,onVideoTimeUpdate:ge,resetTimeline:_e,startSync:ve,timelineCanvas:be}=xe({alarms:(0,e.computed)(()=>o.alarms),axisRange:z,availableEndHour:pe,getCursorHour:B,mode:f,onSeekHour:q,videoRef:K,zoomModifier:()=>o.timelineZoomModifier});(0,e.watch)([l,f],()=>{_e(),(0,e.nextTick)(J)}),(0,e.watch)(be,t=>{t&&(0,e.nextTick)(J)});let X=(0,e.computed)(()=>ee.value||(f.value===`playback`?`该时段无录像`:`视频加载失败,请切换其他通道`)),Z=(0,e.ref)(``),Q=null;function Se(e){Z.value=e,Q&&clearTimeout(Q),Q=setTimeout(()=>{Z.value=``,Q=null},2e3)}let $=(0,e.ref)(),Ce=new Set([`A`,`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`]);function Te(e){if(e.code!==`Space`||e.repeat||f.value!==`playback`||U.value||V.value)return;let t=e.target;t?.tagName&&(t.isContentEditable||Ce.has(t.tagName)||$.value?.getClientRects().length&&(e.preventDefault(),ae()))}function Ee(){ne(),f.value===`playback`&&ve()}function De(){G(),f.value===`playback`&&(0,e.nextTick)(ve)}function Oe(){f.value!==`playback`||U.value||V.value||ae()}function ke(e){o.channels.some(t=>t.id===e)&&(l.value=e),A.value&&I()}return(0,e.onMounted)(()=>{document.addEventListener(`keydown`,Te);let e=$.value;e&&(P=window.innerWidth,N=e.clientWidth,L(),window.addEventListener(`resize`,R),!(typeof ResizeObserver>`u`)&&(F=new ResizeObserver(t=>{N=t[0]?.contentRect.width??e.clientWidth,L()}),F.observe(e)))}),(0,e.onBeforeUnmount)(()=>{document.removeEventListener(`keydown`,Te),window.removeEventListener(`resize`,R),Q&&clearTimeout(Q),F?.disconnect(),F=null}),r({reload:re,seek:q,videoRef:K}),(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`ctc-video`,{"is-compact":o.compact,"is-narrow":A.value}])},[(0,e.createElementVNode)(`div`,{ref_key:`panelRef`,ref:$,class:`ctc-video__panel`},[D.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ne,[(0,e.unref)(c).header?(0,e.renderSlot)(n.$slots,`header`,{channel:u.value,mode:f.value},void 0,void 0,0):((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[(0,e.createElementVNode)(`div`,Pe,[(0,e.renderSlot)(n.$slots,`title`,{},()=>[f.value===`playback`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTag),{key:0,type:`primary`,size:`small`,effect:`plain`,"disable-transitions":``},{default:(0,e.withCtx)(()=>[...r[11]||=[(0,e.createTextVNode)(` 回放 `,-1)]]),_:1})):u.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTag),{key:1,type:u.value.online?`success`:`danger`,size:`small`,effect:`plain`,"disable-transitions":``},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(u.value.online?`在线`:`离线`),1)]),_:1},8,[`type`])):(0,e.createCommentVNode)(``,!0),u.value?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Fe,(0,e.toDisplayString)(u.value.name),1)):(0,e.createCommentVNode)(``,!0)])]),E.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElSegmented),{key:0,modelValue:m.value,"onUpdate:modelValue":r[0]||=e=>m.value=e,options:p,size:`small`,class:`ctc-video__mode-switch`},null,8,[`modelValue`])):(0,e.createCommentVNode)(``,!0),E.value&&f.value===`playback`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDatePicker),{key:1,modelValue:v.value,"onUpdate:modelValue":r[1]||=e=>v.value=e,type:`daterange`,size:`small`,"value-format":`YYYY-MM-DD`,"range-separator":`至`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`,clearable:!1,"disabled-date":C,class:`ctc-video__range`},null,8,[`modelValue`])):(0,e.createCommentVNode)(``,!0),T.value.length>0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ie,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(T.value,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:t.label,class:`ctc-video__meta-item`},[(0,e.createElementVNode)(`span`,Le,(0,e.toDisplayString)(t.label)+`:`,1),(0,e.createElementVNode)(`span`,{class:`ctc-video__meta-value`,title:t.value},(0,e.toDisplayString)(t.value),9,Re)]))),128))])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,ze,[(0,e.renderSlot)(n.$slots,`extra`)])],64))])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Be,[A.value&&j.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:`ctc-video__sidebar-backdrop`,onClick:I})):(0,e.createCommentVNode)(``,!0),O.value&&!k.value?((0,e.openBlock)(),(0,e.createBlock)(we,{key:1,"active-channel":l.value,channels:o.channels,"empty-text":o.emptyText,tree:o.tree,onSelect:ke,onToggleCollapsed:r[2]||=e=>k.value=!0},(0,e.createSlots)({_:2},[(0,e.unref)(c).channel?{name:`channel`,fn:(0,e.withCtx)(t=>[(0,e.renderSlot)(n.$slots,`channel`,(0,e.normalizeProps)((0,e.guardReactiveProps)(t)))]),key:`0`}:void 0]),1032,[`active-channel`,`channels`,`empty-text`,`tree`])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Ve,[O.value&&k.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`ctc-video__sidebar-reopen`,title:`展开通道列表`,onClick:r[3]||=e=>k.value=!1},[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(a))]),_:1})])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,He,[u.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:0},[((0,e.openBlock)(),(0,e.createElementBlock)(`video`,{ref_key:`videoEl`,ref:K,key:u.value.id,class:`ctc-video__video`,autoplay:f.value!==`playback`,loop:f.value!==`playback`,muted:f.value!==`playback`,playsinline:``,preload:`metadata`,onClick:Oe,onEnded:r[4]||=(...t)=>(0,e.unref)(W)&&(0,e.unref)(W)(...t),onPause:r[5]||=(...t)=>(0,e.unref)(te)&&(0,e.unref)(te)(...t),onPlay:Ee,onPlaying:De,onTimeupdate:r[6]||=(...t)=>(0,e.unref)(ge)&&(0,e.unref)(ge)(...t)},null,40,Ue)),(0,e.createElementVNode)(`canvas`,{ref_key:`seekFrameCanvas`,ref:oe,class:(0,e.normalizeClass)([`ctc-video__video ctc-video__seek-frame`,{"is-visible":(0,e.unref)(H)&&(0,e.unref)(U)}])},null,2),(0,e.unref)(U)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,We,[(0,e.createVNode)((0,e.unref)(t.ElIcon),{class:`is-loading`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(d))]),_:1}),r[12]||=(0,e.createTextVNode)(` 正在加载视频... `,-1)])):(0,e.unref)(V)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ge,[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(b))]),_:1}),(0,e.createTextVNode)(` `+(0,e.toDisplayString)(X.value),1)])):(0,e.createCommentVNode)(``,!0),f.value===`live`&&!(0,e.unref)(U)&&!(0,e.unref)(V)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ke,` REC `)):(0,e.createCommentVNode)(``,!0),Z.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,qe,(0,e.toDisplayString)(Z.value),1)):(0,e.createCommentVNode)(``,!0),o.showToolbar&&!(0,e.unref)(U)&&!(0,e.unref)(V)?((0,e.openBlock)(),(0,e.createBlock)(Me,{key:4,"channel-name":u.value.name,"fullscreen-target":$.value,mode:f.value,video:(0,e.unref)(K),onNotice:Se,onReload:(0,e.unref)(re)},null,8,[`channel-name`,`fullscreen-target`,`mode`,`video`,`onReload`])):(0,e.createCommentVNode)(``,!0)],64)):(0,e.renderSlot)(n.$slots,`empty`,{},()=>[(0,e.createElementVNode)(`div`,Je,[(0,e.createVNode)((0,e.unref)(t.ElIcon),null,{default:(0,e.withCtx)(()=>[f.value===`live`?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(_),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(y),{key:1}))]),_:1}),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(o.emptyText),1)])],void 0,1)]),o.showTimeline&&f.value===`playback`&&u.value&&!(0,e.unref)(V)&&(!(0,e.unref)(U)||(0,e.unref)(H))?((0,e.openBlock)(),(0,e.createElementBlock)(`canvas`,{key:1,ref_key:`timelineCanvas`,ref:be,class:`ctc-video__timeline`,onMousedown:r[7]||=(...t)=>(0,e.unref)(me)&&(0,e.unref)(me)(...t),onMousemove:r[8]||=(...t)=>(0,e.unref)(de)&&(0,e.unref)(de)(...t),onMouseleave:r[9]||=(...t)=>(0,e.unref)(ue)&&(0,e.unref)(ue)(...t),onWheel:r[10]||=(...t)=>(0,e.unref)(he)&&(0,e.unref)(he)(...t)},null,544)):(0,e.createCommentVNode)(``,!0)])])],512)],2))}}),Qe=[k,I,L,W,se,Ze],$e={install(e,t={}){e.provide(n,t),Qe.forEach(t=>{e.component(t.name??``,t)})}};exports.CtcComponentsUi=$e,exports.default=$e,exports.CtcDialog=k,exports.CtcDrawer=I,exports.CtcFlex=L,exports.CtcReport=se,exports.CtcTable=W,exports.CtcVideoPlayer=Ze;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,14 @@ import { ComponentOptionsMixin } from 'vue';
|
|
|
2
2
|
import { ComponentProvideOptions } from 'vue';
|
|
3
3
|
import { DefineComponent } from 'vue';
|
|
4
4
|
import { EmitsOptions } from 'vue';
|
|
5
|
+
import { EmitsToProps } from 'vue';
|
|
5
6
|
import { ExtractPropTypes } from 'vue';
|
|
6
7
|
import { Plugin as Plugin_2 } from 'vue';
|
|
7
8
|
import { PropType } from 'vue';
|
|
8
9
|
import { PublicProps } from 'vue';
|
|
10
|
+
import { Ref } from 'vue';
|
|
11
|
+
import { Slot } from 'vue';
|
|
12
|
+
import { SlotsType } from 'vue';
|
|
9
13
|
import { TableInstance } from 'element-plus';
|
|
10
14
|
import { TableProps } from 'element-plus';
|
|
11
15
|
import { VNode } from 'vue';
|
|
@@ -344,6 +348,52 @@ grow: number | string;
|
|
|
344
348
|
align: string;
|
|
345
349
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
346
350
|
|
|
351
|
+
declare const __VLS_component_4: DefineComponent<CtcVideoPlayerProps, {
|
|
352
|
+
reload: () => void;
|
|
353
|
+
seek: typeof handleSeek;
|
|
354
|
+
videoRef: Ref<HTMLVideoElement | undefined, HTMLVideoElement | undefined>;
|
|
355
|
+
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
356
|
+
"update:activeChannel": (value: string) => any;
|
|
357
|
+
"update:beginTime": (value: string) => any;
|
|
358
|
+
"update:endTime": (value: string) => any;
|
|
359
|
+
"update:mode": (value: CtcVideoMode) => any;
|
|
360
|
+
"channel-change": (channel: CtcVideoChannel | undefined) => any;
|
|
361
|
+
"playback-ended": (payload: CtcVideoPlaybackEndedPayload) => any;
|
|
362
|
+
seek: (payload: CtcVideoSeekPayload) => any;
|
|
363
|
+
"source-error": (payload: CtcVideoErrorPayload) => any;
|
|
364
|
+
}, string, PublicProps, Readonly<CtcVideoPlayerProps> & Readonly<{
|
|
365
|
+
"onUpdate:activeChannel"?: ((value: string) => any) | undefined;
|
|
366
|
+
"onUpdate:beginTime"?: ((value: string) => any) | undefined;
|
|
367
|
+
"onUpdate:endTime"?: ((value: string) => any) | undefined;
|
|
368
|
+
"onUpdate:mode"?: ((value: CtcVideoMode) => any) | undefined;
|
|
369
|
+
"onChannel-change"?: ((channel: CtcVideoChannel | undefined) => any) | undefined;
|
|
370
|
+
"onPlayback-ended"?: ((payload: CtcVideoPlaybackEndedPayload) => any) | undefined;
|
|
371
|
+
onSeek?: ((payload: CtcVideoSeekPayload) => any) | undefined;
|
|
372
|
+
"onSource-error"?: ((payload: CtcVideoErrorPayload) => any) | undefined;
|
|
373
|
+
}>, {
|
|
374
|
+
compact: boolean;
|
|
375
|
+
mode: CtcVideoMode;
|
|
376
|
+
showHeader: boolean;
|
|
377
|
+
emptyText: string;
|
|
378
|
+
activeChannel: string;
|
|
379
|
+
channels: CtcVideoChannel[];
|
|
380
|
+
alwaysShowSidebar: boolean;
|
|
381
|
+
alarms: CtcVideoAlarm[];
|
|
382
|
+
beginTime: string;
|
|
383
|
+
endTime: string;
|
|
384
|
+
headerFields: CtcVideoHeaderField[];
|
|
385
|
+
showModeSwitch: boolean;
|
|
386
|
+
showSidebar: boolean;
|
|
387
|
+
showTimeline: boolean;
|
|
388
|
+
showToolbar: boolean;
|
|
389
|
+
timelineZoomModifier: CtcVideoZoomModifier;
|
|
390
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
391
|
+
panelRef: HTMLDivElement;
|
|
392
|
+
videoEl: HTMLVideoElement;
|
|
393
|
+
seekFrameCanvas: HTMLCanvasElement;
|
|
394
|
+
timelineCanvas: HTMLCanvasElement;
|
|
395
|
+
}, HTMLDivElement>;
|
|
396
|
+
|
|
347
397
|
declare function __VLS_template(): {
|
|
348
398
|
attrs: Partial<{}>;
|
|
349
399
|
slots: {
|
|
@@ -375,12 +425,43 @@ declare function __VLS_template_3(): {
|
|
|
375
425
|
rootEl: HTMLDivElement;
|
|
376
426
|
};
|
|
377
427
|
|
|
428
|
+
declare function __VLS_template_4(): {
|
|
429
|
+
attrs: Partial<{}>;
|
|
430
|
+
slots: {
|
|
431
|
+
header?(_: {
|
|
432
|
+
channel: CtcVideoChannel | undefined;
|
|
433
|
+
mode: CtcVideoMode;
|
|
434
|
+
}): any;
|
|
435
|
+
title?(_: {}): any;
|
|
436
|
+
extra?(_: {}): any;
|
|
437
|
+
channel?(_: {
|
|
438
|
+
channel: CtcVideoChannel | undefined;
|
|
439
|
+
node: CtcVideoTreeNode | undefined;
|
|
440
|
+
row: CtcVideoChannelRow;
|
|
441
|
+
active: boolean;
|
|
442
|
+
depth: number;
|
|
443
|
+
online: boolean | undefined;
|
|
444
|
+
hasChildren: boolean;
|
|
445
|
+
}): any;
|
|
446
|
+
empty?(_: {}): any;
|
|
447
|
+
};
|
|
448
|
+
refs: {
|
|
449
|
+
panelRef: HTMLDivElement;
|
|
450
|
+
videoEl: HTMLVideoElement;
|
|
451
|
+
seekFrameCanvas: HTMLCanvasElement;
|
|
452
|
+
timelineCanvas: HTMLCanvasElement;
|
|
453
|
+
};
|
|
454
|
+
rootEl: HTMLDivElement;
|
|
455
|
+
};
|
|
456
|
+
|
|
378
457
|
declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
379
458
|
|
|
380
459
|
declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
|
|
381
460
|
|
|
382
461
|
declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
|
|
383
462
|
|
|
463
|
+
declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
|
|
464
|
+
|
|
384
465
|
declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
385
466
|
new (): {
|
|
386
467
|
$slots: S;
|
|
@@ -399,6 +480,12 @@ declare type __VLS_WithTemplateSlots_3<T, S> = T & {
|
|
|
399
480
|
};
|
|
400
481
|
};
|
|
401
482
|
|
|
483
|
+
declare type __VLS_WithTemplateSlots_4<T, S> = T & {
|
|
484
|
+
new (): {
|
|
485
|
+
$slots: S;
|
|
486
|
+
};
|
|
487
|
+
};
|
|
488
|
+
|
|
402
489
|
declare const CtcComponentsUi: Plugin_2<[options?: CtcComponentsUiOptions]>;
|
|
403
490
|
export { CtcComponentsUi }
|
|
404
491
|
export default CtcComponentsUi;
|
|
@@ -485,6 +572,63 @@ export declare interface CtcFlexProps {
|
|
|
485
572
|
|
|
486
573
|
export declare type CtcFlexScroll = boolean | 'x' | 'y';
|
|
487
574
|
|
|
575
|
+
export declare const CtcReport: CtcReportComponent;
|
|
576
|
+
|
|
577
|
+
declare type CtcReportComponent = DefineComponent<CtcReportPublicProps, CtcReportInstance, {}, {}, {}, {}, {}, CtcTableEmits, string, PublicProps, CtcReportPublicProps & EmitsToProps<CtcTableEmits>, {}, SlotsType<CtcReportSlots>>;
|
|
578
|
+
|
|
579
|
+
export declare interface CtcReportInstance {
|
|
580
|
+
tableRef: CtcTableInstance | null;
|
|
581
|
+
clearSelection: () => void;
|
|
582
|
+
toggleRowSelection: (row: Record<string, unknown>, selected?: boolean) => void;
|
|
583
|
+
toggleAllSelection: () => void;
|
|
584
|
+
toggleRowExpansion: (row: Record<string, unknown>, expanded?: boolean) => void;
|
|
585
|
+
setCurrentRow: (row?: Record<string, unknown>) => void;
|
|
586
|
+
clearSort: () => void;
|
|
587
|
+
clearFilter: (columnKey?: string) => void;
|
|
588
|
+
doLayout: () => void;
|
|
589
|
+
sort: (prop: string, order: 'ascending' | 'descending') => void;
|
|
590
|
+
scrollTo: (options: ScrollToOptions | number, yCoord?: number) => void;
|
|
591
|
+
setScrollTop: (top: number) => void;
|
|
592
|
+
setScrollLeft: (left: number) => void;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
export declare interface CtcReportProps {
|
|
596
|
+
title?: string;
|
|
597
|
+
autoHeight?: boolean;
|
|
598
|
+
height?: string | number;
|
|
599
|
+
margin?: CtcReportSpacing;
|
|
600
|
+
padding?: CtcReportSpacing;
|
|
601
|
+
containerMargin?: CtcReportSpacing;
|
|
602
|
+
containerPadding?: CtcReportSpacing;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
export declare type CtcReportPublicProps = CtcReportProps & CtcTablePublicProps;
|
|
606
|
+
|
|
607
|
+
export declare interface CtcReportSlots {
|
|
608
|
+
'custom-tool-bar'?: Slot;
|
|
609
|
+
'tool-bar'?: Slot;
|
|
610
|
+
'tool-bar-left'?: Slot;
|
|
611
|
+
'tool-bar-right'?: Slot;
|
|
612
|
+
'search-bar'?: Slot;
|
|
613
|
+
'search-bar-left'?: Slot;
|
|
614
|
+
'search-bar-right'?: Slot;
|
|
615
|
+
'container-top'?: Slot;
|
|
616
|
+
'table-bar'?: Slot;
|
|
617
|
+
'table-title'?: Slot;
|
|
618
|
+
'table-info-left'?: Slot;
|
|
619
|
+
'table-info-right'?: Slot;
|
|
620
|
+
default?: Slot;
|
|
621
|
+
/** @deprecated 推荐直接使用 empty 插槽 */
|
|
622
|
+
'table-empty'?: Slot;
|
|
623
|
+
'append-table'?: Slot;
|
|
624
|
+
empty?: Slot;
|
|
625
|
+
append?: Slot;
|
|
626
|
+
pagination?: Slot;
|
|
627
|
+
[name: string]: Slot | undefined;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
export declare type CtcReportSpacing = number | string | readonly [number] | readonly [number, number] | readonly [number, number, number] | readonly [number, number, number, number];
|
|
631
|
+
|
|
488
632
|
export declare const CtcTable: CtcTableComponent;
|
|
489
633
|
|
|
490
634
|
export declare interface CtcTableCellScope<Row extends object = Record<string, unknown>> {
|
|
@@ -635,4 +779,118 @@ declare interface CtcTableTooltipFormatterScope<Row extends object = Record<stri
|
|
|
635
779
|
cellValue: unknown;
|
|
636
780
|
}
|
|
637
781
|
|
|
782
|
+
export declare interface CtcVideoAlarm {
|
|
783
|
+
title: string;
|
|
784
|
+
startTime: string;
|
|
785
|
+
endTime: string;
|
|
786
|
+
description: string;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
export declare interface CtcVideoChannel {
|
|
790
|
+
id: string;
|
|
791
|
+
name: string;
|
|
792
|
+
online?: boolean;
|
|
793
|
+
location?: string;
|
|
794
|
+
mpName?: string;
|
|
795
|
+
outletName?: string;
|
|
796
|
+
liveUrl?: string;
|
|
797
|
+
playbackUrl?: string;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
/** 通道栏当前渲染的行,平铺通道与分组节点共用。 */
|
|
801
|
+
export declare interface CtcVideoChannelRow {
|
|
802
|
+
channel?: CtcVideoChannel;
|
|
803
|
+
depth: number;
|
|
804
|
+
hasChildren: boolean;
|
|
805
|
+
key: string;
|
|
806
|
+
label: string;
|
|
807
|
+
node?: CtcVideoTreeNode;
|
|
808
|
+
online?: boolean;
|
|
809
|
+
open: boolean;
|
|
810
|
+
value?: string;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
export declare interface CtcVideoErrorPayload {
|
|
814
|
+
channel?: CtcVideoChannel;
|
|
815
|
+
mode: CtcVideoMode;
|
|
816
|
+
error: unknown;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
export declare type CtcVideoHeaderField = 'channel' | 'location' | 'mp' | 'outlet';
|
|
820
|
+
|
|
821
|
+
export declare type CtcVideoMode = 'live' | 'playback';
|
|
822
|
+
|
|
823
|
+
export declare interface CtcVideoPlaybackEndedPayload {
|
|
824
|
+
channel?: CtcVideoChannel;
|
|
825
|
+
mode: CtcVideoMode;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
export declare interface CtcVideoPlaybackSource {
|
|
829
|
+
url?: string;
|
|
830
|
+
segments?: CtcVideoSegment[];
|
|
831
|
+
expireTime?: string;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
export declare const CtcVideoPlayer: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, __VLS_TemplateResult_4["slots"]>;
|
|
835
|
+
|
|
836
|
+
export declare interface CtcVideoPlayerProps {
|
|
837
|
+
activeChannel?: string;
|
|
838
|
+
alwaysShowSidebar?: boolean;
|
|
839
|
+
alarms?: CtcVideoAlarm[];
|
|
840
|
+
beginTime?: string;
|
|
841
|
+
channels?: CtcVideoChannel[];
|
|
842
|
+
compact?: boolean;
|
|
843
|
+
emptyText?: string;
|
|
844
|
+
endTime?: string;
|
|
845
|
+
headerFields?: CtcVideoHeaderField[];
|
|
846
|
+
mode?: CtcVideoMode;
|
|
847
|
+
showHeader?: boolean;
|
|
848
|
+
showModeSwitch?: boolean;
|
|
849
|
+
showSidebar?: boolean;
|
|
850
|
+
showTimeline?: boolean;
|
|
851
|
+
showToolbar?: boolean;
|
|
852
|
+
source?: CtcVideoSource;
|
|
853
|
+
timelineZoomModifier?: CtcVideoZoomModifier;
|
|
854
|
+
tree?: CtcVideoTreeNode[];
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
export declare interface CtcVideoSeekPayload {
|
|
858
|
+
hour: number;
|
|
859
|
+
beginTime: string;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
export declare interface CtcVideoSegment {
|
|
863
|
+
url: string;
|
|
864
|
+
segmentBeginTime?: string;
|
|
865
|
+
segmentEndTime?: string;
|
|
866
|
+
expireTime?: string;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
export declare interface CtcVideoSource {
|
|
870
|
+
live?: (channel: CtcVideoChannel) => Promise<CtcVideoStream | null>;
|
|
871
|
+
playback?: (channel: CtcVideoChannel, range: CtcVideoTimeRange) => Promise<CtcVideoPlaybackSource | null>;
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
export declare interface CtcVideoStream {
|
|
875
|
+
url: string;
|
|
876
|
+
expireTime?: string;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
export declare interface CtcVideoTimeRange {
|
|
880
|
+
beginTime: string;
|
|
881
|
+
endTime: string;
|
|
882
|
+
}
|
|
883
|
+
|
|
884
|
+
export declare interface CtcVideoTreeNode {
|
|
885
|
+
key: string;
|
|
886
|
+
label: string;
|
|
887
|
+
value?: string;
|
|
888
|
+
online?: boolean;
|
|
889
|
+
children?: CtcVideoTreeNode[];
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
export declare type CtcVideoZoomModifier = 'alt' | 'ctrl' | 'meta' | 'none' | 'shift';
|
|
893
|
+
|
|
894
|
+
declare function handleSeek(hour: number): void;
|
|
895
|
+
|
|
638
896
|
export { }
|