@cloudgrid-io/ui 0.29.2 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +63 -0
  2. package/dist/blocks/agent-prompt.d.ts +17 -1
  3. package/dist/blocks/agent-prompt.d.ts.map +1 -1
  4. package/dist/blocks/agent-prompt.js +33 -3
  5. package/dist/blocks/agent-prompt.js.map +1 -1
  6. package/dist/blocks/cloudgrid-install.d.ts +67 -0
  7. package/dist/blocks/cloudgrid-install.d.ts.map +1 -0
  8. package/dist/blocks/cloudgrid-install.js +192 -0
  9. package/dist/blocks/cloudgrid-install.js.map +1 -0
  10. package/dist/blocks/command-field.d.ts +38 -0
  11. package/dist/blocks/command-field.d.ts.map +1 -0
  12. package/dist/blocks/command-field.js +70 -0
  13. package/dist/blocks/command-field.js.map +1 -0
  14. package/dist/blocks/drop-zone.d.ts +2 -1
  15. package/dist/blocks/drop-zone.d.ts.map +1 -1
  16. package/dist/blocks/drop-zone.js.map +1 -1
  17. package/dist/blocks/entity-card.d.ts +81 -24
  18. package/dist/blocks/entity-card.d.ts.map +1 -1
  19. package/dist/blocks/entity-card.js +235 -126
  20. package/dist/blocks/entity-card.js.map +1 -1
  21. package/dist/blocks/icons.d.ts +23 -1
  22. package/dist/blocks/icons.d.ts.map +1 -1
  23. package/dist/blocks/icons.js +23 -1
  24. package/dist/blocks/icons.js.map +1 -1
  25. package/dist/blocks/install-content.d.ts +228 -0
  26. package/dist/blocks/install-content.d.ts.map +1 -0
  27. package/dist/blocks/install-content.js +464 -0
  28. package/dist/blocks/install-content.js.map +1 -0
  29. package/dist/blocks/logo.d.ts +70 -1
  30. package/dist/blocks/logo.d.ts.map +1 -1
  31. package/dist/blocks/logo.js +75 -2
  32. package/dist/blocks/logo.js.map +1 -1
  33. package/dist/blocks/phosphor-marks.d.ts +6 -0
  34. package/dist/blocks/phosphor-marks.d.ts.map +1 -1
  35. package/dist/blocks/phosphor-marks.js +9 -0
  36. package/dist/blocks/phosphor-marks.js.map +1 -1
  37. package/dist/blocks/prompt-block.d.ts +57 -0
  38. package/dist/blocks/prompt-block.d.ts.map +1 -0
  39. package/dist/blocks/prompt-block.js +219 -0
  40. package/dist/blocks/prompt-block.js.map +1 -0
  41. package/dist/blocks/stage-panel.d.ts +19 -0
  42. package/dist/blocks/stage-panel.d.ts.map +1 -1
  43. package/dist/blocks/stage-panel.js +2 -4
  44. package/dist/blocks/stage-panel.js.map +1 -1
  45. package/dist/blocks/step-item.d.ts +21 -1
  46. package/dist/blocks/step-item.d.ts.map +1 -1
  47. package/dist/blocks/step-item.js +27 -2
  48. package/dist/blocks/step-item.js.map +1 -1
  49. package/dist/blocks/tool-logo.d.ts.map +1 -1
  50. package/dist/blocks/tool-logo.js +10 -6
  51. package/dist/blocks/tool-logo.js.map +1 -1
  52. package/dist/blocks/tool-setup.d.ts +95 -9
  53. package/dist/blocks/tool-setup.d.ts.map +1 -1
  54. package/dist/blocks/tool-setup.js +129 -49
  55. package/dist/blocks/tool-setup.js.map +1 -1
  56. package/dist/brand/mark-180.png +0 -0
  57. package/dist/brand/mark-192.png +0 -0
  58. package/dist/brand/mark-32.png +0 -0
  59. package/dist/brand/mark-512.png +0 -0
  60. package/dist/brand/mark-inverted-180.png +0 -0
  61. package/dist/brand/mark-inverted-192.png +0 -0
  62. package/dist/brand/mark-inverted-32.png +0 -0
  63. package/dist/brand/mark-inverted-512.png +0 -0
  64. package/dist/brand/mark-inverted.svg +8 -0
  65. package/dist/brand/mark.svg +7 -0
  66. package/dist/index.d.ts +4 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +4 -1
  69. package/dist/index.js.map +1 -1
  70. package/package.json +7 -2
  71. package/dist/blocks/plug-method.d.ts +0 -76
  72. package/dist/blocks/plug-method.d.ts.map +0 -1
  73. package/dist/blocks/plug-method.js +0 -30
  74. package/dist/blocks/plug-method.js.map +0 -1
