{"version":3,"file":"static/js/114.chunk.js","mappings":"kLAQA,MA4CA,EA5CyBA,IACrB,MAAOC,EAAaC,IAAkBC,EAAAA,EAAAA,UAAS,KACxCC,EAAMC,IAAWF,EAAAA,EAAAA,UAAS,KAC1BG,EAAMC,IAAWJ,EAAAA,EAAAA,WAAS,GA2BjC,OAzBAK,EAAAA,EAAAA,YAAU,KACND,EAAQP,EAAMS,WAAY,EAAM,GACjC,CAACT,EAAMS,YAEVD,EAAAA,EAAAA,YAAU,KACN,MAAME,EAAMC,SAASC,cAAc,OAGnC,GAFAF,EAAIG,UAAYb,EAAMc,KAElBJ,EAAIK,cAAc,yBAA0B,CAC5C,MAAMC,EAAMN,EAAIK,cAAc,yBAC9BV,EAAQW,EAAMA,EAAIH,UAAY,IAC9BX,EAAe,KACnB,MAAO,GAAIQ,EAAIK,cAAc,eACzB,GAAmD,IAA/CL,EAAIO,iBAAiB,eAAeC,OAAc,CAClD,MAAMF,EAAMN,EAAIK,cAAc,eAC9BV,EAAQW,EAAMA,EAAIH,UAAY,IAC9BX,EAAe,KACnB,MACIA,EAAe,SAGnBA,EAAe,GACnB,GACD,CAACF,EAAMc,OAEa,KAAhBb,EAAqB,MACxBkB,EAAAA,EAAAA,MAAA,UACIC,QAASA,IAAMb,GAASD,GACxB,gBAAeA,EACf,gBAAc,iBACde,UAAS,GAAAC,OAAKhB,EAAO,4BAA8B,IAAKiB,SAAA,EAExDC,EAAAA,EAAAA,KAACC,EAAAA,EAAO,CAACC,KAAMC,EAAAA,EAAUC,UACR,OAAhB3B,IAAwBuB,EAAAA,EAAAA,KAAA,MAAAD,SAAKnB,IACb,OAAhBH,IAAwBuB,EAAAA,EAAAA,KAAA,MAAAD,SAAKnB,MAErC,E,cCzBE,MAmEP,EA7C2BJ,IACvB,MAAO6B,EAAOC,IAAY3B,EAAAA,EAAAA,UAAoB,KAE9CK,EAAAA,EAAAA,YAAU,KACN,MAAMuB,EAAW/B,EAAMU,IAAIO,iBAAiB,kBACxCc,EAASb,OAAS,GAClBY,EAASE,MAAMC,KAAKF,GAAUG,KAAKC,GAAYA,IACnD,GACD,CAACnC,EAAMU,MAEV,MAAM0B,GAAcC,EAAAA,EAAAA,UAChB,IACIR,EAAMK,KAAI,CAACpB,EAAMwB,KACb,MAAMC,EAAWzB,EAAKC,cAAc,uBAC9ByB,EAjCI1B,KACtB,MAAME,EAAMF,EAAKC,cAAc,yCAC/B,OAAIC,EACO,CACHyB,KAAMzB,EAAI0B,aAAa,iBAAmB,GAC1CC,IAAK3B,EAAI0B,aAAa,qBAAuB,IAI9C,CACHD,KAAM,GACNE,IAAK,GACR,EAqB8BC,CAAiB9B,GAEpC,OACIK,EAAAA,EAAAA,MAAA,OAEIE,UAAU,6CAA4CE,SAAA,EAEtDC,EAAAA,EAAAA,KAAA,OAAKH,UAAU,2CAA0CE,UACrDC,EAAAA,EAAAA,KAACqB,EAAAA,QAAO,CACJJ,KAAMD,EAAWC,KACjBE,IAAKH,EAAWG,IAChBG,eAAgB,CACZ,CAAEC,OAAQ,MAAOC,MAAO,aAIpCxB,EAAAA,EAAAA,KAAA,OACIH,UAAU,qBACV4B,wBAAyB,CACrBC,OAAQX,EAAWA,EAAS1B,UAAY,QAE9C,oBAAAS,OAjBuBgB,GAkBvB,KAGlB,CAACT,IAGL,OAAOL,EAAAA,EAAAA,KAAA2B,EAAAA,SAAA,CAAA5B,SAAGa,GAAe,EC7B7B,EArDuBpC,IACnB,MAAO6B,EAAOC,IAAY3B,EAAAA,EAAAA,UAAmB,KACtCiD,EAAMC,IAAWlD,EAAAA,EAAAA,UAA2B,KAC5CmD,EAAOC,IAAYpD,EAAAA,EAAAA,UAA6B,QA4BvD,QA1BAK,EAAAA,EAAAA,YAAU,KACN,MAAME,EAAMC,SAASC,cAAc,OAGnC,GAFAF,EAAIG,UAAYb,EAAMc,KAE4B,IAA9CJ,EAAIO,iBAAiB,cAAcC,OAAc,CACjD,MAAMF,EAAMN,EAAIK,cAAc,wBAC1BC,IDOgBN,IACmC,OAA/DA,EAAIK,cAAc,yCCPFyC,CAAgBxC,IAChBuC,EAAS,QACTF,EAAQ3C,KAER6C,EAAS,QACTF,EAAQrC,EAAIH,YAGxB,KAAO,CACH,MAAMkB,EAAWrB,EAAIO,iBAAiB,cAClCc,EAASb,OAAS,IAClBqC,EAAS,aACTzB,EACIE,MAAMC,KAAKF,GAAUG,KAAKC,GAAYA,EAAQtB,aAG1D,IACD,CAACb,EAAMc,OAEFwC,GACJ,IAAK,OACD,OACI9B,EAAAA,EAAAA,KAAA,OAAKH,UAAU,iBAAgBE,UAC3BC,EAAAA,EAAAA,KAACiC,EAAiB,CAAC/C,IAAK0C,MAGpC,IAAK,YACD,OACI5B,EAAAA,EAAAA,KAAA,OAAAD,SACKM,EAAMK,KAAI,CAACpB,EAAMwB,KACdd,EAAAA,EAAAA,KAACkC,EAAS,CAAC5C,KAAMA,GAAK,aAAAQ,OAAmBgB,QAIzD,QACI,OACId,EAAAA,EAAAA,KAAA,OAAKyB,wBAAyB,CAAEC,OAAQE,KAEpD,EC1BJ,EAlBmBpD,IACf,MAAM2D,GAASC,EAAAA,EAAAA,YAAWC,EAAAA,GAE1B,OAAO7D,EAAMc,MACTK,EAAAA,EAAAA,MAAA,OAAKE,UAAU,YAAWE,SAAA,EACtBC,EAAAA,EAAAA,KAACsC,EAAe,CAAChD,KAAMd,EAAMc,MAAQ6C,EAAOI,gBAC5CvC,EAAAA,EAAAA,KAACwC,EAAa,CAAClD,KAAMd,EAAMc,MAAQ6C,EAAOI,mBAG9C5C,EAAAA,EAAAA,MAAAgC,EAAAA,SAAA,CAAA5B,SAAA,EACIC,EAAAA,EAAAA,KAACsC,EAAe,CACZhD,KAAMd,EAAMc,MAAQ6C,EAAOI,aAC3BtD,SAAuC,SAA7BkD,EAAOM,qBAErBzC,EAAAA,EAAAA,KAACwC,EAAa,CAAClD,KAAMd,EAAMc,MAAQ6C,EAAOI,iBAEjD,C","sources":["Components/Accordion/AccordionHeader.tsx","Components/Accordion/TempAccordionBody.tsx","Components/Accordion/AccordionBody.tsx","Components/Accordion/Accordion.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\nimport IconSvg, { ICON_TYPE } from '../Shared/SVG/iconSvg'\r\n\r\ninterface IProps {\r\n node: string\r\n expanded?: boolean\r\n}\r\n\r\nconst AccordionHeader = (props: IProps) => {\r\n const [nodeElement, setNodeElement] = useState('')\r\n const [text, setText] = useState('')\r\n const [show, setShow] = useState(false)\r\n\r\n useEffect(() => {\r\n setShow(props.expanded || false)\r\n }, [props.expanded])\r\n\r\n useEffect(() => {\r\n const div = document.createElement('div')\r\n div.innerHTML = props.node\r\n\r\n if (div.querySelector('.accordion__header h2')) {\r\n const ele = div.querySelector('.accordion__header h2')\r\n setText(ele ? ele.innerHTML : '')\r\n setNodeElement('h2')\r\n } else if (div.querySelector('button > h3')) {\r\n if (div.querySelectorAll('button > h3').length === 1) {\r\n const ele = div.querySelector('button > h3')\r\n setText(ele ? ele.innerHTML : '')\r\n setNodeElement('h3')\r\n } else {\r\n setNodeElement('')\r\n }\r\n } else {\r\n setNodeElement('')\r\n }\r\n }, [props.node])\r\n\r\n return nodeElement === '' ? null : (\r\n setShow(!show)}\r\n aria-expanded={show}\r\n aria-controls=\"accordion-body\"\r\n className={`${show ? 'accordion__button--rotate' : ''}`}\r\n >\r\n \r\n {nodeElement === 'h2' && {text}}\r\n {nodeElement === 'h3' && {text}}\r\n \r\n )\r\n}\r\n\r\nexport default AccordionHeader\r\n","// Temporary Accordion Body: Quick Fix Summary\r\n//\r\n// This component provides a temporary solution to address an issue with an\r\n// image component that was required to load properly within the accordion body.\r\n//\r\n// To achieve this:\r\n// - The component replicates the existing HTML template structure.\r\n// - It extracts the `alt` and `path` attributes (via `getAttributeData`) to\r\n// manage the image's alt text and source dynamically.\r\n// - The `imagekitio-react` library is used with proper transformations to load\r\n// the image efficiently.\r\n//\r\n// Key Adjustments:\r\n// - Nodes within the `.content__tile` elements are dynamically collected and rendered.\r\n// - Image data (`path` and `alt`) is pulled from `div[load-component=\"image-component\"]`.\r\n// - The `TempAccordionBody` component ensures the rendering of both the image and\r\n// its corresponding content in a structured format.\r\n//\r\n// This component should be treated as a **temporary fix**, and the implementation\r\n// can be revisited for a more robust, reusable structure if required.\r\n\r\nimport React, { useEffect, useMemo, useState } from 'react'\r\nimport { IKImage } from 'imagekitio-react'\r\n\r\nexport const isTempComponent = (div: Element) =>\r\n div.querySelector('div[load-component=\"image-component\"]') !== null\r\n\r\nconst getAttributeData = (node: Element) => {\r\n const ele = node.querySelector('div[load-component=\"image-component\"]')\r\n if (ele) {\r\n return {\r\n path: ele.getAttribute('entity-image') || '',\r\n alt: ele.getAttribute('entity-image-alt') || '',\r\n }\r\n }\r\n\r\n return {\r\n path: '',\r\n alt: '',\r\n }\r\n}\r\n\r\ninterface IProps {\r\n div: Element\r\n}\r\n\r\nconst TempAccordionBody = (props: IProps) => {\r\n const [nodes, setNodes] = useState([])\r\n\r\n useEffect(() => {\r\n const elements = props.div.querySelectorAll('.content__tile')\r\n if (elements.length > 0) {\r\n setNodes(Array.from(elements).map((element) => element))\r\n }\r\n }, [props.div])\r\n\r\n const renderTiles = useMemo(\r\n () =>\r\n nodes.map((node, i) => {\r\n const tileBody = node.querySelector('.content__tile-body')\r\n const imageProps = getAttributeData(node)\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }),\r\n [nodes]\r\n )\r\n\r\n return <>{renderTiles}>\r\n}\r\n\r\nexport default TempAccordionBody\r\n","import { useEffect, useState } from 'react'\r\nimport Accordion from './Accordion'\r\nimport TempAccordionBody, { isTempComponent } from './TempAccordionBody'\r\n\r\ntype AccordionBodyTypes = 'TEMP' | 'BODY' | 'ACCORDION'\r\n\r\nconst AccordionBody = (props: { node: string }) => {\r\n const [nodes, setNodes] = useState([])\r\n const [body, setBody] = useState('')\r\n const [types, setTypes] = useState('BODY')\r\n\r\n useEffect(() => {\r\n const div = document.createElement('div')\r\n div.innerHTML = props.node\r\n\r\n if (div.querySelectorAll('.accordion').length === 0) {\r\n const ele = div.querySelector('.accordion__collapse')\r\n if (ele) {\r\n if (isTempComponent(ele)) {\r\n setTypes('TEMP')\r\n setBody(div)\r\n } else {\r\n setTypes('BODY')\r\n setBody(ele.innerHTML)\r\n }\r\n }\r\n } else {\r\n const elements = div.querySelectorAll('.accordion')\r\n if (elements.length > 0) {\r\n setTypes('ACCORDION')\r\n setNodes(\r\n Array.from(elements).map((element) => element.innerHTML)\r\n )\r\n }\r\n }\r\n }, [props.node])\r\n\r\n switch (types) {\r\n case 'TEMP':\r\n return (\r\n \r\n \r\n \r\n )\r\n case 'ACCORDION':\r\n return (\r\n \r\n {nodes.map((node, i) => (\r\n \r\n ))}\r\n \r\n )\r\n default:\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default AccordionBody\r\n","import './accordion.css'\r\nimport { useContext } from 'react'\r\nimport { GlobalContext } from '../../Context/GlobalContext'\r\n\r\n// COMPONENTS\r\nimport AccordionHeader from './AccordionHeader'\r\nimport AccordionBody from './AccordionBody'\r\n\r\ninterface IProps {\r\n node?: string\r\n}\r\n\r\nconst Accordion = (props: IProps) => {\r\n const global = useContext(GlobalContext)\r\n\r\n return props.node ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n >\r\n )\r\n}\r\nexport default Accordion\r\n"],"names":["props","nodeElement","setNodeElement","useState","text","setText","show","setShow","useEffect","expanded","div","document","createElement","innerHTML","node","querySelector","ele","querySelectorAll","length","_jsxs","onClick","className","concat","children","_jsx","IconSvg","type","ICON_TYPE","Forward","nodes","setNodes","elements","Array","from","map","element","renderTiles","useMemo","i","tileBody","imageProps","path","getAttribute","alt","getAttributeData","IKImage","transformation","height","width","dangerouslySetInnerHTML","__html","_Fragment","body","setBody","types","setTypes","isTempComponent","TempAccordionBody","Accordion","global","useContext","GlobalContext","AccordionHeader","htmlTemplate","AccordionBody","accordionExpanded"],"sourceRoot":""}