{"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"}