@ankhorage/studio 0.0.3 → 0.0.4

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 CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v0.0.1](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v0.0.3](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Standalone Studio authoring package for Ankhorage apps.
9
9
 
@@ -15,3 +15,13 @@ Standalone Studio authoring package for Ankhorage apps.
15
15
  - [Architecture overview](././paradox/diagrams/architecture-overview.mmd)
16
16
  - [Module relationships](././paradox/diagrams/module-relationships.mmd)
17
17
  - [Export graph](././paradox/diagrams/export-graph.mmd)
18
+ - [addNodeToTree sequence](././paradox/diagrams/sequences/add-node-to-tree.mmd)
19
+ - [buildInsertCatalogEntries sequence](././paradox/diagrams/sequences/build-insert-catalog-entries.mmd)
20
+ - [cloneWithNewIds sequence](././paradox/diagrams/sequences/clone-with-new-ids.mmd)
21
+ - [createNodeFromCatalogEntry sequence](././paradox/diagrams/sequences/create-node-from-catalog-entry.mmd)
22
+ - [findNodeById sequence](././paradox/diagrams/sequences/find-node-by-id.mmd)
23
+ - [resolveDefaultInsertPlacement sequence](././paradox/diagrams/sequences/resolve-default-insert-placement.mmd)
24
+ - [resolveInsertPlacement sequence](././paradox/diagrams/sequences/resolve-insert-placement.mmd)
25
+ - [updateNodeInTree sequence](././paradox/diagrams/sequences/update-node-in-tree.mmd)
26
+ - [validateInsertRecipe sequence](././paradox/diagrams/sequences/validate-insert-recipe.mmd)
27
+ - [validateNodePlacement sequence](././paradox/diagrams/sequences/validate-node-placement.mmd)
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export interface StudioPackageBoundary {
6
6
  readonly doesNotOwn: readonly string[];
7
7
  }
8
8
  export declare const STUDIO_PACKAGE_BOUNDARY: StudioPackageBoundary;
9
- export declare const STUDIO_PUBLIC_CONTRACTS: readonly ["StudioManifest", "StudioContextValue", "StudioSelectionState", "NodePlacement", "InsertCatalogEntry", "ActionDefinition", "StudioCommand", "StudioEvent"];
9
+ export declare const STUDIO_PUBLIC_CONTRACTS: readonly ["StudioManifest", "StudioContextValue", "StudioSelectionState", "NodePlacement", "InsertCatalogEntry", "ActionDefinition", "StudioCommand", "StudioEvent", "StudioComponentMetaRegistry", "ACTION_REGISTRY", "TPL_SCREEN_EMPTY", "resolveDefaultInsertPlacement", "buildInsertCatalogEntries"];
10
10
  export type StudioPublicContract = (typeof STUDIO_PUBLIC_CONTRACTS)[number];
11
11
  export type StudioProjectId = string;
12
12
  export type StudioSessionId = string;
@@ -138,6 +138,18 @@ export interface ModuleDefinition {
138
138
  };
139
139
  };
140
140
  }
141
+ export interface StudioComponentBlueprint {
142
+ label?: string;
143
+ defaultProps?: Record<string, unknown>;
144
+ }
145
+ export interface StudioComponentMeta {
146
+ category: string;
147
+ allowedChildren: readonly string[];
148
+ directManifestNode?: boolean;
149
+ blueprint?: StudioComponentBlueprint;
150
+ }
151
+ export type StudioComponentMetaRegistry = Record<string, StudioComponentMeta | undefined>;
152
+ export type StudioIdGenerator = (prefix?: string) => string;
141
153
  export type StudioCommand = {
142
154
  type: 'studio.selectNode';
143
155
  nodeId: StudioNodeId | null;
@@ -211,4 +223,82 @@ export interface StudioContextValue extends StudioSelectionState, StudioSessionS
211
223
  reloadDictionaries: () => Promise<void>;
212
224
  refetchManifest: () => Promise<void>;
213
225
  }
