@emabuild/core 0.1.5 → 0.2.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/canvas/content-renderer.d.ts +5 -2
- package/dist/canvas/content-renderer.d.ts.map +1 -1
- package/dist/{form-tool-CduLiZgt.js → form-tool-DdFDrS3b.js} +10 -10
- package/dist/form-tool-DdFDrS3b.js.map +1 -0
- package/dist/{html-tool-D4ay2h-U.js → html-tool-DMtmrF3n.js} +3 -3
- package/dist/{html-tool-D4ay2h-U.js.map → html-tool-DMtmrF3n.js.map} +1 -1
- package/dist/{index-BoKIXJKv.js → index-CpMbWdgn.js} +318 -227
- package/dist/index-CpMbWdgn.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/mail-editor.d.ts.map +1 -1
- package/dist/{menu-tool-KvGDbaYD.js → menu-tool-CJcQdpcP.js} +10 -10
- package/dist/menu-tool-CJcQdpcP.js.map +1 -0
- package/dist/properties/property-panel.d.ts.map +1 -1
- package/dist/properties/widgets/index.d.ts +1 -0
- package/dist/properties/widgets/index.d.ts.map +1 -1
- package/dist/properties/widgets/number-unit-widget.d.ts +10 -0
- package/dist/properties/widgets/number-unit-widget.d.ts.map +1 -0
- package/dist/{social-tool-B8Jg2yE-.js → social-tool-CRY3-_sU.js} +8 -8
- package/dist/social-tool-CRY3-_sU.js.map +1 -0
- package/dist/{table-tool-BzpD08dq.js → table-tool-DeIQci5z.js} +8 -8
- package/dist/table-tool-DeIQci5z.js.map +1 -0
- package/dist/{timer-tool-Ck1ERDW-.js → timer-tool-BVE1shO1.js} +6 -6
- package/dist/timer-tool-BVE1shO1.js.map +1 -0
- package/dist/tools/built-in/button-tool.d.ts.map +1 -1
- package/dist/tools/built-in/heading-tool.d.ts.map +1 -1
- package/dist/tools/built-in/image-tool.d.ts.map +1 -1
- package/dist/tools/helpers/index.d.ts +1 -1
- package/dist/tools/helpers/index.d.ts.map +1 -1
- package/dist/tools/helpers/value-extractor.d.ts +9 -0
- package/dist/tools/helpers/value-extractor.d.ts.map +1 -1
- package/dist/{video-tool-CdGVmZxz.js → video-tool-g1fIoCWW.js} +3 -3
- package/dist/video-tool-g1fIoCWW.js.map +1 -0
- package/package.json +3 -3
- package/dist/form-tool-CduLiZgt.js.map +0 -1
- package/dist/index-BoKIXJKv.js.map +0 -1
- package/dist/menu-tool-KvGDbaYD.js.map +0 -1
- package/dist/social-tool-B8Jg2yE-.js.map +0 -1
- package/dist/table-tool-BzpD08dq.js.map +0 -1
- package/dist/timer-tool-Ck1ERDW-.js.map +0 -1
- package/dist/video-tool-CdGVmZxz.js.map +0 -1
|
@@ -19,13 +19,16 @@ export declare class ContentRenderer extends LitElement {
|
|
|
19
19
|
private handleMouseLeave;
|
|
20
20
|
private handleDelete;
|
|
21
21
|
private handleDuplicate;
|
|
22
|
-
|
|
23
|
-
private
|
|
22
|
+
/** Called from the drag handle only (not the whole block) */
|
|
23
|
+
private handleDragStart;
|
|
24
|
+
private handleDragEnd;
|
|
24
25
|
private startEditing;
|
|
25
26
|
private stopEditing;
|
|
26
27
|
private saveInlineContent;
|
|
27
28
|
private handleInlineInput;
|
|
28
29
|
private handleInlineBlur;
|
|
30
|
+
/** Blur handler for the light-DOM overlay */
|
|
31
|
+
private handleOverlayBlur;
|
|
29
32
|
private handleInlineKeydown;
|
|
30
33
|
private showToolbar;
|
|
31
34
|
connectedCallback(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-renderer.d.ts","sourceRoot":"","sources":["../../src/canvas/content-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,qBAAqB,CAAC;AAW7B,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"content-renderer.d.ts","sourceRoot":"","sources":["../../src/canvas/content-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,qBAAqB,CAAC;AAW7B,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,0BA4EX;IAEF,OAAO,CAAC,SAAS,CAA2E;IAE5D,OAAO,EAAG,aAAa,CAAC;IAExD,IACI,KAAK,CAAC,CAAC,EAAE,WAAW,EAAiC;IACzD,IAAI,KAAK,IAAI,WAAW,CAAkC;IAE1B,YAAY,EAAG,YAAY,CAAC;IAEnD,OAAO,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,iBAAiB,CAA8C;IAIvE,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IAEvB,6DAA6D;IAC7D,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB,CAKvB;IAEF,OAAO,CAAC,gBAAgB,CAUtB;IAEF,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB,CAUvB;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,OAAO,CAAC,WAAW;IAYnB,iBAAiB;IAIjB,oBAAoB;IASpB,MAAM;IAyEN,4EAA4E;IAC5E,OAAO,CAAC,eAAe;CA0CxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { html as b } from "lit";
|
|
2
|
-
import { s as o, j as f, e as u } from "./index-
|
|
2
|
+
import { s as o, j as f, e as u } from "./index-CpMbWdgn.js";
|
|
3
3
|
const n = [
|
|
4
4
|
{ label: "Name", name: "name", type: "text", placeholder: "Your name" },
|
|
5
5
|
{ label: "Email", name: "email", type: "email", placeholder: "your@email.com" }
|
|
@@ -42,28 +42,28 @@ const n = [
|
|
|
42
42
|
},
|
|
43
43
|
renderer: {
|
|
44
44
|
renderEditor(t) {
|
|
45
|
-
const
|
|
45
|
+
const p = o(t, "containerPadding", "10px"), l = o(t, "submitText", "Submit"), r = o(t, "buttonBg", "#3b82f6"), d = o(t, "buttonColor", "#ffffff"), a = f(t.fields, n);
|
|
46
46
|
return b`
|
|
47
|
-
<div style="
|
|
48
|
-
${
|
|
47
|
+
<div style="font-family:arial,sans-serif;">
|
|
48
|
+
${a.map((e) => b`
|
|
49
49
|
<div style="margin-bottom:12px;">
|
|
50
50
|
<label style="display:block;font-size:13px;color:#374151;margin-bottom:4px;font-weight:500;">${e.label}</label>
|
|
51
51
|
<input type=${e.type || "text"} placeholder=${e.placeholder || ""} style="width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;box-sizing:border-box;" />
|
|
52
52
|
</div>
|
|
53
53
|
`)}
|
|
54
|
-
<button style="background:${
|
|
54
|
+
<button style="background:${r};color:${d};border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;">${l}</button>
|
|
55
55
|
</div>
|
|
56
56
|
`;
|
|
57
57
|
},
|
|
58
58
|
renderHtml(t) {
|
|
59
|
-
const
|
|
60
|
-
(i) => `<div style="margin-bottom:12px;"><label style="display:block;font-size:13px;color:#374151;margin-bottom:4px;font-weight:500;${
|
|
61
|
-
).join(""), x = `<form action="${
|
|
62
|
-
return u(x, { padding:
|
|
59
|
+
const p = o(t, "containerPadding", "10px"), l = o(t, "actionUrl", "#"), r = o(t, "method", "POST"), d = o(t, "submitText", "Submit"), a = o(t, "buttonBg", "#3b82f6"), e = o(t, "buttonColor", "#ffffff"), m = f(t.fields, n), s = "font-family:arial,helvetica,sans-serif;", c = m.map(
|
|
60
|
+
(i) => `<div style="margin-bottom:12px;"><label style="display:block;font-size:13px;color:#374151;margin-bottom:4px;font-weight:500;${s}">${i.label}</label><input type="${i.type || "text"}" name="${i.name}" placeholder="${i.placeholder || ""}" style="width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;box-sizing:border-box;${s}" /></div>`
|
|
61
|
+
).join(""), x = `<form action="${l}" method="${r}">${c}<button type="submit" style="background-color:${a};color:${e};border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;${s}">${d}</button></form>`;
|
|
62
|
+
return u(x, { padding: p });
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
export {
|
|
67
67
|
y as formTool
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=form-tool-
|
|
69
|
+
//# sourceMappingURL=form-tool-DdFDrS3b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-tool-DdFDrS3b.js","sources":["../src/tools/built-in/form-tool.ts"],"sourcesContent":["/**\n * @module form-tool\n *\n * Input form with configurable fields and submit button.\n * Only available in \"web\" display mode (forms don't work in email).\n *\n * Email compatibility: N/A — this tool is for web/popup display mode only.\n */\n\nimport { html, TemplateResult } from 'lit';\nimport type { ContentValues } from '@emabuild/types';\nimport type { LitToolDefinition } from '../tool-registry.js';\nimport { str, jsonParse } from '../helpers/value-extractor.js';\nimport { emailTableCell } from '../helpers/email-html.js';\nimport type { FormField } from '../helpers/types.js';\n\nconst DEFAULT_FIELDS: FormField[] = [\n { label: 'Name', name: 'name', type: 'text', placeholder: 'Your name' },\n { label: 'Email', name: 'email', type: 'email', placeholder: 'your@email.com' },\n];\n\nexport const formTool: LitToolDefinition = {\n name: 'form',\n label: 'Form',\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/><path d=\"M7 7h10\"/><path d=\"M7 12h10\"/><path d=\"M7 17h6\"/></svg>`,\n supportedDisplayModes: ['web'],\n position: 13,\n options: {\n form: {\n title: 'Form',\n options: {\n actionUrl: { label: 'Action URL', defaultValue: '#', widget: 'text' },\n method: { label: 'Method', defaultValue: 'POST', widget: 'text' },\n submitText: { label: 'Submit Text', defaultValue: 'Submit', widget: 'text' },\n fields: { label: 'Fields (JSON)', defaultValue: JSON.stringify(DEFAULT_FIELDS), widget: 'rich_text' },\n },\n },\n style: {\n title: 'Style',\n options: {\n buttonBg: { label: 'Button Color', defaultValue: '#3b82f6', widget: 'color_picker' },\n buttonColor: { label: 'Button Text', defaultValue: '#ffffff', widget: 'color_picker' },\n },\n },\n spacing: {\n title: 'Spacing',\n options: { containerPadding: { label: 'Padding', defaultValue: '10px', widget: 'padding' } },\n },\n },\n defaultValues: {\n actionUrl: '#', method: 'POST', submitText: 'Submit',\n fields: JSON.stringify(DEFAULT_FIELDS), buttonBg: '#3b82f6',\n buttonColor: '#ffffff', containerPadding: '10px',\n },\n renderer: {\n renderEditor(values: ContentValues): TemplateResult {\n const padding = str(values, 'containerPadding', '10px');\n const submitText = str(values, 'submitText', 'Submit');\n const btnBg = str(values, 'buttonBg', '#3b82f6');\n const btnColor = str(values, 'buttonColor', '#ffffff');\n const fields = jsonParse<FormField[]>(values.fields, DEFAULT_FIELDS);\n\n return html`\n <div style=\"font-family:arial,sans-serif;\">\n ${fields.map((f) => html`\n <div style=\"margin-bottom:12px;\">\n <label style=\"display:block;font-size:13px;color:#374151;margin-bottom:4px;font-weight:500;\">${f.label}</label>\n <input type=${f.type || 'text'} placeholder=${f.placeholder || ''} style=\"width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;box-sizing:border-box;\" />\n </div>\n `)}\n <button style=\"background:${btnBg};color:${btnColor};border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;\">${submitText}</button>\n </div>\n `;\n },\n renderHtml(values: ContentValues): string {\n const padding = str(values, 'containerPadding', '10px');\n const actionUrl = str(values, 'actionUrl', '#');\n const method = str(values, 'method', 'POST');\n const submitText = str(values, 'submitText', 'Submit');\n const btnBg = str(values, 'buttonBg', '#3b82f6');\n const btnColor = str(values, 'buttonColor', '#ffffff');\n const fields = jsonParse<FormField[]>(values.fields, DEFAULT_FIELDS);\n const font = 'font-family:arial,helvetica,sans-serif;';\n\n const fieldsHtml = fields.map((f) =>\n `<div style=\"margin-bottom:12px;\"><label style=\"display:block;font-size:13px;color:#374151;margin-bottom:4px;font-weight:500;${font}\">${f.label}</label><input type=\"${f.type || 'text'}\" name=\"${f.name}\" placeholder=\"${f.placeholder || ''}\" style=\"width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;box-sizing:border-box;${font}\" /></div>`\n ).join('');\n\n const inner = `<form action=\"${actionUrl}\" method=\"${method}\">${fieldsHtml}<button type=\"submit\" style=\"background-color:${btnBg};color:${btnColor};border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;${font}\">${submitText}</button></form>`;\n return emailTableCell(inner, { padding });\n },\n },\n};\n"],"names":["DEFAULT_FIELDS","formTool","values","padding","str","submitText","btnBg","btnColor","fields","jsonParse","html","f","actionUrl","method","font","fieldsHtml","inner","emailTableCell"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { html as l } from "lit";
|
|
2
2
|
import { unsafeHTML as i } from "lit/directives/unsafe-html.js";
|
|
3
|
-
import { e as o, s as t } from "./index-
|
|
3
|
+
import { e as o, s as t } from "./index-CpMbWdgn.js";
|
|
4
4
|
const r = {
|
|
5
5
|
name: "html",
|
|
6
6
|
label: "HTML",
|
|
@@ -36,7 +36,7 @@ const r = {
|
|
|
36
36
|
},
|
|
37
37
|
renderer: {
|
|
38
38
|
renderEditor(e) {
|
|
39
|
-
return l`<div style="
|
|
39
|
+
return l`<div style="">${i(t(e, "html"))}</div>`;
|
|
40
40
|
},
|
|
41
41
|
renderHtml(e) {
|
|
42
42
|
return o(t(e, "html"), { padding: t(e, "containerPadding", "10px") });
|
|
@@ -46,4 +46,4 @@ const r = {
|
|
|
46
46
|
export {
|
|
47
47
|
r as htmlTool
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=html-tool-
|
|
49
|
+
//# sourceMappingURL=html-tool-DMtmrF3n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-tool-
|
|
1
|
+
{"version":3,"file":"html-tool-DMtmrF3n.js","sources":["../src/tools/built-in/html-tool.ts"],"sourcesContent":["/**\n * @module html-tool\n *\n * Raw HTML content block for custom code injection.\n *\n * Email compatibility: Content is inserted as-is inside a table cell.\n * The user is responsible for email-safe HTML in this block.\n */\n\nimport { html, TemplateResult } from 'lit';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport type { ContentValues } from '@emabuild/types';\nimport type { LitToolDefinition } from '../tool-registry.js';\nimport { str } from '../helpers/value-extractor.js';\nimport { emailTableCell } from '../helpers/email-html.js';\n\nexport const htmlTool: LitToolDefinition = {\n name: 'html',\n label: 'HTML',\n icon: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"16 18 22 12 16 6\"/><polyline points=\"8 6 2 12 8 18\"/></svg>`,\n supportedDisplayModes: ['email', 'web'],\n position: 6,\n options: {\n html: {\n title: 'HTML',\n options: {\n html: {\n label: 'Custom HTML',\n defaultValue: '<div style=\"padding:20px;text-align:center;color:#999;\">Custom HTML Block</div>',\n widget: 'rich_text',\n },\n },\n },\n spacing: {\n title: 'Spacing',\n options: { containerPadding: { label: 'Padding', defaultValue: '10px', widget: 'text' } },\n },\n general: {\n title: 'General',\n options: {\n hideDesktop: { label: 'Hide on Desktop', defaultValue: false, widget: 'toggle' },\n hideMobile: { label: 'Hide on Mobile', defaultValue: false, widget: 'toggle' },\n },\n },\n },\n defaultValues: {\n html: '<div style=\"padding:20px;text-align:center;color:#999;\">Custom HTML Block</div>',\n containerPadding: '10px',\n },\n renderer: {\n renderEditor(values: ContentValues): TemplateResult {\n return html`<div style=\"\">${unsafeHTML(str(values, 'html'))}</div>`;\n },\n renderHtml(values: ContentValues): string {\n return emailTableCell(str(values, 'html'), { padding: str(values, 'containerPadding', '10px') });\n },\n },\n};\n"],"names":["htmlTool","values","html","unsafeHTML","str","emailTableCell"],"mappings":";;;AAgBO,MAAMA,IAA8B;AAAA,EACzC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,uBAAuB,CAAC,SAAS,KAAK;AAAA,EACtC,UAAU;AAAA,EACV,SAAS;AAAA,IACP,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,UACJ,OAAO;AAAA,UACP,cAAc;AAAA,UACd,QAAQ;AAAA,QAAA;AAAA,MACV;AAAA,IACF;AAAA,IAEF,SAAS;AAAA,MACP,OAAO;AAAA,MACP,SAAS,EAAE,kBAAkB,EAAE,OAAO,WAAW,cAAc,QAAQ,QAAQ,OAAA,EAAO;AAAA,IAAE;AAAA,IAE1F,SAAS;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,QACP,aAAa,EAAE,OAAO,mBAAmB,cAAc,IAAO,QAAQ,SAAA;AAAA,QACtE,YAAY,EAAE,OAAO,kBAAkB,cAAc,IAAO,QAAQ,SAAA;AAAA,MAAS;AAAA,IAC/E;AAAA,EACF;AAAA,EAEF,eAAe;AAAA,IACb,MAAM;AAAA,IACN,kBAAkB;AAAA,EAAA;AAAA,EAEpB,UAAU;AAAA,IACR,aAAaC,GAAuC;AAClD,aAAOC,kBAAqBC,EAAWC,EAAIH,GAAQ,MAAM,CAAC,CAAC;AAAA,IAC7D;AAAA,IACA,WAAWA,GAA+B;AACxC,aAAOI,EAAeD,EAAIH,GAAQ,MAAM,GAAG,EAAE,SAASG,EAAIH,GAAQ,oBAAoB,MAAM,EAAA,CAAG;AAAA,IACjG;AAAA,EAAA;AAEJ;"}
|