@samva/markup 0.7.0 → 0.8.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 +14 -0
- package/dist/brand-DcoVkh_S.d.ts +88 -0
- package/dist/{catalog-60eaYC7b.d.ts → catalog-CKuOooB8.d.ts} +13 -15
- package/dist/{checks-DBweSIPN.js → checks-D73Xizbw.js} +414 -2
- package/dist/checks.js +1 -1
- package/dist/classes.d.ts +2 -3
- package/dist/compiler.d.ts +62 -45
- package/dist/compiler.js +179 -857
- package/dist/{corpus-BjYMqOoY.d.ts → corpus-CPPfgAHN.d.ts} +14 -14
- package/dist/{css-COcFOT1y.d.ts → css-CS2jLID6.d.ts} +28 -2
- package/dist/email/assets.d.ts +40 -0
- package/dist/email/assets.js +63 -0
- package/dist/email/brand-footer.d.ts +34 -0
- package/dist/email/brand-footer.js +62 -0
- package/dist/email/brand.d.ts +2 -0
- package/dist/email/brand.js +148 -0
- package/dist/email/html.d.ts +2 -42
- package/dist/email/html.js +11 -0
- package/dist/email/render.d.ts +12 -5
- package/dist/email/render.js +2 -5
- package/dist/email/selection.d.ts +2 -91
- package/dist/email/stylesheets.d.ts +1 -1
- package/dist/email/stylesheets.js +3 -0
- package/dist/html-Bl9BAdqc.d.ts +42 -0
- package/dist/{ops-2aiiYO7m.js → ops-BvwqHl7V.js} +2 -2
- package/dist/ops.js +1 -1
- package/dist/registry-Dcp6QEK_.d.ts +73 -0
- package/dist/registry.d.ts +2 -42
- package/dist/{render-aaJBnsXK.js → render-vAv_4r9v.js} +174 -17
- package/dist/selection-CCArx9lU.d.ts +91 -0
- package/dist/{showcase-DGZAWn4Z.d.ts → showcase-egkusQBf.d.ts} +15 -56
- package/dist/{presets → starters}/category-mapping.d.ts +5 -5
- package/dist/{presets → starters}/category-mapping.js +5 -5
- package/dist/starters/corpus.d.ts +2 -0
- package/dist/{presets → starters}/corpus.js +15 -15
- package/dist/starters/library.d.ts +18 -0
- package/dist/starters/library.js +692 -0
- package/dist/{presets → starters}/public-gallery.d.ts +47 -47
- package/dist/{presets → starters}/public-gallery.js +92 -92
- package/dist/{presets → starters}/public-handoff.d.ts +14 -14
- package/dist/{presets → starters}/public-handoff.js +40 -40
- package/dist/{presets → starters}/public-preview-artifacts.d.ts +4 -4
- package/dist/{presets → starters}/public-preview-artifacts.js +15 -15
- package/dist/{presets → starters}/public-preview.d.ts +1 -1
- package/dist/{presets → starters}/public-preview.js +3 -3
- package/dist/starters/showcase.d.ts +2 -0
- package/dist/starters/showcase.js +335 -0
- package/dist/starters/sources.d.ts +45 -0
- package/dist/{presets → starters}/sources.js +1951 -272
- package/dist/starters/theme.d.ts +45 -0
- package/dist/starters/theme.js +77 -0
- package/dist/starters.d.ts +2 -0
- package/dist/{presets.js → starters.js} +4 -11
- package/dist/tailwind-BYq7Lo6u.js +727 -0
- package/dist/theme-css-hFqcPSar.js +587 -0
- package/dist/theme-css.d.ts +56 -15
- package/dist/theme-css.js +2 -509
- package/dist/tsx-tracer.js +1 -1
- package/dist/unsubscribe-link-CoesnQDU.js +26 -0
- package/package.json +53 -41
- package/samva-brand.d.ts +14 -0
- package/dist/footer.d.ts +0 -66
- package/dist/footer.js +0 -93
- package/dist/presets/corpus.d.ts +0 -2
- package/dist/presets/showcase.d.ts +0 -2
- package/dist/presets/showcase.js +0 -627
- package/dist/presets/sources.d.ts +0 -38
- package/dist/presets.d.ts +0 -2
- package/dist/theme-6ApjjiBo.d.ts +0 -116
- package/dist/theme.d.ts +0 -2
- package/dist/theme.js +0 -118
- package/dist/tokens.d.ts +0 -6
- package/dist/tokens.js +0 -417
package/AGENTS.md
CHANGED
|
@@ -17,10 +17,17 @@ exports live in `@samva/vite`.
|
|
|
17
17
|
- `@samva/markup/email/render` — `renderEmail(template, data)`, which validates input and returns
|
|
18
18
|
subject, preheader, HTML, text, and the derived tree.
|
|
19
19
|
- `@samva/markup/email/diagnostics` — `EmailDiagnostic` and `EmailCompileError`.
|
|
20
|
+
- `@samva/markup/email/assets` — `isAssetPath` and `ASSET_CONTENT_TYPES`: which imported files
|
|
21
|
+
become content-addressed assets, without loading the compiler.
|
|
20
22
|
- `@samva/markup/input-schema` — `inputSchema`, which turns any Standard JSON Schema into the
|
|
21
23
|
portable JSON Schema and validator a template's input is checked against.
|
|
22
24
|
- `@samva/markup/compiler` — `compileEmailProject`, the bundler-agnostic compile step. It imports no
|
|
23
25
|
Vite, esbuild, or Node builtins, so it runs in any JavaScript host.
|
|
26
|
+
- `samva:brand` — `BrandLogo` (light logo, swapped for the dark one where the client honors dark
|
|
27
|
+
mode) and `BrandFooter` (company, postal address, social links and the unsubscribe row the send
|
|
28
|
+
path fills). The compiler binds them to the brand the build resolves; add
|
|
29
|
+
`"types": ["@samva/markup/samva-brand"]` to the project's tsconfig for `tsc`. In `theme.css`,
|
|
30
|
+
`@import "samva:brand";` layers the brand theme; `samva:brand/<slug>` names one brand.
|
|
24
31
|
- `jsxImportSource: "@samva/markup"` and `@samva/markup/components` — the structured SMS and
|
|
25
32
|
WhatsApp runtime and components. `parseSml` (`@samva/markup/parser`) and `compileSml` /
|
|
26
33
|
`compileSource` (`@samva/markup/compile`) work on SML source.
|
|
@@ -45,6 +52,13 @@ contracts; read those before authoring. Import only subpaths declared in `packag
|
|
|
45
52
|
definition declares the fixed value in its `runtime` (`TemplateRuntime`). A local render does not
|
|
46
53
|
enforce this, so a template that reads `Date.now()` can pass locally and fail once published. Take
|
|
47
54
|
times from validated input, or declare them.
|
|
55
|
+
- **Declaring a webfont as if every client loads it.** A project font is an ordinary `@font-face`
|
|
56
|
+
in the project's CSS (usually `theme.css`) whose `src` is a `.woff2` file in the project, named
|
|
57
|
+
by a path relative to that stylesheet; the compiler serves it as a content-addressed asset and
|
|
58
|
+
hides the rule from classic Outlook. Gmail and Outlook never load it, so a `font-family` stack
|
|
59
|
+
that names a project font must end in a generic (`sans-serif`, `serif`, `monospace`) or the
|
|
60
|
+
render fails with `email-font-fallback`. Only WOFF2 is accepted; an `https:` `src` stays an
|
|
61
|
+
external reference.
|
|
48
62
|
- **Treating `renderEmail` as a sandbox.** It executes the template's TypeScript in the calling
|
|
49
63
|
process. Run untrusted template source in an isolated host.
|
|
50
64
|
- **Expecting the schema library to do the validation.** A template's input schema is converted to
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { m as EmailNode } from "./elements-BzjjnoCS.js";
|
|
2
|
+
//#region src/internal/unsubscribe-link.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* The per-recipient unsubscribe URL is not known at render: the send path
|
|
5
|
+
* substitutes each delivery's link for this placeholder, or removes the
|
|
6
|
+
* unsubscribe row when the send resolved no unsubscribe group.
|
|
7
|
+
*/
|
|
8
|
+
declare const UNSUBSCRIBE_URL_PLACEHOLDER = "%samva:unsubscribe-url%";
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/email/brand.d.ts
|
|
11
|
+
interface EmailBrandAddress {
|
|
12
|
+
readonly street1: string;
|
|
13
|
+
readonly street2?: string | undefined;
|
|
14
|
+
readonly city: string;
|
|
15
|
+
readonly region: string;
|
|
16
|
+
readonly postalCode: string;
|
|
17
|
+
readonly country: string;
|
|
18
|
+
}
|
|
19
|
+
interface EmailBrandSocialLink {
|
|
20
|
+
readonly label: string;
|
|
21
|
+
readonly url: string;
|
|
22
|
+
}
|
|
23
|
+
interface EmailBrandAssets {
|
|
24
|
+
readonly logoUrl?: string | undefined;
|
|
25
|
+
readonly logoDarkUrl?: string | undefined;
|
|
26
|
+
readonly iconUrl?: string | undefined;
|
|
27
|
+
}
|
|
28
|
+
interface EmailBrandFooter {
|
|
29
|
+
readonly companyName?: string | undefined;
|
|
30
|
+
readonly address?: EmailBrandAddress | undefined;
|
|
31
|
+
readonly socialLinks?: readonly EmailBrandSocialLink[] | undefined;
|
|
32
|
+
}
|
|
33
|
+
interface EmailBrand {
|
|
34
|
+
/** The brand's slug; `samva:brand/<slug>` must name it. */
|
|
35
|
+
readonly slug: string;
|
|
36
|
+
/** Brand theme CSS in the closed grammar `parseBrandCss` accepts. */
|
|
37
|
+
readonly css: string;
|
|
38
|
+
readonly assets?: EmailBrandAssets | undefined;
|
|
39
|
+
readonly footer?: EmailBrandFooter | undefined;
|
|
40
|
+
}
|
|
41
|
+
/** Marks the block the send path recognizes as the template's own footer. */
|
|
42
|
+
declare const FOOTER_ATTRIBUTE = "data-samva-footer";
|
|
43
|
+
/** Marks the footer row that carries the unsubscribe link. */
|
|
44
|
+
declare const UNSUBSCRIBE_ROW_ATTRIBUTE = "data-samva-unsubscribe";
|
|
45
|
+
/** Every class the brand components use, compiled for any project that imports them. */
|
|
46
|
+
declare const BRAND_COMPONENT_CLASSES: readonly ["dark:hidden!", "hidden", "dark:block!", "text-xs", "text-gray-500", "text-center", "font-semibold", "underline"];
|
|
47
|
+
interface BrandLogoProps {
|
|
48
|
+
/** Rendered width in pixels; the height follows the image. */
|
|
49
|
+
readonly width?: number | undefined;
|
|
50
|
+
/** Defaults to the brand footer's company name. */
|
|
51
|
+
readonly alt?: string | undefined;
|
|
52
|
+
readonly align?: "left" | "center" | "right" | undefined;
|
|
53
|
+
readonly className?: string | undefined;
|
|
54
|
+
}
|
|
55
|
+
interface BrandFooterProps {
|
|
56
|
+
/** Text of the unsubscribe link. */
|
|
57
|
+
readonly unsubscribeLabel?: string | undefined;
|
|
58
|
+
readonly className?: string | undefined;
|
|
59
|
+
}
|
|
60
|
+
interface BrandComponents {
|
|
61
|
+
readonly BrandLogo: (props: BrandLogoProps) => EmailNode | null;
|
|
62
|
+
readonly BrandFooter: (props: BrandFooterProps) => EmailNode | null;
|
|
63
|
+
}
|
|
64
|
+
/** Bind `BrandLogo` and `BrandFooter` to one brand. */
|
|
65
|
+
declare const brandComponents: (brand: EmailBrand) => BrandComponents;
|
|
66
|
+
/** What a rendered message says about the footer it carries. */
|
|
67
|
+
interface RenderedFooterMarkers {
|
|
68
|
+
/** The message renders `BrandFooter` (or claims to, with the marker). */
|
|
69
|
+
readonly footer: boolean;
|
|
70
|
+
/** The message carries the unsubscribe placeholder link only `BrandFooter` can write. */
|
|
71
|
+
readonly unsubscribeLink: boolean;
|
|
72
|
+
}
|
|
73
|
+
/** Read the footer markers from rendered HTML. */
|
|
74
|
+
declare const renderedFooterMarkers: (html: string) => RenderedFooterMarkers;
|
|
75
|
+
/**
|
|
76
|
+
* Drop the unsubscribe row from a rendered message, for a send that resolved
|
|
77
|
+
* no unsubscribe group: there is no link to put there, so the row goes.
|
|
78
|
+
*/
|
|
79
|
+
declare const withoutUnsubscribeRow: (rendered: {
|
|
80
|
+
readonly html?: string | undefined;
|
|
81
|
+
readonly text?: string | undefined;
|
|
82
|
+
}) => {
|
|
83
|
+
readonly html: string | undefined;
|
|
84
|
+
readonly text: string | undefined;
|
|
85
|
+
};
|
|
86
|
+
//#endregion
|
|
87
|
+
export { EmailBrand as a, EmailBrandFooter as c, RenderedFooterMarkers as d, UNSUBSCRIBE_ROW_ATTRIBUTE as f, UNSUBSCRIBE_URL_PLACEHOLDER as g, withoutUnsubscribeRow as h, BrandLogoProps as i, EmailBrandSocialLink as l, renderedFooterMarkers as m, BrandComponents as n, EmailBrandAddress as o, brandComponents as p, BrandFooterProps as r, EmailBrandAssets as s, BRAND_COMPONENT_CLASSES as t, FOOTER_ATTRIBUTE as u };
|
|
88
|
+
//# sourceMappingURL=brand-DcoVkh_S.d.ts.map
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { l as Channel } from "./ast-BrDtApwS.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
interface PresetMeta {
|
|
2
|
+
//#region starters/catalog.d.ts
|
|
3
|
+
type StarterCategory = "transactional" | "digest" | "marketing" | "lifecycle";
|
|
4
|
+
interface StarterMeta {
|
|
6
5
|
/** Stable id and source filename stem (`${id}.tsx`). */
|
|
7
6
|
readonly id: string;
|
|
8
7
|
/** The source's root-tag channel; the gallery filters by it. */
|
|
9
8
|
readonly channel: Channel;
|
|
10
|
-
readonly category:
|
|
9
|
+
readonly category: StarterCategory;
|
|
11
10
|
/** Human title for the gallery card. */
|
|
12
11
|
readonly name: string;
|
|
13
|
-
/** One-line description of when to reach for this
|
|
12
|
+
/** One-line description of when to reach for this starter. */
|
|
14
13
|
readonly description: string;
|
|
15
14
|
/**
|
|
16
15
|
* Every input property declared by the template schema, sorted.
|
|
@@ -18,8 +17,7 @@ interface PresetMeta {
|
|
|
18
17
|
*/
|
|
19
18
|
readonly variables: ReadonlyArray<string>;
|
|
20
19
|
}
|
|
21
|
-
declare const
|
|
22
|
-
declare const presetCatalog: readonly [{
|
|
20
|
+
declare const starterCatalog: readonly [{
|
|
23
21
|
readonly id: "linear-login-code";
|
|
24
22
|
readonly channel: "email";
|
|
25
23
|
readonly category: "transactional";
|
|
@@ -342,15 +340,15 @@ declare const presetCatalog: readonly [{
|
|
|
342
340
|
readonly description: "Marketing template: limited-time offer with a copyable promo code and a shop button.";
|
|
343
341
|
readonly variables: readonly ["endsToday", "firstName", "offerDetails", "offerHeadline", "promoCode", "shopUrl"];
|
|
344
342
|
}];
|
|
345
|
-
type
|
|
346
|
-
type
|
|
347
|
-
type
|
|
343
|
+
type StarterId = (typeof starterCatalog)[number]["id"];
|
|
344
|
+
type StarterVariable = (typeof starterCatalog)[number]["variables"][number];
|
|
345
|
+
type EmailStarter = Extract<(typeof starterCatalog)[number], {
|
|
348
346
|
channel: "email";
|
|
349
347
|
}>;
|
|
350
|
-
type
|
|
351
|
-
type
|
|
348
|
+
type EmailStarterId = EmailStarter["id"];
|
|
349
|
+
type EmailStarterVariable = EmailStarter extends (infer Starter) ? Starter extends {
|
|
352
350
|
readonly variables: ReadonlyArray<infer Variable>;
|
|
353
351
|
} ? Variable : never : never;
|
|
354
352
|
//#endregion
|
|
355
|
-
export {
|
|
356
|
-
//# sourceMappingURL=catalog-
|
|
353
|
+
export { StarterMeta as a, StarterId as i, EmailStarterVariable as n, StarterVariable as o, StarterCategory as r, starterCatalog as s, EmailStarterId as t };
|
|
354
|
+
//# sourceMappingURL=catalog-CKuOooB8.d.ts.map
|
|
@@ -6,7 +6,6 @@ import { registryRoots, utilityRegistry } from "./registry.js";
|
|
|
6
6
|
import { resolveClasses } from "./classes.js";
|
|
7
7
|
import { decodeEntities } from "./lexer.js";
|
|
8
8
|
import { parseSml } from "./parser.js";
|
|
9
|
-
import { baseTokens } from "./tokens.js";
|
|
10
9
|
import { Result } from "better-result";
|
|
11
10
|
//#region src/caniemail-compact.ts
|
|
12
11
|
const caniemailCompactData = {
|
|
@@ -58496,6 +58495,419 @@ const caniemailCompactData = {
|
|
|
58496
58495
|
}
|
|
58497
58496
|
};
|
|
58498
58497
|
//#endregion
|
|
58498
|
+
//#region src/tokens.ts
|
|
58499
|
+
const baseTokens = {
|
|
58500
|
+
colors: {
|
|
58501
|
+
"red-50": "#fef2f2",
|
|
58502
|
+
"red-100": "#ffe2e2",
|
|
58503
|
+
"red-200": "#ffc9c9",
|
|
58504
|
+
"red-300": "#ffa2a2",
|
|
58505
|
+
"red-400": "#ff6467",
|
|
58506
|
+
"red-500": "#fb2c36",
|
|
58507
|
+
"red-600": "#e7000b",
|
|
58508
|
+
"red-700": "#c10007",
|
|
58509
|
+
"red-800": "#9f0712",
|
|
58510
|
+
"red-900": "#82181a",
|
|
58511
|
+
"red-950": "#460809",
|
|
58512
|
+
"orange-50": "#fff7ed",
|
|
58513
|
+
"orange-100": "#ffedd4",
|
|
58514
|
+
"orange-200": "#ffd6a7",
|
|
58515
|
+
"orange-300": "#ffb86a",
|
|
58516
|
+
"orange-400": "#ff8904",
|
|
58517
|
+
"orange-500": "#ff6900",
|
|
58518
|
+
"orange-600": "#f54900",
|
|
58519
|
+
"orange-700": "#ca3500",
|
|
58520
|
+
"orange-800": "#9f2d00",
|
|
58521
|
+
"orange-900": "#7e2a0c",
|
|
58522
|
+
"orange-950": "#441306",
|
|
58523
|
+
"amber-50": "#fffbeb",
|
|
58524
|
+
"amber-100": "#fef3c6",
|
|
58525
|
+
"amber-200": "#fee685",
|
|
58526
|
+
"amber-300": "#ffd230",
|
|
58527
|
+
"amber-400": "#ffb900",
|
|
58528
|
+
"amber-500": "#fe9a00",
|
|
58529
|
+
"amber-600": "#e17100",
|
|
58530
|
+
"amber-700": "#bb4d00",
|
|
58531
|
+
"amber-800": "#973c00",
|
|
58532
|
+
"amber-900": "#7b3306",
|
|
58533
|
+
"amber-950": "#461901",
|
|
58534
|
+
"yellow-50": "#fefce8",
|
|
58535
|
+
"yellow-100": "#fef9c2",
|
|
58536
|
+
"yellow-200": "#fff085",
|
|
58537
|
+
"yellow-300": "#ffdf20",
|
|
58538
|
+
"yellow-400": "#fdc700",
|
|
58539
|
+
"yellow-500": "#f0b100",
|
|
58540
|
+
"yellow-600": "#d08700",
|
|
58541
|
+
"yellow-700": "#a65f00",
|
|
58542
|
+
"yellow-800": "#894b00",
|
|
58543
|
+
"yellow-900": "#733e0a",
|
|
58544
|
+
"yellow-950": "#432004",
|
|
58545
|
+
"lime-50": "#f7fee7",
|
|
58546
|
+
"lime-100": "#ecfcca",
|
|
58547
|
+
"lime-200": "#d8f999",
|
|
58548
|
+
"lime-300": "#bbf451",
|
|
58549
|
+
"lime-400": "#9ae600",
|
|
58550
|
+
"lime-500": "#7ccf00",
|
|
58551
|
+
"lime-600": "#5ea500",
|
|
58552
|
+
"lime-700": "#497d00",
|
|
58553
|
+
"lime-800": "#3c6300",
|
|
58554
|
+
"lime-900": "#35530e",
|
|
58555
|
+
"lime-950": "#192e03",
|
|
58556
|
+
"green-50": "#f0fdf4",
|
|
58557
|
+
"green-100": "#dcfce7",
|
|
58558
|
+
"green-200": "#b9f8cf",
|
|
58559
|
+
"green-300": "#7bf1a8",
|
|
58560
|
+
"green-400": "#05df72",
|
|
58561
|
+
"green-500": "#00c950",
|
|
58562
|
+
"green-600": "#00a63e",
|
|
58563
|
+
"green-700": "#008236",
|
|
58564
|
+
"green-800": "#016630",
|
|
58565
|
+
"green-900": "#0d542b",
|
|
58566
|
+
"green-950": "#032e15",
|
|
58567
|
+
"emerald-50": "#ecfdf5",
|
|
58568
|
+
"emerald-100": "#d0fae5",
|
|
58569
|
+
"emerald-200": "#a4f4cf",
|
|
58570
|
+
"emerald-300": "#5ee9b5",
|
|
58571
|
+
"emerald-400": "#00d492",
|
|
58572
|
+
"emerald-500": "#00bc7d",
|
|
58573
|
+
"emerald-600": "#009966",
|
|
58574
|
+
"emerald-700": "#007a55",
|
|
58575
|
+
"emerald-800": "#006045",
|
|
58576
|
+
"emerald-900": "#004f3b",
|
|
58577
|
+
"emerald-950": "#002c22",
|
|
58578
|
+
"teal-50": "#f0fdfa",
|
|
58579
|
+
"teal-100": "#cbfbf1",
|
|
58580
|
+
"teal-200": "#96f7e4",
|
|
58581
|
+
"teal-300": "#46ecd5",
|
|
58582
|
+
"teal-400": "#00d5be",
|
|
58583
|
+
"teal-500": "#00bba7",
|
|
58584
|
+
"teal-600": "#009689",
|
|
58585
|
+
"teal-700": "#00786f",
|
|
58586
|
+
"teal-800": "#005f5a",
|
|
58587
|
+
"teal-900": "#0b4f4a",
|
|
58588
|
+
"teal-950": "#022f2e",
|
|
58589
|
+
"cyan-50": "#ecfeff",
|
|
58590
|
+
"cyan-100": "#cefafe",
|
|
58591
|
+
"cyan-200": "#a2f4fd",
|
|
58592
|
+
"cyan-300": "#53eafd",
|
|
58593
|
+
"cyan-400": "#00d3f2",
|
|
58594
|
+
"cyan-500": "#00b8db",
|
|
58595
|
+
"cyan-600": "#0092b8",
|
|
58596
|
+
"cyan-700": "#007595",
|
|
58597
|
+
"cyan-800": "#005f78",
|
|
58598
|
+
"cyan-900": "#104e64",
|
|
58599
|
+
"cyan-950": "#053345",
|
|
58600
|
+
"sky-50": "#f0f9ff",
|
|
58601
|
+
"sky-100": "#dff2fe",
|
|
58602
|
+
"sky-200": "#b8e6fe",
|
|
58603
|
+
"sky-300": "#74d4ff",
|
|
58604
|
+
"sky-400": "#00bcff",
|
|
58605
|
+
"sky-500": "#00a6f4",
|
|
58606
|
+
"sky-600": "#0084d1",
|
|
58607
|
+
"sky-700": "#0069a8",
|
|
58608
|
+
"sky-800": "#00598a",
|
|
58609
|
+
"sky-900": "#024a70",
|
|
58610
|
+
"sky-950": "#052f4a",
|
|
58611
|
+
"blue-50": "#eff6ff",
|
|
58612
|
+
"blue-100": "#dbeafe",
|
|
58613
|
+
"blue-200": "#bedbff",
|
|
58614
|
+
"blue-300": "#8ec5ff",
|
|
58615
|
+
"blue-400": "#51a2ff",
|
|
58616
|
+
"blue-500": "#2b7fff",
|
|
58617
|
+
"blue-600": "#155dfc",
|
|
58618
|
+
"blue-700": "#1447e6",
|
|
58619
|
+
"blue-800": "#193cb8",
|
|
58620
|
+
"blue-900": "#1c398e",
|
|
58621
|
+
"blue-950": "#162456",
|
|
58622
|
+
"indigo-50": "#eef2ff",
|
|
58623
|
+
"indigo-100": "#e0e7ff",
|
|
58624
|
+
"indigo-200": "#c6d2ff",
|
|
58625
|
+
"indigo-300": "#a3b3ff",
|
|
58626
|
+
"indigo-400": "#7c86ff",
|
|
58627
|
+
"indigo-500": "#615fff",
|
|
58628
|
+
"indigo-600": "#4f39f6",
|
|
58629
|
+
"indigo-700": "#432dd7",
|
|
58630
|
+
"indigo-800": "#372aac",
|
|
58631
|
+
"indigo-900": "#312c85",
|
|
58632
|
+
"indigo-950": "#1e1a4d",
|
|
58633
|
+
"violet-50": "#f5f3ff",
|
|
58634
|
+
"violet-100": "#ede9fe",
|
|
58635
|
+
"violet-200": "#ddd6ff",
|
|
58636
|
+
"violet-300": "#c4b4ff",
|
|
58637
|
+
"violet-400": "#a684ff",
|
|
58638
|
+
"violet-500": "#8e51ff",
|
|
58639
|
+
"violet-600": "#7f22fe",
|
|
58640
|
+
"violet-700": "#7008e7",
|
|
58641
|
+
"violet-800": "#5d0ec0",
|
|
58642
|
+
"violet-900": "#4d179a",
|
|
58643
|
+
"violet-950": "#2f0d68",
|
|
58644
|
+
"purple-50": "#faf5ff",
|
|
58645
|
+
"purple-100": "#f3e8ff",
|
|
58646
|
+
"purple-200": "#e9d4ff",
|
|
58647
|
+
"purple-300": "#dab2ff",
|
|
58648
|
+
"purple-400": "#c27aff",
|
|
58649
|
+
"purple-500": "#ad46ff",
|
|
58650
|
+
"purple-600": "#9810fa",
|
|
58651
|
+
"purple-700": "#8200db",
|
|
58652
|
+
"purple-800": "#6e11b0",
|
|
58653
|
+
"purple-900": "#59168b",
|
|
58654
|
+
"purple-950": "#3c0366",
|
|
58655
|
+
"fuchsia-50": "#fdf4ff",
|
|
58656
|
+
"fuchsia-100": "#fae8ff",
|
|
58657
|
+
"fuchsia-200": "#f6cfff",
|
|
58658
|
+
"fuchsia-300": "#f4a8ff",
|
|
58659
|
+
"fuchsia-400": "#ed6aff",
|
|
58660
|
+
"fuchsia-500": "#e12afb",
|
|
58661
|
+
"fuchsia-600": "#c800de",
|
|
58662
|
+
"fuchsia-700": "#a800b7",
|
|
58663
|
+
"fuchsia-800": "#8a0194",
|
|
58664
|
+
"fuchsia-900": "#721378",
|
|
58665
|
+
"fuchsia-950": "#4b004f",
|
|
58666
|
+
"pink-50": "#fdf2f8",
|
|
58667
|
+
"pink-100": "#fce7f3",
|
|
58668
|
+
"pink-200": "#fccee8",
|
|
58669
|
+
"pink-300": "#fda5d5",
|
|
58670
|
+
"pink-400": "#fb64b6",
|
|
58671
|
+
"pink-500": "#f6339a",
|
|
58672
|
+
"pink-600": "#e60076",
|
|
58673
|
+
"pink-700": "#c6005c",
|
|
58674
|
+
"pink-800": "#a3004c",
|
|
58675
|
+
"pink-900": "#861043",
|
|
58676
|
+
"pink-950": "#510424",
|
|
58677
|
+
"rose-50": "#fff1f2",
|
|
58678
|
+
"rose-100": "#ffe4e6",
|
|
58679
|
+
"rose-200": "#ffccd3",
|
|
58680
|
+
"rose-300": "#ffa1ad",
|
|
58681
|
+
"rose-400": "#ff637e",
|
|
58682
|
+
"rose-500": "#ff2056",
|
|
58683
|
+
"rose-600": "#ec003f",
|
|
58684
|
+
"rose-700": "#c70036",
|
|
58685
|
+
"rose-800": "#a50036",
|
|
58686
|
+
"rose-900": "#8b0836",
|
|
58687
|
+
"rose-950": "#4d0218",
|
|
58688
|
+
"slate-50": "#f8fafc",
|
|
58689
|
+
"slate-100": "#f1f5f9",
|
|
58690
|
+
"slate-200": "#e2e8f0",
|
|
58691
|
+
"slate-300": "#cad5e2",
|
|
58692
|
+
"slate-400": "#90a1b9",
|
|
58693
|
+
"slate-500": "#62748e",
|
|
58694
|
+
"slate-600": "#45556c",
|
|
58695
|
+
"slate-700": "#314158",
|
|
58696
|
+
"slate-800": "#1d293d",
|
|
58697
|
+
"slate-900": "#0f172b",
|
|
58698
|
+
"slate-950": "#020618",
|
|
58699
|
+
"gray-50": "#f9fafb",
|
|
58700
|
+
"gray-100": "#f3f4f6",
|
|
58701
|
+
"gray-200": "#e5e7eb",
|
|
58702
|
+
"gray-300": "#d1d5dc",
|
|
58703
|
+
"gray-400": "#99a1af",
|
|
58704
|
+
"gray-500": "#6a7282",
|
|
58705
|
+
"gray-600": "#4a5565",
|
|
58706
|
+
"gray-700": "#364153",
|
|
58707
|
+
"gray-800": "#1e2939",
|
|
58708
|
+
"gray-900": "#101828",
|
|
58709
|
+
"gray-950": "#030712",
|
|
58710
|
+
"zinc-50": "#fafafa",
|
|
58711
|
+
"zinc-100": "#f4f4f5",
|
|
58712
|
+
"zinc-200": "#e4e4e7",
|
|
58713
|
+
"zinc-300": "#d4d4d8",
|
|
58714
|
+
"zinc-400": "#9f9fa9",
|
|
58715
|
+
"zinc-500": "#71717b",
|
|
58716
|
+
"zinc-600": "#52525c",
|
|
58717
|
+
"zinc-700": "#3f3f46",
|
|
58718
|
+
"zinc-800": "#27272a",
|
|
58719
|
+
"zinc-900": "#18181b",
|
|
58720
|
+
"zinc-950": "#09090b",
|
|
58721
|
+
"neutral-50": "#fafafa",
|
|
58722
|
+
"neutral-100": "#f5f5f5",
|
|
58723
|
+
"neutral-200": "#e5e5e5",
|
|
58724
|
+
"neutral-300": "#d4d4d4",
|
|
58725
|
+
"neutral-400": "#a1a1a1",
|
|
58726
|
+
"neutral-500": "#737373",
|
|
58727
|
+
"neutral-600": "#525252",
|
|
58728
|
+
"neutral-700": "#404040",
|
|
58729
|
+
"neutral-800": "#262626",
|
|
58730
|
+
"neutral-900": "#171717",
|
|
58731
|
+
"neutral-950": "#0a0a0a",
|
|
58732
|
+
"stone-50": "#fafaf9",
|
|
58733
|
+
"stone-100": "#f5f5f4",
|
|
58734
|
+
"stone-200": "#e7e5e4",
|
|
58735
|
+
"stone-300": "#d6d3d1",
|
|
58736
|
+
"stone-400": "#a6a09b",
|
|
58737
|
+
"stone-500": "#79716b",
|
|
58738
|
+
"stone-600": "#57534d",
|
|
58739
|
+
"stone-700": "#44403b",
|
|
58740
|
+
"stone-800": "#292524",
|
|
58741
|
+
"stone-900": "#1c1917",
|
|
58742
|
+
"stone-950": "#0c0a09",
|
|
58743
|
+
"mauve-50": "#fafafa",
|
|
58744
|
+
"mauve-100": "#f3f1f3",
|
|
58745
|
+
"mauve-200": "#e7e4e7",
|
|
58746
|
+
"mauve-300": "#d7d0d7",
|
|
58747
|
+
"mauve-400": "#a89ea9",
|
|
58748
|
+
"mauve-500": "#79697b",
|
|
58749
|
+
"mauve-600": "#594c5b",
|
|
58750
|
+
"mauve-700": "#463947",
|
|
58751
|
+
"mauve-800": "#2a212c",
|
|
58752
|
+
"mauve-900": "#1d161e",
|
|
58753
|
+
"mauve-950": "#0c090c",
|
|
58754
|
+
"olive-50": "#fbfbf9",
|
|
58755
|
+
"olive-100": "#f4f4f0",
|
|
58756
|
+
"olive-200": "#e8e8e3",
|
|
58757
|
+
"olive-300": "#d8d8d0",
|
|
58758
|
+
"olive-400": "#abab9c",
|
|
58759
|
+
"olive-500": "#7c7c67",
|
|
58760
|
+
"olive-600": "#5b5b4b",
|
|
58761
|
+
"olive-700": "#474739",
|
|
58762
|
+
"olive-800": "#2b2b22",
|
|
58763
|
+
"olive-900": "#1d1d16",
|
|
58764
|
+
"olive-950": "#0c0c09",
|
|
58765
|
+
"mist-50": "#f9fbfb",
|
|
58766
|
+
"mist-100": "#f1f3f3",
|
|
58767
|
+
"mist-200": "#e3e7e8",
|
|
58768
|
+
"mist-300": "#d0d6d8",
|
|
58769
|
+
"mist-400": "#9ca8ab",
|
|
58770
|
+
"mist-500": "#67787c",
|
|
58771
|
+
"mist-600": "#4b585b",
|
|
58772
|
+
"mist-700": "#394447",
|
|
58773
|
+
"mist-800": "#22292b",
|
|
58774
|
+
"mist-900": "#161b1d",
|
|
58775
|
+
"mist-950": "#090b0c",
|
|
58776
|
+
"taupe-50": "#fbfaf9",
|
|
58777
|
+
"taupe-100": "#f3f1f1",
|
|
58778
|
+
"taupe-200": "#e8e4e3",
|
|
58779
|
+
"taupe-300": "#d8d2d0",
|
|
58780
|
+
"taupe-400": "#aba09c",
|
|
58781
|
+
"taupe-500": "#7c6d67",
|
|
58782
|
+
"taupe-600": "#5b4f4b",
|
|
58783
|
+
"taupe-700": "#473c39",
|
|
58784
|
+
"taupe-800": "#2b2422",
|
|
58785
|
+
"taupe-900": "#1d1816",
|
|
58786
|
+
"taupe-950": "#0c0a09",
|
|
58787
|
+
black: "#000000",
|
|
58788
|
+
white: "#ffffff",
|
|
58789
|
+
brand: "#171717",
|
|
58790
|
+
"brand-foreground": "#fafafa"
|
|
58791
|
+
},
|
|
58792
|
+
colorsDark: {
|
|
58793
|
+
brand: "#fafafa",
|
|
58794
|
+
"brand-foreground": "#171717"
|
|
58795
|
+
},
|
|
58796
|
+
spacingPx: 4,
|
|
58797
|
+
text: {
|
|
58798
|
+
xs: {
|
|
58799
|
+
sizePx: 12,
|
|
58800
|
+
lineHeightPx: 16
|
|
58801
|
+
},
|
|
58802
|
+
sm: {
|
|
58803
|
+
sizePx: 14,
|
|
58804
|
+
lineHeightPx: 20
|
|
58805
|
+
},
|
|
58806
|
+
base: {
|
|
58807
|
+
sizePx: 16,
|
|
58808
|
+
lineHeightPx: 24
|
|
58809
|
+
},
|
|
58810
|
+
lg: {
|
|
58811
|
+
sizePx: 18,
|
|
58812
|
+
lineHeightPx: 28
|
|
58813
|
+
},
|
|
58814
|
+
xl: {
|
|
58815
|
+
sizePx: 20,
|
|
58816
|
+
lineHeightPx: 28
|
|
58817
|
+
},
|
|
58818
|
+
"2xl": {
|
|
58819
|
+
sizePx: 24,
|
|
58820
|
+
lineHeightPx: 32
|
|
58821
|
+
},
|
|
58822
|
+
"3xl": {
|
|
58823
|
+
sizePx: 30,
|
|
58824
|
+
lineHeightPx: 36
|
|
58825
|
+
},
|
|
58826
|
+
"4xl": {
|
|
58827
|
+
sizePx: 36,
|
|
58828
|
+
lineHeightPx: 40
|
|
58829
|
+
},
|
|
58830
|
+
"5xl": {
|
|
58831
|
+
sizePx: 48,
|
|
58832
|
+
lineHeightPx: 48
|
|
58833
|
+
},
|
|
58834
|
+
"6xl": {
|
|
58835
|
+
sizePx: 60,
|
|
58836
|
+
lineHeightPx: 60
|
|
58837
|
+
},
|
|
58838
|
+
"7xl": {
|
|
58839
|
+
sizePx: 72,
|
|
58840
|
+
lineHeightPx: 72
|
|
58841
|
+
},
|
|
58842
|
+
"8xl": {
|
|
58843
|
+
sizePx: 96,
|
|
58844
|
+
lineHeightPx: 96
|
|
58845
|
+
},
|
|
58846
|
+
"9xl": {
|
|
58847
|
+
sizePx: 128,
|
|
58848
|
+
lineHeightPx: 128
|
|
58849
|
+
}
|
|
58850
|
+
},
|
|
58851
|
+
leading: {
|
|
58852
|
+
tight: 1.25,
|
|
58853
|
+
snug: 1.375,
|
|
58854
|
+
normal: 1.5,
|
|
58855
|
+
relaxed: 1.625,
|
|
58856
|
+
loose: 2
|
|
58857
|
+
},
|
|
58858
|
+
trackingEm: {
|
|
58859
|
+
tighter: -.05,
|
|
58860
|
+
tight: -.025,
|
|
58861
|
+
normal: 0,
|
|
58862
|
+
wide: .025,
|
|
58863
|
+
wider: .05,
|
|
58864
|
+
widest: .1
|
|
58865
|
+
},
|
|
58866
|
+
radiusPx: {
|
|
58867
|
+
brand: 8,
|
|
58868
|
+
xs: 2,
|
|
58869
|
+
sm: 4,
|
|
58870
|
+
md: 6,
|
|
58871
|
+
lg: 8,
|
|
58872
|
+
xl: 12,
|
|
58873
|
+
"2xl": 16,
|
|
58874
|
+
"3xl": 24,
|
|
58875
|
+
"4xl": 32
|
|
58876
|
+
},
|
|
58877
|
+
fontWeights: {
|
|
58878
|
+
thin: 100,
|
|
58879
|
+
extralight: 200,
|
|
58880
|
+
light: 300,
|
|
58881
|
+
normal: 400,
|
|
58882
|
+
medium: 500,
|
|
58883
|
+
semibold: 600,
|
|
58884
|
+
bold: 700,
|
|
58885
|
+
extrabold: 800,
|
|
58886
|
+
black: 900
|
|
58887
|
+
},
|
|
58888
|
+
fontFamilies: {
|
|
58889
|
+
body: "ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
|
|
58890
|
+
sans: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'",
|
|
58891
|
+
serif: "ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif",
|
|
58892
|
+
mono: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace"
|
|
58893
|
+
},
|
|
58894
|
+
containerPx: {
|
|
58895
|
+
"3xs": 256,
|
|
58896
|
+
"2xs": 288,
|
|
58897
|
+
xs: 320,
|
|
58898
|
+
sm: 384,
|
|
58899
|
+
md: 448,
|
|
58900
|
+
lg: 512,
|
|
58901
|
+
xl: 576,
|
|
58902
|
+
"2xl": 672,
|
|
58903
|
+
"3xl": 768,
|
|
58904
|
+
"4xl": 896,
|
|
58905
|
+
"5xl": 1024,
|
|
58906
|
+
"6xl": 1152,
|
|
58907
|
+
"7xl": 1280
|
|
58908
|
+
}
|
|
58909
|
+
};
|
|
58910
|
+
//#endregion
|
|
58499
58911
|
//#region src/checks.ts
|
|
58500
58912
|
const DEFAULT_EMAIL_TARGET_CLIENT_PROFILE = {
|
|
58501
58913
|
id: "default",
|
|
@@ -58951,4 +59363,4 @@ function checkSmlCompatibility(input) {
|
|
|
58951
59363
|
//#endregion
|
|
58952
59364
|
export { isBreakingCompatibilityCheck as a, collectSmlFeatureSlugs as i, checkDeliveryAssetDiagnostics as n, worstCaseArtifactBytes as o, checkSmlCompatibility as r, DEFAULT_EMAIL_TARGET_CLIENT_PROFILE as t };
|
|
58953
59365
|
|
|
58954
|
-
//# sourceMappingURL=checks-
|
|
59366
|
+
//# sourceMappingURL=checks-D73Xizbw.js.map
|
package/dist/checks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as isBreakingCompatibilityCheck, i as collectSmlFeatureSlugs, n as checkDeliveryAssetDiagnostics, o as worstCaseArtifactBytes, r as checkSmlCompatibility, t as DEFAULT_EMAIL_TARGET_CLIENT_PROFILE } from "./checks-
|
|
1
|
+
import { a as isBreakingCompatibilityCheck, i as collectSmlFeatureSlugs, n as checkDeliveryAssetDiagnostics, o as worstCaseArtifactBytes, r as checkSmlCompatibility, t as DEFAULT_EMAIL_TARGET_CLIENT_PROFILE } from "./checks-D73Xizbw.js";
|
|
2
2
|
export { DEFAULT_EMAIL_TARGET_CLIENT_PROFILE, checkDeliveryAssetDiagnostics, checkSmlCompatibility, collectSmlFeatureSlugs, isBreakingCompatibilityCheck, worstCaseArtifactBytes };
|
package/dist/classes.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { a as Span, t as Diagnostic } from "./diagnostics-OcQKQYSY.js";
|
|
2
|
-
import {
|
|
3
|
-
import { Declaration } from "./registry.js";
|
|
2
|
+
import { t as Declaration, u as UtilityScale } from "./registry-Dcp6QEK_.js";
|
|
4
3
|
//#region src/classes.d.ts
|
|
5
4
|
type ClassVariant = "base" | "sm" | "dark";
|
|
6
5
|
interface ResolvedClass {
|
|
@@ -21,7 +20,7 @@ interface ClassResolution {
|
|
|
21
20
|
readonly errors: ReadonlyArray<Diagnostic>;
|
|
22
21
|
readonly warnings: ReadonlyArray<Diagnostic>;
|
|
23
22
|
}
|
|
24
|
-
declare const resolveClasses: (classAttribute: string, theme:
|
|
23
|
+
declare const resolveClasses: (classAttribute: string, theme: UtilityScale, offset: number) => ClassResolution;
|
|
25
24
|
//#endregion
|
|
26
25
|
export { ClassResolution, ClassVariant, ResolvedClass, resolveClasses };
|
|
27
26
|
//# sourceMappingURL=classes.d.ts.map
|