226
+ export declare const ACTION_REGISTRY: Record<ActionType, ActionDefinition>;
227
+ export declare const TPL_SCREEN_EMPTY: UiNode;
228
+ /**
229
+ * Generates a unique ID for Studio-authored nodes and entities.
230
+ */
231
+ export declare const generateStudioId: StudioIdGenerator;
232
+ export declare const cloneWithNewIds: (node: UiNode, createId?: StudioIdGenerator) => UiNode;
233
+ export declare const findNodeById: (root: UiNode, id: string) => UiNode | null;
234
+ export declare const updateNodeInTree: (root: UiNode, id: string, newProps: Record<string, unknown>) => UiNode;
235
+ export declare const removeNodeFromTree: (root: UiNode, nodeId: string) => UiNode | null;
236
+ export declare const addNodeToTree: (args: {
237
+ root: UiNode;
238
+ targetId: string;
239
+ newNode: UiNode;
240
+ componentMeta: StudioComponentMetaRegistry;
241
+ mode?: "append" | "prepend";
242
+ }) => UiNode;
243
+ export declare const moveNodeInTree: (root: UiNode, nodeId: string, direction: "up" | "down") => UiNode;
244
+ export declare function canAcceptChild(args: {
245
+ parentType: string;
246
+ childType: string;
247
+ componentMeta: StudioComponentMetaRegistry;
248
+ }): boolean;
249
+ export declare function validateNodePlacement(args: {
250
+ root: UiNode;
251
+ placement: NodePlacement;
252
+ childType: string;
253
+ componentMeta: StudioComponentMetaRegistry;
254
+ }): PlacementValidationResult;
255
+ export declare function resolveInsertPlacement(args: {
256
+ root: UiNode;
257
+ targetNodeId: string;
258
+ childType: string;
259
+ componentMeta: StudioComponentMetaRegistry;
260
+ kind: PlacementKind;
261
+ }): PlacementResolutionResult;
262
+ export declare function resolveDefaultInsertPlacement(args: {
263
+ root: UiNode;
264
+ selectedNodeId: string | null;
265
+ childType: string;
266
+ componentMeta: StudioComponentMetaRegistry;
267
+ }): PlacementResolutionResult;
268
+ export interface InsertNodeAtPlacementArgs {
269
+ root: UiNode;
270
+ placement: NodePlacement;
271
+ componentMeta: StudioComponentMetaRegistry;
272
+ makeNode: () => UiNode;
273
+ }
274
+ export interface InsertNodeAtPlacementResult {
275
+ root: UiNode;
276
+ insertedNodeId: string;
277
+ }
278
+ export declare function insertNodeAtPlacement(args: InsertNodeAtPlacementArgs): InsertNodeAtPlacementResult | null;
279
+ export interface MoveNodeToPlacementArgs {
280
+ root: UiNode;
281
+ nodeId: string;
282
+ placement: NodePlacement;
283
+ componentMeta: StudioComponentMetaRegistry;
284
+ }
285
+ export interface MoveNodeToPlacementResult {
286
+ root: UiNode;
287
+ movedNodeId: string;
288
+ }
289
+ export declare function moveNodeToPlacement(args: MoveNodeToPlacementArgs): MoveNodeToPlacementResult | null;
290
+ export declare const STUDIO_INSERT_RECIPES: readonly InsertRecipe[];
291
+ export declare function getInsertCatalogCategoryLabel(category: string): string;
292
+ export declare function validateInsertRecipe(recipe: InsertRecipe, componentMeta: StudioComponentMetaRegistry): InsertRecipeIssue | null;
293
+ export declare function createNodeFromCatalogEntry(entry: InsertCatalogEntry, componentMeta: StudioComponentMetaRegistry, createId?: StudioIdGenerator): UiNode;
294
+ export declare function buildInsertCatalogEntries(args: {
295
+ componentMeta: StudioComponentMetaRegistry;
296
+ recipes?: readonly InsertRecipe[];
297
+ }): InsertCatalogEntry[];
298
+ export declare function resolveInsertCatalogEntries(args: {
299
+ entries: readonly InsertCatalogEntry[];
300
+ root: UiNode | null;
301
+ selectedNodeId: string | null;
302
+ componentMeta: StudioComponentMetaRegistry;
303
+ }): InsertCatalogEntry[];
214
304
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ export const STUDIO_PACKAGE_BOUNDARY = {
5
5
  'Studio product contracts',
6
6
  'Studio manifest editing contracts',
7
7
  'Studio command and event contracts',
8
+ 'Studio authoring model helpers',
8
9
  ],
