@samva/markup 0.8.0 → 0.10.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/AGENTS.md +107 -46
- package/CHANGELOG.md +345 -0
- package/README.md +188 -52
- package/dist/{brand-DcoVkh_S.d.ts → assets-BIsyMQ92.d.ts} +41 -11
- package/dist/{email/brand.js → brand-C0MKTwmX.js} +64 -4
- package/dist/{theme-css.d.ts → brand.d.ts} +12 -3
- package/dist/brand.js +4 -0
- package/dist/channel-specs-C2feJwuP.d.ts +13 -0
- package/dist/compiler.d.ts +88 -115
- package/dist/compiler.js +750 -171
- package/dist/components-BZCqegS8.js +1864 -0
- package/dist/diagnostic-model-DJtqbETd.js +38 -0
- package/dist/{diagnostics-OcQKQYSY.d.ts → diagnostic-model-DxthUZBT.d.ts} +3 -21
- package/dist/{diagnostics-BMYtBCQk.d.ts → diagnostics-B-Gym34R.d.ts} +8 -4
- package/dist/{email/diagnostics.js → diagnostics-CnKFefKz.js} +4 -3
- package/dist/diagnostics.d.ts +410 -2
- package/dist/diagnostics.js +402 -52
- package/dist/edit.d.ts +234 -0
- package/dist/edit.js +947 -0
- package/dist/email/jsx-dev-runtime.d.ts +2 -2
- package/dist/email/jsx-dev-runtime.js +1 -2
- package/dist/email/jsx-runtime.d.ts +1 -1
- package/dist/email/jsx-runtime.js +1 -85
- package/dist/{email/components.d.ts → email.d.ts} +22 -11
- package/dist/email.js +2 -0
- package/dist/fmt.d.ts +32 -0
- package/dist/fmt.js +174 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/{render-vAv_4r9v.js → ir-CLhlklKV.js} +96 -279
- package/dist/jsx-runtime-CBlexoeR.js +98 -0
- package/dist/{elements-BzjjnoCS.d.ts → jsx-runtime-ylIOnaSf.d.ts} +76 -76
- package/dist/profile-pWGtWZXF.js +3803 -0
- package/dist/render-BPonDpCl.d.ts +539 -0
- package/dist/render-BQmfh94k.js +257 -0
- package/dist/render.d.ts +35 -0
- package/dist/render.js +49 -0
- package/dist/sms.d.ts +16 -0
- package/dist/sms.js +12 -0
- package/dist/source-locations-C8wCsiAy.d.ts +23 -0
- package/dist/template-DMPwxMSq.d.ts +65 -0
- package/dist/template-zLUjcwfF.js +42 -0
- package/dist/{theme-css-hFqcPSar.js → theme-css-JtRCm1fb.js} +2 -2
- package/dist/whatsapp.d.ts +57 -0
- package/dist/whatsapp.js +22 -0
- package/generated/contract.json +1788 -0
- package/generated/reference.md +360 -0
- package/package.json +46 -239
- package/samva-brand.d.ts +4 -4
- package/skills/sml/SKILL.md +123 -0
- package/dist/ast-BrDtApwS.d.ts +0 -107
- package/dist/ast.d.ts +0 -2
- package/dist/ast.js +0 -124
- package/dist/candidate.d.ts +0 -29
- package/dist/candidate.js +0 -88
- package/dist/catalog-CKuOooB8.d.ts +0 -354
- package/dist/checks-D73Xizbw.js +0 -59366
- package/dist/checks.d.ts +0 -33
- package/dist/checks.js +0 -2
- package/dist/classes.d.ts +0 -26
- package/dist/classes.js +0 -184
- package/dist/compile-sms.d.ts +0 -28
- package/dist/compile-sms.js +0 -44
- package/dist/compile-whatsapp.d.ts +0 -56
- package/dist/compile-whatsapp.js +0 -186
- package/dist/compile.d.ts +0 -18
- package/dist/compile.js +0 -29
- package/dist/components.d.ts +0 -289
- package/dist/components.js +0 -106
- package/dist/conditionals.d.ts +0 -10
- package/dist/conditionals.js +0 -74
- package/dist/corpus-CPPfgAHN.d.ts +0 -106
- package/dist/css-CS2jLID6.d.ts +0 -109
- package/dist/email/assets.d.ts +0 -40
- package/dist/email/assets.js +0 -63
- package/dist/email/brand-footer.d.ts +0 -34
- package/dist/email/brand-footer.js +0 -62
- package/dist/email/brand.d.ts +0 -2
- package/dist/email/components.js +0 -240
- package/dist/email/diagnostics.d.ts +0 -2
- package/dist/email/elements.d.ts +0 -2
- package/dist/email/elements.js +0 -299
- package/dist/email/html.d.ts +0 -2
- package/dist/email/html.js +0 -278
- package/dist/email/render.d.ts +0 -50
- package/dist/email/render.js +0 -3
- package/dist/email/selection.d.ts +0 -2
- package/dist/email/selection.js +0 -91
- package/dist/email/source-edit.d.ts +0 -67
- package/dist/email/source-edit.js +0 -185
- package/dist/email/stylesheets.d.ts +0 -15
- package/dist/email/stylesheets.js +0 -48
- package/dist/email/text.d.ts +0 -7
- package/dist/email/text.js +0 -100
- package/dist/emit.d.ts +0 -51
- package/dist/emit.js +0 -151
- package/dist/html-Bl9BAdqc.d.ts +0 -42
- package/dist/interpolate.d.ts +0 -24
- package/dist/interpolate.js +0 -43
- package/dist/jsx-dev-runtime.d.ts +0 -11
- package/dist/jsx-dev-runtime.js +0 -15
- package/dist/jsx-runtime-I-1nCtl2.d.ts +0 -57
- package/dist/jsx-runtime.d.ts +0 -2
- package/dist/jsx-runtime.js +0 -121
- package/dist/lexer.d.ts +0 -60
- package/dist/lexer.js +0 -281
- package/dist/model.d.ts +0 -24
- package/dist/model.js +0 -77
- package/dist/ops-BvwqHl7V.js +0 -630
- package/dist/ops.d.ts +0 -114
- package/dist/ops.js +0 -2
- package/dist/parser-t29cHLVL.d.ts +0 -396
- package/dist/parser.d.ts +0 -2
- package/dist/parser.js +0 -859
- package/dist/predicate-BI6uRRM-.js +0 -549
- package/dist/predicate-M-05Nd7R.d.ts +0 -56
- package/dist/predicate.d.ts +0 -2
- package/dist/predicate.js +0 -2
- package/dist/printer.d.ts +0 -6
- package/dist/printer.js +0 -122
- package/dist/registry-Dcp6QEK_.d.ts +0 -73
- package/dist/registry.d.ts +0 -2
- package/dist/registry.js +0 -646
- package/dist/render-template.d.ts +0 -45
- package/dist/render-template.js +0 -76
- package/dist/selection-CCArx9lU.d.ts +0 -91
- package/dist/showcase-egkusQBf.d.ts +0 -415
- package/dist/sms-segments-y4FpPilJ.d.ts +0 -13
- package/dist/sms-segments.d.ts +0 -2
- package/dist/sms-segments.js +0 -46
- package/dist/source-locations-DrCM82Ym.d.ts +0 -67
- package/dist/source-locations.d.ts +0 -2
- package/dist/source-locations.js +0 -102
- package/dist/starters/category-mapping.d.ts +0 -13
- package/dist/starters/category-mapping.js +0 -49
- package/dist/starters/corpus.d.ts +0 -2
- package/dist/starters/corpus.js +0 -194
- package/dist/starters/library.d.ts +0 -18
- package/dist/starters/library.js +0 -692
- package/dist/starters/public-gallery.d.ts +0 -266
- package/dist/starters/public-gallery.js +0 -916
- package/dist/starters/public-handoff.d.ts +0 -164
- package/dist/starters/public-handoff.js +0 -361
- package/dist/starters/public-preview-artifacts.d.ts +0 -43
- package/dist/starters/public-preview-artifacts.js +0 -104
- package/dist/starters/public-preview.d.ts +0 -61
- package/dist/starters/public-preview.js +0 -83
- package/dist/starters/showcase.d.ts +0 -2
- package/dist/starters/showcase.js +0 -335
- package/dist/starters/sources.d.ts +0 -45
- package/dist/starters/sources.js +0 -7762
- package/dist/starters/theme.d.ts +0 -45
- package/dist/starters/theme.js +0 -77
- package/dist/starters.d.ts +0 -2
- package/dist/starters.js +0 -874
- package/dist/tailwind-BYq7Lo6u.js +0 -727
- package/dist/template-DWftqh4x.d.ts +0 -60
- package/dist/template.d.ts +0 -2
- package/dist/template.js +0 -37
- package/dist/theme-css.js +0 -2
- package/dist/tsx-source-instrumentation.d.ts +0 -30
- package/dist/tsx-source-instrumentation.js +0 -115
- package/dist/tsx-tracer.d.ts +0 -112
- package/dist/tsx-tracer.js +0 -985
- package/dist/variables-J_L3qxRa.d.ts +0 -77
- package/dist/variables.d.ts +0 -2
- package/dist/variables.js +0 -141
- package/dist/version-BITr58kk.js +0 -96
- package/generated/sml-agent-contract.json +0 -709
- package/generated/sml-email-agent-contract.json +0 -615
- package/generated/sml-email-language-reference.md +0 -94
- package/generated/sml-language-reference.md +0 -195
package/dist/compiler.d.ts
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { a as compileSelector, c as CompiledSelector, d as matchesSelector, i as Stylesheet, l as Compound, n as CssRule, o as parseStylesheet, r as Specificity, s as Ancestry, t as CssDeclaration, u as classListOf } from "./css-CS2jLID6.js";
|
|
7
|
-
import { EMAIL_DOCTYPE, EmailCompileOutput, RenderedEmail, compileEmail, renderEmail } from "./email/render.js";
|
|
8
|
-
import { ASSET_CONTENT_TYPES, AssetEntry, AssetManifest, assetEntry, assetUrl, checkAssetBase, isAssetPath, isExternalAsset } from "./email/assets.js";
|
|
9
|
-
import { collectStylesheets, hasStylesheets, registerStylesheet, resetStylesheets } from "./email/stylesheets.js";
|
|
10
|
-
import { a as EmailBrand, c as EmailBrandFooter, l as EmailBrandSocialLink, o as EmailBrandAddress, s as EmailBrandAssets } from "./brand-DcoVkh_S.js";
|
|
11
|
-
import { instrumentTsxSourceForPreview } from "./tsx-source-instrumentation.js";
|
|
1
|
+
import { a as TemplateDiagnostic, r as EmailDiagnostic } from "./diagnostics-B-Gym34R.js";
|
|
2
|
+
import { r as EmailNode } from "./jsx-runtime-ylIOnaSf.js";
|
|
3
|
+
import { n as AssetEntry, p as EmailBrand, u as BrandComponents } from "./assets-BIsyMQ92.js";
|
|
4
|
+
import { C as Compound, D as EmittedPosition, S as CompiledSelector, T as matchesSelector, _ as Specificity, b as parseStylesheet, ct as TemplateIr, g as CssRule, h as CssDeclaration, r as RenderedEmail, v as Stylesheet, w as classListOf, x as Ancestry, y as compileSelector } from "./render-BPonDpCl.js";
|
|
5
|
+
import { a as TEMPLATE_NAME_PATTERN, n as EmailContent } from "./template-DMPwxMSq.js";
|
|
12
6
|
import { caniemail } from "caniemail";
|
|
13
7
|
//#region src/email/compatibility.d.ts
|
|
14
8
|
type CaniemailClient = Parameters<typeof caniemail>[0]["clients"][number];
|
|
@@ -185,12 +179,6 @@ declare const discoverClassCandidates: (source: string, fileName: string) => Cla
|
|
|
185
179
|
/** Where this build serves assets from, and how Tailwind is configured. */
|
|
186
180
|
interface TransformOptions {
|
|
187
181
|
readonly assetBase: string;
|
|
188
|
-
/**
|
|
189
|
-
* Specifier the generated stylesheet modules import `registerStylesheet`
|
|
190
|
-
* from. It is the published subpath by default; a host that resolves the
|
|
191
|
-
* package differently states its own.
|
|
192
|
-
*/
|
|
193
|
-
readonly stylesheetModule?: string | undefined;
|
|
194
182
|
/** `false` compiles no Tailwind at all. */
|
|
195
183
|
readonly tailwind?: TailwindOptions | false | undefined;
|
|
196
184
|
/**
|
|
@@ -199,63 +187,14 @@ interface TransformOptions {
|
|
|
199
187
|
*/
|
|
200
188
|
readonly brand?: EmailBrand | undefined;
|
|
201
189
|
}
|
|
202
|
-
interface ModuleTransform {
|
|
203
|
-
/** Always JavaScript, whatever the input file was. */
|
|
204
|
-
readonly code: string;
|
|
205
|
-
readonly asset?: AssetEntry | undefined;
|
|
206
|
-
/** Class names this module states literally, for the Tailwind candidate set. */
|
|
207
|
-
readonly classes?: readonly string[] | undefined;
|
|
208
|
-
readonly diagnostics: readonly EmailDiagnostic[];
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Transform one project file into a JavaScript module.
|
|
212
|
-
*
|
|
213
|
-
* `.tsx`/`.ts` keep their authored semantics and gain source origins. A
|
|
214
|
-
* stylesheet becomes a module that registers its parsed rules; its `@font-face`
|
|
215
|
-
* sources resolve against `assets`, the project's addressed files by path. An
|
|
216
|
-
* imported binary becomes a module exporting the content-addressed URL of its
|
|
217
|
-
* bytes.
|
|
218
|
-
*/
|
|
219
|
-
declare const transformModule: (id: string, source: string | Uint8Array, options: TransformOptions, assets?: ReadonlyMap<string, AssetEntry>) => Promise<ModuleTransform>;
|
|
220
190
|
interface ProjectTransform {
|
|
221
|
-
/** Every input file, transformed; keys are unchanged. */
|
|
222
|
-
readonly files: Readonly<Record<string, string>>;
|
|
223
191
|
readonly assets: readonly AssetEntry[];
|
|
224
|
-
/**
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
*/
|
|
229
|
-
readonly tailwind: {
|
|
230
|
-
readonly path: string;
|
|
231
|
-
readonly code: string;
|
|
232
|
-
} | undefined;
|
|
233
|
-
/**
|
|
234
|
-
* The generated `samva:brand` module, when the project's TSX imports the
|
|
235
|
-
* brand components. A host writes it at `path`; imports already point there.
|
|
236
|
-
*/
|
|
237
|
-
readonly brand: {
|
|
238
|
-
readonly path: string;
|
|
239
|
-
readonly code: string;
|
|
240
|
-
} | undefined;
|
|
192
|
+
/** The compiled Tailwind sheet, when the project used any utility class. */
|
|
193
|
+
readonly tailwindSheet: Stylesheet | undefined;
|
|
194
|
+
/** Every project stylesheet, parsed, by path. */
|
|
195
|
+
readonly stylesheets: ReadonlyMap<string, Stylesheet>;
|
|
241
196
|
readonly diagnostics: readonly EmailDiagnostic[];
|
|
242
197
|
}
|
|
243
|
-
/**
|
|
244
|
-
* The generated Tailwind module is a real file at the project root, not a
|
|
245
|
-
* virtual id. A virtual module has no directory, so its own relative imports
|
|
246
|
-
* resolve differently from the project's and the bundler ends up with a second
|
|
247
|
-
* copy of the stylesheet registry — the sheet registers into a registry the
|
|
248
|
-
* render never reads.
|
|
249
|
-
*/
|
|
250
|
-
declare const TAILWIND_MODULE_PATH = ".samva-tailwind.css";
|
|
251
|
-
/** The specifier an entry at this path uses to reach the generated module. */
|
|
252
|
-
declare const tailwindSpecifierFor: (entryPoint: string) => string;
|
|
253
|
-
/**
|
|
254
|
-
* The generated module `samva:brand` resolves to in TSX. Like the Tailwind
|
|
255
|
-
* module it is a real file at the project root, so it shares the project's
|
|
256
|
-
* copy of `@samva/markup`.
|
|
257
|
-
*/
|
|
258
|
-
declare const BRAND_MODULE_PATH = ".samva-brand.ts";
|
|
259
198
|
/**
|
|
260
199
|
* The `samva:brand` specifier a project imports — from its theme's `@import`s
|
|
261
200
|
* or its TSX — so a host can fetch that brand before it compiles. `undefined`
|
|
@@ -263,61 +202,95 @@ declare const BRAND_MODULE_PATH = ".samva-brand.ts";
|
|
|
263
202
|
* first here and a refusal from the compile.
|
|
264
203
|
*/
|
|
265
204
|
declare const projectBrandSpecifier: (files: Readonly<Record<string, string | Uint8Array>>, themePath?: string) => string | undefined;
|
|
266
|
-
/**
|
|
205
|
+
/** Read a whole project, then compile the classes its scripts used. */
|
|
267
206
|
declare const transformProject: (files: Readonly<Record<string, string | Uint8Array>>, options: TransformOptions) => Promise<ProjectTransform>;
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/email/theme-imports.d.ts
|
|
209
|
+
/** The CSS and TSX specifier a template uses to reach its organization's brand. */
|
|
210
|
+
declare const BRAND_SPECIFIER = "samva:brand";
|
|
211
|
+
/** The brand a `samva:brand` specifier names: `undefined` slug means the default brand. */
|
|
212
|
+
declare const parseBrandSpecifier: (specifier: string) => {
|
|
213
|
+
readonly slug: string | undefined;
|
|
214
|
+
} | undefined;
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region src/email/brand-footer.d.ts
|
|
217
|
+
/** A footer block for the send path to append, and its plain-text tail. */
|
|
218
|
+
interface RenderedBrandFooter {
|
|
219
|
+
readonly html: string;
|
|
220
|
+
readonly text: string;
|
|
221
|
+
}
|
|
268
222
|
/**
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
*
|
|
223
|
+
* Render `BrandFooter` against a brand on its own, for the send path to
|
|
224
|
+
* append to a message whose template renders no footer of its own. It
|
|
225
|
+
* compiles the same component, styled by the same brand theme, a template
|
|
226
|
+
* would get from `samva:brand`. Without `unsubscribe` the unsubscribe row is
|
|
227
|
+
* left out.
|
|
272
228
|
*/
|
|
273
|
-
declare const
|
|
274
|
-
|
|
275
|
-
|
|
229
|
+
declare const renderBrandFooter: (brand: EmailBrand, options: {
|
|
230
|
+
readonly unsubscribe: boolean;
|
|
231
|
+
}) => Promise<RenderedBrandFooter>;
|
|
276
232
|
/**
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
233
|
+
* Render content against a brand as a project whose `theme.css` is
|
|
234
|
+
* `@import "samva:brand";` renders it: Tailwind compiles the brand theme for
|
|
235
|
+
* the classes the content names, `BrandLogo` and `BrandFooter` are bound to the
|
|
236
|
+
* brand, and the render inlines the result. A brand preview renders through
|
|
237
|
+
* this, so it shows what a template importing the brand compiles to.
|
|
281
238
|
*/
|
|
282
|
-
declare const
|
|
239
|
+
declare const renderBrandSample: (brand: EmailBrand, sample: {
|
|
240
|
+
/** Every class the content names; nothing is discovered from source here. */
|
|
241
|
+
readonly classes: readonly string[];
|
|
242
|
+
readonly render: (components: BrandComponents) => EmailContent;
|
|
243
|
+
}) => Promise<RenderedEmail>;
|
|
244
|
+
//#endregion
|
|
245
|
+
//#region src/sml/lower-project.d.ts
|
|
246
|
+
interface CompiledTemplate {
|
|
247
|
+
/** The IR, or `undefined` when a finding blocks it. */
|
|
248
|
+
readonly ir: TemplateIr | undefined;
|
|
249
|
+
/** The fixtures read from the entry, with imported assets resolved to their URLs. */
|
|
250
|
+
readonly fixtures: Readonly<Record<string, unknown>>;
|
|
251
|
+
readonly assets: readonly AssetEntry[];
|
|
252
|
+
/** Errors block the IR; warnings ride along. */
|
|
253
|
+
readonly diagnostics: readonly TemplateDiagnostic[];
|
|
254
|
+
}
|
|
255
|
+
//#endregion
|
|
256
|
+
//#region src/sml/compile.d.ts
|
|
257
|
+
interface CompileTemplateOptions extends TransformOptions {
|
|
258
|
+
/** The project's files by path. Binary files are addressed as assets. */
|
|
259
|
+
readonly files: Readonly<Record<string, string | Uint8Array>>;
|
|
260
|
+
/** The entry: a `.tsx` file that default-exports `defineTemplate({ ... })`. */
|
|
261
|
+
readonly entry: string;
|
|
262
|
+
/**
|
|
263
|
+
* The portable JSON Schema, for an entry whose `schema` is not a literal `jsonSchema(...)`
|
|
264
|
+
* (a Zod or Effect schema needs a library to become JSON Schema). A host that has evaluated the
|
|
265
|
+
* schema passes its conversion here; a literal schema is read from source and this is ignored.
|
|
266
|
+
*/
|
|
267
|
+
readonly schema?: Readonly<Record<string, unknown>> | undefined;
|
|
268
|
+
}
|
|
269
|
+
/** Compile a project's entry template to IR without evaluating any of it. */
|
|
270
|
+
declare const compileTemplate: (options: CompileTemplateOptions) => Promise<CompiledTemplate>;
|
|
271
|
+
//#endregion
|
|
272
|
+
//#region src/sml/compatibility.d.ts
|
|
283
273
|
/**
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
* the same process resets the registry. Importing the renderer from outside
|
|
288
|
-
* that graph reaches a second copy of the registry and silently renders unstyled.
|
|
274
|
+
* Check what each declared fixture delivers against the pinned client matrix. The rules run on the
|
|
275
|
+
* rendered document, because what a client drops is what the compiler produced, and every finding
|
|
276
|
+
* is located at the source of the element that produced it.
|
|
289
277
|
*/
|
|
290
|
-
declare const
|
|
278
|
+
declare const checkTemplateCompatibility: (ir: TemplateIr, fixtures: Readonly<Record<string, unknown>>, options?: {
|
|
279
|
+
readonly clients?: readonly EmailClientTarget[] | undefined;
|
|
280
|
+
}) => readonly EmailDiagnostic[];
|
|
281
|
+
//#endregion
|
|
282
|
+
//#region src/sml/profile.d.ts
|
|
291
283
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
284
|
+
* Check an entry against the static profile. Pass the entry's source alone, or the project's files
|
|
285
|
+
* and the entry's path. Imports of files that are absent are trusted to exist, and the brand,
|
|
286
|
+
* Tailwind and theme are not resolved, so the result holds only findings the source itself owns.
|
|
294
287
|
*/
|
|
295
|
-
declare const
|
|
296
|
-
interface CompiledEmailProject {
|
|
297
|
-
/** Every module as JavaScript, keyed by its authored path. */
|
|
298
|
-
readonly files: Readonly<Record<string, string>>;
|
|
299
|
-
/** The generated module a host bundles or evaluates. */
|
|
300
|
-
readonly entryPoint: string;
|
|
301
|
-
/** The project's own entry, which the wrapper re-exports. */
|
|
302
|
-
readonly authoredEntry: string;
|
|
303
|
-
readonly assets: readonly AssetEntry[];
|
|
304
|
-
readonly diagnostics: readonly EmailDiagnostic[];
|
|
305
|
-
}
|
|
288
|
+
declare const checkStaticProfile: (files: string | Readonly<Record<string, string | Uint8Array>>, entry?: string) => readonly TemplateDiagnostic[];
|
|
306
289
|
/**
|
|
307
|
-
* The
|
|
308
|
-
*
|
|
309
|
-
* built. Both hosts call exactly this, which is what stops their outputs from
|
|
310
|
-
* drifting apart.
|
|
290
|
+
* The errors in `after` that `before` did not already have, compared by code and message so a
|
|
291
|
+
* finding that only moved does not count as new.
|
|
311
292
|
*/
|
|
312
|
-
declare const
|
|
313
|
-
//#endregion
|
|
314
|
-
//#region src/email/theme-imports.d.ts
|
|
315
|
-
/** The CSS and TSX specifier a template uses to reach its organization's brand. */
|
|
316
|
-
declare const BRAND_SPECIFIER = "samva:brand";
|
|
317
|
-
/** The brand a `samva:brand` specifier names: `undefined` slug means the default brand. */
|
|
318
|
-
declare const parseBrandSpecifier: (specifier: string) => {
|
|
319
|
-
readonly slug: string | undefined;
|
|
320
|
-
} | undefined;
|
|
293
|
+
declare const introducedProfileErrors: (before: readonly TemplateDiagnostic[], after: readonly TemplateDiagnostic[]) => readonly TemplateDiagnostic[];
|
|
321
294
|
//#endregion
|
|
322
|
-
export {
|
|
295
|
+
export { type Ancestry, type AppliedStyles, BRAND_SPECIFIER, COMPATIBILITY_PROVENANCE, type ClassDiscovery, type CompatibilityInput, type CompatibilityProvenance, type CompileTemplateOptions, type CompiledSelector, type CompiledTemplate, type Compound, type CssDeclaration, type CssRule, EMAIL_CLIENT_MATRIX, ESSENTIAL_CONSTRUCTS, type EmailClientTarget, type EmailContent, type ProjectTransform, type RenderedBrandFooter, type Specificity, type Stylesheet, TAILWIND_VERSION, TEMPLATE_NAME_PATTERN, type TailwindLimits, type TailwindOptions, type TailwindOutput, type TransformOptions, applyStylesheet, checkEmailCompatibility, checkStaticProfile, checkTemplateCompatibility, classListOf, compileSelector, compileTailwind, compileTemplate, discoverClassCandidates, downlevelColors, downlevelMediaQuery, finalizeValue, foldCalc, formatColor, hasBlockingCompatibility, introducedProfileErrors, matchesSelector, parseBrandSpecifier, parseColor, parseStylesheet, projectBrandSpecifier, renderBrandFooter, renderBrandSample, renderHeadCss, resolveVariables, transformProject, unknownCoverage };
|
|
323
296
|
//# sourceMappingURL=compiler.d.ts.map
|