UNPKG

cream-vue-ui

Version:

A beautiful and functional UI component library for Vue 3

3 lines (2 loc) 33.2 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).CreamVueUI={},e.Vue)}(this,function(e,t){"use strict";const o=(e,t)=>{const o=e.__vccOpts||e;for(const[l,a]of t)o[l]=a;return o},l={name:"CButton",props:{type:{type:String,default:"button",validator:e=>["button","submit","reset"].includes(e)},variant:{type:String,default:"primary",validator:e=>["primary","secondary","success","warning","error","info","outline","text","glass","soft"].includes(e)},size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingType:{type:String,default:"spinner",validator:e=>["spinner","dots","pulse"].includes(e)},icon:{type:String,default:""},iconPosition:{type:String,default:"left",validator:e=>["left","right"].includes(e)},iconOnly:{type:Boolean,default:!1},tooltip:{type:String,default:""},elevation:{type:String,default:"md",validator:e=>["none","sm","md","lg","xl"].includes(e)}},computed:{classes(){return["c-button",`c-button--${this.variant}`,`c-button--${this.size}`,`c-button--elevation-${this.elevation}`,{"c-button--block":this.block,"c-button--rounded":this.rounded,"c-button--loading":this.loading,"c-button--with-icon":this.icon,"c-button--icon-left":this.icon&&"left"===this.iconPosition&&!this.iconOnly,"c-button--icon-right":this.icon&&"right"===this.iconPosition&&!this.iconOnly,"c-button--icon-only":this.iconOnly&&this.icon,"c-button--with-tooltip":this.tooltip}]},loadingClasses(){return["c-button__loader",`c-button__loader--${this.loadingType}`]}},methods:{onClick(e){this.disabled||this.loading?e.preventDefault():this.$emit("click",e)}}},a=["type","disabled","title","aria-label"],i={key:0,class:"c-button__loader-dot"},n={key:1,class:"c-button__loader-dot"},s={key:2,class:"c-button__loader-dot"},c={key:1,class:"c-button__icon"},r={key:2,class:"c-button__content"},d={key:3,class:"c-button__icon c-button__icon--right"},u={key:4,class:"c-button__tooltip"};const m=o(l,[["render",function(e,o,l,m,p,h){return t.openBlock(),t.createElementBlock("button",{type:l.type,class:t.normalizeClass(h.classes),disabled:l.disabled||l.loading,onClick:o[0]||(o[0]=(...e)=>h.onClick&&h.onClick(...e)),title:l.tooltip,"aria-label":l.tooltip||void 0},[l.loading?(t.openBlock(),t.createElementBlock("span",{key:0,class:t.normalizeClass(h.loadingClasses)},["dots"===l.loadingType?(t.openBlock(),t.createElementBlock("span",i)):t.createCommentVNode("",!0),"dots"===l.loadingType?(t.openBlock(),t.createElementBlock("span",n)):t.createCommentVNode("",!0),"dots"===l.loadingType?(t.openBlock(),t.createElementBlock("span",s)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),l.icon&&("left"===l.iconPosition||l.iconOnly)?(t.openBlock(),t.createElementBlock("span",c,t.toDisplayString(l.icon),1)):t.createCommentVNode("",!0),l.iconOnly?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",r,[t.renderSlot(e.$slots,"default")])),l.icon&&"right"===l.iconPosition&&!l.iconOnly?(t.openBlock(),t.createElementBlock("span",d,t.toDisplayString(l.icon),1)):t.createCommentVNode("",!0),l.tooltip?(t.openBlock(),t.createElementBlock("span",u,t.toDisplayString(l.tooltip),1)):t.createCommentVNode("",!0)],10,a)}]]),p={name:"CInput",data:()=>({isFocused:!1}),props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:e=>["text","password","email","number","tel","url","search","date","time","datetime-local","month","week"].includes(e)},label:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{type:String,default:""},success:{type:Boolean,default:!1},size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)},icon:{type:String,default:""},iconPosition:{type:String,default:"left",validator:e=>["left","right"].includes(e)},clearable:{type:Boolean,default:!1},variant:{type:String,default:"default",validator:e=>["default","outlined","filled","underlined"].includes(e)},floatingLabel:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},prefix:{type:String,default:""},suffix:{type:String,default:""},maxLength:{type:Number,default:null},showCount:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},elevation:{type:String,default:"none",validator:e=>["none","sm","md","lg","xl"].includes(e)}},computed:{inputClasses(){return["c-input__field",`c-input__field--${this.size}`,`c-input__field--${this.variant}`,`c-input__field--elevation-${this.elevation}`,{"c-input__field--error":this.error,"c-input__field--success":this.success,"c-input__field--with-icon":this.icon,"c-input__field--with-icon-left":this.icon&&"left"===this.iconPosition,"c-input__field--with-icon-right":this.icon&&"right"===this.iconPosition,"c-input__field--clearable":this.clearable&&this.modelValue,"c-input__field--rounded":this.rounded,"c-input__field--with-prefix":this.prefix,"c-input__field--with-suffix":this.suffix,"c-input__field--floating":this.floatingLabel&&this.label}]},wrapperClasses(){return["c-input",`c-input--${this.variant}`,`c-input--${this.size}`,{"c-input--disabled":this.disabled,"c-input--readonly":this.readonly,"c-input--error":this.error,"c-input--success":this.success,"c-input--floating":this.floatingLabel&&this.label,"c-input--focused":this.isFocused,"c-input--has-value":!!this.modelValue,"c-input--with-count":this.showCount&&this.maxLength}]},showClearButton(){return this.clearable&&this.modelValue&&!this.disabled&&!this.readonly},characterCount(){if(!this.showCount||null===this.maxLength)return null;return`${String(this.modelValue||"").length}/${this.maxLength}`},isOverMaxLength(){return null!==this.maxLength&&String(this.modelValue||"").length>this.maxLength}},methods:{updateValue(e){this.$emit("update:modelValue",e.target.value)},clearInput(){this.$emit("update:modelValue",""),this.$emit("clear"),this.$refs.input.focus()},onFocus(e){this.isFocused=!0,this.$emit("focus",e)},onBlur(e){this.isFocused=!1,this.$emit("blur",e)}}},h=["for"],g={key:0,class:"c-input__required"},y={class:"c-input__wrapper"},f={key:0,class:"c-input__icon c-input__icon--left"},k={key:1,class:"c-input__prefix"},b=["id","type","value","placeholder","disabled","readonly","required","maxlength","autofocus"],_={key:2,class:"c-input__floating-label"},v={key:0,class:"c-input__required"},B={key:3,class:"c-input__suffix"},C={key:4,class:"c-input__icon c-input__icon--right"},S={class:"c-input__bottom-row"},E={key:0,class:"c-input__error"};const V=o(p,[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(n.wrapperClasses)},[l.label?(t.openBlock(),t.createElementBlock("label",{key:0,class:"c-input__label",for:"input-"+e._uid},[t.createTextVNode(t.toDisplayString(l.label)+" ",1),l.required?(t.openBlock(),t.createElementBlock("span",g,"*")):t.createCommentVNode("",!0)],8,h)):t.createCommentVNode("",!0),t.createElementVNode("div",y,[l.icon&&"left"===l.iconPosition?(t.openBlock(),t.createElementBlock("span",f,t.toDisplayString(l.icon),1)):t.createCommentVNode("",!0),l.prefix?(t.openBlock(),t.createElementBlock("span",k,t.toDisplayString(l.prefix),1)):t.createCommentVNode("",!0),t.createElementVNode("input",{id:"input-"+e._uid,ref:"input",type:l.type,value:l.modelValue,placeholder:l.floatingLabel&&l.label?" ":l.placeholder,disabled:l.disabled,readonly:l.readonly,required:l.required,maxlength:l.maxLength,autofocus:l.autofocus,class:t.normalizeClass(n.inputClasses),onInput:o[0]||(o[0]=(...e)=>n.updateValue&&n.updateValue(...e)),onFocus:o[1]||(o[1]=(...e)=>n.onFocus&&n.onFocus(...e)),onBlur:o[2]||(o[2]=(...e)=>n.onBlur&&n.onBlur(...e))},null,42,b),l.floatingLabel&&l.label?(t.openBlock(),t.createElementBlock("span",_,[t.createTextVNode(t.toDisplayString(l.label)+" ",1),l.required?(t.openBlock(),t.createElementBlock("span",v,"*")):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),l.suffix?(t.openBlock(),t.createElementBlock("span",B,t.toDisplayString(l.suffix),1)):t.createCommentVNode("",!0),l.icon&&"right"===l.iconPosition?(t.openBlock(),t.createElementBlock("span",C,t.toDisplayString(l.icon),1)):t.createCommentVNode("",!0),n.showClearButton?(t.openBlock(),t.createElementBlock("button",{key:5,type:"button",class:"c-input__clear",onClick:o[3]||(o[3]=(...e)=>n.clearInput&&n.clearInput(...e)),"aria-label":"Clear input"}," × ")):t.createCommentVNode("",!0)]),t.createElementVNode("div",S,[l.error?(t.openBlock(),t.createElementBlock("div",E,t.toDisplayString(l.error),1)):t.createCommentVNode("",!0),l.showCount&&l.maxLength?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["c-input__count",{"c-input__count--over":n.isOverMaxLength}])},t.toDisplayString(n.characterCount),3)):t.createCommentVNode("",!0)])],2)}]]),x={name:"CCard",props:{title:{type:String,default:""},subtitle:{type:String,default:""},image:{type:String,default:""},imageAlt:{type:String,default:"Card image"},imagePosition:{type:String,default:"top",validator:e=>["top","bottom","left","right","background"].includes(e)},imageOverlay:{type:Boolean,default:!1},imageAspectRatio:{type:String,default:"auto",validator:e=>["auto","1:1","4:3","16:9","21:9"].includes(e)},variant:{type:String,default:"default",validator:e=>["default","primary","secondary","success","warning","error","info","outline","flat","glass"].includes(e)},size:{type:String,default:"md",validator:e=>["sm","md","lg","xl"].includes(e)},hover:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},elevation:{type:String,default:"sm",validator:e=>["none","sm","md","lg","xl"].includes(e)},borderRadius:{type:String,default:"default",validator:e=>["none","sm","default","lg","xl","full"].includes(e)},horizontal:{type:Boolean,default:!1},gradient:{type:Boolean,default:!1}},computed:{cardClasses(){return["c-card",`c-card--${this.variant}`,`c-card--${this.size}`,`c-card--elevation-${this.elevation}`,`c-card--radius-${this.borderRadius}`,`c-card--image-${this.imagePosition}`,{"c-card--hover":this.hover,"c-card--clickable":this.clickable,"c-card--horizontal":this.horizontal,"c-card--gradient":this.gradient,"c-card--image-overlay":this.imageOverlay,[`c-card--image-ratio-${this.imageAspectRatio.replace(":","-")}`]:"auto"!==this.imageAspectRatio}]},hasHeader(){return this.title||this.subtitle||this.$slots.header},hasFooter(){return this.$slots.footer}},methods:{onClick(e){this.clickable&&this.$emit("click",e)}}},N={key:0,class:"c-card__background"},$=["src","alt"],w={key:0,class:"c-card__overlay"},I={key:1,class:"c-card__image c-card__image--left"},A=["src","alt"],z={key:0,class:"c-card__overlay"},D={key:2,class:"c-card__image"},T=["src","alt"],P={key:0,class:"c-card__overlay"},L={class:"c-card__content"},O={key:0,class:"c-card__header"},q={key:0,class:"c-card__title"},F={key:1,class:"c-card__subtitle"},K={class:"c-card__body"},H={key:1,class:"c-card__footer"},M={key:3,class:"c-card__image c-card__image--right"},j=["src","alt"],R={key:0,class:"c-card__overlay"},U={key:4,class:"c-card__image"},G=["src","alt"],J={key:0,class:"c-card__overlay"};const Q=o(x,[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(n.cardClasses),onClick:o[0]||(o[0]=(...e)=>n.onClick&&n.onClick(...e))},[l.image&&"background"===l.imagePosition?(t.openBlock(),t.createElementBlock("div",N,[t.createElementVNode("img",{src:l.image,alt:l.imageAlt},null,8,$),l.imageOverlay?(t.openBlock(),t.createElementBlock("div",w)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),l.image&&"left"===l.imagePosition&&l.horizontal?(t.openBlock(),t.createElementBlock("div",I,[t.createElementVNode("img",{src:l.image,alt:l.imageAlt},null,8,A),l.imageOverlay?(t.openBlock(),t.createElementBlock("div",z)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),l.image&&"top"===l.imagePosition&&!l.horizontal?(t.openBlock(),t.createElementBlock("div",D,[t.createElementVNode("img",{src:l.image,alt:l.imageAlt},null,8,T),l.imageOverlay?(t.openBlock(),t.createElementBlock("div",P)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),t.createElementVNode("div",L,[n.hasHeader?(t.openBlock(),t.createElementBlock("div",O,[t.renderSlot(e.$slots,"header",{},()=>[l.title?(t.openBlock(),t.createElementBlock("h3",q,t.toDisplayString(l.title),1)):t.createCommentVNode("",!0),l.subtitle?(t.openBlock(),t.createElementBlock("p",F,t.toDisplayString(l.subtitle),1)):t.createCommentVNode("",!0)])])):t.createCommentVNode("",!0),t.createElementVNode("div",K,[t.renderSlot(e.$slots,"default")]),n.hasFooter?(t.openBlock(),t.createElementBlock("div",H,[t.renderSlot(e.$slots,"footer")])):t.createCommentVNode("",!0)]),l.image&&"right"===l.imagePosition&&l.horizontal?(t.openBlock(),t.createElementBlock("div",M,[t.createElementVNode("img",{src:l.image,alt:l.imageAlt},null,8,j),l.imageOverlay?(t.openBlock(),t.createElementBlock("div",R)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),l.image&&"bottom"===l.imagePosition&&!l.horizontal?(t.openBlock(),t.createElementBlock("div",U,[t.createElementVNode("img",{src:l.image,alt:l.imageAlt},null,8,G),l.imageOverlay?(t.openBlock(),t.createElementBlock("div",J)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],2)}]]),W={name:"CAlert",props:{title:{type:String,default:""},type:{type:String,default:"info",validator:e=>["info","success","warning","error"].includes(e)},dismissible:{type:Boolean,default:!1},icon:{type:String,default:""},iconPosition:{type:String,default:"left",validator:e=>["left","right","top"].includes(e)},showIcon:{type:Boolean,default:!0},border:{type:String,default:"none",validator:e=>["none","left","top","right","bottom","all"].includes(e)},rounded:{type:Boolean,default:!0},outlined:{type:Boolean,default:!1},elevation:{type:String,default:"none",validator:e=>["none","sm","md","lg","xl"].includes(e)},variant:{type:String,default:"default",validator:e=>["default","filled","soft","toast"].includes(e)},size:{type:String,default:"md",validator:e=>["sm","md","lg"].includes(e)},closable:{type:Boolean,default:!1},closeIcon:{type:String,default:"×"},actions:{type:Array,default:()=>[]},autoClose:{type:Number,default:0},position:{type:String,default:"static",validator:e=>["static","top-right","top-left","bottom-right","bottom-left","top-center","bottom-center"].includes(e)}},data:()=>({visible:!0,autoCloseTimeout:null}),computed:{alertClasses(){return["c-alert",`c-alert--${this.type}`,`c-alert--${this.variant}`,`c-alert--${this.size}`,`c-alert--border-${this.border}`,`c-alert--elevation-${this.elevation}`,`c-alert--position-${this.position}`,`c-alert--icon-${this.iconPosition}`,{"c-alert--dismissible":this.dismissible||this.closable,"c-alert--with-icon":(this.icon||this.typeIcon)&&this.showIcon,"c-alert--rounded":this.rounded,"c-alert--outlined":this.outlined,"c-alert--with-actions":this.actions.length>0,"c-alert--toast":"toast"===this.variant,"c-alert--auto-close":this.autoClose>0}]},typeIcon(){if(this.icon)return this.icon;return{info:"ℹ️",success:"✅",warning:"⚠️",error:"❌"}[this.type]},shouldShowIcon(){return this.showIcon&&(this.icon||this.typeIcon)},progressStyle(){return this.autoClose<=0?{}:{animationDuration:`${this.autoClose}ms`}}},mounted(){this.setupAutoClose()},beforeUnmount(){this.clearAutoCloseTimeout()},methods:{dismiss(){this.visible=!1,this.$emit("dismiss"),this.clearAutoCloseTimeout()},setupAutoClose(){this.autoClose>0&&(this.clearAutoCloseTimeout(),this.autoCloseTimeout=setTimeout(()=>{this.dismiss()},this.autoClose))},clearAutoCloseTimeout(){this.autoCloseTimeout&&(clearTimeout(this.autoCloseTimeout),this.autoCloseTimeout=null)},handleAction(e){e.onClick&&e.onClick(),e.close&&this.dismiss(),this.$emit("action",e)}}},X={key:1,class:"c-alert__icon-container c-alert__icon-container--top"},Y={class:"c-alert__icon"},Z={class:"c-alert__content"},ee={key:0,class:"c-alert__icon c-alert__icon--left"},te={class:"c-alert__message"},oe={key:0,class:"c-alert__title"},le={class:"c-alert__body"},ae={key:1,class:"c-alert__actions"},ie=["onClick"],ne={key:1,class:"c-alert__icon c-alert__icon--right"};const se=o(W,[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createBlock(t.Transition,{name:"c-alert-fade"},{default:t.withCtx(()=>[i.visible?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(n.alertClasses),role:"alert"},[l.autoClose>0?(t.openBlock(),t.createElementBlock("div",{key:0,class:"c-alert__progress",style:t.normalizeStyle(n.progressStyle)},null,4)):t.createCommentVNode("",!0),n.shouldShowIcon&&"top"===l.iconPosition?(t.openBlock(),t.createElementBlock("div",X,[t.createElementVNode("span",Y,t.toDisplayString(n.typeIcon),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",Z,[n.shouldShowIcon&&"left"===l.iconPosition?(t.openBlock(),t.createElementBlock("span",ee,t.toDisplayString(n.typeIcon),1)):t.createCommentVNode("",!0),t.createElementVNode("div",te,[l.title?(t.openBlock(),t.createElementBlock("div",oe,t.toDisplayString(l.title),1)):t.createCommentVNode("",!0),t.createElementVNode("div",le,[t.renderSlot(e.$slots,"default")]),l.actions.length>0?(t.openBlock(),t.createElementBlock("div",ae,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.actions,(e,o)=>(t.openBlock(),t.createElementBlock("button",{key:o,type:"button",class:t.normalizeClass(["c-alert__action",[`c-alert__action--${e.variant||"default"}`,{"c-alert__action--text":e.text}]]),onClick:t=>n.handleAction(e)},t.toDisplayString(e.label),11,ie))),128))])):t.createCommentVNode("",!0)]),n.shouldShowIcon&&"right"===l.iconPosition?(t.openBlock(),t.createElementBlock("span",ne,t.toDisplayString(n.typeIcon),1)):t.createCommentVNode("",!0)]),l.dismissible||l.closable?(t.openBlock(),t.createElementBlock("button",{key:2,type:"button",class:"c-alert__close",onClick:o[0]||(o[0]=(...e)=>n.dismiss&&n.dismiss(...e)),"aria-label":"Close alert"},t.toDisplayString(l.closeIcon),1)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0)]),_:3})}]]);const ce=o({name:"CBadge",props:{variant:{type:String,default:"primary",validator:e=>["primary","secondary","success","warning","error","info","neutral","light","dark"].includes(e)},size:{type:String,default:"md",validator:e=>["xs","sm","md","lg"].includes(e)},rounded:{type:Boolean,default:!0},pill:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},dot:{type:Boolean,default:!1},position:{type:String,default:"",validator:e=>["","top-right","top-left","bottom-right","bottom-left"].includes(e)},overlap:{type:Boolean,default:!1},max:{type:Number,default:null},invisible:{type:Boolean,default:!1}},computed:{classes(){return["c-badge",`c-badge--${this.variant}`,`c-badge--${this.size}`,{"c-badge--rounded":this.rounded,"c-badge--pill":this.pill,"c-badge--outlined":this.outlined,"c-badge--dot":this.dot,"c-badge--positioned":this.position,[`c-badge--${this.position}`]:this.position,"c-badge--overlap":this.overlap,"c-badge--invisible":this.invisible}]},displayContent(){if(this.dot)return"";if(null!==this.max&&!isNaN(this.$slots.default[0].text)){if(parseInt(this.$slots.default[0].text,10)>this.max)return`${this.max}+`}return null}}},[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(n.classes)},[null===n.displayContent?t.renderSlot(e.$slots,"default",{key:0}):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(n.displayContent),1)],64))],2)}]]),re={name:"CAvatar",props:{src:{type:String,default:""},alt:{type:String,default:"Avatar"},size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl","custom"].includes(e)},customSize:{type:String,default:""},shape:{type:String,default:"circle",validator:e=>["circle","square","rounded"].includes(e)},text:{type:String,default:""},icon:{type:String,default:""},color:{type:String,default:""},bgColor:{type:String,default:""},variant:{type:String,default:"default",validator:e=>["default","primary","secondary","success","warning","error","info","light","dark"].includes(e)},bordered:{type:Boolean,default:!1},borderColor:{type:String,default:""},status:{type:String,default:"",validator:e=>["","online","offline","away","busy","custom"].includes(e)},statusColor:{type:String,default:""},statusPosition:{type:String,default:"bottom-right",validator:e=>["top-right","top-left","bottom-right","bottom-left"].includes(e)},clickable:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},fallbackStrategy:{type:String,default:"text",validator:e=>["text","icon","color"].includes(e)}},data:()=>({imageError:!1}),computed:{classes(){return["c-avatar",`c-avatar--${this.size}`,`c-avatar--${this.shape}`,`c-avatar--${this.variant}`,{"c-avatar--bordered":this.bordered,"c-avatar--clickable":this.clickable,"c-avatar--loading":this.loading,"c-avatar--with-status":this.status,[`c-avatar--status-${this.status}`]:this.status,[`c-avatar--status-${this.statusPosition}`]:this.status}]},styles(){const e={};return"custom"===this.size&&this.customSize&&(e.width=this.customSize,e.height=this.customSize,e.fontSize=`calc(${this.customSize} * 0.4)`),this.color&&(e.color=this.color),this.bgColor&&(e.backgroundColor=this.bgColor),this.bordered&&this.borderColor&&(e.borderColor=this.borderColor),e},statusStyles(){return this.statusColor?{backgroundColor:this.statusColor}:{}},showImage(){return this.src&&!this.imageError},showText(){return!this.showImage&&(this.text||this.generateInitials())&&("text"===this.fallbackStrategy||!this.icon)},showIcon(){return!this.showImage&&this.icon&&("icon"===this.fallbackStrategy||!this.text&&!this.generateInitials())},displayText(){return this.text||this.generateInitials()}},methods:{generateInitials(){return this.alt&&"Avatar"!==this.alt?this.alt.split(" ").map(e=>e.charAt(0)).join("").toUpperCase().substring(0,2):""},handleImageError(){this.imageError=!0,this.$emit("error")},handleClick(e){this.clickable&&this.$emit("click",e)}}},de=["aria-label"],ue={key:0,class:"c-avatar__loader"},me=["src","alt"],pe={key:2,class:"c-avatar__text"},he={key:3,class:"c-avatar__icon"},ge={key:4,class:"c-avatar__fallback"};const ye=o(re,[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(n.classes),style:t.normalizeStyle(n.styles),onClick:o[1]||(o[1]=(...e)=>n.handleClick&&n.handleClick(...e)),role:"img","aria-label":l.alt},[l.loading?(t.openBlock(),t.createElementBlock("div",ue)):n.showImage?(t.openBlock(),t.createElementBlock("img",{key:1,src:l.src,alt:l.alt,class:"c-avatar__image",onError:o[0]||(o[0]=(...e)=>n.handleImageError&&n.handleImageError(...e))},null,40,me)):n.showText?(t.openBlock(),t.createElementBlock("span",pe,t.toDisplayString(n.displayText),1)):n.showIcon?(t.openBlock(),t.createElementBlock("span",he,t.toDisplayString(l.icon),1)):(t.openBlock(),t.createElementBlock("span",ge)),l.status?(t.openBlock(),t.createElementBlock("span",{key:5,class:t.normalizeClass(["c-avatar__status",`c-avatar__status--${l.status}`]),style:t.normalizeStyle(n.statusStyles)},null,6)):t.createCommentVNode("",!0)],14,de)}]]),fe={name:"CToggle",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:String,default:"md",validator:e=>["sm","md","lg"].includes(e)},variant:{type:String,default:"primary",validator:e=>["primary","secondary","success","warning","error","info","neutral"].includes(e)},label:{type:String,default:""},labelPosition:{type:String,default:"right",validator:e=>["left","right"].includes(e)},onLabel:{type:String,default:""},offLabel:{type:String,default:""},name:{type:String,default:""},required:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},icon:{type:Boolean,default:!1},square:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},id:{type:String,default:()=>`c-toggle-${Math.random().toString(36).substring(2,9)}`}},computed:{wrapperClasses(){return["c-toggle-wrapper",`c-toggle-wrapper--${this.size}`,{"c-toggle-wrapper--disabled":this.disabled,"c-toggle-wrapper--loading":this.loading,"c-toggle-wrapper--readonly":this.readonly,[`c-toggle-wrapper--label-${this.labelPosition}`]:this.label}]},toggleClasses(){return["c-toggle",`c-toggle--${this.size}`,`c-toggle--${this.variant}`,{"c-toggle--checked":this.modelValue,"c-toggle--disabled":this.disabled,"c-toggle--loading":this.loading,"c-toggle--readonly":this.readonly,"c-toggle--with-icon":this.icon,"c-toggle--square":this.square}]},ariaChecked(){return this.modelValue?"true":"false"},displayOnLabel(){return this.onLabel||this.label},displayOffLabel(){return this.offLabel||this.label}},methods:{toggle(){this.disabled||this.loading||this.readonly||(this.$emit("update:modelValue",!this.modelValue),this.$emit("change",!this.modelValue))},onKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.toggle())}}},ke=["for"],be=["aria-checked","aria-disabled","aria-readonly","tabindex","id"],_e=["checked","disabled","name","required","id"],ve={class:"c-toggle__track"},Be={key:0,class:"c-toggle__label-on"},Ce={key:1,class:"c-toggle__label-off"},Se={class:"c-toggle__thumb"},Ee={key:0,class:"c-toggle__loader"},Ve={key:1,class:"c-toggle__icon c-toggle__icon--on"},xe={key:2,class:"c-toggle__icon c-toggle__icon--off"},Ne=["for"];const $e=o(fe,[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(n.wrapperClasses)},[l.label&&"left"===l.labelPosition?(t.openBlock(),t.createElementBlock("label",{key:0,for:l.id,class:"c-toggle__label c-toggle__label--left"},t.toDisplayString(l.label),9,ke)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(n.toggleClasses),"aria-checked":n.ariaChecked,"aria-disabled":l.disabled,"aria-readonly":l.readonly,role:"switch",tabindex:l.disabled?-1:0,onClick:o[1]||(o[1]=(...e)=>n.toggle&&n.toggle(...e)),onKeydown:o[2]||(o[2]=(...e)=>n.onKeyDown&&n.onKeyDown(...e)),id:l.id},[t.createElementVNode("input",{type:"checkbox",checked:l.modelValue,disabled:l.disabled||l.readonly,name:l.name,required:l.required,class:"c-toggle__input",id:`${l.id}-input`,onChange:o[0]||(o[0]=(...e)=>n.toggle&&n.toggle(...e))},null,40,_e),t.createElementVNode("div",ve,[l.onLabel?(t.openBlock(),t.createElementBlock("span",Be,t.toDisplayString(l.onLabel),1)):t.createCommentVNode("",!0),l.offLabel?(t.openBlock(),t.createElementBlock("span",Ce,t.toDisplayString(l.offLabel),1)):t.createCommentVNode("",!0)]),t.createElementVNode("div",Se,[l.loading?(t.openBlock(),t.createElementBlock("div",Ee)):l.icon&&l.modelValue?(t.openBlock(),t.createElementBlock("span",Ve,"✓")):l.icon&&!l.modelValue?(t.openBlock(),t.createElementBlock("span",xe,"✕")):t.createCommentVNode("",!0)])],42,be),l.label&&"right"===l.labelPosition?(t.openBlock(),t.createElementBlock("label",{key:1,for:l.id,class:"c-toggle__label c-toggle__label--right"},t.toDisplayString(l.label),9,Ne)):t.createCommentVNode("",!0)],2)}]]);const we=o({name:"CAccordion",props:{multiple:{type:Boolean,default:!1},variant:{type:String,default:"default",validator:e=>["default","bordered","separated","elevated","minimal"].includes(e)},size:{type:String,default:"md",validator:e=>["sm","md","lg"].includes(e)},iconPosition:{type:String,default:"right",validator:e=>["left","right"].includes(e)},customIcon:{type:String,default:""},disabled:{type:Boolean,default:!1},flush:{type:Boolean,default:!1},rounded:{type:Boolean,default:!0},expandIcon:{type:String,default:"+"},collapseIcon:{type:String,default:"−"},modelValue:{type:[Array,Number,String],default:()=>[]}},provide(){const e=this;return{accordion:{get activeItems(){return e.localActiveItems},multiple:this.multiple,variant:this.variant,size:this.size,iconPosition:this.iconPosition,customIcon:this.customIcon,disabled:this.disabled,expandIcon:this.expandIcon,collapseIcon:this.collapseIcon,toggleItem:this.toggleItem}}},data(){return{localActiveItems:Array.isArray(this.modelValue)?[...this.modelValue]:[this.modelValue]}},computed:{classes(){return["c-accordion",`c-accordion--${this.variant}`,`c-accordion--${this.size}`,{"c-accordion--flush":this.flush,"c-accordion--rounded":this.rounded&&!this.flush,"c-accordion--disabled":this.disabled}]}},watch:{modelValue:{handler(e){this.localActiveItems=Array.isArray(e)?[...e]:[e]},deep:!0}},methods:{toggleItem(e){if(this.disabled)return;const t=this.localActiveItems.indexOf(e);if(t>-1)if(this.multiple){const e=[...this.localActiveItems];e.splice(t,1),this.updateActiveItems(e)}else this.updateActiveItems([]);else this.multiple?this.updateActiveItems([...this.localActiveItems,e]):this.updateActiveItems([e])},updateActiveItems(e){this.localActiveItems=e,this.$emit("update:modelValue",this.multiple?e:e.length?e[0]:null),this.$emit("change",this.multiple?e:e.length?e[0]:null)}}},[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(n.classes),role:"tablist","aria-multiselectable":"true"},[t.renderSlot(e.$slots,"default")],2)}]]),Ie={name:"CAccordionItem",inject:["accordion"],props:{title:{type:String,default:""},itemKey:{type:[String,Number],default:()=>`item-${Math.random().toString(36).substring(2,9)}`},disabled:{type:Boolean,default:!1},icon:{type:String,default:""}},computed:{isActive(){return Array.isArray(this.accordion.activeItems)?this.accordion.activeItems.includes(this.itemKey):this.accordion.activeItems===this.itemKey},isDisabled(){return this.disabled||this.accordion.disabled},headerClasses(){return["c-accordion-item__header",{"c-accordion-item__header--active":this.isActive,"c-accordion-item__header--disabled":this.isDisabled,[`c-accordion-item__header--icon-${this.accordion.iconPosition}`]:!0}]},contentClasses(){return["c-accordion-item__content",{"c-accordion-item__content--active":this.isActive}]},itemClasses(){return["c-accordion-item",{"c-accordion-item--active":this.isActive,"c-accordion-item--disabled":this.isDisabled}]},displayIcon(){return this.icon?this.icon:this.accordion.customIcon?this.accordion.customIcon:this.isActive?this.accordion.collapseIcon:this.accordion.expandIcon}},methods:{toggle(){this.isDisabled||this.accordion.toggleItem(this.itemKey)},onKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.toggle())},onEnter(e){e.style.height="0",e.style.opacity="0",e.style.transform="scale(0.98)";try{const t="undefined"!=typeof window?window.setTimeout:"undefined"!=typeof global?global.setTimeout:"undefined"!=typeof setTimeout?setTimeout:null;t?t(()=>{e.style.height=e.scrollHeight+"px",e.style.opacity="1",e.style.transform="scale(1)"},10):(e.style.height=e.scrollHeight+"px",e.style.opacity="1",e.style.transform="scale(1)")}catch(t){e.style.height=e.scrollHeight+"px",e.style.opacity="1",e.style.transform="scale(1)",console.error("Error in accordion animation:",t)}},onAfterEnter(e){e.style.height="auto",e.style.overflow="visible"},onBeforeLeave(e){e.style.height=e.scrollHeight+"px",e.style.overflow="hidden"},onLeave(e){e.style.height="0",e.style.opacity="0",e.style.transform="scale(0.98)"}}},Ae=["aria-expanded","aria-disabled","tabindex"],ze={key:0,class:"c-accordion-item__icon c-accordion-item__icon--left"},De={class:"c-accordion-item__title"},Te={key:1,class:"c-accordion-item__icon c-accordion-item__icon--right"},Pe={class:"c-accordion-item__body"};const Le=o(Ie,[["render",function(e,o,l,a,i,n){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(n.itemClasses)},[t.createElementVNode("div",{class:t.normalizeClass(n.headerClasses),onClick:o[0]||(o[0]=(...e)=>n.toggle&&n.toggle(...e)),onKeydown:o[1]||(o[1]=(...e)=>n.onKeyDown&&n.onKeyDown(...e)),role:"tab","aria-expanded":n.isActive?"true":"false","aria-disabled":n.isDisabled?"true":"false",tabindex:n.isDisabled?-1:0},["left"===n.accordion.iconPosition?(t.openBlock(),t.createElementBlock("span",ze,t.toDisplayString(n.displayIcon),1)):t.createCommentVNode("",!0),t.createElementVNode("div",De,[t.renderSlot(e.$slots,"title",{},()=>[t.createTextVNode(t.toDisplayString(l.title),1)])]),"right"===n.accordion.iconPosition?(t.openBlock(),t.createElementBlock("span",Te,t.toDisplayString(n.displayIcon),1)):t.createCommentVNode("",!0)],42,Ae),t.createVNode(t.Transition,{name:"accordion-slide",onEnter:n.onEnter,onAfterEnter:n.onAfterEnter,onBeforeLeave:n.onBeforeLeave,onLeave:n.onLeave},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("div",{class:t.normalizeClass(n.contentClasses),role:"tabpanel"},[t.createElementVNode("div",Pe,[t.renderSlot(e.$slots,"default")])],2),[[t.vShow,n.isActive]])]),_:3},8,["onEnter","onAfterEnter","onBeforeLeave","onLeave"])],2)}]]),Oe={Button:m,Input:V,Card:Q,Alert:se,Badge:ce,Avatar:ye,Toggle:$e,Accordion:we,AccordionItem:Le},qe={install(e){for(const[t,o]of Object.entries(Oe))e.component(`C${t}`,o)}};e.Accordion=we,e.AccordionItem=Le,e.Alert=se,e.Avatar=ye,e.Badge=ce,e.Button=m,e.Card=Q,e.Input=V,e.Toggle=$e,e.default=qe,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); //# sourceMappingURL=cream-vue-ui.umd.js.map