{"version":3,"file":"chunks/ca3ed9ca0589ee.js","mappings":"o+BAAA,IAAMA,EAAwC,oBACxCC,EAA6C,GAAH,OAAMD,EAAqC,KACrFE,EAA2C,GAAH,OAAMF,EAAqC,iBAEnFG,EAAc,SAClBC,EACAC,EACAC,GACG,M,GAEH,EAAAF,EAAuBG,WAAUC,OAAM,Q,+CAClCH,EAAaI,KACd,SAACC,GAAW,gBACPT,GAA0C,OAAGS,EAAW,M,ikBAKjEN,EACGO,iBAAiB,IAAD,OAAKT,IACrBU,SAAQ,SAACC,GAAe,OACvBA,EAAgBN,UAAUC,OAAON,EAAyC,IAI9E,IAAMY,EACJb,EAA6CK,EAC/CF,EAAuBG,UAAUQ,IAAID,GAGrCV,EACGO,iBAAiB,IAAD,OAAKG,IACrBF,SAAQ,SAACC,GAAe,OACvBA,EAAgBG,uBAAuBT,UAAUQ,IAC/Cb,EACD,GAEP,EA8BA,QA5B4B,GAC1B,WAAYe,EAAe,GAA0C,IAAxCZ,EAAY,EAAZA,aAAca,EAAsB,EAAtBA,wB,4FAAsB,SAC/D,IAAMd,EAAyBa,EAAcE,cAC3C,kCAIFhB,EACEC,EACAC,EACAa,EAAuBE,OAAS,EAC5BF,EACAb,EAAa,IAInBD,EAAuBiB,iBACrBrB,GACA,gBAAWM,EAAsB,EAA9BgB,OAAM,OACPnB,EACEC,EACAC,EACAC,EACD,GAEP,G","sources":["webpack:///./resources/js/components/generic/feature-comparison-table.ts"],"sourcesContent":["const FEATURE_TABLE_HIGHLIGHT_EDITION_EVENT = \"edition-highlight\";\nconst FEATURE_TABLE_HIGHLIGHT_EDITION_CLS_PREFIX = `${FEATURE_TABLE_HIGHLIGHT_EDITION_EVENT}-`;\nconst FEATURE_TABLE_HIGHLIGHT_BORDER_RIGHT_CLS = `${FEATURE_TABLE_HIGHLIGHT_EDITION_EVENT}-border-right`;\n\nconst doHighlight = (\n featureComparisonTable,\n editionNames,\n editionNameToHighlight\n) => {\n // remove any current edition highlight class from table\n featureComparisonTable.classList.remove(\n ...editionNames.map(\n (editionName) =>\n `${FEATURE_TABLE_HIGHLIGHT_EDITION_CLS_PREFIX}${editionName}`\n )\n );\n\n // remove classes added to ensure correct border highlight\n featureComparisonTable\n .querySelectorAll(`.${FEATURE_TABLE_HIGHLIGHT_BORDER_RIGHT_CLS}`)\n .forEach((highlightedNode) =>\n highlightedNode.classList.remove(FEATURE_TABLE_HIGHLIGHT_BORDER_RIGHT_CLS)\n );\n\n // add class to highlight given edition in table\n const highlightCls =\n FEATURE_TABLE_HIGHLIGHT_EDITION_CLS_PREFIX + editionNameToHighlight;\n featureComparisonTable.classList.add(highlightCls);\n\n // add classes to previous node siblings to ensure correct border\n featureComparisonTable\n .querySelectorAll(`.${highlightCls}`)\n .forEach((highlightedNode) =>\n highlightedNode.previousElementSibling.classList.add(\n FEATURE_TABLE_HIGHLIGHT_BORDER_RIGHT_CLS\n )\n );\n};\n\nclass FeatureComparisonTable {\n constructor(componentRoot, { editionNames, defaultHighlightedPlan }) {\n const featureComparisonTable = componentRoot.querySelector(\n \".imkt-feature-comparison-table\"\n );\n\n // must be called on load to handle border highlight correctly\n doHighlight(\n featureComparisonTable,\n editionNames,\n defaultHighlightedPlan.length > 0\n ? defaultHighlightedPlan\n : editionNames[0]\n );\n\n // add/remove classes as necessary when highlighted edition changes\n featureComparisonTable.addEventListener(\n FEATURE_TABLE_HIGHLIGHT_EDITION_EVENT,\n ({ detail: editionNameToHighlight }) =>\n doHighlight(\n featureComparisonTable,\n editionNames,\n editionNameToHighlight\n )\n );\n }\n}\n\nexport default FeatureComparisonTable;\n"],"names":["FEATURE_TABLE_HIGHLIGHT_EDITION_EVENT","FEATURE_TABLE_HIGHLIGHT_EDITION_CLS_PREFIX","FEATURE_TABLE_HIGHLIGHT_BORDER_RIGHT_CLS","doHighlight","featureComparisonTable","editionNames","editionNameToHighlight","classList","remove","map","editionName","querySelectorAll","forEach","highlightedNode","highlightCls","add","previousElementSibling","componentRoot","defaultHighlightedPlan","querySelector","length","addEventListener","detail"],"sourceRoot":""}