{"version":3,"file":"index.vue.cjs","sources":["../../../../../packages/components/modal/src/index.vue"],"sourcesContent":["<template>\n  <teleport to=\"body\">\n    <transition\n      :name=\"ns.b()\"\n      @before-enter=\"useBeforeEnter\"\n      @enter=\"useEnter\"\n      @after-enter=\"useAfterEnter\"\n      @before-leave=\"useBeforeLeave\"\n      @after-leave=\"useAfterLeave\"\n    >\n      <x-mask v-show=\"visible\" v-bind=\"$attrs\" @close=\"useClose\">\n        <div\n          :class=\"[ns.b(), ns.is('fixed-screen', fixedScreen)]\"\n          :style=\"[width]\"\n        >\n          <div :class=\"[ns.e('wrap')]\">\n            <div :class=\"[ns.e('header')]\">\n              <h4 :class=\"[ns.e('title')]\">{{ title }}</h4>\n              <x-icon :class=\"[ns.e('close')]\" @click=\"useClose\"\n                ><Close\n              /></x-icon>\n            </div>\n            <div :class=\"[ns.e('body')]\">\n              <div :class=\"[ns.e('render-content')]\" v-if=\"rendered\">\n                <slot />\n              </div>\n            </div>\n            <div :class=\"[ns.e('footer')]\" v-if=\"footer\">\n              <template v-if=\"$slots.footer\"><slot name=\"footer\" /></template>\n              <template v-else>\n                <x-button\n                  text\n                  size=\"large\"\n                  v-if=\"cancelButtonShow\"\n                  @click=\"useBeforeCancel\"\n                  >{{ cancelButtonText }}</x-button\n                >\n                <x-button\n                  type=\"primary\"\n                  size=\"large\"\n                  v-if=\"confirmButtonShow\"\n                  :loading=\"isLoading\"\n                  @click=\"useBeforeChange\"\n                  >{{ confirmButtonText }}</x-button\n                >\n              </template>\n            </div>\n          </div>\n        </div>\n      </x-mask>\n    </transition>\n  </teleport>\n</template>\n<script>\nexport default { name: \"x-modal\" };\n</script>\n<script setup>\nimport { useNamespace } from \"@ui-library/hook\";\nimport { XMask, XButton, XIcon } from \"@ui-library/components\";\nimport { Close } from \"@ui-library/icons\";\nimport { useModal } from \"./composables/use-modal\";\nimport { modalProps } from \"./modal\";\nconst props = defineProps(modalProps);\nconst emit = defineEmits([\"ok\", \"cancel\", \"open\", \"opened\", \"close\", \"closed\"]);\nconst ns = useNamespace(\"modal\");\nconst visible = defineModel();\nconst {\n  useBeforeCancel,\n  useBeforeChange,\n  useClose,\n  isLoading,\n  useBeforeEnter,\n  useEnter,\n  useAfterEnter,\n  useBeforeLeave,\n  useAfterLeave,\n  rendered,\n  width,\n} = useModal({ props, visible });\n</script>\n"],"names":["useNamespace","_useModel","useModal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,MAAA,WAAA,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;;;;;;;;;;;AAQlC,MAAM,KAAK,GAAG,OAAuB,CAAA;AACrC,MAAM,IAAI,GAAG,MAAkE,CAAA;AAC/E,MAAM,EAAE,GAAGA,kBAAY,CAAC,OAAO,CAAC,CAAA;AAChC,MAAM,OAAO,GAAGC,YAAW,sBAAC,CAAC,CAAA;AAC7B,MAAM;AACN,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,cAAc;AAChB,EAAE,QAAQ;AACV,EAAE,aAAa;AACf,EAAE,cAAc;AAChB,EAAE,aAAa;AACf,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,CAAC,GAAGC,iBAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}