{"version":3,"file":"chunks/72dcbb5e051153.js","mappings":"o+BAAA,IAAMA,EAAwC,oBACxCC,EAA6C,GAAHC,OAAMF,EAAqC,KACrFG,EAA2C,GAAHD,OAAMF,EAAqC,iBAEnFI,EAAc,SAClBC,EACAC,EACAC,GACG,IAAAC,E,GAEHA,EAAAH,EAAuBI,WAAUC,OAAMC,MAAAH,E,+CAClCF,EAAaM,KACd,SAACC,GAAW,SAAAX,OACPD,GAA0CC,OAAGW,EAAW,M,ikBAKjER,EACGS,iBAAiB,IAADZ,OAAKC,IACrBY,SAAQ,SAACC,GAAe,OACvBA,EAAgBP,UAAUC,OAAOP,EAAyC,IAI9E,IAAMc,EACJhB,EAA6CM,EAC/CF,EAAuBI,UAAUS,IAAID,GAGrCZ,EACGS,iBAAiB,IAADZ,OAAKe,IACrBF,SAAQ,SAACC,GAAe,OACvBA,EAAgBG,uBAAuBV,UAAUS,IAC/Cf,EACD,GAEP,EA8BA,QA5B4BiB,GAC1B,SAAAC,EAAYC,EAAaC,GAA4C,IAAxCjB,EAAYiB,EAAZjB,aAAckB,EAAsBD,EAAtBC,wB,4FAAsBC,CAAA,KAAAJ,GAC/D,IAAMhB,EAAyBiB,EAAcI,cAC3C,kCAIFtB,EACEC,EACAC,EACAkB,EAAuBG,OAAS,EAC5BH,EACAlB,EAAa,IAInBD,EAAuBuB,iBACrB5B,GACA,SAAA6B,GAAA,IAAWtB,EAAsBsB,EAA9BC,OAAM,OACP1B,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","concat","FEATURE_TABLE_HIGHLIGHT_BORDER_RIGHT_CLS","doHighlight","featureComparisonTable","editionNames","editionNameToHighlight","_featureComparisonTab","classList","remove","apply","map","editionName","querySelectorAll","forEach","highlightedNode","highlightCls","add","previousElementSibling","_createClass","FeatureComparisonTable","componentRoot","_ref","defaultHighlightedPlan","_classCallCheck","querySelector","length","addEventListener","_ref2","detail"],"sourceRoot":""}