{"version":3,"file":"SheetContent.vue.cjs","sources":["../../../../src/components/shadcn/SheetContent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { cva } from 'class-variance-authority'\n\nexport type SheetSide = 'top' | 'bottom' | 'left' | 'right'\n\nexport const sheetVariants = cva(\n  'fixed z-50 bg-background shadow-lg flex flex-col focus:outline-none',\n  {\n    variants: {\n      side: {\n        top: 'inset-x-0 top-0 border-b data-[state=open]:animate-sheet-slide-in-from-top data-[state=closed]:animate-sheet-slide-out-to-top',\n        bottom: 'inset-x-0 bottom-0 border-t data-[state=open]:animate-sheet-slide-in-from-bottom data-[state=closed]:animate-sheet-slide-out-to-bottom',\n        left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=open]:animate-sheet-slide-in-from-left data-[state=closed]:animate-sheet-slide-out-to-left',\n        right: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=open]:animate-sheet-slide-in-from-right data-[state=closed]:animate-sheet-slide-out-to-right',\n      },\n    },\n    defaultVariants: { side: 'right' },\n  },\n)\n</script>\n\n<script setup lang=\"ts\">\nimport type { DialogContentEmits, DialogContentProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\nimport { computed } from 'vue'\nimport { reactiveOmit } from '@vueuse/core'\nimport { DialogClose, DialogContent, DialogOverlay, DialogPortal, useForwardPropsEmits } from 'reka-ui'\nimport { X } from 'lucide-vue-next'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends DialogContentProps {\n  class?: HTMLAttributes['class']\n  side?: SheetSide\n  showClose?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n  side: 'right',\n  showClose: true,\n})\n\nconst emits = defineEmits<DialogContentEmits>()\n\nconst delegatedProps = reactiveOmit(props, 'class', 'side', 'showClose')\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n\nconst contentClass = computed(() => cn(sheetVariants({ side: props.side }), props.class))\n</script>\n\n<template>\n  <DialogPortal>\n    <DialogOverlay\n      class=\"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-sheet-fade-in data-[state=closed]:animate-sheet-fade-out\"\n    />\n    <DialogContent v-bind=\"forwarded\" :class=\"contentClass\">\n      <slot />\n      <DialogClose\n        v-if=\"showClose\"\n        class=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\"\n      >\n        <X class=\"size-4\" />\n        <span class=\"sr-only\">닫기</span>\n      </DialogClose>\n    </DialogContent>\n  </DialogPortal>\n</template>\n"],"names":["sheetVariants","cva","props","__props","emits","__emit","delegatedProps","reactiveOmit","forwarded","useForwardPropsEmits","contentClass","computed","cn","_createBlock","_unref","DialogPortal","_createVNode","DialogOverlay","_mergeProps","_renderSlot","_ctx","DialogClose","X","_cache","_createElementVNode"],"mappings":"sRAKaA,EAAgBC,EAAAA,IAC3B,sEACA,CACE,SAAU,CACR,KAAM,CACJ,IAAK,gIACL,OAAQ,yIACR,KAAM,gJACN,MAAO,kJAAA,CACT,EAEF,gBAAiB,CAAE,KAAM,OAAA,CAAQ,CAErC,4VAkBA,MAAMC,EAAQC,EAKRC,EAAQC,EAERC,EAAiBC,EAAAA,aAAaL,EAAO,QAAS,OAAQ,WAAW,EACjEM,EAAYC,EAAAA,qBAAqBH,EAAgBF,CAAK,EAEtDM,EAAeC,EAAAA,SAAS,IAAMC,EAAAA,GAAGZ,EAAc,CAAE,KAAME,EAAM,IAAA,CAAM,EAAGA,EAAM,KAAK,CAAC,8BAItFW,EAAAA,YAceC,EAAAA,MAAAC,EAAAA,YAAA,EAAA,KAAA,mBAbb,IAEE,CAFFC,EAAAA,YAEEF,EAAAA,MAAAG,EAAAA,aAAA,EAAA,CADA,MAAM,oHAAmH,EAE3HD,EAAAA,YASgBF,EAAAA,uBAThBI,EAAAA,WASgBJ,EAAAA,SATgB,CAAG,MAAOJ,EAAA,KAAA,CAAY,EAAA,mBACpD,IAAQ,CAARS,aAAQC,EAAA,OAAA,SAAA,EAEAjB,EAAA,yBADRU,EAAAA,YAMcC,EAAAA,MAAAO,EAAAA,WAAA,EAAA,OAJZ,MAAM,2MAAA,qBAEN,IAAoB,CAApBL,EAAAA,YAAoBF,EAAAA,MAAAQ,EAAAA,CAAA,EAAA,CAAjB,MAAM,SAAQ,EACjBC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,EAAAA,mBAA+B,OAAA,CAAzB,MAAM,WAAU,KAAE,EAAA,EAAA"}