@emailens/engine 0.11.8 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- import { E as EmailClient, F as Framework, T as TransformResult, C as CSSWarning, a as CodeFix, D as DiffResult, b as ExportPromptOptions, A as AiProvider, c as AiFixResult, S as SupportLevel, d as SpamAnalysisOptions, e as SpamReport, L as LinkReport, f as AccessibilityReport, g as AccessibilityIssue, I as ImageReport, h as InboxPreview, i as SizeReport, j as TemplateReport, O as OverflowReport, V as VmlReport, k as VisualReport, l as DesignReport, m as DeliverabilityReport } from './types-DiseE-UH.cjs';
2
- export { B as BaseIssue, n as ClientTruncation, o as DeliverabilityCheck, p as DeliverabilityIssue, q as DesignIssue, r as EstimateOptions, s as ExportScope, t as FixType, u as ImageInfo, v as ImageIssue, w as InboxPreviewIssue, x as InputFormat, y as LinkInfo, z as LinkIssue, G as OverflowIssue, P as PreviewResult, H as Severity, J as SizeIssue, K as SourceLocation, M as SpamIssue, N as TemplateIssue, Q as TokenEstimate, R as TokenEstimateWithWarnings, U as VisualIssue, W as VmlIssue, X as estimateAiFixTokens, Y as generateFixPrompt, Z as heuristicTokenCount } from './types-DiseE-UH.cjs';
1
+ import { E as EmailClient, F as Framework, T as TransformResult, C as CSSWarning, a as CodeFix, D as DiffResult, b as ExportPromptOptions, A as AiProvider, c as AiFixResult, S as SpamAnalysisOptions, d as SpamReport, L as LinkReport, e as AccessibilityReport, f as AccessibilityIssue, I as ImageReport, g as InboxPreview, h as SizeReport, i as TemplateReport, O as OverflowReport, V as VmlReport, j as VisualReport, k as DesignReport, l as DeliverabilityReport } from './types-edFeUest.cjs';
2
+ export { m as AT_RULE_FEATURES, B as BaseIssue, n as COMPOUND_VALUE_FEATURES, o as CSS_FUNCTION_FEATURES, p as CSS_PROPERTY_FEATURES, q as CSS_SUPPORT, r as CSS_SUPPORT_NOTES, s as ClientId, t as ClientTruncation, u as DeliverabilityCheck, v as DeliverabilityIssue, w as DesignIssue, x as EstimateOptions, y as ExportScope, z as FEATURE_LAST_TESTED, G as FeatureKey, H as FixType, J as GRACEFUL_FEATURES, K as HTML_ATTRIBUTE_FEATURES, M as HTML_ELEMENT_FEATURES, N as HTML_MISC_FEATURES, P as IMAGE_FORMATS, Q as IMAGE_SUPPORT, R as IMAGE_SUPPORT_NOTES, U as ImageFormat, W as ImageInfo, X as ImageIssue, Y as InboxPreviewIssue, Z as InputFormat, _ as LinkInfo, $ as LinkIssue, a0 as OverflowIssue, a1 as PreviewResult, a2 as SELECTOR_FEATURES, a3 as STRUCTURAL_FIX_PROPERTIES, a4 as SUPPORT_CLIENTS, a5 as Severity, a6 as SizeIssue, a7 as SourceLocation, a8 as SpamIssue, a9 as SupportLevel, aa as TemplateIssue, ab as TokenEstimate, ac as TokenEstimateWithWarnings, ad as VisualIssue, ae as VmlIssue, af as estimateAiFixTokens, ag as generateFixPrompt, ah as heuristicTokenCount } from './types-edFeUest.cjs';
3
3
  import * as cheerio from 'cheerio';
4
- export { C as CompileError, a as CompileReactEmailOptions, S as SandboxStrategy } from './react-email-DRkmpgX-.cjs';
4
+ export { C as CompileError, a as CompileReactEmailOptions, S as SandboxStrategy } from './react-email-DHkCZ7TG.cjs';
5
5
 
6
6
  declare const EMAIL_CLIENTS: EmailClient[];
7
7
  declare function getClient(id: string): EmailClient | undefined;
