{"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;;;;;;"}