@ctc-front/components-ui-next 0.1.1 → 0.1.3

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 CHANGED
@@ -29,6 +29,14 @@ createApp(App)
29
29
  .mount('#app')
30
30
  ```
31
31
 
32
+ 如果宿主使用 Element Plus 按需加载,请改用包含 Element Plus 基础样式的入口:
33
+
34
+ ```ts
35
+ import '@ctc-front/components-ui-next/style-with-element-plus.css'
36
+ ```
37
+
38
+ 宿主已经全量引入 Element Plus 时使用默认的 `style.css`,避免重复加载基础样式。
39
+
32
40
  也可以按组件导入:
33
41
 
34
42
  ```ts
@@ -61,8 +69,8 @@ import { CtcDialog, CtcTable } from '@ctc-front/components-ui-next'
61
69
  document.documentElement.classList.toggle('dark', isDark)
62
70
  ```
63
71
 
64
- 详细属性、插槽、分页和主题说明见[在线文档](./docs/guide/getting-started.md)。
72
+ 详细属性、插槽、分页和主题说明见[开始使用](./docs/guide/getting-started.md)。各个已发布版本的功能点见[更新日志](./CHANGELOG.md)和[版本说明](./docs/guide/releases.md)。
65
73
 
66
74
  ## 版本说明
67
75
 
68
- 当前为 `0.1.1`,适用于 Vue 3 项目。Vue 2 / Element UI 项目请继续使用原组件库。
76
+ 当前为 `0.1.3`,适用于 Vue 3 项目。Vue 2 / Element UI 项目请继续使用原组件库。
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=(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`})]))}}),r=(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`})]))}}),i=(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 a(t,n){let r=(0,e.computed)(()=>t.fullscreen??!1);function i(){n(`update:fullscreen`,!r.value)}return{isFullscreen:r,toggleFullscreen:i}}function o(e,t,n){return Math.min(Math.max(e,t),n)}function s(t,n){let r=(0,e.ref)(!1),i=(0,e.ref)({}),a=()=>{};function s(){a(),a=()=>{}}function c(e){if(!t.resizable||e.button!==0)return;let c=e.currentTarget.closest(`.ctc-dialog`);if(!c)return;e.preventDefault(),s();let l=c.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(o(l.width+e.clientX-m,u,f)),a=Math.round(o(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 _(){s()}window.addEventListener(`pointermove`,g),window.addEventListener(`pointerup`,_,{once:!0}),a=()=>{window.removeEventListener(`pointermove`,g),window.removeEventListener(`pointerup`,_)}}return(0,e.onBeforeUnmount)(s),{isResized:r,resizeStyle:i,startResize:c}}var c={class:`ctc-dialog__header-content`},l={class:`ctc-dialog__title`},u={class:`ctc-dialog__header-actions`},d=[`aria-label`,`title`],f={class:`ctc-dialog__content`},p=(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:Boolean,closeOnPressEscape:Boolean,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(o,{emit:p}){let m=o,h=p,g=(0,e.useAttrs)(),_=(0,e.useSlots)(),{isFullscreen:v,toggleFullscreen:y}=a(m,h),{isResized:b,resizeStyle:x,startResize:S}=s(m,h),C=(0,e.computed)(()=>v.value?{}:x.value),w=(0,e.computed)(()=>b.value&&!v.value);function T(e){h(`update:modelValue`,e)}function E(){if(m.beforeClose){m.beforeClose(e=>{e||h(`update:modelValue`,!1)});return}h(`update:modelValue`,!1)}return(a,s)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDialog),(0,e.mergeProps)((0,e.unref)(g),{class:[`ctc-dialog`,{"ctc-dialog--resizable":o.resizable,"ctc-dialog--resized":w.value}],style:C.value,"model-value":o.modelValue,fullscreen:(0,e.unref)(v),title:o.title,width:o.width,"align-center":o.alignCenter,"append-to":o.appendTo,"before-close":o.beforeClose,"close-delay":o.closeDelay,"close-on-click-modal":o.closeOnClickModal,"close-on-press-escape":o.closeOnPressEscape,"destroy-on-close":o.destroyOnClose,draggable:o.draggable,"lock-scroll":o.lockScroll,modal:o.modal,"modal-class":o.modalClass,"open-delay":o.openDelay,overflow:o.overflow,"show-close":!1,top:o.top,"trap-focus":o.trapFocus,"z-index":o.zIndex,"header-class":`ctc-dialog__header`,"body-class":`ctc-dialog__body`,"footer-class":`ctc-dialog__footer`,"onUpdate:modelValue":T,onOpen:s[2]||=e=>h(`open`),onOpened:s[3]||=e=>h(`opened`),onClose:s[4]||=e=>h(`close`),onClosed:s[5]||=e=>h(`closed`)}),(0,e.createSlots)({header:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,c,[(0,e.renderSlot)(a.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,l,(0,e.toDisplayString)(o.title),1)])]),(0,e.createElementVNode)(`div`,u,[o.showFullscreen?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`ctc-dialog__fullscreen-toggle`,type:`button`,"aria-label":(0,e.unref)(v)?`退出全屏`:`全屏显示`,title:(0,e.unref)(v)?`退出全屏`:`全屏显示`,"data-ctc-fullscreen-toggle":``,onClick:s[0]||=(...t)=>(0,e.unref)(y)&&(0,e.unref)(y)(...t)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.unref)(v)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r),{key:1}))]),_:1})],8,d)):(0,e.createCommentVNode)(``,!0),o.showClose?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:`ctc-dialog__close`,type:`button`,"aria-label":`关闭弹窗`,title:`关闭`,"data-ctc-close":``,onClick:E},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n))]),_:1})])):(0,e.createCommentVNode)(``,!0)])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,f,[(0,e.renderSlot)(a.$slots,`default`)]),o.resizable&&!(0,e.unref)(v)?((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)(S)&&(0,e.unref)(S)(...t)},null,32)):(0,e.createCommentVNode)(``,!0)]),_:2},[(0,e.unref)(_).footer?{name:`footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$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`]))}}),m={class:`ctc-drawer__header-content`},h={class:`ctc-drawer__title`},g={class:`ctc-drawer__header-actions`},_=[`aria-label`,`title`],v={class:`ctc-drawer__content`},y={key:0,class:`ctc-drawer__footer`},b=(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(o,{emit:s}){let c=o,l=s,u=(0,e.useAttrs)(),d=(0,e.useSlots)(),{isFullscreen:f,toggleFullscreen:p}=a(c,l),b=(0,e.computed)(()=>f.value?`100%`:c.size);function x(e){l(`update:modelValue`,e)}function S(){if(c.beforeClose){c.beforeClose(e=>{e||l(`update:modelValue`,!1)});return}l(`update:modelValue`,!1)}return(a,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":o.modelValue,"append-to":o.appendTo,"before-close":o.beforeClose,"close-on-click-modal":o.closeOnClickModal,"close-on-press-escape":o.closeOnPressEscape,"destroy-on-close":o.destroyOnClose,direction:o.direction,"lock-scroll":o.lockScroll,modal:o.modal,"modal-class":o.modalClass,"show-close":!1,size:b.value,"z-index":o.zIndex,"header-class":`ctc-drawer__header`,"body-class":`ctc-drawer__body`,"onUpdate:modelValue":x,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`,m,[(0,e.renderSlot)(a.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,h,(0,e.toDisplayString)(o.title),1)])]),(0,e.createElementVNode)(`div`,g,[o.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)(i),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r),{key:1}))]),_:1})],8,_)):(0,e.createCommentVNode)(``,!0),o.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)(n))]),_: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`,v,[(0,e.renderSlot)(a.$slots,`default`)]),(0,e.unref)(d).footer?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,y,[(0,e.renderSlot)(a.$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`]))}}),x=(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))}}),S=new Set([`selection`,`index`,`expand`]),C=(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 t.replace(/\[(?:'([^']*)'|"([^"]*)"|([^\]]+))\]/g,`.$1$2$3`).split(`.`).filter(Boolean).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?S.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 w(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 T(e,t,n){return n.every(n=>Object.is(w(e,n),w(t,n)))}function E(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&&T(e[r-1],o,a.by))return{rowspan:0,colspan:0};let s=1;for(;r+s<e.length&&T(o,e[r+s],a.by);)s+=1;return{rowspan:s,colspan:1}}}var D={class:`ctc-table`},O={key:0,class:`ctc-table__pagination`},k=(0,e.defineComponent)({name:`CtcTable`,inheritAttrs:!1,__name:`index`,props:{columns:{default:()=>[]},currentPage:{default:1},data:{default:()=>[]},loading:{type:Boolean,default:!1},merge:{default:()=>[]},pageSize:{default:10},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:r,emit:i}){let a=n,o=i,s=(0,e.useAttrs)(),c=(0,e.useSlots)(),l=(0,e.useTemplateRef)(`tableRef`),u=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(`.`)),d=(0,e.computed)(()=>Object.fromEntries(Object.entries(s).filter(([e])=>!u.has(e)&&e!==`spanMethod`))),f=(0,e.computed)(()=>{if(typeof s.spanMethod==`function`)return s.spanMethod;if(a.merge.length!==0)return E(a.data,a.merge)});function p(e,t){o(`current-change`,e,t)}return r({clearSelection:()=>l.value?.clearSelection(),toggleRowSelection:(e,t)=>l.value?.toggleRowSelection(e,t),toggleAllSelection:()=>l.value?.toggleAllSelection(),toggleRowExpansion:(e,t)=>l.value?.toggleRowExpansion(e,t),setCurrentRow:e=>l.value?.setCurrentRow(e),clearSort:()=>l.value?.clearSort(),clearFilter:e=>l.value?.clearFilter(e),doLayout:()=>l.value?.doLayout(),sort:(e,t)=>l.value?.sort(e,t)}),(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,D,[(0,e.withDirectives)(((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTable),(0,e.mergeProps)({ref_key:`tableRef`,ref:l},d.value,{data:a.data,"span-method":f.value,onCurrentChange:p}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(a.columns,(t,n)=>((0,e.openBlock)(),(0,e.createBlock)(C,{key:t.prop??t.property??t.label??n,column:t,slots:(0,e.unref)(c)},null,8,[`column`,`slots`]))),128))]),_:2},[(0,e.unref)(c).empty?{name:`empty`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`empty`)]),key:`0`}:void 0,(0,e.unref)(c).append?{name:`append`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`append`)]),key:`1`}:void 0]),1040,[`data`,`span-method`])),[[(0,e.unref)(t.vLoading),a.loading]]),a.pagination?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,O,[(0,e.createVNode)((0,e.unref)(t.ElPagination),(0,e.mergeProps)(a.paginationProps,{"current-page":a.currentPage,"page-size":a.pageSize,total:a.total,"onUpdate:currentPage":r[0]||=e=>o(`update:currentPage`,e),"onUpdate:pageSize":r[1]||=e=>o(`update:pageSize`,e),onCurrentChange:r[2]||=e=>o(`page-change`,e),onSizeChange:r[3]||=e=>o(`page-size-change`,e),onPrevClick:r[4]||=e=>o(`prev-click`,e),onNextClick:r[5]||=e=>o(`next-click`,e)}),null,16,[`current-page`,`page-size`,`total`]),(0,e.renderSlot)(n.$slots,`pagination`)])):(0,e.createCommentVNode)(``,!0)]))}}),A=[p,b,x,k],j={install(e){A.forEach(t=>{e.component(t.name??``,t)})}};exports.CtcComponentsUi=j,exports.default=j,exports.CtcDialog=p,exports.CtcDrawer=b,exports.CtcFlex=x,exports.CtcTable=k;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require("vue"),t=require("element-plus");var n=(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`})]))}}),r=(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`})]))}}),i=(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 a(t,n){let r=(0,e.computed)(()=>t.fullscreen??!1);function i(){n(`update:fullscreen`,!r.value)}return{isFullscreen:r,toggleFullscreen:i}}function o(e,t,n){return Math.min(Math.max(e,t),n)}function s(t,n){let r=(0,e.ref)(!1),i=(0,e.ref)({}),a=()=>{};function s(){a(),a=()=>{}}function c(e){if(!t.resizable||e.button!==0)return;let c=e.currentTarget.closest(`.ctc-dialog`);if(!c)return;e.preventDefault(),s();let l=c.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(o(l.width+e.clientX-m,u,f)),a=Math.round(o(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 _(){s()}window.addEventListener(`pointermove`,g),window.addEventListener(`pointerup`,_,{once:!0}),a=()=>{window.removeEventListener(`pointermove`,g),window.removeEventListener(`pointerup`,_)}}return(0,e.onBeforeUnmount)(s),{isResized:r,resizeStyle:i,startResize:c}}var c={class:`ctc-dialog__header-content`},l={class:`ctc-dialog__title`},u={class:`ctc-dialog__header-actions`},d=[`aria-label`,`title`],f={class:`ctc-dialog__content`},p=(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:Boolean,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(o,{emit:p}){let m=o,h=p,g=(0,e.useAttrs)(),_=(0,e.useSlots)(),{isFullscreen:v,toggleFullscreen:y}=a(m,h),{isResized:b,resizeStyle:x,startResize:S}=s(m,h),C=(0,e.computed)(()=>v.value?{}:x.value),w=(0,e.computed)(()=>b.value&&!v.value);function T(e){h(`update:modelValue`,e)}function E(){if(m.beforeClose){m.beforeClose(e=>{e||h(`update:modelValue`,!1)});return}h(`update:modelValue`,!1)}return(a,s)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElDialog),(0,e.mergeProps)((0,e.unref)(g),{class:[`ctc-dialog`,{"ctc-dialog--content-fill":o.contentFill,"ctc-dialog--resizable":o.resizable,"ctc-dialog--resized":w.value}],style:C.value,"model-value":o.modelValue,fullscreen:(0,e.unref)(v),title:o.title,width:o.width,"align-center":o.alignCenter,"append-to":o.appendTo,"before-close":o.beforeClose,"close-delay":o.closeDelay,"close-on-click-modal":o.closeOnClickModal,"close-on-press-escape":o.closeOnPressEscape,"destroy-on-close":o.destroyOnClose,draggable:o.draggable,"lock-scroll":o.lockScroll,modal:o.modal,"modal-class":o.modalClass,"open-delay":o.openDelay,overflow:o.overflow,"show-close":!1,top:o.top,"trap-focus":o.trapFocus,"z-index":o.zIndex,"header-class":`ctc-dialog__header`,"body-class":`ctc-dialog__body`,"footer-class":`ctc-dialog__footer`,"onUpdate:modelValue":T,onOpen:s[2]||=e=>h(`open`),onOpened:s[3]||=e=>h(`opened`),onClose:s[4]||=e=>h(`close`),onClosed:s[5]||=e=>h(`closed`)}),(0,e.createSlots)({header:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,c,[(0,e.renderSlot)(a.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,l,(0,e.toDisplayString)(o.title),1)])]),(0,e.createElementVNode)(`div`,u,[o.showFullscreen?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,class:`ctc-dialog__fullscreen-toggle`,type:`button`,"aria-label":(0,e.unref)(v)?`退出全屏`:`全屏显示`,title:(0,e.unref)(v)?`退出全屏`:`全屏显示`,"data-ctc-fullscreen-toggle":``,onClick:s[0]||=(...t)=>(0,e.unref)(y)&&(0,e.unref)(y)(...t)},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.unref)(v)?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r),{key:1}))]),_:1})],8,d)):(0,e.createCommentVNode)(``,!0),o.showClose?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:1,class:`ctc-dialog__close`,type:`button`,"aria-label":`关闭弹窗`,title:`关闭`,"data-ctc-close":``,onClick:E},[(0,e.createVNode)((0,e.unref)(t.ElIcon),{"aria-hidden":`true`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n))]),_:1})])):(0,e.createCommentVNode)(``,!0)])]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`div`,f,[(0,e.renderSlot)(a.$slots,`default`)]),o.resizable&&!(0,e.unref)(v)?((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)(S)&&(0,e.unref)(S)(...t)},null,32)):(0,e.createCommentVNode)(``,!0)]),_:2},[(0,e.unref)(_).footer?{name:`footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(a.$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`]))}}),m={class:`ctc-drawer__header-content`},h={class:`ctc-drawer__title`},g={class:`ctc-drawer__header-actions`},_=[`aria-label`,`title`],v={class:`ctc-drawer__content`},y={key:0,class:`ctc-drawer__footer`},b=(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(o,{emit:s}){let c=o,l=s,u=(0,e.useAttrs)(),d=(0,e.useSlots)(),{isFullscreen:f,toggleFullscreen:p}=a(c,l),b=(0,e.computed)(()=>f.value?`100%`:c.size);function x(e){l(`update:modelValue`,e)}function S(){if(c.beforeClose){c.beforeClose(e=>{e||l(`update:modelValue`,!1)});return}l(`update:modelValue`,!1)}return(a,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":o.modelValue,"append-to":o.appendTo,"before-close":o.beforeClose,"close-on-click-modal":o.closeOnClickModal,"close-on-press-escape":o.closeOnPressEscape,"destroy-on-close":o.destroyOnClose,direction:o.direction,"lock-scroll":o.lockScroll,modal:o.modal,"modal-class":o.modalClass,"show-close":!1,size:b.value,"z-index":o.zIndex,"header-class":`ctc-drawer__header`,"body-class":`ctc-drawer__body`,"onUpdate:modelValue":x,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`,m,[(0,e.renderSlot)(a.$slots,`header`,{},()=>[(0,e.createElementVNode)(`span`,h,(0,e.toDisplayString)(o.title),1)])]),(0,e.createElementVNode)(`div`,g,[o.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)(i),{key:0})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(r),{key:1}))]),_:1})],8,_)):(0,e.createCommentVNode)(``,!0),o.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)(n))]),_: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`,v,[(0,e.renderSlot)(a.$slots,`default`)]),(0,e.unref)(d).footer?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,y,[(0,e.renderSlot)(a.$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`]))}}),x=(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))}}),S=new Set([`selection`,`index`,`expand`]),C=(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 t.replace(/\[(?:'([^']*)'|"([^"]*)"|([^\]]+))\]/g,`.$1$2$3`).split(`.`).filter(Boolean).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?S.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 w(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 T(e,t,n){return n.every(n=>Object.is(w(e,n),w(t,n)))}function E(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&&T(e[r-1],o,a.by))return{rowspan:0,colspan:0};let s=1;for(;r+s<e.length&&T(o,e[r+s],a.by);)s+=1;return{rowspan:s,colspan:1}}}var D={key:0,class:`ctc-table__pagination`},O=(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:{default:10},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:r,emit:i}){let a=n,o=i,s=(0,e.useAttrs)(),c=(0,e.useSlots)(),l=(0,e.useTemplateRef)(`tableRef`),u=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(`.`)),d=(0,e.computed)(()=>Object.fromEntries(Object.entries(s).filter(([e])=>!u.has(e)&&e!==`height`&&e!==`spanMethod`))),f=(0,e.computed)(()=>{if(typeof a.height==`string`||typeof a.height==`number`)return a.height}),p=(0,e.computed)(()=>a.autoHeight&&f.value===void 0),m=(0,e.computed)(()=>f.value??(p.value?`100%`:void 0)),h=(0,e.computed)(()=>{if(typeof s.spanMethod==`function`)return s.spanMethod;if(a.merge.length!==0)return E(a.data,a.merge)});function g(e,t){o(`current-change`,e,t)}return r({clearSelection:()=>l.value?.clearSelection(),toggleRowSelection:(e,t)=>l.value?.toggleRowSelection(e,t),toggleAllSelection:()=>l.value?.toggleAllSelection(),toggleRowExpansion:(e,t)=>l.value?.toggleRowExpansion(e,t),setCurrentRow:e=>l.value?.setCurrentRow(e),clearSort:()=>l.value?.clearSort(),clearFilter:e=>l.value?.clearFilter(e),doLayout:()=>l.value?.doLayout(),sort:(e,t)=>l.value?.sort(e,t)}),(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`ctc-table`,{"ctc-table--auto-height":p.value}])},[(0,e.withDirectives)(((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.ElTable),(0,e.mergeProps)({ref_key:`tableRef`,ref:l},d.value,{data:a.data,height:m.value,"span-method":h.value,onCurrentChange:g}),(0,e.createSlots)({default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(a.columns,(t,n)=>((0,e.openBlock)(),(0,e.createBlock)(C,{key:t.prop??t.property??t.label??n,column:t,slots:(0,e.unref)(c)},null,8,[`column`,`slots`]))),128))]),_:2},[(0,e.unref)(c).empty?{name:`empty`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,`empty`)]),key:`0`}:void 0,(0,e.unref)(c).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),a.loading]]),a.pagination?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,D,[(0,e.createVNode)((0,e.unref)(t.ElPagination),(0,e.mergeProps)(a.paginationProps,{"current-page":a.currentPage,"page-size":a.pageSize,total:a.total,"onUpdate:currentPage":r[0]||=e=>o(`update:currentPage`,e),"onUpdate:pageSize":r[1]||=e=>o(`update:pageSize`,e),onCurrentChange:r[2]||=e=>o(`page-change`,e),onSizeChange:r[3]||=e=>o(`page-size-change`,e),onPrevClick:r[4]||=e=>o(`prev-click`,e),onNextClick:r[5]||=e=>o(`next-click`,e)}),null,16,[`current-page`,`page-size`,`total`]),(0,e.renderSlot)(n.$slots,`pagination`)])):(0,e.createCommentVNode)(``,!0)],2))}}),k=[p,b,x,O],A={install(e){k.forEach(t=>{e.component(t.name??``,t)})}};exports.CtcComponentsUi=A,exports.default=A,exports.CtcDialog=p,exports.CtcDrawer=b,exports.CtcFlex=x,exports.CtcTable=O;
package/dist/index.d.ts CHANGED
@@ -54,6 +54,10 @@ default: undefined;
54
54
  closeDelay: NumberConstructor;
55
55
  closeOnClickModal: BooleanConstructor;
56
56
  closeOnPressEscape: BooleanConstructor;
57
+ contentFill: {
58
+ type: BooleanConstructor;
59
+ default: boolean;
60
+ };
57
61
  destroyOnClose: BooleanConstructor;
58
62
  draggable: BooleanConstructor;
59
63
  lockScroll: BooleanConstructor;
@@ -130,6 +134,10 @@ default: undefined;
130
134
  closeDelay: NumberConstructor;
131
135
  closeOnClickModal: BooleanConstructor;
132
136
  closeOnPressEscape: BooleanConstructor;
137
+ contentFill: {
138
+ type: BooleanConstructor;
139
+ default: boolean;
140
+ };
133
141
  destroyOnClose: BooleanConstructor;
134
142
  draggable: BooleanConstructor;
135
143
  lockScroll: BooleanConstructor;
@@ -176,6 +184,7 @@ appendTo: string | HTMLElement;
176
184
  beforeClose: CtcDialogBeforeClose;
177
185
  closeOnClickModal: boolean;
178
186
  closeOnPressEscape: boolean;
187
+ contentFill: boolean;
179
188
  destroyOnClose: boolean;
180
189
  draggable: boolean;
181
190
  lockScroll: boolean;
@@ -397,6 +406,7 @@ export declare interface CtcDialogProps {
397
406
  closeDelay?: number;
398
407
  closeOnClickModal?: boolean;
399
408
  closeOnPressEscape?: boolean;
409
+ contentFill?: boolean;
400
410
  destroyOnClose?: boolean;
401
411
  draggable?: boolean;
402
412
  lockScroll?: boolean;
@@ -572,9 +582,11 @@ export declare interface CtcTablePaginationProps {
572
582
  }
573
583
 
574
584
  export declare interface CtcTableProps<Row extends object = Record<string, unknown>> {
585
+ autoHeight?: boolean;
575
586
  columns?: CtcTableColumn<Row>[];
576
587
  currentPage?: number;
577
588
  data?: Row[];
589
+ height?: string | number;
578
590
  loading?: boolean;
579
591
  merge?: CtcTableMergeRule[];
580
592
  pageSize?: number;
package/dist/index.js CHANGED
@@ -140,6 +140,10 @@ var R = { class: "ctc-dialog__header-content" }, z = { class: "ctc-dialog__title
140
140
  closeDelay: Number,
141
141
  closeOnClickModal: Boolean,
142
142
  closeOnPressEscape: Boolean,
143
+ contentFill: {
144
+ type: Boolean,
145
+ default: !1
146
+ },
143
147
  destroyOnClose: Boolean,
144
148
  draggable: Boolean,
145
149
  lockScroll: Boolean,
@@ -190,6 +194,7 @@ var R = { class: "ctc-dialog__header-content" }, z = { class: "ctc-dialog__title
190
194
  }
191
195
  return (t, c) => (m(), n(y(T), u(y(f), {
192
196
  class: ["ctc-dialog", {
197
+ "ctc-dialog--content-fill": e.contentFill,
193
198
  "ctc-dialog--resizable": e.resizable,
194
199
  "ctc-dialog--resized": k.value
195
200
  }],
@@ -544,7 +549,7 @@ function ie(e, t) {
544
549
  }
545
550
  //#endregion
546
551
  //#region src/components/table/src/index.vue?vue&type=script&setup=true&lang.ts
547
- var ae = { class: "ctc-table" }, oe = {
552
+ var ae = {
548
553
  key: 0,
549
554
  class: "ctc-table__pagination"
550
555
  }, Q = /* @__PURE__ */ c({
@@ -552,9 +557,14 @@ var ae = { class: "ctc-table" }, oe = {
552
557
  inheritAttrs: !1,
553
558
  __name: "index",
554
559
  props: {
560
+ autoHeight: {
561
+ type: Boolean,
562
+ default: !1
563
+ },
555
564
  columns: { default: () => [] },
556
565
  currentPage: { default: 1 },
557
566
  data: { default: () => [] },
567
+ height: {},
558
568
  loading: {
559
569
  type: Boolean,
560
570
  default: !1
@@ -578,68 +588,75 @@ var ae = { class: "ctc-table" }, oe = {
578
588
  "next-click"
579
589
  ],
580
590
  setup(a, { expose: c, emit: l }) {
581
- let d = a, f = l, p = b(), h = x(), v = S("tableRef"), T = /* @__PURE__ */ new Set(/* @__PURE__ */ "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(".")), E = t(() => Object.fromEntries(Object.entries(p).filter(([e]) => !T.has(e) && e !== "spanMethod"))), D = t(() => {
582
- if (typeof p.spanMethod == "function") return p.spanMethod;
583
- if (d.merge.length !== 0) return ie(d.data, d.merge);
591
+ let f = a, p = l, h = b(), v = x(), T = S("tableRef"), E = /* @__PURE__ */ new Set(/* @__PURE__ */ "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(".")), D = t(() => Object.fromEntries(Object.entries(h).filter(([e]) => !E.has(e) && e !== "height" && e !== "spanMethod"))), A = t(() => {
592
+ if (typeof f.height == "string" || typeof f.height == "number") return f.height;
593
+ }), M = t(() => f.autoHeight && A.value === void 0), N = t(() => A.value ?? (M.value ? "100%" : void 0)), P = t(() => {
594
+ if (typeof h.spanMethod == "function") return h.spanMethod;
595
+ if (f.merge.length !== 0) return ie(f.data, f.merge);
584
596
  });
585
- function A(e, t) {
586
- f("current-change", e, t);
597
+ function F(e, t) {
598
+ p("current-change", e, t);
587
599
  }
588
600
  return c({
589
- clearSelection: () => v.value?.clearSelection(),
590
- toggleRowSelection: (e, t) => v.value?.toggleRowSelection(e, t),
591
- toggleAllSelection: () => v.value?.toggleAllSelection(),
592
- toggleRowExpansion: (e, t) => v.value?.toggleRowExpansion(e, t),
593
- setCurrentRow: (e) => v.value?.setCurrentRow(e),
594
- clearSort: () => v.value?.clearSort(),
595
- clearFilter: (e) => v.value?.clearFilter(e),
596
- doLayout: () => v.value?.doLayout(),
597
- sort: (e, t) => v.value?.sort(e, t)
598
- }), (t, a) => (m(), i("div", ae, [w((m(), n(y(k), u({
601
+ clearSelection: () => T.value?.clearSelection(),
602
+ toggleRowSelection: (e, t) => T.value?.toggleRowSelection(e, t),
603
+ toggleAllSelection: () => T.value?.toggleAllSelection(),
604
+ toggleRowExpansion: (e, t) => T.value?.toggleRowExpansion(e, t),
605
+ setCurrentRow: (e) => T.value?.setCurrentRow(e),
606
+ clearSort: () => T.value?.clearSort(),
607
+ clearFilter: (e) => T.value?.clearFilter(e),
608
+ doLayout: () => T.value?.doLayout(),
609
+ sort: (e, t) => T.value?.sort(e, t)
610
+ }), (t, a) => (m(), i("div", { class: d(["ctc-table", { "ctc-table--auto-height": M.value }]) }, [w((m(), n(y(k), u({
599
611
  ref_key: "tableRef",
600
- ref: v
601
- }, E.value, {
602
- data: d.data,
603
- "span-method": D.value,
604
- onCurrentChange: A
612
+ ref: T
613
+ }, D.value, {
614
+ data: f.data,
615
+ height: N.value,
616
+ "span-method": P.value,
617
+ onCurrentChange: F
605
618
  }), o({
606
- default: C(() => [(m(!0), i(e, null, g(d.columns, (e, t) => (m(), n(re, {
619
+ default: C(() => [(m(!0), i(e, null, g(f.columns, (e, t) => (m(), n(re, {
607
620
  key: e.prop ?? e.property ?? e.label ?? t,
608
621
  column: e,
609
- slots: y(h)
622
+ slots: y(v)
610
623
  }, null, 8, ["column", "slots"]))), 128))]),
611
624
  _: 2
612
- }, [y(h).empty ? {
625
+ }, [y(v).empty ? {
613
626
  name: "empty",
614
627
  fn: C(() => [_(t.$slots, "empty")]),
615
628
  key: "0"
616
- } : void 0, y(h).append ? {
629
+ } : void 0, y(v).append ? {
617
630
  name: "append",
618
631
  fn: C(() => [_(t.$slots, "append")]),
619
632
  key: "1"
620
- } : void 0]), 1040, ["data", "span-method"])), [[y(j), d.loading]]), d.pagination ? (m(), i("div", oe, [s(y(O), u(d.paginationProps, {
621
- "current-page": d.currentPage,
622
- "page-size": d.pageSize,
623
- total: d.total,
624
- "onUpdate:currentPage": a[0] ||= (e) => f("update:currentPage", e),
625
- "onUpdate:pageSize": a[1] ||= (e) => f("update:pageSize", e),
626
- onCurrentChange: a[2] ||= (e) => f("page-change", e),
627
- onSizeChange: a[3] ||= (e) => f("page-size-change", e),
628
- onPrevClick: a[4] ||= (e) => f("prev-click", e),
629
- onNextClick: a[5] ||= (e) => f("next-click", e)
633
+ } : void 0]), 1040, [
634
+ "data",
635
+ "height",
636
+ "span-method"
637
+ ])), [[y(j), f.loading]]), f.pagination ? (m(), i("div", ae, [s(y(O), u(f.paginationProps, {
638
+ "current-page": f.currentPage,
639
+ "page-size": f.pageSize,
640
+ total: f.total,
641
+ "onUpdate:currentPage": a[0] ||= (e) => p("update:currentPage", e),
642
+ "onUpdate:pageSize": a[1] ||= (e) => p("update:pageSize", e),
643
+ onCurrentChange: a[2] ||= (e) => p("page-change", e),
644
+ onSizeChange: a[3] ||= (e) => p("page-size-change", e),
645
+ onPrevClick: a[4] ||= (e) => p("prev-click", e),
646
+ onNextClick: a[5] ||= (e) => p("next-click", e)
630
647
  }), null, 16, [
631
648
  "current-page",
632
649
  "page-size",
633
650
  "total"
634
- ]), _(t.$slots, "pagination")])) : r("", !0)]));
651
+ ]), _(t.$slots, "pagination")])) : r("", !0)], 2));
635
652
  }
636
- }), se = [
653
+ }), oe = [
637
654
  U,
638
655
  J,
639
656
  Y,
640
657
  Q
641
658
  ], $ = { install(e) {
642
- se.forEach((t) => {
659
+ oe.forEach((t) => {
643
660
  e.component(t.name ?? "", t);
644
661
  });
645
662
  } };