{"version":3,"file":"JEmptyState.vue2.cjs","sources":["../../../../src/components/molecules/JEmptyState.vue"],"sourcesContent":["<template>\n  <!-- Simple variant: 아이콘 + 텍스트만 -->\n  <div \n    v-if=\"variant === 'simple'\"\n    :class=\"cn(\n      'j-empty-state-simple',\n      'flex flex-col items-center justify-center p-8 text-center',\n      'rounded-sm border-4 border-dashed',\n      props.class\n    )\"\n  >\n    <JIcon \n      v-if=\"icon || $slots.icon\" \n      :name=\"icon || 'inbox'\" \n      class=\"w-12 h-12 text-muted-foreground mb-3\"\n    >\n      <slot name=\"icon\" />\n    </JIcon>\n    \n    <p v-if=\"title || $slots.title\" class=\"text-sm text-muted-foreground\">\n      <slot name=\"title\">{{ title }}</slot>\n    </p>\n  </div>\n\n  <!-- Default variant: 풀 스타일 -->\n  <div \n    v-else\n    :class=\"cn(\n      'j-empty-state',\n      'flex flex-col items-center justify-center',\n      'p-12 text-center',\n      'max-w-lg mx-auto',\n      'rounded-sm border border-border',\n      'bg-card shadow-sm',\n      props.class\n    )\"\n  >\n    <!-- 아이콘 (원형 배경) -->\n    <div v-if=\"icon || $slots.icon\" class=\"j-empty-icon-wrapper\">\n      <slot name=\"icon\">\n        <JIcon \n          v-if=\"icon\" \n          :name=\"icon\" \n          class=\"w-12 h-12 text-muted-foreground\"\n        />\n      </slot>\n    </div>\n\n    <!-- 제목 -->\n    <h3\nv-if=\"title || $slots.title\" \n        class=\"text-xl font-semibold text-foreground mb-2 tracking-tight\">\n      <slot name=\"title\">{{ title }}</slot>\n    </h3>\n\n    <!-- 설명 -->\n    <p\nv-if=\"description || $slots.description\" \n       class=\"text-sm text-muted-foreground mb-6 max-w-sm leading-relaxed\">\n      <slot name=\"description\">{{ description }}</slot>\n    </p>\n\n    <!-- 액션 버튼 -->\n    <slot name=\"action\">\n      <JButton \n        v-if=\"actionText\" \n        styletype=\"primary\"\n        size=\"sm\"\n        @click=\"emit('action')\"\n      >\n        {{ actionText }}\n      </JButton>\n    </slot>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { JIcon, JButton } from '@/components/atoms'\nimport { cn } from '@/lib/utils'\nimport type { JEmptyStateProps, JEmptyStateEmits } from '@/types/empty-state.types'\n\nconst props = withDefaults(defineProps<JEmptyStateProps>(), {\n  icon: 'inbox',\n  variant: 'default',\n})\n\nconst emit = defineEmits<JEmptyStateEmits>()\n</script>\n\n<style scoped>\n.j-empty-state {\n  transition: all 0.2s ease;\n}\n\n.j-empty-state-simple {\n  border-color: hsl(var(--border) / 0.5);\n  background: hsl(var(--muted) / 0.1);\n  transition: all 0.2s ease;\n}\n\n.j-empty-state-simple:hover {\n  border-color: hsl(var(--border) / 0.8);\n  background: hsl(var(--muted) / 0.15);\n}\n\n.j-empty-icon-wrapper {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 5rem;\n  height: 5rem;\n  margin-bottom: 1.5rem;\n  border-radius: 9999px;\n  background: linear-gradient(135deg, \n    hsl(var(--primary) / 0.08) 0%, \n    hsl(var(--primary) / 0.02) 100%);\n  border: 1px solid hsl(var(--border));\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .j-empty-icon-wrapper {\n    animation: pulse 3s ease-in-out infinite;\n  }\n}\n\n@keyframes pulse {\n  0%, 100% { \n    opacity: 1; \n    transform: scale(1);\n  }\n  50% { \n    opacity: 0.85; \n    transform: scale(1.02);\n  }\n}\n</style>\n"],"names":["props","__props","emit","__emit","_createElementBlock","_unref","cn","$slots","_createBlock","JIcon","_renderSlot","_ctx","_openBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","JButton"],"mappings":"83CAiFA,MAAMA,EAAQC,EAKRC,EAAOC,eAnFHF,EAAA,UAAO,wBADfG,EAAAA,mBAoBM,MAAA,OAlBH,uBAAOC,EAAAA,MAAAC,IAAA,yHAAsJN,EAAM,KAAA,KAQ5JC,EAAA,MAAQM,EAAAA,OAAO,oBADvBC,EAAAA,YAMQH,QAAAI,EAAAA,OAAA,EAAA,OAJL,KAAMR,EAAA,MAAI,QACX,MAAM,sCAAA,qBAEN,IAAoB,CAApBS,EAAAA,WAAoBC,EAAA,OAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iDAGbV,EAAA,OAASM,EAAAA,OAAO,OAAzBK,EAAAA,YAAAR,EAAAA,mBAEI,IAFJS,EAEI,CADFH,EAAAA,WAAqCC,oBAArC,IAAqC,qCAAfV,EAAA,KAAK,EAAA,CAAA,CAAA,yDAK/BG,EAAAA,mBAgDM,MAAA,OA9CH,uBAAOC,EAAAA,MAAAC,IAAA,0JAA4MN,EAAM,KAAA,KAW/MC,EAAA,MAAQM,EAAAA,OAAO,MAA1BK,EAAAA,YAAAR,EAAAA,mBAQM,MARNU,EAQM,CAPJJ,EAAAA,WAMOC,mBANP,IAMO,CAJGV,EAAA,oBADRO,EAAAA,YAIEH,EAAAA,MAAAI,EAAAA,OAAA,EAAA,OAFC,KAAMR,EAAA,KACP,MAAM,iCAAA,oFAOVA,EAAA,OAASM,EAAAA,OAAO,OADlBK,EAAAA,YAAAR,EAAAA,mBAIK,KAJLW,EAIK,CADHL,EAAAA,WAAqCC,oBAArC,IAAqC,qCAAfV,EAAA,KAAK,EAAA,CAAA,CAAA,qCAK3BA,EAAA,aAAeM,EAAAA,OAAO,aADxBK,EAAAA,YAAAR,EAAAA,mBAII,IAJJY,EAII,CADFN,EAAAA,WAAiDC,0BAAjD,IAAiD,qCAArBV,EAAA,WAAW,EAAA,CAAA,CAAA,qCAIzCS,EAAAA,WASOC,qBATP,IASO,CAPGV,EAAA,0BADRO,EAAAA,YAOUH,EAAAA,MAAAY,EAAAA,OAAA,EAAA,OALR,UAAU,UACV,KAAK,KACJ,uBAAOf,EAAI,QAAA,EAAA,qBAEZ,IAAgB,qCAAbD,EAAA,UAAU,EAAA,CAAA,CAAA"}