[{"data":1,"prerenderedAt":4539},["ShallowReactive",2],{"navigation_docs":3,"-modules-email-templates":153,"-modules-email-templates-surround":4534},[4,35,50,59,144],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Local Development","\u002Fgetting-started\u002Flocal-development","1.getting-started\u002F3.local-development","i-lucide-terminal",{"title":21,"path":22,"stem":23,"icon":24},"Publishing Packages","\u002Fgetting-started\u002Fpublishing","1.getting-started\u002F4.publishing","i-lucide-package-check",{"title":26,"path":27,"stem":28,"icon":29},"Writing a Module","\u002Fgetting-started\u002Fwriting-a-module","1.getting-started\u002F5.writing-a-module","i-lucide-puzzle",{"title":31,"path":32,"stem":33,"icon":34},"UX Patterns","\u002Fgetting-started\u002Fux-patterns","1.getting-started\u002F6.ux-patterns","i-lucide-layout-template",{"title":36,"path":37,"stem":38,"children":39},"Applications","\u002Fapplications","2.applications",[40,45],{"title":41,"path":42,"stem":43,"icon":44},"Website","\u002Fapplications\u002Fwebsite","2.applications\u002F1.website","i-lucide-layout-dashboard",{"title":46,"path":47,"stem":48,"icon":49},"Docs","\u002Fapplications\u002Fdocs","2.applications\u002F2.docs","i-lucide-book-open",{"title":51,"path":52,"stem":53,"children":54},"Layers","\u002Flayers","3.layers",[55],{"title":56,"path":57,"stem":58},"Base Layer","\u002Flayers\u002Fbase","3.layers\u002F1.base",{"title":60,"path":61,"stem":62,"children":63},"Modules","\u002Fmodules","4.modules",[64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140],{"title":65,"path":66,"stem":67},"Account","\u002Fmodules\u002Faccount","4.modules\u002F01.account",{"title":69,"path":70,"stem":71},"Admin","\u002Fmodules\u002Fadmin","4.modules\u002F02.admin",{"title":73,"path":74,"stem":75},"Auth","\u002Fmodules\u002Fauth","4.modules\u002F03.auth",{"title":77,"path":78,"stem":79},"Authorization","\u002Fmodules\u002Fauthorization","4.modules\u002F04.authorization",{"title":81,"path":82,"stem":83},"Cookie Consent","\u002Fmodules\u002Fcookie-consent","4.modules\u002F05.cookie-consent",{"title":85,"path":86,"stem":87},"Events","\u002Fmodules\u002Fevents","4.modules\u002F06.events",{"title":89,"path":90,"stem":91},"Forms","\u002Fmodules\u002Fforms","4.modules\u002F07.forms",{"title":93,"path":94,"stem":95},"MCP","\u002Fmodules\u002Fmcp","4.modules\u002F08.mcp",{"title":97,"path":98,"stem":99},"Menu","\u002Fmodules\u002Fmenu","4.modules\u002F09.menu",{"title":101,"path":102,"stem":103},"Module Kit","\u002Fmodules\u002Fmodule-kit","4.modules\u002F10.module-kit",{"title":105,"path":106,"stem":107},"Notify","\u002Fmodules\u002Fnotify","4.modules\u002F11.notify",{"title":109,"path":110,"stem":111},"OAuth Server","\u002Fmodules\u002Foauth-server","4.modules\u002F12.oauth-server",{"title":113,"path":114,"stem":115},"Payments","\u002Fmodules\u002Fpayments","4.modules\u002F13.payments",{"title":117,"path":118,"stem":119},"Preferences","\u002Fmodules\u002Fpreferences","4.modules\u002F14.preferences",{"title":121,"path":122,"stem":123},"Stripe","\u002Fmodules\u002Fstripe","4.modules\u002F15.stripe",{"title":125,"path":126,"stem":127},"Subscriptions","\u002Fmodules\u002Fsubscriptions","4.modules\u002F16.subscriptions",{"title":129,"path":130,"stem":131},"UI","\u002Fmodules\u002Fui","4.modules\u002F17.ui",{"title":133,"path":134,"stem":135},"Users","\u002Fmodules\u002Fusers","4.modules\u002F18.users",{"title":137,"path":138,"stem":139},"Widget","\u002Fmodules\u002Fwidget","4.modules\u002F19.widget",{"title":141,"path":142,"stem":143},"Email Templates","\u002Fmodules\u002Femail-templates","4.modules\u002F20.email-templates",{"title":145,"path":146,"stem":147,"children":148},"Packages","\u002Fpackages","5.packages",[149],{"title":150,"path":151,"stem":152},"CLI","\u002Fpackages\u002Fcli","5.packages\u002F4.cli",{"id":154,"title":141,"body":155,"description":4528,"extension":4529,"links":4530,"meta":4531,"navigation":436,"path":142,"seo":4532,"stem":143,"__hash__":4533},"docs\u002F4.modules\u002F20.email-templates.md",{"type":156,"value":157,"toc":4517},"minimark",[158,179,202,205,225,230,300,313,337,687,729,732,744,747,907,910,1041,1109,1112,1117,1140,1195,1201,1901,1904,2843,2846,3427,3432,3629,3633,3642,3723,3764,3787,3840,3847,3851,3854,3970,3980,4055,4072,4079,4083,4090,4364,4367,4491,4495,4514],[159,160,161,162,169,170,172,173,178],"p",{},"Emails written as Vue components, rendered with ",[163,164,168],"a",{"href":165,"rel":166},"https:\u002F\u002Fnuxtemail.com",[167],"nofollow","nuxt-email-renderer"," and sent through\n",[163,171,105],{"href":106},", as a ",[163,174,177],{"href":175,"rel":176},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules",[167],"Nuxt module",". It does two things:",[180,181,182,191],"ul",{},[183,184,185,186,190],"li",{},"The host sends its own templates with a typed ",[187,188,189],"code",{},"sendEmailTemplate(name, props, message)",".",[183,192,193,194,196,197,196,199,201],{},"Modules (",[163,195,73],{"href":74},", ",[163,198,133],{"href":134},[163,200,125],{"href":126},") ship a template\nfor every email they send. With this module installed, those emails are rendered from the templates. Without it, they\ngo out as the plain HTML each module builds. The host overrides any module template by adding a file with the same\nname.",[159,203,204],{},"All the Vue rendering lives here: Notify and the feature modules stay free of Vue SSR.",[206,207,208,212,213,196,216,221,222,224],"note",{},[209,210,211],"strong",{},"Requires"," ",[187,214,215],{},"@frigear-nu\u002Fmodule-kit",[163,217,218],{"href":106},[187,219,220],{},"@frigear-nu\u002Fnotify"," and ",[187,223,168],{},"; all are\ninstalled automatically.",[226,227,229],"h2",{"id":228},"quick-setup","Quick setup",[231,232,237],"pre",{"className":233,"code":234,"language":235,"meta":236,"style":236},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@frigear-nu\u002Femail-templates'],\n})\n","ts","",[187,238,239,263,291],{"__ignoreMap":236},[240,241,244,248,251,255,259],"span",{"class":242,"line":243},"line",1,[240,245,247],{"class":246},"s7zQu","export",[240,249,250],{"class":246}," default",[240,252,254],{"class":253},"s2Zo4"," defineNuxtConfig",[240,256,258],{"class":257},"sTEyZ","(",[240,260,262],{"class":261},"sMK4o","{\n",[240,264,266,270,273,276,279,283,285,288],{"class":242,"line":265},2,[240,267,269],{"class":268},"swJcz","  modules",[240,271,272],{"class":261},":",[240,274,275],{"class":257}," [",[240,277,278],{"class":261},"'",[240,280,282],{"class":281},"sfazB","@frigear-nu\u002Femail-templates",[240,284,278],{"class":261},[240,286,287],{"class":257},"]",[240,289,290],{"class":261},",\n",[240,292,294,297],{"class":242,"line":293},3,[240,295,296],{"class":261},"}",[240,298,299],{"class":257},")\n",[206,301,302,303,305,306,309,310,312],{},"The module emails (auth, users, subscriptions) only use their Vue templates when the host lists\n",[187,304,282],{}," in ",[187,307,308],{},"modules",". Installed as a dependency of another module is not enough: without it in\n",[187,311,308],{},", notify sends the plain HTML fallback.",[159,314,315,316,319,320,323,324,327,328,331,332,336],{},"Add templates to ",[187,317,318],{},"app\u002Femails"," (or ",[187,321,322],{},"emails\u002F",", or the ",[187,325,326],{},"nuxtEmailRenderer.emailsDir"," option). Every top-level ",[187,329,330],{},".vue"," file\nis a template, named by its file name. Build them from the ",[163,333,335],{"href":334},"#components","components"," so they match the module emails:",[338,339,340,679],"tabs",{},[341,342,344],"tabs-item",{"label":343},"welcome.vue",[231,345,350],{"className":346,"code":347,"filename":348,"language":349,"meta":236,"style":236},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { EmailButton, EmailDivider, EmailHeading, EmailLayout, EmailLinkFallback, EmailText } from '@frigear-nu\u002Femail-templates\u002Fcomponents'\n\ndefineProps\u003C{ name: string, url: string }>()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CEmailLayout :preview=\"`Welcome, ${name}!`\">\n    \u003CESubject>Welcome, {{ name }}\u003C\u002FESubject>\n    \u003CEmailHeading>Welcome, {{ name }}!\u003C\u002FEmailHeading>\n    \u003CEmailDivider \u002F>\n    \u003CEmailText>Thanks for signing up. Click the button below to get started.\u003C\u002FEmailText>\n    \u003CEmailButton :href=\"url\">Get started\u003C\u002FEmailButton>\n    \u003CEmailLinkFallback :href=\"url\" \u002F>\n  \u003C\u002FEmailLayout>\n\u003C\u002Ftemplate>\n","app\u002Femails\u002Fwelcome.vue","vue",[187,351,352,380,432,438,471,481,486,496,535,556,575,586,605,638,660,670],{"__ignoreMap":236},[240,353,354,357,360,364,367,370,373,375,377],{"class":242,"line":243},[240,355,356],{"class":261},"\u003C",[240,358,359],{"class":268},"script",[240,361,363],{"class":362},"spNyl"," setup",[240,365,366],{"class":362}," lang",[240,368,369],{"class":261},"=",[240,371,372],{"class":261},"\"",[240,374,235],{"class":281},[240,376,372],{"class":261},[240,378,379],{"class":261},">\n",[240,381,382,385,388,391,394,397,399,402,404,407,409,412,414,417,420,423,426,429],{"class":242,"line":265},[240,383,384],{"class":246},"import",[240,386,387],{"class":261}," {",[240,389,390],{"class":257}," EmailButton",[240,392,393],{"class":261},",",[240,395,396],{"class":257}," EmailDivider",[240,398,393],{"class":261},[240,400,401],{"class":257}," EmailHeading",[240,403,393],{"class":261},[240,405,406],{"class":257}," EmailLayout",[240,408,393],{"class":261},[240,410,411],{"class":257}," EmailLinkFallback",[240,413,393],{"class":261},[240,415,416],{"class":257}," EmailText",[240,418,419],{"class":261}," }",[240,421,422],{"class":246}," from",[240,424,425],{"class":261}," '",[240,427,428],{"class":281},"@frigear-nu\u002Femail-templates\u002Fcomponents",[240,430,431],{"class":261},"'\n",[240,433,434],{"class":242,"line":293},[240,435,437],{"emptyLinePlaceholder":436},true,"\n",[240,439,441,444,447,450,452,456,458,461,463,465,468],{"class":242,"line":440},4,[240,442,443],{"class":253},"defineProps",[240,445,446],{"class":261},"\u003C{",[240,448,449],{"class":268}," name",[240,451,272],{"class":261},[240,453,455],{"class":454},"sBMFI"," string",[240,457,393],{"class":261},[240,459,460],{"class":268}," url",[240,462,272],{"class":261},[240,464,455],{"class":454},[240,466,467],{"class":261}," }>",[240,469,470],{"class":257},"()\n",[240,472,474,477,479],{"class":242,"line":473},5,[240,475,476],{"class":261},"\u003C\u002F",[240,478,359],{"class":268},[240,480,379],{"class":261},[240,482,484],{"class":242,"line":483},6,[240,485,437],{"emptyLinePlaceholder":436},[240,487,489,491,494],{"class":242,"line":488},7,[240,490,356],{"class":261},[240,492,493],{"class":268},"template",[240,495,379],{"class":261},[240,497,499,502,505,508,511,513,516,519,522,525,527,530,533],{"class":242,"line":498},8,[240,500,501],{"class":261},"  \u003C",[240,503,504],{"class":268},"EmailLayout",[240,506,507],{"class":261}," :",[240,509,510],{"class":362},"preview",[240,512,369],{"class":261},[240,514,515],{"class":261},"\"`",[240,517,518],{"class":281},"Welcome, ",[240,520,521],{"class":261},"${",[240,523,524],{"class":257},"name",[240,526,296],{"class":261},[240,528,529],{"class":281},"!",[240,531,532],{"class":261},"`\"",[240,534,379],{"class":261},[240,536,538,541,544,547,550,552,554],{"class":242,"line":537},9,[240,539,540],{"class":261},"    \u003C",[240,542,543],{"class":268},"ESubject",[240,545,546],{"class":261},">",[240,548,549],{"class":257},"Welcome, {{ name }}",[240,551,476],{"class":261},[240,553,543],{"class":268},[240,555,379],{"class":261},[240,557,559,561,564,566,569,571,573],{"class":242,"line":558},10,[240,560,540],{"class":261},[240,562,563],{"class":268},"EmailHeading",[240,565,546],{"class":261},[240,567,568],{"class":257},"Welcome, {{ name }}!",[240,570,476],{"class":261},[240,572,563],{"class":268},[240,574,379],{"class":261},[240,576,578,580,583],{"class":242,"line":577},11,[240,579,540],{"class":261},[240,581,582],{"class":268},"EmailDivider",[240,584,585],{"class":261}," \u002F>\n",[240,587,589,591,594,596,599,601,603],{"class":242,"line":588},12,[240,590,540],{"class":261},[240,592,593],{"class":268},"EmailText",[240,595,546],{"class":261},[240,597,598],{"class":257},"Thanks for signing up. Click the button below to get started.",[240,600,476],{"class":261},[240,602,593],{"class":268},[240,604,379],{"class":261},[240,606,608,610,613,615,618,620,622,625,627,629,632,634,636],{"class":242,"line":607},13,[240,609,540],{"class":261},[240,611,612],{"class":268},"EmailButton",[240,614,507],{"class":261},[240,616,617],{"class":362},"href",[240,619,369],{"class":261},[240,621,372],{"class":261},[240,623,624],{"class":257},"url",[240,626,372],{"class":261},[240,628,546],{"class":261},[240,630,631],{"class":257},"Get started",[240,633,476],{"class":261},[240,635,612],{"class":268},[240,637,379],{"class":261},[240,639,641,643,646,648,650,652,654,656,658],{"class":242,"line":640},14,[240,642,540],{"class":261},[240,644,645],{"class":268},"EmailLinkFallback",[240,647,507],{"class":261},[240,649,617],{"class":362},[240,651,369],{"class":261},[240,653,372],{"class":261},[240,655,624],{"class":257},[240,657,372],{"class":261},[240,659,585],{"class":261},[240,661,663,666,668],{"class":242,"line":662},15,[240,664,665],{"class":261},"  \u003C\u002F",[240,667,504],{"class":268},[240,669,379],{"class":261},[240,671,673,675,677],{"class":242,"line":672},16,[240,674,476],{"class":261},[240,676,493],{"class":268},[240,678,379],{"class":261},[341,680,682],{"label":681},"Preview",[683,684],"img",{"alt":685,"src":686},"The welcome email, built from the components","\u002Fimages\u002Femail-templates\u002Fwelcome.png",[159,688,689,690,693,694,697,698,701,702,705,706,709,710,713,714,717,718,721,722,725,726,190],{},"The ",[187,691,692],{},"E*"," components, ",[187,695,696],{},"\u003CESubject>",", i18n (",[187,699,700],{},"$t"," with ",[187,703,704],{},"@nuxtjs\u002Fi18n","), ",[187,707,708],{},"globalCss"," and the DevTools preview all come\nfrom ",[163,711,168],{"href":165,"rel":712},[167],". This module sets its ",[187,715,716],{},"codeHighlighting"," default to ",[187,719,720],{},"false",", which\nkeeps Shiki out of the server bundle. Set ",[187,723,724],{},"nuxtEmailRenderer.codeHighlighting: true"," if you need ",[187,727,728],{},"\u003CECodeBlock>",[226,730,731],{"id":335},"Components",[159,733,734,735,737,738,740,741,743],{},"Styled building blocks, imported from ",[187,736,428],{},". You have to import them: the renderer\nregisters only its own ",[187,739,692],{}," components globally. They use inline styles and table layout, because email clients do not\nsupport CSS classes. Mix them freely with the renderer's ",[187,742,692],{}," components.",[159,745,746],{},"Every email has the same shape: a grey page, a white card with the logo header, the content, and a footer.",[748,749,750,766],"table",{},[751,752,753],"thead",{},[754,755,756,760,763],"tr",{},[757,758,759],"th",{},"Component",[757,761,762],{},"Props",[757,764,765],{},"Renders",[767,768,769,805,819,839,853,869,883,895],"tbody",{},[754,770,771,776,792],{},[772,773,774],"td",{},[187,775,504],{},[772,777,778,196,781,784,785,788,789],{},[187,779,780],{},"preview?",[187,782,783],{},"lang?"," (",[187,786,787],{},"en","); slots: default, ",[187,790,791],{},"footer",[772,793,794,795,221,798,801,802,804],{},"The whole document: page, card, ",[187,796,797],{},"EmailHeader",[187,799,800],{},"EmailFooter"," (replace it with the ",[187,803,791],{}," slot)",[754,806,807,811,816],{},[772,808,809],{},[187,810,797],{},[772,812,813],{},[187,814,815],{},"logoUrl?",[772,817,818],{},"Centred logo, 150px wide, or the brand name when no logo is configured",[754,820,821,825,830],{},[772,822,823],{},[187,824,563],{},[772,826,827],{},[187,828,829],{},"tone?: 'default' | 'danger'",[772,831,689,832,834,835,838],{},[187,833,226],{}," title; ",[187,836,837],{},"danger"," for security alerts",[754,840,841,845,850],{},[772,842,843],{},[187,844,593],{},[772,846,847],{},[187,848,849],{},"variant?: 'default' | 'muted' | 'small'",[772,851,852],{},"A paragraph: body text, secondary text, fine print",[754,854,855,859,866],{},[772,856,857],{},[187,858,612],{},[772,860,861,196,863],{},[187,862,617],{},[187,864,865],{},"color?: 'primary' | 'danger'",[772,867,868],{},"Call-to-action button",[754,870,871,875,880],{},[772,872,873],{},[187,874,645],{},[772,876,877,879],{},[187,878,617],{},"; slot for the lead-in",[772,881,882],{},"\"Or copy this link to your browser: …\"",[754,884,885,889,892],{},[772,886,887],{},[187,888,582],{},[772,890,891],{},"none",[772,893,894],{},"Horizontal rule",[754,896,897,901,904],{},[772,898,899],{},[187,900,800],{},[772,902,903],{},"slot",[772,905,906],{},"\"This email was sent automatically for security reasons.\"",[159,908,909],{},"Branding comes from the module options. Each option can also be set at runtime:",[231,911,913],{"className":233,"code":912,"language":235,"meta":236,"style":236},"export default defineNuxtConfig({\n  emailTemplates: {\n    brandName: 'Frigear', \u002F\u002F logo alt text, and the header when there is no logo\n    logoUrl: '\u002Flogo.png', \u002F\u002F absolute, or resolved against siteUrl\n    siteUrl: 'https:\u002F\u002Ffrigear.nu',\n    colors: { primary: '#2563eb', danger: '#dc2626' },\n  },\n})\n",[187,914,915,927,937,957,976,992,1030,1035],{"__ignoreMap":236},[240,916,917,919,921,923,925],{"class":242,"line":243},[240,918,247],{"class":246},[240,920,250],{"class":246},[240,922,254],{"class":253},[240,924,258],{"class":257},[240,926,262],{"class":261},[240,928,929,932,934],{"class":242,"line":265},[240,930,931],{"class":268},"  emailTemplates",[240,933,272],{"class":261},[240,935,936],{"class":261}," {\n",[240,938,939,942,944,946,949,951,953],{"class":242,"line":293},[240,940,941],{"class":268},"    brandName",[240,943,272],{"class":261},[240,945,425],{"class":261},[240,947,948],{"class":281},"Frigear",[240,950,278],{"class":261},[240,952,393],{"class":261},[240,954,956],{"class":955},"sHwdD"," \u002F\u002F logo alt text, and the header when there is no logo\n",[240,958,959,962,964,966,969,971,973],{"class":242,"line":440},[240,960,961],{"class":268},"    logoUrl",[240,963,272],{"class":261},[240,965,425],{"class":261},[240,967,968],{"class":281},"\u002Flogo.png",[240,970,278],{"class":261},[240,972,393],{"class":261},[240,974,975],{"class":955}," \u002F\u002F absolute, or resolved against siteUrl\n",[240,977,978,981,983,985,988,990],{"class":242,"line":473},[240,979,980],{"class":268},"    siteUrl",[240,982,272],{"class":261},[240,984,425],{"class":261},[240,986,987],{"class":281},"https:\u002F\u002Ffrigear.nu",[240,989,278],{"class":261},[240,991,290],{"class":261},[240,993,994,997,999,1001,1004,1006,1008,1011,1013,1015,1018,1020,1022,1025,1027],{"class":242,"line":483},[240,995,996],{"class":268},"    colors",[240,998,272],{"class":261},[240,1000,387],{"class":261},[240,1002,1003],{"class":268}," primary",[240,1005,272],{"class":261},[240,1007,425],{"class":261},[240,1009,1010],{"class":281},"#2563eb",[240,1012,278],{"class":261},[240,1014,393],{"class":261},[240,1016,1017],{"class":268}," danger",[240,1019,272],{"class":261},[240,1021,425],{"class":261},[240,1023,1024],{"class":281},"#dc2626",[240,1026,278],{"class":261},[240,1028,1029],{"class":261}," },\n",[240,1031,1032],{"class":242,"line":488},[240,1033,1034],{"class":261},"  },\n",[240,1036,1037,1039],{"class":242,"line":498},[240,1038,296],{"class":261},[240,1040,299],{"class":257},[748,1042,1043,1053],{},[751,1044,1045],{},[754,1046,1047,1050],{},[757,1048,1049],{},"Environment variable",[757,1051,1052],{},"Option",[767,1054,1055,1067,1079,1091],{},[754,1056,1057,1062],{},[772,1058,1059],{},[187,1060,1061],{},"NUXT_EMAIL_TEMPLATES_BRAND_NAME",[772,1063,1064],{},[187,1065,1066],{},"brandName",[754,1068,1069,1074],{},[772,1070,1071],{},[187,1072,1073],{},"NUXT_EMAIL_TEMPLATES_LOGO_URL",[772,1075,1076],{},[187,1077,1078],{},"logoUrl",[754,1080,1081,1086],{},[772,1082,1083],{},[187,1084,1085],{},"NUXT_EMAIL_TEMPLATES_SITE_URL",[772,1087,1088],{},[187,1089,1090],{},"siteUrl",[754,1092,1093,1101],{},[772,1094,1095,196,1098],{},[187,1096,1097],{},"NUXT_EMAIL_TEMPLATES_COLORS_PRIMARY",[187,1099,1100],{},"_DANGER",[772,1102,1103,196,1106],{},[187,1104,1105],{},"colors.primary",[187,1107,1108],{},"colors.danger",[159,1110,1111],{},"Use an absolute URL for the logo: mail clients cannot resolve relative paths. The previews on this page use the\ndefault colours and the Frigear logo.",[1113,1114,1116],"h3",{"id":1115},"composing-an-email","Composing an email",[159,1118,1119,1120,1122,1123,1125,1126,1125,1128,1130,1131,1133,1134,1136,1137,1139],{},"Every template starts from ",[187,1121,504],{},", which already draws the page, the card, the logo and the footer. Inside it\ncome the blocks, usually in this order: ",[187,1124,696],{},", an ",[187,1127,563],{},[187,1129,582],{},", then ",[187,1132,593],{}," paragraphs\nand an ",[187,1135,612],{}," followed by an ",[187,1138,645],{},". A few patterns go beyond that:",[180,1141,1142,1155,1169,1183],{},[183,1143,1144,1147,1148,221,1151,1154],{},[209,1145,1146],{},"Tables and columns."," The renderer's ",[187,1149,1150],{},"ERow",[187,1152,1153],{},"EColumn"," sit next to the components. Use them for key\u002Fvalue details\nor line items, since email clients do not support flexbox or grid.",[183,1156,1157,1160,1161,1164,1165,1168],{},[209,1158,1159],{},"Fine-tuning a block."," A ",[187,1162,1163],{},"style"," you pass merges into the component's own, for example ",[187,1166,1167],{},"style=\"margin: 0\""," to\ntighten a list.",[183,1170,1171,1174,1175,1178,1179,1182],{},[209,1172,1173],{},"Formatting."," Templates render outside the Nuxt app, so app composables such as ",[187,1176,1177],{},"useFormat()"," are not available.\nFormat numbers and dates with ",[187,1180,1181],{},"Intl",", or pass them in already formatted.",[183,1184,1185,1188,1189,1191,1192,1194],{},[209,1186,1187],{},"Your own footer."," Fill the layout's ",[187,1190,791],{}," slot with an ",[187,1193,800],{},", or anything else, for example to add an\nunsubscribe link.",[159,1196,1197,1198,1200],{},"A security alert, with a details table and a ",[187,1199,837],{}," heading and button:",[338,1202,1203,1895],{},[341,1204,1206],{"label":1205},"new-sign-in.vue",[231,1207,1210],{"className":346,"code":1208,"filename":1209,"language":349,"meta":236,"style":236},"\u003Cscript setup lang=\"ts\">\nimport { EmailButton, EmailDivider, EmailHeading, EmailLayout, EmailLinkFallback, EmailText } from '@frigear-nu\u002Femail-templates\u002Fcomponents'\n\ndefineProps\u003C{\n  name: string\n  device: string\n  location: string\n  signedInAt: string\n  secureUrl: string\n}>()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CEmailLayout preview=\"New sign-in to your account\">\n    \u003CESubject>New sign-in to your account\u003C\u002FESubject>\n    \u003CEmailHeading tone=\"danger\">\n      New sign-in detected\n    \u003C\u002FEmailHeading>\n    \u003CEmailDivider \u002F>\n    \u003CEmailText>Hi {{ name }}, your account was just signed in to from a new device.\u003C\u002FEmailText>\n\n    \u003C!-- Renderer components mix in freely: a two-column details table. -->\n    \u003CERow\n      v-for=\"[label, value] in [['Device', device], ['Location', location], ['Time', signedInAt]]\"\n      :key=\"label\"\n    >\n      \u003CEColumn style=\"width: 35%; padding: 4px 0\">\n        \u003CEmailText\n          variant=\"muted\"\n          style=\"margin: 0\"\n        >\n          {{ label }}\n        \u003C\u002FEmailText>\n      \u003C\u002FEColumn>\n      \u003CEColumn style=\"padding: 4px 0\">\n        \u003CEmailText style=\"margin: 0\">\n          {{ value }}\n        \u003C\u002FEmailText>\n      \u003C\u002FEColumn>\n    \u003C\u002FERow>\n\n    \u003CEmailDivider \u002F>\n    \u003CEmailText>If this was you, no action is needed. If not, secure your account now.\u003C\u002FEmailText>\n    \u003CEmailButton\n      :href=\"secureUrl\"\n      color=\"danger\"\n    >\n      Secure my account\n    \u003C\u002FEmailButton>\n    \u003CEmailLinkFallback :href=\"secureUrl\" \u002F>\n  \u003C\u002FEmailLayout>\n\u003C\u002Ftemplate>\n","app\u002Femails\u002Fnew-sign-in.vue",[187,1211,1212,1232,1270,1274,1281,1291,1300,1309,1318,1327,1334,1342,1346,1354,1374,1390,1409,1415,1425,1434,1452,1457,1463,1471,1542,1559,1565,1609,1618,1633,1653,1659,1665,1675,1685,1710,1733,1739,1748,1757,1766,1771,1780,1798,1806,1822,1836,1841,1847,1856,1877,1886],{"__ignoreMap":236},[240,1213,1214,1216,1218,1220,1222,1224,1226,1228,1230],{"class":242,"line":243},[240,1215,356],{"class":261},[240,1217,359],{"class":268},[240,1219,363],{"class":362},[240,1221,366],{"class":362},[240,1223,369],{"class":261},[240,1225,372],{"class":261},[240,1227,235],{"class":281},[240,1229,372],{"class":261},[240,1231,379],{"class":261},[240,1233,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268],{"class":242,"line":265},[240,1235,384],{"class":246},[240,1237,387],{"class":261},[240,1239,390],{"class":257},[240,1241,393],{"class":261},[240,1243,396],{"class":257},[240,1245,393],{"class":261},[240,1247,401],{"class":257},[240,1249,393],{"class":261},[240,1251,406],{"class":257},[240,1253,393],{"class":261},[240,1255,411],{"class":257},[240,1257,393],{"class":261},[240,1259,416],{"class":257},[240,1261,419],{"class":261},[240,1263,422],{"class":246},[240,1265,425],{"class":261},[240,1267,428],{"class":281},[240,1269,431],{"class":261},[240,1271,1272],{"class":242,"line":293},[240,1273,437],{"emptyLinePlaceholder":436},[240,1275,1276,1278],{"class":242,"line":440},[240,1277,443],{"class":253},[240,1279,1280],{"class":261},"\u003C{\n",[240,1282,1283,1286,1288],{"class":242,"line":473},[240,1284,1285],{"class":268},"  name",[240,1287,272],{"class":261},[240,1289,1290],{"class":454}," string\n",[240,1292,1293,1296,1298],{"class":242,"line":483},[240,1294,1295],{"class":268},"  device",[240,1297,272],{"class":261},[240,1299,1290],{"class":454},[240,1301,1302,1305,1307],{"class":242,"line":488},[240,1303,1304],{"class":268},"  location",[240,1306,272],{"class":261},[240,1308,1290],{"class":454},[240,1310,1311,1314,1316],{"class":242,"line":498},[240,1312,1313],{"class":268},"  signedInAt",[240,1315,272],{"class":261},[240,1317,1290],{"class":454},[240,1319,1320,1323,1325],{"class":242,"line":537},[240,1321,1322],{"class":268},"  secureUrl",[240,1324,272],{"class":261},[240,1326,1290],{"class":454},[240,1328,1329,1332],{"class":242,"line":558},[240,1330,1331],{"class":261},"}>",[240,1333,470],{"class":257},[240,1335,1336,1338,1340],{"class":242,"line":577},[240,1337,476],{"class":261},[240,1339,359],{"class":268},[240,1341,379],{"class":261},[240,1343,1344],{"class":242,"line":588},[240,1345,437],{"emptyLinePlaceholder":436},[240,1347,1348,1350,1352],{"class":242,"line":607},[240,1349,356],{"class":261},[240,1351,493],{"class":268},[240,1353,379],{"class":261},[240,1355,1356,1358,1360,1363,1365,1367,1370,1372],{"class":242,"line":640},[240,1357,501],{"class":261},[240,1359,504],{"class":268},[240,1361,1362],{"class":362}," preview",[240,1364,369],{"class":261},[240,1366,372],{"class":261},[240,1368,1369],{"class":281},"New sign-in to your account",[240,1371,372],{"class":261},[240,1373,379],{"class":261},[240,1375,1376,1378,1380,1382,1384,1386,1388],{"class":242,"line":662},[240,1377,540],{"class":261},[240,1379,543],{"class":268},[240,1381,546],{"class":261},[240,1383,1369],{"class":257},[240,1385,476],{"class":261},[240,1387,543],{"class":268},[240,1389,379],{"class":261},[240,1391,1392,1394,1396,1399,1401,1403,1405,1407],{"class":242,"line":672},[240,1393,540],{"class":261},[240,1395,563],{"class":268},[240,1397,1398],{"class":362}," tone",[240,1400,369],{"class":261},[240,1402,372],{"class":261},[240,1404,837],{"class":281},[240,1406,372],{"class":261},[240,1408,379],{"class":261},[240,1410,1412],{"class":242,"line":1411},17,[240,1413,1414],{"class":257},"      New sign-in detected\n",[240,1416,1418,1421,1423],{"class":242,"line":1417},18,[240,1419,1420],{"class":261},"    \u003C\u002F",[240,1422,563],{"class":268},[240,1424,379],{"class":261},[240,1426,1428,1430,1432],{"class":242,"line":1427},19,[240,1429,540],{"class":261},[240,1431,582],{"class":268},[240,1433,585],{"class":261},[240,1435,1437,1439,1441,1443,1446,1448,1450],{"class":242,"line":1436},20,[240,1438,540],{"class":261},[240,1440,593],{"class":268},[240,1442,546],{"class":261},[240,1444,1445],{"class":257},"Hi {{ name }}, your account was just signed in to from a new device.",[240,1447,476],{"class":261},[240,1449,593],{"class":268},[240,1451,379],{"class":261},[240,1453,1455],{"class":242,"line":1454},21,[240,1456,437],{"emptyLinePlaceholder":436},[240,1458,1460],{"class":242,"line":1459},22,[240,1461,1462],{"class":955},"    \u003C!-- Renderer components mix in freely: a two-column details table. -->\n",[240,1464,1466,1468],{"class":242,"line":1465},23,[240,1467,540],{"class":261},[240,1469,1470],{"class":268},"ERow\n",[240,1472,1474,1477,1479,1481,1484,1487,1489,1492,1495,1497,1500,1502,1504,1507,1510,1512,1515,1517,1519,1522,1524,1526,1529,1531,1533,1536,1539],{"class":242,"line":1473},24,[240,1475,1476],{"class":246},"      v-for",[240,1478,369],{"class":261},[240,1480,372],{"class":261},[240,1482,1483],{"class":261},"[",[240,1485,1486],{"class":257},"label",[240,1488,196],{"class":261},[240,1490,1491],{"class":257},"value",[240,1493,1494],{"class":261},"] in [[",[240,1496,278],{"class":261},[240,1498,1499],{"class":281},"Device",[240,1501,278],{"class":261},[240,1503,196],{"class":261},[240,1505,1506],{"class":257},"device",[240,1508,1509],{"class":261},"], [",[240,1511,278],{"class":261},[240,1513,1514],{"class":281},"Location",[240,1516,278],{"class":261},[240,1518,196],{"class":261},[240,1520,1521],{"class":257},"location",[240,1523,1509],{"class":261},[240,1525,278],{"class":261},[240,1527,1528],{"class":281},"Time",[240,1530,278],{"class":261},[240,1532,196],{"class":261},[240,1534,1535],{"class":257},"signedInAt",[240,1537,1538],{"class":261},"]]",[240,1540,1541],{"class":261},"\"\n",[240,1543,1545,1548,1551,1553,1555,1557],{"class":242,"line":1544},25,[240,1546,1547],{"class":261},"      :",[240,1549,1550],{"class":362},"key",[240,1552,369],{"class":261},[240,1554,372],{"class":261},[240,1556,1486],{"class":257},[240,1558,1541],{"class":261},[240,1560,1562],{"class":242,"line":1561},26,[240,1563,1564],{"class":261},"    >\n",[240,1566,1568,1571,1573,1576,1578,1580,1584,1587,1591,1594,1597,1599,1602,1605,1607],{"class":242,"line":1567},27,[240,1569,1570],{"class":261},"      \u003C",[240,1572,1153],{"class":268},[240,1574,1575],{"class":362}," style",[240,1577,369],{"class":261},[240,1579,372],{"class":261},[240,1581,1583],{"class":1582},"sqsOY","width",[240,1585,1586],{"class":261},": ",[240,1588,1590],{"class":1589},"sbssI","35%",[240,1592,1593],{"class":261},"; ",[240,1595,1596],{"class":1582},"padding",[240,1598,1586],{"class":261},[240,1600,1601],{"class":1589},"4px",[240,1603,1604],{"class":1589}," 0",[240,1606,372],{"class":261},[240,1608,379],{"class":261},[240,1610,1612,1615],{"class":242,"line":1611},28,[240,1613,1614],{"class":261},"        \u003C",[240,1616,1617],{"class":268},"EmailText\n",[240,1619,1621,1624,1626,1628,1631],{"class":242,"line":1620},29,[240,1622,1623],{"class":362},"          variant",[240,1625,369],{"class":261},[240,1627,372],{"class":261},[240,1629,1630],{"class":281},"muted",[240,1632,1541],{"class":261},[240,1634,1636,1639,1641,1643,1646,1648,1651],{"class":242,"line":1635},30,[240,1637,1638],{"class":362},"          style",[240,1640,369],{"class":261},[240,1642,372],{"class":261},[240,1644,1645],{"class":1582},"margin",[240,1647,1586],{"class":261},[240,1649,1650],{"class":1589},"0",[240,1652,1541],{"class":261},[240,1654,1656],{"class":242,"line":1655},31,[240,1657,1658],{"class":261},"        >\n",[240,1660,1662],{"class":242,"line":1661},32,[240,1663,1664],{"class":257},"          {{ label }}\n",[240,1666,1668,1671,1673],{"class":242,"line":1667},33,[240,1669,1670],{"class":261},"        \u003C\u002F",[240,1672,593],{"class":268},[240,1674,379],{"class":261},[240,1676,1678,1681,1683],{"class":242,"line":1677},34,[240,1679,1680],{"class":261},"      \u003C\u002F",[240,1682,1153],{"class":268},[240,1684,379],{"class":261},[240,1686,1688,1690,1692,1694,1696,1698,1700,1702,1704,1706,1708],{"class":242,"line":1687},35,[240,1689,1570],{"class":261},[240,1691,1153],{"class":268},[240,1693,1575],{"class":362},[240,1695,369],{"class":261},[240,1697,372],{"class":261},[240,1699,1596],{"class":1582},[240,1701,1586],{"class":261},[240,1703,1601],{"class":1589},[240,1705,1604],{"class":1589},[240,1707,372],{"class":261},[240,1709,379],{"class":261},[240,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731],{"class":242,"line":1712},36,[240,1714,1614],{"class":261},[240,1716,593],{"class":268},[240,1718,1575],{"class":362},[240,1720,369],{"class":261},[240,1722,372],{"class":261},[240,1724,1645],{"class":1582},[240,1726,1586],{"class":261},[240,1728,1650],{"class":1589},[240,1730,372],{"class":261},[240,1732,379],{"class":261},[240,1734,1736],{"class":242,"line":1735},37,[240,1737,1738],{"class":257},"          {{ value }}\n",[240,1740,1742,1744,1746],{"class":242,"line":1741},38,[240,1743,1670],{"class":261},[240,1745,593],{"class":268},[240,1747,379],{"class":261},[240,1749,1751,1753,1755],{"class":242,"line":1750},39,[240,1752,1680],{"class":261},[240,1754,1153],{"class":268},[240,1756,379],{"class":261},[240,1758,1760,1762,1764],{"class":242,"line":1759},40,[240,1761,1420],{"class":261},[240,1763,1150],{"class":268},[240,1765,379],{"class":261},[240,1767,1769],{"class":242,"line":1768},41,[240,1770,437],{"emptyLinePlaceholder":436},[240,1772,1774,1776,1778],{"class":242,"line":1773},42,[240,1775,540],{"class":261},[240,1777,582],{"class":268},[240,1779,585],{"class":261},[240,1781,1783,1785,1787,1789,1792,1794,1796],{"class":242,"line":1782},43,[240,1784,540],{"class":261},[240,1786,593],{"class":268},[240,1788,546],{"class":261},[240,1790,1791],{"class":257},"If this was you, no action is needed. If not, secure your account now.",[240,1793,476],{"class":261},[240,1795,593],{"class":268},[240,1797,379],{"class":261},[240,1799,1801,1803],{"class":242,"line":1800},44,[240,1802,540],{"class":261},[240,1804,1805],{"class":268},"EmailButton\n",[240,1807,1809,1811,1813,1815,1817,1820],{"class":242,"line":1808},45,[240,1810,1547],{"class":261},[240,1812,617],{"class":362},[240,1814,369],{"class":261},[240,1816,372],{"class":261},[240,1818,1819],{"class":257},"secureUrl",[240,1821,1541],{"class":261},[240,1823,1825,1828,1830,1832,1834],{"class":242,"line":1824},46,[240,1826,1827],{"class":362},"      color",[240,1829,369],{"class":261},[240,1831,372],{"class":261},[240,1833,837],{"class":281},[240,1835,1541],{"class":261},[240,1837,1839],{"class":242,"line":1838},47,[240,1840,1564],{"class":261},[240,1842,1844],{"class":242,"line":1843},48,[240,1845,1846],{"class":257},"      Secure my account\n",[240,1848,1850,1852,1854],{"class":242,"line":1849},49,[240,1851,1420],{"class":261},[240,1853,612],{"class":268},[240,1855,379],{"class":261},[240,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875],{"class":242,"line":1858},50,[240,1860,540],{"class":261},[240,1862,645],{"class":268},[240,1864,507],{"class":261},[240,1866,617],{"class":362},[240,1868,369],{"class":261},[240,1870,372],{"class":261},[240,1872,1819],{"class":257},[240,1874,372],{"class":261},[240,1876,585],{"class":261},[240,1878,1880,1882,1884],{"class":242,"line":1879},51,[240,1881,665],{"class":261},[240,1883,504],{"class":268},[240,1885,379],{"class":261},[240,1887,1889,1891,1893],{"class":242,"line":1888},52,[240,1890,476],{"class":261},[240,1892,493],{"class":268},[240,1894,379],{"class":261},[341,1896,1897],{"label":681},[683,1898],{"alt":1899,"src":1900},"A new sign-in security alert with a details table","\u002Fimages\u002Femail-templates\u002Fnew-sign-in.png",[159,1902,1903],{},"A receipt, with line items, a computed total and a footer of its own:",[338,1905,1906,2837],{},[341,1907,1909],{"label":1908},"order-receipt.vue",[231,1910,1913],{"className":346,"code":1911,"filename":1912,"language":349,"meta":236,"style":236},"\u003Cscript setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { EmailButton, EmailDivider, EmailFooter, EmailHeading, EmailLayout, EmailText } from '@frigear-nu\u002Femail-templates\u002Fcomponents'\n\nconst props = defineProps\u003C{\n  name: string\n  orderNumber: string\n  items: { label: string, quantity: number, amount: number }[]\n  currency: string\n  orderUrl: string\n}>()\n\n\u002F\u002F Templates render outside the Nuxt app, so format with Intl rather than app composables.\nconst money = (amount: number) => new Intl.NumberFormat('en', { style: 'currency', currency: props.currency }).format(amount)\nconst total = computed(() => props.items.reduce((sum, item) => sum + item.amount * item.quantity, 0))\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CEmailLayout :preview=\"`Receipt for order ${orderNumber}`\">\n    \u003CESubject>Your receipt for order {{ orderNumber }}\u003C\u002FESubject>\n    \u003CEmailHeading>Thanks for your order, {{ name }}!\u003C\u002FEmailHeading>\n    \u003CEmailText variant=\"muted\">\n      Order {{ orderNumber }}\n    \u003C\u002FEmailText>\n    \u003CEmailDivider \u002F>\n\n    \u003CERow\n      v-for=\"item in items\"\n      :key=\"item.label\"\n    >\n      \u003CEColumn>\n        \u003CEmailText style=\"margin: 0 0 8px\">\n          {{ item.quantity }} × {{ item.label }}\n        \u003C\u002FEmailText>\n      \u003C\u002FEColumn>\n      \u003CEColumn align=\"right\">\n        \u003CEmailText style=\"margin: 0 0 8px\">\n          {{ money(item.amount * item.quantity) }}\n        \u003C\u002FEmailText>\n      \u003C\u002FEColumn>\n    \u003C\u002FERow>\n\n    \u003CEmailDivider \u002F>\n    \u003CERow>\n      \u003CEColumn>\n        \u003CEmailText style=\"font-weight: 700; margin: 0 0 16px\">\n          Total\n        \u003C\u002FEmailText>\n      \u003C\u002FEColumn>\n      \u003CEColumn align=\"right\">\n        \u003CEmailText style=\"font-weight: 700; margin: 0 0 16px\">\n          {{ money(total) }}\n        \u003C\u002FEmailText>\n      \u003C\u002FEColumn>\n    \u003C\u002FERow>\n\n    \u003CEmailButton :href=\"orderUrl\">\n      View order\n    \u003C\u002FEmailButton>\n\n    \u003Ctemplate #footer>\n      \u003CEmailFooter>Questions about your order? Just reply to this email.\u003C\u002FEmailFooter>\n    \u003C\u002Ftemplate>\n  \u003C\u002FEmailLayout>\n\u003C\u002Ftemplate>\n","app\u002Femails\u002Forder-receipt.vue",[187,1914,1915,1935,1954,1993,1997,2012,2020,2029,2069,2078,2087,2093,2097,2102,2188,2264,2272,2276,2284,2311,2328,2345,2364,2369,2377,2385,2389,2395,2412,2430,2434,2442,2469,2474,2482,2490,2508,2534,2539,2547,2555,2563,2567,2575,2583,2591,2628,2633,2641,2649,2665,2699,2704,2713,2722,2731,2736,2758,2764,2773,2778,2792,2810,2819,2828],{"__ignoreMap":236},[240,1916,1917,1919,1921,1923,1925,1927,1929,1931,1933],{"class":242,"line":243},[240,1918,356],{"class":261},[240,1920,359],{"class":268},[240,1922,363],{"class":362},[240,1924,366],{"class":362},[240,1926,369],{"class":261},[240,1928,372],{"class":261},[240,1930,235],{"class":281},[240,1932,372],{"class":261},[240,1934,379],{"class":261},[240,1936,1937,1939,1941,1944,1946,1948,1950,1952],{"class":242,"line":265},[240,1938,384],{"class":246},[240,1940,387],{"class":261},[240,1942,1943],{"class":257}," computed",[240,1945,419],{"class":261},[240,1947,422],{"class":246},[240,1949,425],{"class":261},[240,1951,349],{"class":281},[240,1953,431],{"class":261},[240,1955,1956,1958,1960,1962,1964,1966,1968,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991],{"class":242,"line":293},[240,1957,384],{"class":246},[240,1959,387],{"class":261},[240,1961,390],{"class":257},[240,1963,393],{"class":261},[240,1965,396],{"class":257},[240,1967,393],{"class":261},[240,1969,1970],{"class":257}," EmailFooter",[240,1972,393],{"class":261},[240,1974,401],{"class":257},[240,1976,393],{"class":261},[240,1978,406],{"class":257},[240,1980,393],{"class":261},[240,1982,416],{"class":257},[240,1984,419],{"class":261},[240,1986,422],{"class":246},[240,1988,425],{"class":261},[240,1990,428],{"class":281},[240,1992,431],{"class":261},[240,1994,1995],{"class":242,"line":440},[240,1996,437],{"emptyLinePlaceholder":436},[240,1998,1999,2002,2005,2007,2010],{"class":242,"line":473},[240,2000,2001],{"class":362},"const",[240,2003,2004],{"class":257}," props ",[240,2006,369],{"class":261},[240,2008,2009],{"class":253}," defineProps",[240,2011,1280],{"class":261},[240,2013,2014,2016,2018],{"class":242,"line":483},[240,2015,1285],{"class":268},[240,2017,272],{"class":261},[240,2019,1290],{"class":454},[240,2021,2022,2025,2027],{"class":242,"line":488},[240,2023,2024],{"class":268},"  orderNumber",[240,2026,272],{"class":261},[240,2028,1290],{"class":454},[240,2030,2031,2034,2036,2038,2041,2043,2045,2047,2050,2052,2055,2057,2060,2062,2064,2066],{"class":242,"line":498},[240,2032,2033],{"class":268},"  items",[240,2035,272],{"class":261},[240,2037,387],{"class":261},[240,2039,2040],{"class":268}," label",[240,2042,272],{"class":261},[240,2044,455],{"class":454},[240,2046,393],{"class":261},[240,2048,2049],{"class":268}," quantity",[240,2051,272],{"class":261},[240,2053,2054],{"class":454}," number",[240,2056,393],{"class":261},[240,2058,2059],{"class":268}," amount",[240,2061,272],{"class":261},[240,2063,2054],{"class":454},[240,2065,419],{"class":261},[240,2067,2068],{"class":257},"[]\n",[240,2070,2071,2074,2076],{"class":242,"line":537},[240,2072,2073],{"class":268},"  currency",[240,2075,272],{"class":261},[240,2077,1290],{"class":454},[240,2079,2080,2083,2085],{"class":242,"line":558},[240,2081,2082],{"class":268},"  orderUrl",[240,2084,272],{"class":261},[240,2086,1290],{"class":454},[240,2088,2089,2091],{"class":242,"line":577},[240,2090,1331],{"class":261},[240,2092,470],{"class":257},[240,2094,2095],{"class":242,"line":588},[240,2096,437],{"emptyLinePlaceholder":436},[240,2098,2099],{"class":242,"line":607},[240,2100,2101],{"class":955},"\u002F\u002F Templates render outside the Nuxt app, so format with Intl rather than app composables.\n",[240,2103,2104,2106,2109,2111,2113,2117,2119,2121,2124,2127,2130,2133,2135,2138,2140,2142,2144,2146,2148,2150,2152,2154,2156,2159,2161,2163,2166,2168,2171,2173,2176,2178,2180,2182,2185],{"class":242,"line":640},[240,2105,2001],{"class":362},[240,2107,2108],{"class":257}," money ",[240,2110,369],{"class":261},[240,2112,784],{"class":261},[240,2114,2116],{"class":2115},"sHdIc","amount",[240,2118,272],{"class":261},[240,2120,2054],{"class":454},[240,2122,2123],{"class":261},")",[240,2125,2126],{"class":362}," =>",[240,2128,2129],{"class":261}," new",[240,2131,2132],{"class":257}," Intl",[240,2134,190],{"class":261},[240,2136,2137],{"class":253},"NumberFormat",[240,2139,258],{"class":257},[240,2141,278],{"class":261},[240,2143,787],{"class":281},[240,2145,278],{"class":261},[240,2147,393],{"class":261},[240,2149,387],{"class":261},[240,2151,1575],{"class":268},[240,2153,272],{"class":261},[240,2155,425],{"class":261},[240,2157,2158],{"class":281},"currency",[240,2160,278],{"class":261},[240,2162,393],{"class":261},[240,2164,2165],{"class":268}," currency",[240,2167,272],{"class":261},[240,2169,2170],{"class":257}," props",[240,2172,190],{"class":261},[240,2174,2175],{"class":257},"currency ",[240,2177,296],{"class":261},[240,2179,2123],{"class":257},[240,2181,190],{"class":261},[240,2183,2184],{"class":253},"format",[240,2186,2187],{"class":257},"(amount)\n",[240,2189,2190,2192,2195,2197,2199,2201,2204,2206,2208,2210,2213,2215,2218,2220,2222,2225,2227,2230,2232,2234,2237,2240,2242,2244,2247,2250,2252,2254,2257,2259,2261],{"class":242,"line":662},[240,2191,2001],{"class":362},[240,2193,2194],{"class":257}," total ",[240,2196,369],{"class":261},[240,2198,1943],{"class":253},[240,2200,258],{"class":257},[240,2202,2203],{"class":261},"()",[240,2205,2126],{"class":362},[240,2207,2170],{"class":257},[240,2209,190],{"class":261},[240,2211,2212],{"class":257},"items",[240,2214,190],{"class":261},[240,2216,2217],{"class":253},"reduce",[240,2219,258],{"class":257},[240,2221,258],{"class":261},[240,2223,2224],{"class":2115},"sum",[240,2226,393],{"class":261},[240,2228,2229],{"class":2115}," item",[240,2231,2123],{"class":261},[240,2233,2126],{"class":362},[240,2235,2236],{"class":257}," sum ",[240,2238,2239],{"class":261},"+",[240,2241,2229],{"class":257},[240,2243,190],{"class":261},[240,2245,2246],{"class":257},"amount ",[240,2248,2249],{"class":261},"*",[240,2251,2229],{"class":257},[240,2253,190],{"class":261},[240,2255,2256],{"class":257},"quantity",[240,2258,393],{"class":261},[240,2260,1604],{"class":1589},[240,2262,2263],{"class":257},"))\n",[240,2265,2266,2268,2270],{"class":242,"line":672},[240,2267,476],{"class":261},[240,2269,359],{"class":268},[240,2271,379],{"class":261},[240,2273,2274],{"class":242,"line":1411},[240,2275,437],{"emptyLinePlaceholder":436},[240,2277,2278,2280,2282],{"class":242,"line":1417},[240,2279,356],{"class":261},[240,2281,493],{"class":268},[240,2283,379],{"class":261},[240,2285,2286,2288,2290,2292,2294,2296,2298,2301,2303,2306,2309],{"class":242,"line":1427},[240,2287,501],{"class":261},[240,2289,504],{"class":268},[240,2291,507],{"class":261},[240,2293,510],{"class":362},[240,2295,369],{"class":261},[240,2297,515],{"class":261},[240,2299,2300],{"class":281},"Receipt for order ",[240,2302,521],{"class":261},[240,2304,2305],{"class":257},"orderNumber",[240,2307,2308],{"class":261},"}`\"",[240,2310,379],{"class":261},[240,2312,2313,2315,2317,2319,2322,2324,2326],{"class":242,"line":1436},[240,2314,540],{"class":261},[240,2316,543],{"class":268},[240,2318,546],{"class":261},[240,2320,2321],{"class":257},"Your receipt for order {{ orderNumber }}",[240,2323,476],{"class":261},[240,2325,543],{"class":268},[240,2327,379],{"class":261},[240,2329,2330,2332,2334,2336,2339,2341,2343],{"class":242,"line":1454},[240,2331,540],{"class":261},[240,2333,563],{"class":268},[240,2335,546],{"class":261},[240,2337,2338],{"class":257},"Thanks for your order, {{ name }}!",[240,2340,476],{"class":261},[240,2342,563],{"class":268},[240,2344,379],{"class":261},[240,2346,2347,2349,2351,2354,2356,2358,2360,2362],{"class":242,"line":1459},[240,2348,540],{"class":261},[240,2350,593],{"class":268},[240,2352,2353],{"class":362}," variant",[240,2355,369],{"class":261},[240,2357,372],{"class":261},[240,2359,1630],{"class":281},[240,2361,372],{"class":261},[240,2363,379],{"class":261},[240,2365,2366],{"class":242,"line":1465},[240,2367,2368],{"class":257},"      Order {{ orderNumber }}\n",[240,2370,2371,2373,2375],{"class":242,"line":1473},[240,2372,1420],{"class":261},[240,2374,593],{"class":268},[240,2376,379],{"class":261},[240,2378,2379,2381,2383],{"class":242,"line":1544},[240,2380,540],{"class":261},[240,2382,582],{"class":268},[240,2384,585],{"class":261},[240,2386,2387],{"class":242,"line":1561},[240,2388,437],{"emptyLinePlaceholder":436},[240,2390,2391,2393],{"class":242,"line":1567},[240,2392,540],{"class":261},[240,2394,1470],{"class":268},[240,2396,2397,2399,2401,2403,2406,2408,2410],{"class":242,"line":1611},[240,2398,1476],{"class":246},[240,2400,369],{"class":261},[240,2402,372],{"class":261},[240,2404,2405],{"class":257},"item",[240,2407,305],{"class":261},[240,2409,2212],{"class":257},[240,2411,1541],{"class":261},[240,2413,2414,2416,2418,2420,2422,2424,2426,2428],{"class":242,"line":1620},[240,2415,1547],{"class":261},[240,2417,1550],{"class":362},[240,2419,369],{"class":261},[240,2421,372],{"class":261},[240,2423,2405],{"class":257},[240,2425,190],{"class":261},[240,2427,1486],{"class":257},[240,2429,1541],{"class":261},[240,2431,2432],{"class":242,"line":1635},[240,2433,1564],{"class":261},[240,2435,2436,2438,2440],{"class":242,"line":1655},[240,2437,1570],{"class":261},[240,2439,1153],{"class":268},[240,2441,379],{"class":261},[240,2443,2444,2446,2448,2450,2452,2454,2456,2458,2460,2462,2465,2467],{"class":242,"line":1661},[240,2445,1614],{"class":261},[240,2447,593],{"class":268},[240,2449,1575],{"class":362},[240,2451,369],{"class":261},[240,2453,372],{"class":261},[240,2455,1645],{"class":1582},[240,2457,1586],{"class":261},[240,2459,1650],{"class":1589},[240,2461,1604],{"class":1589},[240,2463,2464],{"class":1589}," 8px",[240,2466,372],{"class":261},[240,2468,379],{"class":261},[240,2470,2471],{"class":242,"line":1667},[240,2472,2473],{"class":257},"          {{ item.quantity }} × {{ item.label }}\n",[240,2475,2476,2478,2480],{"class":242,"line":1677},[240,2477,1670],{"class":261},[240,2479,593],{"class":268},[240,2481,379],{"class":261},[240,2483,2484,2486,2488],{"class":242,"line":1687},[240,2485,1680],{"class":261},[240,2487,1153],{"class":268},[240,2489,379],{"class":261},[240,2491,2492,2494,2496,2499,2501,2504,2506],{"class":242,"line":1712},[240,2493,1570],{"class":261},[240,2495,1153],{"class":268},[240,2497,2498],{"class":261}," align=",[240,2500,372],{"class":261},[240,2502,2503],{"class":281},"right",[240,2505,372],{"class":261},[240,2507,379],{"class":261},[240,2509,2510,2512,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532],{"class":242,"line":1735},[240,2511,1614],{"class":261},[240,2513,593],{"class":268},[240,2515,1575],{"class":362},[240,2517,369],{"class":261},[240,2519,372],{"class":261},[240,2521,1645],{"class":1582},[240,2523,1586],{"class":261},[240,2525,1650],{"class":1589},[240,2527,1604],{"class":1589},[240,2529,2464],{"class":1589},[240,2531,372],{"class":261},[240,2533,379],{"class":261},[240,2535,2536],{"class":242,"line":1741},[240,2537,2538],{"class":257},"          {{ money(item.amount * item.quantity) }}\n",[240,2540,2541,2543,2545],{"class":242,"line":1750},[240,2542,1670],{"class":261},[240,2544,593],{"class":268},[240,2546,379],{"class":261},[240,2548,2549,2551,2553],{"class":242,"line":1759},[240,2550,1680],{"class":261},[240,2552,1153],{"class":268},[240,2554,379],{"class":261},[240,2556,2557,2559,2561],{"class":242,"line":1768},[240,2558,1420],{"class":261},[240,2560,1150],{"class":268},[240,2562,379],{"class":261},[240,2564,2565],{"class":242,"line":1773},[240,2566,437],{"emptyLinePlaceholder":436},[240,2568,2569,2571,2573],{"class":242,"line":1782},[240,2570,540],{"class":261},[240,2572,582],{"class":268},[240,2574,585],{"class":261},[240,2576,2577,2579,2581],{"class":242,"line":1800},[240,2578,540],{"class":261},[240,2580,1150],{"class":268},[240,2582,379],{"class":261},[240,2584,2585,2587,2589],{"class":242,"line":1808},[240,2586,1570],{"class":261},[240,2588,1153],{"class":268},[240,2590,379],{"class":261},[240,2592,2593,2595,2597,2599,2601,2603,2606,2608,2611,2613,2615,2617,2619,2621,2624,2626],{"class":242,"line":1824},[240,2594,1614],{"class":261},[240,2596,593],{"class":268},[240,2598,1575],{"class":362},[240,2600,369],{"class":261},[240,2602,372],{"class":261},[240,2604,2605],{"class":1582},"font-weight",[240,2607,1586],{"class":261},[240,2609,2610],{"class":1589},"700",[240,2612,1593],{"class":261},[240,2614,1645],{"class":1582},[240,2616,1586],{"class":261},[240,2618,1650],{"class":1589},[240,2620,1604],{"class":1589},[240,2622,2623],{"class":1589}," 16px",[240,2625,372],{"class":261},[240,2627,379],{"class":261},[240,2629,2630],{"class":242,"line":1838},[240,2631,2632],{"class":257},"          Total\n",[240,2634,2635,2637,2639],{"class":242,"line":1843},[240,2636,1670],{"class":261},[240,2638,593],{"class":268},[240,2640,379],{"class":261},[240,2642,2643,2645,2647],{"class":242,"line":1849},[240,2644,1680],{"class":261},[240,2646,1153],{"class":268},[240,2648,379],{"class":261},[240,2650,2651,2653,2655,2657,2659,2661,2663],{"class":242,"line":1858},[240,2652,1570],{"class":261},[240,2654,1153],{"class":268},[240,2656,2498],{"class":261},[240,2658,372],{"class":261},[240,2660,2503],{"class":281},[240,2662,372],{"class":261},[240,2664,379],{"class":261},[240,2666,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2689,2691,2693,2695,2697],{"class":242,"line":1879},[240,2668,1614],{"class":261},[240,2670,593],{"class":268},[240,2672,1575],{"class":362},[240,2674,369],{"class":261},[240,2676,372],{"class":261},[240,2678,2605],{"class":1582},[240,2680,1586],{"class":261},[240,2682,2610],{"class":1589},[240,2684,1593],{"class":261},[240,2686,1645],{"class":1582},[240,2688,1586],{"class":261},[240,2690,1650],{"class":1589},[240,2692,1604],{"class":1589},[240,2694,2623],{"class":1589},[240,2696,372],{"class":261},[240,2698,379],{"class":261},[240,2700,2701],{"class":242,"line":1888},[240,2702,2703],{"class":257},"          {{ money(total) }}\n",[240,2705,2707,2709,2711],{"class":242,"line":2706},53,[240,2708,1670],{"class":261},[240,2710,593],{"class":268},[240,2712,379],{"class":261},[240,2714,2716,2718,2720],{"class":242,"line":2715},54,[240,2717,1680],{"class":261},[240,2719,1153],{"class":268},[240,2721,379],{"class":261},[240,2723,2725,2727,2729],{"class":242,"line":2724},55,[240,2726,1420],{"class":261},[240,2728,1150],{"class":268},[240,2730,379],{"class":261},[240,2732,2734],{"class":242,"line":2733},56,[240,2735,437],{"emptyLinePlaceholder":436},[240,2737,2739,2741,2743,2745,2747,2749,2751,2754,2756],{"class":242,"line":2738},57,[240,2740,540],{"class":261},[240,2742,612],{"class":268},[240,2744,507],{"class":261},[240,2746,617],{"class":362},[240,2748,369],{"class":261},[240,2750,372],{"class":261},[240,2752,2753],{"class":257},"orderUrl",[240,2755,372],{"class":261},[240,2757,379],{"class":261},[240,2759,2761],{"class":242,"line":2760},58,[240,2762,2763],{"class":257},"      View order\n",[240,2765,2767,2769,2771],{"class":242,"line":2766},59,[240,2768,1420],{"class":261},[240,2770,612],{"class":268},[240,2772,379],{"class":261},[240,2774,2776],{"class":242,"line":2775},60,[240,2777,437],{"emptyLinePlaceholder":436},[240,2779,2781,2783,2785,2788,2790],{"class":242,"line":2780},61,[240,2782,540],{"class":261},[240,2784,493],{"class":268},[240,2786,2787],{"class":261}," #",[240,2789,791],{"class":362},[240,2791,379],{"class":261},[240,2793,2795,2797,2799,2801,2804,2806,2808],{"class":242,"line":2794},62,[240,2796,1570],{"class":261},[240,2798,800],{"class":268},[240,2800,546],{"class":261},[240,2802,2803],{"class":257},"Questions about your order? Just reply to this email.",[240,2805,476],{"class":261},[240,2807,800],{"class":268},[240,2809,379],{"class":261},[240,2811,2813,2815,2817],{"class":242,"line":2812},63,[240,2814,1420],{"class":261},[240,2816,493],{"class":268},[240,2818,379],{"class":261},[240,2820,2822,2824,2826],{"class":242,"line":2821},64,[240,2823,665],{"class":261},[240,2825,504],{"class":268},[240,2827,379],{"class":261},[240,2829,2831,2833,2835],{"class":242,"line":2830},65,[240,2832,476],{"class":261},[240,2834,493],{"class":268},[240,2836,379],{"class":261},[341,2838,2839],{"label":681},[683,2840],{"alt":2841,"src":2842},"An order receipt with line items and a total","\u002Fimages\u002Femail-templates\u002Forder-receipt.png",[159,2844,2845],{},"A digest with no button: a list of links, an empty state, and an unsubscribe link in the footer:",[338,2847,2848,3421],{},[341,2849,2851],{"label":2850},"weekly-digest.vue",[231,2852,2855],{"className":346,"code":2853,"filename":2854,"language":349,"meta":236,"style":236},"\u003Cscript setup lang=\"ts\">\nimport { EmailDivider, EmailFooter, EmailHeading, EmailLayout, EmailText } from '@frigear-nu\u002Femail-templates\u002Fcomponents'\n\ndefineProps\u003C{\n  name: string\n  events: { title: string, date: string, url: string }[]\n  unsubscribeUrl: string\n}>()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CEmailLayout preview=\"Upcoming events this week\">\n    \u003CESubject>This week at Frigear\u003C\u002FESubject>\n    \u003CEmailHeading>Hi {{ name }}, here’s what’s coming up\u003C\u002FEmailHeading>\n    \u003CEmailDivider \u002F>\n\n    \u003Ctemplate\n      v-for=\"event in events\"\n      :key=\"event.url\"\n    >\n      \u003CEmailText style=\"margin: 0 0 4px; font-weight: 600\">\n        \u003CELink\n          :href=\"event.url\"\n          style=\"color: inherit\"\n        >\n          {{ event.title }}\n        \u003C\u002FELink>\n      \u003C\u002FEmailText>\n      \u003CEmailText variant=\"muted\">\n        {{ event.date }}\n      \u003C\u002FEmailText>\n    \u003C\u002Ftemplate>\n\n    \u003CEmailText v-if=\"!events.length\">\n      Nothing scheduled this week. We’ll let you know when something comes up.\n    \u003C\u002FEmailText>\n\n    \u003C!-- Replace the default footer, e.g. with an unsubscribe link. -->\n    \u003Ctemplate #footer>\n      \u003CEmailFooter>\n        You get this digest because you follow Frigear events.\n        \u003Ca\n          :href=\"unsubscribeUrl\"\n          style=\"color: inherit\"\n        >Unsubscribe\u003C\u002Fa>.\n      \u003C\u002FEmailFooter>\n    \u003C\u002Ftemplate>\n  \u003C\u002FEmailLayout>\n\u003C\u002Ftemplate>\n","app\u002Femails\u002Fweekly-digest.vue",[187,2856,2857,2877,2911,2915,2921,2929,2966,2975,2981,2989,2993,3001,3020,3037,3054,3062,3066,3073,3092,3111,3115,3151,3158,3177,3195,3199,3204,3213,3221,3239,3244,3252,3260,3264,3291,3296,3304,3308,3313,3325,3333,3338,3345,3359,3372,3389,3397,3405,3413],{"__ignoreMap":236},[240,2858,2859,2861,2863,2865,2867,2869,2871,2873,2875],{"class":242,"line":243},[240,2860,356],{"class":261},[240,2862,359],{"class":268},[240,2864,363],{"class":362},[240,2866,366],{"class":362},[240,2868,369],{"class":261},[240,2870,372],{"class":261},[240,2872,235],{"class":281},[240,2874,372],{"class":261},[240,2876,379],{"class":261},[240,2878,2879,2881,2883,2885,2887,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909],{"class":242,"line":265},[240,2880,384],{"class":246},[240,2882,387],{"class":261},[240,2884,396],{"class":257},[240,2886,393],{"class":261},[240,2888,1970],{"class":257},[240,2890,393],{"class":261},[240,2892,401],{"class":257},[240,2894,393],{"class":261},[240,2896,406],{"class":257},[240,2898,393],{"class":261},[240,2900,416],{"class":257},[240,2902,419],{"class":261},[240,2904,422],{"class":246},[240,2906,425],{"class":261},[240,2908,428],{"class":281},[240,2910,431],{"class":261},[240,2912,2913],{"class":242,"line":293},[240,2914,437],{"emptyLinePlaceholder":436},[240,2916,2917,2919],{"class":242,"line":440},[240,2918,443],{"class":253},[240,2920,1280],{"class":261},[240,2922,2923,2925,2927],{"class":242,"line":473},[240,2924,1285],{"class":268},[240,2926,272],{"class":261},[240,2928,1290],{"class":454},[240,2930,2931,2934,2936,2938,2941,2943,2945,2947,2950,2952,2954,2956,2958,2960,2962,2964],{"class":242,"line":483},[240,2932,2933],{"class":268},"  events",[240,2935,272],{"class":261},[240,2937,387],{"class":261},[240,2939,2940],{"class":268}," title",[240,2942,272],{"class":261},[240,2944,455],{"class":454},[240,2946,393],{"class":261},[240,2948,2949],{"class":268}," date",[240,2951,272],{"class":261},[240,2953,455],{"class":454},[240,2955,393],{"class":261},[240,2957,460],{"class":268},[240,2959,272],{"class":261},[240,2961,455],{"class":454},[240,2963,419],{"class":261},[240,2965,2068],{"class":257},[240,2967,2968,2971,2973],{"class":242,"line":488},[240,2969,2970],{"class":268},"  unsubscribeUrl",[240,2972,272],{"class":261},[240,2974,1290],{"class":454},[240,2976,2977,2979],{"class":242,"line":498},[240,2978,1331],{"class":261},[240,2980,470],{"class":257},[240,2982,2983,2985,2987],{"class":242,"line":537},[240,2984,476],{"class":261},[240,2986,359],{"class":268},[240,2988,379],{"class":261},[240,2990,2991],{"class":242,"line":558},[240,2992,437],{"emptyLinePlaceholder":436},[240,2994,2995,2997,2999],{"class":242,"line":577},[240,2996,356],{"class":261},[240,2998,493],{"class":268},[240,3000,379],{"class":261},[240,3002,3003,3005,3007,3009,3011,3013,3016,3018],{"class":242,"line":588},[240,3004,501],{"class":261},[240,3006,504],{"class":268},[240,3008,1362],{"class":362},[240,3010,369],{"class":261},[240,3012,372],{"class":261},[240,3014,3015],{"class":281},"Upcoming events this week",[240,3017,372],{"class":261},[240,3019,379],{"class":261},[240,3021,3022,3024,3026,3028,3031,3033,3035],{"class":242,"line":607},[240,3023,540],{"class":261},[240,3025,543],{"class":268},[240,3027,546],{"class":261},[240,3029,3030],{"class":257},"This week at Frigear",[240,3032,476],{"class":261},[240,3034,543],{"class":268},[240,3036,379],{"class":261},[240,3038,3039,3041,3043,3045,3048,3050,3052],{"class":242,"line":640},[240,3040,540],{"class":261},[240,3042,563],{"class":268},[240,3044,546],{"class":261},[240,3046,3047],{"class":257},"Hi {{ name }}, here’s what’s coming up",[240,3049,476],{"class":261},[240,3051,563],{"class":268},[240,3053,379],{"class":261},[240,3055,3056,3058,3060],{"class":242,"line":662},[240,3057,540],{"class":261},[240,3059,582],{"class":268},[240,3061,585],{"class":261},[240,3063,3064],{"class":242,"line":672},[240,3065,437],{"emptyLinePlaceholder":436},[240,3067,3068,3070],{"class":242,"line":1411},[240,3069,540],{"class":261},[240,3071,3072],{"class":268},"template\n",[240,3074,3075,3077,3079,3081,3084,3087,3090],{"class":242,"line":1417},[240,3076,1476],{"class":246},[240,3078,369],{"class":261},[240,3080,372],{"class":261},[240,3082,3083],{"class":257},"event ",[240,3085,3086],{"class":261},"in",[240,3088,3089],{"class":257}," events",[240,3091,1541],{"class":261},[240,3093,3094,3096,3098,3100,3102,3105,3107,3109],{"class":242,"line":1427},[240,3095,1547],{"class":261},[240,3097,1550],{"class":362},[240,3099,369],{"class":261},[240,3101,372],{"class":261},[240,3103,3104],{"class":257},"event",[240,3106,190],{"class":261},[240,3108,624],{"class":257},[240,3110,1541],{"class":261},[240,3112,3113],{"class":242,"line":1436},[240,3114,1564],{"class":261},[240,3116,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3138,3140,3142,3144,3147,3149],{"class":242,"line":1454},[240,3118,1570],{"class":261},[240,3120,593],{"class":268},[240,3122,1575],{"class":362},[240,3124,369],{"class":261},[240,3126,372],{"class":261},[240,3128,1645],{"class":1582},[240,3130,1586],{"class":261},[240,3132,1650],{"class":1589},[240,3134,1604],{"class":1589},[240,3136,3137],{"class":1589}," 4px",[240,3139,1593],{"class":261},[240,3141,2605],{"class":1582},[240,3143,1586],{"class":261},[240,3145,3146],{"class":1589},"600",[240,3148,372],{"class":261},[240,3150,379],{"class":261},[240,3152,3153,3155],{"class":242,"line":1459},[240,3154,1614],{"class":261},[240,3156,3157],{"class":268},"ELink\n",[240,3159,3160,3163,3165,3167,3169,3171,3173,3175],{"class":242,"line":1465},[240,3161,3162],{"class":261},"          :",[240,3164,617],{"class":362},[240,3166,369],{"class":261},[240,3168,372],{"class":261},[240,3170,3104],{"class":257},[240,3172,190],{"class":261},[240,3174,624],{"class":257},[240,3176,1541],{"class":261},[240,3178,3179,3181,3183,3185,3188,3190,3193],{"class":242,"line":1473},[240,3180,1638],{"class":362},[240,3182,369],{"class":261},[240,3184,372],{"class":261},[240,3186,3187],{"class":1582},"color",[240,3189,1586],{"class":261},[240,3191,3192],{"class":257},"inherit",[240,3194,1541],{"class":261},[240,3196,3197],{"class":242,"line":1544},[240,3198,1658],{"class":261},[240,3200,3201],{"class":242,"line":1561},[240,3202,3203],{"class":257},"          {{ event.title }}\n",[240,3205,3206,3208,3211],{"class":242,"line":1567},[240,3207,1670],{"class":261},[240,3209,3210],{"class":268},"ELink",[240,3212,379],{"class":261},[240,3214,3215,3217,3219],{"class":242,"line":1611},[240,3216,1680],{"class":261},[240,3218,593],{"class":268},[240,3220,379],{"class":261},[240,3222,3223,3225,3227,3229,3231,3233,3235,3237],{"class":242,"line":1620},[240,3224,1570],{"class":261},[240,3226,593],{"class":268},[240,3228,2353],{"class":362},[240,3230,369],{"class":261},[240,3232,372],{"class":261},[240,3234,1630],{"class":281},[240,3236,372],{"class":261},[240,3238,379],{"class":261},[240,3240,3241],{"class":242,"line":1635},[240,3242,3243],{"class":257},"        {{ event.date }}\n",[240,3245,3246,3248,3250],{"class":242,"line":1655},[240,3247,1680],{"class":261},[240,3249,593],{"class":268},[240,3251,379],{"class":261},[240,3253,3254,3256,3258],{"class":242,"line":1661},[240,3255,1420],{"class":261},[240,3257,493],{"class":268},[240,3259,379],{"class":261},[240,3261,3262],{"class":242,"line":1667},[240,3263,437],{"emptyLinePlaceholder":436},[240,3265,3266,3268,3270,3273,3275,3277,3279,3282,3284,3287,3289],{"class":242,"line":1677},[240,3267,540],{"class":261},[240,3269,593],{"class":268},[240,3271,3272],{"class":246}," v-if",[240,3274,369],{"class":261},[240,3276,372],{"class":261},[240,3278,529],{"class":261},[240,3280,3281],{"class":257},"events",[240,3283,190],{"class":261},[240,3285,3286],{"class":257},"length",[240,3288,372],{"class":261},[240,3290,379],{"class":261},[240,3292,3293],{"class":242,"line":1687},[240,3294,3295],{"class":257},"      Nothing scheduled this week. We’ll let you know when something comes up.\n",[240,3297,3298,3300,3302],{"class":242,"line":1712},[240,3299,1420],{"class":261},[240,3301,593],{"class":268},[240,3303,379],{"class":261},[240,3305,3306],{"class":242,"line":1735},[240,3307,437],{"emptyLinePlaceholder":436},[240,3309,3310],{"class":242,"line":1741},[240,3311,3312],{"class":955},"    \u003C!-- Replace the default footer, e.g. with an unsubscribe link. -->\n",[240,3314,3315,3317,3319,3321,3323],{"class":242,"line":1750},[240,3316,540],{"class":261},[240,3318,493],{"class":268},[240,3320,2787],{"class":261},[240,3322,791],{"class":362},[240,3324,379],{"class":261},[240,3326,3327,3329,3331],{"class":242,"line":1759},[240,3328,1570],{"class":261},[240,3330,800],{"class":268},[240,3332,379],{"class":261},[240,3334,3335],{"class":242,"line":1768},[240,3336,3337],{"class":257},"        You get this digest because you follow Frigear events.\n",[240,3339,3340,3342],{"class":242,"line":1773},[240,3341,1614],{"class":261},[240,3343,3344],{"class":268},"a\n",[240,3346,3347,3350,3352,3354,3357],{"class":242,"line":1782},[240,3348,3349],{"class":362},"          :href",[240,3351,369],{"class":261},[240,3353,372],{"class":261},[240,3355,3356],{"class":281},"unsubscribeUrl",[240,3358,1541],{"class":261},[240,3360,3361,3363,3365,3367,3370],{"class":242,"line":1800},[240,3362,1638],{"class":362},[240,3364,369],{"class":261},[240,3366,372],{"class":261},[240,3368,3369],{"class":281},"color: inherit",[240,3371,1541],{"class":261},[240,3373,3374,3377,3380,3382,3384,3386],{"class":242,"line":1808},[240,3375,3376],{"class":261},"        >",[240,3378,3379],{"class":257},"Unsubscribe",[240,3381,476],{"class":261},[240,3383,163],{"class":268},[240,3385,546],{"class":261},[240,3387,3388],{"class":257},".\n",[240,3390,3391,3393,3395],{"class":242,"line":1824},[240,3392,1680],{"class":261},[240,3394,800],{"class":268},[240,3396,379],{"class":261},[240,3398,3399,3401,3403],{"class":242,"line":1838},[240,3400,1420],{"class":261},[240,3402,493],{"class":268},[240,3404,379],{"class":261},[240,3406,3407,3409,3411],{"class":242,"line":1843},[240,3408,665],{"class":261},[240,3410,504],{"class":268},[240,3412,379],{"class":261},[240,3414,3415,3417,3419],{"class":242,"line":1849},[240,3416,476],{"class":261},[240,3418,493],{"class":268},[240,3420,379],{"class":261},[341,3422,3423],{"label":681},[683,3424],{"alt":3425,"src":3426},"A weekly digest with event links and an unsubscribe footer","\u002Fimages\u002Femail-templates\u002Fweekly-digest.png",[159,3428,3429,3430,272],{},"Send them like any other template. The props are typed from each ",[187,3431,443],{},[231,3433,3435],{"className":233,"code":3434,"language":235,"meta":236,"style":236},"await sendEmailTemplate('order-receipt', {\n  name: user.name,\n  orderNumber: order.number,\n  currency: 'DKK',\n  items: order.lines.map(line => ({ label: line.label, quantity: line.quantity, amount: line.amount })),\n  orderUrl: `${origin}\u002Forders\u002F${order.number}`,\n}, { to: user.email })\n",[187,3436,3437,3458,3473,3489,3504,3575,3606],{"__ignoreMap":236},[240,3438,3439,3442,3445,3447,3449,3452,3454,3456],{"class":242,"line":243},[240,3440,3441],{"class":246},"await",[240,3443,3444],{"class":253}," sendEmailTemplate",[240,3446,258],{"class":257},[240,3448,278],{"class":261},[240,3450,3451],{"class":281},"order-receipt",[240,3453,278],{"class":261},[240,3455,393],{"class":261},[240,3457,936],{"class":261},[240,3459,3460,3462,3464,3467,3469,3471],{"class":242,"line":265},[240,3461,1285],{"class":268},[240,3463,272],{"class":261},[240,3465,3466],{"class":257}," user",[240,3468,190],{"class":261},[240,3470,524],{"class":257},[240,3472,290],{"class":261},[240,3474,3475,3477,3479,3482,3484,3487],{"class":242,"line":293},[240,3476,2024],{"class":268},[240,3478,272],{"class":261},[240,3480,3481],{"class":257}," order",[240,3483,190],{"class":261},[240,3485,3486],{"class":257},"number",[240,3488,290],{"class":261},[240,3490,3491,3493,3495,3497,3500,3502],{"class":242,"line":440},[240,3492,2073],{"class":268},[240,3494,272],{"class":261},[240,3496,425],{"class":261},[240,3498,3499],{"class":281},"DKK",[240,3501,278],{"class":261},[240,3503,290],{"class":261},[240,3505,3506,3508,3510,3512,3514,3517,3519,3522,3524,3526,3528,3530,3533,3535,3537,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562,3564,3566,3568,3570,3573],{"class":242,"line":473},[240,3507,2033],{"class":268},[240,3509,272],{"class":261},[240,3511,3481],{"class":257},[240,3513,190],{"class":261},[240,3515,3516],{"class":257},"lines",[240,3518,190],{"class":261},[240,3520,3521],{"class":253},"map",[240,3523,258],{"class":257},[240,3525,242],{"class":2115},[240,3527,2126],{"class":362},[240,3529,784],{"class":257},[240,3531,3532],{"class":261},"{",[240,3534,2040],{"class":268},[240,3536,272],{"class":261},[240,3538,3539],{"class":257}," line",[240,3541,190],{"class":261},[240,3543,1486],{"class":257},[240,3545,393],{"class":261},[240,3547,2049],{"class":268},[240,3549,272],{"class":261},[240,3551,3539],{"class":257},[240,3553,190],{"class":261},[240,3555,2256],{"class":257},[240,3557,393],{"class":261},[240,3559,2059],{"class":268},[240,3561,272],{"class":261},[240,3563,3539],{"class":257},[240,3565,190],{"class":261},[240,3567,2246],{"class":257},[240,3569,296],{"class":261},[240,3571,3572],{"class":257},"))",[240,3574,290],{"class":261},[240,3576,3577,3579,3581,3584,3587,3589,3592,3594,3597,3599,3601,3604],{"class":242,"line":483},[240,3578,2082],{"class":268},[240,3580,272],{"class":261},[240,3582,3583],{"class":261}," `${",[240,3585,3586],{"class":257},"origin",[240,3588,296],{"class":261},[240,3590,3591],{"class":281},"\u002Forders\u002F",[240,3593,521],{"class":261},[240,3595,3596],{"class":257},"order",[240,3598,190],{"class":261},[240,3600,3486],{"class":257},[240,3602,3603],{"class":261},"}`",[240,3605,290],{"class":261},[240,3607,3608,3611,3613,3616,3618,3620,3622,3625,3627],{"class":242,"line":488},[240,3609,3610],{"class":261},"},",[240,3612,387],{"class":261},[240,3614,3615],{"class":268}," to",[240,3617,272],{"class":261},[240,3619,3466],{"class":257},[240,3621,190],{"class":261},[240,3623,3624],{"class":257},"email ",[240,3626,296],{"class":261},[240,3628,299],{"class":257},[226,3630,3632],{"id":3631},"server","Server",[159,3634,3635,221,3638,3641],{},[187,3636,3637],{},"sendEmailTemplate",[187,3639,3640],{},"renderEmailTemplate"," are auto-imported in server code.",[231,3643,3645],{"className":233,"code":3644,"language":235,"meta":236,"style":236},"await sendEmailTemplate('welcome', { name: user.name, url }, {\n  to: user.email,\n  replyTo: 'support@frigear.nu',\n})\n",[187,3646,3647,3685,3701,3717],{"__ignoreMap":236},[240,3648,3649,3651,3653,3655,3657,3660,3662,3664,3666,3668,3670,3672,3674,3676,3678,3681,3683],{"class":242,"line":243},[240,3650,3441],{"class":246},[240,3652,3444],{"class":253},[240,3654,258],{"class":257},[240,3656,278],{"class":261},[240,3658,3659],{"class":281},"welcome",[240,3661,278],{"class":261},[240,3663,393],{"class":261},[240,3665,387],{"class":261},[240,3667,449],{"class":268},[240,3669,272],{"class":261},[240,3671,3466],{"class":257},[240,3673,190],{"class":261},[240,3675,524],{"class":257},[240,3677,393],{"class":261},[240,3679,3680],{"class":257}," url ",[240,3682,3610],{"class":261},[240,3684,936],{"class":261},[240,3686,3687,3690,3692,3694,3696,3699],{"class":242,"line":265},[240,3688,3689],{"class":268},"  to",[240,3691,272],{"class":261},[240,3693,3466],{"class":257},[240,3695,190],{"class":261},[240,3697,3698],{"class":257},"email",[240,3700,290],{"class":261},[240,3702,3703,3706,3708,3710,3713,3715],{"class":242,"line":293},[240,3704,3705],{"class":268},"  replyTo",[240,3707,272],{"class":261},[240,3709,425],{"class":261},[240,3711,3712],{"class":281},"support@frigear.nu",[240,3714,278],{"class":261},[240,3716,290],{"class":261},[240,3718,3719,3721],{"class":242,"line":440},[240,3720,296],{"class":261},[240,3722,299],{"class":257},[748,3724,3725,3735],{},[751,3726,3727],{},[754,3728,3729,3732],{},[757,3730,3731],{},"Function",[757,3733,3734],{},"Signature",[767,3736,3737,3752],{},[754,3738,3739,3743],{},[772,3740,3741],{},[187,3742,3637],{},[772,3744,3745,3748,3749,190],{},[187,3746,3747],{},"(name, props, message) => Promise\u003Cvoid>",". Renders, then sends with ",[187,3750,3751],{},"dispatchEmailNotification",[754,3753,3754,3758],{},[772,3755,3756],{},[187,3757,3640],{},[772,3759,3760,3763],{},[187,3761,3762],{},"(name, props, { locale?, text? }) => Promise\u003C{ subject?, body, text? }>",". Renders without sending.",[159,3765,3766,3769,3770,3773,3774,784,3777,196,3780,196,3783,3786],{},[187,3767,3768],{},"message"," is an ",[187,3771,3772],{},"EmailNotification"," without ",[187,3775,3776],{},"body",[187,3778,3779],{},"to",[187,3781,3782],{},"replyTo",[187,3784,3785],{},"meta","), plus:",[748,3788,3789,3799],{},[751,3790,3791],{},[754,3792,3793,3796],{},[757,3794,3795],{},"Field",[757,3797,3798],{},"Purpose",[767,3800,3801,3814,3827],{},[754,3802,3803,3808],{},[772,3804,3805],{},[187,3806,3807],{},"subject",[772,3809,3810,3811,3813],{},"Overrides the template's ",[187,3812,696],{},". Required when the template has none.",[754,3815,3816,3821],{},[772,3817,3818],{},[187,3819,3820],{},"text",[772,3822,3823,3824,3826],{},"Your own plain-text body, or ",[187,3825,720],{}," to send HTML only. By default it is rendered from the template.",[754,3828,3829,3834],{},[772,3830,3831],{},[187,3832,3833],{},"locale",[772,3835,3836,3837,3839],{},"Locale to render with, when ",[187,3838,704],{}," is installed.",[159,3841,3842,3843,3846],{},"The template names are typed, and so are each template's props. Both are generated into\n",[187,3844,3845],{},".nuxt\u002Ftypes\u002Femail-templates.d.ts"," from every template the renderer will see, so a misspelled name or a missing prop\ndoes not compile. Adding or removing a template in dev regenerates them.",[226,3848,3850],{"id":3849},"module-emails","Module emails",[159,3852,3853],{},"A module dispatches its email exactly as before, with the plain HTML as the fallback, and names its template:",[231,3855,3857],{"className":233,"code":3856,"language":235,"meta":236,"style":236},"await dispatchEmailNotification({\n  to,\n  subject: 'Your sign-in link',\n  body: `\u003Cp>…\u003C\u002Fp>`,\n  text: `…`,\n  template: { name: 'auth-magic-link', props: { name, url } },\n})\n",[187,3858,3859,3870,3876,3892,3910,3926,3964],{"__ignoreMap":236},[240,3860,3861,3863,3866,3868],{"class":242,"line":243},[240,3862,3441],{"class":246},[240,3864,3865],{"class":253}," dispatchEmailNotification",[240,3867,258],{"class":257},[240,3869,262],{"class":261},[240,3871,3872,3874],{"class":242,"line":265},[240,3873,3689],{"class":257},[240,3875,290],{"class":261},[240,3877,3878,3881,3883,3885,3888,3890],{"class":242,"line":293},[240,3879,3880],{"class":268},"  subject",[240,3882,272],{"class":261},[240,3884,425],{"class":261},[240,3886,3887],{"class":281},"Your sign-in link",[240,3889,278],{"class":261},[240,3891,290],{"class":261},[240,3893,3894,3897,3899,3902,3905,3908],{"class":242,"line":440},[240,3895,3896],{"class":268},"  body",[240,3898,272],{"class":261},[240,3900,3901],{"class":261}," `",[240,3903,3904],{"class":281},"\u003Cp>…\u003C\u002Fp>",[240,3906,3907],{"class":261},"`",[240,3909,290],{"class":261},[240,3911,3912,3915,3917,3919,3922,3924],{"class":242,"line":473},[240,3913,3914],{"class":268},"  text",[240,3916,272],{"class":261},[240,3918,3901],{"class":261},[240,3920,3921],{"class":281},"…",[240,3923,3907],{"class":261},[240,3925,290],{"class":261},[240,3927,3928,3931,3933,3935,3937,3939,3941,3944,3946,3948,3950,3952,3954,3956,3958,3960,3962],{"class":242,"line":483},[240,3929,3930],{"class":268},"  template",[240,3932,272],{"class":261},[240,3934,387],{"class":261},[240,3936,449],{"class":268},[240,3938,272],{"class":261},[240,3940,425],{"class":261},[240,3942,3943],{"class":281},"auth-magic-link",[240,3945,278],{"class":261},[240,3947,393],{"class":261},[240,3949,2170],{"class":268},[240,3951,272],{"class":261},[240,3953,387],{"class":261},[240,3955,449],{"class":257},[240,3957,393],{"class":261},[240,3959,3680],{"class":257},[240,3961,296],{"class":261},[240,3963,1029],{"class":261},[240,3965,3966,3968],{"class":242,"line":488},[240,3967,296],{"class":261},[240,3969,299],{"class":257},[159,3971,3972,3973,3975,3976,3979],{},"The module ships the template, built from the ",[163,3974,335],{"href":334},", and registers its directory with Notify's\n",[187,3977,3978],{},"notify:email:templates"," build hook. That hook\nlives in Notify, so the module does not depend on this one:",[231,3981,3983],{"className":233,"code":3982,"language":235,"meta":236,"style":236},"\u002F\u002F module setup()\nnuxt.hook('notify:email:templates', sources => sources.push({ dir: resolver.resolve('.\u002Fruntime\u002Femails') }))\n",[187,3984,3985,3990],{"__ignoreMap":236},[240,3986,3987],{"class":242,"line":243},[240,3988,3989],{"class":955},"\u002F\u002F module setup()\n",[240,3991,3992,3995,3997,4000,4002,4004,4006,4008,4010,4013,4015,4017,4019,4022,4024,4026,4029,4031,4034,4036,4039,4041,4043,4046,4048,4051,4053],{"class":242,"line":265},[240,3993,3994],{"class":257},"nuxt",[240,3996,190],{"class":261},[240,3998,3999],{"class":253},"hook",[240,4001,258],{"class":257},[240,4003,278],{"class":261},[240,4005,3978],{"class":281},[240,4007,278],{"class":261},[240,4009,393],{"class":261},[240,4011,4012],{"class":2115}," sources",[240,4014,2126],{"class":362},[240,4016,4012],{"class":257},[240,4018,190],{"class":261},[240,4020,4021],{"class":253},"push",[240,4023,258],{"class":257},[240,4025,3532],{"class":261},[240,4027,4028],{"class":268}," dir",[240,4030,272],{"class":261},[240,4032,4033],{"class":257}," resolver",[240,4035,190],{"class":261},[240,4037,4038],{"class":253},"resolve",[240,4040,258],{"class":257},[240,4042,278],{"class":261},[240,4044,4045],{"class":281},".\u002Fruntime\u002Femails",[240,4047,278],{"class":261},[240,4049,4050],{"class":257},") ",[240,4052,296],{"class":261},[240,4054,2263],{"class":257},[159,4056,4057,4058,4061,4062,4064,4065,705,4067,221,4069,4071],{},"This module listens on Notify's ",[187,4059,4060],{},"notify:email"," runtime hook. When the notification names a template that exists, it\nrenders it and replaces ",[187,4063,3807],{}," (when the template has ",[187,4066,696],{},[187,4068,3776],{},[187,4070,3820],{},". If the template is missing,\nor it throws or renders nothing, the error is logged and the fallback is sent. A broken template never blocks a sign-in\nlink.",[159,4073,4074,4075,4078],{},"Name module templates ",[187,4076,4077],{},"\u003Cmodule>-\u003Cemail>.vue"," so they do not collide.",[1113,4080,4082],{"id":4081},"overriding-a-module-template","Overriding a module template",[159,4084,4085,4086,4089],{},"Add a template with the same name to the app (or any layer) and it replaces the module's. Use the same props, and reuse\nthe components to keep the look. To only change the branding, use the ",[163,4087,4088],{"href":334},"options"," instead.",[338,4091,4092,4358],{},[341,4093,4095],{"label":4094},"auth-magic-link.vue",[231,4096,4099],{"className":346,"code":4097,"filename":4098,"language":349,"meta":236,"style":236},"\u003Cscript setup lang=\"ts\">\nimport { EmailButton, EmailHeading, EmailLayout, EmailLinkFallback, EmailText } from '@frigear-nu\u002Femail-templates\u002Fcomponents'\n\ndefineProps\u003C{ name: string, url: string }>()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CEmailLayout lang=\"da\" preview=\"Dit login-link\">\n    \u003CESubject>Log ind på Frigear\u003C\u002FESubject>\n    \u003CEmailHeading>Hej {{ name }}\u003C\u002FEmailHeading>\n    \u003CEmailText>Klik på knappen for at logge ind.\u003C\u002FEmailText>\n    \u003CEmailButton :href=\"url\">Log ind\u003C\u002FEmailButton>\n    \u003CEmailLinkFallback :href=\"url\">Eller kopier linket:\u003C\u002FEmailLinkFallback>\n  \u003C\u002FEmailLayout>\n\u003C\u002Ftemplate>\n","app\u002Femails\u002Fauth-magic-link.vue",[187,4100,4101,4121,4155,4159,4183,4191,4195,4203,4233,4250,4267,4284,4313,4342,4350],{"__ignoreMap":236},[240,4102,4103,4105,4107,4109,4111,4113,4115,4117,4119],{"class":242,"line":243},[240,4104,356],{"class":261},[240,4106,359],{"class":268},[240,4108,363],{"class":362},[240,4110,366],{"class":362},[240,4112,369],{"class":261},[240,4114,372],{"class":261},[240,4116,235],{"class":281},[240,4118,372],{"class":261},[240,4120,379],{"class":261},[240,4122,4123,4125,4127,4129,4131,4133,4135,4137,4139,4141,4143,4145,4147,4149,4151,4153],{"class":242,"line":265},[240,4124,384],{"class":246},[240,4126,387],{"class":261},[240,4128,390],{"class":257},[240,4130,393],{"class":261},[240,4132,401],{"class":257},[240,4134,393],{"class":261},[240,4136,406],{"class":257},[240,4138,393],{"class":261},[240,4140,411],{"class":257},[240,4142,393],{"class":261},[240,4144,416],{"class":257},[240,4146,419],{"class":261},[240,4148,422],{"class":246},[240,4150,425],{"class":261},[240,4152,428],{"class":281},[240,4154,431],{"class":261},[240,4156,4157],{"class":242,"line":293},[240,4158,437],{"emptyLinePlaceholder":436},[240,4160,4161,4163,4165,4167,4169,4171,4173,4175,4177,4179,4181],{"class":242,"line":440},[240,4162,443],{"class":253},[240,4164,446],{"class":261},[240,4166,449],{"class":268},[240,4168,272],{"class":261},[240,4170,455],{"class":454},[240,4172,393],{"class":261},[240,4174,460],{"class":268},[240,4176,272],{"class":261},[240,4178,455],{"class":454},[240,4180,467],{"class":261},[240,4182,470],{"class":257},[240,4184,4185,4187,4189],{"class":242,"line":473},[240,4186,476],{"class":261},[240,4188,359],{"class":268},[240,4190,379],{"class":261},[240,4192,4193],{"class":242,"line":483},[240,4194,437],{"emptyLinePlaceholder":436},[240,4196,4197,4199,4201],{"class":242,"line":488},[240,4198,356],{"class":261},[240,4200,493],{"class":268},[240,4202,379],{"class":261},[240,4204,4205,4207,4209,4211,4213,4215,4218,4220,4222,4224,4226,4229,4231],{"class":242,"line":498},[240,4206,501],{"class":261},[240,4208,504],{"class":268},[240,4210,366],{"class":362},[240,4212,369],{"class":261},[240,4214,372],{"class":261},[240,4216,4217],{"class":281},"da",[240,4219,372],{"class":261},[240,4221,1362],{"class":362},[240,4223,369],{"class":261},[240,4225,372],{"class":261},[240,4227,4228],{"class":281},"Dit login-link",[240,4230,372],{"class":261},[240,4232,379],{"class":261},[240,4234,4235,4237,4239,4241,4244,4246,4248],{"class":242,"line":537},[240,4236,540],{"class":261},[240,4238,543],{"class":268},[240,4240,546],{"class":261},[240,4242,4243],{"class":257},"Log ind på Frigear",[240,4245,476],{"class":261},[240,4247,543],{"class":268},[240,4249,379],{"class":261},[240,4251,4252,4254,4256,4258,4261,4263,4265],{"class":242,"line":558},[240,4253,540],{"class":261},[240,4255,563],{"class":268},[240,4257,546],{"class":261},[240,4259,4260],{"class":257},"Hej {{ name }}",[240,4262,476],{"class":261},[240,4264,563],{"class":268},[240,4266,379],{"class":261},[240,4268,4269,4271,4273,4275,4278,4280,4282],{"class":242,"line":577},[240,4270,540],{"class":261},[240,4272,593],{"class":268},[240,4274,546],{"class":261},[240,4276,4277],{"class":257},"Klik på knappen for at logge ind.",[240,4279,476],{"class":261},[240,4281,593],{"class":268},[240,4283,379],{"class":261},[240,4285,4286,4288,4290,4292,4294,4296,4298,4300,4302,4304,4307,4309,4311],{"class":242,"line":588},[240,4287,540],{"class":261},[240,4289,612],{"class":268},[240,4291,507],{"class":261},[240,4293,617],{"class":362},[240,4295,369],{"class":261},[240,4297,372],{"class":261},[240,4299,624],{"class":257},[240,4301,372],{"class":261},[240,4303,546],{"class":261},[240,4305,4306],{"class":257},"Log ind",[240,4308,476],{"class":261},[240,4310,612],{"class":268},[240,4312,379],{"class":261},[240,4314,4315,4317,4319,4321,4323,4325,4327,4329,4331,4333,4336,4338,4340],{"class":242,"line":607},[240,4316,540],{"class":261},[240,4318,645],{"class":268},[240,4320,507],{"class":261},[240,4322,617],{"class":362},[240,4324,369],{"class":261},[240,4326,372],{"class":261},[240,4328,624],{"class":257},[240,4330,372],{"class":261},[240,4332,546],{"class":261},[240,4334,4335],{"class":257},"Eller kopier linket:",[240,4337,476],{"class":261},[240,4339,645],{"class":268},[240,4341,379],{"class":261},[240,4343,4344,4346,4348],{"class":242,"line":640},[240,4345,665],{"class":261},[240,4347,504],{"class":268},[240,4349,379],{"class":261},[240,4351,4352,4354,4356],{"class":242,"line":662},[240,4353,476],{"class":261},[240,4355,493],{"class":268},[240,4357,379],{"class":261},[341,4359,4360],{"label":681},[683,4361],{"alt":4362,"src":4363},"A Danish override of the magic link email","\u002Fimages\u002Femail-templates\u002Fauth-magic-link-override.png",[159,4365,4366],{},"Precedence, lowest to highest: module templates, then the layers' templates, then the app's.",[748,4368,4369,4381],{},[751,4370,4371],{},[754,4372,4373,4376,4379],{},[757,4374,4375],{},"Template",[757,4377,4378],{},"Sent by",[757,4380,762],{},[767,4382,4383,4399,4413,4428,4444,4459,4474],{},[754,4384,4385,4389,4394],{},[772,4386,4387],{},[187,4388,3943],{},[772,4390,4391,4393],{},[163,4392,73],{"href":74},": magic-link sign-in",[772,4395,4396],{},[187,4397,4398],{},"{ name, url }",[754,4400,4401,4406,4409],{},[772,4402,4403],{},[187,4404,4405],{},"auth-verify-email",[772,4407,4408],{},"Auth: verify the address after registering",[772,4410,4411],{},[187,4412,4398],{},[754,4414,4415,4420,4423],{},[772,4416,4417],{},[187,4418,4419],{},"auth-password-reset",[772,4421,4422],{},"Auth: forgot password",[772,4424,4425],{},[187,4426,4427],{},"{ url }",[754,4429,4430,4435,4440],{},[772,4431,4432],{},[187,4433,4434],{},"users-verify-email-change",[772,4436,4437,4439],{},[163,4438,133],{"href":134},": confirm a new email address",[772,4441,4442],{},[187,4443,4398],{},[754,4445,4446,4451,4454],{},[772,4447,4448],{},[187,4449,4450],{},"users-email-changed",[772,4452,4453],{},"Users: notice to the old address, with an undo link",[772,4455,4456],{},[187,4457,4458],{},"{ name, newEmail, url }",[754,4460,4461,4466,4469],{},[772,4462,4463],{},[187,4464,4465],{},"users-password-changed",[772,4467,4468],{},"Users: password changed notice",[772,4470,4471],{},[187,4472,4473],{},"{ name }",[754,4475,4476,4481,4486],{},[772,4477,4478],{},[187,4479,4480],{},"subscriptions-payment-link",[772,4482,4483,4485],{},[163,4484,125],{"href":126},": staff-sent payment link",[772,4487,4488],{},[187,4489,4490],{},"{ name, label, url }",[226,4492,4494],{"id":4493},"bundle-and-runtime-notes","Bundle and runtime notes",[180,4496,4497,4500],{},[183,4498,4499],{},"Rendering bundles Vue SSR and the template components into the Nitro server. Templates that a published module\nships are inlined, so the Vue plugin compiles them.",[183,4501,4502,4503,4506,4507,4510,4511,4513],{},"nuxt-email-renderer has no option for template directories outside the layers. This module therefore rebuilds its\n",[187,4504,4505],{},"#email-templates"," virtual module with the module templates added underneath. It does not work with\n",[187,4508,4509],{},"experimental.nitroViteEnvironment"," yet: in that mode the renderer only compiles ",[187,4512,330],{}," files from the layer\ndirectories.",[1163,4515,4516],{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sqsOY, html code.shiki .sqsOY{--shiki-light:#8796B0;--shiki-default:#B2CCD6;--shiki-dark:#B2CCD6}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":236,"searchDepth":265,"depth":265,"links":4518},[4519,4520,4523,4524,4527],{"id":228,"depth":265,"text":229},{"id":335,"depth":265,"text":731,"children":4521},[4522],{"id":1115,"depth":293,"text":1116},{"id":3631,"depth":265,"text":3632},{"id":3849,"depth":265,"text":3850,"children":4525},[4526],{"id":4081,"depth":293,"text":4082},{"id":4493,"depth":265,"text":4494},"Vue email templates for Notify, rendered with nuxt-email-renderer - typed sendEmailTemplate for the host, and module emails the host can override by file name.","md",null,{},{"title":141,"description":4528},"zrChr-SlPrylIJgazXqQG1Ak9XIQg1eDHkN8pLvf1bI",[4535,4537],{"title":137,"path":138,"stem":139,"description":4536,"children":-1},"Named widget and tab areas - modules contribute widgets (\u003CWidgetArea>) and tabs (\u003CWidgetTabs>), a hook gates them.",{"title":145,"path":146,"stem":147,"children":-1,"description":4538},"Shared libraries and tooling in the workspace that are not Nuxt modules or layers.",1792824491938]