@astryxdesign/cli 0.7.12 → 0.7.13-canary.a5ad1f2

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 (82) hide show
  1. package/api/doctor/_adapter.d.mts +17 -0
  2. package/api/doctor/_adapter.mjs +40 -0
  3. package/api/doctor/doctor.d.mts +34 -4
  4. package/api/doctor/doctor.mjs +108 -21
  5. package/api/icon/_adapter.d.mts +6 -3
  6. package/api/icon/_adapter.mjs +11 -3
  7. package/api/icon/icon.type.d.mts +22 -1
  8. package/api/icon/icon.type.mjs +12 -4
  9. package/api/icon/iconUse.doc.mjs +27 -7
  10. package/api/icon/list/list.mjs +29 -3
  11. package/api/icon/use/use.d.mts +7 -3
  12. package/api/icon/use/use.mjs +68 -18
  13. package/api/integration/validate-integration.d.mts +4 -0
  14. package/api/integration/validate-integration.mjs +32 -2
  15. package/api/integration/validate-integration.type.d.mts +15 -0
  16. package/api/integration/validate-integration.type.mjs +6 -1
  17. package/api/template/copy/copy.mjs +4 -2
  18. package/api/template/template.type.d.mts +42 -4
  19. package/api/template/template.type.mjs +9 -6
  20. package/assets/discover/official-packages.json +4 -0
  21. package/assets/docs/tree/icon-sets.doc.mjs +91 -7
  22. package/assets/icons/definitions/alignBottom.doc.mjs +9 -0
  23. package/assets/icons/definitions/alignJustify.doc.mjs +9 -0
  24. package/assets/icons/definitions/alignMiddle.doc.mjs +9 -0
  25. package/assets/icons/definitions/alignTop.doc.mjs +9 -0
  26. package/assets/icons/definitions/angle.doc.mjs +9 -0
  27. package/assets/icons/definitions/cloud.doc.mjs +9 -0
  28. package/assets/icons/definitions/collection.doc.mjs +9 -0
  29. package/assets/icons/definitions/contrast.doc.mjs +9 -0
  30. package/assets/icons/definitions/cornerRadius.doc.mjs +9 -0
  31. package/assets/icons/definitions/cut.doc.mjs +9 -0
  32. package/assets/icons/definitions/fingerprint.doc.mjs +9 -0
  33. package/assets/icons/definitions/fire.doc.mjs +9 -0
  34. package/assets/icons/definitions/frame.doc.mjs +9 -0
  35. package/assets/icons/definitions/gift.doc.mjs +9 -0
  36. package/assets/icons/definitions/group.doc.mjs +9 -0
  37. package/assets/icons/definitions/integration.doc.mjs +9 -0
  38. package/assets/icons/definitions/lowercase.doc.mjs +9 -0
  39. package/assets/icons/definitions/paddingHorizontal.doc.mjs +9 -0
  40. package/assets/icons/definitions/paddingPerSide.doc.mjs +9 -0
  41. package/assets/icons/definitions/paddingVertical.doc.mjs +9 -0
  42. package/assets/icons/definitions/panelBottom.doc.mjs +9 -0
  43. package/assets/icons/definitions/photoEffect.doc.mjs +9 -0
  44. package/assets/icons/definitions/radiusPerCorner.doc.mjs +9 -0
  45. package/assets/icons/definitions/rotateCounterclockwise.doc.mjs +9 -0
  46. package/assets/icons/definitions/tablet.doc.mjs +9 -0
  47. package/assets/icons/definitions/text.doc.mjs +9 -0
  48. package/assets/icons/definitions/textRegular.doc.mjs +9 -0
  49. package/assets/icons/definitions/transfer.doc.mjs +9 -0
  50. package/assets/icons/definitions/uppercase.doc.mjs +9 -0
  51. package/assets/icons/definitions/userRemove.doc.mjs +9 -0
  52. package/assets/templates/blocks/components/BaseTypeahead/BaseTypeaheadMenu.doc.mjs +23 -0
  53. package/assets/templates/blocks/components/BaseTypeahead/BaseTypeaheadMenu.tsx +199 -0
  54. package/assets/templates/blocks/components/ButtonGroup/ButtonGroupShowcase.doc.mjs +1 -0
  55. package/assets/templates/blocks/components/ChatSystemMessage/ChatSystemMessageStatusUpdates.doc.mjs +7 -2
  56. package/assets/templates/pages/canvas-editor/template.doc.mjs +20 -0
  57. package/assets/templates/pages/editor/template.doc.mjs +1 -0
  58. package/assets/templates/pages/form-wizard-vertical/template.doc.mjs +1 -0
  59. package/assets/templates/pages/settings-dialog/template.doc.mjs +4 -0
  60. package/assets/templates/pages/shell-top-nav/template.doc.mjs +3 -0
  61. package/assets/templates/pages/table-collapsible/template.doc.mjs +1 -0
  62. package/assets/templates/pages/table-comparison/template.doc.mjs +1 -0
  63. package/authoring/config/config.doc.mjs +4 -4
  64. package/authoring/config/parse.d.mts +1 -1
  65. package/authoring/config/parse.mjs +3 -1
  66. package/authoring/config/type.ts +7 -5
  67. package/authoring/doctypes/template/template.doc.mjs +1 -1
  68. package/authoring/doctypes/template/type.ts +5 -3
  69. package/clients/cli/commands/experimental/icon.mjs +38 -9
  70. package/clients/cli/commands/experimental-icon-use.doc.mjs +9 -4
  71. package/clients/cli/commands/template.mjs +12 -3
  72. package/foundation/config/config-writer.d.mts +14 -0
  73. package/foundation/config/config-writer.mjs +73 -17
  74. package/foundation/discovery/icon-set-discovery.d.mts +77 -7
  75. package/foundation/discovery/icon-set-discovery.mjs +128 -42
  76. package/foundation/discovery/template-icon-notes.d.mts +46 -0
  77. package/foundation/discovery/template-icon-notes.mjs +94 -16
  78. package/foundation/discovery/template-icons.d.mts +247 -0
  79. package/foundation/discovery/template-icons.mjs +591 -37
  80. package/foundation/integrations/cli-requirement.d.mts +13 -4
  81. package/foundation/integrations/cli-requirement.mjs +18 -6
  82. package/package.json +6 -6
