PageSourceSearch

https://static-web.grammarly.com/cms/master/_next/static/chunks/9463.4ba4ba64f88ceb47.js

js grammarly.com collected 2026-09-24 06:42:47 UTC 9,765 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3943,6324,9463],{11760:e=>{e.exports={content:"single-column_content__Fz1wK",singleCol1080:"single-column_singleCol1080__3Rmtx",singleCol1280:"single-column_singleCol1280__cWuxI",alignLeft:"single-column_alignLeft__jkir1",alignRight:"single-column_alignRight__BdfD2",alignDefault:"single-column_alignDefault__pCuYD",alignCenterTextLeft:"single-column_alignCenterTextLeft__jB6HU"}},15485:e=>{e.exports={pageSection:"page-section_pageSection__gl7hH",pageSectionCompact:"page-section_pageSectionCompact__rBUfv",pageSectionClearPadding:"page-section_pageSectionClearPadding__ND9M1"}},32652:(e,t,a)=>{"use strict";function r(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.formatNumber(t.value,{style:"currency",currency:t.currency,...a})}a.d(t,{P:()=>r})},49463:(e,t,a)=>{"use strict";a.r(t),a.d(t,{Plans:()=>S});var r=a(23798),n=a(21462),l=a(83943),i=a(97771),s=a(32635),o=a(5778),c=function(e){return e.Free="free",e.Pro="pro",e.Enterprise="enterprise",e.Plus="plus",e}({}),d=a(73272),g=a(47523),u=a(58598),p=a.n(u);let m=e=>{let{cta:t}=e;return(0,r.jsx)("div",{className:p().container,children:(0,r.jsx)(g.XJ,{structure:t})})};var h=a(24753),f=a(75335);let y={[c.Free]:d.KS.Free,[c.Pro]:d.KS.Pro,[c.Enterprise]:d.KS.Enterprise,[c.Plus]:d.KS.Plus};var x=a(87443),_=a(22747),v=a(69834),C=a(32652);let S=e=>{let{structure:t}=e,{sys:a,fields:{internalName:g,heading:u}}=t,p=(0,v.A)(),{subscriptionService:S,localizedPricesExperimentService:P,experimentService:b,geoLocationService:j,planResolutionService:k}=(0,s.v$)(),T=b.getGrammarlyPlusRollout(),N=!T&&b.isTrialFirstHomePageAssignment(),{countryCode:w,countryName:A,cityName:F}=j,M=T?c.Plus:c.Pro,L=T?p.formatMessage({id:"plans.highlightTitle",description:'Badge highlighting a new plan for a specific country. {countryName} is the localized country name (e.g. "India"). {flagEmoji} is the country flag emoji. Placeholders can be reordered.',defaultMessage:"New plan, exclusive to {countryName}! {flagEmoji}"},{countryName:A,flagEmoji:w?String.fromCodePoint(...w.toUpperCase().split("").map(e=>parseInt("0x1F1E6")+(e.charCodeAt(0)-65))):""}):void 0,{proPlan:E,plusPlan:G}=S,{resolvedProPlan:I,matchedOffer:K}=k,D=T&&!!(null==K?void 0:K.startsWith("localized_prices_free_trial")),W=N||D,z=t.fields.savingsLabel.replace(/{{savings}}/,E.percentageOfSavings.toString()),{pageId:B,slug:R}=(0,n.useContext)(x.N),X=(0,n.useCallback)(e=>_.yQ.track({...e,pageId:B,pageSlug:R}),[B,R]),H=(0,n.useMemo)(()=>P.isEligibleForLocalizedPlans(),[P]),J=(0,n.useMemo)(()=>K&&T?I:T?G:E,[K,I,E,G,T]),U=W?p.formatMessage({id:"plansTable.trial.cta",defaultMessage:"Try for {price}",description:'CTA button on the plans table that starts a free trial. {price} is a pre-formatted locale-aware currency string for a zero-cost trial (e.g. "$0.00" in en-US, "0,00 $" in fr-FR) produced via Intl.NumberFormat with style: "currency" — do not modify or re-style the value. Placeholders can be reordered. (~30 char max)'},{price:(0,C.P)(p,{value:0,currency:J.currency})}):void 0;(0,n.useEffect)(()=>{H.isEligible&&H.variantName&&_.a2.localizedPriceExperimentAnonTracked(null!=F?F:"",null!=w?w:"",H.experimentCountryCode,B,R,H.variantName)},[B,R,H,w,F]);let V=function(e,t,a){return e.plans.map(e=>{let n=e.fields.cta;if(a&&e.fields.planType===c.Pro&&"targetLink"in n.fields&&n.fields.targetLink){let e=n.fields.targetLink.fields.targetUrl,t=e.endsWith("/")?"".concat(e,"try"):"".concat(e,"/try");n=(0,f.e)(n,{ctaText:a,targetUrl:t,showArrow:!1})}return a&&e.fields.planType===c.Plus&&(n=(0,f.e)(n,{ctaText:a,showArrow:!1})),{eyebrow:e.fields.eyebrow,type:y[e.fields.planType],title:e.fields.title,description:(0,h.cP)(e.fields.description),popular:e.fields.planType===t,features:e.fields.features,monthlyPriceLabel:e.fields.monthlyPriceLabel,monthlyPricePerMonthLabel:e.fields.monthlyPricePerMonthLabel,cta:(0,r.jsx)(m,{cta:n})}})}(t.fields,M,U),{plansToShow:O,missing:$}=function(e,t){let a=new Map(e.map(e=>[e.type,e])),r=t?[d.KS.Free,d.KS.Plus,d.KS.Enterprise]:[d.KS.Free,d.KS.Pro,d.KS.Enterprise];return{plansToShow:r.map(e=>a.get(e)).filter(e=>void 0!==e),missing:r.filter(e=>!a.has(e))}}(V,T);return $.length>
10&&(0,o.tZ)("cms.plans").warn("Missing plan types from Contentful",{missing:$,available:V.map(e=>e.type),isGrammarlyPlusRollout:T,internalName:g}),(0,r.jsx)(l.d,{internalName:g,sysStructure:a,heading:u,overrideFirstEnterViewportThreshold:.3,children:(0,r.jsx)(i.G,{showTrial:W,mostPopularCopy:L,plans:O,monthlyPrice:J.monthlyPrice,monthlyPricePerMonth:J.monthlyPricePerMonth,currency:J.currency,savingsLabel:z,gnarTrackFn:X,clientName:"cms"})})}},58598:e=>{e.exports={container:"plan-cta_container__yOxdY"}},59449:(e,t,a)=>{"use strict";a.d(t,{f:()=>l,p:()=>n});var r=a(21462);let n={horizontal:"default",vertical:"default"},l=r.createContext(n)},69692:(e,t,a)=>{"use strict";a.d(t,{J:()=>n,f:()=>l});var r=a(21462);let n=r.createContext(!1),l=()=>(0,r.useContext)(n)},81951:e=>{e.exports={container:"grammarly-coda_container__ewp2D",gridShape:"grammarly-coda_gridShape__Truxt",grammarlySpacer:"grammarly-coda_grammarlySpacer__2GF1k",grammarlyShapeIcon:"grammarly-coda_grammarlyShapeIcon__IJhSQ",codaSpacer:"grammarly-coda_codaSpacer__7gCBF",codaShapeIcon:"grammarly-coda_codaShapeIcon__GX_wJ"}},83943:(e,t,a)=>{"use strict";a.d(t,{d:()=>K,k:()=>I});var r=a(23798),n=a(21462),l=a(46001),i=a.n(l),s=a(34710),o=a(35187),c=a(86913),d=a(28019),g=a(98558),u=a(87443),p=a(69692),m=a(8311),h=a(28925),f=a(32635),y=a(91715),x=a(81047),_=a(59449),v=a(47499),C=a(24505),S=a(22747),P=a(15485),b=a.n(P),j=a(10030),k=a.n(j),T=a(71595),N=a(42574),w=a(69834),A=a(81951),F=a.n(A);let M=()=>{let e=(0,w.A)();return(0,r.jsx)("img",{src:"".concat((0,N.Xn)("background-asset/coda-grammarly/grid.svg")),alt:e.formatMessage({id:"backgroundAsset.gridShape.altText",description:"Alt text for the decorative grid SVG in the Grammarly + Coda partnership background.",defaultMessage:"Grid shape"}),className:F().gridShape})},L=()=>{let e=(0,w.A)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("img",{src:"".concat((0,N.Xn)("background-asset/coda-grammarly/coda.svg")),alt:e.formatMessage({id:"backgroundAsset.codaShape.altText",description:'Alt text for the Coda logo SVG in the partnership background. "Coda" is a brand name — do not translate.',defaultMessage:"Coda shape"}),className:F().codaShapeIcon}),(0,r.jsx)("div",{className:F().codaSpacer})]})},E=()=>{let e=(0,w.A)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:F().grammarlySpacer}),(0,r.jsx)("img",{src:"".concat((0,N.Xn)("background-asset/coda-grammarly/grammarly.svg")),alt:e.formatMessage({id:"backgroundAsset.grammarlyShape.altText",description:'Alt text for the Grammarly logo SVG in the partnership background. "Grammarly" is a brand name — do not translate.',defaultMessage:"Grammarly shape"}),className:F().grammarlyShapeIcon})]})},G={grammarlyCoda:()=>({top:E,background:M,bottom:L})},I=e=>{var t,a;let r=null==e?void 0:e.id,n=null==e||null==(a=e.contentType)||null==(t=a.sys)?void 0:t.id;return r&&n?"".concat(n,"_").concat(r):void 0},K=e=>{var t,a;let{internalName:l,sysStructure:P,className:j,children:N,background:w,heading:A,alignment:F,isRemovedVerticalPadding:M,isCompactToolLayout:L=!1,overrideOnFirstEnterViewport:E,overrideFirstEnterViewportThreshold:K,backgroundAssetType:D}=e,W=(0,n.useRef)(null),z=I(P),{pageId:B,slug:R,isSectionScrollTrackingEnabled:X}=(0,n.useContext)(u.N),H=(0,n.useContext)(p.J),{isHero:J}=(0,n.useContext)(x.P),{pageWidth:U}=(0,v.ec)(),V=(0,n.useContext)(m.Ed),O=(0,h.dA)(V,null==w?void 0:w.color),{isMobile:$}=(0,f.th)(),Q=(0,y.i)(),Y=A?{...A,fields:{...A.fields,description:Q&&$?void 0:A.fields.description}}:void 0,Z=A?{...A,fields:{internalName:A.fields.internalName,description:A.fields.description}}:void 0,q=(0,n.useCallback)(()=>{E?E():X&&S.a2.sectionScroll(l,B,R)},[l,X,E,B,R]);
1(0,C.k)(W,q,null!=K?K:.5);let ee=!!D,{top:et,background:ea,bottom:er}=(e=>e&&G[e]?(0,G[e])():{top:T.D,background:T.D,bottom:T.D})(D);return(0,r.jsxs)("div",{className:i()("1280"===U?k().pagePaddingContainer1280:k().pagePaddingContainer1080,...O,{[k().pageWithBackgroundAsset]:ee}),"data-component-id":l,children:[(0,r.jsx)(ea,{}),(0,r.jsxs)("div",{ref:W,id:z,className:i()(k().pageContentContainer,d.Wy,{[k().pageContentWidth1080Container]:"1280"!==U,[k().pageContentWidth1280Container]:"1280"===U,[k().pageWithBackgroundAsset]:ee,[b().pageSectionClearPadding]:M,[b().pageSectionCompact]:H&&!M,[b().pageSection]:!H&&!M},j),children:[(0,r.jsx)(et,{}),Y&&(0,r.jsx)(o.S,{value:{titleStyle:"T1"},children:(0,r.jsx)(_.f.Provider,{value:null!=(t=null==F?void 0:F.fields)?t:_.p,children:(0,r.jsxs)(c.j,{children:[(0,r.jsx)(s.FeatureHighlight,{structure:Y,titleTagOverride:J?"h1":"h2",isCompactToolLayout:L}),(0,r.jsx)(g.Xl,{multiplier:2})]})})}),N,Q&&$&&(null==Z?void 0:Z.fields.description)&&(0,r.jsx)(o.S,{value:{titleStyle:"T1"},children:(0,r.jsx)(_.f.Provider,{value:null!=(a=null==F?void 0:F.fields)?a:_.p,children:(0,r.jsxs)(c.j,{children:[(0,r.jsx)(g.Xl,{multiplier:2}),(0,r.jsx)(s.FeatureHighlight,{structure:Z})]})})}),(0,r.jsx)(er,{})]})]})}},86913:(e,t,a)=>{"use strict";a.d(t,{j:()=>u});var r=a(23798),n=a(46001),l=a.n(n),i=a(21462),s=a(59449),o=a(47499),c=a(11760),d=a.n(c);let g={left:d().alignLeft,right:d().alignRight,default:d().alignDefault,centerContentLeftAlignText:d().alignCenterTextLeft},u=e=>{let{children:t,className:a}=e,{horizontal:n}=(0,i.useContext)(s.f),{pageWidth:c}=(0,o.ec)();return(0,r.jsx)("div",{className:l()(d().content,a,"1280"===c?d().singleCol1280:d().singleCol1080,g[n]),children:t})}},91715:(e,t,a)=>{"use strict";a.d(t,{g:()=>n,i:()=>l});var r=a(21462);let n=(0,r.createContext)(!1),l=()=>(0,r.useContext)(n)}}]);

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.