/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@forter/forter-popper@18.6.7/dist/bundle.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import{css,html}from"lit";import{constructStyles,customElement,Element}from"@forter/component-base";import{property,query}from"lit/decorators.js";import{createPopper}from"@popperjs/core";function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function __decorate(e,t,o,p){var r,n=arguments.length,s=n<3?t:null===p?p=Object.getOwnPropertyDescriptor(t,o):p;if("object"===("undefined"==typeof Reflect?"undefined":_typeof(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,p);else for(var i=e.length-1;i>=0;i--)(r=e[i])&&(s=(n<3?r(s):n>3?r(t,o,s):r(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s}const styles$1=css`/* stylelint-disable */
:host {
  max-width: 100%;
  display: block;
}

:host .fixed-wrapper {
  position: fixed;
  top: 0;
  left: 0;
}

:host([open]) .fixed-wrapper {
  opacity: 1;
  z-index: 99;
}

:host(:not([open])) .fixed-wrapper {
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  user-select: none;
}

.overlay {
  display: none;
  width: 100%;
  height: 100%;
  background-color: transparent;
  opacity: 0.3;
  z-index: 1;
  position: fixed;
  top: 0;
  left: 0;
}

.overlay.open {
  display: block;
}
`,styles=constructStyles(styles$1),DEFAULT_POPPER_OPTIONS={modifiers:[{name:"hide",enabled:!1}]};let Popper=class extends Element{constructor(){super(...arguments),this.placement="bottom",this.offset=[0,15],this.preventOverflow=!0,this.overlay=!1}connectedCallback(){super.connectedCallback(),this.adoptStyles(styles)}get popperOptions(){var e,t;const{placement:o}=this,p=DEFAULT_POPPER_OPTIONS,r={name:"offset",options:{offset:this.offset}},n={name:"preventOverflow",enabled:this.preventOverflow,options:{boundary:document.body}};return p.placement=o,null===(e=p.modifiers)||void 0===e||e.push(r),null===(t=p.modifiers)||void 0===t||t.push(n),p}createPopperInstance(e){this.popper=createPopper(e,this.content,this.popperOptions)}firstUpdated(){this.createPopperInstance(this.anchor)}reposition(e){this.popper.destroy(),this.createPopperInstance(e)}updated(e){this.open&&this.popper.update(),(e.has("placement")||e.has("offset"))&&this.reposition(this.anchor),this.onUpdate&&this.onUpdate instanceof Function&&this.onUpdate()}close(){this.open=!1,this.dispatchEvent(new CustomEvent("close"))}update(e){e.has("open")&&(this.open?this.dispatchEvent(new CustomEvent("open")):this.dispatchEvent(new CustomEvent("close"))),super.update(e)}render(){return html`
      ${this.overlay?html`
            <div
              class="overlay ${this.open?"open":""}"
              @click="${this.close.bind(this)}"></div>
          `:void 0}

      <div id="anchor">
        <slot name="anchor"></slot>
      </div>

      <div class="fixed-wrapper">
        <div id="content">
          <slot name="content"></slot>
        </div>
      </div>
    `}};__decorate([property({type:Boolean,reflect:!0})],Popper.prototype,"open",void 0),__decorate([property({type:String,reflect:!0})],Popper.prototype,"placement",void 0),__decorate([property({type:Array})],Popper.prototype,"offset",void 0),__decorate([property({type:Boolean})],Popper.prototype,"preventOverflow",void 0),__decorate([property({type:Function})],Popper.prototype,"onUpdate",void 0),__decorate([property({type:Boolean})],Popper.prototype,"overlay",void 0),__decorate([query("#anchor")],Popper.prototype,"anchor",void 0),__decorate([query("#content")],Popper.prototype,"content",void 0),Popper=__decorate([customElement("forter-popper")],Popper);export{Popper};
//# sourceMappingURL=/sm/795e8074958b597d1ce33e76e49ba38593ecabb8f10cc962761f072392b3980d.map