@brixter/brix-builder 0.0.1

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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/dist/core.d.ts +103 -0
  4. package/dist/core.d.ts.map +1 -0
  5. package/dist/core.js +758 -0
  6. package/dist/core.js.map +1 -0
  7. package/dist/editor/BuilderApp.svelte +1299 -0
  8. package/dist/editor/BuilderFieldEditor.svelte +274 -0
  9. package/dist/editor/BuilderInspector.svelte +123 -0
  10. package/dist/editor/BuilderPreviewFrame.svelte +661 -0
  11. package/dist/editor/ComponentPreviewThumbnail.svelte +197 -0
  12. package/dist/editor/PageFlowSidebar.svelte +198 -0
  13. package/dist/editor/PreviewBlockInserter.svelte +35 -0
  14. package/dist/editor/PreviewIconEditor.svelte +213 -0
  15. package/dist/editor/PreviewImageEditor.svelte +221 -0
  16. package/dist/editor/PreviewTextEditor.svelte +246 -0
  17. package/dist/editor/RichTextEditor.svelte +234 -0
  18. package/dist/editor/contracts.d.ts +57 -0
  19. package/dist/editor/contracts.d.ts.map +1 -0
  20. package/dist/editor/contracts.js +2 -0
  21. package/dist/editor/contracts.js.map +1 -0
  22. package/dist/editor/index.d.ts +3 -0
  23. package/dist/editor/index.d.ts.map +1 -0
  24. package/dist/editor/index.js +2 -0
  25. package/dist/editor/index.js.map +1 -0
  26. package/dist/editor/shortcuts.d.ts +28 -0
  27. package/dist/editor/shortcuts.d.ts.map +1 -0
  28. package/dist/editor/shortcuts.js +28 -0
  29. package/dist/editor/shortcuts.js.map +1 -0
  30. package/dist/editor-controller.d.ts +50 -0
  31. package/dist/editor-controller.d.ts.map +1 -0
  32. package/dist/editor-controller.js +157 -0
  33. package/dist/editor-controller.js.map +1 -0
  34. package/dist/index.d.ts +7 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +6 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/preview/field-edit-debug.d.ts +5 -0
  39. package/dist/preview/field-edit-debug.d.ts.map +1 -0
  40. package/dist/preview/field-edit-debug.js +36 -0
  41. package/dist/preview/field-edit-debug.js.map +1 -0
  42. package/dist/preview/interactive-content.d.ts +8 -0
  43. package/dist/preview/interactive-content.d.ts.map +1 -0
  44. package/dist/preview/interactive-content.js +62 -0
  45. package/dist/preview/interactive-content.js.map +1 -0
  46. package/dist/preview-dom.d.ts +67 -0
  47. package/dist/preview-dom.d.ts.map +1 -0
  48. package/dist/preview-dom.js +191 -0
  49. package/dist/preview-dom.js.map +1 -0
  50. package/dist/svelte/SveltePreviewRenderer.svelte +490 -0
  51. package/dist/svelte/adapter.d.ts +7 -0
  52. package/dist/svelte/adapter.d.ts.map +1 -0
  53. package/dist/svelte/adapter.js +66 -0
  54. package/dist/svelte/adapter.js.map +1 -0
  55. package/dist/svelte/index.d.ts +3 -0
  56. package/dist/svelte/index.d.ts.map +1 -0
  57. package/dist/svelte/index.js +3 -0
  58. package/dist/svelte/index.js.map +1 -0
  59. package/dist/svelte/markup-schema.d.ts +5 -0
  60. package/dist/svelte/markup-schema.d.ts.map +1 -0
  61. package/dist/svelte/markup-schema.js +177 -0
  62. package/dist/svelte/markup-schema.js.map +1 -0
  63. package/package.json +56 -0
