var __awaiter=this&&this.__awaiter||function(t,e,n,o){function i(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,r){function s(t){try{u(o.next(t))}catch(e){r(e)}}function a(t){try{u(o["throw"](t))}catch(e){r(e)}}function u(t){t.done?n(t.value):i(t.value).then(s,a)}u((o=o.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,i,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return u([t,e])}}function u(a){if(o)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(n=0)),n)try{if(o=1,i&&(r=a[0]&2?i["return"]:a[0]?i["throw"]||((r=i["return"])&&r.call(i),0):i.next)&&!(r=r.call(i,a[1])).done)return r;if(i=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;i=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){n.label=a[1];break}if(a[0]===6&&n.label<r[1]){n.label=r[1];r=a;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(a);break}if(r[2])n.ops.pop();n.trys.pop();continue}a=e.call(t,n)}catch(u){a=[6,u];i=0}finally{o=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,H as Host}from"./index-611fd21e.js";import{g as getScrollParent,a as positionElement}from"./position-element-a18074c8.js";var menuCss=".menu{position:fixed;pointer-events:none;top:0;left:0;padding:2px;background-color:var(--color-surface-1, #f6f6f6);border-radius:8px;-webkit-box-shadow:0px 8px 12px rgba(0, 0, 0, 0.08);box-shadow:0px 8px 12px rgba(0, 0, 0, 0.08);width:240px;opacity:0;-webkit-transition:opacity 0.5s;-moz-transition:opacity 0.5s;transition:opacity 0.5s;z-index:90000}.menu__open{pointer-events:auto;opacity:1}.outzone{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:80000}";var BdsMenu=function(){function t(t){var e=this;registerInstance(this,t);this.bdsToggle=createEvent(this,"bdsToggle",7);this.refMenuElement=function(t){e.menuElement=t};this.onClickCloseButtom=function(t){e.open=false;t.stopPropagation()};this.refElement=null;this.intoView=null;this.menupositionTop=0;this.menupositionLeft=0;this.menu=null;this.position="right";this.open=false}t.prototype.componentWillLoad=function(){this.refElement=document.getElementById(this.menu);this.intoView=getScrollParent(this.refElement)};t.prototype.toggle=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.open=!this.open;return[2]}))}))};t.prototype.openMenu=function(){this.bdsToggle.emit({value:this.open});if(this.open){var t=positionElement({actionElement:this.refElement,changedElement:this.menuElement,intoView:this.intoView});this.menupositionTop=t.top;this.menupositionLeft=t.left}};t.prototype.render=function(){var t;var e=this;var n={top:"".concat(this.menupositionTop,"px"),left:"".concat(this.menupositionLeft,"px")};return h(Host,null,h("div",{ref:this.refMenuElement,class:(t={menu:true},t["menu__".concat(this.position)]=true,t["menu__open"]=this.open,t),style:n},h("slot",null)),this.open&&h("div",{class:{outzone:true},onClick:function(t){return e.onClickCloseButtom(t)}}))};Object.defineProperty(t,"watchers",{get:function(){return{open:["openMenu"]}},enumerable:false,configurable:true});return t}();BdsMenu.style=menuCss;export{BdsMenu as bds_menu};