@@ -0,0 +1,464 @@
1
+ /**
2
+ * THE INSTALL CONTENT. Every tool, method, step, prompt and command CloudGrid's
3
+ * install panels show, as plain data.
4
+ *
5
+ * ## The package ships content now, and that reverses a rule (#266)
6
+ *
7
+ * Founder ruling, 2026-10-05: every install panel on every surface takes its
8
+ * content AND its design from this library, and from nowhere else. The previous
9
+ * source, a separate integrations app with its own embed script and content
10
+ * feed, is discontinued. The Console's `/drop` page and onboarding step, and
11
+ * later the landing site, assemble library pieces and fetch nothing.
12
+ *
13
+ * Until this ruling the line ran the other way: "the package ships none of this
14
+ * and must not start to" (the gallery fixture this file replaces), "presentation
15
+ * only" (`ToolSetup`), "this ships no marks" (`ToolLogo`). Those notes are
16
+ * updated in the same change. `ToolSetup` is still a presentational engine that
17
+ * renders whatever it is handed; what changed is that the library now also
18
+ * holds the thing it is handed, here, and composes the two in `CloudGridInstall`.
19
+ *
20
+ * ## No React, deliberately
21
+ *
22
+ * This module imports nothing. A body's emphasis is a RUN (`{ bold }`,
23
+ * `{ code }`), a vendor mark is a NAME (a `TOOL_MARKS` key), and a glyph is a
24
+ * ROLE (`"github"`, `"download"`). `CloudGridInstall` turns those into nodes.
25
+ * That keeps the strings importable by a consumer with no React at all, which
26
+ * is the Astro site: `import { INSTALL_TOOLS } from "@cloudgrid-io/ui/install-content"`.
27
+ *
28
+ * ## Verbatim, and tested to be
29
+ *
30
+ * Every title, body, prompt line, command and link is the content snapshot of
31
+ * 2026-10-05 (content version 36), with the shared commands substituted and
32
+ * `{agent}` replaced by the tool's display name. Nothing is paraphrased, and one
33
+ * prompt keeps its em dash, which the library's own copy canon would not write:
34
+ * it is the panel's string, and changing it here would make this file disagree
35
+ * with what every surface showed until today. `test/install-content.test.mjs`
36
+ * walks the committed snapshot and asserts each string below equals it, and that
37
+ * nothing in the snapshot is missing here.
38
+ *
39
+ * Editing a string is now a library change: edit it here, update the fixture in
40
+ * the same change so the test describes what ships, bump
41
+ * `INSTALL_CONTENT_VERSION`, and release.
42
+ *
43
+ * ## The prompt grammar
44
+ *
45
+ * A step's `prompt` is a string in `PromptBlock`'s grammar: a backticked run is
46
+ * a literal (a command, a JSON blob), and a line starting with `~` is the closing
47
+ * aside to the agent, dimmed on screen. Both marks are consumed by
48
+ * `PromptBlock`; the aside's words are copied with the rest (founder ruling
49
+ * 2026-10-05), the marks themselves are not.
50
+ */
51
+ /** Which snapshot of the content this is. Bump it with any string edit. */
52
+ export const INSTALL_CONTENT_VERSION = 36;
53
+ /**
54
+ * The commands every pane shares, resolved. A command changes in one place:
55
+ * every step below reads it from here.
56
+ */
57
+ export const INSTALL_COMMANDS = {
58
+ MCP_NPX: "npx -y @cloudgrid-io/mcp",
59
+ MCP_JSON: '{ "mcpServers": { "cloudgrid": { "command": "npx", "args": ["-y", "@cloudgrid-io/mcp"] } } }',
60
+ MCP_CONNECTOR_URL: "https://mcp-connected.cloudgrid.io/mcp",
61
+ CLI_INSTALL: "npm install -g @cloudgrid-io/cli",
62
+ SKILLS_REPO: "https://github.com/cloudgrid-io/skills.git",
63
+ SKILLS_ZIP: "https://github.com/cloudgrid-io/skills/archive/refs/heads/main.zip",
64
+ };
65
+ const { MCP_NPX, MCP_JSON, MCP_CONNECTOR_URL, CLI_INSTALL, SKILLS_REPO, SKILLS_ZIP } = INSTALL_COMMANDS;
66
+ export const INSTALL_METHODS = [
67
+ { value: "mcp", label: "MCP" },
68
+ { value: "cli", label: "CLI" },
69
+ { value: "skills", label: "Skills" },
70
+ ];
71
+ export const INSTALL_GROUPS = [
72
+ { value: "code", label: "Coding agents", icon: "terminal" },
73
+ { value: "chat", label: "Chat apps", icon: "chat" },
74
+ ];
75
+ /**
76
+ * The panel's own heading. The title is a founder ruling of 2026-10-05; the sub
77
+ * is the line this library's install specimen has carried since #262.
78
+ *
79
+ * The integrations app's marketing headline ("CloudGrid MCP & CLI for any AI")
80
+ * and its wordmark and logo row are NOT here. They were a marketing page's hero,
81
+ * the library rejected them in #262, and the Console removed them in #758.
82
+ */
83
+ export const INSTALL_HEADING = {
84
+ title: "Plug CloudGrid into your AI tool",
85
+ sub: "Pick how you want to connect, then the tool you work in",
86
+ };
87
+ /** The "Not sure?" line under the panel: one command an agent can act on. */
88
+ export const INSTALL_FETCH_PROMPT = {
89
+ intro: "Not sure? Copy this prompt and paste it to your AI agent.",
90
+ command: "fetch https://cloudgrid.io/agents to plug",
91
+ };
92
+ /** The source line under the panel. */
93
+ export const INSTALL_FOOTER = {
94
+ note: "Every method here connects to the same CloudGrid.",
95
+ links: [
96
+ { label: "Plugin & skills", href: "https://github.com/cloudgrid-io/skills", icon: "github" },
97
+ { label: "MCP server", href: "https://github.com/cloudgrid-io/mcp", icon: "github" },
98
+ ],
99
+ };
100
+ // ---- shared steps --------------------------------------------------------
101
+ //
102
+ // Helpers only where the snapshot itself repeats a string word for word across
103
+ // tools. Each one takes exactly the parts that differ.
104
+ /** The CLI pane's prompt. Only step 3 (and Claude Code's step 4) differ by tool. */
105
+ const cliPrompt = (skillsSteps) => [
106
+ "Set up CloudGrid for me so I can build and plug apps from here.",
107
+ `1. Install the CLI: run \`${CLI_INSTALL}\`.`,
108
+ "2. Authenticate: run `grid login` and complete the sign-in in the browser it opens.",
109
+ skillsSteps,
110
+ "~Once that's done, let me know when it's ready.",
111
+ ].join("\n");
112
+ const cliRecommended = (agent, skillsSteps) => ({
113
+ label: "Recommended",
114
+ title: `Copy and send this to ${agent}`,
115
+ body: ["It sets up the CLI and the skills together, the pair we recommend."],
116
+ prompt: cliPrompt(skillsSteps),
117
+ });
118
+ /** The `Or` column of every CLI pane: the same for every tool. */
119
+ const cliManual = {
120
+ label: "Or",
121
+ title: "Do it yourself",
122
+ body: ["Paste this in your terminal, then ", { code: "grid login" }, " to sign in."],
123
+ code: CLI_INSTALL,
124
+ };
125
+ /** The one-prompt skills pane the four `npx skills` tools share. */
126
+ const skillsRecommended = (agent, skillsAgent) => ({
127
+ label: "Recommended",
128
+ title: `Copy and send this to ${agent}`,
129
+ body: ["One prompt. It installs the skills for you."],
130
+ prompt: [
131
+ `Run this command to install the CloudGrid skills: \`npx skills add cloudgrid-io/skills -g -a ${skillsAgent}\`.`,
132
+ "~Show me what was installed when it's done.",
133
+ ].join("\n"),
134
+ });
135
+ /** The `Or` column of every skills pane: clone the repo, or take the zip. */
136
+ const skillsManual = (agent, folder) => ({
137
+ label: "Or",
138
+ title: "Clone or download",
139
+ body: [
140
+ "Drop every folder containing a SKILL.md into ",
141
+ { bold: folder },
142
+ `, then restart ${agent}.`,
143
+ ],
144
+ code: `git clone ${SKILLS_REPO}`,
145
+ link: { label: "Download skills", href: SKILLS_ZIP, icon: "download", primary: true },
146
+ });
147
+ const mcpTellMe = "~Tell me when CloudGrid is connected, then ask me what to build.";
148
+ /**
149
+ * The seven tools, in the snapshot's order: five coding agents, then the two
150
+ * chat apps. The chat apps are MCP only, because there is no terminal to run a
151
+ * CLI in and nowhere to put skill files.
152
+ */
153
+ export const INSTALL_TOOLS = [
154
+ {
155
+ value: "claude-code",
156
+ label: "Claude Code",
157
+ mark: "Claude Code",
158
+ group: "code",
159
+ steps: {
160
+ mcp: [
161
+ {
162
+ label: "Easiest",
163
+ title: "Copy and send this to Claude Code",
164
+ body: ["Claude Code can install it for you. Nothing to type in the terminal."],
165
+ prompt: [
166
+ "Install the CloudGrid MCP server for me.",
167
+ "Add an MCP server called cloudgrid that runs this command:",
168
+ `\`${MCP_NPX}\``,
169
+ "Then restart yourself so it loads.",
170
+ mcpTellMe,
171
+ ].join("\n"),
172
+ },
173
+ {
174
+ label: "Or",
175
+ title: "Do it yourself",
176
+ body: [
177
+ "Add an MCP server in Claude Code and paste this as the command. If your terminal knows the ",
178
+ { bold: "claude" },
179
+ " command, ",
180
+ { bold: `claude mcp add cloudgrid -- ${MCP_NPX}` },
181
+ " does the same.",
182
+ ],
183
+ code: MCP_NPX,
184
+ },
185
+ ],
186
+ cli: [
187
+ cliRecommended("Claude Code", [
188
+ "3. Install the companion skills: run `claude plugin marketplace add cloudgrid-io/skills`, then `claude plugin install cloudgrid@cloudgrid-skills`.",
189
+ `4. If the \`claude\` command isn't available, clone ${SKILLS_REPO} to a temp folder instead, copy every folder containing a SKILL.md into ~/.claude/skills/, and clean up.`,
190
+ ].join("\n")),
191
+ cliManual,
192
+ ],
193
+ skills: [
194
+ {
195
+ label: "Recommended",
196
+ title: "Copy and send this to Claude Code",
197
+ body: ["It installs the skills, with a fallback if the plugin route isn't available."],
198
+ prompt: [
199
+ "Install the CloudGrid skills for Claude Code:",
200
+ "1. Run `claude plugin marketplace add cloudgrid-io/skills`, then `claude plugin install cloudgrid@cloudgrid-skills`.",
201
+ `2. If the \`claude\` command isn't available, clone ${SKILLS_REPO} to a temp folder instead, copy every folder containing a SKILL.md into ~/.claude/skills/, and clean up.`,
202
+ // The em dash is the snapshot's. Verbatim beats the copy canon here;
203
+ // see the module docblock.
204
+ "3. Show me what was installed, then remind me to start a NEW conversation — skills only load when a session starts.",
205
+ ].join("\n"),
206
+ },
207
+ skillsManual("Claude Code", "~/.claude/skills"),
208
+ ],
209
+ },
210
+ },
211
+ {
212
+ value: "cursor",
213
+ label: "Cursor",
214
+ mark: "Cursor",
215
+ group: "code",
216
+ steps: {
217
+ mcp: [
218
+ {
219
+ label: "Easiest",
220
+ title: "Copy and send this to Cursor",
221
+ body: ["Cursor can install it for you. No settings to open."],
222
+ prompt: [
223
+ "Install the CloudGrid MCP server for me.",
224
+ "Add this to my MCP config, keeping anything already in there:",
225
+ `\`${MCP_JSON}\``,
226
+ "Then reload the MCP servers.",
227
+ mcpTellMe,
228
+ ].join("\n"),
229
+ },
230
+ {
231
+ label: "Or",
232
+ title: "Do it yourself",
233
+ body: ["Click ", { bold: "Settings → MCP → Add new server" }, ", paste this in, then save."],
234
+ code: MCP_JSON,
235
+ },
236
+ ],
237
+ cli: [
238
+ cliRecommended("Cursor", "3. Install the companion skills: run `npx skills add cloudgrid-io/skills -g -a cursor`."),
239
+ cliManual,
240
+ ],
241
+ skills: [skillsRecommended("Cursor", "cursor"), skillsManual("Cursor", "~/.cursor/skills")],
242
+ },
243
+ },
244
+ {
245
+ value: "codex",
246
+ label: "Codex",
247
+ mark: "Codex",
248
+ group: "code",
249
+ steps: {
250
+ mcp: [
251
+ {
252
+ label: "Easiest",
253
+ title: "Copy and send this to Codex",
254
+ body: ["Codex can install it for you. Nothing to type in the terminal."],
255
+ prompt: [
256
+ "Install the CloudGrid MCP server for me.",
257
+ "Run this for me:",
258
+ `\`codex mcp add cloudgrid -- ${MCP_NPX}\``,
259
+ mcpTellMe,
260
+ ].join("\n"),
261
+ },
262
+ {
263
+ label: "Or",
264
+ title: "Do it yourself",
265
+ body: ["Paste this in your terminal. Codex saves it for you."],
266
+ code: `codex mcp add cloudgrid -- ${MCP_NPX}`,
267
+ },
268
+ ],
269
+ cli: [
270
+ cliRecommended("Codex", "3. Install the companion skills: run `npx skills add cloudgrid-io/skills -g -a codex`."),
271
+ cliManual,
272
+ ],
273
+ skills: [skillsRecommended("Codex", "codex"), skillsManual("Codex", "~/.codex/skills")],
274
+ },
275
+ },
276
+ {
277
+ value: "antigravity",
278
+ label: "Antigravity",
279
+ mark: "Antigravity",
280
+ group: "code",
281
+ steps: {
282
+ mcp: [
283
+ {
284
+ label: "Easiest",
285
+ title: "Copy and send this to Antigravity",
286
+ body: ["Antigravity can install it for you. No settings to open."],
287
+ prompt: [
288
+ "Install the CloudGrid MCP server for me.",
289
+ "Add this to my mcp_config.json, keeping anything already in there:",
290
+ `\`${MCP_JSON}\``,
291
+ "Then refresh the MCP servers.",
292
+ mcpTellMe,
293
+ ].join("\n"),
294
+ },
295
+ {
296
+ label: "Or",
297
+ title: "Do it yourself",
298
+ body: [
299
+ "Click ",
300
+ { bold: "Settings → Customizations → Open MCP Config" },
301
+ ", paste this in, then hit Refresh.",
302
+ ],
303
+ code: MCP_JSON,
304
+ },
305
+ ],
306
+ cli: [
307
+ cliRecommended("Antigravity", "3. Install the companion skills: run `npx skills add cloudgrid-io/skills -g -a antigravity`."),
308
+ cliManual,
309
+ ],
310
+ skills: [
311
+ skillsRecommended("Antigravity", "antigravity"),
312
+ skillsManual("Antigravity", "~/.gemini/antigravity/skills"),
313
+ ],
314
+ },
315
+ },
316
+ {
317
+ value: "gemini",
318
+ label: "Gemini CLI",
319
+ mark: "Google Gemini",
320
+ group: "code",
321
+ steps: {
322
+ mcp: [
323
+ {
324
+ label: "Easiest",
325
+ title: "Copy and send this to Gemini CLI",
326
+ body: ["Gemini can install it for you. Nothing to type in the terminal."],
327
+ prompt: [
328
+ "Install the CloudGrid MCP server for me.",
329
+ "Run this for me:",
330
+ `\`gemini mcp add cloudgrid ${MCP_NPX}\``,
331
+ mcpTellMe,
332
+ ].join("\n"),
333
+ },
334
+ {
335
+ label: "Or",
336
+ title: "Do it yourself",
337
+ body: ["Paste this in your terminal. Gemini saves it for you."],
338
+ code: `gemini mcp add cloudgrid ${MCP_NPX}`,
339
+ },
340
+ ],
341
+ cli: [
342
+ // `gemini-cli` is the skills installer's agent name, not this tool's
343
+ // value. The value is `gemini`.
344
+ cliRecommended("Gemini CLI", "3. Install the companion skills: run `npx skills add cloudgrid-io/skills -g -a gemini-cli`."),
345
+ cliManual,
346
+ ],
347
+ skills: [
348
+ skillsRecommended("Gemini CLI", "gemini-cli"),
349
+ skillsManual("Gemini CLI", "~/.gemini/skills"),
350
+ ],
351
+ },
352
+ },
353
+ {
354
+ value: "chatgpt",
355
+ label: "ChatGPT",
356
+ mark: "ChatGPT",
357
+ group: "chat",
358
+ steps: {
359
+ mcp: [
360
+ {
361
+ title: "Turn on Developer Mode",
362
+ body: [
363
+ "Click ",
364
+ { bold: "Settings → Apps and Connectors → Advanced" },
365
+ ". Needs a paid plan.",
366
+ ],
367
+ },
368
+ {
369
+ title: "Paste this link in",
370
+ body: ["Click ", { bold: "Connectors → Create" }, ", paste it, then sign in."],
371
+ code: MCP_CONNECTOR_URL,
372
+ },
373
+ ],
374
+ },
375
+ },
376
+ {
377
+ value: "claude-web",
378
+ label: "Claude",
379
+ mark: "Claude",
380
+ group: "chat",
381
+ steps: {
382
+ mcp: [
383
+ {
384
+ title: "Open your connectors",
385
+ body: ["Click ", { bold: "Customize → Connectors → Add custom connector" }, "."],
386
+ link: {
387
+ label: "Take me there",
388
+ href: "https://claude.ai/settings/connectors",
389
+ icon: "external",
390
+ },
391
+ },
392
+ {
393
+ title: "Paste this link in",
394
+ body: ["Sign in when it asks, so your work is saved to you."],
395
+ code: MCP_CONNECTOR_URL,
396
+ },
397
+ ],
398
+ },
399
+ },
400
+ ];
401
+ const ALL_TOOLS = INSTALL_TOOLS.map((t) => t.value);
402
+ const ALL_METHODS = INSTALL_METHODS.map((m) => m.value);
403
+ const CODING_AGENTS = INSTALL_TOOLS.filter((t) => t.group === "code").map((t) => t.value);
404
+ const CHAT_APPS = INSTALL_TOOLS.filter((t) => t.group === "chat").map((t) => t.value);
405
+ /** Everything, which is also what `CloudGridInstall` renders with no props. */
406
+ const EVERYTHING = {
407
+ tools: ALL_TOOLS,
408
+ methods: ALL_METHODS,
409
+ defaultTool: "claude-code",
410
+ defaultMethod: "mcp",
411
+ showFetchPrompt: true,
412
+ showFooter: true,
413
+ };
414
+ /**
415
+ * The named configurations, one per former panel block. The block each one
416
+ * replaces is named beside it so a surface migrating off the old embed can find
417
+ * its own.
418
+ */
419
+ export const INSTALL_PRESETS = {
420
+ /** Block `integrations-hub`, which the old panel titled "Onboarding". The full panel. */
421
+ hub: EVERYTHING,
422
+ /** The Console's onboarding install step. It read `integrations-hub`, so it is `hub`. */
423
+ onboarding: EVERYTHING,
424
+ /** Block `console-new`: the Console's `/drop` page. The same seven tools, every method. */
425
+ console: EVERYTHING,
426
+ /** Block `make-game`: every tool and method, fetch prompt and footer. */
427
+ makeGame: EVERYTHING,
428
+ /** Block `make-app-agent`: the five coding agents only. */
429
+ makeAppAgent: { ...EVERYTHING, tools: CODING_AGENTS },
430
+ /** Block `make-deck-page`: the two chat apps, MCP only, no footer. */
431
+ makeDeckPage: {
432
+ tools: CHAT_APPS,
433
+ methods: ["mcp"],
434
+ defaultTool: "chatgpt",
435
+ defaultMethod: "mcp",
436
+ showFetchPrompt: true,
437
+ showFooter: false,
438
+ },
439
+ };
440
+ /**
441
+ * A single tool's panel: blocks `install-claude-code`, `install-cursor`,
442
+ * `install-codex`, `install-antigravity`, `install-gemini`, `install-chatgpt`
443
+ * and `install-claude` (whose tool is `claude-web`).
444
+ *
445
+ * The methods are the ones the tool has steps for, so ChatGPT and Claude get MCP
446
+ * alone, and a single method draws no method control. No fetch prompt and no
447
+ * footer: the old single-tool blocks had neither.
448
+ *
449
+ * The fetch-prompt block, the thirteenth, is not a panel at all. It is
450
+ * `CloudGridFetchPrompt` with `showIntro={false}`.
451
+ */
452
+ export function installToolPreset(tool) {
453
+ const entry = INSTALL_TOOLS.find((t) => t.value === tool);
454
+ const methods = ALL_METHODS.filter((m) => (entry?.steps[m]?.length ?? 0) > 0);
455
+ return {
456
+ tools: [tool],
457
+ methods,
458
+ defaultTool: tool,
459
+ defaultMethod: methods[0],
460
+ showFetchPrompt: false,
461
+ showFooter: false,
462
+ };
463
+ }
464
+ //# sourceMappingURL=install-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-content.js","sourceRoot":"","sources":["../../src/blocks/install-content.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,17 @@
1
+ /**
2
+ * THE SOCKET GLYPH: the "o" of the wordmark, drawn as a three-pin socket face.
3
+ *
4
+ * One string, and the only copy of it in this repo. `Logo` draws it as the
5
+ * wordmark's sixth letter and `LogoMark` draws it alone inside a rounded square
6
+ * (#267), so the sign and the wordmark can never disagree about its shape. The
7
+ * favicon files under `src/brand/` are generated FROM this constant by
8
+ * `scripts/generate-brand-mark.mjs`, which reads it out of this file; keep it a
9
+ * single plain string literal on one line, or the generator cannot find it.
10
+ *
11
+ * VERBATIM from the brand asset, like every path in `Logo`. Never redraw it and
12
+ * never hand-edit it: if the glyph changes, replace it from the source SVG.
13
+ */
14
+ declare const SOCKET_GLYPH_PATH = "M73.507 15.918C79.2174 15.918 83.9637 17.7685 87.6718 21.3962C91.4541 25.0239 93.3088 29.6883 93.3088 35.4631C93.3088 41.2378 91.454 45.9761 87.6718 49.6038C85.0356 52.1829 81.8742 53.8602 78.215 54.6154C77.054 54.855 76.0252 53.9204 76.0252 52.7349V47.5482C76.0252 46.6336 76.6575 45.8569 77.493 45.4848C81.0368 43.9067 83.2962 40.1577 83.2962 35.4872C83.2962 34.0556 83.0947 32.7167 82.7167 31.5015C82.5932 31.1043 82.2168 30.8479 81.8008 30.8479H80.8927V27.1501C80.8923 25.785 79.7842 24.6784 78.4167 24.6783C77.0492 24.6783 75.941 25.785 75.9407 27.1501V30.8479H71.3901V27.1501C71.3897 25.785 70.2801 24.6783 68.9126 24.6783C67.5454 24.6787 66.4369 25.7852 66.4366 27.1501V30.8479H65.2899C64.88 30.8479 64.5075 31.0968 64.381 31.4867C63.9866 32.7028 63.7916 34.0384 63.7916 35.4872C63.7916 38.5967 64.6821 41.188 66.5362 43.261C67.4434 44.239 68.4572 44.9856 69.5949 45.4935C70.4337 45.868 71.0717 46.6457 71.0717 47.5643V52.7493C71.0717 53.9323 70.0469 54.8663 68.8877 54.6302C65.2186 53.8826 62.07 52.2003 59.416 49.6038C55.708 45.9761 53.8545 41.2377 53.8545 35.4631C53.8545 29.6884 55.708 25.0239 59.416 21.3962C63.1241 17.7685 67.7966 15.918 73.507 15.918Z";
1
15
  /**
2
16
  * The CloudGrid wordmark.
3
17
  *
@@ -20,5 +34,60 @@ declare function Logo({ height, label, className, ...props }: Omit<React.Compone
20
34
  /** Accessible name. Set to "" when an adjacent text label already names it. */