@@ -0,0 +1,177 @@
1
+ const BUILDER_FIELD_ATTRIBUTE = 'data-builder-field';
2
+ const BUILDER_KIND_ATTRIBUTE = 'data-builder-kind';
3
+ const BUILDER_DEFAULT_ATTRIBUTE = 'data-builder-default';
4
+ const BUILDER_LABEL_ATTRIBUTE = 'data-builder-label';
5
+ const BUILDER_PREVIEW_LABEL_ATTRIBUTE = 'data-builder-preview-label';
6
+ export function createBuilderFieldsFromMarkup(source) {
7
+ const fields = {};
8
+ const markup = stripNonMarkupContent(source);
9
+ for (const tag of getStartTags(markup)) {
10
+ const tagName = getTagName(tag);
11
+ if (!tagName) {
12
+ continue;
13
+ }
14
+ const attributes = parseAttributes(tag.slice(tagName.length + 1, -1));
15
+ const path = attributes[BUILDER_FIELD_ATTRIBUTE];
16
+ if (!path) {
17
+ continue;
18
+ }
19
+ insertMarkupField(fields, tokenizePath(path), {
20
+ kind: resolveFieldKind(attributes[BUILDER_KIND_ATTRIBUTE], tagName),
21
+ label: attributes[BUILDER_LABEL_ATTRIBUTE],
22
+ default: attributes[BUILDER_DEFAULT_ATTRIBUTE],
23
+ previewInMarkup: true,
24
+ previewLabel: attributes[BUILDER_PREVIEW_LABEL_ATTRIBUTE]
25
+ });
26
+ }
27
+ return fields;
28
+ }
29
+ export function createBrikSchemaFromMarkup(source) {
30
+ return createBuilderFieldsFromMarkup(source);
31
+ }
32
+ export function mergeBuilderFields(baseFields, overrideFields) {
33
+ const merged = cloneValue(baseFields);
34
+ for (const [key, overrideField] of Object.entries(overrideFields)) {
35
+ const baseField = merged[key];
36
+ merged[key] = mergeBuilderField(baseField, overrideField);
37
+ }
38
+ return merged;
39
+ }
40
+ function mergeBuilderField(baseField, overrideField) {
41
+ if (!baseField) {
42
+ return cloneValue(overrideField);
43
+ }
44
+ return {
45
+ ...cloneValue(baseField),
46
+ ...cloneValue(overrideField),
47
+ fields: baseField.fields || overrideField.fields
48
+ ? mergeBuilderFields(baseField.fields ?? {}, overrideField.fields ?? {})
49
+ : undefined,
50
+ item: baseField.item || overrideField.item
51
+ ? mergeBuilderField(baseField.item ?? {}, overrideField.item ?? {})
52
+ : undefined
53
+ };
54
+ }
55
+ function insertMarkupField(fields, path, field) {
56
+ const [segment, ...rest] = path;
57
+ if (!segment) {
58
+ return;
59
+ }
60
+ if (segment.isArray) {
61
+ const existing = fields[segment.name] ?? {};
62
+ const nextItemFields = existing.item?.fields ?? {};
63
+ insertMarkupField(nextItemFields, rest, field);
64
+ fields[segment.name] = {
65
+ ...existing,
66
+ kind: 'array',
67
+ item: {
68
+ ...existing.item,
69
+ fields: nextItemFields
70
+ }
71
+ };
72
+ return;
73
+ }
74
+ if (rest.length === 0) {
75
+ fields[segment.name] = mergeBuilderField(fields[segment.name], field);
76
+ return;
77
+ }
78
+ const existing = fields[segment.name] ?? {};
79
+ const nestedFields = existing.fields ?? {};
80
+ insertMarkupField(nestedFields, rest, field);
81
+ fields[segment.name] = {
82
+ ...existing,
83
+ kind: 'object',
84
+ fields: nestedFields
85
+ };
86
+ }
87
+ function tokenizePath(path) {
88
+ return path.split('.').map((segment) => ({
89
+ name: segment.replace(/\[\]$/, ''),
90
+ isArray: segment.endsWith('[]')
91
+ }));
92
+ }
93
+ function resolveFieldKind(value, tagName) {
94
+ if (value === 'text' || value === 'boolean' || value === 'number' || value === 'object') {
95
+ return value;
96
+ }
97
+ if (value === 'array' || value === 'image' || value === 'icon' || value === 'richtext-inline' || value === 'richtext-block') {
98
+ return value;
99
+ }
100
+ if (tagName.toLowerCase() === 'img') {
101
+ return 'image';
102
+ }
103
+ return undefined;
104
+ }
105
+ function stripNonMarkupContent(source) {
106
+ return source
107
+ .replace(/<script\b[\s\S]*?<\/script>/gi, '')
108
+ .replace(/<style\b[\s\S]*?<\/style>/gi, '')
109
+ .replace(/<!--[\s\S]*?-->/g, '');
110
+ }
111
+ function getStartTags(source) {
112
+ const tags = [];
113
+ for (let index = 0; index < source.length; index += 1) {
114
+ if (source[index] !== '<') {
115
+ continue;
116
+ }
117
+ const next = source[index + 1];
118
+ if (!next || next === '/' || next === '!' || next === '?') {
119
+ continue;
120
+ }
121
+ let cursor = index + 1;
122
+ let quote = null;
123
+ let braceDepth = 0;
124
+ while (cursor < source.length) {
125
+ const character = source[cursor];
126
+ if (quote) {
127
+ if (character === quote) {
128
+ quote = null;
129
+ }
130
+ cursor += 1;
131
+ continue;
132
+ }
133
+ if (character === '"' || character === "'") {
134
+ quote = character;
135
+ cursor += 1;
136
+ continue;
137
+ }
138
+ if (character === '{') {
139
+ braceDepth += 1;
140
+ cursor += 1;
141
+ continue;
142
+ }
143
+ if (character === '}') {
144
+ braceDepth = Math.max(0, braceDepth - 1);
145
+ cursor += 1;
146
+ continue;
147
+ }
148
+ if (character === '>' && braceDepth === 0) {
149
+ tags.push(source.slice(index, cursor + 1));
150
+ index = cursor;
151
+ break;
152
+ }
153
+ cursor += 1;
154
+ }
155
+ }
156
+ return tags;
157
+ }
158
+ function getTagName(tag) {
159
+ const match = tag.match(/^<([A-Za-z][A-Za-z0-9:_-]*)\b/);
160
+ return match?.[1] ?? null;
161
+ }
162
+ function parseAttributes(source) {
163
+ const attributes = {};
164
+ const attributePattern = /([:@A-Za-z_][A-Za-z0-9:._-]*)(?:\s*=\s*("([^"]*)"|'([^']*)'|\{([^}]*)\}))?/g;
165
+ for (const match of source.matchAll(attributePattern)) {
166
+ const name = match[1];
167
+ const value = match[3] ?? match[4] ?? match[5];
168
+ if (value !== undefined) {
169
+ attributes[name] = value.trim();
170
+ }
171
+ }
172
+ return attributes;
173
+ }
174
+ function cloneValue(value) {
175
+ return JSON.parse(JSON.stringify(value));
176
+ }
177
+ //# sourceMappingURL=markup-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markup-schema.js","sourceRoot":"","sources":["../../svelte/markup-schema.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@brixter/brix-builder",
3
+ "version": "0.0.1",
4
+ "description": "Visual page builder for Brixter (Svelte 5)",
5
+ "license": "MIT",
6
+ "author": "megabudino (https://github.com/megabudino)",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/megabudino/brixter.git",
10
+ "directory": "packages/brix-builder"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/megabudino/brixter/issues"
14
+ },
15
+ "homepage": "https://github.com/megabudino/brixter/tree/main/packages/brix-builder#readme",
16
+ "keywords": [
17
+ "brixter",
18
+ "cms",
19
+ "page-builder",
20
+ "svelte"
21
+ ],
22
+ "type": "module",
23
+ "types": "./dist/index.d.ts",
24
+ "svelte": "./dist/index.js",
25
+ "scripts": {
26
+ "build": "node ./scripts/build.mjs",
27
+ "prepublishOnly": "npm run build"
28
+ },
29
+ "files": [
30
+ "dist",
31
+ "LICENSE",
32
+ "README.md"
33
+ ],
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "svelte": "./dist/index.js",
38
+ "default": "./dist/index.js"
39
+ }
40
+ },
41
+ "peerDependencies": {
42
+ "svelte": "^5.0.0"
43
+ },
44
+ "sideEffects": [
45
+ "**/*.svelte"
46
+ ],
47
+ "publishConfig": {
48
+ "access": "public",
49
+ "registry": "https://registry.npmjs.org/"
50
+ },
51
+ "dependencies": {
52
+ "@tiptap/core": "^3.22.4",
53
+ "@tiptap/starter-kit": "^3.22.4",
54
+ "yaml": "^1.10.3"
55
+ }
56
+ }