UNPKG

buefy

Version:

Lightweight UI components for Vue.js based on Bulma

3 lines (2 loc) 10 kB
/*! Buefy v0.8.2 | MIT License | github.com/buefy/buefy */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Steps={})}(this,function(e){"use strict";function t(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var i={defaultContainerElement:null,defaultIconPack:"mdi",defaultIconComponent:null,defaultDialogConfirmText:null,defaultDialogCancelText:null,defaultSnackbarDuration:3500,defaultSnackbarPosition:null,defaultToastDuration:2e3,defaultToastPosition:null,defaultNotificationDuration:2e3,defaultNotificationPosition:null,defaultTooltipType:"is-primary",defaultTooltipAnimated:!1,defaultTooltipDelay:0,defaultInputAutocomplete:"on",defaultDateFormatter:null,defaultDateParser:null,defaultDateCreator:null,defaultDayNames:null,defaultMonthNames:null,defaultFirstDayOfWeek:null,defaultUnselectableDaysOfWeek:null,defaultTimeFormatter:null,defaultTimeParser:null,defaultModalCanCancel:["escape","x","outside","button"],defaultModalScroll:null,defaultDatepickerMobileNative:!0,defaultTimepickerMobileNative:!0,defaultNoticeQueue:!0,defaultInputHasCounter:!0,defaultTaginputHasCounter:!0,defaultUseHtml5Validation:!0,defaultDropdownMobileModal:!0,defaultFieldLabelPosition:null,defaultDatepickerYearsRange:[-100,3],defaultDatepickerNearbyMonthDays:!0,defaultDatepickerNearbySelectableMonthDays:!1,defaultDatepickerShowWeekNumber:!1};var n=function(e,t,i,n,s,a,o,r,c,l){"boolean"!=typeof o&&(c=r,r=o,o=!1);var u,p="function"==typeof i?i.options:i;if(e&&e.render&&(p.render=e.render,p.staticRenderFns=e.staticRenderFns,p._compiled=!0,s&&(p.functional=!0)),n&&(p._scopeId=n),a?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(a)},p._ssrRegister=u):t&&(u=o?function(){t.call(this,l(this.$root.$options.shadowRoot))}:function(e){t.call(this,r(e))}),u)if(p.functional){var d=p.render;p.render=function(e,t){return u.call(t),d(e,t)}}else{var f=p.beforeCreate;p.beforeCreate=f?[].concat(f,u):[u]}return i};var s,a=n({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"icon",class:[e.newType,e.size]},[e.useIconComponent?i(e.useIconComponent,{tag:"component",class:[e.customClass],attrs:{icon:[e.newPack,e.newIcon],size:e.newCustomSize}}):i("i",{class:[e.newPack,e.newIcon,e.newCustomSize,e.customClass]})],1)},staticRenderFns:[]},void 0,{name:"BIcon",props:{type:[String,Object],pack:String,icon:String,size:String,customSize:String,customClass:String,both:Boolean},computed:{newIcon:function(){return"mdi"===this.newPack?"".concat(this.newPack,"-").concat(this.icon):this.addFAPrefix(this.getEquivalentIconOf(this.icon))},newPack:function(){return this.pack||i.defaultIconPack},newType:function(){if(this.type){var e=[];if("string"==typeof this.type)e=this.type.split("-");else for(var t in this.type)if(this.type[t]){e=t.split("-");break}if(!(e.length<=1))return"has-text-".concat(e[1])}},newCustomSize:function(){return this.customSize||this.customSizeByPack},customSizeByPack:function(){var e="mdi"===this.newPack?"mdi-24px":this.addFAPrefix("lg"),t="mdi"===this.newPack?"mdi-36px":this.addFAPrefix("2x"),i="mdi"===this.newPack?"mdi-48px":this.addFAPrefix("3x");switch(this.size){case"is-small":return;case"is-medium":return t;case"is-large":return i;default:return e}},useIconComponent:function(){return i.defaultIconComponent}},methods:{addFAPrefix:function(e){return this.useIconComponent?e:"fa-".concat(e)},getEquivalentIconOf:function(e){if(!this.both)return e;switch(e){case"check":return"check";case"information":return"info-circle";case"check-circle":return"check-circle";case"alert":return"exclamation-triangle";case"alert-circle":return"exclamation-circle";case"arrow-up":return"arrow-up";case"chevron-right":return"angle-right";case"chevron-left":return"angle-left";case"chevron-down":return"angle-down";case"eye":return"eye";case"eye-off":return"eye-slash";case"menu-down":return"caret-down";case"menu-up":return"caret-up";default:return e}}}},void 0,!1,void 0,void 0,void 0),o={name:"BSlotComponent",props:{component:{type:Object,required:!0},name:{type:String,default:"default"},scoped:{type:Boolean},props:{type:Object},tag:{type:String,default:"div"},event:{type:String,default:"hook:updated"}},methods:{refresh:function(){this.$forceUpdate()},isVueComponent:function(){return this.component&&this.component._isVue}},created:function(){this.isVueComponent()&&this.component.$on(this.event,this.refresh)},beforeDestroy:function(){this.isVueComponent()&&this.component.$off(this.event,this.refresh)},render:function(e){if(this.isVueComponent())return e(this.tag,{},this.scoped?this.component.$scopedSlots[this.name](this.props):this.component.$slots[this.name])}};var r=n({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"b-steps"},[i("nav",{staticClass:"steps",class:e.mainClasses},[i("ul",{staticClass:"step-items"},e._l(e.stepItems,function(t,n){return i("li",{directives:[{name:"show",rawName:"v-show",value:t.visible,expression:"stepItem.visible"}],key:n,staticClass:"step-item",class:[t.type||e.type,{"is-active":e.activeStep===n,"is-previous":e.activeStep>n}]},[i("a",{staticClass:"step-link",class:{"is-clickable":e.isItemClickable(t,n)},on:{click:function(i){e.isItemClickable(t,n)&&e.stepClick(n)}}},[i("div",{staticClass:"step-marker"},[t.icon?i("b-icon",{attrs:{icon:t.icon,pack:t.iconPack,size:e.size}}):e._e()],1),e._v(" "),i("div",{staticClass:"step-details"},[i("span",{staticClass:"step-title"},[e._v(e._s(t.label))])])])])}))]),e._v(" "),i("section",{staticClass:"step-content",class:{"is-transitioning":e.isTransitioning}},[e._t("default")],2),e._v(" "),e.hasNavigation?i("nav",{staticClass:"step-navigation"},[i("a",{staticClass:"pagination-previous",attrs:{role:"button",href:"#",disabled:!e.hasPrev,"aria-label":e.ariaPreviousLabel},on:{click:function(t){t.preventDefault(),e.prev(t)}}},[i("b-icon",{attrs:{icon:"chevron-left",pack:e.iconPack,both:"","aria-hidden":"true"}})],1),e._v(" "),i("a",{staticClass:"pagination-next",attrs:{role:"button",href:"#",disabled:!e.hasNext,"aria-label":e.ariaNextLabel},on:{click:function(t){t.preventDefault(),e.next(t)}}},[i("b-icon",{attrs:{icon:"chevron-right",pack:e.iconPack,both:"","aria-hidden":"true"}})],1)]):e._e()])},staticRenderFns:[]},void 0,{name:"BSteps",components:(s={},t(s,a.name,a),t(s,o.name,o),s),props:{value:Number,type:[String,Object],size:String,animated:{type:Boolean,default:!0},destroyOnHide:{type:Boolean,default:!1},iconPack:String,hasNavigation:{type:Boolean,default:!0},ariaNextLabel:String,ariaPreviousLabel:String},data:function(){return{activeStep:this.value||0,stepItems:[],contentHeight:0,isTransitioning:!1,_isSteps:!0}},computed:{mainClasses:function(){return[this.type,this.size]},reversedStepItems:function(){return this.stepItems.slice().reverse()},firstVisibleStepIndex:function(){return this.stepItems.findIndex(function(e,t){return e.visible})},hasPrev:function(){return this.firstVisibleStepIndex>=0&&this.activeStep>this.firstVisibleStepIndex},lastVisibleStepIndex:function(){var e=this.reversedStepItems.findIndex(function(e,t){return e.visible});return e>=0?this.stepItems.length-1-e:e},hasNext:function(){return this.lastVisibleStepIndex>=0&&this.activeStep<this.lastVisibleStepIndex}},watch:{value:function(e){this.changeStep(e)},stepItems:function(){this.activeStep<this.stepItems.length&&(this.stepItems[this.activeStep].isActive=!0)}},methods:{changeStep:function(e){this.activeStep!==e&&(this.activeStep<this.stepItems.length&&this.stepItems[this.activeStep].deactivate(this.activeStep,e),this.stepItems[e].activate(this.activeStep,e),this.activeStep=e,this.$emit("change",e))},isItemClickable:function(e,t){return void 0===e.clickable?this.activeStep>t:e.clickable},stepClick:function(e){this.$emit("input",e),this.changeStep(e)},prev:function(){var e=this;if(this.hasPrev){var t=this.reversedStepItems.findIndex(function(t,i){return e.stepItems.length-1-i<e.activeStep&&t.visible});t>=0&&(t=this.stepItems.length-1-t),this.$emit("input",t),this.changeStep(t)}},next:function(){var e=this;if(this.hasNext){var t=this.stepItems.findIndex(function(t,i){return i>e.activeStep&&t.visible});this.$emit("input",t),this.changeStep(t)}}},mounted:function(){this.activeStep<this.stepItems.length&&(this.stepItems[this.activeStep].isActive=!0)}},void 0,!1,void 0,void 0,void 0);var c,l=n({},void 0,{name:"BStepItem",props:{label:String,type:String|Object,icon:String,iconPack:String,clickable:{type:Boolean,default:void 0},visible:{type:Boolean,default:!0}},data:function(){return{isActive:!1,transitionName:null}},methods:{activate:function(e,t){this.transitionName=t<e?"slide-next":"slide-prev",this.isActive=!0},deactivate:function(e,t){this.transitionName=t<e?"slide-next":"slide-prev",this.isActive=!1}},created:function(){if(!this.$parent.$data._isSteps)throw this.$destroy(),new Error("You should wrap bStepItem on a bSteps");this.$parent.stepItems.push(this)},beforeDestroy:function(){var e=this.$parent.stepItems.indexOf(this);e>=0&&this.$parent.stepItems.splice(e,1)},render:function(e){var t=this;if(!this.$parent.destroyOnHide||this.isActive&&this.visible){var i=e("div",{directives:[{name:"show",value:this.isActive&&this.visible}],attrs:{class:"step-item"}},this.$slots.default);return this.$parent.animated?e("transition",{props:{name:this.transitionName},on:{"before-enter":function(){t.$parent.isTransitioning=!0},"after-enter":function(){t.$parent.isTransitioning=!1}}},[i]):i}}},void 0,void 0,void 0,void 0,void 0),u=function(e,t){e.component(t.name,t)},p={install:function(e){u(e,r),u(e,l)}};c=p,"undefined"!=typeof window&&window.Vue&&window.Vue.use(c),e.StepItem=l,e.Steps=r,e.default=p,Object.defineProperty(e,"__esModule",{value:!0})});