vue-bootstrap-sidebar
Version:
Simple sidebar component for Vue applications build using bootstrap-vue
1 lines • 5.28 kB
JavaScript
var VueBootstrapSidebar=function(e,t){"use strict";var n={name:"BootstrapSidebar",components:{HamburgerButton:t=t&&t.hasOwnProperty("default")?t.default:t},props:{links:{type:Array,default:null},initialShow:{type:Boolean,default:!0},theme:{type:String,default:"default-theme"},header:{type:String,default:"Sidebar"}},data:function(){return{show:this.initialShow}},methods:{onButtonClick:function(){this.show=!this.show,this.$emit("sidebarChanged",this.show)}}};const a="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());let s;const o={};var i=function(e,t,n,a,s,o,i,r,d,l){"boolean"!=typeof i&&(d=r,r=i,i=!1);const c="function"==typeof n?n.options:n;let u;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,s&&(c.functional=!0)),a&&(c._scopeId=a),o?(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,d(e)),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=u):t&&(u=i?function(e){t.call(this,l(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,r(e))}),u)if(c.functional){const e=c.render;c.render=function(t,n){return u.call(n),e(t,n)}}else{const e=c.beforeCreate;c.beforeCreate=e?[].concat(e,u):[u]}return n}({render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("nav",{staticClass:"vue-bootstrap-sidebar default-theme",class:[e.theme]&&[e.show?"sidebar-visible":"sidebar-hidden"],attrs:{id:"sidebar"}},[n("div",{staticClass:"sidebar-header",domProps:{innerHTML:e._s(e.header)}}),e._v(" "),n("b-list-group",{staticClass:"items-wrapper"},[e._l(e.links,(function(t,a){return[void 0!==t.href?[n("b-list-group-item",{key:a},[n("b-button",{staticClass:"btn sidebar-menu-item",attrs:{block:"",to:t.href,variant:"info",squared:!0}},[n("div",{staticClass:"fa-icon"},[t.faIcon?n("font-awesome-icon",{tag:"component",attrs:{icon:t.faIcon}}):e._e()],1),e._v(" "),n("div",{staticClass:"link-name"},[e._v("\n "+e._s(t.name)+"\n ")])])],1)]:[n("b-list-group-item",{key:a},[n("b-button",{directives:[{name:"b-toggle",rawName:"v-b-toggle",value:"accordion-"+t.name,expression:"`accordion-${link.name}`"}],staticClass:"sidebar-menu-item dropdown-toggle",attrs:{block:"",href:"#",variant:"info"}},[n("div",{staticClass:"fa-icon"},[t.faIcon?n("font-awesome-icon",{tag:"component",attrs:{icon:t.faIcon}}):e._e()],1),e._v(" "),n("div",{staticClass:"link-name"},[e._v("\n "+e._s(t.name)+"\n ")])])],1),e._v(" "),n("b-collapse",{key:a+10,attrs:{id:"accordion-"+t.name,accordion:"my-accordion",role:"tabpanel"}},[n("b-list-group",e._l(t.children,(function(t,a){return n("b-list-group-item",{key:a},[n("b-button",{staticClass:"sidebar-menu-item child-level-1",attrs:{block:"",variant:"primary",to:t.href}},[n("div",{staticClass:"fa-icon"},[t.faIcon?n("font-awesome-icon",{tag:"component",attrs:{icon:t.faIcon}}):e._e()],1),e._v(" "),n("div",{staticClass:"link-name"},[e._v("\n "+e._s(t.name)+"\n ")])])],1)})),1)],1)]]}))],2),e._v(" "),n("HamburgerButton",{staticClass:"sidebar-button",class:[e.show?"visible":"hidden"],attrs:{id:"sidebarButton","is-hamburger":!e.initialShow},on:{click:e.onButtonClick}})],1),e._v(" "),n("div",{class:[e.show?"sidebar":"no-sidebar"],attrs:{id:"navbar"}},[e._t("navbar")],2),e._v(" "),n("div",{class:[e.show?"sidebar":"no-sidebar"],attrs:{id:"content"}},[e._t("content")],2)])},staticRenderFns:[]},(function(e){e&&e("data-v-d5ed1e34_0",{source:".default-theme{display:inline-block;cursor:pointer}.default-theme .bar1,.default-theme .bar2,.default-theme .bar3{width:25px;height:3px;background-color:#333;margin:6px 0;transition:.4s}.default-theme.cross .bar1{-webkit-transform:rotate(-45deg) translate(-7px,6px);transform:rotate(-45deg) translate(-7px,6px)}.default-theme.cross .bar2{opacity:0}.default-theme.cross .bar3{-webkit-transform:rotate(45deg) translate(-6px,-6px);transform:rotate(45deg) translate(-6px,-6px)}",map:void 0,media:void 0})}),n,void 0,!1,void 0,!1,(function(e){return(e,t)=>function(e,t){const n=a?t.media||"default":e,i=o[n]||(o[n]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);let n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",t.media&&i.element.setAttribute("media",t.media),void 0===s&&(s=document.head||document.getElementsByTagName("head")[0]),s.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(n),i.element.styleSheet.cssText=i.styles.filter(Boolean).join("\n");else{const e=i.ids.size-1,t=document.createTextNode(n),a=i.element.childNodes;a[e]&&i.element.removeChild(a[e]),a.length?i.element.insertBefore(t,a[e]):i.element.appendChild(t)}}}(e,t)}),void 0,void 0),r=function e(t){e.installed||(e.installed=!0,t.component("BootstrapSidebar",i))},d={install:r},l=null;return"undefined"!=typeof window?l=window.Vue:"undefined"!=typeof global&&(l=global.Vue),l&&l.use(d),i.install=r,e.default=i,e}({},HamburgerButton);