{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/resizable/src/index.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"targetRef\"\n    :class=\"[ns.b(), $attrs.class]\"\n    :style=\"calcTargetStyle\"\n    @pointerdown.stop.prevent=\"handleInnerTargetDown($event)\"\n  >\n    <div ref=\"containerRef\" :class=\"ns.e('content')\" :style=\"containerStyle\">\n      <slot v-bind=\"{ handleTargetDown }\" />\n    </div>\n    <template v-if=\"isResizable\">\n      <div\n        v-for=\"(stick, index) in sticks\"\n        :key=\"index\"\n        :class=\"[ns.e('stick'), ns.m(`stick-${stick}`)]\"\n        @pointerdown.stop.prevent=\"(evt) => handleStickDown(evt, stick)\"\n      >\n        <el-renderer :renderer=\"() => renderStick(stick)\" />\n      </div>\n    </template>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useAttrs, useSlots } from 'vue'\nimport { useNamespace } from 'element-plus'\nimport { ElRenderer } from '@element-plus/components/renderer/index'\nimport { resizableEmits, resizableProps } from './resizable'\nimport { useResizable } from './hooks'\nimport type { IStick } from './types'\n\ndefineOptions({\n  name: 'ElResizable',\n  inheritAttrs: false,\n})\nconst props = defineProps(resizableProps)\nconst emit = defineEmits(resizableEmits)\nconst slots = useSlots()\nconst attrs = useAttrs()\nconst ns = useNamespace('resizable')\n\nconst targetRef = ref<HTMLElement | null>(null)\nconst containerRef = ref<HTMLElement | null>(null)\n\nconst {\n  move,\n  stickDown,\n  stickUp,\n  targetDown,\n  targetUp,\n  targetStyle,\n  containerStyle,\n} = useResizable(targetRef, containerRef, props, emit)\n\nconst calcTargetStyle = computed(() => {\n  return {\n    ...targetStyle.value,\n    ...(attrs.style as any),\n  }\n})\n\nconst createStickMove = (stick: IStick) => {\n  return (evt: PointerEvent) => {\n    move(evt, 'stickMove', stick)\n  }\n}\n\nconst handleStickDown = (evt: PointerEvent, stick: IStick) => {\n  if (!props.isResizable) return\n\n  stickDown(evt, stick)\n\n  const handleStickMove = createStickMove(stick)\n\n  const handleStickUp = () => {\n    document.removeEventListener('pointermove', handleStickMove)\n    document.removeEventListener('pointerup', handleStickUp)\n    stickUp(evt)\n  }\n\n  document.addEventListener('pointermove', handleStickMove)\n  document.addEventListener('pointerup', handleStickUp)\n}\n\nconst handleBaseTargetDown = (evt: PointerEvent) => {\n  if (!props.isDraggable) return\n\n  targetDown(evt)\n\n  const handleTargetMove = (evt: PointerEvent) => {\n    move(evt, 'targetMove')\n  }\n\n  const handleTargetUp = (evt: PointerEvent) => {\n    document.removeEventListener('pointermove', handleTargetMove)\n    document.removeEventListener('pointerup', handleTargetUp)\n    targetUp(evt)\n  }\n\n  document.addEventListener('pointermove', handleTargetMove)\n  document.addEventListener('pointerup', handleTargetUp)\n}\n\nconst handleInnerTargetDown = (evt: PointerEvent) => {\n  if (props.isCustomDraggable) return\n  handleBaseTargetDown(evt)\n}\nconst handleTargetDown = (evt: PointerEvent) => handleBaseTargetDown(evt)\n\nconst renderStick = (stick: IStick) => slots[stick]?.()\n</script>\n"],"names":["evt"],"mappings":"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"}