@@ -128,13 +128,17 @@ export function templateIconsCliProblem(pkg: any): string | null;
128
128
  * Why an app project whose astryx.config sets `experimental.iconSet` would be
129
129
  * refused by a CLI it may run, or null when the `@astryxdesign/cli` range it
130
130
  * declares (in dependencies, devDependencies, optionalDependencies, or
131
- * peerDependencies) admits only CLIs that read the key. A project that
132
- * declares no range, or one that is not a version range (`workspace:`,
133
- * `file:`, `link:`), gets null: nothing says which CLI it runs.
131
+ * peerDependencies) admits only CLIs that read the key. A list value needs a
132
+ * later release than a string. A project that declares no range, or one that
133
+ * is not a version range (`workspace:`, `file:`, `link:`), gets null: nothing
134
+ * says which CLI it runs.
134
135
  * @param {any} pkg the project's package.json
136
+ * @param {{list?: boolean}} [options] `list`: the value is a list
135
137
  * @returns {string | null}
136
138
  */
137
- export function projectIconSetCliWarning(pkg: any): string | null;
139
+ export function projectIconSetCliWarning(pkg: any, { list }?: {
140
+ list?: boolean;
141
+ }): string | null;
138
142
  export const CLI_PACKAGE: "@astryxdesign/cli";
139
143
  /**
140
144
  * The first stable CLI release that reads an integration's docs tree:
@@ -224,3 +228,8 @@ export const DOC_TOKENS_CLI: "0.7.4";
224
228
  * Tied to the next patch slot, with {@link STABILITY_CLI}.
225
229
  */
226
230
  export const CONFIG_ICON_SET_CLI: "0.7.4";
