{"version":3,"file":"AccordionItemFi-D3GXOua3.js","sources":["../../src/components/atoms/accordion-item-fi/AccordionItemFi.vue"],"sourcesContent":["<template>\n <div\n :class=\"{\n 'accordion-item-fi': true,\n 'accordion-item-fi--active': isOpen,\n 'accordion-item-fi--item-list': isItemListTheme,\n 'accordion-item-fi--content-background-dark': isContentBackgroundDark,\n [`accordion-item-fi--theme-${theme}`]: theme,\n }\"\n >\n <div\n ref=\"accordionItemHeader\"\n class=\"accordion-item-fi__header\"\n @click=\"onHeaderClick\"\n >\n <component\n :is=\"headerTag\"\n :class=\"{\n 'accordion-item-fi__header__text': !isItemListTheme,\n 'accordion-item-fi__header__content': isItemListTheme,\n }\"\n >\n <slot name=\"header\" />\n </component>\n <div class=\"accordion-item-fi__toggle\">\n <div\n :class=\"{\n 'accordion-item-fi__toggle-icon': true,\n 'accordion-item-fi__toggle-icon--active': isOpen,\n 'accordion-item-fi__toggle-icon--item-list': isItemListTheme,\n }\"\n >\n <icon-fi icon=\"chevron-down\" />\n </div>\n </div>\n </div>\n\n <slide-up-down-fi\n :model-value=\"isOpen\"\n :duration=\"700\"\n class=\"accordion-item-fi__slide-up-down\"\n >\n <div class=\"accordion-item-fi__content\">\n <slot\n name=\"content\"\n :is-open=\"isOpen\"\n />\n </div>\n </slide-up-down-fi>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport IconFi from 'components/atoms/icon-fi/IconFi.vue';\nimport SlideUpDownFi from 'components/atoms/slide-up-down-fi/SlideUpDownFi.vue';\nimport { useAccordionItem } from 'composables/accordionItem';\nimport { computed } from 'vue';\n\ndefineOptions({\n name: 'AccordionItemFi',\n});\n\nconst props = withDefaults(\n defineProps<{\n headerTag?: string | null;\n theme?: string | null;\n ignoreOthers?: boolean;\n scrollTo?: boolean;\n }>(),\n {\n headerTag: 'div',\n theme: null,\n },\n);\n\nconst emits = defineEmits<{\n 'accordion-item-toggle': [value: boolean];\n}>();\n\nconst { isOpen, toggleAccordion } = useAccordionItem(props, emits);\n\nconst isItemListTheme = computed(() => props.theme === 'item-list');\nconst isContentBackgroundDark = computed(() => props.theme === 'content-background-dark');\n\nconst onHeaderClick = () => {\n toggleAccordion();\n};\n\ndefineExpose({\n isOpen,\n toggleAccordion,\n});\n</script>\n\n<style scoped lang=\"scss\">\n@import './accordion-item-fi';\n</style>\n"],"names":["props","__props","emits","__emit","isOpen","toggleAccordion","useAccordionItem","isItemListTheme","computed","isContentBackgroundDark","onHeaderClick","__expose"],"mappings":"keA8DA,MAAMA,EAAQC,EAaRC,EAAQC,EAIR,CAAE,OAAAC,EAAQ,gBAAAC,CAAA,EAAoBC,EAAiBN,EAAOE,CAAK,EAE3DK,EAAkBC,EAAS,IAAMR,EAAM,QAAU,WAAW,EAC5DS,EAA0BD,EAAS,IAAMR,EAAM,QAAU,yBAAyB,EAElFU,EAAgB,IAAM,CACVL,GAAA,EAGL,OAAAM,EAAA,CACX,OAAAP,EACA,gBAAAC,CAAA,CACD"}