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.
@@ -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
- export { CcButton, CcInput, CcTextarea, CcSelect, CcSwitch, CcCheckbox, CcRadio, CcCard, CcTag, CcBadge, CcAlert, CcModal, CcTooltip, CcSpinner, CcDivider, };
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.0",
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",