hongluan-ui
Version:
Hongluan Component Library for Vue 3
1 lines • 4.95 kB
Source Map (JSON)
{"version":3,"file":"dialog-content.mjs","sources":["../../../../../../packages/components/dialog/src/dialog-content.vue"],"sourcesContent":["<template>\n <div\n :ref=\"composedDialogRef\"\n v-dragger=\"{canDrag, showAs, placement}\"\n v-resizer=\"{canResize, showAs, placement}\"\n :class=\"[\n namespace + '-panel',\n customClass,\n panelClass,\n canDrag ? 'is-draggable' : '',\n canResize ? 'is-resizable': ''\n ]\"\n :style=\"[\n {\n width: width,\n height: height,\n },\n top ? `top: ${top}` : '',\n panelStyle,\n ]\"\n :show-as=\"showAs\"\n tabindex=\"-1\"\n >\n <div :class=\"['panel-header', panelHeaderClass]\">\n <slot v-if=\"$slots.header\" name=\"header\"></slot>\n <template v-else-if=\"title || showClose || $slots.title\">\n <slot name=\"title\">\n <h4 class=\"panel-title\" role=\"heading\" :aria-level=\"ariaLevel\">{{ title }}</h4>\n </slot>\n <div class=\"panel-header-right\">\n <hl-button v-if=\"showClose\" class=\"panel-close\" :aria-label=\"t('hl.dialog.close')\" @click=\"handleClose\">\n <hl-icon>\n <system-close />\n </hl-icon>\n </hl-button>\n </div>\n </template>\n </div>\n <div :id=\"bodyId\" :class=\"['panel-body', panelBodyClass]\">\n <slot></slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"['panel-footer', panelFooterClass]\"\n >\n <slot name=\"footer\"></slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject } from 'vue'\nimport { useLocale, useNamespace } from '@hongluan-ui/hooks'\nimport { dialogInjectionKey } from '@hongluan-ui/tokens'\nimport HlIcon from '@hongluan-ui/components/icon'\nimport HlButton from '@hongluan-ui/components/button'\nimport { FOCUS_TRAP_INJECTION_KEY } from '@hongluan-ui/components/focus-trap'\nimport { SystemClose } from '@hongluan-ui/components/system-icon'\nimport { dialogContentProps } from './dialog-content'\nimport { DialogDragger } from './dragger'\nimport { DialogResizer } from './resizer'\nimport { composeRefs } from '@hongluan-ui/utils'\n\nexport default defineComponent({\n name: 'DialogContent',\n components: {\n HlIcon,\n HlButton,\n SystemClose,\n },\n directives: {\n 'dragger': DialogDragger,\n 'resizer': DialogResizer,\n },\n props: dialogContentProps,\n setup(props) {\n const { namespace } = useNamespace()\n const { t } = useLocale()\n\n const canDrag = computed(() => {\n return props.showAs === 'drawer' || props.placement === 'fullscreen' ? false : props.draggable\n })\n\n const canResize = computed(() => {\n return props.showAs === 'drawer' || props.placement === 'fullscreen' ? false : props.resizable\n })\n\n const dialogContext = inject(dialogInjectionKey)\n const { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY)!\n\n const composedDialogRef = composeRefs(focusTrapRef, dialogContext.dialogRef)\n // const composedDialogRef = composeRefs(dialogContext.dialogRef)\n\n return {\n t,\n namespace,\n canDrag,\n canResize,\n focusTrapRef,\n composedDialogRef,\n ...dialogContext,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_Fragment","_createBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;AA+DA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AACF,EACA,YAAY;AAAA,IACV,WAAW;AAAA,IACX,WAAW;AAAA;AACb,EACA,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,EAAE,cAAc;AACtB,UAAM,EAAE,MAAM;AAEd,UAAM,UAAU,SAAS,MAAM;AAC7B,aAAO,MAAM,WAAW,YAAY,MAAM,cAAc,eAAe,QAAQ,MAAM;AAAA,KACtF;AAED,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO,MAAM,WAAW,YAAY,MAAM,cAAc,eAAe,QAAQ,MAAM;AAAA,KACtF;AAED,UAAM,gBAAgB,OAAO,kBAAkB;AAC/C,UAAM,EAAE,iBAAiB,OAAO,wBAAwB;AAExD,UAAM,oBAAoB,YAAY,cAAc,cAAc,SAAS;AAG3E,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,SACG;AAAA;AACL;AAEJ,CAAC;;;;;;;sCAtGCA,mBA8CM;AAAA,IA7CH,KAAK;AAAA,IAGL,OAAKC;AAAA,MAAU,iBAAS;AAAA,MAAmB;AAAA,MAAmB;AAAA,MAAkB,eAAO;AAAA,MAA8B,iBAAS;AAAA;IAO9H,OAAKC;AAAA;eAA2B;AAAA,gBAAuB;AAAA;MAAuB,WAAG,QAAW,aAAG;AAAA,MAAe;AAAA;IAQ9G,WAAS;AAAA,IACV,UAAS;AAAA;IAETC,mBAcM;AAAA,MAdA,OAAKF,gCAAmB,qBAAgB;AAAA;MAChC,YAAO,SAAnBG,WAAgD,qCAC3B,cAAS,kBAAa,YAAO,sBAAlDJ,mBAWWK;AAAA,QAVTD,WAEO,0BAFP,MAEO;AAAA,UADLD,mBAA+E;AAAA,YAA3E,OAAM;AAAA,YAAc,MAAK;AAAA,YAAW,cAAY;AAAA,6BAAc,UAAK;AAAA;QAEzEA,mBAMM,SAND,OAAM;AAAoB,UACZ,+BAAjBG,YAIY;AAAA;YAJgB,OAAM;AAAA,YAAe,cAAY,OAAC;AAAA,YAAsB,SAAO;AAAA;6BACzF,MAEU;AAAA,cAFVC,YAEU;AAAA,iCADR,MAAgB;AAAA,kBAAhBA,YAAgB;AAAA;;;;;;;;;IAM1BJ,mBAEM;AAAA,MAFA,IAAI;AAAA,MAAS,OAAKF,8BAAiB,mBAAc;AAAA;MACrDG,WAAa;AAAA;IAGP,YAAO,uBADfJ,mBAKM;AAAA;MAHH,OAAKC,gCAAmB,qBAAgB;AAAA;MAEzCG,WAA2B;AAAA;;oCA1CjB,cAAO,QAAE,aAAM,WAAE;AAAS,sCAC1B,gBAAS,QAAE,aAAM,WAAE;AAAS;;;;;;"}