@@ -73,18 +73,6 @@ declare function simulateDarkMode(html: string, clientId: string): {
73
73
  * 4. property (generic fix)
74
74
  */
75
75
  declare function getCodeFix(property: string, clientId: string, framework?: Framework): CodeFix | undefined;
76
- /**
77
- * Look up a suggestion string for a given property, client, and optional framework.
78
- *
79
- * Resolution order mirrors `getCodeFix()`:
80
- * 1. property::clientPrefix::framework
81
- * 2. property::framework
82
- * 3. property::clientPrefix
83
- * 4. property (generic)
84
- *
85
- * `isGenericFallback` is true when a framework was specified but no
86
- * framework-specific entry was found (resolution fell through to tiers 3–4).
87
- */
88
76
  declare function getSuggestion(property: string, clientId: string, framework?: Framework): {
89
77
  text: string;
90
78
  isGenericFallback: boolean;
@@ -169,50 +157,10 @@ declare function generateAiFix(options: GenerateAiFixOptions): Promise<AiFixResu
169
157
  */
170
158
  declare const AI_FIX_SYSTEM_PROMPT = "You are an expert email developer specializing in cross-client HTML email compatibility. You fix emails to render correctly across all email clients.\n\nRules:\n- Return ONLY the fixed code inside a single code fence. No explanations before or after.\n- Preserve all existing content, text, links, and visual design.\n- For structural issues (fixType: \"structural\"), you MUST restructure the HTML; CSS-only changes will not work.\n- Common structural patterns:\n - word-break/overflow-wrap unsupported \u2192 wrap text in <table><tr><td> with constrained width\n - display:flex/grid \u2192 convert to <table> layout (match the original column count and proportions)\n - border-radius in Outlook \u2192 use VML <v:roundrect> with <!--[if mso]> conditionals\n - background-image in Outlook \u2192 use VML <v:rect> with <v:fill>\n - max-width in Outlook \u2192 wrap in <!--[if mso]><table width=\"N\"> conditional\n - position:absolute \u2192 use <table> cells for layout\n - <svg> \u2192 replace with <img> pointing to a hosted PNG\n- For CSS-only issues (fixType: \"css\"), swap properties or add fallbacks.\n- For \"Layout & Visual Issues\", apply the provided Fix directly: add the background-color fallback beneath a gradient/image, append a web-safe font to the stack, and constrain fixed widths wider than the frame to width:100% with max-width.\n- Apply ALL fixes from the issues list: do not skip any.\n- Use the framework syntax specified (JSX/MJML/Maizzle/HTML).\n- For JSX: use camelCase style props, React Email components, and proper TypeScript types.\n- For MJML: use mj-* elements and attributes.\n- For Maizzle: use Tailwind CSS classes.";
171
159
 
172
- /**
173
- * CSS/HTML feature support matrix, auto-generated from caniemail.com.
174
- * Last synced: 2026-07-28
175
- * caniemail last updated: 2026-07-20 09:56:37 +0000
176
- *
177
- * 255 features across 21 email clients.
178
- *
179
- * Support levels:
180
- * - "supported": fully supported
181
- * - "partial": partially supported (with caveats)
182
- * - "unsupported": not supported at all
183
- * - "unknown": no data available
184
- *
185
- * Data sources:
186
- * - Most clients: caniemail.com API (verified data)
187
- * - hey-mail: caniemail.com (WebKit-based)
188
- * - superhuman: Manual overrides (Chromium/Blink-based, best-effort estimates)
189
- *
190
- * DO NOT EDIT; regenerate with: bun run sync:caniemail
191
- */
192
- declare const CSS_SUPPORT: Record<string, Record<string, SupportLevel>>;
193
- /**
194
- * Caveat notes per (feature, client) from caniemail: the "why" behind a
195
- * partial/buggy/unsupported rating. Sparse: only cells with a note appear.
196
- */
197
- declare const CSS_SUPPORT_NOTES: Record<string, Record<string, string[]>>;
198
- /**
199
- * Properties that require HTML structural changes (not just CSS swaps)
200
- * to fix. These cannot be solved by replacing one CSS value with another.
201
- */
202
- declare const STRUCTURAL_FIX_PROPERTIES: Set<string>;
203
- /** HTML element features in the support matrix (for data-driven detection). */
204
- declare const HTML_ELEMENT_FEATURES: readonly ["<abbr>", "<acronym>", "<address>", "<audio>", "<base>", "<bdi>", "<blockquote>", "<body>", "<code>", "<del>", "<dfn>", "<dialog>", "<div>", "<form>", "<h1>", "<hr>", "<img>", "<link>", "<marquee>", "<meter>", "<object>", "<p>", "<picture>", "<pre>", "<progress>", "<rp>", "<rt>", "<ruby>", "<select>", "<small>", "<span>", "<strike>", "<strong>", "<style>", "<svg>", "<table>", "<textarea>", "<ul>", "<video>", "<wbr>"];
205
- /** CSS at-rule features in the support matrix. */
206
- declare const AT_RULE_FEATURES: readonly ["@font-face", "@import", "@keyframes", "@media", "@supports"];
207
- /** Compound CSS value features (e.g., "display:flex"). */
208
- declare const COMPOUND_VALUE_FEATURES: readonly ["::after", "::before", "::first-letter", "::first-line", "::marker", "::placeholder", ":adjacent-sibling", ":attribute-selector", ":chaining", ":checked", ":child-combinator", ":class-selector", ":descendant-combinator", ":first-child", ":first-of-type", ":focus", ":focus-visible", ":focus-within", ":general-sibling", ":grouping", ":has", ":hover", ":id-selector", ":lang", ":last-child", ":last-of-type", ":link", ":not", ":nth-child", ":nth-last-child", ":nth-of-type", ":only-child", ":only-of-type", ":target", ":type-selector", ":universal-selector", ":visited", "display:flex", "display:grid", "display:none"];
209
- /** CSS function features (e.g., "linear-gradient"). */
210
- declare const CSS_FUNCTION_FEATURES: readonly ["calc", "clamp", "conic-gradient", "fit-content", "linear-gradient", "max", "min", "radial-gradient"];
211
-
212
160
  /**
213
161
  * caniemail's page for each feature, for a diagnostic's `codeDescription`.
214
162
  *
215
- * 250 of 255 features. The rest have no caniemail entry of
163
+ * 293 of 298 features. The rest have no caniemail entry of
216
164
  * their own and get no link, which is the honest outcome: a link to a 404
217
165
  * is worse than none.
218
166
  *
@@ -332,8 +280,8 @@ declare function checkDarkModeContrast(html: string, lightIssues?: Accessibility
332
280
  * Analyze images in an HTML email for best practices.
333
281
  *
334
282
  * Checks for missing dimensions, oversized data URIs, missing alt
335
- * attributes, unsupported formats (WebP, SVG), tracking pixels,
336
- * missing display:block, and overall image heaviness.
283
+ * attributes, image formats the target clients cannot render, tracking
284
+ * pixels, missing display:block, and overall image heaviness.
337
285
  */
338
286
  declare function analyzeImages(html: string, options?: ParseOptions): ImageReport;
339
287
 
@@ -743,4 +691,4 @@ declare function colorDistance(a: RGBA, b: RGBA): number;
743
691
  */
744
692
  declare function downlevelCSS(html: string): string;
745
693
 
746
- export { AI_FIX_SYSTEM_PROMPT, AT_RULE_FEATURES, AccessibilityIssue, AccessibilityReport, AiFixResult, AiProvider, type AuditOptions, type AuditReport, COMPOUND_VALUE_FEATURES, CSSWarning, CSS_FUNCTION_FEATURES, CSS_SUPPORT, CSS_SUPPORT_NOTES, CodeFix, type CreateSessionOptions, DeliverabilityReport, DesignReport, DiffResult, EMAIL_CLIENTS, EMPTY_DELIVERABILITY, EmailClient, type EmailSession, ExportPromptOptions, FEATURE_URLS, Framework, GENERIC_LINK_TEXT, type GenerateAiFixOptions, HTML_ELEMENT_FEATURES, ImageReport, InboxPreview, LinkReport, MAX_HTML_SIZE, MAX_WARNING_LOCATIONS, OverflowReport, type ParseOptions, type RGBA, type RenderContext, STRUCTURAL_FIX_PROPERTIES, SizeReport, SpamAnalysisOptions, SpamReport, SupportLevel, TemplateReport, TransformResult, VALUE_CAVEAT_PROPS, VisualReport, VmlReport, type WcagGrade, alphaBlend, analyzeEmail, analyzeImages, analyzeSpam, arcsizeToRadius, auditEmail, caveatApplies, checkAccessibility, checkDarkModeContrast, checkDarkStylesContrastFromDom, checkDesignConsistency, checkMobileContrast, checkOverflow, checkSize, checkTemplateVariables, checkVisual, checkVml, colorDistance, contrastRatio, createSession, diffResults, downlevelCSS, errorWarnings, extractInboxPreview, featureUrl, formatRgb, generateAiFix, generateCompatibilityScore, getClient, getCodeFix, getSuggestion, parseColor, relativeLuminance, renderOutlookBranch, resolveMsoBranch, rgbToOklab, simulateDarkMode, structuralWarnings, toPlainText, transformForAllClients, transformForClient, validateLinks, vmlToCss, warningsForClient, wcagGrade };
694
+ export { AI_FIX_SYSTEM_PROMPT, AccessibilityIssue, AccessibilityReport, AiFixResult, AiProvider, type AuditOptions, type AuditReport, CSSWarning, CodeFix, type CreateSessionOptions, DeliverabilityReport, DesignReport, DiffResult, EMAIL_CLIENTS, EMPTY_DELIVERABILITY, EmailClient, type EmailSession, ExportPromptOptions, FEATURE_URLS, Framework, GENERIC_LINK_TEXT, type GenerateAiFixOptions, ImageReport, InboxPreview, LinkReport, MAX_HTML_SIZE, MAX_WARNING_LOCATIONS, OverflowReport, type ParseOptions, type RGBA, type RenderContext, SizeReport, SpamAnalysisOptions, SpamReport, TemplateReport, TransformResult, VALUE_CAVEAT_PROPS, VisualReport, VmlReport, type WcagGrade, alphaBlend, analyzeEmail, analyzeImages, analyzeSpam, arcsizeToRadius, auditEmail, caveatApplies, checkAccessibility, checkDarkModeContrast, checkDarkStylesContrastFromDom, checkDesignConsistency, checkMobileContrast, checkOverflow, checkSize, checkTemplateVariables, checkVisual, checkVml, colorDistance, contrastRatio, createSession, diffResults, downlevelCSS, errorWarnings, extractInboxPreview, featureUrl, formatRgb, generateAiFix, generateCompatibilityScore, getClient, getCodeFix, getSuggestion, parseColor, relativeLuminance, renderOutlookBranch, resolveMsoBranch, rgbToOklab, simulateDarkMode, structuralWarnings, toPlainText, transformForAllClients, transformForClient, validateLinks, vmlToCss, warningsForClient, wcagGrade };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { E as EmailClient, F as Framework, T as TransformResult, C as CSSWarning, a as CodeFix, D as DiffResult, b as ExportPromptOptions, A as AiProvider, c as AiFixResult, S as SupportLevel, d as SpamAnalysisOptions, e as SpamReport, L as LinkReport, f as AccessibilityReport, g as AccessibilityIssue, I as ImageReport, h as InboxPreview, i as SizeReport, j as TemplateReport, O as OverflowReport, V as VmlReport, k as VisualReport, l as DesignReport, m as DeliverabilityReport } from './types-DiseE-UH.js';
2
- export { B as BaseIssue, n as ClientTruncation, o as DeliverabilityCheck, p as DeliverabilityIssue, q as DesignIssue, r as EstimateOptions, s as ExportScope, t as FixType, u as ImageInfo, v as ImageIssue, w as InboxPreviewIssue, x as InputFormat, y as LinkInfo, z as LinkIssue, G as OverflowIssue, P as PreviewResult, H as Severity, J as SizeIssue, K as SourceLocation, M as SpamIssue, N as TemplateIssue, Q as TokenEstimate, R as TokenEstimateWithWarnings, U as VisualIssue, W as VmlIssue, X as estimateAiFixTokens, Y as generateFixPrompt, Z as heuristicTokenCount } from './types-DiseE-UH.js';
1
+ import { E as EmailClient, F as Framework, T as TransformResult, C as CSSWarning, a as CodeFix, D as DiffResult, b as ExportPromptOptions, A as AiProvider, c as AiFixResult, S as SpamAnalysisOptions, d as SpamReport, L as LinkReport, e as AccessibilityReport, f as AccessibilityIssue, I as ImageReport, g as InboxPreview, h as SizeReport, i as TemplateReport, O as OverflowReport, V as VmlReport, j as VisualReport, k as DesignReport, l as DeliverabilityReport } from './types-edFeUest.js';
2
+ export { m as AT_RULE_FEATURES, B as BaseIssue, n as COMPOUND_VALUE_FEATURES, o as CSS_FUNCTION_FEATURES, p as CSS_PROPERTY_FEATURES, q as CSS_SUPPORT, r as CSS_SUPPORT_NOTES, s as ClientId, t as ClientTruncation, u as DeliverabilityCheck, v as DeliverabilityIssue, w as DesignIssue, x as EstimateOptions, y as ExportScope, z as FEATURE_LAST_TESTED, G as FeatureKey, H as FixType, J as GRACEFUL_FEATURES, K as HTML_ATTRIBUTE_FEATURES, M as HTML_ELEMENT_FEATURES, N as HTML_MISC_FEATURES, P as IMAGE_FORMATS, Q as IMAGE_SUPPORT, R as IMAGE_SUPPORT_NOTES, U as ImageFormat, W as ImageInfo, X as ImageIssue, Y as InboxPreviewIssue, Z as InputFormat, _ as LinkInfo, $ as LinkIssue, a0 as OverflowIssue, a1 as PreviewResult, a2 as SELECTOR_FEATURES, a3 as STRUCTURAL_FIX_PROPERTIES, a4 as SUPPORT_CLIENTS, a5 as Severity, a6 as SizeIssue, a7 as SourceLocation, a8 as SpamIssue, a9 as SupportLevel, aa as TemplateIssue, ab as TokenEstimate, ac as TokenEstimateWithWarnings, ad as VisualIssue, ae as VmlIssue, af as estimateAiFixTokens, ag as generateFixPrompt, ah as heuristicTokenCount } from './types-edFeUest.js';
3
3
  import * as cheerio from 'cheerio';
4
- export { C as CompileError, a as CompileReactEmailOptions, S as SandboxStrategy } from './react-email-B82A1R_K.js';
4
+ export { C as CompileError, a as CompileReactEmailOptions, S as SandboxStrategy } from './react-email-BzyXjPrH.js';
5
5
 
6
6
  declare const EMAIL_CLIENTS: EmailClient[];
7
7
  declare function getClient(id: string): EmailClient | undefined;
@@ -73,18 +73,6 @@ declare function simulateDarkMode(html: string, clientId: string): {
73
73
  * 4. property (generic fix)
74
74
  */
75
75
  declare function getCodeFix(property: string, clientId: string, framework?: Framework): CodeFix | undefined;
76
- /**
77
- * Look up a suggestion string for a given property, client, and optional framework.
78
- *
79
- * Resolution order mirrors `getCodeFix()`:
80
- * 1. property::clientPrefix::framework
81
- * 2. property::framework
82
- * 3. property::clientPrefix
83
- * 4. property (generic)
84
- *
85
- * `isGenericFallback` is true when a framework was specified but no
86
- * framework-specific entry was found (resolution fell through to tiers 3–4).
87
- */
88
76
  declare function getSuggestion(property: string, clientId: string, framework?: Framework): {
89
77
  text: string;
90
78
  isGenericFallback: boolean;
@@ -169,50 +157,10 @@ declare function generateAiFix(options: GenerateAiFixOptions): Promise<AiFixResu
169
157
  */
170
158
  declare const AI_FIX_SYSTEM_PROMPT = "You are an expert email developer specializing in cross-client HTML email compatibility. You fix emails to render correctly across all email clients.\n\nRules:\n- Return ONLY the fixed code inside a single code fence. No explanations before or after.\n- Preserve all existing content, text, links, and visual design.\n- For structural issues (fixType: \"structural\"), you MUST restructure the HTML; CSS-only changes will not work.\n- Common structural patterns:\n - word-break/overflow-wrap unsupported \u2192 wrap text in <table><tr><td> with constrained width\n - display:flex/grid \u2192 convert to <table> layout (match the original column count and proportions)\n - border-radius in Outlook \u2192 use VML <v:roundrect> with <!--[if mso]> conditionals\n - background-image in Outlook \u2192 use VML <v:rect> with <v:fill>\n - max-width in Outlook \u2192 wrap in <!--[if mso]><table width=\"N\"> conditional\n - position:absolute \u2192 use <table> cells for layout\n - <svg> \u2192 replace with <img> pointing to a hosted PNG\n- For CSS-only issues (fixType: \"css\"), swap properties or add fallbacks.\n- For \"Layout & Visual Issues\", apply the provided Fix directly: add the background-color fallback beneath a gradient/image, append a web-safe font to the stack, and constrain fixed widths wider than the frame to width:100% with max-width.\n- Apply ALL fixes from the issues list: do not skip any.\n- Use the framework syntax specified (JSX/MJML/Maizzle/HTML).\n- For JSX: use camelCase style props, React Email components, and proper TypeScript types.\n- For MJML: use mj-* elements and attributes.\n- For Maizzle: use Tailwind CSS classes.";
171
159
 
172
- /**
173
- * CSS/HTML feature support matrix, auto-generated from caniemail.com.
174
- * Last synced: 2026-07-28
175
- * caniemail last updated: 2026-07-20 09:56:37 +0000
176
- *
177
- * 255 features across 21 email clients.
178
- *
179
- * Support levels:
180
- * - "supported": fully supported
181
- * - "partial": partially supported (with caveats)
182
- * - "unsupported": not supported at all
183
- * - "unknown": no data available
184
- *
185
- * Data sources:
186
- * - Most clients: caniemail.com API (verified data)
187
- * - hey-mail: caniemail.com (WebKit-based)
188
- * - superhuman: Manual overrides (Chromium/Blink-based, best-effort estimates)
189
- *
190
- * DO NOT EDIT; regenerate with: bun run sync:caniemail
191
- */
192
- declare const CSS_SUPPORT: Record<string, Record<string, SupportLevel>>;
193
- /**
194
- * Caveat notes per (feature, client) from caniemail: the "why" behind a
195
- * partial/buggy/unsupported rating. Sparse: only cells with a note appear.
196
- */
197
- declare const CSS_SUPPORT_NOTES: Record<string, Record<string, string[]>>;
198
- /**
199
- * Properties that require HTML structural changes (not just CSS swaps)
200
- * to fix. These cannot be solved by replacing one CSS value with another.
201
- */
202
- declare const STRUCTURAL_FIX_PROPERTIES: Set<string>;
203
- /** HTML element features in the support matrix (for data-driven detection). */
204
- declare const HTML_ELEMENT_FEATURES: readonly ["<abbr>", "<acronym>", "<address>", "<audio>", "<base>", "<bdi>", "<blockquote>", "<body>", "<code>", "<del>", "<dfn>", "<dialog>", "<div>", "<form>", "<h1>", "<hr>", "<img>", "<link>", "<marquee>", "<meter>", "<object>", "<p>", "<picture>", "<pre>", "<progress>", "<rp>", "<rt>", "<ruby>", "<select>", "<small>", "<span>", "<strike>", "<strong>", "<style>", "<svg>", "<table>", "<textarea>", "<ul>", "<video>", "<wbr>"];
205
- /** CSS at-rule features in the support matrix. */
206
- declare const AT_RULE_FEATURES: readonly ["@font-face", "@import", "@keyframes", "@media", "@supports"];
207
- /** Compound CSS value features (e.g., "display:flex"). */
208
- declare const COMPOUND_VALUE_FEATURES: readonly ["::after", "::before", "::first-letter", "::first-line", "::marker", "::placeholder", ":adjacent-sibling", ":attribute-selector", ":chaining", ":checked", ":child-combinator", ":class-selector", ":descendant-combinator", ":first-child", ":first-of-type", ":focus", ":focus-visible", ":focus-within", ":general-sibling", ":grouping", ":has", ":hover", ":id-selector", ":lang", ":last-child", ":last-of-type", ":link", ":not", ":nth-child", ":nth-last-child", ":nth-of-type", ":only-child", ":only-of-type", ":target", ":type-selector", ":universal-selector", ":visited", "display:flex", "display:grid", "display:none"];
209
- /** CSS function features (e.g., "linear-gradient"). */
210
- declare const CSS_FUNCTION_FEATURES: readonly ["calc", "clamp", "conic-gradient", "fit-content", "linear-gradient", "max", "min", "radial-gradient"];
211
-
212
160
  /**
213
161
  * caniemail's page for each feature, for a diagnostic's `codeDescription`.
214
162
  *
215
- * 250 of 255 features. The rest have no caniemail entry of
163
+ * 293 of 298 features. The rest have no caniemail entry of
216
164
  * their own and get no link, which is the honest outcome: a link to a 404
217
165
  * is worse than none.
218
166
  *
@@ -332,8 +280,8 @@ declare function checkDarkModeContrast(html: string, lightIssues?: Accessibility
332
280
  * Analyze images in an HTML email for best practices.
333
281
  *
334
282
  * Checks for missing dimensions, oversized data URIs, missing alt
335
- * attributes, unsupported formats (WebP, SVG), tracking pixels,
336
- * missing display:block, and overall image heaviness.
283
+ * attributes, image formats the target clients cannot render, tracking
284
+ * pixels, missing display:block, and overall image heaviness.
337
285
  */
338
286
  declare function analyzeImages(html: string, options?: ParseOptions): ImageReport;
339
287
 
@@ -743,4 +691,4 @@ declare function colorDistance(a: RGBA, b: RGBA): number;
743
691
  */
744
692
  declare function downlevelCSS(html: string): string;
745
693
 
746
- export { AI_FIX_SYSTEM_PROMPT, AT_RULE_FEATURES, AccessibilityIssue, AccessibilityReport, AiFixResult, AiProvider, type AuditOptions, type AuditReport, COMPOUND_VALUE_FEATURES, CSSWarning, CSS_FUNCTION_FEATURES, CSS_SUPPORT, CSS_SUPPORT_NOTES, CodeFix, type CreateSessionOptions, DeliverabilityReport, DesignReport, DiffResult, EMAIL_CLIENTS, EMPTY_DELIVERABILITY, EmailClient, type EmailSession, ExportPromptOptions, FEATURE_URLS, Framework, GENERIC_LINK_TEXT, type GenerateAiFixOptions, HTML_ELEMENT_FEATURES, ImageReport, InboxPreview, LinkReport, MAX_HTML_SIZE, MAX_WARNING_LOCATIONS, OverflowReport, type ParseOptions, type RGBA, type RenderContext, STRUCTURAL_FIX_PROPERTIES, SizeReport, SpamAnalysisOptions, SpamReport, SupportLevel, TemplateReport, TransformResult, VALUE_CAVEAT_PROPS, VisualReport, VmlReport, type WcagGrade, alphaBlend, analyzeEmail, analyzeImages, analyzeSpam, arcsizeToRadius, auditEmail, caveatApplies, checkAccessibility, checkDarkModeContrast, checkDarkStylesContrastFromDom, checkDesignConsistency, checkMobileContrast, checkOverflow, checkSize, checkTemplateVariables, checkVisual, checkVml, colorDistance, contrastRatio, createSession, diffResults, downlevelCSS, errorWarnings, extractInboxPreview, featureUrl, formatRgb, generateAiFix, generateCompatibilityScore, getClient, getCodeFix, getSuggestion, parseColor, relativeLuminance, renderOutlookBranch, resolveMsoBranch, rgbToOklab, simulateDarkMode, structuralWarnings, toPlainText, transformForAllClients, transformForClient, validateLinks, vmlToCss, warningsForClient, wcagGrade };
694
+ export { AI_FIX_SYSTEM_PROMPT, AccessibilityIssue, AccessibilityReport, AiFixResult, AiProvider, type AuditOptions, type AuditReport, CSSWarning, CodeFix, type CreateSessionOptions, DeliverabilityReport, DesignReport, DiffResult, EMAIL_CLIENTS, EMPTY_DELIVERABILITY, EmailClient, type EmailSession, ExportPromptOptions, FEATURE_URLS, Framework, GENERIC_LINK_TEXT, type GenerateAiFixOptions, ImageReport, InboxPreview, LinkReport, MAX_HTML_SIZE, MAX_WARNING_LOCATIONS, OverflowReport, type ParseOptions, type RGBA, type RenderContext, SizeReport, SpamAnalysisOptions, SpamReport, TemplateReport, TransformResult, VALUE_CAVEAT_PROPS, VisualReport, VmlReport, type WcagGrade, alphaBlend, analyzeEmail, analyzeImages, analyzeSpam, arcsizeToRadius, auditEmail, caveatApplies, checkAccessibility, checkDarkModeContrast, checkDarkStylesContrastFromDom, checkDesignConsistency, checkMobileContrast, checkOverflow, checkSize, checkTemplateVariables, checkVisual, checkVml, colorDistance, contrastRatio, createSession, diffResults, downlevelCSS, errorWarnings, extractInboxPreview, featureUrl, formatRgb, generateAiFix, generateCompatibilityScore, getClient, getCodeFix, getSuggestion, parseColor, relativeLuminance, renderOutlookBranch, resolveMsoBranch, rgbToOklab, simulateDarkMode, structuralWarnings, toPlainText, transformForAllClients, transformForClient, validateLinks, vmlToCss, warningsForClient, wcagGrade };