@dialpad/dialtone-vue
Version:
Vue component library for Dialpad's design system Dialtone
3 lines (2 loc) • 4.26 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("@dialpad/dialtone-icons/vue2"),n=require("../../common/utils/index.cjs"),r=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),a=require("../callbar-button/callbar-button.cjs"),i=require("../popover/popover.cjs"),s=require("../button/button.cjs"),p=require("../../common/mixins/localization.cjs"),u=require("../callbar-button/callbar-button-constants.cjs"),c={name:"DtRecipeCallbarButtonWithPopover",components:{DtRecipeCallbarButton:a.default,DtPopover:i.default,DtButton:s.default,DtIconChevronUp:l.DtIconChevronUp},mixins:[p.default],inheritAttrs:!1,props:{id:{type:String,default(){return n.default.getUniqueString()}},ariaLabel:{type:String,default:null,validator:e=>e||(void 0).$slots.default},placement:{type:String,default:"top"},offset:{type:Array,default:()=>[0,16]},initialFocusElement:{type:String,default:"first"},showCloseButton:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},forceShowArrow:{type:Boolean,default:!1},active:{type:Boolean,default:!1},danger:{type:Boolean,default:!1},buttonClass:{type:[String,Array,Object],default:""},textClass:{type:[String,Array,Object],default:""},buttonWidthSize:{type:String,default:"xl",validator:e=>u.CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(e)},contentClass:{type:[String,Array,Object],default:""},openPopover:{type:Boolean,default:!1},invertedTooltip:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:null},tooltipText:{type:String,default:void 0},tooltipDelay:{type:Boolean,default:void 0}},emits:["arrow-click","click","opened"],data(){return{open:!1}},computed:{showArrowButton(){return this.forceShowArrow||!this.disabled},isCompactMode(){return this.buttonWidthSize==="sm"||this.buttonWidthSize==="md"},showPopover(){return!this.openPopover||this.open?(this.syncOpenState(),!1):this.toggleOpen()},arrowButtonLabel(){return this.i18n.$ta("DIALTONE_CALLBAR_BUTTON_WITH_POPOVER_ARROW_BUTTON_LABEL")}},mounted(){n.warnIfUnmounted(this.$el,this.$options.name)},methods:{arrowClick(e){return this.$emit("arrow-click",e),this.toggleOpen()},toggleOpen(){return this.open=!this.open},syncOpenState(){this.open=this.openPopover},buttonClick(e){this.$listeners.click?this.$emit("click",e):this.arrowClick(e)},onModalIsOpened(e){this.open=e,this.$emit("opened",e)}}};var d=function(){var t=this,o=t._self._c;return o("div",{staticClass:"d-recipe-callbar-button-with-popover"},[o("dt-recipe-callbar-button",{staticClass:"d-recipe-callbar-button-with-popover--main-button",attrs:{"aria-label":t.ariaLabel,disabled:t.disabled,active:t.active,danger:t.danger,"button-class":t.buttonClass,"button-width-size":t.buttonWidthSize,"text-class":t.textClass,"inverted-tooltip":t.invertedTooltip,"show-tooltip":t.showTooltip,"tooltip-text":t.tooltipText,"tooltip-delay":t.tooltipDelay},on:{click:t.buttonClick}},[t._t("icon",null,{slot:"icon"}),t._t("tooltip",null,{slot:"tooltip"}),t._t("default")],2),t.showArrowButton?o("dt-popover",t._b({staticClass:"d-recipe-callbar-button-with-popover__popover-wrapper",attrs:{id:t.id,modal:!1,open:t.open,placement:t.placement,"initial-focus-element":t.initialFocusElement,"show-close-button":t.showCloseButton,offset:t.offset,padding:"none","dialog-class":["d-recipe-callbar-button-with-popover__popover",t.contentClass],"open-popover":t.showPopover},on:{opened:t.onModalIsOpened},scopedSlots:t._u([{key:"anchor",fn:function(){return[o("dt-button",t._b({class:["d-recipe-callbar-button-with-popover__arrow",{"d-recipe-callbar-button-with-popover__arrow--large":!t.isCompactMode}],attrs:{active:t.open,circle:"",importance:"clear",size:"lg",width:"2rem"},on:{click:t.arrowClick},scopedSlots:t._u([{key:"icon",fn:function(){return[o("dt-icon-chevron-up",{staticClass:"d-recipe-callbar-button-with-popover__arrow-icon",attrs:{size:"200"}})]},proxy:!0}],null,!1,778999832)},"dt-button",t.arrowButtonLabel,!1))]},proxy:!0}],null,!1,2824568807)},"dt-popover",t.$attrs,!1),[t._t("content",null,{slot:"content"}),t._t("headerContent",null,{slot:"headerContent"}),t._t("footerContent",null,{slot:"footerContent"})],2):t._e()],1)},f=[],_=r.n(c,d,f);const b=_.exports;exports.default=b;
//# sourceMappingURL=callbar-button-with-popover.cjs.map