UNPKG

hongluan-ui

Version:
1 lines 7.98 kB
{"version":3,"file":"dialog2.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <hl-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition name=\"fade\">\n <hl-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n />\n </transition>\n\n <transition :name=\"animName\" @after-enter=\"afterEnter\" @after-leave=\"afterLeave\" @before-leave=\"beforeLeave\">\n <div\n v-show=\"visible\"\n :role=\"showAs\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"[namespace + '-dialog', 'at-' + placement]\"\n :style=\"{\n zIndex: zIndex + 1,\n }\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n :show-as=\"showAs\"\n :show-close=\"showClose\"\n :custom-class=\"customClass\"\n :placement=\"placement\"\n :top=\"top\"\n :title=\"title\"\n :height=\"height\"\n :width=\"width\"\n :draggable=\"draggable\"\n :resizable=\"resizable\"\n :aria-level=\"headerAriaLevel\"\n v-bind=\"$attrs\"\n >\n <template v-if=\"$slots.header\" #header>\n <slot\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n title-class=\"panel-title\"\n ></slot>\n </template>\n <template v-if=\"$slots.title\" #title>\n <slot name=\"title\"></slot>\n </template>\n <slot></slot>\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\"></slot>\n </template>\n </dialog-content>\n </focus-trap>\n </div>\n </transition>\n </hl-teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, ref } from 'vue'\nimport { HlOverlay } from '@hongluan-ui/components/overlay'\nimport { usePanelProps } from '@hongluan-ui/components/panel'\nimport { dialogInjectionKey } from '@hongluan-ui/tokens'\nimport FocusTrap from '@hongluan-ui/components/focus-trap'\nimport HlTeleport from '@hongluan-ui/components/teleport'\nimport { useDeprecated, useNamespace, useSameTarget } from '@hongluan-ui/hooks'\nimport { dialogProps, dialogEmits } from './dialog'\nimport { useDialog } from './use-dialog'\nimport DialogContent from './dialog-content.vue'\n\nexport default defineComponent({\n name: 'Dialog',\n components: {\n HlOverlay,\n DialogContent,\n FocusTrap,\n HlTeleport,\n },\n inheritAttrs: false,\n props: dialogProps,\n emits: dialogEmits,\n setup(props) {\n const dialogRef = ref<HTMLElement>()\n const headerRef = ref<HTMLElement>()\n const dialogContentRef = ref()\n\n useDeprecated(\n {\n scope: 'hl-dialog',\n from: 'custom-class',\n replacement: 'class',\n version: '2.5.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!props.customClass),\n )\n\n const { namespace } = useNamespace()\n const {\n titleId,\n bodyId,\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n close,\n rendered,\n animName,\n visible,\n zIndex,\n } = useDialog(props, dialogRef)\n\n const {\n panelStyle,\n panelClass,\n headerClass: panelHeaderClass,\n bodyClass: panelBodyClass,\n footerClass: panelFooterClass,\n } = usePanelProps(props)\n\n provide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n handleClose,\n onModalClick,\n visible,\n zIndex,\n panelStyle,\n panelClass,\n panelHeaderClass,\n panelBodyClass,\n panelFooterClass,\n })\n\n const overlayEvent = useSameTarget(onModalClick)\n\n return {\n namespace,\n titleId,\n bodyId,\n dialogContentRef,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n afterEnter,\n afterLeave,\n beforeLeave,\n onModalClick,\n overlayEvent,\n handleClose,\n close,\n rendered,\n animName,\n visible,\n zIndex,\n }\n },\n})\n</script>\n"],"names":["FocusTrap","_createBlock","_createVNode","_Transition","_createElementVNode","_normalizeClass","_normalizeStyle","_mergeProps","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;AA4FA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,eACAA;AAAA,IACA;AAAA;AACF,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,YAAY;AAClB,UAAM,YAAY;AAClB,UAAM,mBAAmB;AAEzB,kBACE;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,MACT,KAAK;AAAA,MACL,MAAM;AAAA,OAER,SAAS,MAAM,CAAC,CAAC,MAAM,WAAW,CACpC;AAEA,UAAM,EAAE,cAAc;AACtB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,UAAU,OAAO,SAAS;AAE9B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb,WAAW;AAAA,MACX,aAAa;AAAA,QACX,cAAc,KAAK;AAEvB,YAAQ,oBAAoB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,KACD;AAED,UAAM,eAAe,cAAc,YAAY;AAE/C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;;;sBA1LCC,YA4Ec;AAAA,IA3EX,IAAI;AAAA,IACJ,UAAU,kBAAQ,kBAAuB;AAAA;qBAE1C,MAUa;AAAA,MAVbC,YAUaC,cAVD,MAAK;AAAM,yBACrB,MAQE;AAAA,yBARFD,YAQE;AAAA,YANC,MAAM;AAAA,YACN,iBAAe;AAAA,YACf,WAAS;AAAA,YACT,SAAO,kBAAa;AAAA,YACpB,aAAW,kBAAa;AAAA,YACxB,WAAS,kBAAa;AAAA;oBANf,YAAO;AAAA;;;;MAUnBA,YA2DaC;AAAA,QA3DA,MAAM;AAAA,QAAW,cAAa;AAAA,QAAa,cAAa;AAAA,QAAa,eAAc;AAAA;yBAC9F,MAyDM;AAAA,yBAzDNC,mBAyDM;AAAA,YAvDH,MAAM;AAAA,YACP,cAAW;AAAA,YACV,cAAY,cAAS;AAAA,YACrB,mBAAe,CAAG,aAAQ,eAAU;AAAA,YACpC,oBAAkB;AAAA,YAClB,OAAKC,gBAAG,iBAAS,mBAAsB,cAAS;AAAA,YAChD,OAAKC;AAAA,sBAAsB,cAAM;AAAA;YAGjC,SAAO,kBAAa;AAAA,YACpB,aAAW,kBAAa;AAAA,YACxB,WAAS,kBAAa;AAAA;YAEvBJ,YAyCa;AAAA,cAxCX;AAAA,cACC,SAAS;AAAA,cACV,kBAAe;AAAA,cACd,qBAAqB;AAAA,cACrB,sBAAsB;AAAA,cACtB,qBAAoB;AAAA,cACpB,oBAAmB;AAAA;+BAEpB,MA+BiB;AAAA,gBA9BT,8BADRD,YA+BiB,2BA/BjBM,WA+BiB;AAAA;kBA7Bf,KAAI;AAAA,kBACH,WAAS;AAAA,kBACT,cAAY;AAAA,kBACZ,gBAAc;AAAA,kBACd,WAAW;AAAA,kBACX,KAAK;AAAA,kBACL,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,OAAO;AAAA,kBACP,WAAW;AAAA,kBACX,WAAW;AAAA,kBACX,cAAY;AAAA,mBACL,WAAM;AAAA,mCAad,MAAa;AAAA,oBAAbC,WAAa;AAAA;;;kBAXG,YAAO;0BAAS;AAAA,gCAC9B,MAKQ;AAAA,sBALRA,WAKQ;AAAA,wBAHL,OAAO;AAAA,wBACP,SAAU;AAAA,wBACX,YAAY;AAAA;;;kBAGA,YAAO;0BAAQ;AAAA,gCAC7B,MAA0B;AAAA,sBAA1BA,WAA0B;AAAA;;kBAGZ,YAAO;0BAAS;AAAA,gCAC9B,MAA2B;AAAA,sBAA3BA,WAA2B;AAAA;;;;;;;oBApDzB,YAAO;AAAA;;;;;;;;;;;;"}