{"version":3,"file":"BModal-DbyllEI_-B5PEEtbf.js","sources":["../../../frontend/vue_storefront/dist/BModal-DbyllEI_.js"],"sourcesContent":["import { n as o, p as i } from \"./index-CHzpnjFe.js\";\nimport { S as n } from \"./SvgSpriteIcon-BBnhseIP.js\";\nimport { _ as r } from \"./close-BlZem9rH.js\";\nconst d = {\n  name: \"ClickOutside\",\n  async mounted() {\n    requestAnimationFrame(() => {\n      window.document.body.addEventListener(\"click\", this.onClickAnyElement);\n    });\n  },\n  beforeDestroy() {\n    window.document.body.removeEventListener(\"click\", this.onClickAnyElement);\n  },\n  methods: {\n    onClickAnyElement(s) {\n      if (!this.$slots.default) return;\n      const [t] = this.$slots.default;\n      !t || (s.path || s.composedPath && s.composedPath() || []).includes(t.elm) || this.$emit(\"click\");\n    }\n  },\n  render() {\n    return this.$slots.default;\n  }\n}, c = null, u = null;\nvar m = /* @__PURE__ */ o(\n  d,\n  c,\n  u,\n  !1,\n  null,\n  null\n);\nconst f = m.exports, a = {\n  xxs: \"sm:max-w-sm\",\n  xs: \"sm:max-w-md\",\n  sm: \"sm:max-w-lg\",\n  base: \"sm:max-w-3xl\",\n  lg: \"sm:max-w-6xl\"\n}, l = {\n  gray: \"bg-transparent-dark dark:bg-transparent-gray\",\n  transparent: \"bg-transparent\"\n}, p = {\n  name: \"BModal\",\n  components: {\n    SvgSpriteIcon: n,\n    ClickOutside: f,\n    Portal: i\n  },\n  props: {\n    isWithCloseButton: {\n      type: Boolean,\n      default: !0\n    },\n    isClosingOnOutsideClick: {\n      type: Boolean,\n      default: !0\n    },\n    isScrollable: {\n      type: Boolean,\n      default: !0\n    },\n    portal: {\n      type: Boolean,\n      default: !0\n    },\n    target: {\n      type: String,\n      default: \"modal\"\n    },\n    modalClass: {\n      type: String,\n      default: \"\"\n    },\n    modalOverlayClass: {\n      type: String,\n      default: \"\"\n    },\n    overlayColor: {\n      type: String,\n      default: \"gray\",\n      validator: (s) => Object.keys(l).includes(s)\n    },\n    size: {\n      type: String,\n      default: \"base\",\n      validator: (s) => Object.keys(a).includes(s)\n    },\n    fullScreen: {\n      type: Boolean,\n      default: !1\n    },\n    absolute: {\n      type: Boolean,\n      default: !1\n    },\n    zIndex: {\n      type: Number,\n      default: 999999\n    }\n  },\n  data: () => ({\n    isVisible: !1,\n    isContentVisible: !0,\n    OVERLAY_COLORS: l\n  }),\n  computed: {\n    modalOverlayClasses() {\n      return {\n        [l[this.overlayColor]]: !0,\n        [this.modalOverlayClass]: !!this.modalOverlayClass\n      };\n    },\n    modalClasses() {\n      return {\n        [a[this.size]]: !0,\n        \"shadow-lg\": this.overlayColor === \"transparent\",\n        \"overflow-y-auto\": this.isScrollable,\n        \"max-h-none\": !this.isScrollable,\n        relative: this.isWithCloseButton,\n        [this.modalClass]: !!this.modalClass\n      };\n    }\n  },\n  async mounted() {\n    this.portal && document.body.classList.add(\"overflow-hidden\"), await this.$nextTick(), this.isVisible = !0;\n  },\n  beforeDestroy() {\n    this.portal && document.body.classList.remove(\"overflow-hidden\");\n  },\n  methods: {\n    revealModal() {\n      this.isContentVisible = !0, this.$emit(\"open\");\n    },\n    async closeModal() {\n      this.isContentVisible = !1, await this.$nextTick(), this.$emit(\"close\");\n    },\n    closeModalOnOutsideClick() {\n      this.isClosingOnOutsideClick && this.closeModal();\n    }\n  }\n};\nvar h = function() {\n  var t = this, e = t._self._c;\n  return e(\"portal\", { attrs: { to: t.target, disabled: !t.portal } }, [e(\"transition\", { attrs: { name: \"fade\" }, on: { enter: t.revealModal } }, [t.isVisible ? e(\"div\", { staticClass: \"overlay overflow-y-auto top-0 left-0 w-full h-full sm:p-4 flex justify-items-center items-center\", class: {\n    \"overlay inset-0\": t.portal,\n    \"inset-0\": !t.portal,\n    fixed: !t.absolute || t.fullScreen,\n    absolute: t.absolute && !t.fullScreen,\n    [t.OVERLAY_COLORS[t.overlayColor]]: !0,\n    [t.modalOverlayClass]: !!t.modalOverlayClass\n  }, style: `z-index: ${t.zIndex};` }, [e(\"click-outside\", { on: { click: t.closeModalOnOutsideClick } }, [e(\"transition\", { attrs: { name: \"slide\" } }, [t.isContentVisible ? e(\"div\", { staticClass: \"modal-content bg-ds-default w-full mx-auto h-full sm:h-auto sm:rounded-lg m-auto\", class: t.modalClasses, attrs: { \"data-test\": \"modal-content\" } }, [t._t(\"header\", function() {\n    return [t.isWithCloseButton ? e(\"button\", { staticClass: \"top-0 right-0 rtl:right-auto rtl:left-0 absolute z-10 p-4 text-gray-400\", attrs: { type: \"button\", \"data-test\": \"button-close\" }, on: { click: t.closeModal } }, [e(\"svg-sprite-icon\", { attrs: { icon: r } })], 1) : t._e()];\n  }, { closeModal: t.closeModal }), t._t(\"default\", null, { closeModal: t.closeModal })], 2) : t._e()])], 1)], 1) : t._e()])], 1);\n}, y = [], C = /* @__PURE__ */ o(\n  p,\n  h,\n  y,\n  !1,\n  null,\n  \"a89e3003\"\n);\nconst g = C.exports;\nexport {\n  g as B\n};\n"],"names":["d","s","t","c","u","m","o","f","a","p","n","i","e","r","y","C"],"mappings":"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"}