{"version":3,"file":"chevron-be1c5427.js","sources":["../../node_modules/vue3-rich-accordion/dist/accordion-library.es.js","../../src/assets/img/chevron.svg"],"sourcesContent":["import { defineComponent, ref, computed, onMounted, onBeforeUnmount, provide, openBlock, createElementBlock, renderSlot, inject, onServerPrefetch, watch, normalizeClass, unref, createElementVNode, withModifiers } from \"vue\";\nconst PROVIDE_INJECT_KEY_ACCORDION_LIST = \"PROVIDE_INJECT_KEY_ACCORDION_LIST\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"AccordionList\",\n props: {\n openMultipleItems: { type: Boolean },\n state: null,\n setClosePropertyTime: null\n },\n emits: [\"update:state\"],\n setup(__props, { emit }) {\n const props = __props;\n const localState = ref({});\n const state = computed({\n set(newState) {\n const usePropsState = !!props.state;\n if (usePropsState)\n emit(\"update:state\", newState);\n else\n localState.value = newState;\n },\n get() {\n return props.state ? props.state : localState.value;\n }\n });\n const hasOpenedItem = computed(() => {\n return Object.values(state.value).some((status) => status);\n });\n let counter = 0;\n let resizeObserver = null;\n const rootElementRef = ref();\n function observeElements() {\n var _a;\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n resizeObserver = new ResizeObserver((entries) => {\n entries.forEach(({ target, contentRect }) => {\n var _a2, _b, _c, _d;\n if (target.classList.contains(\"accordion-item__content\"))\n (_b = (_a2 = target.parentElement) == null ? void 0 : _a2.style) == null ? void 0 : _b.setProperty(\"--content-height\", `${contentRect.height}px`);\n if (target.tagName.toLowerCase() === \"summary\")\n (_d = (_c = target.parentElement) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"--summary-height\", `${contentRect.height}px`);\n });\n });\n const elements = ((_a = rootElementRef.value) == null ? void 0 : _a.querySelectorAll(\".accordion-item__content, summary\")) || [];\n elements.forEach((element) => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n }\n function onItemInit(payload) {\n const isObserverCreated = !!resizeObserver;\n if (isObserverCreated)\n observeElements();\n const canAddOpenedItem = !hasOpenedItem.value || !!props.openMultipleItems;\n const id = payload.id || (counter++).toString();\n const shouldBeOpenedByDefault = !!payload.defaultOpened && canAddOpenedItem;\n const isItemOpened = shouldBeOpenedByDefault || !!payload.isOnServerOpened || state.value[id];\n state.value[id] = isItemOpened;\n return { id, isItemOpened };\n }\n function onItemTrigger(id) {\n const newState = { ...state.value };\n const newItemValue = !newState[id];\n if (!props.openMultipleItems)\n Object.keys(newState).forEach((key) => newState[key] = false);\n newState[id] = newItemValue;\n state.value = newState;\n }\n onMounted(observeElements);\n onBeforeUnmount(() => {\n if (!resizeObserver)\n return;\n resizeObserver.disconnect();\n resizeObserver = null;\n });\n provide(PROVIDE_INJECT_KEY_ACCORDION_LIST, {\n init: onItemInit,\n trigger: onItemTrigger,\n setClosePropertyTime: props.setClosePropertyTime || 100,\n accordionListState: state\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"rootElementRef\",\n ref: rootElementRef,\n class: \"accordion-list\"\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 512);\n };\n }\n});\nconst _hoisted_1 = [\"open\", \"data-id\", \"data-is-on-server-opened\"];\nconst _hoisted_2 = [\"onClick\"];\nconst _hoisted_3 = { class: \"accordion-item__summary-title\" };\nconst _hoisted_4 = {\n key: 0,\n class: \"accordion-item__summary-icon\"\n};\nconst _hoisted_5 = {\n key: 1,\n class: \"accordion-item__summary-icon accordion-item__summary-icon--default\"\n};\nconst _hoisted_6 = { class: \"accordion-item__content\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"AccordionItem\",\n props: {\n id: null,\n defaultOpened: { type: Boolean },\n disabled: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const { trigger, init, accordionListState, setClosePropertyTime } = inject(PROVIDE_INJECT_KEY_ACCORDION_LIST) || {};\n const currentItemState = computed(() => (accordionListState == null ? void 0 : accordionListState.value[id.value]) || false);\n const detailsRef = ref();\n const id = ref(\"\");\n const isTransitionPending = ref(false);\n const detailsElementState = ref(currentItemState.value);\n const isOnServerOpened = ref(false);\n const onServerId = ref(\"\");\n onServerPrefetch(async () => {\n if (!init) {\n console.error(\"no initItem function provided, please use AccordionItem only inside AccordionList\");\n return;\n }\n const { id: id2, isItemOpened } = init({ ...props });\n isOnServerOpened.value = isItemOpened;\n onServerId.value = id2;\n });\n onMounted(() => {\n var _a, _b, _c;\n if (!init) {\n console.error(\"no initItem function provided, please use AccordionItem only inside AccordionList\");\n return;\n }\n if ((_a = detailsRef.value) == null ? void 0 : _a.dataset.id)\n id.value = detailsRef.value.dataset.id;\n const isOnServerOpened2 = ((_c = (_b = detailsRef.value) == null ? void 0 : _b.dataset) == null ? void 0 : _c.isOnServerOpened) == \"true\";\n const { id: onServerId2 } = init({ ...props, isOnServerOpened: isOnServerOpened2 });\n id.value = onServerId2;\n });\n function onSummaryClick() {\n if (!trigger || props.disabled)\n return;\n trigger(id.value);\n }\n const detailsClasses = computed(() => {\n return {\n \"accordion-item--open\": currentItemState.value || isOnServerOpened.value,\n \"accordion-item--disabled\": props.disabled\n };\n });\n function onTransitionRun() {\n isTransitionPending.value = true;\n }\n function onTransitionEnd() {\n isTransitionPending.value = false;\n detailsElementState.value = currentItemState.value;\n }\n watch(currentItemState, (newValue) => {\n if (newValue) {\n detailsElementState.value = true;\n return;\n }\n setTimeout(() => {\n if (!isTransitionPending.value)\n detailsElementState.value = false;\n }, setClosePropertyTime);\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"details\", {\n ref_key: \"detailsRef\",\n ref: detailsRef,\n class: normalizeClass([\"accordion-item\", unref(detailsClasses)]),\n open: detailsElementState.value || isOnServerOpened.value,\n \"data-id\": onServerId.value,\n \"data-is-on-server-opened\": isOnServerOpened.value,\n onTransitionrun: onTransitionRun,\n onTransitionend: onTransitionEnd\n }, [\n createElementVNode(\"summary\", {\n class: \"accordion-item__summary\",\n onClick: withModifiers(onSummaryClick, [\"prevent\"])\n }, [\n createElementVNode(\"span\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"summary\")\n ]),\n _ctx.$slots.icon ? (openBlock(), createElementBlock(\"span\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\")\n ])) : (openBlock(), createElementBlock(\"span\", _hoisted_5))\n ], 8, _hoisted_2),\n createElementVNode(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"default\")\n ])\n ], 42, _hoisted_1);\n };\n }\n});\nconst useAccordion = {\n install: function(app) {\n app.component(\"AccordionList\", _sfc_main$1);\n app.component(\"AccordionItem\", _sfc_main);\n }\n};\nexport { _sfc_main as AccordionItem, _sfc_main$1 as AccordionList, useAccordion };\n","export default \"__VITE_ASSET__8d6b377f__\""],"names":["PROVIDE_INJECT_KEY_ACCORDION_LIST","_sfc_main$1","defineComponent","__props","emit","props","localState","ref","state","computed","newState","hasOpenedItem","status","counter","resizeObserver","rootElementRef","observeElements","_a","entries","target","contentRect","_a2","_b","_c","_d","element","onItemInit","payload","canAddOpenedItem","id","isItemOpened","onItemTrigger","newItemValue","key","onMounted","onBeforeUnmount","provide","_ctx","_cache","openBlock","createElementBlock","renderSlot","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_sfc_main","trigger","init","accordionListState","setClosePropertyTime","inject","currentItemState","detailsRef","isTransitionPending","detailsElementState","isOnServerOpened","onServerId","onServerPrefetch","id2","isOnServerOpened2","onServerId2","onSummaryClick","detailsClasses","onTransitionRun","onTransitionEnd","watch","newValue","normalizeClass","unref","createElementVNode","withModifiers","ChevronIcon"],"mappings":"kJACA,MAAMA,EAAoC,oCACpCC,EAA8BC,EAAgB,CAClD,OAAQ,gBACR,MAAO,CACL,kBAAmB,CAAE,KAAM,OAAS,EACpC,MAAO,KACP,qBAAsB,IACvB,EACD,MAAO,CAAC,cAAc,EACtB,MAAMC,EAAS,CAAE,KAAAC,GAAQ,CACvB,MAAMC,EAAQF,EACRG,EAAaC,EAAI,CAAA,CAAE,EACnBC,EAAQC,EAAS,CACrB,IAAIC,EAAU,CACU,CAAC,CAACL,EAAM,MAE5BD,EAAK,eAAgBM,CAAQ,EAE7BJ,EAAW,MAAQI,CACtB,EACD,KAAM,CACJ,OAAOL,EAAM,MAAQA,EAAM,MAAQC,EAAW,KAC/C,CACP,CAAK,EACKK,EAAgBF,EAAS,IACtB,OAAO,OAAOD,EAAM,KAAK,EAAE,KAAMI,GAAWA,CAAM,CAC1D,EACD,IAAIC,EAAU,EACVC,EAAiB,KACrB,MAAMC,EAAiBR,IACvB,SAASS,GAAkB,CACzB,IAAIC,EACJH,GAAkB,MAAgBA,EAAe,WAAU,EAC3DA,EAAiB,IAAI,eAAgBI,GAAY,CAC/CA,EAAQ,QAAQ,CAAC,CAAE,OAAAC,EAAQ,YAAAC,CAAW,IAAO,CAC3C,IAAIC,EAAKC,EAAIC,EAAIC,EACbL,EAAO,UAAU,SAAS,yBAAyB,KACpDG,GAAMD,EAAMF,EAAO,gBAAkB,KAAO,OAASE,EAAI,QAAU,MAAgBC,EAAG,YAAY,mBAAoB,GAAGF,EAAY,UAAU,GAC9ID,EAAO,QAAQ,YAAW,IAAO,aAClCK,GAAMD,EAAKJ,EAAO,gBAAkB,KAAO,OAASI,EAAG,QAAU,MAAgBC,EAAG,YAAY,mBAAoB,GAAGJ,EAAY,UAAU,EAC1J,CAAS,CACT,CAAO,KACkBH,EAAKF,EAAe,QAAU,KAAO,OAASE,EAAG,iBAAiB,mCAAmC,IAAM,CAAA,GACrH,QAASQ,GAAYX,GAAkB,KAAO,OAASA,EAAe,QAAQW,CAAO,CAAC,CAChG,CACD,SAASC,EAAWC,EAAS,CACD,CAAC,CAACb,GAE1BE,IACF,MAAMY,EAAmB,CAACjB,EAAc,OAAS,CAAC,CAACN,EAAM,kBACnDwB,EAAKF,EAAQ,KAAOd,KAAW,WAE/BiB,EAD0B,CAAC,CAACH,EAAQ,eAAiBC,GACX,CAAC,CAACD,EAAQ,kBAAoBnB,EAAM,MAAMqB,GAC1F,OAAArB,EAAM,MAAMqB,GAAMC,EACX,CAAE,GAAAD,EAAI,aAAAC,EACd,CACD,SAASC,EAAcF,EAAI,CACzB,MAAMnB,EAAW,CAAE,GAAGF,EAAM,KAAK,EAC3BwB,EAAe,CAACtB,EAASmB,GAC1BxB,EAAM,mBACT,OAAO,KAAKK,CAAQ,EAAE,QAASuB,GAAQvB,EAASuB,GAAO,EAAK,EAC9DvB,EAASmB,GAAMG,EACfxB,EAAM,MAAQE,CACf,CACD,OAAAwB,EAAUlB,CAAe,EACzBmB,EAAgB,IAAM,CACfrB,IAELA,EAAe,WAAU,EACzBA,EAAiB,KACvB,CAAK,EACDsB,EAAQpC,EAAmC,CACzC,KAAM0B,EACN,QAASK,EACT,qBAAsB1B,EAAM,sBAAwB,IACpD,mBAAoBG,CAC1B,CAAK,EACM,CAAC6B,EAAMC,KACLC,EAAS,EAAIC,EAAmB,MAAO,CAC5C,QAAS,iBACT,IAAKzB,EACL,MAAO,gBACf,EAAS,CACD0B,EAAWJ,EAAK,OAAQ,SAAS,CAClC,EAAE,GAAG,EAET,CACH,CAAC,EACKK,EAAa,CAAC,OAAQ,UAAW,0BAA0B,EAC3DC,EAAa,CAAC,SAAS,EACvBC,EAAa,CAAE,MAAO,iCACtBC,EAAa,CACjB,IAAK,EACL,MAAO,8BACT,EACMC,EAAa,CACjB,IAAK,EACL,MAAO,oEACT,EACMC,EAAa,CAAE,MAAO,2BACtBC,EAA4B9C,EAAgB,CAChD,OAAQ,gBACR,MAAO,CACL,GAAI,KACJ,cAAe,CAAE,KAAM,OAAS,EAChC,SAAU,CAAE,KAAM,OAAS,CAC5B,EACD,MAAMC,EAAS,CACb,MAAME,EAAQF,EACR,CAAE,QAAA8C,EAAS,KAAAC,EAAM,mBAAAC,EAAoB,qBAAAC,CAAoB,EAAKC,EAAOrD,CAAiC,GAAK,GAC3GsD,EAAmB7C,EAAS,KAAO0C,GAAsB,KAAO,OAASA,EAAmB,MAAMtB,EAAG,SAAW,EAAK,EACrH0B,EAAahD,IACbsB,EAAKtB,EAAI,EAAE,EACXiD,EAAsBjD,EAAI,EAAK,EAC/BkD,EAAsBlD,EAAI+C,EAAiB,KAAK,EAChDI,EAAmBnD,EAAI,EAAK,EAC5BoD,EAAapD,EAAI,EAAE,EACzBqD,EAAiB,SAAY,CAC3B,GAAI,CAACV,EAAM,CACT,QAAQ,MAAM,mFAAmF,EACjG,MACD,CACD,KAAM,CAAE,GAAIW,EAAK,aAAA/B,CAAY,EAAKoB,EAAK,CAAE,GAAG7C,CAAK,CAAE,EACnDqD,EAAiB,MAAQ5B,EACzB6B,EAAW,MAAQE,CACzB,CAAK,EACD3B,EAAU,IAAM,CACd,IAAIjB,EAAIK,EAAIC,EACZ,GAAI,CAAC2B,EAAM,CACT,QAAQ,MAAM,mFAAmF,EACjG,MACD,EACIjC,EAAKsC,EAAW,QAAU,MAAgBtC,EAAG,QAAQ,KACxDY,EAAG,MAAQ0B,EAAW,MAAM,QAAQ,IACtC,MAAMO,IAAsBvC,GAAMD,EAAKiC,EAAW,QAAU,KAAO,OAASjC,EAAG,UAAY,KAAO,OAASC,EAAG,mBAAqB,OAC7H,CAAE,GAAIwC,CAAW,EAAKb,EAAK,CAAE,GAAG7C,EAAO,iBAAkByD,CAAiB,CAAE,EAClFjC,EAAG,MAAQkC,CACjB,CAAK,EACD,SAASC,GAAiB,CACpB,CAACf,GAAW5C,EAAM,UAEtB4C,EAAQpB,EAAG,KAAK,CACjB,CACD,MAAMoC,EAAiBxD,EAAS,KACvB,CACL,uBAAwB6C,EAAiB,OAASI,EAAiB,MACnE,2BAA4BrD,EAAM,QAC1C,EACK,EACD,SAAS6D,GAAkB,CACzBV,EAAoB,MAAQ,EAC7B,CACD,SAASW,GAAkB,CACzBX,EAAoB,MAAQ,GAC5BC,EAAoB,MAAQH,EAAiB,KAC9C,CACD,OAAAc,EAAMd,EAAmBe,GAAa,CACpC,GAAIA,EAAU,CACZZ,EAAoB,MAAQ,GAC5B,MACD,CACD,WAAW,IAAM,CACVD,EAAoB,QACvBC,EAAoB,MAAQ,GAC/B,EAAEL,CAAoB,CAC7B,CAAK,EACM,CAACf,EAAMC,KACLC,EAAS,EAAIC,EAAmB,UAAW,CAChD,QAAS,aACT,IAAKe,EACL,MAAOe,EAAe,CAAC,iBAAkBC,EAAMN,CAAc,CAAC,CAAC,EAC/D,KAAMR,EAAoB,OAASC,EAAiB,MACpD,UAAWC,EAAW,MACtB,2BAA4BD,EAAiB,MAC7C,gBAAiBQ,EACjB,gBAAiBC,CACzB,EAAS,CACDK,EAAmB,UAAW,CAC5B,MAAO,0BACP,QAASC,EAAcT,EAAgB,CAAC,SAAS,CAAC,CAC5D,EAAW,CACDQ,EAAmB,OAAQ5B,EAAY,CACrCH,EAAWJ,EAAK,OAAQ,SAAS,CAC7C,CAAW,EACDA,EAAK,OAAO,MAAQE,EAAW,EAAEC,EAAmB,OAAQK,EAAY,CACtEJ,EAAWJ,EAAK,OAAQ,MAAM,CAC/B,CAAA,IAAME,EAAW,EAAEC,EAAmB,OAAQM,CAAU,EACnE,EAAW,EAAGH,CAAU,EAChB6B,EAAmB,MAAOzB,EAAY,CACpCN,EAAWJ,EAAK,OAAQ,SAAS,CAC3C,CAAS,CACT,EAAS,GAAIK,CAAU,EAEpB,CACH,CAAC,ECnMcgC,EAAA,GAAA,IAAA,IAAA,uBAAA,YAAA,GAAA,EAAA"}