common_component_library_vue 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +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=$});
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ variant?: 'info' | 'success' | 'warning' | 'error';
3
+ title?: string;
4
+ description?: string;
5
+ closable?: boolean;
6
+ };
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ title: string;
13
+ variant: "info" | "success" | "warning" | "error";
14
+ description: string;
15
+ closable: boolean;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,17 @@
1
+ type __VLS_Props = {
2
+ /** numeric content; anything else is rendered as-is */
3
+ count?: number | string;
4
+ max?: number;
5
+ /** soft | solid | dot */
6
+ variant?: 'soft' | 'solid' | 'dot';
7
+ /** render as a standalone dot with no number */
8
+ dot?: boolean;
9
+ };
10
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
11
+ variant: "soft" | "solid" | "dot";
12
+ max: number;
13
+ dot: boolean;
14
+ count: number | string;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
@@ -0,0 +1,43 @@
1
+ type Variant = 'primary' | 'secondary' | 'on-dark' | 'ghost' | 'link';
2
+ type Size = 'sm' | 'md' | 'lg';
3
+ type __VLS_Props = {
4
+ /** primary = filled indigo · secondary = indigo outline · on-dark = navy fill · ghost = quiet · link = inline */
5
+ variant?: Variant;
6
+ size?: Size;
7
+ disabled?: boolean;
8
+ loading?: boolean;
9
+ /** render as <a> with href */
10
+ href?: string;
11
+ target?: string;
12
+ block?: boolean;
13
+ type?: 'button' | 'submit' | 'reset';
14
+ /** native aria-label override */
15
+ ariaLabel?: string;
16
+ };
17
+ declare var __VLS_15: {};
18
+ type __VLS_Slots = {} & {
19
+ default?: (props: typeof __VLS_15) => any;
20
+ };
21
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
22
+ click: (event: MouseEvent) => any;
23
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
24
+ onClick?: ((event: MouseEvent) => any) | undefined;
25
+ }>, {
26
+ size: Size;
27
+ loading: boolean;
28
+ type: "button" | "submit" | "reset";
29
+ variant: Variant;
30
+ disabled: boolean;
31
+ href: string;
32
+ target: string;
33
+ block: boolean;
34
+ ariaLabel: string;
35
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
36
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
37
+ declare const _default: typeof __VLS_export;
38
+ export default _default;
39
+ type __VLS_WithSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * CcCard — surface container.
3
+ * Variants map to DESIGN.md tokens:
4
+ * feature → {card-feature-light} canvas, 32px pad, radius lg, hairline + level-1 shadow
5
+ * pricing → {card-pricing} canvas, heading-lg title, CTA pinned bottom
6
+ * pricing-featured → {card-pricing-featured} brand-dark-900 fill, on-primary text
7
+ * cream → {card-cream-band} canvas-cream warm interlude
8
+ * dashboard → {card-dashboard-mockup} tabular type, level-2 shadow
9
+ * plain → bare canvas + hairline
10
+ */
11
+ type __VLS_Props = {
12
+ variant?: 'feature' | 'pricing' | 'pricing-featured' | 'cream' | 'dashboard' | 'plain';
13
+ title?: string;
14
+ description?: string;
15
+ /** remove padding for full-bleed content */
16
+ flush?: boolean;
17
+ };
18
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
19
+ type __VLS_Slots = {} & {
20
+ header?: (props: typeof __VLS_1) => any;
21
+ } & {
22
+ default?: (props: typeof __VLS_3) => any;
23
+ } & {
24
+ footer?: (props: typeof __VLS_5) => any;
25
+ };
26
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
27
+ title: string;
28
+ variant: "feature" | "pricing" | "pricing-featured" | "cream" | "dashboard" | "plain";
29
+ description: string;
30
+ flush: boolean;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
35
+ type __VLS_WithSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,31 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ disabled?: boolean;
4
+ };
5
+ type __VLS_ModelProps = {
6
+ /**
7
+ * CcCheckbox — brand checkbox. Box radius {rounded.xs}, check in indigo.
8
+ */
9
+ modelValue?: boolean;
10
+ };
11
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
+ declare var __VLS_1: {};
13
+ type __VLS_Slots = {} & {
14
+ default?: (props: typeof __VLS_1) => any;
15
+ };
16
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:modelValue": (value: boolean) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
20
+ }>, {
21
+ label: string;
22
+ disabled: boolean;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * CcDivider — hairline separator, optional centered label.
3
+ * Design: Stripe-inspired; hairline uses {colors.hairline}.
4
+ */
5
+ type __VLS_Props = {
6
+ /** vertical | horizontal */
7
+ orientation?: 'horizontal' | 'vertical';
8
+ /** length for vertical dividers */
9
+ height?: string;
10
+ };
11
+ declare var __VLS_1: {};
12
+ type __VLS_Slots = {} & {
13
+ default?: (props: typeof __VLS_1) => any;
14
+ };
15
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
16
+ height: string;
17
+ orientation: "horizontal" | "vertical";
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,47 @@
1
+ type __VLS_Props = {
2
+ modelValue?: string | number;
3
+ label?: string;
4
+ placeholder?: string;
5
+ type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
6
+ name?: string;
7
+ disabled?: boolean;
8
+ readonly?: boolean;
9
+ error?: string;
10
+ hint?: string;
11
+ /** prefix content inside the field (e.g. currency symbol) */
12
+ prefix?: string;
13
+ autocomplete?: string;
14
+ inputmode?: 'text' | 'numeric' | 'decimal' | 'email' | 'tel' | 'url' | 'search';
15
+ min?: number;
16
+ max?: number;
17
+ step?: number;
18
+ };
19
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
20
+ "update:modelValue": (value: string) => any;
21
+ focus: (event: FocusEvent) => any;
22
+ blur: (event: FocusEvent) => any;
23
+ change: (event: Event) => any;
24
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
26
+ onFocus?: ((event: FocusEvent) => any) | undefined;
27
+ onBlur?: ((event: FocusEvent) => any) | undefined;
28
+ onChange?: ((event: Event) => any) | undefined;
29
+ }>, {
30
+ label: string;
31
+ type: "text" | "password" | "email" | "number" | "tel" | "url" | "search";
32
+ disabled: boolean;
33
+ modelValue: string | number;
34
+ placeholder: string;
35
+ name: string;
36
+ readonly: boolean;
37
+ error: string;
38
+ hint: string;
39
+ prefix: string;
40
+ autocomplete: string;
41
+ inputmode: "text" | "numeric" | "decimal" | "email" | "tel" | "url" | "search";
42
+ min: number;
43
+ max: number;
44
+ step: number;
45
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
46
+ declare const _default: typeof __VLS_export;
47
+ export default _default;
@@ -0,0 +1,42 @@
1
+ type __VLS_Props = {
2
+ visible?: boolean;
3
+ title?: string;
4
+ /** panel width */
5
+ width?: string;
6
+ /** hide the close button (e.g. force-choice dialogs) */
7
+ closable?: boolean;
8
+ /** close on overlay click */
9
+ maskClosable?: boolean;
10
+ /** show a footer slot region */
11
+ footer?: boolean;
12
+ };
13
+ declare var __VLS_13: {}, __VLS_15: {};
14
+ type __VLS_Slots = {} & {
15
+ default?: (props: typeof __VLS_13) => any;
16
+ } & {
17
+ footer?: (props: typeof __VLS_15) => any;
18
+ };
19
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
20
+ close: () => any;
21
+ "update:visible": (value: boolean) => any;
22
+ open: () => any;
23
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
24
+ onClose?: (() => any) | undefined;
25
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
26
+ onOpen?: (() => any) | undefined;
27
+ }>, {
28
+ footer: boolean;
29
+ title: string;
30
+ width: string;
31
+ closable: boolean;
32
+ visible: boolean;
33
+ maskClosable: boolean;
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
+ declare const _default: typeof __VLS_export;
37
+ export default _default;
38
+ type __VLS_WithSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
@@ -0,0 +1,34 @@
1
+ type __VLS_Props = {
2
+ /** the value this option represents */
3
+ value: string | number;
4
+ label?: string;
5
+ disabled?: boolean;
6
+ };
7
+ type __VLS_ModelProps = {
8
+ /**
9
+ * CcRadio — radio option. Pairs with a shared v-model to form a group
10
+ * (native radio semantics). Dot fills with indigo when selected.
11
+ */
12
+ modelValue?: string | number;
13
+ };
14
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
15
+ declare var __VLS_1: {};
16
+ type __VLS_Slots = {} & {
17
+ default?: (props: typeof __VLS_1) => any;
18
+ };
19
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
+ "update:modelValue": (value: string | number) => any;
21
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
23
+ }>, {
24
+ label: string;
25
+ disabled: boolean;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,33 @@
1
+ export interface CcSelectOption {
2
+ label: string;
3
+ value: string | number;
4
+ disabled?: boolean;
5
+ }
6
+ type __VLS_Props = {
7
+ modelValue?: string | number;
8
+ options?: CcSelectOption[];
9
+ label?: string;
10
+ placeholder?: string;
11
+ name?: string;
12
+ disabled?: boolean;
13
+ error?: string;
14
+ hint?: string;
15
+ };
16
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ "update:modelValue": (value: string | number) => any;
18
+ change: (event: Event) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
21
+ onChange?: ((event: Event) => any) | undefined;
22
+ }>, {
23
+ label: string;
24
+ disabled: boolean;
25
+ modelValue: string | number;
26
+ placeholder: string;
27
+ name: string;
28
+ error: string;
29
+ hint: string;
30
+ options: CcSelectOption[];
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * CcSpinner — loading indicator
3
+ * Design: Stripe-inspired (DESIGN.md); color defaults to the brand indigo.
4
+ */
5
+ type __VLS_Props = {
6
+ /** Spinner diameter in px */
7
+ size?: number;
8
+ /** Stroke color */
9
+ color?: string;
10
+ };
11
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ size: number;
13
+ color: string;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ disabled?: boolean;
4
+ size?: 'sm' | 'md';
5
+ };
6
+ type __VLS_ModelProps = {
7
+ /**
8
+ * CcSwitch — pill toggle. Track follows the brand pill geometry;
9
+ * checked state fills with the indigo primary.
10
+ */
11
+ modelValue?: boolean;
12
+ };
13
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ "update:modelValue": (value: boolean) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
18
+ }>, {
19
+ size: "sm" | "md";
20
+ label: string;
21
+ disabled: boolean;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * CcTag — small pill label.
3
+ * soft (default) → {pill-tag-soft}: subdued indigo fill #b9b9f9 + primary-deep text,
4
+ * micro-cap type (10px, all-caps eyebrow)
5
+ * outline → hairline border + ink-mute text
6
+ * dark → brand-dark-900 fill, on-primary text
7
+ * solid → primary fill, on-primary text
8
+ */
9
+ type __VLS_Props = {
10
+ variant?: 'soft' | 'outline' | 'dark' | 'solid';
11
+ size?: 'sm' | 'md';
12
+ /** show a leading status dot */
13
+ dot?: boolean;
14
+ closable?: boolean;
15
+ };
16
+ declare var __VLS_1: {};
17
+ type __VLS_Slots = {} & {
18
+ default?: (props: typeof __VLS_1) => any;
19
+ };
20
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
21
+ close: (event: MouseEvent) => any;
22
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
23
+ onClose?: ((event: MouseEvent) => any) | undefined;
24
+ }>, {
25
+ size: "sm" | "md";
26
+ variant: "soft" | "outline" | "dark" | "solid";
27
+ dot: boolean;
28
+ closable: boolean;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
33
+ type __VLS_WithSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,34 @@
1
+ type __VLS_Props = {
2
+ modelValue?: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ name?: string;
6
+ rows?: number;
7
+ disabled?: boolean;
8
+ readonly?: boolean;
9
+ error?: string;
10
+ hint?: string;
11
+ autocomplete?: string;
12
+ };
13
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
+ "update:modelValue": (value: string) => any;
15
+ focus: (event: FocusEvent) => any;
16
+ blur: (event: FocusEvent) => any;
17
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
19
+ onFocus?: ((event: FocusEvent) => any) | undefined;
20
+ onBlur?: ((event: FocusEvent) => any) | undefined;
21
+ }>, {
22
+ label: string;
23
+ disabled: boolean;
24
+ modelValue: string;
25
+ placeholder: string;
26
+ name: string;
27
+ readonly: boolean;
28
+ error: string;
29
+ hint: string;
30
+ autocomplete: string;
31
+ rows: number;
32
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
@@ -0,0 +1,25 @@
1
+ type __VLS_Props = {
2
+ content?: string;
3
+ placement?: 'top' | 'bottom' | 'left' | 'right';
4
+ /** delay before showing (ms) */
5
+ delay?: number;
6
+ };
7
+ declare var __VLS_1: {}, __VLS_3: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ } & {
11
+ tip?: (props: typeof __VLS_3) => any;
12
+ };
13
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ content: string;
15
+ placement: "top" | "bottom" | "left" | "right";
16
+ delay: number;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };