{"version":3,"file":"dock-container2.mjs","sources":["../../../../../../packages/components/dock-container/src/dock-container.vue"],"sourcesContent":["<template>\n  <teleport to=\"body\">\n    <transition\n      :name=\"animName\"\n      @after-enter=\"afterEnter\"\n      @after-leave=\"afterLeave\"\n      @before-leave=\"beforeLeave\"\n    >\n      <div\n        v-show=\"visible\"\n        v-bind=\"$attrs\"\n        :class=\"[\n          prefix + '-dock-container',\n          hlPrefix + '-panel',\n          'at-' + placement,\n          customClass,\n        ]\"\n        :style=\"[\n          {\n            width: width,\n            height: height,\n            zIndex,\n            '--dock-item-width': itemWidth,\n            '--dock-item-height': itemHeight,\n          },\n        ]\"\n        aria-modal=\"true\"\n        role=\"drawer\"\n        aria-label=\"drawer\"\n        @click.stop\n      >\n        <div class=\"panel-body\">\n          <slot data=\"dockItems\">\n            <hl-scrollbar v-if=\"dockItems.length\" ref=\"scrollbarRef\" class=\"scrollbar\">\n              <div class=\"dock-items\">\n                <hl-group v-for=\"item in dockItems\" :key=\"item.id\" class=\"dock-item\" dir=\"vertical\" @click.stop=\"restoreDockItem(item.id)\">\n                  <div class=\"item-content\">\n                    <template v-if=\"!item.snapshot\">\n                      <div class=\"dock-placeholder media\"></div>\n                    </template>\n                    <template v-else-if=\"typeof item.snapshot === 'string'\">\n                      <p class=\"media text\" :title=\"item.snapshot\">{{ item.snapshot }}</p>\n                    </template>\n                    <template v-else-if=\"item.snapshot.type === 'image'\">\n                      <hl-thumb :src=\"item.snapshot.url\" class=\"media full\" fit=\"cover\" />\n                    </template>\n                    <template v-else-if=\"item.snapshot.type === 'video'\">\n                      <video :src=\"item.snapshot.url\" class=\"media\"></video>\n                    </template>\n                    <template v-else-if=\"item.snapshot.type === 'audio'\">\n                      <audio :src=\"item.snapshot.url\" class=\"media\" controls=\"controls\"></audio>\n                    </template>\n                  </div>\n                  <div class=\"item-title\">{{ item.title }}</div>\n                  <div class=\"item-close\" @click.stop=\"closeDockItem(item.id)\">\n                    <hl-icon>\n                      <system-close />\n                    </hl-icon>\n                  </div>\n                </hl-group>\n              </div>\n            </hl-scrollbar>\n            <p v-if=\"dockItems.length === 0\" class=\"empty-text\">{{ t('hl.table.emptyText') }}</p>\n          </slot>\n        </div>\n      </div>\n    </transition>\n  </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport { HlIcon, SystemClose, HlScrollbar, HlThumb, HlGroup, PREFIX as HlPrefix, useLocale } from 'hongluan-ui'\nimport { usePrefix } from '@hongluan-business-ui/utils/util'\nimport { dockContainerProps, dockContainerEmits } from './dock-container'\nimport { useDockContainer } from './use-dock-container'\n\nexport default defineComponent({\n  name: 'DockContainer',\n  components: {\n    HlScrollbar,\n    HlGroup,\n    HlThumb,\n    HlIcon,\n    SystemClose,\n  },\n  directives: {\n  },\n  inheritAttrs: false,\n  props: dockContainerProps,\n  emits: dockContainerEmits,\n  setup(props) {\n    const { prefix } = usePrefix()\n    const scrollbarRef = ref()\n    const { t } = useLocale()\n    const dialogRef = ref<HTMLElement>()\n\n    const dialog = useDockContainer(props, scrollbarRef)\n\n    return {\n      prefix,\n      t,\n      hlPrefix: HlPrefix.toLowerCase(),\n      dialogRef,\n      scrollbarRef,\n      ...dialog,\n    }\n  },\n})\n</script>\n"],"names":["HlPrefix","_createBlock","_Teleport","_createVNode","_Transition","_createElementVNode","_mergeProps","_renderSlot","_createElementBlock","_Fragment","_withModifiers","_toDisplayString"],"mappings":";;;;;;;AA6EA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY;AAAA,EAEZ,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,EAAE,WAAW;AACnB,UAAM,eAAe;AACrB,UAAM,EAAE,MAAM;AACd,UAAM,YAAY;AAElB,UAAM,SAAS,iBAAiB,OAAO;AAEvC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAUA,OAAS;AAAA,MACnB;AAAA,MACA;AAAA,SACG;AAAA;AAAA;AAAA;qBA1EI,OAAM;qBAGA,OAAM;qBAEF,OAAM;;;EAEF,OAAM;AAAA;;;;qBAeV,OAAM;;;;EASgB,OAAM;AAAA;;;;;;;sBA7DjDC,YAkEWC,YAlED,IAAG,UAAM;AAAA,IACjBC,YAgEaC;AAAA,MA/DV,MAAM;AAAA,MACN,cAAa;AAAA,MACb,cAAa;AAAA,MACb,eAAc;AAAA;uBAEf,MAyDM;AAAA,uBAzDNC,mBAyDM,OAzDNC,WAEU,KAuDJ,QAvDU;AAAA,UACb,OAAK;AAAA,YAAc,cAAM;AAAA,YAAgC,gBAAQ;AAAA,oBAA+B;AAAA,YAAqB;AAAA;AAAA,UAMrH,OAAK;AAAA;qBAAmC;AAAA,sBAA2B;AAAA,sBAAoB;AAAA,mCAAyC;AAAA,oCAA6C;AAAA;AAAA;AAAA,UAS9K,cAAW;AAAA,UACX,MAAK;AAAA,UACL,cAAW;AAAA,UACV,SAAK,wCAAN;AAAA,aAAW;AAAA;UAEXD,mBAiCM,OAjCN,YAiCM;AAAA,YAhCJE,WA+BO,0BA/BD,MAAK,eAAX,MA+BO;AAAA,cA9Be,eAAU,uBAA9BN,YA4Be;AAAA;gBA5BuB,KAAI;AAAA,gBAAe,OAAM;AAAA;iCAC7D,MA0BM;AAAA,kBA1BNI,mBA0BM,OA1BN,YA0BM;AAAA,sCAzBJG,mBAwBWC,2BAxBc,gBAAS,CAAjB,SAAI;0CAArBR,YAwBW;AAAA,wBAxB0B,KAAK,KAAK;AAAA,wBAAI,OAAM;AAAA,wBAAY,KAAI;AAAA,wBAAY,SAAKS,0BAAO,qBAAgB,KAAK,KAAE;AAAA;yCACtH,MAgBM;AAAA,0BAhBNL,mBAgBM,OAhBN,YAgBM;AAAA,6BAfa,KAAK,yBACpBG,mBAA0C,OAA1C,sBAE0B,KAAK,aAAQ,yBACvCA,mBAAoE;AAAA;8BAAjE,OAAM;AAAA,8BAAc,OAAO,KAAK;AAAA,+CAAa,KAAK,WAAQ,kBAE1C,KAAK,SAAS,SAAI,wBACrCP,YAAoE;AAAA;8BAAzD,KAAK,KAAK,SAAS;AAAA,8BAAK,OAAM;AAAA,8BAAa,KAAI;AAAA,oDAEvC,KAAK,SAAS,SAAI,wBACrCO,mBAAsD;AAAA;8BAA9C,KAAK,KAAK,SAAS;AAAA,8BAAK,OAAM;AAAA,uDAEnB,KAAK,SAAS,SAAI,wBACrCA,mBAA0E;AAAA;8BAAlE,KAAK,KAAK,SAAS;AAAA,8BAAK,OAAM;AAAA,8BAAQ,UAAS;AAAA;;0BAG3DH,mBAA8C,OAA9C,YAA8CM,gBAAnB,KAAK,QAAK;AAAA,0BACrCN,mBAIM;AAAA,4BAJD,OAAM;AAAA,4BAAc,SAAKK,0BAAO,mBAAc,KAAK,KAAE;AAAA;4BACxDP,YAEU;AAAA,+CADR,MAAgB;AAAA,gCAAhBA,YAAgB;AAAA;AAAA;;;;;;;;;;;cAMjB,eAAU,WAAM,kBAAzBK,mBAAqF,KAArF,aAAqFG,gBAA9B,OAAC;;;;kBArDpD;AAAA;AAAA;AAAA;;;;;;;;"}