@ikas/component-cli 1.4.0-beta.19 → 1.4.0-beta.191

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 (172) hide show
  1. package/dist/build-tools.d.ts +37 -0
  2. package/dist/build-tools.d.ts.map +1 -0
  3. package/dist/build-tools.js +36 -0
  4. package/dist/build-tools.js.map +1 -0
  5. package/dist/commands/add-sections-to-page.d.ts +3 -0
  6. package/dist/commands/add-sections-to-page.d.ts.map +1 -0
  7. package/dist/commands/add-sections-to-page.js +39 -0
  8. package/dist/commands/add-sections-to-page.js.map +1 -0
  9. package/dist/commands/add.d.ts.map +1 -1
  10. package/dist/commands/add.js +11 -2
  11. package/dist/commands/add.js.map +1 -1
  12. package/dist/commands/build.d.ts.map +1 -1
  13. package/dist/commands/build.js +5 -165
  14. package/dist/commands/build.js.map +1 -1
  15. package/dist/commands/config.d.ts +35 -0
  16. package/dist/commands/config.d.ts.map +1 -1
  17. package/dist/commands/config.js +1021 -122
  18. package/dist/commands/config.js.map +1 -1
  19. package/dist/commands/create-design-tokens.d.ts +24 -0
  20. package/dist/commands/create-design-tokens.d.ts.map +1 -0
  21. package/dist/commands/create-design-tokens.js +327 -0
  22. package/dist/commands/create-design-tokens.js.map +1 -0
  23. package/dist/commands/create-global-variable.d.ts +3 -0
  24. package/dist/commands/create-global-variable.d.ts.map +1 -0
  25. package/dist/commands/create-global-variable.js +53 -0
  26. package/dist/commands/create-global-variable.js.map +1 -0
  27. package/dist/commands/create-page.d.ts +3 -0
  28. package/dist/commands/create-page.d.ts.map +1 -0
  29. package/dist/commands/create-page.js +31 -0
  30. package/dist/commands/create-page.js.map +1 -0
  31. package/dist/commands/delete-page.d.ts +3 -0
  32. package/dist/commands/delete-page.d.ts.map +1 -0
  33. package/dist/commands/delete-page.js +28 -0
  34. package/dist/commands/delete-page.js.map +1 -0
  35. package/dist/commands/delete-theme-globals.d.ts +4 -0
  36. package/dist/commands/delete-theme-globals.d.ts.map +1 -0
  37. package/dist/commands/delete-theme-globals.js +48 -0
  38. package/dist/commands/delete-theme-globals.js.map +1 -0
  39. package/dist/commands/dev.d.ts.map +1 -1
  40. package/dist/commands/dev.js +170 -31
  41. package/dist/commands/dev.js.map +1 -1
  42. package/dist/commands/enable-builtin-pages.d.ts +3 -0
  43. package/dist/commands/enable-builtin-pages.d.ts.map +1 -0
  44. package/dist/commands/enable-builtin-pages.js +27 -0
  45. package/dist/commands/enable-builtin-pages.js.map +1 -0
  46. package/dist/commands/get-component-props.d.ts +3 -0
  47. package/dist/commands/get-component-props.d.ts.map +1 -0
  48. package/dist/commands/get-component-props.js +32 -0
  49. package/dist/commands/get-component-props.js.map +1 -0
  50. package/dist/commands/get-page-by-type.d.ts +3 -0
  51. package/dist/commands/get-page-by-type.d.ts.map +1 -0
  52. package/dist/commands/get-page-by-type.js +25 -0
  53. package/dist/commands/get-page-by-type.js.map +1 -0
  54. package/dist/commands/get-section-values.d.ts +3 -0
  55. package/dist/commands/get-section-values.d.ts.map +1 -0
  56. package/dist/commands/get-section-values.js +39 -0
  57. package/dist/commands/get-section-values.js.map +1 -0
  58. package/dist/commands/list-builtin-pages.d.ts +3 -0
  59. package/dist/commands/list-builtin-pages.d.ts.map +1 -0
  60. package/dist/commands/list-builtin-pages.js +28 -0
  61. package/dist/commands/list-builtin-pages.js.map +1 -0
  62. package/dist/commands/list-entities.d.ts +3 -0
  63. package/dist/commands/list-entities.d.ts.map +1 -0
  64. package/dist/commands/list-entities.js +32 -0
  65. package/dist/commands/list-entities.js.map +1 -0
  66. package/dist/commands/list-page-sections.d.ts.map +1 -1
  67. package/dist/commands/list-page-sections.js +8 -2
  68. package/dist/commands/list-page-sections.js.map +1 -1
  69. package/dist/commands/list-theme-globals.d.ts +3 -0
  70. package/dist/commands/list-theme-globals.d.ts.map +1 -0
  71. package/dist/commands/list-theme-globals.js +22 -0
  72. package/dist/commands/list-theme-globals.js.map +1 -0
  73. package/dist/commands/move-page-section.d.ts +3 -0
  74. package/dist/commands/move-page-section.d.ts.map +1 -0
  75. package/dist/commands/move-page-section.js +62 -0
  76. package/dist/commands/move-page-section.js.map +1 -0
  77. package/dist/commands/publish-theme.d.ts +3 -0
  78. package/dist/commands/publish-theme.d.ts.map +1 -0
  79. package/dist/commands/publish-theme.js +29 -0
  80. package/dist/commands/publish-theme.js.map +1 -0
  81. package/dist/commands/publish.d.ts.map +1 -1
  82. package/dist/commands/publish.js +54 -3
  83. package/dist/commands/publish.js.map +1 -1
  84. package/dist/commands/remove-page-section.d.ts +3 -0
  85. package/dist/commands/remove-page-section.d.ts.map +1 -0
  86. package/dist/commands/remove-page-section.js +40 -0
  87. package/dist/commands/remove-page-section.js.map +1 -0
  88. package/dist/commands/search-products.d.ts +3 -0
  89. package/dist/commands/search-products.d.ts.map +1 -0
  90. package/dist/commands/search-products.js +40 -0
  91. package/dist/commands/search-products.js.map +1 -0
  92. package/dist/commands/update-builtin-page-prop.d.ts +3 -0
  93. package/dist/commands/update-builtin-page-prop.d.ts.map +1 -0
  94. package/dist/commands/update-builtin-page-prop.js +49 -0
  95. package/dist/commands/update-builtin-page-prop.js.map +1 -0
  96. package/dist/commands/update-global-variable.d.ts +3 -0
  97. package/dist/commands/update-global-variable.d.ts.map +1 -0
  98. package/dist/commands/update-global-variable.js +47 -0
  99. package/dist/commands/update-global-variable.js.map +1 -0
  100. package/dist/commands/update-page-sections.d.ts +3 -0
  101. package/dist/commands/update-page-sections.d.ts.map +1 -0
  102. package/dist/commands/update-page-sections.js +39 -0
  103. package/dist/commands/update-page-sections.js.map +1 -0
  104. package/dist/commands/update-section-prop.d.ts.map +1 -1
  105. package/dist/commands/update-section-prop.js +27 -9
  106. package/dist/commands/update-section-prop.js.map +1 -1
  107. package/dist/commands/upload-image.d.ts.map +1 -1
  108. package/dist/commands/upload-image.js +5 -46
  109. package/dist/commands/upload-image.js.map +1 -1
  110. package/dist/commands/upload-images.d.ts +3 -0
  111. package/dist/commands/upload-images.d.ts.map +1 -0
  112. package/dist/commands/upload-images.js +48 -0
  113. package/dist/commands/upload-images.js.map +1 -0
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +54 -1
  116. package/dist/index.js.map +1 -1
  117. package/dist/types.d.ts +45 -0
  118. package/dist/types.d.ts.map +1 -1
  119. package/dist/utils/compile.d.ts +17 -2
  120. package/dist/utils/compile.d.ts.map +1 -1
  121. package/dist/utils/compile.js +746 -117
  122. package/dist/utils/compile.js.map +1 -1
  123. package/dist/utils/component-helpers.d.ts +128 -2
  124. package/dist/utils/component-helpers.d.ts.map +1 -1
  125. package/dist/utils/component-helpers.js +330 -27
  126. package/dist/utils/component-helpers.js.map +1 -1
  127. package/dist/utils/css-import-resolver.d.ts +4 -1
  128. package/dist/utils/css-import-resolver.d.ts.map +1 -1
  129. package/dist/utils/css-import-resolver.js +9 -1
  130. package/dist/utils/css-import-resolver.js.map +1 -1
  131. package/dist/utils/editor-action-client.d.ts +4 -3
  132. package/dist/utils/editor-action-client.d.ts.map +1 -1
  133. package/dist/utils/editor-action-client.js +55 -19
  134. package/dist/utils/editor-action-client.js.map +1 -1
  135. package/dist/utils/esm-transform.d.ts +30 -0
  136. package/dist/utils/esm-transform.d.ts.map +1 -1
  137. package/dist/utils/esm-transform.js +169 -2
  138. package/dist/utils/esm-transform.js.map +1 -1
  139. package/dist/utils/find-component-for-file.d.ts +12 -0
  140. package/dist/utils/find-component-for-file.d.ts.map +1 -0
  141. package/dist/utils/find-component-for-file.js +24 -0
  142. package/dist/utils/find-component-for-file.js.map +1 -0
  143. package/dist/utils/forbid-deep-imports.d.ts +3 -0
  144. package/dist/utils/forbid-deep-imports.d.ts.map +1 -0
  145. package/dist/utils/forbid-deep-imports.js +54 -0
  146. package/dist/utils/forbid-deep-imports.js.map +1 -0
  147. package/dist/utils/forbid-external-packages.d.ts +26 -0
  148. package/dist/utils/forbid-external-packages.d.ts.map +1 -0
  149. package/dist/utils/forbid-external-packages.js +99 -0
  150. package/dist/utils/forbid-external-packages.js.map +1 -0
  151. package/dist/utils/load-image.d.ts +16 -0
  152. package/dist/utils/load-image.d.ts.map +1 -0
  153. package/dist/utils/load-image.js +50 -0
  154. package/dist/utils/load-image.js.map +1 -0
  155. package/dist/utils/vendor-storefront.d.ts +13 -0
  156. package/dist/utils/vendor-storefront.d.ts.map +1 -0
  157. package/dist/utils/vendor-storefront.js +91 -0
  158. package/dist/utils/vendor-storefront.js.map +1 -0
  159. package/dist/utils/websocket-server.d.ts +88 -5
  160. package/dist/utils/websocket-server.d.ts.map +1 -1
  161. package/dist/utils/websocket-server.js +233 -43
  162. package/dist/utils/websocket-server.js.map +1 -1
  163. package/package.json +17 -2
  164. package/templates/add/section.css +11 -0
  165. package/dist/commands/create.d.ts +0 -4
  166. package/dist/commands/create.d.ts.map +0 -1
  167. package/dist/commands/create.js +0 -228
  168. package/dist/commands/create.js.map +0 -1
  169. package/dist/commands/proxy.d.ts +0 -39
  170. package/dist/commands/proxy.d.ts.map +0 -1
  171. package/dist/commands/proxy.js +0 -210
  172. package/dist/commands/proxy.js.map +0 -1
