@singleton-sd/post-kit-editor 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.
Files changed (102) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -0
  3. package/dist/canvas/EditorBlock.d.ts +6 -0
  4. package/dist/canvas/EditorBlock.js +25 -0
  5. package/dist/canvas/EditorBlock.js.map +1 -0
  6. package/dist/canvas/EmailBuilderCanvas.d.ts +7 -0
  7. package/dist/canvas/EmailBuilderCanvas.js +15 -0
  8. package/dist/canvas/EmailBuilderCanvas.js.map +1 -0
  9. package/dist/canvas/blocks/ColumnsContainerEditor.d.ts +2 -0
  10. package/dist/canvas/blocks/ColumnsContainerEditor.js +47 -0
  11. package/dist/canvas/blocks/ColumnsContainerEditor.js.map +1 -0
  12. package/dist/canvas/blocks/ColumnsContainerPropsSchema.d.ts +183 -0
  13. package/dist/canvas/blocks/ColumnsContainerPropsSchema.js +19 -0
  14. package/dist/canvas/blocks/ColumnsContainerPropsSchema.js.map +1 -0
  15. package/dist/canvas/blocks/ContainerEditor.d.ts +2 -0
  16. package/dist/canvas/blocks/ContainerEditor.js +39 -0
  17. package/dist/canvas/blocks/ContainerEditor.js.map +1 -0
  18. package/dist/canvas/blocks/ContainerPropsSchema.d.ts +83 -0
  19. package/dist/canvas/blocks/ContainerPropsSchema.js +16 -0
  20. package/dist/canvas/blocks/ContainerPropsSchema.js.map +1 -0
  21. package/dist/canvas/blocks/EmailLayoutEditor.d.ts +2 -0
  22. package/dist/canvas/blocks/EmailLayoutEditor.js +80 -0
  23. package/dist/canvas/blocks/EmailLayoutEditor.js.map +1 -0
  24. package/dist/canvas/blocks/EmailLayoutPropsSchema.d.ts +28 -0
  25. package/dist/canvas/blocks/EmailLayoutPropsSchema.js +33 -0
  26. package/dist/canvas/blocks/EmailLayoutPropsSchema.js.map +1 -0
  27. package/dist/canvas/editor-context.d.ts +22 -0
  28. package/dist/canvas/editor-context.js +55 -0
  29. package/dist/canvas/editor-context.js.map +1 -0
  30. package/dist/canvas/editor-core.d.ts +2910 -0
  31. package/dist/canvas/editor-core.js +87 -0
  32. package/dist/canvas/editor-core.js.map +1 -0
  33. package/dist/canvas/helpers/AddBlockMenu.d.ts +7 -0
  34. package/dist/canvas/helpers/AddBlockMenu.js +23 -0
  35. package/dist/canvas/helpers/AddBlockMenu.js.map +1 -0
  36. package/dist/canvas/helpers/EditorBlockWrapper.d.ts +5 -0
  37. package/dist/canvas/helpers/EditorBlockWrapper.js +36 -0
  38. package/dist/canvas/helpers/EditorBlockWrapper.js.map +1 -0
  39. package/dist/canvas/helpers/EditorChildrenIds.d.ts +11 -0
  40. package/dist/canvas/helpers/EditorChildrenIds.js +38 -0
  41. package/dist/canvas/helpers/EditorChildrenIds.js.map +1 -0
  42. package/dist/canvas/helpers/block-templates.d.ts +7 -0
  43. package/dist/canvas/helpers/block-templates.js +87 -0
  44. package/dist/canvas/helpers/block-templates.js.map +1 -0
  45. package/dist/email-template-editor.d.ts +11 -0
  46. package/dist/email-template-editor.js +32 -0
  47. package/dist/email-template-editor.js.map +1 -0
  48. package/dist/index.d.ts +4 -0
  49. package/dist/index.js +13 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/insertion-target.d.ts +18 -0
  52. package/dist/insertion-target.js +41 -0
  53. package/dist/insertion-target.js.map +1 -0
  54. package/dist/metadata/MetadataPanel.d.ts +7 -0
  55. package/dist/metadata/MetadataPanel.js +56 -0
  56. package/dist/metadata/MetadataPanel.js.map +1 -0
  57. package/dist/metadata/insert-at-cursor.d.ts +5 -0
  58. package/dist/metadata/insert-at-cursor.js +22 -0
  59. package/dist/metadata/insert-at-cursor.js.map +1 -0
  60. package/dist/metadata/subject-preview.d.ts +2 -0
  61. package/dist/metadata/subject-preview.js +12 -0
  62. package/dist/metadata/subject-preview.js.map +1 -0
  63. package/dist/metadata/template-key.d.ts +4 -0
  64. package/dist/metadata/template-key.js +21 -0
  65. package/dist/metadata/template-key.js.map +1 -0
  66. package/dist/preview/PreviewDataEditor.d.ts +7 -0
  67. package/dist/preview/PreviewDataEditor.js +37 -0
  68. package/dist/preview/PreviewDataEditor.js.map +1 -0
  69. package/dist/preview/PreviewPane.d.ts +7 -0
  70. package/dist/preview/PreviewPane.js +39 -0
  71. package/dist/preview/PreviewPane.js.map +1 -0
  72. package/dist/preview/preview-frame.d.ts +8 -0
  73. package/dist/preview/preview-frame.js +41 -0
  74. package/dist/preview/preview-frame.js.map +1 -0
  75. package/dist/preview/preview-rows.d.ts +10 -0
  76. package/dist/preview/preview-rows.js +54 -0
  77. package/dist/preview/preview-rows.js.map +1 -0
  78. package/dist/preview/render-template-preview.d.ts +10 -0
  79. package/dist/preview/render-template-preview.js +27 -0
  80. package/dist/preview/render-template-preview.js.map +1 -0
  81. package/dist/serialization.d.ts +15 -0
  82. package/dist/serialization.js +128 -0
  83. package/dist/serialization.js.map +1 -0
  84. package/dist/types.d.ts +14 -0
  85. package/dist/types.js +3 -0
  86. package/dist/types.js.map +1 -0
  87. package/dist/variables/VariableCatalogue.d.ts +7 -0
  88. package/dist/variables/VariableCatalogue.js +77 -0
  89. package/dist/variables/VariableCatalogue.js.map +1 -0
  90. package/dist/variables/clipboard.d.ts +3 -0
  91. package/dist/variables/clipboard.js +16 -0
  92. package/dist/variables/clipboard.js.map +1 -0
  93. package/dist/variables/copy-feedback.d.ts +7 -0
  94. package/dist/variables/copy-feedback.js +14 -0
  95. package/dist/variables/copy-feedback.js.map +1 -0
  96. package/dist/variables/resolve-catalogue.d.ts +2 -0
  97. package/dist/variables/resolve-catalogue.js +10 -0
  98. package/dist/variables/resolve-catalogue.js.map +1 -0
  99. package/dist/working-files.d.ts +6 -0
  100. package/dist/working-files.js +25 -0
  101. package/dist/working-files.js.map +1 -0
  102. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/variables/clipboard.ts"],"names":[],"mappings":";;AAIA,kDAWC;AAXM,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;QAClD,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAC3D,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function copyFeedbackKind(result: {
2
+ ok: boolean;
3
+ }): 'copied' | 'manual';
4
+ export declare function copyButtonLabel(feedback: {
5
+ name: string;
6
+ kind: 'copied' | 'manual';
7
+ } | null, entryName: string): string;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.copyFeedbackKind = copyFeedbackKind;
4
+ exports.copyButtonLabel = copyButtonLabel;
5
+ function copyFeedbackKind(result) {
6
+ return result.ok ? 'copied' : 'manual';
7
+ }
8
+ function copyButtonLabel(feedback, entryName) {
9
+ if (feedback?.name !== entryName) {
10
+ return 'Copy';
11
+ }
12
+ return feedback.kind === 'copied' ? 'Copied' : 'Select to copy';
13
+ }
14
+ //# sourceMappingURL=copy-feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-feedback.js","sourceRoot":"","sources":["../../src/variables/copy-feedback.ts"],"names":[],"mappings":";;AAMA,4CAEC;AAED,0CAQC;AAZD,SAAgB,gBAAgB,CAAC,MAAuB;IACtD,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzC,CAAC;AAED,SAAgB,eAAe,CAC7B,QAA4D,EAC5D,SAAiB;IAEjB,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { TemplateVariable } from '../types';
2
+ export declare function resolveCatalogueVariables(availableVariables: TemplateVariable[] | undefined, metadataVariables: string[]): TemplateVariable[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveCatalogueVariables = resolveCatalogueVariables;
4
+ function resolveCatalogueVariables(availableVariables, metadataVariables) {
5
+ if (availableVariables !== undefined) {
6
+ return availableVariables;
7
+ }
8
+ return metadataVariables.map((name) => ({ name }));
9
+ }
10
+ //# sourceMappingURL=resolve-catalogue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-catalogue.js","sourceRoot":"","sources":["../../src/variables/resolve-catalogue.ts"],"names":[],"mappings":";;AAMA,8DAQC;AARD,SAAgB,yBAAyB,CACvC,kBAAkD,EAClD,iBAA2B;IAE3B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { TemplatePreviewData, TemplateSourceMetadata } from '@singleton-sd/post-kit-types';
2
+ import type { EmailBuilderDocument, TemplateSourceFiles } from './types';
3
+ export declare function withMetadata(files: TemplateSourceFiles, metadata: TemplateSourceMetadata): TemplateSourceFiles;
4
+ export declare function withMetadataVariables(files: TemplateSourceFiles, variables: string[]): TemplateSourceFiles;
5
+ export declare function withDocument(files: TemplateSourceFiles, templateJson: EmailBuilderDocument): TemplateSourceFiles;
6
+ export declare function withPreviewData(files: TemplateSourceFiles, previewData: TemplatePreviewData): TemplateSourceFiles;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withMetadata = withMetadata;
4
+ exports.withMetadataVariables = withMetadataVariables;
5
+ exports.withDocument = withDocument;
6
+ exports.withPreviewData = withPreviewData;
7
+ function withMetadata(files, metadata) {
8
+ return { ...files, metadata };
9
+ }
10
+ function withMetadataVariables(files, variables) {
11
+ return {
12
+ ...files,
13
+ metadata: {
14
+ ...files.metadata,
15
+ variables,
16
+ },
17
+ };
18
+ }
19
+ function withDocument(files, templateJson) {
20
+ return { ...files, templateJson };
21
+ }
22
+ function withPreviewData(files, previewData) {
23
+ return { ...files, previewData };
24
+ }
25
+ //# sourceMappingURL=working-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"working-files.js","sourceRoot":"","sources":["../src/working-files.ts"],"names":[],"mappings":";;AAKA,oCAKC;AAMD,sDAWC;AAGD,oCAKC;AAGD,0CAKC;AAtCD,SAAgB,YAAY,CAC1B,KAA0B,EAC1B,QAAgC;IAEhC,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAMD,SAAgB,qBAAqB,CACnC,KAA0B,EAC1B,SAAmB;IAEnB,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAGD,SAAgB,YAAY,CAC1B,KAA0B,EAC1B,YAAkC;IAElC,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAGD,SAAgB,eAAe,CAC7B,KAA0B,EAC1B,WAAgC;IAEhC,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@singleton-sd/post-kit-editor",
3
+ "version": "0.3.0",
4
+ "private": false,
5
+ "description": "React admin editor component for PostKit email templates",
6
+ "license": "MIT",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "LICENSE"
21
+ ],
22
+ "dependencies": {
23
+ "@usewaypoint/block-avatar": "^0.0.3",
24
+ "@usewaypoint/block-button": "^0.0.3",
25
+ "@usewaypoint/block-columns-container": "^0.0.3",
26
+ "@usewaypoint/block-container": "^0.0.2",
27
+ "@usewaypoint/block-divider": "^0.0.4",
28
+ "@usewaypoint/block-heading": "^0.0.3",
29
+ "@usewaypoint/block-html": "^0.0.3",
30
+ "@usewaypoint/block-image": "^0.0.5",
31
+ "@usewaypoint/block-spacer": "^0.0.3",
32
+ "@usewaypoint/block-text": "^0.0.7",
33
+ "@usewaypoint/document-core": "^0.0.6",
34
+ "@usewaypoint/email-builder": "0.0.9",
35
+ "zod": "^3.25.76",
36
+ "@singleton-sd/post-kit-compiler": "0.3.0",
37
+ "@singleton-sd/post-kit-types": "0.3.0"
38
+ },
39
+ "peerDependencies": {
40
+ "react": "^18.3.1",
41
+ "react-dom": "^18.3.1"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^20.17.9",
45
+ "@types/react": "^18.3.31",
46
+ "@types/react-dom": "^18.3.7",
47
+ "react": "^18.3.1",
48
+ "react-dom": "^18.3.1",
49
+ "tsx": "^4.19.2",
50
+ "typescript": "^5.7.2"
51
+ },
52
+ "engines": {
53
+ "node": ">=20.18.1"
54
+ },
55
+ "scripts": {
56
+ "build": "pnpm --filter @singleton-sd/post-kit-types run build && pnpm --filter @singleton-sd/post-kit-compiler run build && tsc -p tsconfig.json",
57
+ "lint": "echo \"lint:editor — covered by root eslint on staged files\"",
58
+ "test": "pnpm --filter @singleton-sd/post-kit-types run build && pnpm --filter @singleton-sd/post-kit-compiler run build && tsc -p tsconfig.spec.json && node --import tsx --test \"src/**/*.spec.ts\" \"src/**/*.spec.tsx\""
59
+ }
60
+ }