create-email-template 0.1.6 → 0.3.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/README.md +63 -19
- package/SKILL.md +173 -0
- package/dist/block-views-builtin.d.ts +6 -0
- package/dist/block-views-builtin.d.ts.map +1 -0
- package/dist/block-views.d.ts +124 -0
- package/dist/block-views.d.ts.map +1 -0
- package/dist/components/builder/canvas.d.ts.map +1 -1
- package/dist/components/builder/editable-block-renderer.d.ts +27 -0
- package/dist/components/builder/editable-block-renderer.d.ts.map +1 -1
- package/dist/components/builder/email-builder.d.ts.map +1 -1
- package/dist/components/builder/field-editors.d.ts +36 -0
- package/dist/components/builder/field-editors.d.ts.map +1 -0
- package/dist/components/builder/nested-block-list.d.ts +8 -0
- package/dist/components/builder/nested-block-list.d.ts.map +1 -0
- package/dist/components/builder/nested-blocks.d.ts +6 -0
- package/dist/components/builder/nested-blocks.d.ts.map +1 -0
- package/dist/components/builder/properties-panel.d.ts +1 -2
- package/dist/components/builder/properties-panel.d.ts.map +1 -1
- package/dist/components/builder/settings-dialog.d.ts +7 -0
- package/dist/components/builder/settings-dialog.d.ts.map +1 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/types.d.ts +45 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/core/blocks.d.ts +19 -6
- package/dist/core/blocks.d.ts.map +1 -1
- package/dist/core/build.d.ts +2 -0
- package/dist/core/build.d.ts.map +1 -0
- package/dist/core/render.d.ts.map +1 -1
- package/dist/footer-presets.d.ts +9 -0
- package/dist/footer-presets.d.ts.map +1 -0
- package/dist/gallery-presets.d.ts +9 -0
- package/dist/gallery-presets.d.ts.map +1 -0
- package/dist/hooks/use-email-builder.d.ts +3 -2
- package/dist/hooks/use-email-builder.d.ts.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29836 -22830
- package/dist/index.js.map +1 -1
- package/dist/list-presets.d.ts +9 -0
- package/dist/list-presets.d.ts.map +1 -0
- package/dist/pricing-presets.d.ts +9 -0
- package/dist/pricing-presets.d.ts.map +1 -0
- package/dist/product-presets.d.ts +9 -0
- package/dist/product-presets.d.ts.map +1 -0
- package/dist/register-builtin-views.d.ts +2 -0
- package/dist/register-builtin-views.d.ts.map +1 -0
- package/dist/store/block-tree.d.ts +18 -0
- package/dist/store/block-tree.d.ts.map +1 -0
- package/dist/store/create-email-builder-store.d.ts +6 -2
- package/dist/store/create-email-builder-store.d.ts.map +1 -1
- package/dist/store/email-builder-provider.d.ts +3 -2
- package/dist/store/email-builder-provider.d.ts.map +1 -1
- package/llms.txt +17 -0
- package/package.json +5 -3
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ListVariant } from "./core/types";
|
|
2
|
+
export interface ListVariantDef {
|
|
3
|
+
value: ListVariant;
|
|
4
|
+
label: string;
|
|
5
|
+
/** Patch de props para `set` al cambiar de estilo (ids frescos). */
|
|
6
|
+
build: () => Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export declare const LIST_VARIANTS: ListVariantDef[];
|
|
9
|
+
//# sourceMappingURL=list-presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-presets.d.ts","sourceRoot":"","sources":["../src/list-presets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAcD,eAAO,MAAM,aAAa,EAAE,cAAc,EAyEzC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type PricingVariant = "card" | "offer" | "two-tiers";
|
|
2
|
+
export interface PricingVariantDef {
|
|
3
|
+
value: PricingVariant;
|
|
4
|
+
label: string;
|
|
5
|
+
/** Patch de props para `set` al cambiar de variante (ids frescos). */
|
|
6
|
+
build: () => Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export declare const PRICING_VARIANTS: PricingVariantDef[];
|
|
9
|
+
//# sourceMappingURL=pricing-presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing-presets.d.ts","sourceRoot":"","sources":["../src/pricing-presets.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAA;AAE3D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAuBD,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EAmE/C,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProductVariant } from "./core/types";
|
|
2
|
+
export interface ProductVariantDef {
|
|
3
|
+
value: ProductVariant;
|
|
4
|
+
label: string;
|
|
5
|
+
/** Patch de props para `set` al cambiar de diseño (ids frescos). */
|
|
6
|
+
build: () => Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export declare const PRODUCT_VARIANTS: ProductVariantDef[];
|
|
9
|
+
//# sourceMappingURL=product-presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-presets.d.ts","sourceRoot":"","sources":["../src/product-presets.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC;AAmBD,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EAwE/C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-builtin-views.d.ts","sourceRoot":"","sources":["../src/register-builtin-views.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type EmailBlock, type EmailBlockProps, type EmailBlockType } from "../core/types";
|
|
2
|
+
export interface BlockLocation {
|
|
3
|
+
parentId?: string;
|
|
4
|
+
columnId?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const locationKey: (loc?: BlockLocation) => string;
|
|
7
|
+
/** ¿Se puede insertar `type` en `location` sin exceder la profundidad máxima? */
|
|
8
|
+
export declare const canNestType: (type: EmailBlockType, location?: BlockLocation) => boolean;
|
|
9
|
+
export declare const getBlockList: (blocks: EmailBlock[], location?: BlockLocation) => EmailBlock[];
|
|
10
|
+
export declare const setBlockList: (blocks: EmailBlock[], location: BlockLocation | undefined, next: EmailBlock[]) => EmailBlock[];
|
|
11
|
+
export declare const findBlockDeep: (blocks: EmailBlock[], id: string) => EmailBlock | null;
|
|
12
|
+
export declare const findBlockLocation: (blocks: EmailBlock[], id: string) => {
|
|
13
|
+
location: BlockLocation;
|
|
14
|
+
index: number;
|
|
15
|
+
} | null;
|
|
16
|
+
export declare const updateBlockDeep: (blocks: EmailBlock[], id: string, props: EmailBlockProps) => EmailBlock[];
|
|
17
|
+
export declare const removeBlockDeep: (blocks: EmailBlock[], id: string) => EmailBlock[];
|
|
18
|
+
//# sourceMappingURL=block-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-tree.d.ts","sourceRoot":"","sources":["../../src/store/block-tree.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,WAAW,GAAI,MAAM,aAAa,KAAG,MACgB,CAAC;AAEnE,iFAAiF;AACjF,eAAO,MAAM,WAAW,GACtB,MAAM,cAAc,EACpB,WAAW,aAAa,KACvB,OAAwD,CAAC;AAE5D,eAAO,MAAM,YAAY,GACvB,QAAQ,UAAU,EAAE,EACpB,WAAW,aAAa,KACvB,UAAU,EASZ,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,QAAQ,UAAU,EAAE,EACpB,UAAU,aAAa,GAAG,SAAS,EACnC,MAAM,UAAU,EAAE,KACjB,UAAU,EAqBZ,CAAC;AASF,eAAO,MAAM,aAAa,GACxB,QAAQ,UAAU,EAAE,EACpB,IAAI,MAAM,KACT,UAAU,GAAG,IAQf,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,UAAU,EAAE,EACpB,IAAI,MAAM,KACT;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAmB/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,UAAU,EAAE,EACpB,IAAI,MAAM,EACV,OAAO,eAAe,KACrB,UAAU,EASZ,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,UAAU,EAAE,EACpB,IAAI,MAAM,KACT,UAAU,EASZ,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type EmailBlock, type EmailBlockProps, type EmailBlockType, type EmailSettings } from "../core/types";
|
|
2
|
+
import { type BlockLocation } from "./block-tree";
|
|
2
3
|
import { type ResolvedEmailBuilderConfig } from "../config/types";
|
|
4
|
+
export type { BlockLocation };
|
|
3
5
|
export interface EmailBuilderPayload {
|
|
4
6
|
content: EmailBlock[];
|
|
5
7
|
settings: EmailSettings;
|
|
@@ -25,8 +27,10 @@ export interface EmailBuilderState {
|
|
|
25
27
|
settings?: Partial<EmailSettings>;
|
|
26
28
|
}) => void;
|
|
27
29
|
setSettings: (patch: Partial<EmailSettings>) => void;
|
|
28
|
-
addBlock: (type: EmailBlockType, index?: number) => void;
|
|
29
|
-
reorder: (activeIndex: number, overIndex: number) => void;
|
|
30
|
+
addBlock: (type: EmailBlockType, index?: number, location?: BlockLocation) => void;
|
|
31
|
+
reorder: (activeIndex: number, overIndex: number, location?: BlockLocation) => void;
|
|
32
|
+
/** Mueve un bloque existente a otra lista (raíz/otro contenedor/columna). */
|
|
33
|
+
moveBlock: (id: string, targetLocation: BlockLocation, targetIndex: number) => void;
|
|
30
34
|
updateBlockProps: (id: string, props: EmailBlockProps) => void;
|
|
31
35
|
removeBlock: (id: string) => void;
|
|
32
36
|
duplicateBlock: (id: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-email-builder-store.d.ts","sourceRoot":"","sources":["../../src/store/create-email-builder-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAEjE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,QAAQ,EAAE,aAAa,CAAA;IACvB,sFAAsF;IACtF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,aAAa,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,2EAA2E;IAC3E,IAAI,EAAE,iBAAiB,EAAE,CAAA;IAEzB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,MAAM,EAAE,UAAU,EAAE,CAAA;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;KAClC,KAAK,IAAI,CAAA;IACV,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IACpD,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"create-email-builder-store.d.ts","sourceRoot":"","sources":["../../src/store/create-email-builder-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAEjE,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,QAAQ,EAAE,aAAa,CAAA;IACvB,sFAAsF;IACtF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,aAAa,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;IACd,2EAA2E;IAC3E,IAAI,EAAE,iBAAiB,EAAE,CAAA;IAEzB,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,MAAM,EAAE,UAAU,EAAE,CAAA;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;KAClC,KAAK,IAAI,CAAA;IACV,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;IACpD,QAAQ,EAAE,CACR,IAAI,EAAE,cAAc,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,aAAa,KACrB,IAAI,CAAA;IACT,OAAO,EAAE,CACP,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,aAAa,KACrB,IAAI,CAAA;IACT,6EAA6E;IAC7E,SAAS,EAAE,CACT,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,aAAa,EAC7B,WAAW,EAAE,MAAM,KAChB,IAAI,CAAA;IACT,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9D,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACnC,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,UAAU,EAAE,MAAM,mBAAmB,CAAA;IACrC,qDAAqD;IACrD,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAK1E,eAAO,MAAM,uBAAuB,GAClC,QAAQ,0BAA0B,8DA6MnC,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { EmailBuilderState, EmailBuilderStore } from "./create-email-builder-store";
|
|
3
|
-
import type { AutosaveOptions, EmailBuilderConfig, ResolvedEmailBuilderConfig, UploadImage } from "../config/types";
|
|
4
|
-
export declare const EmailBuilderProvider: ({ config, uploadImage, autosave, children, }: {
|
|
3
|
+
import type { AutosaveOptions, EmailBuilderConfig, ResolvedEmailBuilderConfig, UploadFile, UploadImage } from "../config/types";
|
|
4
|
+
export declare const EmailBuilderProvider: ({ config, uploadImage, uploadFile, autosave, children, }: {
|
|
5
5
|
config?: EmailBuilderConfig;
|
|
6
6
|
uploadImage?: UploadImage;
|
|
7
|
+
uploadFile?: UploadFile;
|
|
7
8
|
/** Opt-in: ciclo de autoguardado administrado (ver `AutosaveOptions`). */
|
|
8
9
|
autosave?: AutosaveOptions;
|
|
9
10
|
children: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-builder-provider.d.ts","sourceRoot":"","sources":["../../src/store/email-builder-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,WAAW,EACZ,MAAM,iBAAiB,CAAC;AASzB,eAAO,MAAM,oBAAoB,GAAI,
|
|
1
|
+
{"version":3,"file":"email-builder-provider.d.ts","sourceRoot":"","sources":["../../src/store/email-builder-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,UAAU,EACV,WAAW,EACZ,MAAM,iBAAiB,CAAC;AASzB,eAAO,MAAM,oBAAoB,GAAI,0DAMlC;IACD,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,sBA4BA,CAAC;AAEF,eAAO,MAAM,4BAA4B,QAAO,iBAQ/C,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,0BAQxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,CAAC,EACpC,UAAU,CAAC,KAAK,EAAE,iBAAiB,KAAK,CAAC,KACxC,CAOF,CAAC"}
|
package/llms.txt
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# create-email-template
|
|
2
|
+
|
|
3
|
+
> React email template builder UI (drag & drop + autosave) backed by create-email-renderer.
|
|
4
|
+
|
|
5
|
+
## Docs
|
|
6
|
+
- [SKILL.md](./SKILL.md): orientation for agents — provider, hooks, store, presets, CSS.
|
|
7
|
+
- [README.md](./README.md): public API reference (EmailBuilder, hooks, config, autosave).
|
|
8
|
+
- Block catalog (shared core): node_modules/create-email-renderer/docs/BLOCKS.md
|
|
9
|
+
- MCP guide: node_modules/create-email-renderer/docs/MCP.md
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
- `import "create-email-template/style.css"` is REQUIRED (scoped under .ter-theme)
|
|
13
|
+
- `<EmailBuilderProvider config? uploadImage? uploadFile? autosave?><EmailBuilder /></EmailBuilderProvider>`
|
|
14
|
+
- Hooks: useRenderEmail, useAutosaveStatus, useEmailBuilderStore, useEmailBuilderStoreInstance, useEmailBuilderConfig
|
|
15
|
+
- Payload: `{ content, settings }` (render it on the back-end with create-email-renderer)
|
|
16
|
+
- Files: upload PDFs/DOCX in the settings dialog; they live in `settings.files` and the `downloads` block lists them
|
|
17
|
+
- `uploadFile(file) => Promise<string>` must return a PUBLIC url (R2/S3/your API) for real emails
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-email-template",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Reusable email template builder (blocks, canvas, options) with a zero-dependency React store and shadcn/ui",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
"./style.css": "./dist/style.css"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"dist"
|
|
18
|
+
"dist",
|
|
19
|
+
"SKILL.md",
|
|
20
|
+
"llms.txt"
|
|
19
21
|
],
|
|
20
22
|
"dependencies": {
|
|
21
23
|
"@base-ui/react": "^1.7.0",
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
"clsx": "^2.1.1",
|
|
28
30
|
"lucide-react": "^1.34.0",
|
|
29
31
|
"react-hot-toast": "^2.5.1",
|
|
30
|
-
"create-email-renderer": "0.
|
|
32
|
+
"create-email-renderer": "0.3.0"
|
|
31
33
|
},
|
|
32
34
|
"devDependencies": {
|
|
33
35
|
"@fontsource-variable/geist": "^5.3.0",
|