{"version":3,"file":"index.mjs","sources":["../../src/accordion/BaseAccordion.vue","../../src/accordion/Accordion.vue","../../src/accordion/Accordion.vue?vue&type=template&id=3af1c6c1&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionStyle from 'primevue/accordion/style';\n\nexport default {\n    name: 'BaseAccordion',\n    extends: BaseComponent,\n    props: {\n        value: {\n            type: [String, Number, Array],\n            default: undefined\n        },\n        multiple: {\n            type: Boolean,\n            default: false\n        },\n        lazy: {\n            type: Boolean,\n            default: false\n        },\n        tabindex: {\n            type: Number,\n            default: 0\n        },\n        selectOnFocus: {\n            type: Boolean,\n            default: false\n        },\n        expandIcon: {\n            type: String,\n            default: undefined\n        },\n        collapseIcon: {\n            type: String,\n            default: undefined\n        },\n        // @deprecated since v4.\n        activeIndex: {\n            type: [Number, Array],\n            default: null\n        }\n    },\n    style: AccordionStyle,\n    provide() {\n        return {\n            $pcAccordion: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n        <template v-if=\"hasAccordionTab\">\n            <AccordionPanel v-for=\"(tab, i) of tabs\" :key=\"getKey(tab, i)\" :value=\"`${i}`\" :pt=\"{ root: getTabPT(tab, 'root', i) }\" :disabled=\"getTabProp(tab, 'disabled')\">\n                <AccordionHeader :class=\"getTabProp(tab, 'headerClass')\" :pt=\"getHeaderPT(tab, i)\">\n                    <component v-if=\"tab.children && tab.children.headericon\" :is=\"tab.children.headericon\" :isTabActive=\"isItemActive(`${i}`)\" :active=\"isItemActive(`${i}`)\" :index=\"i\"></component>\n                    <span v-if=\"tab.props && tab.props.header\" v-bind=\"getTabPT(tab, 'headertitle', i)\">{{ tab.props.header }}</span>\n                    <template #toggleicon=\"slotProps\">\n                        <component\n                            v-if=\"slotProps.active\"\n                            :is=\"$slots.collapseicon ? $slots.collapseicon : collapseIcon ? 'span' : 'ChevronDownIcon'\"\n                            :class=\"[collapseIcon, slotProps.class]\"\n                            aria-hidden=\"true\"\n                            v-bind=\"getTabPT(tab, 'headericon', i)\"\n                        />\n                        <component v-else :is=\"$slots.expandicon ? $slots.expandicon : expandIcon ? 'span' : 'ChevronUpIcon'\" :class=\"[expandIcon, slotProps.class]\" aria-hidden=\"true\" v-bind=\"getTabPT(tab, 'headericon', i)\" />\n                    </template>\n                    <component v-if=\"tab.children && tab.children.header\" :is=\"tab.children.header\"></component>\n                </AccordionHeader>\n                <AccordionContent :pt=\"getContentPT(tab, i)\">\n                    <component :is=\"tab\"></component>\n                </AccordionContent>\n            </AccordionPanel>\n        </template>\n\n        <slot v-else></slot>\n    </div>\n</template>\n\n<script>\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport AccordionContent from 'primevue/accordioncontent';\nimport AccordionHeader from 'primevue/accordionheader';\nimport AccordionPanel from 'primevue/accordionpanel';\nimport { mergeProps } from 'vue';\nimport BaseAccordion from './BaseAccordion.vue';\n\nexport default {\n    name: 'Accordion',\n    extends: BaseAccordion,\n    inheritAttrs: false,\n    emits: ['update:value', 'update:activeIndex', 'tab-open', 'tab-close', 'tab-click'],\n    data() {\n        return {\n            d_value: this.value\n        };\n    },\n    watch: {\n        value(newValue) {\n            this.d_value = newValue;\n        },\n        activeIndex: {\n            immediate: true,\n            handler(newValue) {\n                if (this.hasAccordionTab) {\n                    this.d_value = this.multiple ? newValue?.map(String) : newValue?.toString();\n                }\n            }\n        }\n    },\n    methods: {\n        isItemActive(value) {\n            return this.multiple ? this.d_value?.includes(value) : this.d_value === value;\n        },\n        updateValue(newValue) {\n            const active = this.isItemActive(newValue);\n\n            if (this.multiple) {\n                if (active) {\n                    this.d_value = this.d_value.filter((v) => v !== newValue);\n                } else {\n                    if (this.d_value) this.d_value.push(newValue);\n                    else this.d_value = [newValue];\n                }\n            } else {\n                this.d_value = active ? null : newValue;\n            }\n\n            this.$emit('update:value', this.d_value);\n\n            // @deprecated since v4.\n            this.$emit('update:activeIndex', this.multiple ? this.d_value?.map(Number) : Number(this.d_value));\n            this.$emit(active ? 'tab-close' : 'tab-open', { originalEvent: undefined, index: Number(newValue) });\n        },\n        // @deprecated since v4. Use new structure instead.\n        isAccordionTab(child) {\n            return child.type.name === 'AccordionTab';\n        },\n        getTabProp(tab, name) {\n            return tab.props ? tab.props[name] : undefined;\n        },\n        getKey(tab, index) {\n            return this.getTabProp(tab, 'header') || index;\n        },\n        getHeaderPT(tab, index) {\n            return {\n                root: mergeProps({ onClick: (event) => this.onTabClick(event, index) }, this.getTabProp(tab, 'headerProps'), this.getTabPT(tab, 'header', index)),\n                toggleicon: mergeProps(this.getTabProp(tab, 'headeractionprops'), this.getTabPT(tab, 'headeraction', index))\n            };\n        },\n        getContentPT(tab, index) {\n            return {\n                root: mergeProps(this.getTabProp(tab, 'contentProps'), this.getTabPT(tab, 'toggleablecontent', index)),\n                transition: this.getTabPT(tab, 'transition', index),\n                content: this.getTabPT(tab, 'content', index)\n            };\n        },\n        getTabPT(tab, key, index) {\n            const count = this.tabs.length;\n            const tabMetaData = {\n                props: tab.props || {},\n                parent: {\n                    instance: this,\n                    props: this.$props,\n                    state: this.$data\n                },\n                context: {\n                    index,\n                    count,\n                    first: index === 0,\n                    last: index === count - 1,\n                    active: this.isItemActive(`${index}`)\n                }\n            };\n\n            return mergeProps(this.ptm(`accordiontab.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n        },\n        onTabClick(event, index) {\n            this.$emit('tab-click', { originalEvent: event, index });\n        }\n    },\n    computed: {\n        // @deprecated since v4.\n        tabs() {\n            return this.$slots.default().reduce((tabs, child) => {\n                if (this.isAccordionTab(child)) {\n                    tabs.push(child);\n                } else if (child.children && child.children instanceof Array) {\n                    child.children.forEach((nestedChild) => {\n                        if (this.isAccordionTab(nestedChild)) {\n                            tabs.push(nestedChild);\n                        }\n                    });\n                }\n\n                return tabs;\n            }, []);\n        },\n        hasAccordionTab() {\n            return this.tabs.length;\n        }\n    },\n    components: {\n        AccordionPanel,\n        AccordionHeader,\n        AccordionContent,\n        ChevronUpIcon,\n        ChevronRightIcon\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n        <template v-if=\"hasAccordionTab\">\n            <AccordionPanel v-for=\"(tab, i) of tabs\" :key=\"getKey(tab, i)\" :value=\"`${i}`\" :pt=\"{ root: getTabPT(tab, 'root', i) }\" :disabled=\"getTabProp(tab, 'disabled')\">\n                <AccordionHeader :class=\"getTabProp(tab, 'headerClass')\" :pt=\"getHeaderPT(tab, i)\">\n                    <component v-if=\"tab.children && tab.children.headericon\" :is=\"tab.children.headericon\" :isTabActive=\"isItemActive(`${i}`)\" :active=\"isItemActive(`${i}`)\" :index=\"i\"></component>\n                    <span v-if=\"tab.props && tab.props.header\" v-bind=\"getTabPT(tab, 'headertitle', i)\">{{ tab.props.header }}</span>\n                    <template #toggleicon=\"slotProps\">\n                        <component\n                            v-if=\"slotProps.active\"\n                            :is=\"$slots.collapseicon ? $slots.collapseicon : collapseIcon ? 'span' : 'ChevronDownIcon'\"\n                            :class=\"[collapseIcon, slotProps.class]\"\n                            aria-hidden=\"true\"\n                            v-bind=\"getTabPT(tab, 'headericon', i)\"\n                        />\n                        <component v-else :is=\"$slots.expandicon ? $slots.expandicon : expandIcon ? 'span' : 'ChevronUpIcon'\" :class=\"[expandIcon, slotProps.class]\" aria-hidden=\"true\" v-bind=\"getTabPT(tab, 'headericon', i)\" />\n                    </template>\n                    <component v-if=\"tab.children && tab.children.header\" :is=\"tab.children.header\"></component>\n                </AccordionHeader>\n                <AccordionContent :pt=\"getContentPT(tab, i)\">\n                    <component :is=\"tab\"></component>\n                </AccordionContent>\n            </AccordionPanel>\n        </template>\n\n        <slot v-else></slot>\n    </div>\n</template>\n\n<script>\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport AccordionContent from 'primevue/accordioncontent';\nimport AccordionHeader from 'primevue/accordionheader';\nimport AccordionPanel from 'primevue/accordionpanel';\nimport { mergeProps } from 'vue';\nimport BaseAccordion from './BaseAccordion.vue';\n\nexport default {\n    name: 'Accordion',\n    extends: BaseAccordion,\n    inheritAttrs: false,\n    emits: ['update:value', 'update:activeIndex', 'tab-open', 'tab-close', 'tab-click'],\n    data() {\n        return {\n            d_value: this.value\n        };\n    },\n    watch: {\n        value(newValue) {\n            this.d_value = newValue;\n        },\n        activeIndex: {\n            immediate: true,\n            handler(newValue) {\n                if (this.hasAccordionTab) {\n                    this.d_value = this.multiple ? newValue?.map(String) : newValue?.toString();\n                }\n            }\n        }\n    },\n    methods: {\n        isItemActive(value) {\n            return this.multiple ? this.d_value?.includes(value) : this.d_value === value;\n        },\n        updateValue(newValue) {\n            const active = this.isItemActive(newValue);\n\n            if (this.multiple) {\n                if (active) {\n                    this.d_value = this.d_value.filter((v) => v !== newValue);\n                } else {\n                    if (this.d_value) this.d_value.push(newValue);\n                    else this.d_value = [newValue];\n                }\n            } else {\n                this.d_value = active ? null : newValue;\n            }\n\n            this.$emit('update:value', this.d_value);\n\n            // @deprecated since v4.\n            this.$emit('update:activeIndex', this.multiple ? this.d_value?.map(Number) : Number(this.d_value));\n            this.$emit(active ? 'tab-close' : 'tab-open', { originalEvent: undefined, index: Number(newValue) });\n        },\n        // @deprecated since v4. Use new structure instead.\n        isAccordionTab(child) {\n            return child.type.name === 'AccordionTab';\n        },\n        getTabProp(tab, name) {\n            return tab.props ? tab.props[name] : undefined;\n        },\n        getKey(tab, index) {\n            return this.getTabProp(tab, 'header') || index;\n        },\n        getHeaderPT(tab, index) {\n            return {\n                root: mergeProps({ onClick: (event) => this.onTabClick(event, index) }, this.getTabProp(tab, 'headerProps'), this.getTabPT(tab, 'header', index)),\n                toggleicon: mergeProps(this.getTabProp(tab, 'headeractionprops'), this.getTabPT(tab, 'headeraction', index))\n            };\n        },\n        getContentPT(tab, index) {\n            return {\n                root: mergeProps(this.getTabProp(tab, 'contentProps'), this.getTabPT(tab, 'toggleablecontent', index)),\n                transition: this.getTabPT(tab, 'transition', index),\n                content: this.getTabPT(tab, 'content', index)\n            };\n        },\n        getTabPT(tab, key, index) {\n            const count = this.tabs.length;\n            const tabMetaData = {\n                props: tab.props || {},\n                parent: {\n                    instance: this,\n                    props: this.$props,\n                    state: this.$data\n                },\n                context: {\n                    index,\n                    count,\n                    first: index === 0,\n                    last: index === count - 1,\n                    active: this.isItemActive(`${index}`)\n                }\n            };\n\n            return mergeProps(this.ptm(`accordiontab.${key}`, tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n        },\n        onTabClick(event, index) {\n            this.$emit('tab-click', { originalEvent: event, index });\n        }\n    },\n    computed: {\n        // @deprecated since v4.\n        tabs() {\n            return this.$slots.default().reduce((tabs, child) => {\n                if (this.isAccordionTab(child)) {\n                    tabs.push(child);\n                } else if (child.children && child.children instanceof Array) {\n                    child.children.forEach((nestedChild) => {\n                        if (this.isAccordionTab(nestedChild)) {\n                            tabs.push(nestedChild);\n                        }\n                    });\n                }\n\n                return tabs;\n            }, []);\n        },\n        hasAccordionTab() {\n            return this.tabs.length;\n        }\n    },\n    components: {\n        AccordionPanel,\n        AccordionHeader,\n        AccordionContent,\n        ChevronUpIcon,\n        ChevronRightIcon\n    }\n};\n</script>\n"],"names":["name","BaseComponent","props","value","type","String","Number","Array","undefined","multiple","Boolean","lazy","tabindex","selectOnFocus","expandIcon","collapseIcon","activeIndex","style","AccordionStyle","provide","$pcAccordion","$parentInstance","BaseAccordion","inheritAttrs","emits","data","d_value","watch","newValue","immediate","handler","hasAccordionTab","map","toString","methods","isItemActive","_this$d_value","includes","updateValue","_this$d_value2","active","filter","v","push","$emit","originalEvent","index","isAccordionTab","child","getTabProp","tab","getKey","getHeaderPT","_this","root","mergeProps","onClick","event","onTabClick","getTabPT","toggleicon","getContentPT","transition","content","key","count","tabs","length","tabMetaData","parent","instance","$props","state","$data","context","first","last","concat","ptm","ptmo","computed","_this2","$slots","reduce","children","forEach","nestedChild","components","AccordionPanel","AccordionHeader","AccordionContent","ChevronUpIcon","ChevronRightIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","$options","_Fragment","_renderList","i","_createBlock","_component_AccordionPanel","pt","disabled","_createVNode","_component_AccordionHeader","_normalizeClass","_withCtx","slotProps","_resolveDynamicComponent","collapseicon","expandicon","headericon","isTabActive","header","_component_AccordionContent","_renderSlot"],"mappings":"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"}