{"version":3,"file":"script-faq.js","mappings":";;;;AAAAA,QAAQ,CAACC,gBAAgB,CAAC,kBAAkB,EAAE,YAAY;EAKxD;AACF;AACA;AACA;AACA;;EAIE,SAASC,SAASA,CAAA,EAAE;IAClB,IAAIC,QAAQ,GAAGH,QAAQ,CAACI,gBAAgB,CAAC,UAAU,CAAC;IACpD,IAAIC,cAAc,GAAGL,QAAQ,CAACI,gBAAgB,CAAC,4BAA4B,CAAC;IAE5ED,QAAQ,CAACG,OAAO,CAAC,UAAAC,CAAC,EAAE;MAClBA,CAAC,CAACC,SAAS,CAACC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC,CAAC;IACFJ,cAAc,CAACC,OAAO,CAAC,UAAAC,CAAC,EAAE;MACxBA,CAAC,CAACC,SAAS,CAACC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC,CAAC;EAEJ;EAEA,IAAMN,QAAQ,GAAGH,QAAQ,CAACU,aAAa,CAAC,WAAW,CAAC;EAGpDP,QAAQ,CAACF,gBAAgB,CAAC,OAAO,EAAE,UAACU,CAAC,EAAG;IACtCA,CAAC,CAACC,cAAc,CAAC,CAAC;IAElB,IAAGD,CAAC,CAACE,MAAM,CAACC,OAAO,KAAK,GAAG,EAAC;MAC1BZ,SAAS,CAAC,CAAC;MACX;MACAS,CAAC,CAACE,MAAM,CAACE,UAAU,CAACP,SAAS,CAACQ,GAAG,CAAC,QAAQ,CAAC;MAC3C;MACA,IAAIC,UAAU,GAAGN,CAAC,CAACE,MAAM,CAACK,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7C;MACA,IAAIC,OAAO,GAAGpB,QAAQ,CAACU,aAAa,qBAAAW,MAAA,CAAqBJ,UAAU,MAAG,CAAC;MACvE;MACAG,OAAO,CAACZ,SAAS,CAACQ,GAAG,CAAC,QAAQ,CAAC;MAC/B;MACAM,OAAO,CAACC,YAAY,CAAC,EAAE,EAAEvB,QAAQ,CAACwB,KAAK,EAAEC,MAAM,CAACC,QAAQ,CAACC,QAAQ,GAAGF,MAAM,CAACC,QAAQ,CAACE,MAAM,CAAC;IAC7F;EAEF,CAAC,CAAC;EAEF,SAASC,YAAYA,CAACC,GAAG,EAAE;IACzB;IACA;IACA,OAAOC,MAAM,CAACD,GAAG,CAAC,CAACE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;EAC3C;;EAEA;;EAEA,IAAIhC,QAAQ,CAACU,aAAa,CAAC,aAAa,CAAC,EAAG;IAe1C;IAAA,IACOuB,eAAe,GAAxB,SAASA,eAAeA,CAACC,GAAG,EAAE;MAC5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MAEE,IAAIC,MAAM,GAAG,EAAE;MACf,IAAIC,YAAY,GAAG,IAAI;MAEvBF,GAAG,CAAC5B,OAAO,CAAC,UAAA+B,IAAI,EAAI;QAElB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;UAEpC,IAAID,IAAI,CAACC,CAAC,CAAC,CAACE,QAAQ,KAAK,IAAI,EAAE;YAC3B;YACA,IAAIJ,YAAY,EAAE;cACd;cACAD,MAAM,CAACM,IAAI,CAACL,YAAY,CAAC;YAC7B;YACAA,YAAY,GAAG;cAAEM,QAAQ,EAAEL,IAAI,CAACC,CAAC,CAAC;cAAEK,MAAM,EAAE;YAAG,CAAC;UACpD,CAAC,MAAM,IAAIP,YAAY,EAAE;YACrB;YACAA,YAAY,CAACO,MAAM,CAACF,IAAI,CAACJ,IAAI,CAACC,CAAC,CAAC,CAAC;UACrC;QACF;MAEF,CAAC,CAAC;;MAEF;MACA,IAAIF,YAAY,EAAE;QACdD,MAAM,CAACM,IAAI,CAACL,YAAY,CAAC;MAC7B;MAEA,OAAOD,MAAM;IACf,CAAC,EAGD;IAxDE;;IAEA,IAAMS,UAAU,GAAG,EAAE,CAAC,CAAC;IACvB;IACA,IAAMC,eAAe,GAAG7C,QAAQ,CAACI,gBAAgB,CAAC,aAAa,CAAC;;IAEhE;IACA,IAAM0C,gBAAgB,GAAG,EAAE;;IAE3B;IACAD,eAAe,CAACvC,OAAO,CAAE,UAAAyC,CAAC;MAAA,OAAID,gBAAgB,CAACL,IAAI,CAACM,CAAC,CAACC,QAAQ,CAAC;IAAA,CAAC,CAAC;IA+CnEf,eAAe,CAAEa,gBAAiB,CAAC,CAACxC,OAAO,CAAC,UAAA2C,CAAC,EAAE;MAE7C;MACA,IAAIC,OAAO,GAAG,EAAE;MACdD,CAAC,CAACN,MAAM,CAACrC,OAAO,CAAC,UAAA6C,CAAC,EAAE;QAClBD,OAAO,IAAIC,CAAC,CAACC,SAAS;MACxB,CAAC,CAAC;MACJ;MACAR,UAAU,CAACH,IAAI,+DAAApB,MAAA,CAGAQ,YAAY,CAACoB,CAAC,CAACP,QAAQ,CAACW,SAAS,CAAC,yFAAAhC,MAAA,CAGjCQ,YAAY,CAACqB,OAAO,CAAC,6BAGlC,CAAC;IACN,CAAC,CAAC;;IAEA;IACA,IAAMI,aAAa,GAAGtD,QAAQ,CAACuD,aAAa,CAAC,QAAQ,CAAC;IACpDD,aAAa,CAACE,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACzDF,aAAa,CAACG,WAAW,qIAAApC,MAAA,CAKjBuB,UAAU,+BAGjB;IACD5C,QAAQ,CAAC0D,IAAI,CAACC,WAAW,CAACL,aAAa,CAAC;EAE5C,CAAC;EACD;AAOA,CAAC,CAAC,CAAC,CAAC,c","sources":["webpack://ayahealthcare-sunrise/./src/js/pages/script-faq.js"],"sourcesContent":["document.addEventListener(\"DOMContentLoaded\", function () {\n\n\n\n\n /*\n The tabs are built using \"Aya Columns\" with a unique \"data-section=xxxx\" identifier\n and the class \"faq-tab\" for it to function.\n\n The \"data-section=xx\" corresponds to the href=\"#xx\" \n\n */\n\n function resetTabs(){\n let faq_tabs = document.querySelectorAll('.faq-tab')\n let faq_tabs_links = document.querySelectorAll('.faq-tabs .wp-block-button')\n\n faq_tabs.forEach(t=>{\n t.classList.remove('active')\n })\n faq_tabs_links.forEach(t=>{\n t.classList.remove('active')\n })\n\n }\n\n const faq_tabs = document.querySelector('.faq-tabs')\n\n\n faq_tabs.addEventListener('click', (e)=>{\n e.preventDefault();\n \n if(e.target.tagName === 'A'){\n resetTabs();\n // Set the active class to highlight the current tab\n e.target.parentNode.classList.add('active');\n // The tab link we clicked on\n let the_target = e.target.hash.substring(1); // removes the #\n // Get the tab we want to make active\n let the_tab = document.querySelector(`div[data-section=${the_target}]`);\n // Make it active\n the_tab.classList.add('active');\n // Remove the hash from the URL using HTML5 history API\n history.replaceState('', document.title, window.location.pathname + window.location.search);\n }\n\n })\n \n function htmlEntities(str) {\n // return String(str).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n // Escape \"(quotes)\n return String(str).replace(/\"/g, '\\\\\"');\n}\n\n// ARE THERE QUESIONS AND ANSWERS \n\nif( document.querySelector('.qa_wrapper') ) {\n\n\n // CREATE OBJECTS OF THE Q&A for SCHEMA\n\n const schema_obj = []; // This is a collection of objects for schema\n // Collect all question answer elements\n const dom_qa_wrappers = document.querySelectorAll('.qa_wrapper')\n\n // Create an array of all question and answers\n const all_qa_collected = []\n\n // Save them all \n dom_qa_wrappers.forEach( x => all_qa_collected.push(x.children) )\n\n // This function parses through dom elements and creates objects separating question and answers\nfunction groupByQuestion(arr) {\n /*\n Explanation:\n - Iterate through the array.\n - When a H3 is encountered, start a new group.\n - Continue adding elements to the group's children until the next H3 appears.\n - When a new H3 appears, save the previous group and start a new one.\n - Return the structured result.\n\n // Example usage:\n const arr = [\"H3\", \"p\", \"p\", \"H3\", \"ul\", \"p\", \"H3\", \"p\", \"p\"];\n */\n let result = [];\n let currentGroup = null;\n\n arr.forEach(item => {\n\n for (let i = 0; i < item.length; i++) {\n\n if (item[i].nodeName === \"H3\") { \n // When we encounter an H3, start a new group\n if (currentGroup) {\n // Save the previous group before starting a new one\n result.push(currentGroup);\n }\n currentGroup = { question: item[i], answer: [] };\n } else if (currentGroup) {\n // If we have a current group, add the item to its answer\n currentGroup.answer.push(item[i]);\n }\n }\n \n });\n\n // Add the last group if it exists\n if (currentGroup) {\n result.push(currentGroup);\n }\n\n return result;\n}\n\n\n// From the collection of Q&As build the schema objects\ngroupByQuestion( all_qa_collected ).forEach(q=>{\n \n // Separate the answers and collect them\n let answers = '';\n q.answer.forEach(z=>{\n answers += z.outerHTML;\n })\n // Build the structure of the schema that we need\n schema_obj.push( `\n {\n \"@type\": \"Question\",\n \"name\": \"${htmlEntities(q.question.innerHTML)}\",\n \"acceptedAnswer\": {\n \"@type\": \"Answer\",\n \"text\": \"${htmlEntities(answers)}\"\n }\n }\n `);\n})\n\n // CREATE SCHEMA and Add to DOM\n const schema_script = document.createElement('script');\n schema_script.setAttribute('type', 'application/ld+json');\n schema_script.textContent = `\n {\n \"@context\": \"https://schema.org\",\n \"@type\": \"FAQPage\",\n \"mainEntity\": [\n ${schema_obj}\n ]\n }\n `;\n document.head.appendChild(schema_script);\n\n}// if questions exist\n// COLLECT THE QUESTIONS\n\n\n\n\n\n\n}); // on doc read"],"names":["document","addEventListener","resetTabs","faq_tabs","querySelectorAll","faq_tabs_links","forEach","t","classList","remove","querySelector","e","preventDefault","target","tagName","parentNode","add","the_target","hash","substring","the_tab","concat","history","replaceState","title","window","location","pathname","search","htmlEntities","str","String","replace","groupByQuestion","arr","result","currentGroup","item","i","length","nodeName","push","question","answer","schema_obj","dom_qa_wrappers","all_qa_collected","x","children","q","answers","z","outerHTML","innerHTML","schema_script","createElement","setAttribute","textContent","head","appendChild"],"sourceRoot":""}