@vue-interface/btn-dropdown 2.0.0-beta.11 → 2.0.0-beta.12

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.
@@ -598,3 +598,4 @@ const _ = /* @__PURE__ */ k(J, [["render", Q]]);
598
598
  export {
599
599
  _ as BtnDropdown
600
600
  };
601
+ //# sourceMappingURL=btn-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btn-dropdown.js","sources":["../src/BtnDropdownAction.vue","../src/DropdownHandler.ts","../src/BtnDropdownSingle.vue","../src/BtnDropdownSplit.vue","../src/BtnDropdown.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n props: {\n expanded: {\n type: Boolean,\n default: false\n },\n id: {\n type: String,\n default: undefined\n },\n href: {\n type: String,\n default: undefined\n },\n to: {\n type: [String, Object],\n default: undefined\n }\n },\n computed: {\n is() {\n if(this.to) {\n return 'router-link';\n }\n\n if(this.href) {\n return 'a';\n }\n\n return 'button';\n },\n }\n});\n</script>\n\n<template>\n <Component\n :is=\"is\"\n :id=\"id\"\n v-bind=\"to ? { to } : { href }\"\n aria-haspopup=\"true\"\n :aria-expanded=\"expanded\"\n :type=\"is === 'button' ? 'button': undefined\">\n <slot />\n </Component>\n</template>","import { createPopper, Placement } from '@popperjs/core';\nimport { Btn } from '@vue-interface/btn';\nimport { BtnGroup } from '@vue-interface/btn-group';\nimport { DropdownMenu } from '@vue-interface/dropdown-menu';\nimport { defineComponent } from 'vue';\nimport BtnDropdownAction from './BtnDropdownAction.vue';\n\nexport default defineComponent({\n\n components: {\n BtnDropdownAction,\n BtnGroup,\n DropdownMenu\n },\n\n extends: Btn,\n\n props: {\n\n /**\n * Display the dropdown menu aligned left or right\n *\n * @property String\n */\n align: {\n type: String,\n default: 'left',\n validate(value: any) {\n return ['left', 'right'].indexOf(value.toLowerCase()) !== -1;\n }\n },\n\n /**\n * Should animate the dropdown opening.\n *\n * @property {Boolean}\n */\n animated: {\n type: Boolean,\n default: true\n },\n\n /**\n * Additional button classes.\n * \n * @property {Object|String}\n */\n buttonClass: [Object, String],\n\n /**\n * Show the caret.\n *\n * @property {Boolean}\n */\n caret: {\n type: Boolean,\n default: true\n },\n\n /**\n * Should display the toggle button as a circle.\n *\n * @property Boolean\n */\n \n // circle: {\n // type: Boolean,\n // default: false\n // },\n\n /**\n * Display as a dropup instead of a dropdown.\n *\n * @property Boolean\n */\n dropup: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display as a dropright instead of a dropdown.\n *\n * @property Boolean\n */\n dropright: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display as a dropleft instead of a dropdown.\n *\n * @property Boolean\n */\n dropleft: {\n type: Boolean,\n default: false\n },\n\n /**\n * The action height.\n *\n * @property {String}\n */\n height: String,\n\n /**\n * The href action.\n *\n * @property {String}\n */\n href: String,\n\n /**\n * Is the dropdown a nav item?\n *\n * @property {Boolean}\n */\n nav: Boolean,\n\n /**\n * The toggle button's label. If not defined as an attribute,\n * you can override with the component's slot (inner html).\n *\n * @property {String}\n */\n label: String,\n\n offset: {\n type: Number,\n default: 5,\n },\n\n /**\n * Should rotate the toggle button when opened.\n *\n * @property {Boolean}\n */\n rotate: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display the dropdown button with a split toggle button.\n *\n * @property {Boolean}\n */\n split: {\n type: Boolean,\n default: false\n },\n\n /**\n * The \"to\" path, used for vue-router.\n *\n * @property {String|Object}\n */\n to: [String, Object],\n\n /**\n * The button type attribute.\n *\n * @property {String}\n */\n type: {\n type: String,\n default: 'button'\n },\n\n /**\n * The action width.\n *\n * @property {String}\n */\n width: String,\n\n },\n\n emits: [\n 'click-toggle',\n 'show',\n 'hide',\n 'toggle'\n ],\n\n data() {\n return {\n popper: null,\n triggerAnimation: false,\n expanded: false\n };\n },\n\n computed: {\n scope() {\n return {\n // Pass the computed props.\n placement: this.placement,\n variantClassPrefix: this.variantClassPrefix,\n sizeableClassPrefix: this.sizeableClassPrefix,\n classes: this.classes,\n actionClasses: this.actionClasses,\n toggleStyle: this.toggleStyle,\n toggleClasses: this.toggleClasses,\n \n // Pass the methods \n focus: this.focus,\n queryFocusable: this.queryFocusable,\n isFocusable: this.isFocusable,\n toggle: this.toggle,\n show: this.show,\n hide: this.hide,\n onBlur: this.onBlur,\n onClickItem: this.onClickItem,\n onClickToggle: this.onClickToggle,\n expanded: this.expanded\n };\n },\n\n placement() {\n if(this.dropup) {\n return 'top';\n }\n\n if(this.dropleft) {\n return 'left';\n }\n\n if(this.dropright) {\n return 'right';\n }\n\n return 'bottom';\n },\n\n variantClassPrefix() {\n return 'btn' + (this.outline ? '-outline' : '');\n },\n\n sizeableClassPrefix() {\n return 'btn';\n },\n\n classes() {\n return {\n 'dropdown': this.dropup && this.dropright && this.dropleft,\n 'dropup': this.dropup,\n 'dropright': this.dropright,\n 'dropleft': this.dropleft,\n 'icon-only': !this.nav && !this.split && !!this.$slots.icon && !this.$slots.label,\n 'hide-caret': !this.caret,\n 'expanded': this.expanded,\n 'rotate-90': !this.nav && this.split && this.rotate && this.expanded,\n };\n },\n\n actionClasses() {\n return Object.assign({\n 'btn': !this.nav,\n [this.variantClass]: !this.nav && !!this.variant,\n [this.sizeableClass]: !!this.size,\n }, typeof this.buttonClass === 'object' ? this.buttonClass : {\n [this.buttonClass]: !!this.buttonClass\n });\n },\n\n toggleStyle() {\n return {\n width: this.width,\n height: this.height,\n };\n },\n\n toggleClasses() {\n return Object.assign({\n 'active': this.active,\n 'btn': !this.nav,\n 'btn-block': !!this.block,\n 'nav-link': !!this.nav,\n 'rotate-90': !this.split && this.rotate && this.expanded,\n 'dropdown-toggle': true,\n 'dropdown-toggle-split': !this.nav && this.split,\n [this.variantClass]: !this.nav && !!this.variant,\n [this.sizeableClass]: !!this.size,\n }, typeof this.buttonClass === 'object' ? this.buttonClass : {\n [this.buttonClass]: !!this.buttonClass\n });\n }\n },\n\n watch: {\n expanded(value: any) {\n this.$nextTick(() => {\n this.$emit(value ? 'show' : 'hide');\n this.$emit('toggle', value);\n });\n \n setTimeout(() => {\n if(value) {\n document.addEventListener('click', this.onClickDocument);\n }\n else {\n document.removeEventListener('click', this.onClickDocument);\n }\n });\n }\n },\n\n beforeUnmount() {\n this.popper && this.popper.destroy();\n },\n\n methods: {\n\n /**\n * Focus on the the dropdown toggle button\n *\n * @return void\n */\n focus() {\n this.$el?.querySelector('.dropdown-toggle').focus();\n },\n\n /**\n * Focus on the the dropdown toggle button\n *\n * @return void\n */\n queryFocusable() {\n return this.$el?.querySelector('.dropdown-menu').querySelectorAll('label, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n },\n\n /**\n * Method to check if the given element is focusable.\n *\n * @return void\n */\n isFocusable(element: any) {\n const nodes = this.queryFocusable();\n\n for(const i in nodes) {\n if(element === nodes[i]) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Toggle the dropdown menu\n *\n * @return void\n */\n toggle() {\n !this.expanded ? this.show() : this.hide();\n },\n\n /**\n * Show the dropdown menu\n *\n * @return void\n */\n show() {\n this.expanded = true;\n\n const target = this.$refs.split && this.$refs.split?.$el || this.$el;\n\n if(!this.nav && !this.popper) {\n this.popper = createPopper(target, this.$refs.menu?.$el, {\n placement: <Placement> `${this.placement}-${this.align === 'left' ? 'start' : 'end'}`,\n onFirstUpdate: () => {\n this.triggerAnimation = this.animated;\n },\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, !this.nav ? this.offset : 1]\n // offset: ['.125rem', !this.nav ? 4 : 1],\n },\n },\n ]\n });\n }\n else if(this.popper) {\n this.popper.update();\n }\n },\n\n /**\n * Hide the dropdown menu\n *\n * @return void\n */\n hide() {\n this.expanded = false;\n },\n\n /**\n * A callback function for the `blur-item` event.\n *\n * @return void\n */\n onBlur(e: any) {\n if(this.$refs.menu && !this.$refs.menu?.$el.contains(e.relatedTarget) || !this?.$el.contains(e.relatedTarget)) {\n this.hide();\n }\n },\n\n onClickDocument(e: Event) {\n if(!this?.$el.contains(e.target)) {\n this.hide();\n }\n },\n\n /**\n * A callback function for the `click-item` event.\n *\n * @return void\n */\n onClickItem(e: any) {\n if(!this.isFocusable(e.target)) {\n this.hide();\n }\n },\n\n /**\n * A callback function for the `click-toggle` event.\n *\n * @return void\n */\n onClickToggle(e: any) {\n e.target.dispatchEvent(new Event('focus', e));\n \n this.$emit('click-toggle', e);\n\n if(!e.defaultPrevented) {\n this.toggle();\n }\n },\n\n onKeydown(e: any) {\n if(e.target.parentElement.lastElementChild === e.target) {\n this.hide();\n }\n }\n\n }\n\n});","<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport DropdownHandler from './DropdownHandler';\n\nexport default defineComponent({\n\n mixins: [\n DropdownHandler\n ]\n\n});\n</script>\n\n<template>\n <BtnGroup :class=\"classes\">\n <slot\n name=\"button\"\n v-bind=\"scope\">\n <BtnDropdownAction\n :id=\"$attrs.id\"\n ref=\"button\"\n :expanded=\"expanded\"\n :href=\"href\"\n :to=\"to\"\n :style=\"toggleStyle\"\n :class=\"toggleClasses\"\n @blur=\"onBlur\"\n @click=\"onClickToggle\">\n <slot name=\"icon\" />\n <slot name=\"label\">\n {{ label }}\n </slot>\n </BtnDropdownAction>\n </slot>\n <DropdownMenu\n :id=\"$attrs.id\"\n ref=\"menu\"\n :align=\"align\"\n :show=\"expanded\"\n :class=\"{animated: triggerAnimation}\"\n @blur=\"onBlur\"\n @click=\"onClickItem\"\n @keydown.tab=\"onKeydown\"\n @mousedown.prevent=\"\">\n <slot />\n </DropdownMenu>\n </BtnGroup>\n</template>","<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport DropdownHandler from './DropdownHandler';\n\nexport default defineComponent({\n\n mixins: [\n DropdownHandler\n ],\n\n emits: [\n 'click'\n ]\n\n});\n</script>\n\n<template>\n <BtnGroup\n :class=\"classes\"\n class=\"btn-dropdown-split\">\n <slot\n v-if=\"!dropleft\"\n name=\"button\"\n v-bind=\"scope\">\n <BtnDropdownAction\n v-if=\"!dropleft\"\n :id=\"$attrs.id\"\n ref=\"button\"\n :expanded=\"expanded\"\n :href=\"href\"\n :to=\"to\"\n :class=\"actionClasses\"\n @click=\"$emit('click', $event)\">\n <slot name=\"icon\" />\n <slot name=\"label\">\n {{ label }}\n </slot>\n </BtnDropdownAction>\n </slot>\n\n <BtnGroup ref=\"split\">\n <slot\n name=\"split\"\n v-bind=\"scope\">\n <button\n v-if=\"split\"\n :id=\"$attrs.id\"\n type=\"button\"\n aria-haspopup=\"true\"\n :aria-expanded=\"expanded\"\n :class=\"toggleClasses\"\n @blur=\"onBlur\"\n @click=\"onClickToggle\" />\n </slot>\n \n <DropdownMenu\n :id=\"$attrs.id\"\n ref=\"menu\"\n :align=\"align\"\n :show=\"expanded\"\n :class=\"{animated: triggerAnimation}\"\n @blur=\"onBlur\"\n @click=\"onClickItem\"\n @keydown.tab=\"onKeydown\"\n @mousedown.prevent=\"\">\n <slot />\n </DropdownMenu>\n </BtnGroup>\n <slot\n v-if=\"dropleft\"\n name=\"button\"\n v-bind=\"scope\">\n <BtnDropdownAction\n v-if=\"dropleft\"\n :id=\"$attrs.id\"\n ref=\"button\"\n :expanded=\"expanded\"\n :href=\"href\"\n :to=\"to\"\n :class=\"actionClasses\"\n @click=\"$emit('click', $event)\">\n <slot name=\"icon\" />\n <slot name=\"label\">\n {{ label }}\n </slot>\n </BtnDropdownAction>\n </slot>\n </BtnGroup>\n</template>","<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport BtnDropdownSingle from './BtnDropdownSingle.vue';\nimport BtnDropdownSplit from './BtnDropdownSplit.vue';\n\nexport default defineComponent({\n\n name: 'BtnDropdown',\n\n components: {\n BtnDropdownSplit,\n BtnDropdownSingle\n },\n\n inheritAttrs: false,\n\n emits: [\n 'click',\n 'click-toggle',\n 'dropdown',\n 'show',\n 'hide',\n 'toggle'\n ]\n\n});\n</script>\n\n<template>\n <Component\n :is=\"$attrs.split === undefined || !!$attrs.nav ? 'btn-dropdown-single' : 'btn-dropdown-split'\"\n class=\"btn-dropdown\"\n v-bind=\"$attrs\"\n @click=\"(...args: any[]) => $emit('click', ...args)\"\n @click-toggle=\"(...args: any[]) => $emit('click-toggle', ...args)\"\n @dropdown=\"(...args: any[]) => $emit('dropdown', ...args)\"\n @show=\"(...args: any[]) => $emit('show', ...args)\"\n @hide=\"(...args: any[]) => $emit('hide', ...args)\"\n @toggle=\"(...args: any[]) => $emit('toggle', ...args)\">\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template\n v-if=\"$attrs.label || $slots.label\"\n #label>\n <slot name=\"label\">\n {{ $attrs.label }}\n </slot>\n </template>\n <template #button=\"slot\">\n <slot\n name=\"button\"\n v-bind=\"slot\" />\n </template>\n <template #split=\"slot\">\n <slot\n name=\"split\"\n v-bind=\"slot\" />\n </template>\n <slot />\n </Component>\n</template>\n\n<style>\n@keyframes btnDropdownZoomIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n\n.btn-dropdown {\n position: relative;\n}\n\n.btn-dropdown .dropdown-toggle {\n display: flex;\n transition: all 125ms ease-in;\n align-items: center;\n justify-content: center;\n}\n\n.nav-item .btn-group,\n.nav-item .btn-dropdown .dropdown-toggle {\n display: block;\n}\n/* \n.btn-dropdown.rounded-circle > .btn:last-child,\n.btn-dropdown.rounded-circle > .btn-group:last-child .dropdown-toggle {\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n}\n\n.btn-dropdown.rounded-circle > .btn:first-child,\n.btn-dropdown.rounded-circle > .btn-group:first-child .dropdown-toggle {\n border-top-left-radius: 100%;\n border-bottom-left-radius: 100%;\n}\n\n.btn-dropdown .rounded-circle {\n border-radius: 100%;\n} */\n\n.btn-dropdown .rotate-90 {\n transform: rotate(90deg);\n}\n \n.btn-dropdown.hide-caret .dropdown-toggle::after,\n.btn-dropdown.icon-only .dropdown-toggle::after,\n.btn-dropdown.hide-caret .dropdown-toggle::before,\n.btn-dropdown.icon-only .dropdown-toggle::before {\n display: none;\n}\n\n.btn-dropdown .dropdown-menu {\n animation-timing-function: ease-in-out;\n animation-duration: 200ms;\n animation-fill-mode: both;\n}\n\n.btn-dropdown .dropdown-menu.animated {\n animation-name: btnDropdownZoomIn;\n}\n</style>"],"names":["_sfc_main$3","defineComponent","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","DropdownHandler","BtnDropdownAction","BtnGroup","DropdownMenu","Btn","value","_a","element","nodes","target","createPopper","_b","_sfc_main$2","_resolveComponent","_normalizeClass","_renderSlot","_normalizeProps","_guardReactiveProps","_createVNode","_component_BtnDropdownAction","_normalizeStyle","_component_DropdownMenu","_withKeys","_withModifiers","_sfc_main$1","_createCommentVNode","$event","_component_BtnGroup","_createElementBlock","args","_sfc_main","BtnDropdownSplit","BtnDropdownSingle","_createSlots","slot"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  (function(s,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@popperjs/core"),require("@vue-interface/btn"),require("@vue-interface/btn-group"),require("@vue-interface/dropdown-menu")):typeof define=="function"&&define.amd?define(["exports","vue","@popperjs/core","@vue-interface/btn","@vue-interface/btn-group","@vue-interface/dropdown-menu"],t):(s=typeof globalThis<"u"?globalThis:s||self,t(s.BtnDropdown={},s.Vue,s.PopperjsCore,s.VueInterfaceBtn,s.VueInterfaceBtnGroup,s.VueInterfaceDropdownMenu))})(this,function(s,t,m,c,u,C){"use strict";const $=t.defineComponent({props:{expanded:{type:Boolean,default:!1},id:{type:String,default:void 0},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},computed:{is(){return this.to?"router-link":this.href?"a":"button"}}}),d=(e,o)=>{const i=e.__vccOpts||e;for(const[l,a]of o)i[l]=a;return i};function w(e,o,i,l,a,h){return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.is),t.mergeProps({id:e.id},e.to?{to:e.to}:{href:e.href},{"aria-haspopup":"true","aria-expanded":e.expanded,type:e.is==="button"?"button":void 0}),{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},16,["id","aria-expanded","type"])}const b=d($,[["render",w]]),g=t.defineComponent({components:{BtnDropdownAction:b,BtnGroup:u.BtnGroup,DropdownMenu:C.DropdownMenu},extends:c.Btn,props:{align:{type:String,default:"left",validate(e){return["left","right"].indexOf(e.toLowerCase())!==-1}},animated:{type:Boolean,default:!0},buttonClass:[Object,String],caret:{type:Boolean,default:!0},dropup:{type:Boolean,default:!1},dropright:{type:Boolean,default:!1},dropleft:{type:Boolean,default:!1},height:String,href:String,nav:Boolean,label:String,offset:{type:Number,default:5},rotate:{type:Boolean,default:!1},split:{type:Boolean,default:!1},to:[String,Object],type:{type:String,default:"button"},width:String},emits:["click-toggle","show","hide","toggle"],data(){return{popper:null,triggerAnimation:!1,expanded:!1}},computed:{scope(){return{placement:this.placement,variantClassPrefix:this.variantClassPrefix,sizeableClassPrefix:this.sizeableClassPrefix,classes:this.classes,actionClasses:this.actionClasses,toggleStyle:this.toggleStyle,toggleClasses:this.toggleClasses,focus:this.focus,queryFocusable:this.queryFocusable,isFocusable:this.isFocusable,toggle:this.toggle,show:this.show,hide:this.hide,onBlur:this.onBlur,onClickItem:this.onClickItem,onClickToggle:this.onClickToggle,expanded:this.expanded}},placement(){return this.dropup?"top":this.dropleft?"left":this.dropright?"right":"bottom"},variantClassPrefix(){return"btn"+(this.outline?"-outline":"")},sizeableClassPrefix(){return"btn"},classes(){return{dropdown:this.dropup&&this.dropright&&this.dropleft,dropup:this.dropup,dropright:this.dropright,dropleft:this.dropleft,"icon-only":!this.nav&&!this.split&&!!this.$slots.icon&&!this.$slots.label,"hide-caret":!this.caret,expanded:this.expanded,"rotate-90":!this.nav&&this.split&&this.rotate&&this.expanded}},actionClasses(){return Object.assign({btn:!this.nav,[this.variantClass]:!this.nav&&!!this.variant,[this.sizeableClass]:!!this.size},typeof this.buttonClass=="object"?this.buttonClass:{[this.buttonClass]:!!this.buttonClass})},toggleStyle(){return{width:this.width,height:this.height}},toggleClasses(){return Object.assign({active:this.active,btn:!this.nav,"btn-block":!!this.block,"nav-link":!!this.nav,"rotate-90":!this.split&&this.rotate&&this.expanded,"dropdown-toggle":!0,"dropdown-toggle-split":!this.nav&&this.split,[this.variantClass]:!this.nav&&!!this.variant,[this.sizeableClass]:!!this.size},typeof this.buttonClass=="object"?this.buttonClass:{[this.buttonClass]:!!this.buttonClass})}},watch:{expanded(e){this.$nextTick(()=>{this.$emit(e?"show":"hide"),this.$emit("toggle",e)}),setTimeout(()=>{e?document.addEventListener("click",this.onClickDocument):document.removeEventListener("click",this.onClickDocument)})}},beforeUnmount(){this.popper&&this.popper.destroy()},methods:{focus(){var e;(e=this.$el)==null||e.querySelector(".dropdown-toggle").focus()},queryFocusable(){var e;return(e=this.$el)==null?void 0:e.querySelector(".dropdown-menu").querySelectorAll('label, input, select, textarea, [tabindex]:not([tabindex="-1"])')},isFocusable(e){const o=this.queryFocusable();for(const i in o)if(e===o[i])return!0;return!1},toggle(){this.expanded?this.hide():this.show()},show(){var o,i;this.expanded=!0;const e=this.$refs.split&&((o=this.$refs.split)==null?void 0:o.$el)||this.$el;!this.nav&&!this.popper?this.popper=m.createPopper(e,(i=this.$refs.menu)==null?void 0:i.$el,{placement:`${this.placement}-${this.align==="left"?"start":"end"}`,onFirstUpdate:()=>{this.triggerAnimation=this.animated},modifiers:[{name:"offset",options:{offset:[0,this.nav?1:this.offset]}}]}):this.popper&&this.popper.update()},hide(){this.expanded=!1},onBlur(e){var o;(this.$refs.menu&&!((o=this.$refs.menu)!=null&&o.$el.contains(e.relatedTarget))||!(this!=null&&this.$el.contains(e.relatedTarget)))&&this.hide()},onClickDocument(e){this!=null&&this.$el.contains(e.target)||this.hide()},onClickItem(e){this.isFocusable(e.target)||this.hide()},onClickToggle(e){e.target.dispatchEvent(new Event("focus",e)),this.$emit("click-toggle",e),e.defaultPrevented||this.toggle()},onKeydown(e){e.target.parentElement.lastElementChild===e.target&&this.hide()}}}),y=t.defineComponent({mixins:[g]});function k(e,o,i,l,a,h){const n=t.resolveComponent("BtnDropdownAction"),f=t.resolveComponent("DropdownMenu"),p=t.resolveComponent("BtnGroup");return t.openBlock(),t.createBlock(p,{class:t.normalizeClass(e.classes)},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"button",t.normalizeProps(t.guardReactiveProps(e.scope)),()=>[t.createVNode(n,{id:e.$attrs.id,ref:"button",expanded:e.expanded,href:e.href,to:e.to,style:t.normalizeStyle(e.toggleStyle),class:t.normalizeClass(e.toggleClasses),onBlur:e.onBlur,onClick:e.onClickToggle},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"icon"),t.renderSlot(e.$slots,"label",{},()=>[t.createTextVNode(t.toDisplayString(e.label),1)])]),_:3},8,["id","expanded","href","to","style","class","onBlur","onClick"])]),t.createVNode(f,{id:e.$attrs.id,ref:"menu",align:e.align,show:e.expanded,class:t.normalizeClass({animated:e.triggerAnimation}),onBlur:e.onBlur,onClick:e.onClickItem,onKeydown:t.withKeys(e.onKeydown,["tab"]),onMousedown:o[0]||(o[0]=t.withModifiers(()=>{},["prevent"]))},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["id","align","show","class","onBlur","onClick","onKeydown"])]),_:3},8,["class"])}const B=d(y,[["render",k]]),S=t.defineComponent({mixins:[g],emits:["click"]}),D=["id","aria-expanded"];function P(e,o,i,l,a,h){const n=t.resolveComponent("BtnDropdownAction"),f=t.resolveComponent("DropdownMenu"),p=t.resolveComponent("BtnGroup");return t.openBlock(),t.createBlock(p,{class:t.normalizeClass([e.classes,"btn-dropdown-split"])},{default:t.withCtx(()=>[e.dropleft?t.createCommentVNode("",!0):t.renderSlot(e.$slots,"button",t.normalizeProps(t.mergeProps({key:0},e.scope)),()=>[e.dropleft?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(n,{key:0,id:e.$attrs.id,ref:"button",expanded:e.expanded,href:e.href,to:e.to,class:t.normalizeClass(e.actionClasses),onClick:o[0]||(o[0]=r=>e.$emit("click",r))},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"icon"),t.renderSlot(e.$slots,"label",{},()=>[t.createTextVNode(t.toDisplayString(e.label),1)])]),_:3},8,["id","expanded","href","to","class"]))]),t.createVNode(p,{ref:"split"},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"split",t.normalizeProps(t.guardReactiveProps(e.scope)),()=>[e.split?(t.openBlock(),t.createElementBlock("button",{key:0,id:e.$attrs.id,type:"button","aria-haspopup":"true","aria-expanded":e.expanded,class:t.normalizeClass(e.toggleClasses),onBlur:o[1]||(o[1]=(...r)=>e.onBlur&&e.onBlur(...r)),onClick:o[2]||(o[2]=(...r)=>e.onClickToggle&&e.onClickToggle(...r))},null,42,D)):t.createCommentVNode("",!0)]),t.createVNode(f,{id:e.$attrs.id,ref:"menu",align:e.align,show:e.expanded,class:t.normalizeClass({animated:e.triggerAnimation}),onBlur:e.onBlur,onClick:e.onClickItem,onKeydown:t.withKeys(e.onKeydown,["tab"]),onMousedown:o[3]||(o[3]=t.withModifiers(()=>{},["prevent"]))},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["id","align","show","class","onBlur","onClick","onKeydown"])]),_:3},512),e.dropleft?t.renderSlot(e.$slots,"button",t.normalizeProps(t.mergeProps({key:1},e.scope)),()=>[e.dropleft?(t.openBlock(),t.createBlock(n,{key:0,id:e.$attrs.id,ref:"button",expanded:e.expanded,href:e.href,to:e.to,class:t.normalizeClass(e.actionClasses),onClick:o[4]||(o[4]=r=>e.$emit("click",r))},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"icon"),t.renderSlot(e.$slots,"label",{},()=>[t.createTextVNode(t.toDisplayString(e.label),1)])]),_:3},8,["id","expanded","href","to","class"])):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0)]),_:3},8,["class"])}const z=d(S,[["render",P]]),T=t.defineComponent({name:"BtnDropdown",components:{BtnDropdownSplit:z,BtnDropdownSingle:B},inheritAttrs:!1,emits:["click","click-toggle","dropdown","show","hide","toggle"]}),j="";function V(e,o,i,l,a,h){return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.$attrs.split===void 0||e.$attrs.nav?"btn-dropdown-single":"btn-dropdown-split"),t.mergeProps({class:"btn-dropdown"},e.$attrs,{onClick:o[0]||(o[0]=(...n)=>e.$emit("click",...n)),onClickToggle:o[1]||(o[1]=(...n)=>e.$emit("click-toggle",...n)),onDropdown:o[2]||(o[2]=(...n)=>e.$emit("dropdown",...n)),onShow:o[3]||(o[3]=(...n)=>e.$emit("show",...n)),onHide:o[4]||(o[4]=(...n)=>e.$emit("hide",...n)),onToggle:o[5]||(o[5]=(...n)=>e.$emit("toggle",...n))}),t.createSlots({icon:t.withCtx(()=>[t.renderSlot(e.$slots,"icon")]),button:t.withCtx(n=>[t.renderSlot(e.$slots,"button",t.normalizeProps(t.guardReactiveProps(n)))]),split:t.withCtx(n=>[t.renderSlot(e.$slots,"split",t.normalizeProps(t.guardReactiveProps(n)))]),default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:2},[e.$attrs.label||e.$slots.label?{name:"label",fn:t.withCtx(()=>[t.renderSlot(e.$slots,"label",{},()=>[t.createTextVNode(t.toDisplayString(e.$attrs.label),1)])]),key:"0"}:void 0]),1040)}const N=d(T,[["render",V]]);s.BtnDropdown=N,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
2
+ //# sourceMappingURL=btn-dropdown.umd.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btn-dropdown.umd.cjs","sources":["../src/BtnDropdownAction.vue","../src/DropdownHandler.ts","../src/BtnDropdownSingle.vue","../src/BtnDropdownSplit.vue","../src/BtnDropdown.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n props: {\n expanded: {\n type: Boolean,\n default: false\n },\n id: {\n type: String,\n default: undefined\n },\n href: {\n type: String,\n default: undefined\n },\n to: {\n type: [String, Object],\n default: undefined\n }\n },\n computed: {\n is() {\n if(this.to) {\n return 'router-link';\n }\n\n if(this.href) {\n return 'a';\n }\n\n return 'button';\n },\n }\n});\n</script>\n\n<template>\n <Component\n :is=\"is\"\n :id=\"id\"\n v-bind=\"to ? { to } : { href }\"\n aria-haspopup=\"true\"\n :aria-expanded=\"expanded\"\n :type=\"is === 'button' ? 'button': undefined\">\n <slot />\n </Component>\n</template>","import { createPopper, Placement } from '@popperjs/core';\nimport { Btn } from '@vue-interface/btn';\nimport { BtnGroup } from '@vue-interface/btn-group';\nimport { DropdownMenu } from '@vue-interface/dropdown-menu';\nimport { defineComponent } from 'vue';\nimport BtnDropdownAction from './BtnDropdownAction.vue';\n\nexport default defineComponent({\n\n components: {\n BtnDropdownAction,\n BtnGroup,\n DropdownMenu\n },\n\n extends: Btn,\n\n props: {\n\n /**\n * Display the dropdown menu aligned left or right\n *\n * @property String\n */\n align: {\n type: String,\n default: 'left',\n validate(value: any) {\n return ['left', 'right'].indexOf(value.toLowerCase()) !== -1;\n }\n },\n\n /**\n * Should animate the dropdown opening.\n *\n * @property {Boolean}\n */\n animated: {\n type: Boolean,\n default: true\n },\n\n /**\n * Additional button classes.\n * \n * @property {Object|String}\n */\n buttonClass: [Object, String],\n\n /**\n * Show the caret.\n *\n * @property {Boolean}\n */\n caret: {\n type: Boolean,\n default: true\n },\n\n /**\n * Should display the toggle button as a circle.\n *\n * @property Boolean\n */\n \n // circle: {\n // type: Boolean,\n // default: false\n // },\n\n /**\n * Display as a dropup instead of a dropdown.\n *\n * @property Boolean\n */\n dropup: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display as a dropright instead of a dropdown.\n *\n * @property Boolean\n */\n dropright: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display as a dropleft instead of a dropdown.\n *\n * @property Boolean\n */\n dropleft: {\n type: Boolean,\n default: false\n },\n\n /**\n * The action height.\n *\n * @property {String}\n */\n height: String,\n\n /**\n * The href action.\n *\n * @property {String}\n */\n href: String,\n\n /**\n * Is the dropdown a nav item?\n *\n * @property {Boolean}\n */\n nav: Boolean,\n\n /**\n * The toggle button's label. If not defined as an attribute,\n * you can override with the component's slot (inner html).\n *\n * @property {String}\n */\n label: String,\n\n offset: {\n type: Number,\n default: 5,\n },\n\n /**\n * Should rotate the toggle button when opened.\n *\n * @property {Boolean}\n */\n rotate: {\n type: Boolean,\n default: false\n },\n\n /**\n * Display the dropdown button with a split toggle button.\n *\n * @property {Boolean}\n */\n split: {\n type: Boolean,\n default: false\n },\n\n /**\n * The \"to\" path, used for vue-router.\n *\n * @property {String|Object}\n */\n to: [String, Object],\n\n /**\n * The button type attribute.\n *\n * @property {String}\n */\n type: {\n type: String,\n default: 'button'\n },\n\n /**\n * The action width.\n *\n * @property {String}\n */\n width: String,\n\n },\n\n emits: [\n 'click-toggle',\n 'show',\n 'hide',\n 'toggle'\n ],\n\n data() {\n return {\n popper: null,\n triggerAnimation: false,\n expanded: false\n };\n },\n\n computed: {\n scope() {\n return {\n // Pass the computed props.\n placement: this.placement,\n variantClassPrefix: this.variantClassPrefix,\n sizeableClassPrefix: this.sizeableClassPrefix,\n classes: this.classes,\n actionClasses: this.actionClasses,\n toggleStyle: this.toggleStyle,\n toggleClasses: this.toggleClasses,\n \n // Pass the methods \n focus: this.focus,\n queryFocusable: this.queryFocusable,\n isFocusable: this.isFocusable,\n toggle: this.toggle,\n show: this.show,\n hide: this.hide,\n onBlur: this.onBlur,\n onClickItem: this.onClickItem,\n onClickToggle: this.onClickToggle,\n expanded: this.expanded\n };\n },\n\n placement() {\n if(this.dropup) {\n return 'top';\n }\n\n if(this.dropleft) {\n return 'left';\n }\n\n if(this.dropright) {\n return 'right';\n }\n\n return 'bottom';\n },\n\n variantClassPrefix() {\n return 'btn' + (this.outline ? '-outline' : '');\n },\n\n sizeableClassPrefix() {\n return 'btn';\n },\n\n classes() {\n return {\n 'dropdown': this.dropup && this.dropright && this.dropleft,\n 'dropup': this.dropup,\n 'dropright': this.dropright,\n 'dropleft': this.dropleft,\n 'icon-only': !this.nav && !this.split && !!this.$slots.icon && !this.$slots.label,\n 'hide-caret': !this.caret,\n 'expanded': this.expanded,\n 'rotate-90': !this.nav && this.split && this.rotate && this.expanded,\n };\n },\n\n actionClasses() {\n return Object.assign({\n 'btn': !this.nav,\n [this.variantClass]: !this.nav && !!this.variant,\n [this.sizeableClass]: !!this.size,\n }, typeof this.buttonClass === 'object' ? this.buttonClass : {\n [this.buttonClass]: !!this.buttonClass\n });\n },\n\n toggleStyle() {\n return {\n width: this.width,\n height: this.height,\n };\n },\n\n toggleClasses() {\n return Object.assign({\n 'active': this.active,\n 'btn': !this.nav,\n 'btn-block': !!this.block,\n 'nav-link': !!this.nav,\n 'rotate-90': !this.split && this.rotate && this.expanded,\n 'dropdown-toggle': true,\n 'dropdown-toggle-split': !this.nav && this.split,\n [this.variantClass]: !this.nav && !!this.variant,\n [this.sizeableClass]: !!this.size,\n }, typeof this.buttonClass === 'object' ? this.buttonClass : {\n [this.buttonClass]: !!this.buttonClass\n });\n }\n },\n\n watch: {\n expanded(value: any) {\n this.$nextTick(() => {\n this.$emit(value ? 'show' : 'hide');\n this.$emit('toggle', value);\n });\n \n setTimeout(() => {\n if(value) {\n document.addEventListener('click', this.onClickDocument);\n }\n else {\n document.removeEventListener('click', this.onClickDocument);\n }\n });\n }\n },\n\n beforeUnmount() {\n this.popper && this.popper.destroy();\n },\n\n methods: {\n\n /**\n * Focus on the the dropdown toggle button\n *\n * @return void\n */\n focus() {\n this.$el?.querySelector('.dropdown-toggle').focus();\n },\n\n /**\n * Focus on the the dropdown toggle button\n *\n * @return void\n */\n queryFocusable() {\n return this.$el?.querySelector('.dropdown-menu').querySelectorAll('label, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n },\n\n /**\n * Method to check if the given element is focusable.\n *\n * @return void\n */\n isFocusable(element: any) {\n const nodes = this.queryFocusable();\n\n for(const i in nodes) {\n if(element === nodes[i]) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Toggle the dropdown menu\n *\n * @return void\n */\n toggle() {\n !this.expanded ? this.show() : this.hide();\n },\n\n /**\n * Show the dropdown menu\n *\n * @return void\n */\n show() {\n this.expanded = true;\n\n const target = this.$refs.split && this.$refs.split?.$el || this.$el;\n\n if(!this.nav && !this.popper) {\n this.popper = createPopper(target, this.$refs.menu?.$el, {\n placement: <Placement> `${this.placement}-${this.align === 'left' ? 'start' : 'end'}`,\n onFirstUpdate: () => {\n this.triggerAnimation = this.animated;\n },\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, !this.nav ? this.offset : 1]\n // offset: ['.125rem', !this.nav ? 4 : 1],\n },\n },\n ]\n });\n }\n else if(this.popper) {\n this.popper.update();\n }\n },\n\n /**\n * Hide the dropdown menu\n *\n * @return void\n */\n hide() {\n this.expanded = false;\n },\n\n /**\n * A callback function for the `blur-item` event.\n *\n * @return void\n */\n onBlur(e: any) {\n if(this.$refs.menu && !this.$refs.menu?.$el.contains(e.relatedTarget) || !this?.$el.contains(e.relatedTarget)) {\n this.hide();\n }\n },\n\n onClickDocument(e: Event) {\n if(!this?.$el.contains(e.target)) {\n this.hide();\n }\n },\n\n /**\n * A callback function for the `click-item` event.\n *\n * @return void\n */\n onClickItem(e: any) {\n if(!this.isFocusable(e.target)) {\n this.hide();\n }\n },\n\n /**\n * A callback function for the `click-toggle` event.\n *\n * @return void\n */\n onClickToggle(e: any) {\n e.target.dispatchEvent(new Event('focus', e));\n \n this.$emit('click-toggle', e);\n\n if(!e.defaultPrevented) {\n this.toggle();\n }\n },\n\n onKeydown(e: any) {\n if(e.target.parentElement.lastElementChild === e.target) {\n this.hide();\n }\n }\n\n }\n\n});","<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport DropdownHandler from './DropdownHandler';\n\nexport default defineComponent({\n\n mixins: [\n DropdownHandler\n ]\n\n});\n</script>\n\n<template>\n <BtnGroup :class=\"classes\">\n <slot\n name=\"button\"\n v-bind=\"scope\">\n <BtnDropdownAction\n :id=\"$attrs.id\"\n ref=\"button\"\n :expanded=\"expanded\"\n :href=\"href\"\n :to=\"to\"\n :style=\"toggleStyle\"\n :class=\"toggleClasses\"\n @blur=\"onBlur\"\n @click=\"onClickToggle\">\n <slot name=\"icon\" />\n <slot name=\"label\">\n {{ label }}\n </slot>\n </BtnDropdownAction>\n </slot>\n <DropdownMenu\n :id=\"$attrs.id\"\n ref=\"menu\"\n :align=\"align\"\n :show=\"expanded\"\n :class=\"{animated: triggerAnimation}\"\n @blur=\"onBlur\"\n @click=\"onClickItem\"\n @keydown.tab=\"onKeydown\"\n @mousedown.prevent=\"\">\n <slot />\n </DropdownMenu>\n </BtnGroup>\n</template>","<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport DropdownHandler from './DropdownHandler';\n\nexport default defineComponent({\n\n mixins: [\n DropdownHandler\n ],\n\n emits: [\n 'click'\n ]\n\n});\n</script>\n\n<template>\n <BtnGroup\n :class=\"classes\"\n class=\"btn-dropdown-split\">\n <slot\n v-if=\"!dropleft\"\n name=\"button\"\n v-bind=\"scope\">\n <BtnDropdownAction\n v-if=\"!dropleft\"\n :id=\"$attrs.id\"\n ref=\"button\"\n :expanded=\"expanded\"\n :href=\"href\"\n :to=\"to\"\n :class=\"actionClasses\"\n @click=\"$emit('click', $event)\">\n <slot name=\"icon\" />\n <slot name=\"label\">\n {{ label }}\n </slot>\n </BtnDropdownAction>\n </slot>\n\n <BtnGroup ref=\"split\">\n <slot\n name=\"split\"\n v-bind=\"scope\">\n <button\n v-if=\"split\"\n :id=\"$attrs.id\"\n type=\"button\"\n aria-haspopup=\"true\"\n :aria-expanded=\"expanded\"\n :class=\"toggleClasses\"\n @blur=\"onBlur\"\n @click=\"onClickToggle\" />\n </slot>\n \n <DropdownMenu\n :id=\"$attrs.id\"\n ref=\"menu\"\n :align=\"align\"\n :show=\"expanded\"\n :class=\"{animated: triggerAnimation}\"\n @blur=\"onBlur\"\n @click=\"onClickItem\"\n @keydown.tab=\"onKeydown\"\n @mousedown.prevent=\"\">\n <slot />\n </DropdownMenu>\n </BtnGroup>\n <slot\n v-if=\"dropleft\"\n name=\"button\"\n v-bind=\"scope\">\n <BtnDropdownAction\n v-if=\"dropleft\"\n :id=\"$attrs.id\"\n ref=\"button\"\n :expanded=\"expanded\"\n :href=\"href\"\n :to=\"to\"\n :class=\"actionClasses\"\n @click=\"$emit('click', $event)\">\n <slot name=\"icon\" />\n <slot name=\"label\">\n {{ label }}\n </slot>\n </BtnDropdownAction>\n </slot>\n </BtnGroup>\n</template>","<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport BtnDropdownSingle from './BtnDropdownSingle.vue';\nimport BtnDropdownSplit from './BtnDropdownSplit.vue';\n\nexport default defineComponent({\n\n name: 'BtnDropdown',\n\n components: {\n BtnDropdownSplit,\n BtnDropdownSingle\n },\n\n inheritAttrs: false,\n\n emits: [\n 'click',\n 'click-toggle',\n 'dropdown',\n 'show',\n 'hide',\n 'toggle'\n ]\n\n});\n</script>\n\n<template>\n <Component\n :is=\"$attrs.split === undefined || !!$attrs.nav ? 'btn-dropdown-single' : 'btn-dropdown-split'\"\n class=\"btn-dropdown\"\n v-bind=\"$attrs\"\n @click=\"(...args: any[]) => $emit('click', ...args)\"\n @click-toggle=\"(...args: any[]) => $emit('click-toggle', ...args)\"\n @dropdown=\"(...args: any[]) => $emit('dropdown', ...args)\"\n @show=\"(...args: any[]) => $emit('show', ...args)\"\n @hide=\"(...args: any[]) => $emit('hide', ...args)\"\n @toggle=\"(...args: any[]) => $emit('toggle', ...args)\">\n <template #icon>\n <slot name=\"icon\" />\n </template>\n <template\n v-if=\"$attrs.label || $slots.label\"\n #label>\n <slot name=\"label\">\n {{ $attrs.label }}\n </slot>\n </template>\n <template #button=\"slot\">\n <slot\n name=\"button\"\n v-bind=\"slot\" />\n </template>\n <template #split=\"slot\">\n <slot\n name=\"split\"\n v-bind=\"slot\" />\n </template>\n <slot />\n </Component>\n</template>\n\n<style>\n@keyframes btnDropdownZoomIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n\n.btn-dropdown {\n position: relative;\n}\n\n.btn-dropdown .dropdown-toggle {\n display: flex;\n transition: all 125ms ease-in;\n align-items: center;\n justify-content: center;\n}\n\n.nav-item .btn-group,\n.nav-item .btn-dropdown .dropdown-toggle {\n display: block;\n}\n/* \n.btn-dropdown.rounded-circle > .btn:last-child,\n.btn-dropdown.rounded-circle > .btn-group:last-child .dropdown-toggle {\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n}\n\n.btn-dropdown.rounded-circle > .btn:first-child,\n.btn-dropdown.rounded-circle > .btn-group:first-child .dropdown-toggle {\n border-top-left-radius: 100%;\n border-bottom-left-radius: 100%;\n}\n\n.btn-dropdown .rounded-circle {\n border-radius: 100%;\n} */\n\n.btn-dropdown .rotate-90 {\n transform: rotate(90deg);\n}\n \n.btn-dropdown.hide-caret .dropdown-toggle::after,\n.btn-dropdown.icon-only .dropdown-toggle::after,\n.btn-dropdown.hide-caret .dropdown-toggle::before,\n.btn-dropdown.icon-only .dropdown-toggle::before {\n display: none;\n}\n\n.btn-dropdown .dropdown-menu {\n animation-timing-function: ease-in-out;\n animation-duration: 200ms;\n animation-fill-mode: both;\n}\n\n.btn-dropdown .dropdown-menu.animated {\n animation-name: btnDropdownZoomIn;\n}\n</style>"],"names":["_sfc_main$3","defineComponent","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","DropdownHandler","BtnDropdownAction","BtnGroup","DropdownMenu","Btn","value","_a","element","nodes","target","createPopper","_b","_sfc_main$2","_resolveComponent","_normalizeClass","_renderSlot","_normalizeProps","_guardReactiveProps","_createVNode","_component_BtnDropdownAction","_normalizeStyle","_component_DropdownMenu","_withKeys","_withModifiers","_sfc_main$1","_createCommentVNode","$event","_component_BtnGroup","_createElementBlock","args","_sfc_main","BtnDropdownSplit","BtnDropdownSingle","_createSlots","slot"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-interface/btn-dropdown",
3
- "version": "2.0.0-beta.11",
3
+ "version": "2.0.0-beta.12",
4
4
  "description": "A Vue button dropdown component.",
5
5
  "files": [
6
6
  "dist"