common_component_library_vue 0.1.0 → 0.1.2
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/dist-lib/common-component-library-vue.css +1 -1
- package/dist-lib/common-component-library-vue.mjs +587 -167
- package/dist-lib/common-component-library-vue.umd.js +1 -1
- package/dist-lib/types/components/Table/CcTable.vue.d.ts +73 -0
- package/dist-lib/types/index.d.ts +100 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.CommonComponentLibraryVue={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=[`width`,`height`],r=(0,t.defineComponent)({__name:`CcSpinner`,props:{size:{default:20},color:{default:`var(--cc-primary)`}},setup(e){return(0,t.useCssVars)(e=>({f2187a8a:e.color})),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:`cc-spinner`,width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,role:`status`,"aria-label":`loading`},[...i[0]||=[(0,t.createElementVNode)(`circle`,{class:`cc-spinner__track`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-opacity":`0.15`,"stroke-width":`3`},null,-1),(0,t.createElementVNode)(`path`,{class:`cc-spinner__arc`,d:`M12 2a10 10 0 0 1 10 10`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`},null,-1)]],8,n))}}),i=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},a=i(r,[[`__scopeId`,`data-v-00c109fa`]]),o={key:0,class:`cc-btn__spinner`},s={class:`cc-btn__content`},c=i((0,t.defineComponent)({__name:`CcButton`,props:{variant:{default:`primary`},size:{default:`md`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},href:{default:void 0},target:{default:void 0},block:{type:Boolean,default:!1},type:{default:`button`},ariaLabel:{default:void 0}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,c=(0,t.computed)(()=>r.variant===`primary`||r.variant===`on-dark`?`var(--cc-on-primary)`:`var(--cc-primary)`);function l(e){if(r.disabled||r.loading){e.preventDefault();return}i(`click`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.href?`a`:`button`),{class:(0,t.normalizeClass)([`cc-btn`,[`cc-btn--${e.variant}`,`cc-btn--${e.size}`,{"cc-btn--block":e.block,"cc-btn--loading":e.loading}]]),href:e.href||void 0,target:e.href?e.target:void 0,type:e.href?void 0:e.type,disabled:e.href?void 0:e.disabled||e.loading,"aria-label":e.ariaLabel,"aria-busy":e.loading,onClick:l},{default:(0,t.withCtx)(()=>[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o,[(0,t.createVNode)(a,{size:e.size===`sm`?14:16,color:c.value},null,8,[`size`,`color`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,s,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])]),_:3},8,[`class`,`href`,`target`,`type`,`disabled`,`aria-label`,`aria-busy`]))}}),[[`__scopeId`,`data-v-deb42261`]]),l=[`for`],u={key:0,class:`cc-input__prefix tnum`},d=[`id`,`type`,`value`,`name`,`placeholder`,`disabled`,`readonly`,`autocomplete`,`inputmode`,`min`,`max`,`step`,`aria-invalid`],f={key:1,class:`cc-input__message cc-input__message--error`},p={key:2,class:`cc-input__message`},m=i((0,t.defineComponent)({__name:`CcInput`,props:{modelValue:{default:``},label:{default:void 0},placeholder:{default:void 0},type:{default:`text`},name:{default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{default:void 0},hint:{default:void 0},prefix:{default:void 0},autocomplete:{default:void 0},inputmode:{default:void 0},min:{default:void 0},max:{default:void 0},step:{default:void 0}},emits:[`update:modelValue`,`focus`,`blur`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>!!r.error);function o(e){i(`update:modelValue`,e.target.value)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-input`,{"cc-input--error":a.value,"cc-input--disabled":e.disabled}])},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:`cc-input__label`,for:e.name},(0,t.toDisplayString)(e.label),9,l)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`cc-input__field`,{"cc-input__field--prefix":e.prefix}])},[e.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,u,(0,t.toDisplayString)(e.prefix),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:e.name,class:`cc-input__control tnum`,type:e.type,value:e.modelValue,name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,autocomplete:e.autocomplete,inputmode:e.inputmode,min:e.min,max:e.max,step:e.step,"aria-invalid":a.value||void 0,onInput:o,onFocus:r[0]||=e=>i(`focus`,e),onBlur:r[1]||=e=>i(`blur`,e),onChange:r[2]||=e=>i(`change`,e)},null,40,d)],2),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,f,(0,t.toDisplayString)(e.error),1)):e.hint?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,p,(0,t.toDisplayString)(e.hint),1)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-4b6c01de`]]),h=[`for`],g=[`id`,`value`,`name`,`rows`,`placeholder`,`disabled`,`readonly`,`autocomplete`,`aria-invalid`],_={key:1,class:`cc-textarea__message cc-textarea__message--error`},v={key:2,class:`cc-textarea__message`},y=i((0,t.defineComponent)({__name:`CcTextarea`,props:{modelValue:{default:``},label:{default:void 0},placeholder:{default:void 0},name:{default:void 0},rows:{default:4},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{default:void 0},hint:{default:void 0},autocomplete:{default:void 0}},emits:[`update:modelValue`,`focus`,`blur`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>!!r.error);function o(e){i(`update:modelValue`,e.target.value)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-textarea`,{"cc-textarea--error":a.value,"cc-textarea--disabled":e.disabled}])},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:`cc-textarea__label`,for:e.name},(0,t.toDisplayString)(e.label),9,h)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`textarea`,{id:e.name,class:`cc-textarea__control`,value:e.modelValue,name:e.name,rows:e.rows,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,autocomplete:e.autocomplete,"aria-invalid":a.value||void 0,onInput:o,onFocus:r[0]||=e=>i(`focus`,e),onBlur:r[1]||=e=>i(`blur`,e)},null,40,g),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,_,(0,t.toDisplayString)(e.error),1)):e.hint?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,v,(0,t.toDisplayString)(e.hint),1)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-9840d15e`]]),b=[`for`],ee={class:`cc-select__wrap`},te=[`id`,`value`,`name`,`disabled`,`aria-invalid`],ne={key:0,value:``,disabled:``,selected:``},re=[`value`,`disabled`],x={key:1,class:`cc-select__message cc-select__message--error`},S={key:2,class:`cc-select__message`},C=i((0,t.defineComponent)({__name:`CcSelect`,props:{modelValue:{default:``},options:{default:()=>[]},label:{default:void 0},placeholder:{default:void 0},name:{default:void 0},disabled:{type:Boolean,default:!1},error:{default:void 0},hint:{default:void 0}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>!!r.error);function o(e){let t=e.target;i(`update:modelValue`,t.value),i(`change`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-select`,{"cc-select--error":a.value,"cc-select--disabled":e.disabled}])},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:`cc-select__label`,for:e.name},(0,t.toDisplayString)(e.label),9,b)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ee,[(0,t.createElementVNode)(`select`,{id:e.name,class:`cc-select__control`,value:e.modelValue,name:e.name,disabled:e.disabled,"aria-invalid":a.value||void 0,onChange:o},[e.placeholder?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,ne,(0,t.toDisplayString)(e.placeholder),1)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:String(e.value),value:e.value,disabled:e.disabled},(0,t.toDisplayString)(e.label),9,re))),128))],40,te),r[0]||=(0,t.createElementVNode)(`svg`,{class:`cc-select__chevron`,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M4 6l4 4 4-4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,x,(0,t.toDisplayString)(e.error),1)):e.hint?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,S,(0,t.toDisplayString)(e.hint),1)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-0e1871e6`]]),w=[`aria-checked`,`aria-label`,`disabled`],T={key:0,class:`cc-switch__label`},E=i((0,t.defineComponent)({__name:`CcSwitch`,props:(0,t.mergeModels)({label:{default:void 0},disabled:{type:Boolean,default:!1},size:{default:`md`}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`),r=e;function i(){r.disabled||(n.value=!n.value)}return(r,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`cc-switch`,[`cc-switch--${e.size}`,{"cc-switch--checked":n.value,"cc-switch--disabled":e.disabled}]]),role:`switch`,"aria-checked":n.value,"aria-label":e.label||`switch`,disabled:e.disabled,onClick:i},[a[0]||=(0,t.createElementVNode)(`span`,{class:`cc-switch__track`},[(0,t.createElementVNode)(`span`,{class:`cc-switch__knob`})],-1),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,T,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],10,w))}}),[[`__scopeId`,`data-v-cb8ad6ea`]]),D=[`disabled`],O={key:0,class:`cc-checkbox__label`},k=i((0,t.defineComponent)({__name:`CcCheckbox`,props:(0,t.mergeModels)({label:{default:void 0},disabled:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`);return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{class:(0,t.normalizeClass)([`cc-checkbox`,{"cc-checkbox--disabled":e.disabled}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":i[0]||=e=>n.value=e,type:`checkbox`,class:`cc-checkbox__native`,disabled:e.disabled},null,8,D),[[t.vModelCheckbox,n.value]]),i[1]||=(0,t.createElementVNode)(`span`,{class:`cc-checkbox__box`,"aria-hidden":`true`},[(0,t.createElementVNode)(`svg`,{class:`cc-checkbox__check`,width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`},[(0,t.createElementVNode)(`path`,{d:`M2.5 6.2l2.4 2.4 4.6-5`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})])],-1),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,O,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(r.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-bf838053`]]),A=[`value`,`disabled`],j={key:0,class:`cc-radio__label`},M=i((0,t.defineComponent)({__name:`CcRadio`,props:(0,t.mergeModels)({value:{},label:{default:void 0},disabled:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`);return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{class:(0,t.normalizeClass)([`cc-radio`,{"cc-radio--disabled":e.disabled}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":i[0]||=e=>n.value=e,type:`radio`,class:`cc-radio__native`,value:e.value,disabled:e.disabled},null,8,A),[[t.vModelRadio,n.value]]),i[1]||=(0,t.createElementVNode)(`span`,{class:`cc-radio__dot`,"aria-hidden":`true`},null,-1),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,j,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(r.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-0a6c4d47`]]),N={key:0,class:`cc-card__header`},P={key:0,class:`cc-card__title`},F={key:1,class:`cc-card__desc`},I={class:`cc-card__body`},ie={key:0,class:`cc-card__footer`},L=i((0,t.defineComponent)({__name:`CcCard`,props:{variant:{default:`feature`},title:{default:void 0},description:{default:void 0},flush:{type:Boolean,default:!1}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`article`,{class:(0,t.normalizeClass)([`cc-card`,[`cc-card--${e.variant}`,{"cc-card--flush":e.flush}]])},[(0,t.renderSlot)(n.$slots,`header`,{},()=>[e.title||e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`header`,N,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h3`,P,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,F,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],!0),(0,t.createElementVNode)(`div`,I,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`footer`,ie,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-7f39ac3e`]]),R={key:0,class:`cc-tag__dot`},z=i((0,t.defineComponent)({__name:`CcTag`,props:{variant:{default:`soft`},size:{default:`md`},dot:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},emits:[`close`],setup(e,{emit:n}){let r=n;return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`cc-tag`,[`cc-tag--${e.variant}`,`cc-tag--${e.size}`]])},[e.dot?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,R)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`cc-tag__close`,"aria-label":`close tag`,onClick:i[0]||=(0,t.withModifiers)(e=>r(`close`,e),[`stop`])},[...i[1]||=[(0,t.createElementVNode)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M1 1l8 8M9 1l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-858b2086`]]),B={class:`cc-badge__text tnum`},V=i((0,t.defineComponent)({__name:`CcBadge`,props:{count:{default:0},max:{default:99},variant:{default:`soft`},dot:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>{if(n.dot)return``;let e=Number(n.count);return Number.isNaN(e)?String(n.count):e>n.max?`${n.max}+`:String(e)});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`cc-badge`,[`cc-badge--${e.variant}`,{"cc-badge--dot-only":e.dot}]])},[(0,t.createElementVNode)(`span`,B,(0,t.toDisplayString)(r.value),1)],2))}}),[[`__scopeId`,`data-v-466a4bd0`]]),H={class:`cc-alert__content`},U={key:0,class:`cc-alert__title`},W={key:1,class:`cc-alert__desc`},G=i((0,t.defineComponent)({__name:`CcAlert`,props:{variant:{default:`info`},title:{default:void 0},description:{default:void 0},closable:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(!0),i=(0,t.computed)(()=>{switch(n.variant){case`success`:return`var(--cc-success)`;case`warning`:return`var(--cc-warning)`;case`error`:return`var(--cc-error)`;default:return`var(--cc-primary)`}});return(n,a)=>r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`cc-alert`,`cc-alert--${e.variant}`]),role:`alert`},[(0,t.createElementVNode)(`span`,{class:`cc-alert__icon`,style:(0,t.normalizeStyle)({color:i.value}),"aria-hidden":`true`},[...a[1]||=[(0,t.createElementVNode)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},[(0,t.createElementVNode)(`path`,{d:`M8 1.5l6.5 11.25H1.5L8 1.5z`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linejoin":`round`}),(0,t.createElementVNode)(`path`,{d:`M8 6v3.2`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`}),(0,t.createElementVNode)(`circle`,{cx:`8`,cy:`11.2`,r:`0.9`,fill:`currentColor`})],-1)]],4),(0,t.createElementVNode)(`div`,H,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,U,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.description||n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,W,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.description),1)],!0)])):(0,t.createCommentVNode)(``,!0)]),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`cc-alert__close`,"aria-label":`dismiss`,onClick:a[0]||=e=>r.value=!1},[...a[2]||=[(0,t.createElementVNode)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M1 1l8 8M9 1l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0)}}),[[`__scopeId`,`data-v-8671adaf`]]),K=[`aria-label`],q={class:`cc-modal__header`},J={key:0,class:`cc-modal__title`},Y={class:`cc-modal__body`},ae={key:0,class:`cc-modal__footer`},X=i((0,t.defineComponent)({__name:`CcModal`,props:{visible:{type:Boolean,default:!1},title:{default:void 0},width:{default:`480px`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},footer:{type:Boolean,default:!0}},emits:[`update:visible`,`open`,`close`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null);function o(){i(`update:visible`,!1),i(`close`)}function s(e){e.key===`Escape`&&r.visible&&r.closable&&o()}function c(e){r.maskClosable&&e.target===e.currentTarget&&o()}return(0,t.watch)(()=>r.visible,async e=>{e?(i(`open`),await(0,t.nextTick)(),a.value?.focus(),document.body.style.overflow=`hidden`):document.body.style.overflow=``}),(0,t.onMounted)(()=>{document.addEventListener(`keydown`,s)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`keydown`,s),document.body.style.overflow=``}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`cc-modal`},{default:(0,t.withCtx)(()=>[e.visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`cc-modal`,onClick:(0,t.withModifiers)(c,[`self`])},[(0,t.createElementVNode)(`div`,{ref_key:`panel`,ref:a,class:`cc-modal__panel`,style:(0,t.normalizeStyle)({maxWidth:e.width}),role:`dialog`,"aria-modal":`true`,"aria-label":e.title||`dialog`,tabindex:`-1`},[(0,t.createElementVNode)(`header`,q,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h3`,J,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`cc-modal__close`,"aria-label":`close`,onClick:o},[...r[0]||=[(0,t.createElementVNode)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M1 1l8 8M9 1l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Y,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`footer`,ae,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],12,K)])):(0,t.createCommentVNode)(``,!0)]),_:3})]))}}),[[`__scopeId`,`data-v-d2a6d4fd`]]),Z=i((0,t.defineComponent)({__name:`CcTooltip`,props:{content:{default:void 0},placement:{default:`top`},delay:{default:0}},setup(e){let n=e,r=(0,t.ref)(!1),i=null,a=(0,t.computed)(()=>r.value);function o(){n.delay>0?i=setTimeout(()=>r.value=!0,n.delay):r.value=!0}function s(){i&&clearTimeout(i),r.value=!1}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`cc-tooltip`,onMouseenter:o,onMouseleave:s,onFocusin:o,onFocusout:s},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),a.value&&(e.content||n.$slots.tip)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`cc-tooltip__bubble`,`cc-tooltip--${e.placement}`]),role:`tooltip`},[(0,t.renderSlot)(n.$slots,`tip`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)],2)):(0,t.createCommentVNode)(``,!0)],32))}}),[[`__scopeId`,`data-v-2befb04b`]]),oe={key:0,class:`cc-divider__label`},Q=i((0,t.defineComponent)({__name:`CcDivider`,props:{orientation:{default:`horizontal`},height:{default:`1em`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-divider`,[`cc-divider--${e.orientation}`]]),role:`separator`,style:(0,t.normalizeStyle)(e.orientation===`vertical`?{height:e.height}:void 0)},[n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oe,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-c42961cd`]]);function $(e){let t=[[`CcButton`,c],[`CcInput`,m],[`CcTextarea`,y],[`CcSelect`,C],[`CcSwitch`,E],[`CcCheckbox`,k],[`CcRadio`,M],[`CcCard`,L],[`CcTag`,z],[`CcBadge`,V],[`CcAlert`,G],[`CcModal`,X],[`CcTooltip`,Z],[`CcSpinner`,a],[`CcDivider`,Q]];for(let[n,r]of t)e.component(n,r)}var se={install:$,CcButton:c,CcInput:m,CcTextarea:y,CcSelect:C,CcSwitch:E,CcCheckbox:k,CcRadio:M,CcCard:L,CcTag:z,CcBadge:V,CcAlert:G,CcModal:X,CcTooltip:Z,CcSpinner:a,CcDivider:Q};e.CcAlert=G,e.CcBadge=V,e.CcButton=c,e.CcCard=L,e.CcCheckbox=k,e.CcDivider=Q,e.CcInput=m,e.CcModal=X,e.CcRadio=M,e.CcSelect=C,e.CcSpinner=a,e.CcSwitch=E,e.CcTag=z,e.CcTextarea=y,e.CcTooltip=Z,e.default=se,e.install=$});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.CommonComponentLibraryVue={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=[`width`,`height`],r=(0,t.defineComponent)({__name:`CcSpinner`,props:{size:{default:20},color:{default:`var(--cc-primary)`}},setup(e){return(0,t.useCssVars)(e=>({f2187a8a:e.color})),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:`cc-spinner`,width:e.size,height:e.size,viewBox:`0 0 24 24`,fill:`none`,role:`status`,"aria-label":`loading`},[...i[0]||=[(0,t.createElementVNode)(`circle`,{class:`cc-spinner__track`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-opacity":`0.15`,"stroke-width":`3`},null,-1),(0,t.createElementVNode)(`path`,{class:`cc-spinner__arc`,d:`M12 2a10 10 0 0 1 10 10`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`},null,-1)]],8,n))}}),i=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},a=i(r,[[`__scopeId`,`data-v-00c109fa`]]),o={key:0,class:`cc-btn__spinner`},s={class:`cc-btn__content`},c=i((0,t.defineComponent)({__name:`CcButton`,props:{variant:{default:`primary`},size:{default:`md`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},href:{default:void 0},target:{default:void 0},block:{type:Boolean,default:!1},type:{default:`button`},ariaLabel:{default:void 0}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,c=(0,t.computed)(()=>r.variant===`primary`||r.variant===`on-dark`?`var(--cc-on-primary)`:`var(--cc-primary)`);function l(e){if(r.disabled||r.loading){e.preventDefault();return}i(`click`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.href?`a`:`button`),{class:(0,t.normalizeClass)([`cc-btn`,[`cc-btn--${e.variant}`,`cc-btn--${e.size}`,{"cc-btn--block":e.block,"cc-btn--loading":e.loading}]]),href:e.href||void 0,target:e.href?e.target:void 0,type:e.href?void 0:e.type,disabled:e.href?void 0:e.disabled||e.loading,"aria-label":e.ariaLabel,"aria-busy":e.loading,onClick:l},{default:(0,t.withCtx)(()=>[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o,[(0,t.createVNode)(a,{size:e.size===`sm`?14:16,color:c.value},null,8,[`size`,`color`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,s,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])]),_:3},8,[`class`,`href`,`target`,`type`,`disabled`,`aria-label`,`aria-busy`]))}}),[[`__scopeId`,`data-v-deb42261`]]),l=[`for`],u={key:0,class:`cc-input__prefix tnum`},d=[`id`,`type`,`value`,`name`,`placeholder`,`disabled`,`readonly`,`autocomplete`,`inputmode`,`min`,`max`,`step`,`aria-invalid`],f={key:1,class:`cc-input__message cc-input__message--error`},p={key:2,class:`cc-input__message`},m=i((0,t.defineComponent)({__name:`CcInput`,props:{modelValue:{default:``},label:{default:void 0},placeholder:{default:void 0},type:{default:`text`},name:{default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{default:void 0},hint:{default:void 0},prefix:{default:void 0},autocomplete:{default:void 0},inputmode:{default:void 0},min:{default:void 0},max:{default:void 0},step:{default:void 0}},emits:[`update:modelValue`,`focus`,`blur`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>!!r.error);function o(e){i(`update:modelValue`,e.target.value)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-input`,{"cc-input--error":a.value,"cc-input--disabled":e.disabled}])},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:`cc-input__label`,for:e.name},(0,t.toDisplayString)(e.label),9,l)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`cc-input__field`,{"cc-input__field--prefix":e.prefix}])},[e.prefix?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,u,(0,t.toDisplayString)(e.prefix),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:e.name,class:`cc-input__control tnum`,type:e.type,value:e.modelValue,name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,autocomplete:e.autocomplete,inputmode:e.inputmode,min:e.min,max:e.max,step:e.step,"aria-invalid":a.value||void 0,onInput:o,onFocus:r[0]||=e=>i(`focus`,e),onBlur:r[1]||=e=>i(`blur`,e),onChange:r[2]||=e=>i(`change`,e)},null,40,d)],2),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,f,(0,t.toDisplayString)(e.error),1)):e.hint?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,p,(0,t.toDisplayString)(e.hint),1)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-4b6c01de`]]),h=[`for`],g=[`id`,`value`,`name`,`rows`,`placeholder`,`disabled`,`readonly`,`autocomplete`,`aria-invalid`],_={key:1,class:`cc-textarea__message cc-textarea__message--error`},v={key:2,class:`cc-textarea__message`},y=i((0,t.defineComponent)({__name:`CcTextarea`,props:{modelValue:{default:``},label:{default:void 0},placeholder:{default:void 0},name:{default:void 0},rows:{default:4},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{default:void 0},hint:{default:void 0},autocomplete:{default:void 0}},emits:[`update:modelValue`,`focus`,`blur`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>!!r.error);function o(e){i(`update:modelValue`,e.target.value)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-textarea`,{"cc-textarea--error":a.value,"cc-textarea--disabled":e.disabled}])},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:`cc-textarea__label`,for:e.name},(0,t.toDisplayString)(e.label),9,h)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`textarea`,{id:e.name,class:`cc-textarea__control`,value:e.modelValue,name:e.name,rows:e.rows,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,autocomplete:e.autocomplete,"aria-invalid":a.value||void 0,onInput:o,onFocus:r[0]||=e=>i(`focus`,e),onBlur:r[1]||=e=>i(`blur`,e)},null,40,g),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,_,(0,t.toDisplayString)(e.error),1)):e.hint?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,v,(0,t.toDisplayString)(e.hint),1)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-9840d15e`]]),b=[`for`],x={class:`cc-select__wrap`},S=[`id`,`value`,`name`,`disabled`,`aria-invalid`],C={key:0,value:``,disabled:``,selected:``},w=[`value`,`disabled`],T={key:1,class:`cc-select__message cc-select__message--error`},E={key:2,class:`cc-select__message`},D=i((0,t.defineComponent)({__name:`CcSelect`,props:{modelValue:{default:``},options:{default:()=>[]},label:{default:void 0},placeholder:{default:void 0},name:{default:void 0},disabled:{type:Boolean,default:!1},error:{default:void 0},hint:{default:void 0}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>!!r.error);function o(e){let t=e.target;i(`update:modelValue`,t.value),i(`change`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-select`,{"cc-select--error":a.value,"cc-select--disabled":e.disabled}])},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:`cc-select__label`,for:e.name},(0,t.toDisplayString)(e.label),9,b)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,x,[(0,t.createElementVNode)(`select`,{id:e.name,class:`cc-select__control`,value:e.modelValue,name:e.name,disabled:e.disabled,"aria-invalid":a.value||void 0,onChange:o},[e.placeholder?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,C,(0,t.toDisplayString)(e.placeholder),1)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:String(e.value),value:e.value,disabled:e.disabled},(0,t.toDisplayString)(e.label),9,w))),128))],40,S),r[0]||=(0,t.createElementVNode)(`svg`,{class:`cc-select__chevron`,width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M4 6l4 4 4-4`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,T,(0,t.toDisplayString)(e.error),1)):e.hint?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,E,(0,t.toDisplayString)(e.hint),1)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-0e1871e6`]]),O=[`aria-checked`,`aria-label`,`disabled`],k={key:0,class:`cc-switch__label`},A=i((0,t.defineComponent)({__name:`CcSwitch`,props:(0,t.mergeModels)({label:{default:void 0},disabled:{type:Boolean,default:!1},size:{default:`md`}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`),r=e;function i(){r.disabled||(n.value=!n.value)}return(r,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`cc-switch`,[`cc-switch--${e.size}`,{"cc-switch--checked":n.value,"cc-switch--disabled":e.disabled}]]),role:`switch`,"aria-checked":n.value,"aria-label":e.label||`switch`,disabled:e.disabled,onClick:i},[a[0]||=(0,t.createElementVNode)(`span`,{class:`cc-switch__track`},[(0,t.createElementVNode)(`span`,{class:`cc-switch__knob`})],-1),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,k,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],10,O))}}),[[`__scopeId`,`data-v-cb8ad6ea`]]),j=[`disabled`],M={key:0,class:`cc-checkbox__label`},N=i((0,t.defineComponent)({__name:`CcCheckbox`,props:(0,t.mergeModels)({label:{default:void 0},disabled:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`);return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{class:(0,t.normalizeClass)([`cc-checkbox`,{"cc-checkbox--disabled":e.disabled}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":i[0]||=e=>n.value=e,type:`checkbox`,class:`cc-checkbox__native`,disabled:e.disabled},null,8,j),[[t.vModelCheckbox,n.value]]),i[1]||=(0,t.createElementVNode)(`span`,{class:`cc-checkbox__box`,"aria-hidden":`true`},[(0,t.createElementVNode)(`svg`,{class:`cc-checkbox__check`,width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`},[(0,t.createElementVNode)(`path`,{d:`M2.5 6.2l2.4 2.4 4.6-5`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})])],-1),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,M,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(r.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-bf838053`]]),P=[`value`,`disabled`],F={key:0,class:`cc-radio__label`},I=i((0,t.defineComponent)({__name:`CcRadio`,props:(0,t.mergeModels)({value:{},label:{default:void 0},disabled:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=(0,t.useModel)(e,`modelValue`);return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{class:(0,t.normalizeClass)([`cc-radio`,{"cc-radio--disabled":e.disabled}])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":i[0]||=e=>n.value=e,type:`radio`,class:`cc-radio__native`,value:e.value,disabled:e.disabled},null,8,P),[[t.vModelRadio,n.value]]),i[1]||=(0,t.createElementVNode)(`span`,{class:`cc-radio__dot`,"aria-hidden":`true`},null,-1),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,F,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(r.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-0a6c4d47`]]),L={key:0,class:`cc-card__header`},R={key:0,class:`cc-card__title`},z={key:1,class:`cc-card__desc`},B={class:`cc-card__body`},V={key:0,class:`cc-card__footer`},H=i((0,t.defineComponent)({__name:`CcCard`,props:{variant:{default:`feature`},title:{default:void 0},description:{default:void 0},flush:{type:Boolean,default:!1}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`article`,{class:(0,t.normalizeClass)([`cc-card`,[`cc-card--${e.variant}`,{"cc-card--flush":e.flush}]])},[(0,t.renderSlot)(n.$slots,`header`,{},()=>[e.title||e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`header`,L,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h3`,R,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,z,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],!0),(0,t.createElementVNode)(`div`,B,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`footer`,V,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-7f39ac3e`]]),U={key:0,class:`cc-tag__dot`},W=i((0,t.defineComponent)({__name:`CcTag`,props:{variant:{default:`soft`},size:{default:`md`},dot:{type:Boolean,default:!1},closable:{type:Boolean,default:!1}},emits:[`close`],setup(e,{emit:n}){let r=n;return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`cc-tag`,[`cc-tag--${e.variant}`,`cc-tag--${e.size}`]])},[e.dot?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,U)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`cc-tag__close`,"aria-label":`close tag`,onClick:i[0]||=(0,t.withModifiers)(e=>r(`close`,e),[`stop`])},[...i[1]||=[(0,t.createElementVNode)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M1 1l8 8M9 1l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-858b2086`]]),G={class:`cc-badge__text tnum`},K=i((0,t.defineComponent)({__name:`CcBadge`,props:{count:{default:0},max:{default:99},variant:{default:`soft`},dot:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>{if(n.dot)return``;let e=Number(n.count);return Number.isNaN(e)?String(n.count):e>n.max?`${n.max}+`:String(e)});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`cc-badge`,[`cc-badge--${e.variant}`,{"cc-badge--dot-only":e.dot}]])},[(0,t.createElementVNode)(`span`,G,(0,t.toDisplayString)(r.value),1)],2))}}),[[`__scopeId`,`data-v-466a4bd0`]]),ee={class:`cc-alert__content`},te={key:0,class:`cc-alert__title`},ne={key:1,class:`cc-alert__desc`},q=i((0,t.defineComponent)({__name:`CcAlert`,props:{variant:{default:`info`},title:{default:void 0},description:{default:void 0},closable:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(!0),i=(0,t.computed)(()=>{switch(n.variant){case`success`:return`var(--cc-success)`;case`warning`:return`var(--cc-warning)`;case`error`:return`var(--cc-error)`;default:return`var(--cc-primary)`}});return(n,a)=>r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`cc-alert`,`cc-alert--${e.variant}`]),role:`alert`},[(0,t.createElementVNode)(`span`,{class:`cc-alert__icon`,style:(0,t.normalizeStyle)({color:i.value}),"aria-hidden":`true`},[...a[1]||=[(0,t.createElementVNode)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`},[(0,t.createElementVNode)(`path`,{d:`M8 1.5l6.5 11.25H1.5L8 1.5z`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linejoin":`round`}),(0,t.createElementVNode)(`path`,{d:`M8 6v3.2`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`}),(0,t.createElementVNode)(`circle`,{cx:`8`,cy:`11.2`,r:`0.9`,fill:`currentColor`})],-1)]],4),(0,t.createElementVNode)(`div`,ee,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,te,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.description||n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,ne,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.description),1)],!0)])):(0,t.createCommentVNode)(``,!0)]),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`cc-alert__close`,"aria-label":`dismiss`,onClick:a[0]||=e=>r.value=!1},[...a[2]||=[(0,t.createElementVNode)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M1 1l8 8M9 1l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0)}}),[[`__scopeId`,`data-v-8671adaf`]]),re=[`aria-label`],ie={class:`cc-modal__header`},ae={key:0,class:`cc-modal__title`},oe={class:`cc-modal__body`},se={key:0,class:`cc-modal__footer`},J=i((0,t.defineComponent)({__name:`CcModal`,props:{visible:{type:Boolean,default:!1},title:{default:void 0},width:{default:`480px`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},footer:{type:Boolean,default:!0}},emits:[`update:visible`,`open`,`close`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null);function o(){i(`update:visible`,!1),i(`close`)}function s(e){e.key===`Escape`&&r.visible&&r.closable&&o()}function c(e){r.maskClosable&&e.target===e.currentTarget&&o()}return(0,t.watch)(()=>r.visible,async e=>{e?(i(`open`),await(0,t.nextTick)(),a.value?.focus(),document.body.style.overflow=`hidden`):document.body.style.overflow=``}),(0,t.onMounted)(()=>{document.addEventListener(`keydown`,s)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`keydown`,s),document.body.style.overflow=``}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{name:`cc-modal`},{default:(0,t.withCtx)(()=>[e.visible?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`cc-modal`,onClick:(0,t.withModifiers)(c,[`self`])},[(0,t.createElementVNode)(`div`,{ref_key:`panel`,ref:a,class:`cc-modal__panel`,style:(0,t.normalizeStyle)({maxWidth:e.width}),role:`dialog`,"aria-modal":`true`,"aria-label":e.title||`dialog`,tabindex:`-1`},[(0,t.createElementVNode)(`header`,ie,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h3`,ae,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`cc-modal__close`,"aria-label":`close`,onClick:o},[...r[0]||=[(0,t.createElementVNode)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 10 10`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M1 1l8 8M9 1l-8 8`,stroke:`currentColor`,"stroke-width":`1.4`,"stroke-linecap":`round`})],-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,oe,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`footer`,se,[(0,t.renderSlot)(n.$slots,`footer`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],12,re)])):(0,t.createCommentVNode)(``,!0)]),_:3})]))}}),[[`__scopeId`,`data-v-d2a6d4fd`]]),Y=i((0,t.defineComponent)({__name:`CcTooltip`,props:{content:{default:void 0},placement:{default:`top`},delay:{default:0}},setup(e){let n=e,r=(0,t.ref)(!1),i=null,a=(0,t.computed)(()=>r.value);function o(){n.delay>0?i=setTimeout(()=>r.value=!0,n.delay):r.value=!0}function s(){i&&clearTimeout(i),r.value=!1}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`cc-tooltip`,onMouseenter:o,onMouseleave:s,onFocusin:o,onFocusout:s},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),a.value&&(e.content||n.$slots.tip)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`cc-tooltip__bubble`,`cc-tooltip--${e.placement}`]),role:`tooltip`},[(0,t.renderSlot)(n.$slots,`tip`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)],!0)],2)):(0,t.createCommentVNode)(``,!0)],32))}}),[[`__scopeId`,`data-v-2befb04b`]]),ce={key:0,class:`cc-divider__label`},X=i((0,t.defineComponent)({__name:`CcDivider`,props:{orientation:{default:`horizontal`},height:{default:`1em`}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`cc-divider`,[`cc-divider--${e.orientation}`]]),role:`separator`,style:(0,t.normalizeStyle)(e.orientation===`vertical`?{height:e.height}:void 0)},[n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ce,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-c42961cd`]]),le={class:`cc-table`},ue={class:`cc-table__toolbar`},de={class:`cc-table__filters`},fe={key:0,class:`cc-table__filter`},pe={class:`cc-table__filter-label`},me=[`onUpdate:modelValue`],he=[`value`],ge={key:1,class:`cc-table__filter`},_e={class:`cc-table__filter-label`},ve=[`onUpdate:modelValue`,`placeholder`],ye={class:`cc-table__settings`},be={class:`cc-table__settings-panel`},xe={class:`cc-table__settings-section`},Se={class:`cc-table__density`},Ce=[`onClick`],we={class:`cc-table__settings-section`},Te={class:`cc-table__settings-cols`},Ee=[`draggable`,`onDragstart`,`onDragover`,`onDrop`],De=[`checked`,`indeterminate`],Oe={key:1,class:`cc-table__th-title`},ke={key:0,class:`cc-table__drag-handle`,width:`10`,height:`14`,viewBox:`0 0 10 14`,fill:`none`,"aria-hidden":`true`},Ae={key:0},je=[`colspan`],Me=[`checked`,`aria-label`,`onChange`],Ne={class:`cc-table__footer`},Pe={class:`cc-table__total`},Fe={class:`cc-table__pager`},Ie=[`value`],Le=[`disabled`],Re=[`onClick`],ze={key:1,class:`cc-table__page-ellipsis`},Be=[`disabled`],Ve=`__selection__`,Z=48,Q=i((0,t.defineComponent)({__name:`CcTable`,props:(0,t.mergeModels)({columns:{},data:{},rowKey:{default:`id`},tableKey:{default:`default`},showSelection:{type:Boolean,default:!0},pageSizeOptions:{default:()=>[10,20,50]},defaultDensity:{default:`medium`},emptyText:{default:`暂无数据`},maxHeight:{default:void 0}},{selectedKeys:{default:()=>[]},selectedKeysModifiers:{}}),emits:(0,t.mergeModels)([`selection-change`],[`update:selectedKeys`]),setup(e,{emit:n}){let r=e,i=(0,t.useModel)(e,`selectedKeys`),a=n,o=[{label:`大`,value:`large`},{label:`中`,value:`medium`},{label:`小`,value:`small`}],s=(0,t.computed)(()=>`cc-table:${r.tableKey}`),l=(0,t.ref)([]),u=(0,t.reactive)({}),d=(0,t.ref)(r.defaultDensity),f=(0,t.ref)(!1);function p(){let e=null;try{let t=localStorage.getItem(s.value);t&&(e=JSON.parse(t))}catch{e=null}let t=r.columns.map(e=>e.key),n=(e?.order??[]).filter(e=>t.includes(e));l.value=[...n,...t.filter(e=>!n.includes(e))];for(let n of t)u[n]=e?.visibility?.[n]??!0;e?.density&&o.some(t=>t.value===e.density)&&(d.value=e.density)}function m(){let e={v:1,order:l.value,visibility:{...u},density:d.value};try{localStorage.setItem(s.value,JSON.stringify(e))}catch{}}function h(){l.value=r.columns.map(e=>e.key);for(let e of r.columns.map(e=>e.key))u[e]=!0;d.value=r.defaultDensity,f.value=!1}(0,t.watch)([l,u,d],m,{deep:!0}),(0,t.watch)(()=>r.columns.map(e=>e.key),e=>{for(let t of e)l.value.includes(t)||l.value.push(t),u[t]===void 0&&(u[t]=!0)});function g(e){return e.width??140}let _=(0,t.computed)(()=>r.columns.filter(e=>!e.fixed)),v=(0,t.computed)(()=>{let e=new Map(l.value.map((e,t)=>[e,t]));return r.columns.filter(e=>!e.fixed).filter(e=>u[e.key]!==!1).sort((t,n)=>(e.get(t.key)??0)-(e.get(n.key)??0))}),y=(0,t.computed)(()=>{let e=[],t=e=>({key:e.key,title:e.title,width:g(e),slot:e.slot??``,align:e.align??`left`,fixed:e.fixed,filterable:e.filterable,filterType:e.filterType??`text`,filterOptions:e.filterOptions,formatter:e.formatter});r.showSelection&&e.push({key:Ve,title:``,width:Z,slot:``,align:`center`,left:0,isSelection:!0});let n=r.columns.filter(e=>e.fixed===`left`),i=r.showSelection?Z:0;n.forEach((r,a)=>{e.push({...t(r),left:i,isLastLeftFixed:a===n.length-1}),i+=g(r)});for(let n of v.value)e.push(t(n));let a=r.columns.filter(e=>e.fixed===`right`),o=0,s=new Map;for(let e=a.length-1;e>=0;e--)s.set(a[e].key,o),o+=g(a[e]);for(let n of a)e.push({...t(n),right:s.get(n.key)});return e}),b=(0,t.ref)(null),x=(0,t.ref)(null);function S(e){return!e.fixed&&!e.isSelection}function C(e,t){S(e)&&(b.value=e.key,x.value=null,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e.key)))}function w(e,t){b.value&&e.key!==b.value&&S(e)&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),x.value=e.key)}function T(e,t){t.preventDefault();let n=b.value;if(!n||n===e.key)return;let i=v.value.map(e=>e.key),a=i.indexOf(n),o=i.indexOf(e.key);if(a<0||o<0)return;let s=[...i];s.splice(a,1);let c=a<o?o-1:o;s.splice(c,0,n);let u=r.columns.filter(e=>e.fixed===`left`).map(e=>e.key),d=r.columns.filter(e=>e.fixed===`right`).map(e=>e.key);l.value=[...u,...s,...d],x.value=null}function E(){b.value=null,x.value=null}let D=(0,t.reactive)({}),O=(0,t.computed)(()=>y.value.filter(e=>e.filterable&&!e.isSelection)),k=(0,t.computed)(()=>Object.values(D).some(e=>e!==``)),A=(0,t.computed)(()=>{let e=Object.entries(D).filter(([,e])=>e!==``);return e.length?r.data.filter(t=>e.every(([e,n])=>{let i=t[e];return i==null?!1:r.columns.find(t=>t.key===e)?.filterType===`select`?String(i)===n:String(i).toLowerCase().includes(n.toLowerCase())})):r.data});function j(){for(let e of Object.keys(D))D[e]=``;P.value=1}let M=(0,t.ref)(r.pageSizeOptions[0]??10),P=(0,t.ref)(1),F=(0,t.computed)(()=>Math.max(1,Math.ceil(A.value.length/M.value))),I=(0,t.computed)(()=>A.value.slice((P.value-1)*M.value,P.value*M.value)),L=(0,t.computed)(()=>{let e=F.value,t=P.value;if(e<=7)return Array.from({length:e},(e,t)=>t+1);let n=[...new Set([1,e,t-1,t,t+1])].filter(t=>t>=1&&t<=e).sort((e,t)=>e-t),r=[],i=0;for(let e of n)e-i>1&&r.push(`…`),r.push(e),i=e;return r});(0,t.watch)([A,M],()=>{P.value>F.value&&(P.value=F.value)});function R(e){P.value=Math.min(Math.max(1,e),F.value)}function z(e){let t=e[r.rowKey];return t==null?JSON.stringify(e):String(t)}function B(e){return i.value.includes(z(e))}function V(e){let t=z(e);i.value.includes(t)?i.value=i.value.filter(e=>e!==t):i.value=[...i.value,t]}let H=(0,t.computed)(()=>I.value.length>0&&I.value.every(e=>B(e))),U=(0,t.computed)(()=>!H.value&&I.value.some(e=>B(e)));function W(){if(H.value){let e=new Set(I.value.map(e=>z(e)));i.value=i.value.filter(t=>!e.has(t))}else{let e=new Set(i.value);for(let t of I.value)e.add(z(t));i.value=[...e]}}(0,t.watch)(i,e=>{let t=e.map(e=>r.data.find(t=>z(t)===e)).filter(e=>!!e);a(`selection-change`,e,t)},{deep:!0});function G(e,t){let n=t[e.key];return n==null?`—`:e.formatter?e.formatter(n,t):String(n)}return(0,t.onMounted)(p),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,le,[(0,t.createElementVNode)(`div`,ue,[(0,t.createElementVNode)(`div`,de,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(O.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.key},[e.filterType===`select`?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,fe,[(0,t.createElementVNode)(`span`,pe,(0,t.toDisplayString)(e.title),1),(0,t.withDirectives)((0,t.createElementVNode)(`select`,{"onUpdate:modelValue":t=>D[e.key]=t,class:`cc-table__filter-control`},[r[5]||=(0,t.createElementVNode)(`option`,{value:``},`全部`,-1),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.filterOptions,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:String(e.value),value:String(e.value)},(0,t.toDisplayString)(e.label),9,he))),128))],8,me),[[t.vModelSelect,D[e.key]]])])):((0,t.openBlock)(),(0,t.createElementBlock)(`label`,ge,[(0,t.createElementVNode)(`span`,_e,(0,t.toDisplayString)(e.title),1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":t=>D[e.key]=t,class:`cc-table__filter-control`,type:`text`,placeholder:`搜索${e.title}`},null,8,ve),[[t.vModelText,D[e.key]]])]))],64))),128)),k.value?((0,t.openBlock)(),(0,t.createBlock)(c,{key:0,size:`sm`,variant:`ghost`,onClick:j},{default:(0,t.withCtx)(()=>[...r[6]||=[(0,t.createTextVNode)(` 重置 `,-1)]]),_:1})):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,ye,[(0,t.createVNode)(c,{size:`sm`,variant:`secondary`,onClick:r[0]||=e=>f.value=!f.value},{default:(0,t.withCtx)(()=>[...r[7]||=[(0,t.createTextVNode)(` 列设置 `,-1)]]),_:1}),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,{class:`cc-table__backdrop`,onClick:r[1]||=e=>f.value=!1}),(0,t.createElementVNode)(`div`,be,[(0,t.createElementVNode)(`div`,xe,[r[8]||=(0,t.createElementVNode)(`div`,{class:`cc-table__settings-title`},`表格密度`,-1),(0,t.createElementVNode)(`div`,Se,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o,e=>(0,t.createElementVNode)(`button`,{key:e.value,type:`button`,class:(0,t.normalizeClass)([`cc-table__density-btn`,{"cc-table__density-btn--active":d.value===e.value}]),onClick:t=>d.value=e.value},(0,t.toDisplayString)(e.label),11,Ce)),64))])]),(0,t.createElementVNode)(`div`,we,[r[9]||=(0,t.createElementVNode)(`div`,{class:`cc-table__settings-title`},`显示列`,-1),(0,t.createElementVNode)(`div`,Te,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_.value,e=>((0,t.openBlock)(),(0,t.createBlock)(N,{key:e.key,modelValue:u[e.key],"onUpdate:modelValue":t=>u[e.key]=t},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`]))),128))])]),(0,t.createElementVNode)(`button`,{type:`button`,class:`cc-table__settings-reset`,onClick:h},`恢复默认`)])],64)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,{class:`cc-table__scroll`,style:(0,t.normalizeStyle)({maxHeight:e.maxHeight})},[(0,t.createElementVNode)(`table`,{class:(0,t.normalizeClass)([`cc-table__table`,`cc-table--${d.value}`])},[(0,t.createElementVNode)(`colgroup`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(y.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`col`,{key:e.key,style:(0,t.normalizeStyle)({width:`${e.width}px`})},null,4))),128))]),(0,t.createElementVNode)(`thead`,null,[(0,t.createElementVNode)(`tr`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(y.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:e.key,class:(0,t.normalizeClass)([`cc-table__th`,[`cc-table__cell--${e.align}`,{"cc-table__th--fixed-left":e.fixed===`left`||e.isSelection},{"cc-table__th--fixed-left-end":e.isLastLeftFixed},{"cc-table__th--fixed-right":e.fixed===`right`},{"cc-table__th--draggable":S(e)},{"cc-table__th--dragging":b.value===e.key},{"cc-table__th--drop-target":x.value===e.key}]]),style:(0,t.normalizeStyle)({left:e.left==null?void 0:`${e.left}px`,right:e.right==null?void 0:`${e.right}px`}),draggable:S(e),onDragstart:t=>C(e,t),onDragover:t=>w(e,t),onDrop:t=>T(e,t),onDragend:E},[e.isSelection?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,type:`checkbox`,class:`cc-table__check`,checked:H.value,indeterminate:U.value,"aria-label":`选择本页全部`,onChange:W},null,40,De)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Oe,[(0,t.createTextVNode)((0,t.toDisplayString)(e.title)+` `,1),S(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,ke,[...r[10]||=[(0,t.createStaticVNode)(`<circle cx="3" cy="2.5" r="1" fill="currentColor" data-v-e1238af3></circle><circle cx="7" cy="2.5" r="1" fill="currentColor" data-v-e1238af3></circle><circle cx="3" cy="7" r="1" fill="currentColor" data-v-e1238af3></circle><circle cx="7" cy="7" r="1" fill="currentColor" data-v-e1238af3></circle><circle cx="3" cy="11.5" r="1" fill="currentColor" data-v-e1238af3></circle><circle cx="7" cy="11.5" r="1" fill="currentColor" data-v-e1238af3></circle>`,6)]])):(0,t.createCommentVNode)(``,!0)]))],46,Ee))),128))])]),(0,t.createElementVNode)(`tbody`,null,[I.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,Ae,[(0,t.createElementVNode)(`td`,{class:`cc-table__empty`,colspan:y.value.length},(0,t.toDisplayString)(e.emptyText),9,je)])),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(I.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:z(e),class:`cc-table__row`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(y.value,r=>((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:r.key,class:(0,t.normalizeClass)([`cc-table__td`,[`cc-table__cell--${r.align}`,{"cc-table__td--fixed-left":r.fixed===`left`||r.isSelection},{"cc-table__td--fixed-left-end":r.isLastLeftFixed},{"cc-table__td--fixed-right":r.fixed===`right`}]]),style:(0,t.normalizeStyle)({left:r.left==null?void 0:`${r.left}px`,right:r.right==null?void 0:`${r.right}px`})},[r.isSelection?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,type:`checkbox`,class:`cc-table__check`,checked:B(e),"aria-label":`选择第 ${z(e)} 行`,onChange:t=>V(e)},null,40,Me)):r.slot?(0,t.renderSlot)(n.$slots,r.slot,{row:e,value:e[r.key]},void 0,!0,1):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createTextVNode)((0,t.toDisplayString)(G(r,e)),1)],64))],6))),128))]))),128))])],2)],4),(0,t.createElementVNode)(`div`,Ne,[(0,t.createElementVNode)(`span`,Pe,`共 `+(0,t.toDisplayString)(A.value.length)+` 条`,1),(0,t.createElementVNode)(`div`,Fe,[r[13]||=(0,t.createElementVNode)(`span`,{class:`cc-table__pager-size`},`每页`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`select`,{"onUpdate:modelValue":r[2]||=e=>M.value=e,class:`cc-table__pagesize`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.pageSizeOptions,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Ie))),128))],512),[[t.vModelSelect,M.value,void 0,{number:!0}]]),r[14]||=(0,t.createElementVNode)(`span`,{class:`cc-table__pager-size`},`条`,-1),(0,t.createElementVNode)(`button`,{type:`button`,class:`cc-table__page-btn`,disabled:P.value<=1,"aria-label":`上一页`,onClick:r[3]||=e=>R(P.value-1)},[...r[11]||=[(0,t.createElementVNode)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M10 4l-4 4 4 4`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]],8,Le),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(L.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:`${e}-${n}`},[e===`…`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ze,`…`)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:(0,t.normalizeClass)([`cc-table__page-btn cc-table__page-btn--num`,{"cc-table__page-btn--active":P.value===e}]),onClick:t=>R(e)},(0,t.toDisplayString)(e),11,Re))],64))),128)),(0,t.createElementVNode)(`button`,{type:`button`,class:`cc-table__page-btn`,disabled:P.value>=F.value,"aria-label":`下一页`,onClick:r[4]||=e=>R(P.value+1)},[...r[12]||=[(0,t.createElementVNode)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{d:`M6 4l4 4-4 4`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]],8,Be)])])]))}}),[[`__scopeId`,`data-v-e1238af3`]]);function $(e){let t=[[`CcButton`,c],[`CcInput`,m],[`CcTextarea`,y],[`CcSelect`,D],[`CcSwitch`,A],[`CcCheckbox`,N],[`CcRadio`,I],[`CcCard`,H],[`CcTag`,W],[`CcBadge`,K],[`CcAlert`,q],[`CcModal`,J],[`CcTooltip`,Y],[`CcSpinner`,a],[`CcDivider`,X],[`CcTable`,Q]];for(let[n,r]of t)e.component(n,r)}var He={install:$,CcButton:c,CcInput:m,CcTextarea:y,CcSelect:D,CcSwitch:A,CcCheckbox:N,CcRadio:I,CcCard:H,CcTag:W,CcBadge:K,CcAlert:q,CcModal:J,CcTooltip:Y,CcSpinner:a,CcDivider:X,CcTable:Q};e.CcAlert=q,e.CcBadge=K,e.CcButton=c,e.CcCard=H,e.CcCheckbox=N,e.CcDivider=X,e.CcInput=m,e.CcModal=J,e.CcRadio=I,e.CcSelect=D,e.CcSpinner=a,e.CcSwitch=A,e.CcTable=Q,e.CcTag=W,e.CcTextarea=y,e.CcTooltip=Y,e.default=He,e.install=$});
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export type CcTableDensity = 'large' | 'medium' | 'small';
|
|
2
|
+
export interface CcTableColumn {
|
|
3
|
+
/** unique key — also the row field name used for cell rendering */
|
|
4
|
+
key: string;
|
|
5
|
+
/** header title */
|
|
6
|
+
title: string;
|
|
7
|
+
/** column width in px (default 140) */
|
|
8
|
+
width?: number;
|
|
9
|
+
/** pin column: 'left' | 'right' — pinned columns cannot be dragged or hidden */
|
|
10
|
+
fixed?: 'left' | 'right';
|
|
11
|
+
/** show a filter control for this column */
|
|
12
|
+
filterable?: boolean;
|
|
13
|
+
/** 'text' = contains match (default) · 'select' = exact match against filterOptions */
|
|
14
|
+
filterType?: 'text' | 'select';
|
|
15
|
+
filterOptions?: Array<{
|
|
16
|
+
label: string;
|
|
17
|
+
value: string | number;
|
|
18
|
+
}>;
|
|
19
|
+
/** named slot for custom cell rendering */
|
|
20
|
+
slot?: string;
|
|
21
|
+
/** custom cell text formatter */
|
|
22
|
+
formatter?: (value: unknown, row: Record<string, unknown>) => string;
|
|
23
|
+
align?: 'left' | 'center' | 'right';
|
|
24
|
+
}
|
|
25
|
+
type __VLS_Props = {
|
|
26
|
+
columns: CcTableColumn[];
|
|
27
|
+
data: Array<Record<string, unknown>>;
|
|
28
|
+
/** row identity field (default 'id') */
|
|
29
|
+
rowKey?: string;
|
|
30
|
+
/** localStorage namespace — use a stable unique key per table */
|
|
31
|
+
tableKey?: string;
|
|
32
|
+
/** render the leading selection column */
|
|
33
|
+
showSelection?: boolean;
|
|
34
|
+
pageSizeOptions?: number[];
|
|
35
|
+
defaultDensity?: CcTableDensity;
|
|
36
|
+
emptyText?: string;
|
|
37
|
+
maxHeight?: string;
|
|
38
|
+
};
|
|
39
|
+
type __VLS_ModelProps = {
|
|
40
|
+
'selectedKeys'?: string[];
|
|
41
|
+
};
|
|
42
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
43
|
+
declare var __VLS_24: string, __VLS_25: {
|
|
44
|
+
row: Record<string, unknown>;
|
|
45
|
+
value: unknown;
|
|
46
|
+
};
|
|
47
|
+
type __VLS_Slots = {} & {
|
|
48
|
+
[K in NonNullable<typeof __VLS_24>]?: (props: typeof __VLS_25) => any;
|
|
49
|
+
};
|
|
50
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
51
|
+
"update:selectedKeys": (value: string[]) => any;
|
|
52
|
+
} & {
|
|
53
|
+
"selection-change": (keys: string[], rows: Record<string, unknown>[]) => any;
|
|
54
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
55
|
+
"onSelection-change"?: ((keys: string[], rows: Record<string, unknown>[]) => any) | undefined;
|
|
56
|
+
"onUpdate:selectedKeys"?: ((value: string[]) => any) | undefined;
|
|
57
|
+
}>, {
|
|
58
|
+
rowKey: string;
|
|
59
|
+
tableKey: string;
|
|
60
|
+
showSelection: boolean;
|
|
61
|
+
pageSizeOptions: number[];
|
|
62
|
+
defaultDensity: CcTableDensity;
|
|
63
|
+
emptyText: string;
|
|
64
|
+
maxHeight: string;
|
|
65
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
66
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
67
|
+
declare const _default: typeof __VLS_export;
|
|
68
|
+
export default _default;
|
|
69
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
70
|
+
new (): {
|
|
71
|
+
$slots: S;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
@@ -24,8 +24,10 @@ import CcModal from './components/Modal/CcModal.vue';
|
|
|
24
24
|
import CcTooltip from './components/Tooltip/CcTooltip.vue';
|
|
25
25
|
import CcSpinner from './components/Spinner/CcSpinner.vue';
|
|
26
26
|
import CcDivider from './components/Divider/CcDivider.vue';
|
|
27
|
-
|
|
27
|
+
import CcTable from './components/Table/CcTable.vue';
|
|
28
|
+
export { CcButton, CcInput, CcTextarea, CcSelect, CcSwitch, CcCheckbox, CcRadio, CcCard, CcTag, CcBadge, CcAlert, CcModal, CcTooltip, CcSpinner, CcDivider, CcTable, };
|
|
28
29
|
export type { CcSelectOption } from './components/Select/CcSelect.vue';
|
|
30
|
+
export type { CcTableColumn, CcTableDensity } from './components/Table/CcTable.vue';
|
|
29
31
|
/** Design tokens (CSS custom properties) — import once in your app entry */
|
|
30
32
|
import './styles/tokens.css';
|
|
31
33
|
import './styles/base.css';
|
|
@@ -720,6 +722,103 @@ declare const _default: {
|
|
|
720
722
|
default?: (props: {}) => any;
|
|
721
723
|
};
|
|
722
724
|
});
|
|
725
|
+
CcTable: {
|
|
726
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
727
|
+
columns: import("./index.ts").CcTableColumn[];
|
|
728
|
+
data: Array<Record<string, unknown>>;
|
|
729
|
+
rowKey?: string;
|
|
730
|
+
tableKey?: string;
|
|
731
|
+
showSelection?: boolean;
|
|
732
|
+
pageSizeOptions?: number[];
|
|
733
|
+
defaultDensity?: import("./index.ts").CcTableDensity;
|
|
734
|
+
emptyText?: string;
|
|
735
|
+
maxHeight?: string;
|
|
736
|
+
} & {
|
|
737
|
+
selectedKeys?: string[];
|
|
738
|
+
}> & Readonly<{
|
|
739
|
+
"onSelection-change"?: ((keys: string[], rows: Record<string, unknown>[]) => any) | undefined;
|
|
740
|
+
"onUpdate:selectedKeys"?: ((value: string[]) => any) | undefined;
|
|
741
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
742
|
+
"update:selectedKeys": (value: string[]) => any;
|
|
743
|
+
} & {
|
|
744
|
+
"selection-change": (keys: string[], rows: Record<string, unknown>[]) => any;
|
|
745
|
+
}, import("vue").PublicProps, {
|
|
746
|
+
rowKey: string;
|
|
747
|
+
tableKey: string;
|
|
748
|
+
showSelection: boolean;
|
|
749
|
+
pageSizeOptions: number[];
|
|
750
|
+
defaultDensity: import("./index.ts").CcTableDensity;
|
|
751
|
+
emptyText: string;
|
|
752
|
+
maxHeight: string;
|
|
753
|
+
}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
754
|
+
P: {};
|
|
755
|
+
B: {};
|
|
756
|
+
D: {};
|
|
757
|
+
C: {};
|
|
758
|
+
M: {};
|
|
759
|
+
Defaults: {};
|
|
760
|
+
}, Readonly<{
|
|
761
|
+
columns: import("./index.ts").CcTableColumn[];
|
|
762
|
+
data: Array<Record<string, unknown>>;
|
|
763
|
+
rowKey?: string;
|
|
764
|
+
tableKey?: string;
|
|
765
|
+
showSelection?: boolean;
|
|
766
|
+
pageSizeOptions?: number[];
|
|
767
|
+
defaultDensity?: import("./index.ts").CcTableDensity;
|
|
768
|
+
emptyText?: string;
|
|
769
|
+
maxHeight?: string;
|
|
770
|
+
} & {
|
|
771
|
+
selectedKeys?: string[];
|
|
772
|
+
}> & Readonly<{
|
|
773
|
+
"onSelection-change"?: ((keys: string[], rows: Record<string, unknown>[]) => any) | undefined;
|
|
774
|
+
"onUpdate:selectedKeys"?: ((value: string[]) => any) | undefined;
|
|
775
|
+
}>, {}, {}, {}, {}, {
|
|
776
|
+
rowKey: string;
|
|
777
|
+
tableKey: string;
|
|
778
|
+
showSelection: boolean;
|
|
779
|
+
pageSizeOptions: number[];
|
|
780
|
+
defaultDensity: import("./index.ts").CcTableDensity;
|
|
781
|
+
emptyText: string;
|
|
782
|
+
maxHeight: string;
|
|
783
|
+
}>;
|
|
784
|
+
__isFragment?: never;
|
|
785
|
+
__isTeleport?: never;
|
|
786
|
+
__isSuspense?: never;
|
|
787
|
+
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
788
|
+
columns: import("./index.ts").CcTableColumn[];
|
|
789
|
+
data: Array<Record<string, unknown>>;
|
|
790
|
+
rowKey?: string;
|
|
791
|
+
tableKey?: string;
|
|
792
|
+
showSelection?: boolean;
|
|
793
|
+
pageSizeOptions?: number[];
|
|
794
|
+
defaultDensity?: import("./index.ts").CcTableDensity;
|
|
795
|
+
emptyText?: string;
|
|
796
|
+
maxHeight?: string;
|
|
797
|
+
} & {
|
|
798
|
+
selectedKeys?: string[];
|
|
799
|
+
}> & Readonly<{
|
|
800
|
+
"onSelection-change"?: ((keys: string[], rows: Record<string, unknown>[]) => any) | undefined;
|
|
801
|
+
"onUpdate:selectedKeys"?: ((value: string[]) => any) | undefined;
|
|
802
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
803
|
+
"update:selectedKeys": (value: string[]) => any;
|
|
804
|
+
} & {
|
|
805
|
+
"selection-change": (keys: string[], rows: Record<string, unknown>[]) => any;
|
|
806
|
+
}, string, {
|
|
807
|
+
rowKey: string;
|
|
808
|
+
tableKey: string;
|
|
809
|
+
showSelection: boolean;
|
|
810
|
+
pageSizeOptions: number[];
|
|
811
|
+
defaultDensity: import("./index.ts").CcTableDensity;
|
|
812
|
+
emptyText: string;
|
|
813
|
+
maxHeight: string;
|
|
814
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
815
|
+
$slots: {
|
|
816
|
+
[x: string]: ((props: {
|
|
817
|
+
row: Record<string, unknown>;
|
|
818
|
+
value: unknown;
|
|
819
|
+
}) => any) | undefined;
|
|
820
|
+
};
|
|
821
|
+
});
|
|
723
822
|
install: typeof install;
|
|
724
823
|
};
|
|
725
824
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "common_component_library_vue",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Vue 3 + TypeScript + Vite 通用组件库,视觉规范由 DESIGN.md(Stripe 风格)定义,包含 15 个可复用组件",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist-lib/common-component-library-vue.umd.js",
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
"import": "./dist-lib/common-component-library-vue.mjs",
|
|
13
13
|
"require": "./dist-lib/common-component-library-vue.umd.js"
|
|
14
14
|
},
|
|
15
|
+
"./style.css": "./dist-lib/common-component-library-vue.css",
|
|
16
|
+
"./dist-lib/*": "./dist-lib/*",
|
|
15
17
|
"./styles/tokens.css": "./src/styles/tokens.css",
|
|
16
18
|
"./styles/base.css": "./src/styles/base.css",
|
|
17
19
|
"./DESIGN.md": "./DESIGN.md",
|