// Code generated by templ - DO NOT EDIT. // templ: version: v0.3.1020 package main //lint:file-ignore SA4006 This context is only used if a nested component is present. import "github.com/a-h/templ" import templruntime "github.com/a-h/templ/runtime" import ( "bytes" "context" "fmt" "git.dev.alexdunmow.com/block/core/templates" ) // PastelEmailWrapper wraps body content in the Pastel Dream branded email // frame: cream paper background, watercolor blob watermark, 560px centered // frame, Caveat Brush masthead, Nunito body, mint CTA pill, unsubscribe and a // closing affirmation in the footer. func PastelEmailWrapper(body string, emailCtx templates.EmailContext) string { var buf bytes.Buffer _ = pastelEmailTemplate(emailCtx, body).Render(context.Background(), &buf) return buf.String() } // emailColorOr falls back to the supplied default when the EmailContext has // not been populated with the preset color (e.g. for raw previews). // All defaults pull from the blush-morning palette, expressed as hex because // email clients cannot resolve CSS custom properties. func emailColorOr(value, fallback string) string { if value == "" { return fallback } return value } func pastelEmailBg(c templates.EmailColors) string { // blush-morning background: hsl(25 60% 98%) ≈ #fdf7f1 return emailColorOr(c.Background, "#fdf7f1") } func pastelEmailCard(c templates.EmailColors) string { return emailColorOr(c.Card, "#ffffff") } func pastelEmailForeground(c templates.EmailColors) string { // hsl(340 20% 22%) ≈ #432e36 return emailColorOr(c.Foreground, "#432e36") } func pastelEmailMutedFg(c templates.EmailColors) string { // hsl(340 12% 48%) ≈ #80707a return emailColorOr(c.MutedForeground, "#80707a") } func pastelEmailPrimary(c templates.EmailColors) string { // hsl(350 65% 72%) ≈ #e9a1ad return emailColorOr(c.Primary, "#e9a1ad") } func pastelEmailPrimaryFg(c templates.EmailColors) string { return emailColorOr(c.PrimaryForeground, "#432e36") } func pastelEmailBorder(c templates.EmailColors) string { return emailColorOr(c.Border, "#f0d8de") } // pastelEmailTemplate is the Pastel Dream email body template. func pastelEmailTemplate(emailCtx templates.EmailContext, body string) templ.Component { return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { return templ_7745c5c3_CtxErr } templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) if !templ_7745c5c3_IsBuffer { defer func() { templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) if templ_7745c5c3_Err == nil { templ_7745c5c3_Err = templ_7745c5c3_BufErr } }() } ctx = templ.InitializeContext(ctx) templ_7745c5c3_Var1 := templ.GetChildren(ctx) if templ_7745c5c3_Var1 == nil { templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var2 string templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(emailCtx.SiteSettings.SiteName) if templ_7745c5c3_Err != nil { return templ.Error{Err: templ_7745c5c3_Err, FileName: `email_wrapper.templ`, Line: 73, Col: 41} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } if emailCtx.PreviewText != "" { templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } var templ_7745c5c3_Var4 string templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(emailCtx.PreviewText) if templ_7745c5c3_Err != nil { return templ.Error{Err: templ_7745c5c3_Err, FileName: `email_wrapper.templ`, Line: 115, Col: 26} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } } templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } return nil }) } // pastelEmailPillStyle returns the inline CSS for the mint-tinted CTA pill // that templates may use inside the body slot. The wrapper exposes it as a // reusable token because the body is opaque pre-rendered HTML. func pastelEmailPillStyle(c templates.EmailColors) string { primary := pastelEmailPrimary(c) primaryFg := pastelEmailPrimaryFg(c) return fmt.Sprintf( "display: inline-block; padding: 12px 28px; border-radius: 9999px; background-color: %s; color: %s; font-family: 'Nunito', Helvetica, Arial, sans-serif; font-weight: 600; text-decoration: none;", primary, primaryFg, ) } var _ = templruntime.GeneratedTemplate