231
+ /**
232
+ * The first stable CLI release that reads `experimental.iconSet` written as
233
+ * a list (a main set and backups). Earlier releases refuse the list form.
234
+ */
235
+ export const CONFIG_ICON_SET_LIST_CLI: "0.7.12";
@@ -404,17 +404,25 @@ export function templateIconsCliProblem(pkg) {
404
404
  */
405
405
  export const CONFIG_ICON_SET_CLI = '0.7.4';
406
406
 
407
+ /**
408
+ * The first stable CLI release that reads `experimental.iconSet` written as
409
+ * a list (a main set and backups). Earlier releases refuse the list form.
410
+ */
411
+ export const CONFIG_ICON_SET_LIST_CLI = '0.7.12';
412
+
407
413
  /**
408
414
  * Why an app project whose astryx.config sets `experimental.iconSet` would be
409
415
  * refused by a CLI it may run, or null when the `@astryxdesign/cli` range it
410
416
  * declares (in dependencies, devDependencies, optionalDependencies, or
411
- * peerDependencies) admits only CLIs that read the key. A project that
412
- * declares no range, or one that is not a version range (`workspace:`,
413
- * `file:`, `link:`), gets null: nothing says which CLI it runs.
417
+ * peerDependencies) admits only CLIs that read the key. A list value needs a
418
+ * later release than a string. A project that declares no range, or one that
419
+ * is not a version range (`workspace:`, `file:`, `link:`), gets null: nothing
420
+ * says which CLI it runs.
414
421
  * @param {any} pkg the project's package.json
422
+ * @param {{list?: boolean}} [options] `list`: the value is a list
415
423
  * @returns {string | null}
416
424
  */
417
- export function projectIconSetCliWarning(pkg) {
425
+ export function projectIconSetCliWarning(pkg, {list = false} = {}) {
418
426
  const field = [
419
427
  'dependencies',
420
428
  'devDependencies',
@@ -424,9 +432,13 @@ export function projectIconSetCliWarning(pkg) {
424
432
  if (!field) return null;
425
433
  const range = pkg[field][CLI_PACKAGE];
426
434
  if (range.includes(':')) return null;
435
+ const needed = list ? CONFIG_ICON_SET_LIST_CLI : CONFIG_ICON_SET_CLI;
427
436
  const lowest = lowestAdmitted(range);
428
- if (lowest != null && semverCompare(lowest, CONFIG_ICON_SET_CLI) >= 0) {
437
+ if (lowest != null && semverCompare(lowest, needed) >= 0) {
429
438
  return null;
430
439
  }
431
- return `The project's ${CLI_PACKAGE} range "${range}" (${field}) admits a release before ${CONFIG_ICON_SET_CLI}, which refuses an astryx.config that sets \`experimental.iconSet\` ("Unrecognized key"), so commands that load the project configuration, such as \`doctor\` and \`discover\`, fail there. Require "${CLI_PACKAGE}": ">=${CONFIG_ICON_SET_CLI}".`;
440
+ if (list) {
441
+ return `The project's ${CLI_PACKAGE} range "${range}" (${field}) admits a release before ${needed}, which refuses \`experimental.iconSet\` written as a list, so commands that load the project configuration, such as \`doctor\` and \`discover\`, fail there. Require "${CLI_PACKAGE}": ">=${needed}".`;
442
+ }
443
+ return `The project's ${CLI_PACKAGE} range "${range}" (${field}) admits a release before ${needed}, which refuses an astryx.config that sets \`experimental.iconSet\` ("Unrecognized key"), so commands that load the project configuration, such as \`doctor\` and \`discover\`, fail there. Require "${CLI_PACKAGE}": ">=${needed}".`;
432
444
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/cli",
3
- "version": "0.7.12",
3
+ "version": "0.7.13-canary.a5ad1f2",
4
4
  "displayName": "CLI",
5
5
  "description": "Scaffold projects, browse templates, generate themes, and get agent-ready docs from the command line.",
6
6
  "author": "Meta Open Source",
@@ -125,7 +125,7 @@
125
125
  "zod": "^4.4.3"
126
126
  },
127
127
  "peerDependencies": {
128
- "@astryxdesign/core": "*"
128
+ "@astryxdesign/core": "0.7.13-canary.a5ad1f2"
129
129
  },
130
130
  "peerDependenciesMeta": {
131
131
  "@astryxdesign/core": {
@@ -133,10 +133,10 @@
133
133
  }
134
134
  },
135
135
  "devDependencies": {
136
- "@astryxdesign/charts": "*",
137
- "@astryxdesign/core": "*",
138
- "@astryxdesign/lab": "*",
139
- "@astryxdesign/theme-neutral": "*",
136
+ "@astryxdesign/charts": "0.7.13-canary.a5ad1f2",
137
+ "@astryxdesign/core": "0.7.13-canary.a5ad1f2",
138
+ "@astryxdesign/lab": "0.7.13-canary.a5ad1f2",
139
+ "@astryxdesign/theme-neutral": "0.7.13-canary.a5ad1f2",
140
140
  "@heroicons/react": "^2.2.0",
141
141
  "@stylexjs/stylex": "^0.19.0",
142
142
  "@types/babel__core": "^7.20.5",