21
35
  label?: string;
22
36
  }): import("react").JSX.Element;
23
- export { Logo };
37
+ /**
38
+ * The two colourways of the sign. Each entry is a fill utility over a token.
39
+ *
40
+ * `brand` is the landing site's favicon: a purple square with the glyph in
41
+ * white. `inverted` is the Console's tab icon (#267, founder 2026-10-05): a
42
+ * white square with the glyph in purple.
43
+ *
44
+ * Both read `--cg-primary` and `--cg-text-on-primary`, the brand fill and the
45
+ * colour that sits on it. Neither is redeclared on the panel or ink surfaces,
46
+ * so the sign is the same picture everywhere — which is right for a brand mark,
47
+ * and the identity tile's rule: a picture does not flip.
48
+ *
49
+ * `inverted` also carries an EDGE, `--cg-border-control` (`stroke-line`): the
50
+ * brand's control border, the darkest of its light borders and the one drawn to
51
+ * read on a white page. The brand variant has none; a purple tile has its own
52
+ * edge. Unlike the two fills, the border tokens ARE redeclared per surface, so
53
+ * the svg declares `data-theme="default"` (see `LogoMark`) to keep the edge the
54
+ * same value everywhere, matching the generated file.
55
+ */
56
+ declare const MARK_TONE: {
57
+ readonly brand: {
58
+ readonly square: "fill-brand";
59
+ readonly glyph: "fill-on-primary";
60
+ readonly edge: null;
61
+ };
62
+ readonly inverted: {
63
+ readonly square: "fill-on-primary";
64
+ readonly glyph: "fill-brand";
65
+ readonly edge: "stroke-line";
66
+ };
67
+ };
68
+ type LogoMarkTone = keyof typeof MARK_TONE;
69
+ /**
70
+ * The CloudGrid sign: the wordmark's socket glyph alone in a rounded square.
71
+ *
72
+ * The same artwork as the favicon files this package ships under
73
+ * `@cloudgrid-io/ui/brand/*`, drawn from the same constant (`SOCKET_GLYPH_PATH`)
74
+ * that `Logo` draws its "o" from. Use the component inside a page; use the files
75
+ * where a URL is needed — a `<link rel="icon">`, a manifest, an og image.
76
+ *
77
+ * `tone` picks the colourway. `brand` (the default) is purple with a white
78
+ * glyph; `inverted` is white with a purple glyph, which is what the Console's
79
+ * browser tab wears. The inverted square carries a hairline edge inside its
80
+ * box (`MARK_EDGE_WIDTH`), so the white tile still reads as a tile on a white
81
+ * browser tab — founder ruling on review of #267.
82
+ */
83
+ declare function LogoMark({ size, tone, label, className, ...props }: Omit<React.ComponentProps<"svg">, "ref"> & {
84
+ /** Rendered width and height in px. The sign is square. */
85
+ size?: number;
86
+ /** `brand`: purple square, white glyph. `inverted`: white square, purple glyph. */
87
+ tone?: LogoMarkTone;
88
+ /** Accessible name. Set to "" when an adjacent text label already names it. */
89
+ label?: string;
90
+ }): import("react").JSX.Element;
91
+ export { Logo, LogoMark, SOCKET_GLYPH_PATH };
92
+ export type { LogoMarkTone };
24
93
  //# sourceMappingURL=logo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/blocks/logo.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,IAAI,CAAC,EACZ,MAAW,EACX,KAAmB,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG;IAC5C,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,+BAqCA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"logo.d.ts","sourceRoot":"","sources":["../../src/blocks/logo.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,iBAAiB,kpCAAkpC,CAAA;AAsBzqC;;;;;;;;;;;;;;;GAeG;AACH,iBAAS,IAAI,CAAC,EACZ,MAAW,EACX,KAAmB,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG;IAC5C,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,+BAsCA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,SAAS;;;;;;;;;;;CAGL,CAAA;AAEV,KAAK,YAAY,GAAG,MAAM,OAAO,SAAS,CAAA;AAE1C;;;;;;;;;;;;;GAaG;AACH,iBAAS,QAAQ,CAAC,EAChB,IAAS,EACT,IAAc,EACd,KAAmB,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG;IAC5C,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,+BAwCA;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAA;AAC5C,YAAY,EAAE,YAAY,EAAE,CAAA"}