@@ -35,6 +35,40 @@ export function generateUniqueId() {
35
35
  export function generateComponentId(projectId) {
36
36
  return `${projectId}-${generateUniqueId()}`;
37
37
  }
38
+ /**
39
+ * The editor's publish-id machinery (rewrite-asset-ids.ts, MIN_ROOT_ID_LENGTH = 6)
40
+ * treats a leading run of >=6 alphanumeric characters before a `-`/`_` separator as
41
+ * a strippable project prefix, and republish stability (insert-vs-version matching
42
+ * by source suffix) depends on every projectId satisfying that shape. A projectId
43
+ * that is shorter, or that contains a separator/non-alphanumeric character, shifts
44
+ * the prefix/suffix boundary and silently re-opens the duplicate-element bug.
45
+ * `generateProjectId()` always satisfies this; the check exists because
46
+ * ikas.config.json is hand-editable and parsed without a schema.
47
+ */
48
+ export const PROJECT_ID_PATTERN = /^[A-Za-z0-9]{6,}$/;
49
+ export function isValidProjectId(projectId) {
50
+ return PROJECT_ID_PATTERN.test(projectId);
51
+ }
52
+ /**
53
+ * A component id is publishable when the editor's prefix-strip machinery parses it
54
+ * unambiguously: either a legacy atomic id (alphanumeric only, no separators) or a
55
+ * `<projectId>-<suffix>` form whose PREFIX meets the same >=6 floor as PROJECT_ID_PATTERN.
56
+ * The prefix must stay >=6 alphanumeric with NO separator (the editor strips exactly one
57
+ * leading `>=MIN_ROOT_ID_LENGTH` run before the first `-`/`_`); a short/separator-bearing
58
+ * prefix shifts that boundary and re-opens the duplicate-element bug.
59
+ *
60
+ * The SUFFIX, however, may be multi-segment (`<projectId>-hero-slider`,
61
+ * `<projectId>-product-detail-add-to-cart`): older CLI configs used human-readable
62
+ * suffixes, and those ids are already placed on published themes so they cannot be
63
+ * renamed. The editor's `normalizeSourceElementId` canonicalizes every suffix separator
64
+ * to `_`, so a hyphenated local suffix and its underscore-sterilized published form
65
+ * normalize to the same republish-invariant key — multi-segment suffixes match stably.
66
+ * Each segment must still be a non-empty alphanumeric run (no trailing/doubled separators).
67
+ */
68
+ export const COMPONENT_ID_PATTERN = /^(?:[A-Za-z0-9]+|[A-Za-z0-9]{6,}(?:[-_][A-Za-z0-9]+)+)$/;
69
+ export function findInvalidComponentIds(components) {
70
+ return components.filter((c) => !COMPONENT_ID_PATTERN.test(c.id));
71
+ }
38
72
  /**
39
73
  * Validate that every entry in `input` is the id of a component currently in `components`.
40
74
  * Returns the list of unknown entries (empty array means all valid).
@@ -96,8 +130,8 @@ export const PROP_TYPE_TO_TS = {
96
130
  COLOR: "string",
97
131
  PRODUCT: "IkasProduct | null",
98
132
  PRODUCT_LIST: "IkasProductList",
99
- PRODUCT_ATTRIBUTE: "IkasProductAttributeValue | null",
100
- PRODUCT_ATTRIBUTE_LIST: "IkasProductAttributeValue[]",
133
+ PRODUCT_ATTRIBUTE: "IkasProductAttributeDetail | null",
134
+ PRODUCT_ATTRIBUTE_LIST: "IkasProductAttributeList",
101
135
  CATEGORY: "IkasCategory | null",
102
136
  CATEGORY_LIST: "IkasCategoryList",
103
137
  BRAND: "IkasBrand | null",
@@ -111,6 +145,21 @@ export const PROP_TYPE_TO_TS = {
111
145
  COMPONENT: "any",
112
146
  COMPONENT_LIST: "any",
113
147
  };
148
+ /**
149
+ * Pattern-element ("Font Style" / typography) enum sentinel. The editor builds
150
+ * this synthetic enum at theme time (createPatternElementEnum). Mirror of
151
+ * PATTERN_ELEMENT_ENUM_ID in @ikas/editor-models — kept local to avoid an
152
+ * editor-models dependency in the CLI.
153
+ */
154
+ export const PATTERN_ELEMENT_ENUM_ID = "__patternElementEnum__";
155
+ /**
156
+ * Built-in enum type ids do not need to exist in config.customTypes: @ikas/*
157
+ * enums ship with the storefront models, and the pattern-element sentinel is
158
+ * resolved by the editor at theme time. Author-defined enums are NOT built-in.
159
+ */
160
+ export function isBuiltInEnumTypeId(enumTypeId) {
161
+ return (enumTypeId.startsWith("@ikas/") || enumTypeId === PATTERN_ELEMENT_ENUM_ID);
162
+ }
114
163
  export function toKebabCase(str) {
115
164
  return str
116
165
  .replace(/([a-z])([A-Z])/g, "$1-$2")
@@ -149,14 +198,16 @@ function resolveTypeId(typeId) {
149
198
  */
150
199
  function resolveCustomEnumTypeName(enumTypeId, editorTypes, customTypes) {
151
200
  if (editorTypes) {
152
- const editorType = editorTypes.find(t => t.id === enumTypeId);
153
- if (editorType?.enumOptions && Object.keys(editorType.enumOptions).length > 0) {
201
+ const editorType = editorTypes.find((t) => t.id === enumTypeId);
202
+ if (editorType?.enumOptions &&
203
+ Object.keys(editorType.enumOptions).length > 0) {
154
204
  return toPascalCase(editorType.name);
155
205
  }
156
206
  }
157
207
  if (customTypes) {
158
- const customType = customTypes.find(t => t.id === enumTypeId);
159
- if (customType?.enumOptions && Object.keys(customType.enumOptions).length > 0) {
208
+ const customType = customTypes.find((t) => t.id === enumTypeId);
209
+ if (customType?.enumOptions &&
210
+ Object.keys(customType.enumOptions).length > 0) {
160
211
  return toPascalCase(customType.name);
161
212
  }
162
213
  }
@@ -176,7 +227,9 @@ export function generateTypesFile(componentName, props, type, editorTypes, custo
176
227
  typeIdResolved.set(prop.name, resolved.isArray ? `${resolved.typeName}[]` : resolved.typeName);
177
228
  }
178
229
  }
179
- else if (prop.type === "ENUM" && prop.enumTypeId) {
230
+ else if (prop.type === "ENUM" &&
231
+ prop.enumTypeId &&
232
+ prop.enumTypeId !== PATTERN_ELEMENT_ENUM_ID) {
180
233
  const resolved = resolveTypeId(prop.enumTypeId);
181
234
  if (resolved) {
182
235
  // Built-in enum — import from @ikas/bp-storefront
@@ -193,6 +246,9 @@ export function generateTypesFile(componentName, props, type, editorTypes, custo
193
246
  }
194
247
  }
195
248
  else {
249
+ // Non-ENUM props, plus the font-style (pattern-element) sentinel whose
250
+ // runtime value is a plain pattern-element id string → PROP_TYPE_TO_TS
251
+ // (PROP_TYPE_TO_TS["ENUM"] === "string"), no import emitted.
196
252
  const tsType = PROP_TYPE_TO_TS[prop.type];
197
253
  if (tsType?.includes("Ikas")) {
198
254
  const matches = tsType.match(/Ikas\w+/g);
@@ -298,6 +354,73 @@ export function collectUsedCustomTypeIds(customTypes, components) {
298
354
  }
299
355
  return used;
300
356
  }
357
+ /** Map a global-variable kind to a TS type. Primitives narrowed; complex kinds stay `any`. */
358
+ function themeSettingTsType(type) {
359
+ switch (type) {
360
+ case "NUMBER":
361
+ return "number";
362
+ case "BOOLEAN":
363
+ return "boolean";
364
+ case "TEXT":
365
+ case "RICH_TEXT":
366
+ case "COLOR":
367
+ return "string";
368
+ default:
369
+ return "any"; // IMAGE, BORDER, SHADOW — object shapes can drift from runtime
370
+ }
371
+ }
372
+ /**
373
+ * Import line for the typed theme-globals wrapper. Must sit at the top of the generated
374
+ * file (after the header). Emitted only when there are theme globals.
375
+ *
376
+ * A module augmentation can't deliver key-safety here: the runtime `getThemeSettingValue`
377
+ * is declared `(name: string): any`, so an added narrower overload never wins resolution —
378
+ * unknown keys still match `string` and return `any`. A generated wrapper whose parameter
379
+ * is `ThemeSettingName` (no `string` overload) does reject unknown keys and narrow the value.
380
+ */
381
+ const THEME_GLOBALS_IMPORT = `import { getThemeSettingValue as _getThemeSettingValueRaw } from "@ikas/bp-storefront";\n`;
382
+ /**
383
+ * Sentinel that marks a generated `global-types.ts` as containing the theme-globals block.
384
+ * This is the exported symbol authors import (stable public API), and it must stay a substring
385
+ * of what {@link generateThemeGlobalsBlock} emits — keep the two in sync if that output changes.
386
+ */
387
+ const THEME_GLOBALS_MARKER = "export type ThemeSettingName";
388
+ /**
389
+ * Build the theme-globals block for `src/global-types.ts`: the key union, a value-type map,
390
+ * and a type-safe `themeValue` wrapper (authors import it from `./global-types`). The wrapper
391
+ * is deliberately named differently from the SDK's `getThemeSettingValue` so authors can't
392
+ * accidentally import the untyped SDK version and lose key-safety (no shadowing).
393
+ * Returns "" when there are no globals (an empty union would resolve to `never`). The import
394
+ * the wrapper needs is emitted separately via {@link THEME_GLOBALS_IMPORT}.
395
+ */
396
+ function generateThemeGlobalsBlock(themeSettings) {
397
+ if (!themeSettings || themeSettings.length === 0)
398
+ return "";
399
+ const sorted = [...themeSettings].sort((a, b) => a.name.localeCompare(b.name));
400
+ const unionLines = sorted
401
+ .map((s) => {
402
+ // Escape the JSDoc comment terminator to avoid prematurely closing the
403
+ // generated `/** ... */` block when a displayName contains `*/`.
404
+ const label = String(s.displayName).replace(/\*\//g, "*\\/");
405
+ return ` /** ${label} (${s.type}) */\n | ${JSON.stringify(s.name)}`;
406
+ })
407
+ .join("\n");
408
+ const mapLines = sorted
409
+ .map((s) => ` ${JSON.stringify(s.name)}: ${themeSettingTsType(s.type)};`)
410
+ .join("\n");
411
+ return (`\n/** Stable keys of theme global variables defined in the editor's "Styles" panel. */\n` +
412
+ `export type ThemeSettingName =\n${unionLines};\n\n` +
413
+ `/** Narrowed value type per global key (primitives only; complex kinds are \`any\`). */\n` +
414
+ `type ThemeSettingValueMap = {\n${mapLines}\n};\n\n` +
415
+ `/**\n` +
416
+ ` * Type-safe theme global accessor — only accepts keys declared in the editor's Styles panel.\n` +
417
+ ` * Import this from \`./global-types\`, not \`getThemeSettingValue\` from \`@ikas/bp-storefront\`\n` +
418
+ ` * (that one is untyped: it accepts any string and returns \`any\`).\n` +
419
+ ` */\n` +
420
+ `export function themeValue<K extends ThemeSettingName>(name: K): ThemeSettingValueMap[K] {\n` +
421
+ ` return _getThemeSettingValueRaw(name) as ThemeSettingValueMap[K];\n` +
422
+ `}\n`);
423
+ }
301
424
  /**
302
425
  * Generate the content for `src/global-types.ts`.
303
426
  * Collects all custom enum types from editorTypes (preferred) or customTypes (fallback)
@@ -311,7 +434,7 @@ export function generateGlobalTypesFile(editorTypes, customTypes,
311
434
  * Callers should compute this from `config.components[*].props[*].enumTypeId`
312
435
  * so unused enums are excluded from `global-types.ts`.
313
436
  */
314
- usedEnumIds) {
437
+ usedEnumIds, themeSettings) {
315
438
  const header = `// Auto-generated global type definitions for ikas code components.\n// This file is regenerated automatically — do not edit manually.\n`;
316
439
  // Collect all custom enum types with their options
317
440
  // Use a Map keyed by type ID to deduplicate
@@ -320,8 +443,8 @@ usedEnumIds) {
320
443
  if (editorTypes) {
321
444
  for (const t of editorTypes) {
322
445
  if (t.enumOptions && Object.keys(t.enumOptions).length > 0) {
323
- // Skip built-in types
324
- if (t.id.startsWith("@ikas/"))
446
+ // Skip built-in types (@ikas/* and the pattern-element font-style sentinel)
447
+ if (isBuiltInEnumTypeId(t.id))
325
448
  continue;
326
449
  if (usedEnumIds && !usedEnumIds.has(t.id))
327
450
  continue;
@@ -339,7 +462,7 @@ usedEnumIds) {
339
462
  const id = t.id;
340
463
  if (enumTypes.has(id))
341
464
  continue;
342
- if (id.startsWith("@ikas/"))
465
+ if (isBuiltInEnumTypeId(id))
343
466
  continue;
344
467
  if (usedEnumIds && !usedEnumIds.has(id))
345
468
  continue;
@@ -352,17 +475,54 @@ usedEnumIds) {
352
475
  }
353
476
  }
354
477
  }
478
+ const themeBlock = generateThemeGlobalsBlock(themeSettings);
479
+ // The wrapper's runtime import must sit at the top of the file (after the header).
480
+ const themeImport = themeBlock ? THEME_GLOBALS_IMPORT : "";
355
481
  if (enumTypes.size === 0) {
356
- return `${header}// Custom enum types from the editor will appear here.\n\nexport {};\n`;
482
+ if (!themeBlock) {
483
+ return `${header}// Custom enum types from the editor will appear here.\n\nexport {};\n`;
484
+ }
485
+ return `${header}${themeImport}${themeBlock}`;
357
486
  }
358
487
  // Sort by type name for stable output
359
488
  const sorted = Array.from(enumTypes.values()).sort((a, b) => a.name.localeCompare(b.name));
360
- let content = `${header}\n`;
489
+ let content = `${header}${themeImport}\n`;
361
490
  for (const enumType of sorted) {
362
- const unionType = enumType.options.map(v => `"${v}"`).join(" | ");
491
+ const unionType = enumType.options.map((v) => `"${v}"`).join(" | ");
363
492
  content += `/** Enum type: ${enumType.id} */\nexport type ${enumType.name} = ${unionType};\n`;
364
493
  }
365
- return content;
494
+ return `${content}${themeBlock}`;
495
+ }
496
+ /**
497
+ * Decide whether freshly generated `global-types.ts` content should overwrite
498
+ * the existing file on disk.
499
+ *
500
+ * Guards the dev-server startup race: before the editor connects, the theme
501
+ * settings cache is empty, so the generated content omits the theme-globals
502
+ * block (`themeValue`, `ThemeSettingName`). Writing it would clobber the rich
503
+ * file left from the previous session and break every component that imports
504
+ * those exports until the editor reconnects and re-syncs. While theme settings
505
+ * are not yet cached, preserve an existing theme-globals block instead of
506
+ * stubbing it out — the editor's `onSyncTypes` is the authoritative writer once
507
+ * connected.
508
+ *
509
+ * @param existing current file content, or null if the file is absent
510
+ * @param next freshly generated content
511
+ * @param hasThemeSettingsCached whether the editor has synced theme settings yet
512
+ */
513
+ export function shouldWriteGlobalTypes(existing, next, hasThemeSettingsCached) {
514
+ // No file yet — always write so imports resolve.
515
+ if (existing === null)
516
+ return true;
517
+ // Identical content — skip to avoid file-watcher loops.
518
+ if (existing === next)
519
+ return false;
520
+ // Editor has synced theme settings — it's authoritative, write freely.
521
+ if (hasThemeSettingsCached)
522
+ return true;
523
+ // Not synced yet: write unless we'd drop an existing theme-globals block for a stub.
524
+ return (!existing.includes(THEME_GLOBALS_MARKER) ||
525
+ next.includes(THEME_GLOBALS_MARKER));
366
526
  }
367
527
  export function generateComponentFile(componentName, props, type) {
368
528
  const propsDestructure = props.map((p) => p.name).join(", ");
@@ -392,6 +552,39 @@ export function updateBarrelExport(projectRoot, componentNames) {
392
552
  .join("\n") + "\n";
393
553
  fs.writeFileSync(indexPath, content);
394
554
  }
555
+ /**
556
+ * A config visibility gate in wire form, or nothing at all — spread it.
557
+ *
558
+ * Config names the governing prop; the editor needs its id, and ids are minted here from position.
559
+ * A gate naming a prop this component does not have is dropped rather than passed on: the editor
560
+ * would show the control anyway, and a dangling id in the theme is worse than none.
561
+ */
562
+ export function resolveCondition(gate, propIdByName) {
563
+ if (!gate?.requiredProp)
564
+ return {};
565
+ const requiredPropId = propIdByName.get(gate.requiredProp);
566
+ if (!requiredPropId)
567
+ return {};
568
+ // An ENUM gate carries its option and no boolean state; a BOOLEAN one the reverse. Emitting only
569
+ // the half that applies keeps a stale option from a re-typed governing prop out of the theme.
570
+ if (gate.requiredEnumOptionValue !== undefined) {
571
+ return {
572
+ requiredPropId,
573
+ requiredEnumOptionId: gate.requiredEnumOptionId,
574
+ requiredEnumOptionValue: gate.requiredEnumOptionValue,
575
+ };
576
+ }
577
+ return { requiredPropId, requiredPropValue: gate.requiredPropValue ?? true };
578
+ }
579
+ /**
580
+ * Config prop name to the id this component's props are broadcast under.
581
+ *
582
+ * The formula is duplicated at each mapping site (dev broadcast, config rebuild, publish); this
583
+ * reads it back off whatever that site produced rather than restating it a fourth time.
584
+ */
585
+ export function propIdsByName(props) {
586
+ return new Map(props.map((prop) => [prop.name, prop.id]));
587
+ }
395
588
  /**
396
589
  * Convert flat config-format prop groups into an IThemePropGroup[] hierarchy.
397
590
  *
@@ -405,11 +598,14 @@ export function updateBarrelExport(projectRoot, componentNames) {
405
598
  */
406
599
  export function buildPropGroupHierarchy(componentId, propGroups, props) {
407
600
  const result = [];
601
+ // A group names its governing prop; the leaf wrappers below carry no gate of their own, because a
602
+ // prop's gate travels on the prop itself (see `resolveCondition` at each prop mapping site).
603
+ const propIdByName = propIdsByName(props);
408
604
  for (const group of propGroups) {
409
605
  const groupGlobalId = `${componentId}_pg_${group.id}`;
410
606
  // Collect props assigned to this group
411
- const groupProps = props.filter(p => p.groupId === group.id);
412
- const propChildren = groupProps.map(p => ({
607
+ const groupProps = props.filter((p) => p.groupId === group.id);
608
+ const propChildren = groupProps.map((p) => ({
413
609
  id: `${componentId}_pgp_${p.id}`,
414
610
  propId: p.id,
415
611
  }));
@@ -419,8 +615,8 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
419
615
  for (const child of group.children) {
420
616
  const childGlobalId = `${componentId}_pg_${child.id}`;
421
617
  // Collect props assigned to this child group
422
- const childProps = props.filter(p => p.groupId === child.id);
423
- const childPropChildren = childProps.map(p => ({
618
+ const childProps = props.filter((p) => p.groupId === child.id);
619
+ const childPropChildren = childProps.map((p) => ({
424
620
  id: `${componentId}_pgp_${p.id}`,
425
621
  propId: p.id,
426
622
  }));
@@ -428,7 +624,10 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
428
624
  id: childGlobalId,
429
625
  name: child.name,
430
626
  ...(child.description ? { description: child.description } : {}),
431
- ...(childPropChildren.length > 0 ? { children: childPropChildren } : {}),
627
+ ...resolveCondition(child, propIdByName),
628
+ ...(childPropChildren.length > 0
629
+ ? { children: childPropChildren }
630
+ : {}),
432
631
  });
433
632
  }
434
633
  }
@@ -437,19 +636,117 @@ export function buildPropGroupHierarchy(componentId, propGroups, props) {
437
636
  id: groupGlobalId,
438
637
  name: group.name,
439
638
  ...(group.description ? { description: group.description } : {}),
639
+ ...resolveCondition(group, propIdByName),
440
640
  ...(allChildren.length > 0 ? { children: allChildren } : {}),
441
641
  });
442
642
  }
443
643
  return result;
444
644
  }
645
+ /** Every group id under `group`, itself included — the groups a prop assigned "inside" it can sit in. */
646
+ export function groupIdsUnder(group) {
647
+ return new Set([
648
+ group.id,
649
+ ...(group.children || []).map((child) => child.id),
650
+ ]);
651
+ }
652
+ /**
653
+ * Validate a visibility condition — the `requiredProp` family on a prop or a prop group — against
654
+ * the component it lives on. Returns an error message, or null when it is sound (or absent).
655
+ *
656
+ * What is rejected, and why each one would otherwise strand a control with no way to reach it:
657
+ *
658
+ * - a name no prop on this component has, or a prop that is not BOOLEAN — nothing to read a
659
+ * true/false off, so the gate could never resolve;
660
+ * - a prop gating itself, or a chain of props that comes back around to it — every prop in the
661
+ * cycle stays hidden forever, including the toggles that would let someone out of it;
662
+ * - an ENUM gate with no option to wait for, or an option value hung on a BOOLEAN prop;
663
+ * - a group gated by a toggle that lives inside it — turning that toggle off takes the toggle away
664
+ * with the rest of the group.
665
+ */
666
+ export function visibilityGateError(component, gate, where, opts = {}) {
667
+ const { requiredProp, requiredPropValue, requiredEnumOptionValue } = gate;
668
+ if (requiredProp === undefined || requiredProp === null) {
669
+ return requiredPropValue === undefined &&
670
+ requiredEnumOptionValue === undefined
671
+ ? null
672
+ : `${where} declares a visibility state with no requiredProp to read it off. Name the prop that gates it, or drop both.`;
673
+ }
674
+ if (typeof requiredProp !== "string" || !requiredProp) {
675
+ return `requiredProp on ${where} must be the name of a BOOLEAN or ENUM prop on this component.`;
676
+ }
677
+ if (requiredPropValue !== undefined &&
678
+ typeof requiredPropValue !== "boolean") {
679
+ return `requiredPropValue on ${where} must be true or false (it defaults to true).`;
680
+ }
681
+ if (opts.selfPropName && requiredProp === opts.selfPropName) {
682
+ return `${where} cannot gate itself on "${requiredProp}".`;
683
+ }
684
+ const governing = component.props.find((prop) => prop.name === requiredProp);
685
+ if (!governing) {
686
+ const names = component.props.map((prop) => prop.name).join(", ");
687
+ return `requiredProp "${requiredProp}" on ${where} is not a prop of component "${component.name}". Available props: ${names || "(none)"}.`;
688
+ }
689
+ if (governing.type !== "BOOLEAN" && governing.type !== "ENUM") {
690
+ return `requiredProp "${requiredProp}" on ${where} is a ${governing.type} prop; only a BOOLEAN or ENUM prop can gate visibility.`;
691
+ }
692
+ // An ENUM gate is meaningless without the option it waits for: nothing would ever match it, so
693
+ // the node would never appear at all.
694
+ if (governing.type === "ENUM" &&
695
+ typeof requiredEnumOptionValue !== "string") {
696
+ return `requiredProp "${requiredProp}" on ${where} is an ENUM prop, so requiredEnumOptionValue must name the option value that shows it.`;
697
+ }
698
+ if (governing.type === "BOOLEAN" && requiredEnumOptionValue !== undefined) {
699
+ return `requiredEnumOptionValue on ${where} has no meaning against the BOOLEAN prop "${requiredProp}" — use requiredPropValue instead.`;
700
+ }
701
+ if (opts.group &&
702
+ governing.groupId &&
703
+ groupIdsUnder(opts.group).has(governing.groupId)) {
704
+ return `requiredProp "${requiredProp}" on ${where} sits inside that group — hiding the group would take that control with it, leaving nothing to bring it back.`;
705
+ }
706
+ // Walk the chain the governing prop hangs on. It cannot come back to this prop, and it cannot
707
+ // close on itself either — a cycle anywhere in it hides everything on it.
708
+ const byName = new Map(component.props.map((prop) => [prop.name, prop]));
709
+ const seen = new Set([requiredProp]);
710
+ let current = governing.requiredProp;
711
+ while (current) {
712
+ if (opts.selfPropName && current === opts.selfPropName) {
713
+ return `requiredProp "${requiredProp}" on ${where} depends on it in turn — the two would hide each other permanently.`;
714
+ }
715
+ if (seen.has(current)) {
716
+ return `requiredProp "${requiredProp}" on ${where} sits in a visibility cycle through "${current}" — everything on it would stay hidden.`;
717
+ }
718
+ seen.add(current);
719
+ current = byName.get(current)?.requiredProp;
720
+ }
721
+ return null;
722
+ }
445
723
  /**
446
724
  * Validate prop groups configuration for a component.
447
725
  * Returns an array of error messages (empty = valid).
448
726
  */
449
727
  export function validatePropGroups(component) {
450
728
  const errors = [];
451
- const propGroups = component.propGroups;
452
- if (!propGroups || propGroups.length === 0)
729
+ const propGroups = component.propGroups || [];
730
+ // A prop can name a visibility gate whether or not this component has groups at all, so gates are
731
+ // checked before the group walk bails out below.
732
+ for (const prop of component.props) {
733
+ const error = visibilityGateError(component, prop, `prop "${prop.name}"`, {
734
+ selfPropName: prop.name,
735
+ });
736
+ if (error)
737
+ errors.push(error);
738
+ }
739
+ for (const group of [
740
+ ...propGroups,
741
+ ...propGroups.flatMap((group) => group.children || []),
742
+ ]) {
743
+ const error = visibilityGateError(component, group, `group "${group.id}"`, {
744
+ group,
745
+ });
746
+ if (error)
747
+ errors.push(error);
748
+ }
749
+ if (propGroups.length === 0)
453
750
  return errors;
454
751
  // Collect all group IDs and check uniqueness
455
752
  const allIds = new Set();
@@ -528,7 +825,9 @@ export function movePropGroupInTree(propGroups, propGroupId, parentGroupId, inde
528
825
  const found = findPropGroup(propGroups, propGroupId);
529
826
  if (!found)
530
827
  throw new Error(`Prop group "${propGroupId}" not found`);
531
- if (parentGroupId && found.group.children && found.group.children.length > 0) {
828
+ if (parentGroupId &&
829
+ found.group.children &&
830
+ found.group.children.length > 0) {
532
831
  throw new Error(`Cannot nest "${propGroupId}": it already has child groups`);
533
832
  }
534
833
  if (parentGroupId) {
@@ -542,10 +841,10 @@ export function movePropGroupInTree(propGroups, propGroupId, parentGroupId, inde
542
841
  }
543
842
  let roots = propGroups;
544
843
  if (found.parent) {
545
- found.parent.children = (found.parent.children || []).filter(c => c.id !== propGroupId);
844
+ found.parent.children = (found.parent.children || []).filter((c) => c.id !== propGroupId);
546
845
  }
547
846
  else {
548
- roots = roots.filter(g => g.id !== propGroupId);
847
+ roots = roots.filter((g) => g.id !== propGroupId);
549
848
  }
550
849
  if (parentGroupId) {
551
850
  const target = findPropGroup(roots, parentGroupId);
@@ -553,13 +852,17 @@ export function movePropGroupInTree(propGroups, propGroupId, parentGroupId, inde
553
852
  throw new Error(`Target parent group "${parentGroupId}" not found after removal`);
554
853
  if (!target.group.children)
555
854
  target.group.children = [];
556
- const insertAt = typeof index === "number" && index >= 0 && index <= target.group.children.length
855
+ const insertAt = typeof index === "number" &&
856
+ index >= 0 &&
857
+ index <= target.group.children.length
557
858
  ? index
558
859
  : target.group.children.length;
559
860
  target.group.children.splice(insertAt, 0, found.group);
560
861
  }
561
862
  else {
562
- const insertAt = typeof index === "number" && index >= 0 && index <= roots.length ? index : roots.length;
863
+ const insertAt = typeof index === "number" && index >= 0 && index <= roots.length
864
+ ? index
865
+ : roots.length;
563
866
  roots.splice(insertAt, 0, found.group);
564
867
  }
565
868
  return roots;
@@ -1 +1 @@
1
- {"version":3,"file":"component-helpers.js","sourceRoot":"","sources":["../../src/utils/component-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-helpers.js","sourceRoot":"","sources":["../../src/utils/component-helpers.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,10 @@
7
7
  * @param resolvedPaths - Optional Set populated with absolute paths of every file inlined by this
8
8
  * call (including the entry file itself). Callers can use it to dedupe a later CSS-collection
9
9
  * pass so the same file is not appended twice.
10
+ * @param skipPaths - Optional Set of absolute paths whose content must NOT be inlined (at any
11
+ * nesting depth) because another CSS artifact already carries it — e.g. a shared sub-component's
12
+ * styles.css that the entry's chunk CSS covers. Skipped imports are replaced with a comment.
10
13
  * @returns The CSS with all @import statements replaced by the imported content
11
14
  */
12
- export declare function resolveCssImports(css: string, cssFilePath: string, resolvedPaths?: Set<string>): string;
15
+ export declare function resolveCssImports(css: string, cssFilePath: string, resolvedPaths?: Set<string>, skipPaths?: Set<string>): string;
13
16
  //# sourceMappingURL=css-import-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-import-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/css-import-resolver.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAoCvG"}
1
+ {"version":3,"file":"css-import-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/css-import-resolver.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,MAAM,CA0CR"}