PageSourceSearch

https://prod.mechai.app/chunk-HJSCQ5GS.js

js mechai.app collected 2026-10-02 15:20:27 UTC 12,671 bytes, 1 lines download raw bytes

1import{ja as $}from"./chunk-VRKJBTE4.js";import{e as F,f as j,j as W}from"./chunk-ZT7BF6R4.js";import{hb as N}from"./chunk-GNOMKHH2.js";import"./chunk-MIYW5325.js";import"./chunk-FJFH4XCE.js";import"./chunk-T52FVTMS.js";import"./chunk-4I6Y24VE.js";import"./chunk-VHBEXHUY.js";import"./chunk-IXNXTOPZ.js";import"./chunk-GGY6QDTV.js";import"./chunk-3WQEZLC2.js";import"./chunk-DB7AUQFG.js";import"./chunk-GLFTJW2T.js";import"./chunk-BHLMCFFK.js";import"./chunk-NP4PC25X.js";import"./chunk-D6IOGJMO.js";import{m as K}from"./chunk-MKJMCBBH.js";import"./chunk-KKDZHWJ2.js";import"./chunk-RS4X3CMD.js";import"./chunk-7DHSGR33.js";import{i as L}from"./chunk-4KDBBJRG.js";import"./chunk-3SEIXLDK.js";import{c as P,d as G}from"./chunk-UIEAU6S2.js";import{j as H,k as B,l as O,m as V,n as R,x as U}from"./chunk-H3Y6JSWE.js";import{Hb as A,Nc as M,Rb as o,Sb as n,Tb as r,Ub as x,Uc as s,Vc as l,Yb as k,Zb as T,bc as v,db as i,gc as C,ic as d,kd as E,mb as h,oa as _,pa as f,qa as u,ra as y,sb as I,uc as D,wc as c,xc as S,yb as g,yc as m}from"./chunk-AHLRJ2EW.js";import"./chunk-AMJ4GB2S.js";import"./chunk-OXDKANHF.js";import"./chunk-WGJEEJGF.js";import"./chunk-6ACFICIG.js";import"./chunk-K7BHMZHH.js";import"./chunk-FE7444LI.js";import"./chunk-XUHYVR5R.js";var q=()=>["STACK_ITEM_1","STACK_ITEM_2","STACK_ITEM_3"];function z(e,w){if(e&1&&(u(),n(0,"svg",21),x(1,"polygon",22),r()),e&2){let t=d().$implicit,a=d();o("ngClass",a.isLocked(t)?"tw-text-mech-text-muted":"tw-text-mech-primary")}}function J(e,w){if(e&1&&(u(),n(0,"svg",23),x(1,"polygon",24)(2,"polyline",25)(3,"polyline",26),r()),e&2){let t=d().$implicit,a=d();o("ngClass",a.isLocked(t)?"tw-text-mech-text-muted":"tw-text-mech-primary")}}function Q(e,w){if(e&1&&(u(),n(0,"svg",23),x(1,"rect",27)(2,"path",28)(3,"circle",29)(4,"circle",30)(5,"path",31),r()),e&2){let t=d().$implicit,a=d();o("ngClass",a.isLocked(t)?"tw-text-mech-text-muted":"tw-text-mech-primary")}}function X(e,w){e&1&&(n(0,"span",32),c(1),s(2,"translate"),u(),n(3,"svg",33),x(4,"path",34),r()()),e&2&&(i(),m(" ",l(2,1,"V2.DIAGRAMS_HUB.OPEN")," "))}function Z(e,w){if(e&1&&(n(0,"span",35),u(),n(1,"svg",33),x(2,"rect",36)(3,"path",37),r(),c(4),s(5,"translate"),r()),e&2){let t=d().$implicit;i(4),m(" ",l(5,1,t.crossSellKey)," ")}}function tt(e,w){e&1&&(n(0,"span",38),c(1),s(2,"translate"),r()),e&2&&(i(),m(" ",l(2,1,"V2.COMMON.TRY_DEMO")," "))}function et(e,w){if(e&1){let t=v();n(0,"button",7),C("click",function(){let p=_(t).$implicit,b=d();return f(b.onCardClick(p))}),n(1,"div",8)(2,"div",9),k(3,10),g(4,z,2,1,"svg",11)(5,J,4,1,"svg",12)(6,Q,6,1,"svg",12),T(),r(),n(7,"span",13),c(8),s(9,"translate"),s(10,"translate"),r()(),n(11,"div",14)(12,"h3",15),c(13),s(14,"translate"),r(),n(15,"p",16),c(16),s(17,"translate"),r()(),n(18,"div",17),g(19,X,5,3,"span",18)(20,Z,6,3,"span",19)(21,tt,3,3,"span",20),r()()}if(e&2){let t=w.$implicit,a=d();D("tw-opacity-70",a.isLocked(t))("is-locked",a.isLocked(t)),A("aria-disabled",a.isLocked(t)?"true":null),i(2),o("ngClass",a.isLocked(t)?"tw-bg-mech-surface-2":"tw-bg-mech-primary/10"),i(),o("ngSwitch",t.icon),i(),o("ngSwitchCase","zap"),i(),o("ngSwitchCase","layers"),i(),o("ngSwitchCase","circuit"),i(),o("ngClass",t.tier==="AUTOSHOP"?"tw-text-mech-primary tw-bg-mech-primary/10":"tw-text-mech-text-secondary tw-bg-mech-surface-2"),i(),m(" ",t.tier==="AUTOSHOP"?l(9,17,"V2.DIAGRAMS_HUB.TIER_AUTOSHOP"):l(10,19,"V2.DIAGRAMS_HUB.TIER_MECHANIC")," "),i(5),S(l(14,21,t.titleKey)),i(3),S(l(17,23,t.descKey)),i(3),o("ngIf",!a.isLocked(t)),i(),o("ngIf",a.isLocked(t)),i(),o("ngIf",a.isLocked(t)&&t.hasDemo)}}function it(e,w){if(e&1){let t=v();n(0,"p",39),c(1),s(2,"translate"),n(3,"button",40),C("click",function(){_(t);let p=d();return f(p.onAiWiringFallback())}),c(4),s(5,"translate"),r()()}e&2&&(i(),m(" ",l(2,2,"V2.DIAGRAMS_HUB.AI_FALLBACK_PROMPT")," "),i(3),m(" ",l(5,4,"V2.DIAGRAMS_HUB.AI_FALLBACK_CTA")," "))}function nt(e,w){if(e&1&&(n(0,"li",49),u(),n(1,"svg",50),x(2,"path",51),r(),y(),n(3,"span"),c(4),s(5,"translate"),r()()),e&2){let t=w.$implicit;i(4),S(l(5,1,"V2.DIAGRAMS_HUB."+t))}}function at(e,w){if(e&1){let t=v();n(0,"div",41),x(1,"div",42),n(2,"span",43),c(3),s(4,"translate"),r(),n(5,"h2",44),c(6),s(7,"translate"),r(),n(8,"p",45),c(9),s(10,"translate"),r(),n(11,"ul",46),g(12,nt,6,3,"li",47),r(),n(13,"button",48),C("click",function(){_(t);let p=d();return f(p.onUpgradeToAutoshop())}),c(14),s(15,"translate"),r()()}e&2&&(i(3),m(" ",l(4,5,"V2.DIAGRAMS_HUB.STACK_EYEBROW")," "),i(3),m(" ",l(7,7,"V2.DIAGRAMS_HUB.STACK_TITLE")," "),i(3),m(" ",l(10,9,"V2.DIAGRAMS_HUB.STACK_DESC")," "),i(3),o("ngForOf",M(13,q)),i(2),m(" ",l(15,11,"V2.DIAGRAMS_HUB.STACK_CTA")," "))}var Y=[{featureId:"ai-wiring-diagrams",icon:"zap",tier:"MECHANIC",titleKey:"V2.DIAGRAMS_HUB.AI_WIRING_TITLE",descKey:"V2.DIAGRAMS_HUB.AI_WIRING_DESC",crossSellKey:"V2.DIAGRAMS_HUB.UNLOCK_WITH_MECHANIC",hasDemo:!0,paywallPlan:"mechanic"},{featureId:"oem-diagrams",icon:"layers",tier:"AUTOSHOP",titleKey:"V2.DIAGRAMS_HUB.OEM_PARTS_TITLE",descKey:"V2.DIAGRAMS_HUB.OEM_PARTS_DESC",crossSellKey:"V2.DIAGRAMS_HUB.UNLOCK_WITH_AUTOSHOP",hasDemo:!0,paywallPlan:"shop-pro"},{featureId:"oem-wiring",icon:"circuit",tier:"AUTOSHOP",titleKey:"V2.DIAGRAMS_HUB.OEM_WIRING_TITLE",descKey:"V2.DIAGRAMS_HUB.OEM_WIRING_DESC",crossSellKey:"V2.DIAGRAMS_HUB.UNLOCK_WITH_AUTOSHOP",hasDemo:!0,paywallPlan:"shop-pro"}],ut=(()=>{class e{constructor(t,a,p,b){this.router=t,this.store=a,this.analytics=p,this.cdr=b,this.currentPlan="FREE",this.viewLogged=!1}ngOnInit(){this.planSub=this.store.select($.currentProduct).subscribe(t=>{t&&(this.currentPlan=W(t.entitlementName),!this.viewLogged&&this.visibleCards.some(a=>this.isLocked(a))&&(this.viewLogged=!0,this.analytics.logPaywallView("diagrams_hub",this.currentPlan)),this.cdr.markForCheck())})}ngOnDestroy(){this.planSub?.unsubscribe()}get hasOemData(){return F(this.currentPlan)}get visibleCards(){return this.hasOemData?Y.filter(t=>t.featureId!=="ai-wiring-diagrams"):Y}isLocked(t){return j(t.featureId,this.currentPlan)}onCardClick(t){if(!this.isLocked(t)){this.router.navigate(["/v2",t.featureId]);return}if(t.hasDemo){this.router.navigate(["/v2",t.featureId,"demo"]);return}this.router.navigate(["/v2/subscription"],{queryParams:{plan:t.paywallPlan,src:"diagrams_hub"}})}onUpgradeToAutoshop(){this.router.navigate(["/v2/subscription"],{queryParams:{plan:"shop-pro",src:"diagrams_hub"}})}onAiWiringFallback(){this.router.navigate(["/v2/ai-wiring-diagrams"])}static{this.\u0275fac=function(a){return new(a||e)(h(L),h(K),h(N),h(E))}}static{this.\u0275cmp=I({type:e,selectors:[["app-diagrams-hub"]],decls:12,vars:10,consts:[[1,"tw-mt-6","tw-space-y-8"],[1,"tw-text-2xl","tw-font-[800]","tw-text-mech-text","tw-tracking-tight","tw-mb-2"],[1,"tw-text-sm","tw-text-mech-text-muted","tw-max-w-xl","tw-m-0"],[1,"tw-gri
1d","tw-grid-cols-1","tw-gap-4","md:tw-gap-6",3,"ngClass"],["type","button","class","diagram-card tw-text-left tw-bg-mech-surface tw-border tw-border-black/5 tw-rounded-[24px] tw-p-6 tw-transition-all tw-duration-300 tw-cursor-pointer tw-flex tw-flex-col tw-gap-4 tw-shadow-sm",3,"tw-opacity-70","is-locked","click",4,"ngFor","ngForOf"],["class","tw-text-xs tw-text-mech-text-muted tw-m-0 tw--mt-4",4,"ngIf"],["class","mech-dark-card tw-relative tw-overflow-hidden",4,"ngIf"],["type","button",1,"diagram-card","tw-text-left","tw-bg-mech-surface","tw-border","tw-border-black/5","tw-rounded-[24px]","tw-p-6","tw-transition-all","tw-duration-300","tw-cursor-pointer","tw-flex","tw-flex-col","tw-gap-4","tw-shadow-sm",3,"click"],[1,"tw-flex","tw-items-start","tw-justify-between","tw-gap-3"],[1,"tw-w-12","tw-h-12","tw-rounded-2xl","tw-flex","tw-items-center","tw-justify-center","tw-shrink-0",3,"ngClass"],[3,"ngSwitch"],["aria-hidden","true","class","tw-w-5 tw-h-5","fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2",3,"ngClass",4,"ngSwitchCase"],["aria-hidden","true","class","tw-w-5 tw-h-5","fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",3,"ngClass",4,"ngSwitchCase"],[1,"tw-text-[9px]","tw-font-bold","tw-uppercase","tw-tracking-wider","tw-px-2","tw-py-0.5","tw-rounded-full","tw-shrink-0",3,"ngClass"],[1,"tw-flex-1"],[1,"tw-font-[800]","tw-text-mech-text","tw-text-base","tw-mb-1"],[1,"tw-text-xs","tw-text-mech-text-muted","tw-leading-relaxed","tw-m-0"],[1,"tw-flex","tw-items-center","tw-justify-between","tw-gap-2","tw-pt-1"],["class","tw-text-xs tw-font-semibold tw-text-mech-primary tw-inline-flex tw-items-center tw-gap-1",4,"ngIf"],["class","tw-text-[11px] tw-font-semibold tw-text-mech-text-muted tw-inline-flex tw-items-center tw-gap-1.5",4,"ngIf"],["class","tw-text-[9px] tw-font-bold tw-uppercase tw-tracking-wider tw-text-mech-primary tw-bg-mech-primary/10 tw-px-2 tw-py-0.5 tw-rounded-full tw-shrink-0",4,"ngIf"],["aria-hidden","true","fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2",1,"tw-w-5","tw-h-5",3,"ngClass"],["points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"],["aria-hidden","true","fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2","stroke-linecap","round","stroke-linejoin","round",1,"tw-w-5","tw-h-5",3,"ngClass"],["points","12 2 2 7 12 12 22 7 12 2"],["points","2 17 12 22 22 17"],["points","2 12 12 17 22 12"],["x","4","y","4","width","16","height","16","rx","2"],["d","M9 2v2M15 2v2M9 20v2M15 20v2M2 9h2M2 15h2M20 9h2M20 15h2"],["cx","9","cy","9","r","1.5"],["cx","15","cy","15","r","1.5"],["d","M9 10.5v3a1.5 1.5 0 0 0 1.5 1.5h3"],[1,"tw-text-xs","tw-font-semibold","tw-text-mech-primary","tw-inline-flex","tw-items-center","tw-gap-1"],["aria-hidden","true","fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2",1,"tw-w-3.5","tw-h-3.5"],["stroke-linecap","round","stroke-linejoin","round","d","M9 5l7 7-7 7"],[1,"tw-text-[11px]","tw-font-semibold","tw-text-mech-text-muted","tw-inline-flex","tw-items-center","tw-gap-1.5"],["x","3","y","11","width","18","height","11","rx","2","ry","2"],["d","M7 11V7a5 5 0 0 1 10 0v4"],[1,"tw-text-[9px]","tw-font-bold","tw-uppercase","tw-tracking-wider","tw-text-mech-primary","tw-bg-mech-primary/10","tw-px-2","tw-py-0.5","tw-rounded-full","tw-shrink-0"],[1,"tw-text-xs","tw-text-mech-text-muted","tw-m-0","tw--mt-4"],["type","button","data-testid","diagrams-hub-ai-fallback",1,"tw-bg-transparent","tw-border-none","tw-p-0","tw-text-xs","tw-font-semibold","tw-text-mech-primary","tw-underline","tw-cursor-pointer",3,"click"],[1,"mech-dark-card","tw-relative","tw-overflow-hidden"],[1,"tw-absolute","tw--top-20","tw--right-20","tw-w-60","tw-h-60","tw-bg-mech-primary/20","tw-rounded-full","tw-blur-3xl","tw-pointer-events-none"],[1,"tw-text-[10px]","tw-font-bold","tw-uppercase","tw-tracking-widest","tw-text-mech-primary","tw-mb-3","tw-block"],[1,"tw-text-xl","tw-font-[800]","tw-text-mech-text-inverse","tw-tracking-tight","tw-mb-2"],[1,"tw-text-mech-text-inverse/60","tw-text-sm","tw-mb-6","tw-max-w-lg"],[1,"tw-space-y-2","tw-mb-6","tw-list-none","tw-p-0","tw-m-0"],["class","tw-flex tw-items-start tw-gap-2 tw-text-sm tw-text-mech-text-inverse/90",4,"ngFor","ngForOf"],["type","button",1,"mech-btn-primary",3,"click"],[1,"tw-flex","tw-items-start","tw-gap-2","tw-text-sm","tw-text-mech-text-inverse/90"],["aria-hidden","true","fill","none","stroke","currentColor","viewBox","0 0 24 24","stroke-width","2.5",1,"tw-w-4","tw-h-4","tw-text-mech-primary","tw-shrink-0","tw-mt-0.5"],["stroke-linecap","round","stroke-linejoin","round","d","M5 13l4 4L19 7"]],template:function(a,p){a&1&&(n(0,"div",0)(1,"div")(2,"h1",1),c(3),s(4,"translate"),r(),n(5,"p",2),c(6),s(7,"translate"),r()(),n(8,"div",3),g(9,et,22,25,"button",4),r(),g(10,it,6,6,"p",5)(11,at,16,14,"div",6),r()),a&2&&(i(3),m(" ",l(4,6,"V2.DIAGRAMS_HUB.TITLE")," "),i(3),m(" ",l(7,8,p.hasOemData?"V2.DIAGRAMS_HUB.SUBTITLE_OEM":"V2.DIAGRAMS_HUB.SUBTITLE")," "),i(2),o("ngClass",p.hasOemData?"md:tw-grid-cols-2":"md:tw-grid-cols-3"),i(),o("ngForOf",p.visibleCards),i(),o("ngIf",p.hasOemData),i(),o("ngIf",!p.hasOemData))},dependencies:[U,H,B,O,V,R,G,P],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block}.diagram-card[_ngcontent-%COMP%]{font-family:Inter,ui-sans-serif,system-ui,sans-serif;
1transition:box-shadow .3s ease,transform .3s ease}.diagram-card[_ngcontent-%COMP%]:hover:not(.is-locked){transform:translateY(-2px);box-shadow:0 10px 25px -5px var(--color-shadow-card-hover),0 8px 10px -6px var(--color-shadow-card)}@media(prefers-reduced-motion:reduce){.diagram-card[_ngcontent-%COMP%]{transition:box-shadow .3s ease}.diagram-card[_ngcontent-%COMP%]:hover:not(.is-locked){transform:none}}'],changeDetection:0})}}return e})();export{ut as DiagramsHubComponent};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.