{"version":3,"file":"drawer.vue2.mjs","sources":["../../../../../../packages/components/new-drawer/src/drawer.vue"],"sourcesContent":["<template>\r\n  <a-drawer\r\n    v-bind=\"getBindValue\"\r\n    :open=\"open\"\r\n    :keyboard=\"keyboard\"\r\n    :root-class-name=\"`${bem.b()} ${rootClassName}`\"\r\n    @close=\"handleClose\"\r\n  >\r\n    <template v-if=\"$slots['closeIcon']\" #closeIcon>\r\n      <slot name=\"closeIcon\" />\r\n    </template>\r\n\r\n    <!-- title插槽 -->\r\n    <template #title>\r\n      <slot name=\"title\">{{ props.title }}</slot>\r\n    </template>\r\n    <!-- extra插槽 -->\r\n    <template #extra>\r\n      <slot name=\"extra\" />\r\n    </template>\r\n    <!-- 内容区域 -->\r\n    <div :class=\"[bem.e('container')]\">\r\n      <!-- 内容区域 -->\r\n      <div ref=\"scrollRef\" :class=\"[bem.e('content')]\">\r\n        <slot />\r\n      </div>\r\n    </div>\r\n    <!-- 底部区域 -->\r\n    <template v-if=\"showFooter\" #footer>\r\n      <div\r\n        :class=\"`${bem.e('footer')} ${\r\n          isShowContentBottomBox ? bem.e('footer-shadow') : ''\r\n        }`\"\r\n      >\r\n        <slot name=\"footer\">\r\n          <div :class=\"bem.e('footer-left')\">\r\n            <slot name=\"footer-left\" />\r\n          </div>\r\n          <div :class=\"bem.e('footer-right')\">\r\n            <slot name=\"footer-right\">\r\n              <ll-button\r\n                :class=\"bem.m('cancel')\"\r\n                :label=\"cancelText\"\r\n                v-bind=\"cancelButtonProps\"\r\n                @click=\"handleCancel\"\r\n              >\r\n              </ll-button>\r\n              <ll-button\r\n                type=\"primary\"\r\n                :loading=\"confirmLoading\"\r\n                :label=\"confirmText\"\r\n                v-bind=\"okButtonProps\"\r\n                @click=\"handleConfirm\"\r\n              >\r\n              </ll-button>\r\n            </slot>\r\n          </div>\r\n        </slot>\r\n      </div>\r\n    </template>\r\n  </a-drawer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\n\r\n// import { Drawer } from 'ant-design-vue'\r\n\r\nimport { useScroll } from '@ll-plus/hooks'\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { omit } from 'lodash-es'\r\nimport { newDrawerEmits, newDrawerProps } from './drawer'\r\n\r\nimport type { DrawerProps } from 'ant-design-vue'\r\n\r\ndefineOptions({ name: 'LlNewDrawer' })\r\n\r\n// 1.props/emits\r\nconst props = defineProps(newDrawerProps)\r\nconst emits = defineEmits(newDrawerEmits)\r\n\r\n// 2.hooks\r\nconst attrs = useAttrs()\r\nconst { scrollPosition, isHasScrollBar, scrollRef } = useScroll()\r\n\r\n// 3.ref/computed/const\r\nconst getBindValue = computed(() => {\r\n  const result: DrawerProps = {\r\n    ...omit({ ...attrs }, [...Object.keys(newDrawerProps), 'rootClassName']),\r\n  }\r\n  if (!props.showFooter) result.footer = null\r\n  return result\r\n})\r\n// 是否显示底部的阴影div\r\nconst isShowContentBottomBox = computed(() => {\r\n  // 如果顶部的阴影为true则说明是内部的容器在滚动产品的阴影 则由容器的滚动情况来决定阴影\r\n  if (props.footerShadowPlacement === 'inner') {\r\n    return (\r\n      props.isShowFooterShadow &&\r\n      isHasScrollBar.value &&\r\n      scrollPosition.value !== 'bottom'\r\n    )\r\n  } else {\r\n    // 如果顶部的阴影为false，则说明不是内部容器滚动，则底部的阴影由 外部的isShowFooterShadow来决定\r\n    return props.isShowFooterShadow\r\n  }\r\n})\r\nconst bem = createNamespace('new-drawer')\r\n\r\n// 4.methods\r\n// 点击关闭icon\r\nconst handleClose = (): void => {\r\n  emits('close')\r\n  emits('update:open')\r\n}\r\n// 点击取消按钮\r\nconst handleCancel = (): void => {\r\n  emits('cancel')\r\n  emits('update:open')\r\n}\r\n// 点击确定按钮\r\nconst handleConfirm = (): void => {\r\n  emits('confirm')\r\n}\r\n// 滚动条返回顶部\r\nconst scrollTop = () => {\r\n  if (scrollRef && scrollRef.value) {\r\n    scrollRef.value.scrollTop = 0\r\n    scrollPosition.value = 'top'\r\n  }\r\n}\r\n\r\n// 4.defineExpose\r\ndefineExpose({\r\n  scrollTop,\r\n})\r\n</script>\r\n"],"names":["_createBlock","_mergeProps","open","keyboard","_unref","rootClassName","_renderSlot","_createTextVNode","_toDisplayString","_createElementVNode","_normalizeClass","_createCommentVNode","$slots","showFooter","_createVNode","cancelText","cancelButtonProps","confirmLoading","confirmText","okButtonProps"],"mappings":"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"}