UNPKG

buefy

Version:

Lightweight UI components for Vue.js (v3) based on Bulma

3 lines (2 loc) 12.9 kB
/*! Buefy v3.0.2 | MIT License | github.com/buefy/buefy */ !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).Steps={},e.Vue)}(this,(function(e,t){"use strict";let i="mdi",n=null,s="chevron-left",o="chevron-right";function a(e,t){return(e&t)===t}function r(e,t,i){return Math.max(t,Math.min(i,e))}const l={sizes:{default:"mdi-24px","is-small":null,"is-medium":"mdi-36px","is-large":"mdi-48px"},iconPrefix:"mdi-"},c=()=>{const e="fa-";return{sizes:{default:null,"is-small":null,"is-medium":e+"lg","is-large":e+"2x"},iconPrefix:e,internalIcons:{information:"info-circle",alert:"exclamation-triangle","alert-circle":"exclamation-circle","chevron-right":"angle-right","chevron-left":"angle-left","chevron-down":"angle-down","eye-off":"eye-slash","menu-down":"caret-down","menu-up":"caret-up","close-circle":"times-circle"}}};var d=(e,t)=>{const i=e.__vccOpts||e;for(const[e,n]of t)i[e]=n;return i};var u=d(t.defineComponent({name:"BIcon",props:{type:[String,Object],component:String,pack:String,icon:{type:String,required:!0},size:String,customSize:String,customClass:String,both:Boolean},computed:{iconConfig(){return{mdi:l,fa:c(),fas:c(),far:c(),fad:c(),fab:c(),fal:c(),"fa-solid":c(),"fa-regular":c(),"fa-light":c(),"fa-thin":c(),"fa-duotone":c(),"fa-brands":c()}[this.newPack]},iconPrefix(){return this.iconConfig&&this.iconConfig.iconPrefix?this.iconConfig.iconPrefix:""},newIcon(){return`${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`},newPack(){return this.pack||i},newType(){if(!this.type)return;let e=[];if("string"==typeof this.type)e=this.type.split("-");else for(const t in this.type)if(this.type[t]){e=t.split("-");break}if(e.length<=1)return;const[,...t]=e;return`has-text-${t.join("-")}`},newCustomSize(){return this.customSize||this.customSizeByPack},customSizeByPack(){if(this.iconConfig&&this.iconConfig.sizes){if(this.size&&void 0!==this.iconConfig.sizes[this.size])return this.iconConfig.sizes[this.size];if(this.iconConfig.sizes.default)return this.iconConfig.sizes.default}return null},useIconComponent(){return this.component||n}},methods:{getEquivalentIconOf(e){if(!this.both)return e;if(null==this.iconConfig)return e;const t=this.iconConfig;return t&&t.internalIcons&&t.internalIcons[e]?t.internalIcons[e]:e}}}),[["render",function(e,i,n,s,o,a){return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["icon",[e.newType,e.size]])},[e.useIconComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.useIconComponent),{key:1,icon:[e.newPack,e.newIcon],size:e.newCustomSize,class:t.normalizeClass([e.customClass])},null,8,["icon","size","class"])):(t.openBlock(),t.createElementBlock("i",{key:0,class:t.normalizeClass([e.newPack,e.newIcon,e.newCustomSize,e.customClass])},null,2))],2)}]]),m=t.defineComponent({name:"BSlotComponent",props:{component:{type:Object,required:!0},name:{type:String,default:"default"},scoped:{type:Boolean},props:{type:Object},tag:{type:[String,Object],default:"div"}},methods:{refresh(){this.$forceUpdate()}},render(){return t.h(this.tag,{},this.component.$slots?this.scoped?this.component.$slots[this.name](this.props):this.component.$slots[this.name]():void 0)}}),p=Object.defineProperty,h=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,g=(e,t,i)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var I=(e,t)=>{const i={provide(){return{["b"+e]:this}}};return a(t,1)&&(i.data=function(){return((e,t)=>{for(var i in t||(t={}))f.call(t,i)&&g(e,i,t[i]);if(h)for(var i of h(t))v.call(t,i)&&g(e,i,t[i]);return e})({childItems:[]},a(t,3)?{nextIndex:0}:{})},i.methods={_registerItem(e){a(t,3)&&(e.dynamicIndex=this.nextIndex,++this.nextIndex),this.childItems.push(e)},_unregisterItem(e){this.childItems=this.childItems.filter((t=>t.uniqueValue!==e.uniqueValue))}},a(t,3)&&(i.computed={sortedItems(){return this.childItems.slice().sort(((e,t)=>e.index-t.index))}})),i};const b=["bottom","right","left"],x=["minimalist","compact"];var y,k=t.defineComponent({name:"BSteps",components:{BIcon:u},mixins:[(y="step",t.defineComponent({components:{BIcon:u,BSlotComponent:m},mixins:[I(y,3)],props:{modelValue:{type:[String,Number,null],default:void 0},size:String,animated:{type:Boolean,default:!0},animation:String,animateInitially:Boolean,vertical:{type:Boolean,default:!1},position:String,destroyOnHide:{type:Boolean,default:!1}},emits:{"update:modelValue":e=>!0},data(){return{activeId:this.modelValue,defaultSlots:[],contentHeight:0,isTransitioning:!1}},computed:{activeItem(){const e=this.childItems;return void 0===this.activeId?this.items[0]:null===this.activeId?null:e.find((e=>e.uniqueValue===this.activeId))},items(){return this.sortedItems}},watch:{modelValue(e){"number"==typeof e?(e=r(e,0,this.items.length-1),this.activeId=this.items[e].uniqueValue):this.activeId=e},activeId(e,t){const i=null!=t?this.childItems.find((e=>e.uniqueValue===t)):null;i&&this.activeItem&&(i.deactivate(this.activeItem.index),this.activeItem.activate(i.index)),(e=this.activeItem?"number"==typeof this.modelValue?this.items.indexOf(this.activeItem):this.activeItem.uniqueValue:void 0)!==this.modelValue&&this.$emit("update:modelValue",e)}},methods:{childClick(e){this.activeId=e.uniqueValue},getNextItemIdx(e,t=!1){let i=null;for(let n=0;n<this.items.length;n++){const s=this.items[n];if(e<s.index&&s.visible&&(!t||t&&!s.disabled)){i=s.index;break}}return i},getPrevItemIdx(e,t=!1){let i=null;for(let n=this.items.length-1;n>=0;n--){const s=this.items[n];if(s.index<e&&s.visible&&(!t||t&&!s.disabled)){i=s.index;break}}return i}},mounted(){if("number"==typeof this.modelValue){const e=r(this.modelValue,0,this.items.length-1);this.activeId=this.items[e].uniqueValue}else this.activeId=this.modelValue}}))],props:{type:[String,Object],iconPack:String,iconPrev:{type:String,default:()=>s},iconNext:{type:String,default:()=>o},hasNavigation:{type:Boolean,default:!0},labelPosition:{type:String,validator:e=>b.indexOf(e)>-1,default:"bottom"},rounded:{type:Boolean,default:!0},mobileMode:{type:String,validator:e=>x.indexOf(e)>-1,default:"minimalist"},ariaNextLabel:String,ariaPreviousLabel:String},computed:{activeItem(){return this.childItems.filter((e=>e.uniqueValue===this.activeId))[0]||this.items[0]},wrapperClasses(){return[this.size,{"is-vertical":this.vertical,[this.position]:this.position&&this.vertical}]},mainClasses(){return[this.type,{"has-label-right":"right"===this.labelPosition,"has-label-left":"left"===this.labelPosition,"is-animated":this.animated,"is-rounded":this.rounded,[`mobile-${this.mobileMode}`]:null!==this.mobileMode}]},hasPrev(){return null!==this.prevItemIdx},nextItemIdx(){const e=this.activeItem?this.activeItem.index:0;return this.getNextItemIdx(e)},nextItem(){let e=null;return null!==this.nextItemIdx&&(e=this.items.find((e=>e.index===this.nextItemIdx))),e},prevItemIdx(){if(!this.activeItem)return null;const e=this.activeItem.index;return this.getPrevItemIdx(e)},prevItem(){if(!this.activeItem)return null;let e=null;return null!==this.prevItemIdx&&(e=this.items.find((e=>e.index===this.prevItemIdx))),e},hasNext(){return null!==this.nextItemIdx},navigationProps(){return{previous:{disabled:!this.hasPrev,action:this.prev},next:{disabled:!this.hasNext,action:this.next}}}},methods:{isItemClickable(e){return void 0===e.clickable?e.index<this.activeItem.index:e.clickable},prev(){this.hasPrev&&(this.activeId=this.prevItem.uniqueValue)},next(){this.hasNext&&(this.activeId=this.nextItem.uniqueValue)}}});const C={class:"step-items"},S=["onClick"],P={class:"step-marker"},B={key:1},w={class:"step-details"},V={class:"step-title"},z={key:0,class:"step-navigation"},N=["disabled","aria-label"],O=["disabled","aria-label"];var E=d(k,[["render",function(e,i,n,s,o,a){const r=t.resolveComponent("b-icon");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["b-steps",e.wrapperClasses])},[t.createElementVNode("nav",{class:t.normalizeClass(["steps",e.mainClasses])},[t.createElementVNode("ul",C,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.items,(i=>t.withDirectives((t.openBlock(),t.createElementBlock("li",{key:i.uniqueValue,class:t.normalizeClass(["step-item",[i.type||e.type,i.headerClass,{"is-active":i.isActive,"is-previous":e.activeItem.index>i.index}]])},[t.createElementVNode("a",{class:t.normalizeClass(["step-link",{"is-clickable":e.isItemClickable(i)}]),onClick:t=>e.isItemClickable(i)&&e.childClick(i)},[t.createElementVNode("div",P,[i.icon?(t.openBlock(),t.createBlock(r,{key:0,icon:i.icon,pack:i.iconPack,size:e.size},null,8,["icon","pack","size"])):i.step?(t.openBlock(),t.createElementBlock("span",B,t.toDisplayString(i.step),1)):t.createCommentVNode("v-if",!0)]),t.createElementVNode("div",w,[t.createElementVNode("span",V,t.toDisplayString(i.label),1)])],10,S)],2)),[[t.vShow,i.visible]]))),128))])],2),t.createElementVNode("section",{class:t.normalizeClass(["step-content",{"is-transitioning":e.isTransitioning}])},[t.renderSlot(e.$slots,"default")],2),t.renderSlot(e.$slots,"navigation",{previous:e.navigationProps.previous,next:e.navigationProps.next},(()=>[e.hasNavigation?(t.openBlock(),t.createElementBlock("nav",z,[t.createElementVNode("a",{role:"button",class:"pagination-previous",disabled:e.navigationProps.previous.disabled||void 0,onClick:i[0]||(i[0]=t.withModifiers(((...t)=>e.navigationProps.previous.action&&e.navigationProps.previous.action(...t)),["prevent"])),"aria-label":e.ariaPreviousLabel},[t.createVNode(r,{icon:e.iconPrev,pack:e.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])],8,N),t.createElementVNode("a",{role:"button",class:"pagination-next",disabled:e.navigationProps.next.disabled||void 0,onClick:i[1]||(i[1]=t.withModifiers(((...t)=>e.navigationProps.next.action&&e.navigationProps.next.action(...t)),["prevent"])),"aria-label":e.ariaNextLabel},[t.createVNode(r,{icon:e.iconNext,pack:e.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])],8,O)])):t.createCommentVNode("v-if",!0)]))],2)}]]),j=Object.defineProperty,q=Object.defineProperties,$=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,A=(e,t,i)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,D=(e,t)=>{for(var i in t||(t={}))T.call(t,i)&&A(e,i,t[i]);if(_)for(var i of _(t))M.call(t,i)&&A(e,i,t[i]);return e},L=(e,t)=>q(e,$(t));var H,R=(e,t)=>{const i={inject:{parent:{from:"b"+e,default:""}},props:{value:{type:String,default:null}},computed:{uniqueValue(){return null!=this.value?this.value:this.$.uid}},created(){if(this.parent)this.parent._registerItem&&this.parent._registerItem(this);else if(!a(t,2))throw new Error("You should wrap "+this.$options.name+" in a "+e)},beforeUnmount(){this.parent&&this.parent._unregisterItem&&this.parent._unregisterItem(this)}};return a(t,1)&&(i.props=L(D({},i.props),{order:{type:Number,required:!1}}),i.data=()=>({dynamicIndex:void 0}),i.computed=L(D({},i.computed),{index(){return null!=this.order?this.order:this.dynamicIndex}})),i},U=t.defineComponent({name:"BStepItem",mixins:[(H="step",t.defineComponent({mixins:[R(H,1)],props:{label:String,icon:String,iconPack:String,visible:{type:Boolean,default:!0},headerClass:{type:[String,Array,Object],default:null}},data:()=>({transitionName:null,elementClass:"item",elementRole:null}),computed:{isActive(){return this.parent.activeItem===this}},methods:{activate(e){this.transitionName=this.index<e?this.parent.vertical?"slide-down":"slide-next":this.parent.vertical?"slide-up":"slide-prev"},deactivate(e){this.transitionName=e<this.index?this.parent.vertical?"slide-down":"slide-next":this.parent.vertical?"slide-up":"slide-prev"}},render(){var e;if(this.parent.destroyOnHide&&(!this.isActive||!this.visible))return;const i=t.withDirectives(t.h("div",{class:this.elementClass,role:this.elementRole,id:`${this.uniqueValue}-content`,"aria-labelledby":this.elementRole?`${this.uniqueValue}-label`:null,tabindex:this.isActive?0:-1},this.$slots),[[t.vShow,this.isActive&&this.visible]]);return this.parent.animated?t.h(t.Transition,{name:null!=(e=this.parent.animation||this.transitionName)?e:void 0,appear:!0===this.parent.animateInitially||void 0,onBeforeEnter:()=>{this.parent.isTransitioning=!0},onAfterEnter:()=>{this.parent.isTransitioning=!1}},{default:()=>i}):i}}))],props:{step:[String,Number],type:[String,Object],clickable:{type:Boolean,default:void 0}},data:()=>({elementClass:"step-item"})});const F=(e,t,i)=>{const n=t.name;if(null==n)throw new Error("Buefy.registerComponent: missing component name");e.component(n,t)},Y={install(e){F(e,E),F(e,U)}};e.BStepItem=U,e.BSteps=E,e.default=Y,Object.defineProperty(e,"__esModule",{value:!0})}));