9
10
  consumes: [
10
11
  '@ankhorage/contracts',
@@ -34,5 +35,814 @@ export const STUDIO_PUBLIC_CONTRACTS = [
34
35
  'ActionDefinition',
35
36
  'StudioCommand',
36
37
  'StudioEvent',
38
+ 'StudioComponentMetaRegistry',
39
+ 'ACTION_REGISTRY',
40
+ 'TPL_SCREEN_EMPTY',
41
+ 'resolveDefaultInsertPlacement',
42
+ 'buildInsertCatalogEntries',
37
43
  ];
44
+ export const ACTION_REGISTRY = {
45
+ navigate: {
46
+ type: 'navigate',
47
+ label: 'Navigate',
48
+ description: 'Navigate to another screen or route',
49
+ requiresPayload: true,
50
+ payloadSchema: {
51
+ route: {
52
+ type: 'string',
53
+ label: 'Route',
54
+ required: true,
55
+ },
56
+ params: {
57
+ type: 'object',
58
+ label: 'Parameters',
59
+ },
60
+ },
61
+ },
62
+ alert: {
63
+ type: 'alert',
64
+ label: 'Alert',
65
+ description: 'Show an alert dialog',
66
+ requiresPayload: false,
67
+ payloadSchema: {
68
+ message: {
69
+ type: 'string',
70
+ label: 'Message',
71
+ },
72
+ },
73
+ },
74
+ console: {
75
+ type: 'console',
76
+ label: 'Console Log',
77
+ description: 'Log a message to the console',
78
+ requiresPayload: false,
79
+ },
80
+ toggleDarkMode: {
81
+ type: 'toggleDarkMode',
82
+ label: 'Toggle Dark Mode',
83
+ description: 'Toggle between light and dark theme modes',
84
+ requiresPayload: false,
85
+ },
86
+ setLanguage: {
87
+ type: 'setLanguage',
88
+ label: 'Set Language',
89
+ description: 'Change the application language',
90
+ requiresPayload: true,
91
+ payloadSchema: {
92
+ locale: {
93
+ type: 'string',
94
+ label: 'Locale',
95
+ required: true,
96
+ },
97
+ },
98
+ },
99
+ search: {
100
+ type: 'search',
101
+ label: 'Search',
102
+ description: 'Search for content by text and metadata',
103
+ requiresPayload: true,
104
+ payloadSchema: {
105
+ query: {
106
+ type: 'string',
107
+ label: 'Search Query',
108
+ required: true,
109
+ },
110
+ scope: {
111
+ type: 'string',
112
+ label: 'Search Scope',
113
+ },
114
+ },
115
+ },
116
+ filter: {
117
+ type: 'filter',
118
+ label: 'Filter',
119
+ description: 'Filter content by key-value pairs',
120
+ requiresPayload: true,
121
+ payloadSchema: {
122
+ filterKey: {
123
+ type: 'string',
124
+ label: 'Filter Key',
125
+ required: true,
126
+ },
127
+ filterValue: {
128
+ type: 'string',
129
+ label: 'Filter Value',
130
+ required: true,
131
+ },
132
+ },
133
+ },
134
+ };
135
+ export const TPL_SCREEN_EMPTY = {
136
+ id: 'tpl-screen-empty',
137
+ type: 'Screen',
138
+ props: {
139
+ width: 'wide',
140
+ },
141
+ children: [
142
+ {
143
+ id: 'tpl-screen-empty-header',
144
+ type: 'SectionHeader',
145
+ props: {
146
+ title: 'New Screen',
147
+ description: 'Start authoring with ZORA layouts and patterns.',
148
+ },
149
+ },
150
+ {
151
+ id: 'tpl-screen-empty-section',
152
+ type: 'ScreenSection',
153
+ props: {
154
+ title: 'Build the first section',
155
+ description: 'Insert panels, forms, or content patterns to start authoring.',
156
+ },
157
+ children: [
158
+ {
159
+ id: 'tpl-screen-empty-state',
160
+ type: 'EmptyState',
161
+ props: {
162
+ title: 'Canvas is ready',
163
+ description: 'Use Insert to add components and layouts.',
164
+ },
165
+ },
166
+ ],
167
+ },
168
+ {
169
+ id: 'tpl-screen-empty-action',
170
+ type: 'Button',
171
+ props: {
172
+ children: 'Add first section',
173
+ tone: 'primary',
174
+ emphasis: 'solid',
175
+ },
176
+ },
177
+ ],
178
+ };
179
+ /**
180
+ * Generates a unique ID for Studio-authored nodes and entities.
181
+ */
182
+ export const generateStudioId = (prefix) => {
183
+ const timestamp = Date.now().toString(36);
184
+ const random = Math.random().toString(36).substring(2, 11);
185
+ const id = `${timestamp}-${random}`;
186
+ return prefix ? `${prefix.toLowerCase()}-${id}` : id;
187
+ };
188
+ export const cloneWithNewIds = (node, createId = generateStudioId) => {
189
+ const clonedNode = {
190
+ ...node,
191
+ id: createId(node.type),
192
+ props: node.props ? { ...node.props } : node.props,
193
+ };
194
+ if (node.children) {
195
+ clonedNode.children = node.children.map((child) => cloneWithNewIds(child, createId));
196
+ }
197
+ return clonedNode;
198
+ };
199
+ export const findNodeById = (root, id) => {
200
+ if (root.id === id)
201
+ return root;
202
+ if (!root.children)
203
+ return null;
204
+ for (const child of root.children) {
205
+ const found = findNodeById(child, id);
206
+ if (found)
207
+ return found;
208
+ }
209
+ return null;
210
+ };
211
+ export const updateNodeInTree = (root, id, newProps) => {
212
+ if (root.id === id) {
213
+ const { alias, style, ...rest } = newProps;
214
+ const aliasUpdate = typeof alias === 'string' ? { alias } : {};
215
+ const styleUpdate = isStyleRecord(style) ? { style } : {};
216
+ return {
217
+ ...root,
218
+ ...aliasUpdate,
219
+ ...styleUpdate,
220
+ props: { ...(root.props ?? {}), ...rest },
221
+ };
222
+ }
223
+ if (!root.children) {
224
+ return root;
225
+ }
226
+ return {
227
+ ...root,
228
+ children: root.children.map((child) => updateNodeInTree(child, id, newProps)),
229
+ };
230
+ };
231
+ export const removeNodeFromTree = (root, nodeId) => {
232
+ if (root.id === nodeId)
233
+ return null;
234
+ if (!root.children) {
235
+ return root;
236
+ }
237
+ const filteredChildren = root.children.filter((child) => child.id !== nodeId);
238
+ if (filteredChildren.length !== root.children.length) {
239
+ return { ...root, children: filteredChildren };
240
+ }
241
+ const nextChildren = root.children.map((child) => removeNodeFromTree(child, nodeId) ?? child);
242
+ const hasChanged = nextChildren.some((child, index) => child !== root.children?.[index]);
243
+ return hasChanged ? { ...root, children: nextChildren } : root;
244
+ };
245
+ export const addNodeToTree = (args) => {
246
+ const { root, targetId, newNode, componentMeta, mode = 'append' } = args;
247
+ if (root.id === targetId) {
248
+ if (!canAcceptChild({ parentType: root.type, childType: newNode.type, componentMeta })) {
249
+ return root;
250
+ }
251
+ const children = root.children ?? [];
252
+ return {
253
+ ...root,
254
+ children: mode === 'prepend' ? [newNode, ...children] : [...children, newNode],
255
+ };
256
+ }
257
+ if (!root.children) {
258
+ return root;
259
+ }
260
+ const nextChildren = root.children.map((child) => addNodeToTree({ root: child, targetId, newNode, componentMeta, mode }));
261
+ const hasChanged = nextChildren.some((child, index) => child !== root.children?.[index]);
262
+ return hasChanged ? { ...root, children: nextChildren } : root;
263
+ };
264
+ export const moveNodeInTree = (root, nodeId, direction) => {
265
+ if (root.id === nodeId || !root.children)
266
+ return root;
267
+ const index = root.children.findIndex((child) => child.id === nodeId);
268
+ if (index !== -1) {
269
+ const targetIndex = direction === 'up' ? index - 1 : index + 1;
270
+ if (targetIndex < 0 || targetIndex >= root.children.length) {
271
+ return root;
272
+ }
273
+ const currentNode = root.children[index];
274
+ const targetNode = root.children[targetIndex];
275
+ if (!currentNode || !targetNode) {
276
+ return root;
277
+ }
278
+ const nextChildren = [...root.children];
279
+ nextChildren[index] = targetNode;
280
+ nextChildren[targetIndex] = currentNode;
281
+ return { ...root, children: nextChildren };
282
+ }
283
+ const nextChildren = root.children.map((child) => moveNodeInTree(child, nodeId, direction));
284
+ const hasChanged = nextChildren.some((child, childIndex) => child !== root.children?.[childIndex]);
285
+ return hasChanged ? { ...root, children: nextChildren } : root;
286
+ };
287
+ function findNodeWithParent(root, nodeId) {
288
+ if (root.id === nodeId) {
289
+ return { node: root, parent: null, index: -1 };
290
+ }
291
+ const visit = (node) => {
292
+ const children = node.children ?? [];
293
+ for (const [index, child] of children.entries()) {
294
+ if (child.id === nodeId) {
295
+ return { node: child, parent: node, index };
296
+ }
297
+ const nested = visit(child);
298
+ if (nested) {
299
+ return nested;
300
+ }
301
+ }
302
+ return null;
303
+ };
304
+ return visit(root);
305
+ }
306
+ function isDescendantNode(node, descendantId) {
307
+ const children = node.children ?? [];
308
+ for (const child of children) {
309
+ if (child.id === descendantId || isDescendantNode(child, descendantId)) {
310
+ return true;
311
+ }
312
+ }
313
+ return false;
314
+ }
315
+ function removeNodeForMove(args) {
316
+ const { node, nodeId } = args;
317
+ const children = node.children ?? [];
318
+ const directIndex = children.findIndex((child) => child.id === nodeId);
319
+ if (directIndex !== -1) {
320
+ const removedNode = children[directIndex];
321
+ if (!removedNode) {
322
+ return { node, removedNode: null };
323
+ }
324
+ return {
325
+ node: {
326
+ ...node,
327
+ children: children.filter((child) => child.id !== nodeId),
328
+ },
329
+ removedNode,
330
+ };
331
+ }
332
+ const nextChildren = [];
333
+ let removedNode = null;
334
+ for (const child of children) {
335
+ if (removedNode) {
336
+ nextChildren.push(child);
337
+ continue;
338
+ }
339
+ const { node: nextChild, removedNode: nextRemovedNode } = removeNodeForMove({
340
+ node: child,
341
+ nodeId,
342
+ });
343
+ if (nextRemovedNode) {
344
+ removedNode = nextRemovedNode;
345
+ }
346
+ nextChildren.push(nextChild);
347
+ }
348
+ if (!removedNode) {
349
+ return { node, removedNode: null };
350
+ }
351
+ return {
352
+ node: {
353
+ ...node,
354
+ children: nextChildren,
355
+ },
356
+ removedNode,
357
+ };
358
+ }
359
+ export function canAcceptChild(args) {
360
+ const { parentType, childType, componentMeta } = args;
361
+ const meta = componentMeta[parentType];
362
+ if (!meta)
363
+ return false;
364
+ return meta.allowedChildren.includes(childType);
365
+ }
366
+ export function validateNodePlacement(args) {
367
+ const { root, placement, childType, componentMeta } = args;
368
+ const parent = findNodeById(root, placement.parentId);
369
+ if (!parent) {
370
+ return {
371
+ ok: false,
372
+ reason: {
373
+ code: 'missing-parent',
374
+ message: `Parent node ${placement.parentId} was not found.`,
375
+ },
376
+ };
377
+ }
378
+ if (!canAcceptChild({ parentType: parent.type, childType, componentMeta })) {
379
+ return {
380
+ ok: false,
381
+ reason: {
382
+ code: 'child-not-allowed',
383
+ message: `Parent ${parent.type} does not allow ${childType} children.`,
384
+ },
385
+ };
386
+ }
387
+ const children = parent.children ?? [];
388
+ if (placement.referenceId) {
389
+ const hasReference = children.some((child) => child.id === placement.referenceId);
390
+ if (!hasReference) {
391
+ return {
392
+ ok: false,
393
+ reason: {
394
+ code: 'missing-target',
395
+ message: `Reference node ${placement.referenceId} was not found under ${parent.id}.`,
396
+ },
397
+ };
398
+ }
399
+ }
400
+ if (placement.index < 0 || placement.index > children.length) {
401
+ return {
402
+ ok: false,
403
+ reason: {
404
+ code: 'invalid-index',
405
+ message: `Index ${placement.index} is out of bounds for ${parent.id}.`,
406
+ },
407
+ };
408
+ }
409
+ return { ok: true };
410
+ }
411
+ export function resolveInsertPlacement(args) {
412
+ const { root, targetNodeId, childType, componentMeta, kind } = args;
413
+ const target = findNodeWithParent(root, targetNodeId);
414
+ if (!target) {
415
+ return {
416
+ ok: false,
417
+ reason: {
418
+ code: 'missing-target',
419
+ message: `Target node ${targetNodeId} was not found.`,
420
+ },
421
+ };
422
+ }
423
+ if (kind === 'inside') {
424
+ const parent = target.node;
425
+ const children = parent.children ?? [];
426
+ const placement = {
427
+ parentId: parent.id,
428
+ index: children.length,
429
+ kind,
430
+ };
431
+ const validation = validateNodePlacement({ root, placement, childType, componentMeta });
432
+ if (!validation.ok) {
433
+ return validation;
434
+ }
435
+ return { ok: true, placement };
436
+ }
437
+ const { parent } = target;
438
+ if (!parent) {
439
+ return {
440
+ ok: false,
441
+ reason: {
442
+ code: 'missing-parent',
443
+ message: `Target node ${targetNodeId} has no parent.`,
444
+ },
445
+ };
446
+ }
447
+ const index = kind === 'before' ? target.index : target.index + 1;
448
+ const placement = {
449
+ parentId: parent.id,
450
+ index,
451
+ kind,
452
+ referenceId: target.node.id,
453
+ };
454
+ const validation = validateNodePlacement({ root, placement, childType, componentMeta });
455
+ if (!validation.ok) {
456
+ return validation;
457
+ }
458
+ return { ok: true, placement };
459
+ }
460
+ export function resolveDefaultInsertPlacement(args) {
461
+ const { root, selectedNodeId, childType, componentMeta } = args;
462
+ if (selectedNodeId) {
463
+ const inside = resolveInsertPlacement({
464
+ root,
465
+ targetNodeId: selectedNodeId,
466
+ childType,
467
+ componentMeta,
468
+ kind: 'inside',
469
+ });
470
+ if (inside.ok)
471
+ return inside;
472
+ const after = resolveInsertPlacement({
473
+ root,
474
+ targetNodeId: selectedNodeId,
475
+ childType,
476
+ componentMeta,
477
+ kind: 'after',
478
+ });
479
+ if (after.ok)
480
+ return after;
481
+ }
482
+ const atRoot = resolveInsertPlacement({
483
+ root,
484
+ targetNodeId: root.id,
485
+ childType,
486
+ componentMeta,
487
+ kind: 'inside',
488
+ });
489
+ if (atRoot.ok)
490
+ return atRoot;
491
+ return {
492
+ ok: false,
493
+ reason: {
494
+ code: 'no-valid-target',
495
+ message: `No valid insertion target found for ${childType}.`,
496
+ },
497
+ };
498
+ }
499
+ function insertChildAtIndex(args) {
500
+ const { node, parentId, index, newNode } = args;
501
+ if (node.id === parentId) {
502
+ const children = node.children ?? [];
503
+ if (index < 0 || index > children.length) {
504
+ return { node, inserted: false };
505
+ }
506
+ const nextChildren = [...children.slice(0, index), newNode, ...children.slice(index)];
507
+ return {
508
+ node: {
509
+ ...node,
510
+ children: nextChildren,
511
+ },
512
+ inserted: true,
513
+ };
514
+ }
515
+ if (!node.children || node.children.length === 0) {
516
+ return { node, inserted: false };
517
+ }
518
+ const results = node.children.map((child) => insertChildAtIndex({ node: child, parentId, index, newNode }));
519
+ const inserted = results.some((result) => result.inserted);
520
+ if (!inserted) {
521
+ return { node, inserted: false };
522
+ }
523
+ return {
524
+ node: {
525
+ ...node,
526
+ children: results.map((result) => result.node),
527
+ },
528
+ inserted: true,
529
+ };
530
+ }
531
+ export function insertNodeAtPlacement(args) {
532
+ const { root, placement, componentMeta, makeNode } = args;
533
+ const newNode = makeNode();
534
+ const validation = validateNodePlacement({
535
+ root,
536
+ placement,
537
+ childType: newNode.type,
538
+ componentMeta,
539
+ });
540
+ if (!validation.ok) {
541
+ return null;
542
+ }
543
+ const result = insertChildAtIndex({
544
+ node: root,
545
+ parentId: placement.parentId,
546
+ index: placement.index,
547
+ newNode,
548
+ });
549
+ if (!result.inserted)
550
+ return null;
551
+ return { root: result.node, insertedNodeId: newNode.id };
552
+ }
553
+ function getAdjustedMovePlacement(args) {
554
+ const { source, placement } = args;
555
+ if (!source.parent) {
556
+ return null;
557
+ }
558
+ if (placement.referenceId === source.node.id) {
559
+ return null;
560
+ }
561
+ const sourceParentId = source.parent.id;
562
+ if (placement.parentId !== sourceParentId) {
563
+ return placement;
564
+ }
565
+ const adjustedIndex = source.index < placement.index ? placement.index - 1 : placement.index;
566
+ if (adjustedIndex === source.index) {
567
+ return null;
568
+ }
569
+ return {
570
+ ...placement,
571
+ index: adjustedIndex,
572
+ };
573
+ }
574
+ export function moveNodeToPlacement(args) {
575
+ const { root, nodeId, placement, componentMeta } = args;
576
+ const source = findNodeWithParent(root, nodeId);
577
+ if (!source) {
578
+ return null;
579
+ }
580
+ if (!source.parent) {
581
+ return null;
582
+ }
583
+ if (placement.parentId === nodeId) {
584
+ return null;
585
+ }
586
+ if (isDescendantNode(source.node, placement.parentId)) {
587
+ return null;
588
+ }
589
+ const adjustedPlacement = getAdjustedMovePlacement({ source, placement });
590
+ if (!adjustedPlacement) {
591
+ return null;
592
+ }
593
+ const removed = removeNodeForMove({ node: root, nodeId });
594
+ if (!removed.removedNode) {
595
+ return null;
596
+ }
597
+ const validation = validateNodePlacement({
598
+ root: removed.node,
599
+ placement: adjustedPlacement,
600
+ childType: removed.removedNode.type,
601
+ componentMeta,
602
+ });
603
+ if (!validation.ok) {
604
+ return null;
605
+ }
606
+ const inserted = insertChildAtIndex({
607
+ node: removed.node,
608
+ parentId: adjustedPlacement.parentId,
609
+ index: adjustedPlacement.index,
610
+ newNode: removed.removedNode,
611
+ });
612
+ if (!inserted.inserted) {
613
+ return null;
614
+ }
615
+ return {
616
+ root: inserted.node,
617
+ movedNodeId: removed.removedNode.id,
618
+ };
619
+ }
620
+ const CATEGORY_LABELS = {
621
+ layout: 'Layouts',
622
+ pattern: 'Patterns',
623
+ component: 'Components',
624
+ foundation: 'Foundation',
625
+ recipe: 'Recipes',
626
+ };
627
+ const CATEGORY_ORDER = ['layout', 'pattern', 'component', 'foundation', 'recipe'];
628
+ export const STUDIO_INSERT_RECIPES = [
629
+ {
630
+ id: 'screen-section',
631
+ label: 'Screen section',
632
+ description: 'A screen section with a starter heading.',
633
+ category: 'recipe',
634
+ root: {
635
+ type: 'ScreenSection',
636
+ children: [{ type: 'Heading' }],
637
+ },
638
+ },
639
+ {
640
+ id: 'panel-stack',
641
+ label: 'Panel stack',
642
+ description: 'Panel with a stack starter.',
643
+ category: 'recipe',
644
+ root: {
645
+ type: 'Panel',
646
+ children: [{ type: 'Stack' }],
647
+ },
648
+ },
649
+ {
650
+ id: 'card-heading',
651
+ label: 'Card heading',
652
+ description: 'Card with a headline.',
653
+ category: 'recipe',
654
+ root: {
655
+ type: 'Card',
656
+ children: [{ type: 'Heading' }],
657
+ },
658
+ },
659
+ ];
660
+ export function getInsertCatalogCategoryLabel(category) {
661
+ return CATEGORY_LABELS[category] ?? category;
662
+ }
663
+ function resolveCategoryOrder(category) {
664
+ const index = CATEGORY_ORDER.indexOf(category);
665
+ return index === -1 ? CATEGORY_ORDER.length : index;
666
+ }
667
+ function describeInsertRecipeIssue(issue) {
668
+ if (issue.code === 'missing-meta') {
669
+ return `Missing component metadata for ${issue.nodeType}.`;
670
+ }
671
+ return `Child ${issue.childType ?? 'unknown'} is not allowed under ${issue.nodeType}.`;
672
+ }
673
+ export function validateInsertRecipe(recipe, componentMeta) {
674
+ const visit = (node, path) => {
675
+ const meta = componentMeta[node.type];
676
+ if (!meta) {
677
+ return {
678
+ code: 'missing-meta',
679
+ path,
680
+ nodeType: node.type,
681
+ };
682
+ }
683
+ const children = node.children ?? [];
684
+ for (const child of children) {
685
+ if (!meta.allowedChildren.includes(child.type)) {
686
+ return {
687
+ code: 'child-not-allowed',
688
+ path,
689
+ nodeType: node.type,
690
+ childType: child.type,
691
+ };
692
+ }
693
+ const nested = visit(child, [...path, child.type]);
694
+ if (nested) {
695
+ return nested;
696
+ }
697
+ }
698
+ return null;
699
+ };
700
+ return visit(recipe.root, [recipe.root.type]);
701
+ }
702
+ function createNodeFromRecipe(recipe, componentMeta, createId) {
703
+ const buildNode = (node) => {
704
+ const meta = componentMeta[node.type];
705
+ const defaultProps = meta?.blueprint?.defaultProps;
706
+ return {
707
+ id: createId(node.type),
708
+ type: node.type,
709
+ props: defaultProps ? { ...defaultProps } : {},
710
+ children: (node.children ?? []).map(buildNode),
711
+ };
712
+ };
713
+ return buildNode(recipe.root);
714
+ }
715
+ export function createNodeFromCatalogEntry(entry, componentMeta, createId = generateStudioId) {
716
+ if (entry.kind === 'recipe') {
717
+ return createNodeFromRecipe(entry.recipe, componentMeta, createId);
718
+ }
719
+ const meta = componentMeta[entry.componentType];
720
+ const defaultProps = meta?.blueprint?.defaultProps;
721
+ return {
722
+ id: createId(entry.componentType),
723
+ type: entry.componentType,
724
+ props: defaultProps ? { ...defaultProps } : {},
725
+ children: [],
726
+ };
727
+ }
728
+ function createComponentEntry(componentType, meta) {
729
+ const isDirect = meta.directManifestNode === true;
730
+ return {
731
+ id: `component:${componentType}`,
732
+ label: meta.blueprint?.label ?? componentType,
733
+ category: meta.category,
734
+ rootType: componentType,
735
+ kind: 'component',
736
+ componentType,
737
+ status: isDirect ? 'enabled' : 'disabled',
738
+ disabledReason: isDirect
739
+ ? undefined
740
+ : {
741
+ code: 'not-direct',
742
+ detail: 'Not a direct manifest node.',
743
+ },
744
+ };
745
+ }
746
+ function createRecipeEntry(recipe, componentMeta) {
747
+ const issue = validateInsertRecipe(recipe, componentMeta);
748
+ if (issue) {
749
+ const code = issue.code === 'missing-meta' ? 'missing-meta' : 'invalid-recipe';
750
+ return {
751
+ id: `recipe:${recipe.id}`,
752
+ label: recipe.label,
753
+ description: recipe.description,
754
+ category: 'recipe',
755
+ rootType: recipe.root.type,
756
+ kind: 'recipe',
757
+ recipe,
758
+ status: 'disabled',
759
+ disabledReason: {
760
+ code,
761
+ detail: describeInsertRecipeIssue(issue),
762
+ issue,
763
+ },
764
+ };
765
+ }
766
+ return {
767
+ id: `recipe:${recipe.id}`,
768
+ label: recipe.label,
769
+ description: recipe.description,
770
+ category: 'recipe',
771
+ rootType: recipe.root.type,
772
+ kind: 'recipe',
773
+ recipe,
774
+ status: 'enabled',
775
+ };
776
+ }
777
+ export function buildInsertCatalogEntries(args) {
778
+ const { componentMeta, recipes = STUDIO_INSERT_RECIPES } = args;
779
+ const componentEntries = [];
780
+ for (const [type, meta] of Object.entries(componentMeta)) {
781
+ if (meta) {
782
+ componentEntries.push(createComponentEntry(type, meta));
783
+ }
784
+ }
785
+ const recipeEntries = recipes.map((recipe) => createRecipeEntry(recipe, componentMeta));
786
+ return [...componentEntries, ...recipeEntries].sort((left, right) => {
787
+ const leftOrder = resolveCategoryOrder(left.category);
788
+ const rightOrder = resolveCategoryOrder(right.category);
789
+ if (leftOrder !== rightOrder) {
790
+ return leftOrder - rightOrder;
791
+ }
792
+ return left.label.localeCompare(right.label);
793
+ });
794
+ }
795
+ function resolvePlacementForEntry(args) {
796
+ const { entry, root, selectedNodeId, componentMeta } = args;
797
+ return resolveDefaultInsertPlacement({
798
+ root,
799
+ selectedNodeId,
800
+ childType: entry.rootType,
801
+ componentMeta,
802
+ });
803
+ }
804
+ export function resolveInsertCatalogEntries(args) {
805
+ const { entries, root, selectedNodeId, componentMeta } = args;
806
+ return entries.map((entry) => {
807
+ if (entry.status === 'disabled') {
808
+ return entry;
809
+ }
810
+ if (!root) {
811
+ return {
812
+ ...entry,
813
+ status: 'disabled',
814
+ disabledReason: {
815
+ code: 'no-placement',
816
+ detail: 'No active screen available.',
817
+ },
818
+ };
819
+ }
820
+ const placement = resolvePlacementForEntry({
821
+ entry,
822
+ root,
823
+ selectedNodeId,
824
+ componentMeta,
825
+ });
826
+ if (!placement.ok) {
827
+ return {
828
+ ...entry,
829
+ status: 'disabled',
830
+ disabledReason: {
831
+ code: 'no-placement',
832
+ detail: placement.reason.message,
833
+ },
834
+ };
835
+ }
836
+ return {
837
+ ...entry,
838
+ status: 'enabled',
839
+ placement: placement.placement,
840
+ };
841
+ });
842
+ }
843
+ function isStyleRecord(value) {
844
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
845
+ return false;
846
+ return Object.values(value).every((entry) => typeof entry === 'string' || typeof entry === 'number');
847
+ }
38
848
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAA4B,CAAC;AAQhE,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,IAAI,EAAE;QACJ,4BAA4B;QAC5B,0BAA0B;QAC1B,mCAAmC;QACnC,oCAAoC;KACrC;IACD,QAAQ,EAAE;QACR,sBAAsB;QACtB,oBAAoB;QACpB,yBAAyB;QACzB,sBAAsB;QACtB,iBAAiB;KAClB;IACD,UAAU,EAAE;QACV,mCAAmC;QACnC,qCAAqC;QACrC,uBAAuB;QACvB,4BAA4B;QAC5B,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;QAC5B,oBAAoB;QACpB,iCAAiC;KAClC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,gBAAgB;IAChB,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;IACf,aAAa;CACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",