@nucleux/mcp 0.1.0 → 0.2.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 (3) hide show
  1. package/README.md +50 -4
  2. package/dist/index.js +2201 -88
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { z } from "zod";
8
8
  // src/catalog.json
9
9
  var catalog_default = {
10
10
  library: "@nucleux/react",
11
- version: "0.1.4",
11
+ version: "0.2.0",
12
12
  generatedFrom: "packages/* (do not edit \u2014 run scripts/gen-mcp-catalog.mjs)",
13
13
  setup: {
14
14
  installFull: "pnpm add @nucleux/react @nucleux/tokens",
@@ -21,8 +21,8 @@ var catalog_default = {
21
21
  note: "Every component is also re-exported from the @nucleux/react umbrella."
22
22
  },
23
23
  counts: {
24
- components: 48,
25
- packages: 52,
24
+ components: 99,
25
+ packages: 103,
26
26
  examples: 6
27
27
  },
28
28
  packages: [
@@ -74,6 +74,88 @@ var catalog_default = {
74
74
  "react-dom": ">=18"
75
75
  }
76
76
  },
77
+ {
78
+ name: "action-confirmation",
79
+ package: "@nucleux/action-confirmation",
80
+ kind: "component",
81
+ description: 'A guardrail shown before an agent performs a consequential or irreversible\naction \u2014 states the action, its impact, and requires explicit confirmation.\nSource: Figma "Recovery / Verification".',
82
+ summary: "ActionConfirmation \u2014 a guardrail before an agent takes a consequential action \u2014 Nucleux agentic UI for React.",
83
+ keywords: [
84
+ "nucleux",
85
+ "react",
86
+ "ui",
87
+ "components",
88
+ "agentic",
89
+ "ai",
90
+ "tailwind",
91
+ "action-confirmation"
92
+ ],
93
+ exports: [
94
+ "ActionConfirmation",
95
+ "ActionConfirmationVariant",
96
+ "ActionConfirmationProps"
97
+ ],
98
+ components: [
99
+ "ActionConfirmation"
100
+ ],
101
+ import: 'import { ActionConfirmation } from "@nucleux/action-confirmation";',
102
+ installSingle: "pnpm add @nucleux/action-confirmation @nucleux/tokens",
103
+ props: [
104
+ {
105
+ name: "ActionConfirmationProps",
106
+ source: 'export interface ActionConfirmationProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {\n /** The action in question, e.g. `"Send 18 emails?"`. */\n title: React.ReactNode;\n /** What will happen / why it matters. */\n description?: React.ReactNode;\n /** Risk styling. `destructive` for irreversible/high-impact actions. */\n variant?: ActionConfirmationVariant;\n /** Badge text marking this as an agent action. Defaults to `"AI action"`. */\n badge?: React.ReactNode;\n /** Leading icon. Defaults to a warning triangle. */\n icon?: React.ReactNode;\n confirmLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n onConfirm?: () => void;\n onCancel?: () => void;\n}'
107
+ }
108
+ ],
109
+ readme: '# @nucleux/action-confirmation\n\nActionConfirmation \u2014 a guardrail before an agent takes a consequential action \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/action-confirmation @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ActionConfirmation } from "@nucleux/action-confirmation";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
110
+ peerDependencies: {
111
+ react: ">=18",
112
+ "react-dom": ">=18"
113
+ }
114
+ },
115
+ {
116
+ name: "action-plan",
117
+ package: "@nucleux/action-plan",
118
+ kind: "component",
119
+ description: "A single step in an {@link ActionPlan}. Numbered automatically by its order.",
120
+ summary: "ActionPlan \u2014 a proposed agent plan the user can accept, edit, or reject \u2014 Nucleux agentic UI for React.",
121
+ keywords: [
122
+ "nucleux",
123
+ "react",
124
+ "ui",
125
+ "components",
126
+ "agentic",
127
+ "ai",
128
+ "tailwind",
129
+ "action-plan"
130
+ ],
131
+ exports: [
132
+ "ActionPlanStep",
133
+ "ActionPlan",
134
+ "ActionPlanStepProps",
135
+ "ActionPlanProps"
136
+ ],
137
+ components: [
138
+ "ActionPlanStep",
139
+ "ActionPlan"
140
+ ],
141
+ import: 'import { ActionPlanStep, ActionPlan } from "@nucleux/action-plan";',
142
+ installSingle: "pnpm add @nucleux/action-plan @nucleux/tokens",
143
+ props: [
144
+ {
145
+ name: "ActionPlanStepProps",
146
+ source: 'export interface ActionPlanStepProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, "title"> {\n /** Step title. */\n title: React.ReactNode;\n /** Supporting detail under the title. */\n description?: React.ReactNode;\n}'
147
+ },
148
+ {
149
+ name: "ActionPlanProps",
150
+ source: 'export interface ActionPlanProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Heading, e.g. `"Proposed plan"`. */\n heading?: React.ReactNode;\n /** Short description of what the agent intends to do. */\n description?: React.ReactNode;\n /** Called when the plan is accepted. Renders the accept button when set. */\n onAccept?: () => void;\n /** Called when the user asks to edit the plan. Renders the edit button when set. */\n onEdit?: () => void;\n /** Called when the plan is rejected. Renders the reject button when set. */\n onReject?: () => void;\n acceptLabel?: React.ReactNode;\n editLabel?: React.ReactNode;\n rejectLabel?: React.ReactNode;\n}'
151
+ }
152
+ ],
153
+ readme: '# @nucleux/action-plan\n\nActionPlan \u2014 a proposed agent plan the user can accept, edit, or reject \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/action-plan @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ActionPlan } from "@nucleux/action-plan";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
154
+ peerDependencies: {
155
+ react: ">=18",
156
+ "react-dom": ">=18"
157
+ }
158
+ },
77
159
  {
78
160
  name: "action-tile",
79
161
  package: "@nucleux/action-tile",
@@ -111,6 +193,50 @@ var catalog_default = {
111
193
  "react-dom": ">=18"
112
194
  }
113
195
  },
196
+ {
197
+ name: "activity-log",
198
+ package: "@nucleux/activity-log",
199
+ kind: "component",
200
+ description: "A single entry in an {@link ActivityLog}: an action the agent took, with a timestamp.",
201
+ summary: "ActivityLog \u2014 a timestamped audit trail of the actions an agent took \u2014 Nucleux agentic UI for React.",
202
+ keywords: [
203
+ "nucleux",
204
+ "react",
205
+ "ui",
206
+ "components",
207
+ "agentic",
208
+ "ai",
209
+ "tailwind",
210
+ "activity-log"
211
+ ],
212
+ exports: [
213
+ "ActivityLogItem",
214
+ "ActivityLog",
215
+ "ActivityLogItemProps",
216
+ "ActivityLogProps"
217
+ ],
218
+ components: [
219
+ "ActivityLogItem",
220
+ "ActivityLog"
221
+ ],
222
+ import: 'import { ActivityLogItem, ActivityLog } from "@nucleux/activity-log";',
223
+ installSingle: "pnpm add @nucleux/activity-log @nucleux/tokens",
224
+ props: [
225
+ {
226
+ name: "ActivityLogItemProps",
227
+ source: 'export interface ActivityLogItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n /** Icon for the action type. Defaults to a generic activity glyph. */\n icon?: React.ReactNode;\n /** Relative or absolute timestamp, e.g. `"2m ago"`. */\n time?: React.ReactNode;\n}'
228
+ },
229
+ {
230
+ name: "ActivityLogProps",
231
+ source: "export interface ActivityLogProps extends React.HTMLAttributes<HTMLOListElement> {\n /** Heading above the trail. */\n heading?: React.ReactNode;\n}"
232
+ }
233
+ ],
234
+ readme: '# @nucleux/activity-log\n\nActivityLog \u2014 a timestamped audit trail of the actions an agent took \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/activity-log @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ActivityLog } from "@nucleux/activity-log";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
235
+ peerDependencies: {
236
+ react: ">=18",
237
+ "react-dom": ">=18"
238
+ }
239
+ },
114
240
  {
115
241
  name: "agent-composer",
116
242
  package: "@nucleux/agent-composer",
@@ -148,6 +274,97 @@ var catalog_default = {
148
274
  "react-dom": ">=18"
149
275
  }
150
276
  },
277
+ {
278
+ name: "agent-steps",
279
+ package: "@nucleux/agent-steps",
280
+ kind: "component",
281
+ description: "A single step in an {@link AgentSteps} tracker.",
282
+ summary: "AgentSteps \u2014 a live tracker of an agent's multi-step plan \u2014 Nucleux agentic UI for React.",
283
+ keywords: [
284
+ "nucleux",
285
+ "react",
286
+ "ui",
287
+ "components",
288
+ "agentic",
289
+ "ai",
290
+ "tailwind",
291
+ "agent-steps"
292
+ ],
293
+ exports: [
294
+ "AgentStep",
295
+ "AgentSteps",
296
+ "AgentStepStatus",
297
+ "AgentStepProps",
298
+ "AgentStepsProps"
299
+ ],
300
+ components: [
301
+ "AgentStep",
302
+ "AgentSteps",
303
+ "AgentStepStatus"
304
+ ],
305
+ import: 'import { AgentStep, AgentSteps, AgentStepStatus } from "@nucleux/agent-steps";',
306
+ installSingle: "pnpm add @nucleux/agent-steps @nucleux/tokens",
307
+ props: [
308
+ {
309
+ name: "AgentStepProps",
310
+ source: 'export interface AgentStepProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, "title"> {\n /** Execution status of the step. */\n status?: AgentStepStatus;\n /** Action-type icon (e.g. read, execute, search). Overrides the status glyph. */\n icon?: React.ReactNode;\n /** Step label. */\n title: React.ReactNode;\n /** Supporting detail under the title. */\n description?: React.ReactNode;\n /** Optional progress track, 0\u2013100, shown under the step while active. */\n progress?: number;\n}'
311
+ },
312
+ {
313
+ name: "AgentStepsProps",
314
+ source: "export interface AgentStepsProps extends React.HTMLAttributes<HTMLOListElement> {}"
315
+ }
316
+ ],
317
+ readme: '# @nucleux/agent-steps\n\nAgentSteps \u2014 a live tracker of an agent\'s multi-step plan \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/agent-steps @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { AgentSteps } from "@nucleux/agent-steps";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
318
+ peerDependencies: {
319
+ react: ">=18",
320
+ "react-dom": ">=18"
321
+ }
322
+ },
323
+ {
324
+ name: "ai-disclosure",
325
+ package: "@nucleux/ai-disclosure",
326
+ kind: "component",
327
+ description: 'A provenance marker that content was authored or assisted by AI \u2014 an\nanti-deception trust signal, as an inline pill, corner badge, or banner.\nSource: Figma "Trust & Disclosure / AI disclosure".',
328
+ summary: "AiDisclosure \u2014 provenance and fallibility markers for AI-generated content \u2014 Nucleux agentic UI for React.",
329
+ keywords: [
330
+ "nucleux",
331
+ "react",
332
+ "ui",
333
+ "components",
334
+ "agentic",
335
+ "ai",
336
+ "tailwind",
337
+ "ai-disclosure"
338
+ ],
339
+ exports: [
340
+ "AiDisclosure",
341
+ "AiCaveat",
342
+ "AiDisclosureVariant",
343
+ "AiDisclosureProps",
344
+ "AiCaveatProps"
345
+ ],
346
+ components: [
347
+ "AiDisclosure",
348
+ "AiCaveat"
349
+ ],
350
+ import: 'import { AiDisclosure, AiCaveat } from "@nucleux/ai-disclosure";',
351
+ installSingle: "pnpm add @nucleux/ai-disclosure @nucleux/tokens",
352
+ props: [
353
+ {
354
+ name: "AiDisclosureProps",
355
+ source: "export interface AiDisclosureProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Presentation: inline `pill`, corner `badge`, or full-width `banner`. */\n variant?: AiDisclosureVariant;\n /** Leading icon. Defaults to a sparkle. */\n icon?: React.ReactNode;\n /** Label / message. Ignored if `children` is provided. Has a per-variant default. */\n label?: React.ReactNode;\n}"
356
+ },
357
+ {
358
+ name: "AiCaveatProps",
359
+ source: "export interface AiCaveatProps extends React.HTMLAttributes<HTMLParagraphElement> {\n /** Leading icon. Defaults to an info glyph. Pass `null` to omit. */\n icon?: React.ReactNode;\n}"
360
+ }
361
+ ],
362
+ readme: '# @nucleux/ai-disclosure\n\nAiDisclosure \u2014 provenance and fallibility markers for AI-generated content \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/ai-disclosure @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { AiDisclosure } from "@nucleux/ai-disclosure";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
363
+ peerDependencies: {
364
+ react: ">=18",
365
+ "react-dom": ">=18"
366
+ }
367
+ },
151
368
  {
152
369
  name: "alert",
153
370
  package: "@nucleux/alert",
@@ -186,6 +403,161 @@ var catalog_default = {
186
403
  "react-dom": ">=18"
187
404
  }
188
405
  },
406
+ {
407
+ name: "alert-dialog",
408
+ package: "@nucleux/alert-dialog",
409
+ kind: "component",
410
+ description: 'A modal confirmation dialog for consequential actions. Unlike Dialog, it uses\nrole="alertdialog", does not close on overlay click, and focuses Cancel by\ndefault. Escape triggers cancel.',
411
+ summary: "Modal confirmation dialog \u2014 Nucleux agentic UI for React.",
412
+ keywords: [
413
+ "nucleux",
414
+ "react",
415
+ "ui",
416
+ "components",
417
+ "agentic",
418
+ "ai",
419
+ "tailwind",
420
+ "alert-dialog"
421
+ ],
422
+ exports: [
423
+ "AlertDialog",
424
+ "AlertDialogProps"
425
+ ],
426
+ components: [
427
+ "AlertDialog"
428
+ ],
429
+ import: 'import { AlertDialog } from "@nucleux/alert-dialog";',
430
+ installSingle: "pnpm add @nucleux/alert-dialog @nucleux/tokens",
431
+ props: [
432
+ {
433
+ name: "AlertDialogProps",
434
+ source: "export interface AlertDialogProps {\n /** Whether the alert dialog is open. */\n open: boolean;\n /** Called when the dialog requests to close (Escape / a button). */\n onOpenChange: (open: boolean) => void;\n title: React.ReactNode;\n description?: React.ReactNode;\n /** Confirm button label. */\n confirmLabel?: string;\n /** Cancel button label. */\n cancelLabel?: string;\n onConfirm?: () => void;\n onCancel?: () => void;\n /** Style the confirm action as destructive. */\n destructive?: boolean;\n /** Extra content between the description and the actions. */\n children?: React.ReactNode;\n className?: string;\n}"
435
+ }
436
+ ],
437
+ readme: '# @nucleux/alert-dialog\n\nModal confirmation dialog \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/alert-dialog @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { AlertDialog } from "@nucleux/alert-dialog";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
438
+ peerDependencies: {
439
+ react: ">=18",
440
+ "react-dom": ">=18"
441
+ }
442
+ },
443
+ {
444
+ name: "aspect-ratio",
445
+ package: "@nucleux/aspect-ratio",
446
+ kind: "component",
447
+ description: "Constrains its children to a fixed width-to-height ratio.",
448
+ summary: "Fixed aspect-ratio box \u2014 Nucleux agentic UI for React.",
449
+ keywords: [
450
+ "nucleux",
451
+ "react",
452
+ "ui",
453
+ "components",
454
+ "agentic",
455
+ "ai",
456
+ "tailwind",
457
+ "aspect-ratio"
458
+ ],
459
+ exports: [
460
+ "AspectRatio",
461
+ "AspectRatioProps"
462
+ ],
463
+ components: [
464
+ "AspectRatio"
465
+ ],
466
+ import: 'import { AspectRatio } from "@nucleux/aspect-ratio";',
467
+ installSingle: "pnpm add @nucleux/aspect-ratio @nucleux/tokens",
468
+ props: [
469
+ {
470
+ name: "AspectRatioProps",
471
+ source: "export interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Width / height ratio (e.g. 16/9). Defaults to 1 (square). */\n ratio?: number;\n}"
472
+ }
473
+ ],
474
+ readme: '# @nucleux/aspect-ratio\n\nFixed aspect-ratio box \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/aspect-ratio @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { AspectRatio } from "@nucleux/aspect-ratio";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
475
+ peerDependencies: {
476
+ react: ">=18",
477
+ "react-dom": ">=18"
478
+ }
479
+ },
480
+ {
481
+ name: "attachment-tile",
482
+ package: "@nucleux/attachment-tile",
483
+ kind: "component",
484
+ description: 'A removable preview of a file or image attached as context to an agent turn \u2014\ndocument chip or image thumbnail. The multimodal-context affordance.\nSource: Figma "Context Expansion / File Attachment".',
485
+ summary: "AttachmentTile \u2014 removable file and image context tiles for the composer \u2014 Nucleux agentic UI for React.",
486
+ keywords: [
487
+ "nucleux",
488
+ "react",
489
+ "ui",
490
+ "components",
491
+ "agentic",
492
+ "ai",
493
+ "tailwind",
494
+ "attachment-tile"
495
+ ],
496
+ exports: [
497
+ "AttachmentTile",
498
+ "AttachmentTray",
499
+ "AttachmentTileProps",
500
+ "AttachmentTrayProps"
501
+ ],
502
+ components: [
503
+ "AttachmentTile",
504
+ "AttachmentTray"
505
+ ],
506
+ import: 'import { AttachmentTile, AttachmentTray } from "@nucleux/attachment-tile";',
507
+ installSingle: "pnpm add @nucleux/attachment-tile @nucleux/tokens",
508
+ props: [
509
+ {
510
+ name: "AttachmentTileProps",
511
+ source: 'export interface AttachmentTileProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {\n /** File or attachment name. */\n name: React.ReactNode;\n /** Metadata line, e.g. `"PDF \xB7 240 KB"`. */\n meta?: React.ReactNode;\n /** Image URL \u2014 renders a thumbnail tile instead of a document chip. */\n thumbnail?: string;\n /** Doctype icon for the document chip. Defaults to a document glyph. */\n icon?: React.ReactNode;\n /** Called when the remove control is used. Hidden if omitted. */\n onRemove?: () => void;\n}'
512
+ },
513
+ {
514
+ name: "AttachmentTrayProps",
515
+ source: "export interface AttachmentTrayProps extends React.HTMLAttributes<HTMLDivElement> {}"
516
+ }
517
+ ],
518
+ readme: '# @nucleux/attachment-tile\n\nAttachmentTile \u2014 removable file and image context tiles for the composer \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/attachment-tile @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { AttachmentTile } from "@nucleux/attachment-tile";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
519
+ peerDependencies: {
520
+ react: ">=18",
521
+ "react-dom": ">=18"
522
+ }
523
+ },
524
+ {
525
+ name: "audio-message",
526
+ package: "@nucleux/audio-message",
527
+ kind: "component",
528
+ description: 'A player for AI-generated spoken output \u2014 play/pause, a waveform, duration,\nand an optional transcript.\nSource: Figma "Output & Processing / Audio player output".',
529
+ summary: "AudioMessage \u2014 a player for AI-generated voice output \u2014 Nucleux agentic UI for React.",
530
+ keywords: [
531
+ "nucleux",
532
+ "react",
533
+ "ui",
534
+ "components",
535
+ "agentic",
536
+ "ai",
537
+ "tailwind",
538
+ "audio-message"
539
+ ],
540
+ exports: [
541
+ "AudioMessage",
542
+ "AudioMessageProps"
543
+ ],
544
+ components: [
545
+ "AudioMessage"
546
+ ],
547
+ import: 'import { AudioMessage } from "@nucleux/audio-message";',
548
+ installSingle: "pnpm add @nucleux/audio-message @nucleux/tokens",
549
+ props: [
550
+ {
551
+ name: "AudioMessageProps",
552
+ source: 'export interface AudioMessageProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Whether audio is currently playing (controls the play/pause glyph + animation). */\n playing?: boolean;\n /** Duration or elapsed label, e.g. `"0:42"`. */\n duration?: React.ReactNode;\n /** Transcript excerpt shown below the player. */\n transcript?: React.ReactNode;\n /** Called when the play/pause control is used. */\n onPlayToggle?: () => void;\n}'
553
+ }
554
+ ],
555
+ readme: '# @nucleux/audio-message\n\nAudioMessage \u2014 a player for AI-generated voice output \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/audio-message @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { AudioMessage } from "@nucleux/audio-message";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
556
+ peerDependencies: {
557
+ react: ">=18",
558
+ "react-dom": ">=18"
559
+ }
560
+ },
189
561
  {
190
562
  name: "avatar",
191
563
  package: "@nucleux/avatar",
@@ -341,11 +713,11 @@ var catalog_default = {
341
713
  }
342
714
  },
343
715
  {
344
- name: "card",
345
- package: "@nucleux/card",
716
+ name: "calendar",
717
+ package: "@nucleux/calendar",
346
718
  kind: "component",
347
- description: "Card header. Lays children out in a row with space-between by default.",
348
- summary: "Composable card surface (CardContainer + parts) \u2014 Nucleux agentic UI for React.",
719
+ description: "A month calendar / date grid built on react-day-picker, restyled with Nucleux\ntokens. Supports single, multiple, and range selection via the `mode` prop.",
720
+ summary: "Month calendar / date grid \u2014 Nucleux agentic UI for React.",
349
721
  keywords: [
350
722
  "nucleux",
351
723
  "react",
@@ -354,36 +726,213 @@ var catalog_default = {
354
726
  "agentic",
355
727
  "ai",
356
728
  "tailwind",
357
- "card"
729
+ "calendar"
358
730
  ],
359
731
  exports: [
360
- "CardContainer",
361
- "CardHeader",
362
- "CardTitle",
363
- "CardDescription",
364
- "CardAction",
365
- "CardContent",
366
- "CardDivider",
367
- "CardContainerProps"
732
+ "Calendar",
733
+ "CalendarProps"
368
734
  ],
369
735
  components: [
370
- "CardContainer",
371
- "CardHeader",
372
- "CardTitle",
373
- "CardDescription",
374
- "CardAction",
375
- "CardContent",
376
- "CardDivider"
377
- ],
378
- import: 'import { CardContainer, CardHeader, CardTitle, CardDescription } from "@nucleux/card";',
379
- installSingle: "pnpm add @nucleux/card @nucleux/tokens",
380
- props: [
381
- {
382
- name: "CardContainerProps",
383
- source: "/**\n * Composable card surface. Compose the parts to match the design:\n *\n * ```tsx\n * <CardContainer>\n * <CardHeader>\n * <div>\n * <CardTitle>Recent meeting</CardTitle>\n * <CardDescription>1 in your library</CardDescription>\n * </div>\n * <CardAction>View all</CardAction>\n * </CardHeader>\n * <CardDivider />\n * <CardContent>\u2026</CardContent>\n * </CardContainer>\n * ```\n *\n * Named `CardContainer` to mirror the canonical Figma component.\n */\nexport interface CardContainerProps extends React.HTMLAttributes<HTMLDivElement> {}"
384
- }
736
+ "Calendar"
385
737
  ],
386
- readme: '# @nucleux/card\n\nComposable card surface (CardContainer + parts) \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/card @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { CardContainer, CardHeader, CardTitle, CardDescription, CardAction, CardContent } from "@nucleux/card";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
738
+ import: 'import { Calendar } from "@nucleux/calendar";',
739
+ installSingle: "pnpm add @nucleux/calendar @nucleux/tokens",
740
+ props: [],
741
+ readme: '# @nucleux/calendar\n\nMonth calendar / date grid \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/calendar @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Calendar } from "@nucleux/calendar";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
742
+ peerDependencies: {
743
+ react: ">=18",
744
+ "react-dom": ">=18"
745
+ }
746
+ },
747
+ {
748
+ name: "capability-overview",
749
+ package: "@nucleux/capability-overview",
750
+ kind: "component",
751
+ description: 'A first-run card that sets expectations for an agent \u2014 what it can do, and\nwhere it falls short \u2014 as Examples / Capabilities / Limits columns.\nSource: Figma "Onboarding / Generic Assistant Overview".',
752
+ summary: "CapabilityOverview \u2014 an agent's examples, capabilities, and limits \u2014 Nucleux agentic UI for React.",
753
+ keywords: [
754
+ "nucleux",
755
+ "react",
756
+ "ui",
757
+ "components",
758
+ "agentic",
759
+ "ai",
760
+ "tailwind",
761
+ "capability-overview"
762
+ ],
763
+ exports: [
764
+ "CapabilityOverview",
765
+ "CapabilitySection",
766
+ "CapabilityOverviewProps"
767
+ ],
768
+ components: [
769
+ "CapabilityOverview",
770
+ "CapabilitySection"
771
+ ],
772
+ import: 'import { CapabilityOverview, CapabilitySection } from "@nucleux/capability-overview";',
773
+ installSingle: "pnpm add @nucleux/capability-overview @nucleux/tokens",
774
+ props: [
775
+ {
776
+ name: "CapabilityOverviewProps",
777
+ source: "export interface CapabilityOverviewProps extends React.HTMLAttributes<HTMLDivElement> {\n /** The columns to show \u2014 typically Examples / Capabilities / Limits. */\n sections: CapabilitySection[];\n /** Heading above the columns. */\n heading?: React.ReactNode;\n /** Footnote, e.g. a knowledge-cutoff note. */\n footnote?: React.ReactNode;\n}"
778
+ }
779
+ ],
780
+ readme: '# @nucleux/capability-overview\n\nCapabilityOverview \u2014 an agent\'s examples, capabilities, and limits \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/capability-overview @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { CapabilityOverview } from "@nucleux/capability-overview";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
781
+ peerDependencies: {
782
+ react: ">=18",
783
+ "react-dom": ">=18"
784
+ }
785
+ },
786
+ {
787
+ name: "card",
788
+ package: "@nucleux/card",
789
+ kind: "component",
790
+ description: "Card header. Lays children out in a row with space-between by default.",
791
+ summary: "Composable card surface (CardContainer + parts) \u2014 Nucleux agentic UI for React.",
792
+ keywords: [
793
+ "nucleux",
794
+ "react",
795
+ "ui",
796
+ "components",
797
+ "agentic",
798
+ "ai",
799
+ "tailwind",
800
+ "card"
801
+ ],
802
+ exports: [
803
+ "CardContainer",
804
+ "CardHeader",
805
+ "CardTitle",
806
+ "CardDescription",
807
+ "CardAction",
808
+ "CardContent",
809
+ "CardDivider",
810
+ "CardContainerProps"
811
+ ],
812
+ components: [
813
+ "CardContainer",
814
+ "CardHeader",
815
+ "CardTitle",
816
+ "CardDescription",
817
+ "CardAction",
818
+ "CardContent",
819
+ "CardDivider"
820
+ ],
821
+ import: 'import { CardContainer, CardHeader, CardTitle, CardDescription } from "@nucleux/card";',
822
+ installSingle: "pnpm add @nucleux/card @nucleux/tokens",
823
+ props: [
824
+ {
825
+ name: "CardContainerProps",
826
+ source: "/**\n * Composable card surface. Compose the parts to match the design:\n *\n * ```tsx\n * <CardContainer>\n * <CardHeader>\n * <div>\n * <CardTitle>Recent meeting</CardTitle>\n * <CardDescription>1 in your library</CardDescription>\n * </div>\n * <CardAction>View all</CardAction>\n * </CardHeader>\n * <CardDivider />\n * <CardContent>\u2026</CardContent>\n * </CardContainer>\n * ```\n *\n * Named `CardContainer` to mirror the canonical Figma component.\n */\nexport interface CardContainerProps extends React.HTMLAttributes<HTMLDivElement> {}"
827
+ }
828
+ ],
829
+ readme: '# @nucleux/card\n\nComposable card surface (CardContainer + parts) \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/card @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { CardContainer, CardHeader, CardTitle, CardDescription, CardAction, CardContent } from "@nucleux/card";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
830
+ peerDependencies: {
831
+ react: ">=18",
832
+ "react-dom": ">=18"
833
+ }
834
+ },
835
+ {
836
+ name: "carousel",
837
+ package: "@nucleux/carousel",
838
+ kind: "component",
839
+ description: "A swipeable/keyboard-navigable carousel built on Embla.",
840
+ summary: "Swipeable content carousel \u2014 Nucleux agentic UI for React.",
841
+ keywords: [
842
+ "nucleux",
843
+ "react",
844
+ "ui",
845
+ "components",
846
+ "agentic",
847
+ "ai",
848
+ "tailwind",
849
+ "carousel"
850
+ ],
851
+ exports: [
852
+ "Carousel",
853
+ "CarouselContent",
854
+ "CarouselItem",
855
+ "CarouselPrevious",
856
+ "CarouselNext",
857
+ "CarouselProps",
858
+ "CarouselContentProps",
859
+ "CarouselItemProps"
860
+ ],
861
+ components: [
862
+ "Carousel",
863
+ "CarouselContent",
864
+ "CarouselItem",
865
+ "CarouselPrevious",
866
+ "CarouselNext"
867
+ ],
868
+ import: 'import { Carousel, CarouselContent, CarouselItem, CarouselPrevious } from "@nucleux/carousel";',
869
+ installSingle: "pnpm add @nucleux/carousel @nucleux/tokens",
870
+ props: [
871
+ {
872
+ name: "CarouselProps",
873
+ source: "export interface CarouselProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: Orientation;\n opts?: EmblaOptionsType;\n /** Receive the Embla API instance once ready. */\n setApi?: (api: EmblaCarouselType | undefined) => void;\n}"
874
+ }
875
+ ],
876
+ readme: '# @nucleux/carousel\n\nSwipeable content carousel \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/carousel @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Carousel } from "@nucleux/carousel";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
877
+ peerDependencies: {
878
+ react: ">=18",
879
+ "react-dom": ">=18"
880
+ }
881
+ },
882
+ {
883
+ name: "chart",
884
+ package: "@nucleux/chart",
885
+ kind: "component",
886
+ description: "Re-exported recharts Tooltip \u2014 pair with {@link ChartTooltipContent}.",
887
+ summary: "Composable chart primitives \u2014 Nucleux agentic UI for React.",
888
+ keywords: [
889
+ "nucleux",
890
+ "react",
891
+ "ui",
892
+ "components",
893
+ "agentic",
894
+ "ai",
895
+ "tailwind",
896
+ "chart"
897
+ ],
898
+ exports: [
899
+ "ChartTooltip",
900
+ "ChartLegend",
901
+ "ChartContainer",
902
+ "ChartTooltipContent",
903
+ "ChartLegendContent",
904
+ "ChartSeriesConfig",
905
+ "ChartConfig",
906
+ "ChartContainerProps",
907
+ "ChartTooltipContentProps",
908
+ "ChartLegendContentProps"
909
+ ],
910
+ components: [
911
+ "ChartTooltip",
912
+ "ChartLegend",
913
+ "ChartContainer",
914
+ "ChartTooltipContent",
915
+ "ChartLegendContent",
916
+ "ChartSeriesConfig",
917
+ "ChartConfig"
918
+ ],
919
+ import: 'import { ChartTooltip, ChartLegend, ChartContainer, ChartTooltipContent } from "@nucleux/chart";',
920
+ installSingle: "pnpm add @nucleux/chart @nucleux/tokens",
921
+ props: [
922
+ {
923
+ name: "ChartContainerProps",
924
+ source: "export interface ChartContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n config: ChartConfig;\n /** A single recharts chart element (BarChart, LineChart, \u2026). */\n children: React.ReactElement;\n}"
925
+ },
926
+ {
927
+ name: "ChartTooltipContentProps",
928
+ source: "export interface ChartTooltipContentProps {\n active?: boolean;\n payload?: TooltipPayloadItem[];\n label?: React.ReactNode;\n config?: ChartConfig;\n}"
929
+ },
930
+ {
931
+ name: "ChartLegendContentProps",
932
+ source: "export interface ChartLegendContentProps {\n payload?: LegendPayloadItem[];\n config?: ChartConfig;\n}"
933
+ }
934
+ ],
935
+ readme: '# @nucleux/chart\n\nComposable chart primitives \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/chart @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Chart } from "@nucleux/chart";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
387
936
  peerDependencies: {
388
937
  react: ">=18",
389
938
  "react-dom": ">=18"
@@ -427,11 +976,398 @@ var catalog_default = {
427
976
  }
428
977
  },
429
978
  {
430
- name: "checklist",
431
- package: "@nucleux/checklist",
979
+ name: "checklist",
980
+ package: "@nucleux/checklist",
981
+ kind: "component",
982
+ description: "A single step in a {@link Checklist}.",
983
+ summary: "Onboarding / progress checklist \u2014 Nucleux agentic UI for React.",
984
+ keywords: [
985
+ "nucleux",
986
+ "react",
987
+ "ui",
988
+ "components",
989
+ "agentic",
990
+ "ai",
991
+ "tailwind",
992
+ "checklist"
993
+ ],
994
+ exports: [
995
+ "ChecklistItem",
996
+ "Checklist",
997
+ "ChecklistItemProps",
998
+ "ChecklistProps"
999
+ ],
1000
+ components: [
1001
+ "ChecklistItem",
1002
+ "Checklist"
1003
+ ],
1004
+ import: 'import { ChecklistItem, Checklist } from "@nucleux/checklist";',
1005
+ installSingle: "pnpm add @nucleux/checklist @nucleux/tokens",
1006
+ props: [
1007
+ {
1008
+ name: "ChecklistItemProps",
1009
+ source: 'export interface ChecklistItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, "title"> {\n /** Whether the step is completed (shows a filled check + strikes the title). */\n done?: boolean;\n /** Step title. */\n title: React.ReactNode;\n /** Supporting description. */\n description?: React.ReactNode;\n /** Trailing action, e.g. a <Button>Connect</Button>. */\n action?: React.ReactNode;\n}'
1010
+ },
1011
+ {
1012
+ name: "ChecklistProps",
1013
+ source: "export interface ChecklistProps extends React.HTMLAttributes<HTMLUListElement> {\n /** Show hairline dividers between items. */\n divided?: boolean;\n}"
1014
+ }
1015
+ ],
1016
+ readme: '# @nucleux/checklist\n\nOnboarding / progress checklist \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/checklist @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ChecklistItem, Checklist } from "@nucleux/checklist";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1017
+ peerDependencies: {
1018
+ react: ">=18",
1019
+ "react-dom": ">=18"
1020
+ }
1021
+ },
1022
+ {
1023
+ name: "chip",
1024
+ package: "@nucleux/chip",
1025
+ kind: "component",
1026
+ description: "A small rounded tag/pill with an optional status dot and removable affordance.\nLighter-weight than {@link Badge} \u2014 use for filters, tokens, and inline tags.",
1027
+ summary: "Small rounded tag with optional dot and remove \u2014 Nucleux agentic UI for React.",
1028
+ keywords: [
1029
+ "nucleux",
1030
+ "react",
1031
+ "ui",
1032
+ "components",
1033
+ "agentic",
1034
+ "ai",
1035
+ "tailwind",
1036
+ "chip"
1037
+ ],
1038
+ exports: [
1039
+ "Chip",
1040
+ "ChipProps"
1041
+ ],
1042
+ components: [
1043
+ "Chip"
1044
+ ],
1045
+ import: 'import { Chip } from "@nucleux/chip";',
1046
+ installSingle: "pnpm add @nucleux/chip @nucleux/tokens",
1047
+ props: [
1048
+ {
1049
+ name: "ChipProps",
1050
+ source: 'export interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Show a leading status dot. Pass a className to color it (e.g. "bg-success"). */\n dot?: boolean;\n /** Tailwind classes controlling the dot color (defaults to muted). */\n dotClassName?: string;\n /** When provided, renders a trailing remove button that calls this handler. */\n onRemove?: () => void;\n /** Accessible label for the remove button. */\n removeLabel?: string;\n}'
1051
+ }
1052
+ ],
1053
+ readme: '# @nucleux/chip\n\nSmall rounded tag with optional dot and remove \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/chip @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Chip } from "@nucleux/chip";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1054
+ peerDependencies: {
1055
+ react: ">=18",
1056
+ "react-dom": ">=18"
1057
+ }
1058
+ },
1059
+ {
1060
+ name: "citation",
1061
+ package: "@nucleux/citation",
1062
+ kind: "component",
1063
+ description: 'An inline citation chip embedded in an AI answer \u2014 a compact numbered or\ndomain marker that attributes a claim to a source.\nSource: Figma "Explainability / Inline source chip".',
1064
+ summary: "Citation \u2014 inline source chips and a grounded sources list for AI answers \u2014 Nucleux agentic UI for React.",
1065
+ keywords: [
1066
+ "nucleux",
1067
+ "react",
1068
+ "ui",
1069
+ "components",
1070
+ "agentic",
1071
+ "ai",
1072
+ "tailwind",
1073
+ "citation"
1074
+ ],
1075
+ exports: [
1076
+ "Citation",
1077
+ "SourceItem",
1078
+ "SourceList",
1079
+ "CitationProps",
1080
+ "SourceItemProps",
1081
+ "SourceListProps"
1082
+ ],
1083
+ components: [
1084
+ "Citation",
1085
+ "SourceItem",
1086
+ "SourceList"
1087
+ ],
1088
+ import: 'import { Citation, SourceItem, SourceList } from "@nucleux/citation";',
1089
+ installSingle: "pnpm add @nucleux/citation @nucleux/tokens",
1090
+ props: [
1091
+ {
1092
+ name: "CitationProps",
1093
+ source: 'export interface CitationProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "title"> {\n /** Source index shown in the chip, e.g. `4`. Ignored if `children` is given. */\n index?: number;\n /** Text label instead of a number, e.g. `"wikipedia.com"`. */\n label?: React.ReactNode;\n}'
1094
+ },
1095
+ {
1096
+ name: "SourceItemProps",
1097
+ source: 'export interface SourceItemProps\n extends Omit<React.LiHTMLAttributes<HTMLLIElement>, "title"> {\n /** Optional leading index, e.g. `1`. */\n index?: number;\n /** Icon shown in the leading slot. Defaults to a document icon. */\n icon?: React.ReactNode;\n /** Source title, e.g. a filename. */\n title: React.ReactNode;\n /** Metadata line, e.g. `"Source \xB7 PDF \xB7 Section 4.1"`. */\n meta?: React.ReactNode;\n /** If set, the open affordance becomes a link to this href. */\n href?: string;\n /** Label for the open affordance. Defaults to `"Open"`. */\n actionLabel?: React.ReactNode;\n /** Called when the open affordance is activated (button mode). */\n onOpen?: () => void;\n}'
1098
+ },
1099
+ {
1100
+ name: "SourceListProps",
1101
+ source: 'export interface SourceListProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Heading above the list, e.g. `"3 sources \xB7 1 missing policy"`. */\n heading?: React.ReactNode;\n}'
1102
+ }
1103
+ ],
1104
+ readme: '# @nucleux/citation\n\nCitation \u2014 inline source chips and a grounded sources list for AI answers \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/citation @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Citation } from "@nucleux/citation";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1105
+ peerDependencies: {
1106
+ react: ">=18",
1107
+ "react-dom": ">=18"
1108
+ }
1109
+ },
1110
+ {
1111
+ name: "code-block",
1112
+ package: "@nucleux/code-block",
1113
+ kind: "component",
1114
+ description: "A code surface with a language label and copy-to-clipboard button. Syntax\nhighlighting is intentionally left to the consumer (bring your own\nhighlighter such as Shiki) so the library stays dependency-light.",
1115
+ summary: "Code surface with copy button \u2014 Nucleux agentic UI for React.",
1116
+ keywords: [
1117
+ "nucleux",
1118
+ "react",
1119
+ "ui",
1120
+ "components",
1121
+ "agentic",
1122
+ "ai",
1123
+ "tailwind",
1124
+ "code-block"
1125
+ ],
1126
+ exports: [
1127
+ "CodeBlock",
1128
+ "CodeBlockProps"
1129
+ ],
1130
+ components: [
1131
+ "CodeBlock"
1132
+ ],
1133
+ import: 'import { CodeBlock } from "@nucleux/code-block";',
1134
+ installSingle: "pnpm add @nucleux/code-block @nucleux/tokens",
1135
+ props: [
1136
+ {
1137
+ name: "CodeBlockProps",
1138
+ source: 'export interface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> {\n /** The raw source code to display. */\n code: string;\n /** Language label shown in the header (e.g. "ts", "python"). */\n language?: string;\n /** Hide the copy button. */\n hideCopy?: boolean;\n}'
1139
+ }
1140
+ ],
1141
+ readme: '# @nucleux/code-block\n\nCode surface with copy button \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/code-block @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { CodeBlock } from "@nucleux/code-block";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1142
+ peerDependencies: {
1143
+ react: ">=18",
1144
+ "react-dom": ">=18"
1145
+ }
1146
+ },
1147
+ {
1148
+ name: "collapsible",
1149
+ package: "@nucleux/collapsible",
1150
+ kind: "component",
1151
+ description: "A disclosure region that expands/collapses its content.",
1152
+ summary: "Single collapsible disclosure region \u2014 Nucleux agentic UI for React.",
1153
+ keywords: [
1154
+ "nucleux",
1155
+ "react",
1156
+ "ui",
1157
+ "components",
1158
+ "agentic",
1159
+ "ai",
1160
+ "tailwind",
1161
+ "collapsible"
1162
+ ],
1163
+ exports: [
1164
+ "Collapsible",
1165
+ "CollapsibleTrigger",
1166
+ "CollapsibleContent",
1167
+ "CollapsibleProps",
1168
+ "CollapsibleTriggerProps",
1169
+ "CollapsibleContentProps"
1170
+ ],
1171
+ components: [
1172
+ "Collapsible",
1173
+ "CollapsibleTrigger",
1174
+ "CollapsibleContent"
1175
+ ],
1176
+ import: 'import { Collapsible, CollapsibleTrigger, CollapsibleContent } from "@nucleux/collapsible";',
1177
+ installSingle: "pnpm add @nucleux/collapsible @nucleux/tokens",
1178
+ props: [
1179
+ {
1180
+ name: "CollapsibleProps",
1181
+ source: "export interface CollapsibleProps extends React.HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n}"
1182
+ },
1183
+ {
1184
+ name: "CollapsibleTriggerProps",
1185
+ source: "export interface CollapsibleTriggerProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Hide the default chevron affordance. */\n hideChevron?: boolean;\n}"
1186
+ }
1187
+ ],
1188
+ readme: '# @nucleux/collapsible\n\nSingle collapsible disclosure region \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/collapsible @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Collapsible } from "@nucleux/collapsible";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1189
+ peerDependencies: {
1190
+ react: ">=18",
1191
+ "react-dom": ">=18"
1192
+ }
1193
+ },
1194
+ {
1195
+ name: "combobox",
1196
+ package: "@nucleux/combobox",
1197
+ kind: "component",
1198
+ description: "A single-select control combining a text filter with a dropdown list.",
1199
+ summary: "Searchable single-select combobox \u2014 Nucleux agentic UI for React.",
1200
+ keywords: [
1201
+ "nucleux",
1202
+ "react",
1203
+ "ui",
1204
+ "components",
1205
+ "agentic",
1206
+ "ai",
1207
+ "tailwind",
1208
+ "combobox"
1209
+ ],
1210
+ exports: [
1211
+ "Combobox",
1212
+ "ComboboxOption",
1213
+ "ComboboxProps"
1214
+ ],
1215
+ components: [
1216
+ "Combobox",
1217
+ "ComboboxOption"
1218
+ ],
1219
+ import: 'import { Combobox, ComboboxOption } from "@nucleux/combobox";',
1220
+ installSingle: "pnpm add @nucleux/combobox @nucleux/tokens",
1221
+ props: [
1222
+ {
1223
+ name: "ComboboxProps",
1224
+ source: 'export interface ComboboxProps {\n options: ComboboxOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyText?: string;\n disabled?: boolean;\n className?: string;\n /** Accessible name for the trigger. */\n "aria-label"?: string;\n}'
1225
+ }
1226
+ ],
1227
+ readme: '# @nucleux/combobox\n\nSearchable single-select combobox \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/combobox @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Combobox } from "@nucleux/combobox";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1228
+ peerDependencies: {
1229
+ react: ">=18",
1230
+ "react-dom": ">=18"
1231
+ }
1232
+ },
1233
+ {
1234
+ name: "command",
1235
+ package: "@nucleux/command",
1236
+ kind: "component",
1237
+ description: "A composable command palette: a filterable, keyboard-navigable list of\nactions. Compose with CommandInput, CommandList, CommandGroup, CommandItem,\nand CommandEmpty.",
1238
+ summary: "Searchable command palette \u2014 Nucleux agentic UI for React.",
1239
+ keywords: [
1240
+ "nucleux",
1241
+ "react",
1242
+ "ui",
1243
+ "components",
1244
+ "agentic",
1245
+ "ai",
1246
+ "tailwind",
1247
+ "command"
1248
+ ],
1249
+ exports: [
1250
+ "Command",
1251
+ "CommandInput",
1252
+ "CommandList",
1253
+ "CommandGroup",
1254
+ "CommandItem",
1255
+ "CommandEmpty",
1256
+ "CommandProps",
1257
+ "CommandInputProps",
1258
+ "CommandListProps",
1259
+ "CommandGroupProps",
1260
+ "CommandItemProps",
1261
+ "CommandEmptyProps"
1262
+ ],
1263
+ components: [
1264
+ "Command",
1265
+ "CommandInput",
1266
+ "CommandList",
1267
+ "CommandGroup",
1268
+ "CommandItem",
1269
+ "CommandEmpty"
1270
+ ],
1271
+ import: 'import { Command, CommandInput, CommandList, CommandGroup } from "@nucleux/command";',
1272
+ installSingle: "pnpm add @nucleux/command @nucleux/tokens",
1273
+ props: [
1274
+ {
1275
+ name: "CommandGroupProps",
1276
+ source: "export interface CommandGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n heading?: React.ReactNode;\n}"
1277
+ },
1278
+ {
1279
+ name: "CommandItemProps",
1280
+ source: 'export interface CommandItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {\n /** The value used for filtering + selection. Defaults to the text content. */\n value: string;\n disabled?: boolean;\n onSelect?: (value: string) => void;\n}'
1281
+ }
1282
+ ],
1283
+ readme: '# @nucleux/command\n\nSearchable command palette \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/command @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Command } from "@nucleux/command";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1284
+ peerDependencies: {
1285
+ react: ">=18",
1286
+ "react-dom": ">=18"
1287
+ }
1288
+ },
1289
+ {
1290
+ name: "confidence-indicator",
1291
+ package: "@nucleux/confidence-indicator",
1292
+ kind: "component",
1293
+ description: 'A model-confidence meter with a review threshold \u2014 surfaces how certain the\nagent is about its own answer and gates autonomous action on it.\nSource: Figma "Explainability / Confidence Indicators".',
1294
+ summary: "ConfidenceIndicator \u2014 a model-confidence meter with a human-review threshold \u2014 Nucleux agentic UI for React.",
1295
+ keywords: [
1296
+ "nucleux",
1297
+ "react",
1298
+ "ui",
1299
+ "components",
1300
+ "agentic",
1301
+ "ai",
1302
+ "tailwind",
1303
+ "confidence-indicator"
1304
+ ],
1305
+ exports: [
1306
+ "ConfidenceIndicator",
1307
+ "ConfidenceLevel",
1308
+ "ConfidenceIndicatorProps"
1309
+ ],
1310
+ components: [
1311
+ "ConfidenceIndicator",
1312
+ "ConfidenceLevel"
1313
+ ],
1314
+ import: 'import { ConfidenceIndicator, ConfidenceLevel } from "@nucleux/confidence-indicator";',
1315
+ installSingle: "pnpm add @nucleux/confidence-indicator @nucleux/tokens",
1316
+ props: [
1317
+ {
1318
+ name: "ConfidenceIndicatorProps",
1319
+ source: 'export interface ConfidenceIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Confidence score, 0\u2013100. */\n value: number;\n /** Label above the meter. Defaults to `"Confidence"`. */\n label?: React.ReactNode;\n /** Score below which the agent should defer to a human. Defaults to 70. */\n threshold?: number;\n /** Explanatory note shown under the meter (e.g. a review recommendation). */\n note?: React.ReactNode;\n /** Force a level instead of deriving it from `value`/`threshold`. */\n level?: ConfidenceLevel;\n}'
1320
+ }
1321
+ ],
1322
+ readme: '# @nucleux/confidence-indicator\n\nConfidenceIndicator \u2014 a model-confidence meter with a human-review threshold \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/confidence-indicator @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ConfidenceIndicator } from "@nucleux/confidence-indicator";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1323
+ peerDependencies: {
1324
+ react: ">=18",
1325
+ "react-dom": ">=18"
1326
+ }
1327
+ },
1328
+ {
1329
+ name: "connector-card",
1330
+ package: "@nucleux/connector-card",
1331
+ kind: "component",
1332
+ description: 'A card to enable an external tool or data connector for the agent \u2014 icon,\nname, what it unlocks, and a connect action.\nSource: Figma "Context Expansion / Connector suggestion card".',
1333
+ summary: "ConnectorCard \u2014 enable an external tool or data connector \u2014 Nucleux agentic UI for React.",
1334
+ keywords: [
1335
+ "nucleux",
1336
+ "react",
1337
+ "ui",
1338
+ "components",
1339
+ "agentic",
1340
+ "ai",
1341
+ "tailwind",
1342
+ "connector-card"
1343
+ ],
1344
+ exports: [
1345
+ "ConnectorCard",
1346
+ "ConnectorCardProps"
1347
+ ],
1348
+ components: [
1349
+ "ConnectorCard"
1350
+ ],
1351
+ import: 'import { ConnectorCard } from "@nucleux/connector-card";',
1352
+ installSingle: "pnpm add @nucleux/connector-card @nucleux/tokens",
1353
+ props: [
1354
+ {
1355
+ name: "ConnectorCardProps",
1356
+ source: 'export interface ConnectorCardProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {\n /** Connector name, e.g. `"GitHub"`. */\n name: React.ReactNode;\n /** What the connector gives the agent access to. */\n description?: React.ReactNode;\n /** Connector logo/icon. Defaults to a plug glyph. */\n icon?: React.ReactNode;\n /** Whether the connector is already connected. */\n connected?: boolean;\n /** Called to connect. Renders the connect button when set and not connected. */\n onConnect?: () => void;\n /** Called to disconnect. Renders a manage/disconnect control when connected. */\n onDisconnect?: () => void;\n connectLabel?: React.ReactNode;\n disconnectLabel?: React.ReactNode;\n}'
1357
+ }
1358
+ ],
1359
+ readme: '# @nucleux/connector-card\n\nConnectorCard \u2014 enable an external tool or data connector \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/connector-card @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ConnectorCard } from "@nucleux/connector-card";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1360
+ peerDependencies: {
1361
+ react: ">=18",
1362
+ "react-dom": ">=18"
1363
+ }
1364
+ },
1365
+ {
1366
+ name: "context-menu",
1367
+ package: "@nucleux/context-menu",
432
1368
  kind: "component",
433
- description: "A single step in a {@link Checklist}.",
434
- summary: "Onboarding / progress checklist \u2014 Nucleux agentic UI for React.",
1369
+ description: "Wraps a region so right-clicking it opens a menu at the cursor.",
1370
+ summary: "Right-click context menu \u2014 Nucleux agentic UI for React.",
435
1371
  keywords: [
436
1372
  "nucleux",
437
1373
  "react",
@@ -440,42 +1376,46 @@ var catalog_default = {
440
1376
  "agentic",
441
1377
  "ai",
442
1378
  "tailwind",
443
- "checklist"
1379
+ "context-menu"
444
1380
  ],
445
1381
  exports: [
446
- "ChecklistItem",
447
- "Checklist",
448
- "ChecklistItemProps",
449
- "ChecklistProps"
1382
+ "ContextMenu",
1383
+ "ContextMenuItem",
1384
+ "ContextMenuSeparator",
1385
+ "ContextMenuLabel",
1386
+ "ContextMenuProps",
1387
+ "ContextMenuItemProps"
450
1388
  ],
451
1389
  components: [
452
- "ChecklistItem",
453
- "Checklist"
1390
+ "ContextMenu",
1391
+ "ContextMenuItem",
1392
+ "ContextMenuSeparator",
1393
+ "ContextMenuLabel"
454
1394
  ],
455
- import: 'import { ChecklistItem, Checklist } from "@nucleux/checklist";',
456
- installSingle: "pnpm add @nucleux/checklist @nucleux/tokens",
1395
+ import: 'import { ContextMenu, ContextMenuItem, ContextMenuSeparator, ContextMenuLabel } from "@nucleux/context-menu";',
1396
+ installSingle: "pnpm add @nucleux/context-menu @nucleux/tokens",
457
1397
  props: [
458
1398
  {
459
- name: "ChecklistItemProps",
460
- source: 'export interface ChecklistItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, "title"> {\n /** Whether the step is completed (shows a filled check + strikes the title). */\n done?: boolean;\n /** Step title. */\n title: React.ReactNode;\n /** Supporting description. */\n description?: React.ReactNode;\n /** Trailing action, e.g. a <Button>Connect</Button>. */\n action?: React.ReactNode;\n}'
1399
+ name: "ContextMenuProps",
1400
+ source: 'export interface ContextMenuProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {\n /** Menu items \u2014 compose ContextMenuItem / ContextMenuSeparator / ContextMenuLabel. */\n content: React.ReactNode;\n /** The area that opens the menu on right-click. */\n children: React.ReactNode;\n}'
461
1401
  },
462
1402
  {
463
- name: "ChecklistProps",
464
- source: "export interface ChecklistProps extends React.HTMLAttributes<HTMLUListElement> {\n /** Show hairline dividers between items. */\n divided?: boolean;\n}"
1403
+ name: "ContextMenuItemProps",
1404
+ source: "export interface ContextMenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon?: React.ReactNode;\n trailing?: React.ReactNode;\n destructive?: boolean;\n}"
465
1405
  }
466
1406
  ],
467
- readme: '# @nucleux/checklist\n\nOnboarding / progress checklist \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/checklist @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ChecklistItem, Checklist } from "@nucleux/checklist";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1407
+ readme: '# @nucleux/context-menu\n\nRight-click context menu \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/context-menu @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ContextMenu } from "@nucleux/context-menu";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
468
1408
  peerDependencies: {
469
1409
  react: ">=18",
470
1410
  "react-dom": ">=18"
471
1411
  }
472
1412
  },
473
1413
  {
474
- name: "chip",
475
- package: "@nucleux/chip",
1414
+ name: "data-table",
1415
+ package: "@nucleux/data-table",
476
1416
  kind: "component",
477
- description: "A small rounded tag/pill with an optional status dot and removable affordance.\nLighter-weight than {@link Badge} \u2014 use for filters, tokens, and inline tags.",
478
- summary: "Small rounded tag with optional dot and remove \u2014 Nucleux agentic UI for React.",
1417
+ description: "A sortable, paginated table built on TanStack Table. Pass column definitions\nand data; sorting and pagination are handled internally.",
1418
+ summary: "Sortable, paginated data table \u2014 Nucleux agentic UI for React.",
479
1419
  keywords: [
480
1420
  "nucleux",
481
1421
  "react",
@@ -484,35 +1424,35 @@ var catalog_default = {
484
1424
  "agentic",
485
1425
  "ai",
486
1426
  "tailwind",
487
- "chip"
1427
+ "data-table"
488
1428
  ],
489
1429
  exports: [
490
- "Chip",
491
- "ChipProps"
1430
+ "DataTable",
1431
+ "DataTableProps"
492
1432
  ],
493
1433
  components: [
494
- "Chip"
1434
+ "DataTable"
495
1435
  ],
496
- import: 'import { Chip } from "@nucleux/chip";',
497
- installSingle: "pnpm add @nucleux/chip @nucleux/tokens",
1436
+ import: 'import { DataTable } from "@nucleux/data-table";',
1437
+ installSingle: "pnpm add @nucleux/data-table @nucleux/tokens",
498
1438
  props: [
499
1439
  {
500
- name: "ChipProps",
501
- source: 'export interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Show a leading status dot. Pass a className to color it (e.g. "bg-success"). */\n dot?: boolean;\n /** Tailwind classes controlling the dot color (defaults to muted). */\n dotClassName?: string;\n /** When provided, renders a trailing remove button that calls this handler. */\n onRemove?: () => void;\n /** Accessible label for the remove button. */\n removeLabel?: string;\n}'
1440
+ name: "DataTableProps",
1441
+ source: "export interface DataTableProps<TData, TValue> {\n columns: ColumnDef<TData, TValue>[];\n data: TData[];\n /** Rows per page. Set 0 to disable pagination. */\n pageSize?: number;\n /** Message shown when there are no rows. */\n emptyMessage?: React.ReactNode;\n className?: string;\n}"
502
1442
  }
503
1443
  ],
504
- readme: '# @nucleux/chip\n\nSmall rounded tag with optional dot and remove \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/chip @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Chip } from "@nucleux/chip";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1444
+ readme: '# @nucleux/data-table\n\nSortable, paginated data table \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/data-table @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { DataTable } from "@nucleux/data-table";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
505
1445
  peerDependencies: {
506
1446
  react: ">=18",
507
1447
  "react-dom": ">=18"
508
1448
  }
509
1449
  },
510
1450
  {
511
- name: "code-block",
512
- package: "@nucleux/code-block",
1451
+ name: "date-picker",
1452
+ package: "@nucleux/date-picker",
513
1453
  kind: "component",
514
- description: "A code surface with a language label and copy-to-clipboard button. Syntax\nhighlighting is intentionally left to the consumer (bring your own\nhighlighter such as Shiki) so the library stays dependency-light.",
515
- summary: "Code surface with copy button \u2014 Nucleux agentic UI for React.",
1454
+ description: "A text trigger that reveals a {@link Calendar} to pick a single date.",
1455
+ summary: "Date picker with calendar popover \u2014 Nucleux agentic UI for React.",
516
1456
  keywords: [
517
1457
  "nucleux",
518
1458
  "react",
@@ -521,24 +1461,24 @@ var catalog_default = {
521
1461
  "agentic",
522
1462
  "ai",
523
1463
  "tailwind",
524
- "code-block"
1464
+ "date-picker"
525
1465
  ],
526
1466
  exports: [
527
- "CodeBlock",
528
- "CodeBlockProps"
1467
+ "DatePicker",
1468
+ "DatePickerProps"
529
1469
  ],
530
1470
  components: [
531
- "CodeBlock"
1471
+ "DatePicker"
532
1472
  ],
533
- import: 'import { CodeBlock } from "@nucleux/code-block";',
534
- installSingle: "pnpm add @nucleux/code-block @nucleux/tokens",
1473
+ import: 'import { DatePicker } from "@nucleux/date-picker";',
1474
+ installSingle: "pnpm add @nucleux/date-picker @nucleux/tokens",
535
1475
  props: [
536
1476
  {
537
- name: "CodeBlockProps",
538
- source: 'export interface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> {\n /** The raw source code to display. */\n code: string;\n /** Language label shown in the header (e.g. "ts", "python"). */\n language?: string;\n /** Hide the copy button. */\n hideCopy?: boolean;\n}'
1477
+ name: "DatePickerProps",
1478
+ source: 'export interface DatePickerProps {\n value?: Date;\n defaultValue?: Date;\n onValueChange?: (date: Date | undefined) => void;\n placeholder?: string;\n disabled?: boolean;\n /** Disable individual days. */\n isDateDisabled?: (date: Date) => boolean;\n className?: string;\n "aria-label"?: string;\n}'
539
1479
  }
540
1480
  ],
541
- readme: '# @nucleux/code-block\n\nCode surface with copy button \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/code-block @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { CodeBlock } from "@nucleux/code-block";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1481
+ readme: '# @nucleux/date-picker\n\nDate picker with calendar popover \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/date-picker @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { DatePicker } from "@nucleux/date-picker";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
542
1482
  peerDependencies: {
543
1483
  react: ">=18",
544
1484
  "react-dom": ">=18"
@@ -589,6 +1529,47 @@ var catalog_default = {
589
1529
  "react-dom": ">=18"
590
1530
  }
591
1531
  },
1532
+ {
1533
+ name: "error-state",
1534
+ package: "@nucleux/error-state",
1535
+ kind: "component",
1536
+ description: `A centered empty / failure state \u2014 icon, title, description and recovery
1537
+ actions. The AI-failure variant is the "your prompt didn't go through, your
1538
+ draft is saved" recovery card.
1539
+ Source: Figma "Recovery / Error & Empty States".`,
1540
+ summary: "ErrorState \u2014 empty and AI-failure recovery states \u2014 Nucleux agentic UI for React.",
1541
+ keywords: [
1542
+ "nucleux",
1543
+ "react",
1544
+ "ui",
1545
+ "components",
1546
+ "agentic",
1547
+ "ai",
1548
+ "tailwind",
1549
+ "error-state"
1550
+ ],
1551
+ exports: [
1552
+ "ErrorState",
1553
+ "ErrorStateVariant",
1554
+ "ErrorStateProps"
1555
+ ],
1556
+ components: [
1557
+ "ErrorState"
1558
+ ],
1559
+ import: 'import { ErrorState } from "@nucleux/error-state";',
1560
+ installSingle: "pnpm add @nucleux/error-state @nucleux/tokens",
1561
+ props: [
1562
+ {
1563
+ name: "ErrorStateProps",
1564
+ source: 'export interface ErrorStateProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {\n /** `empty` for neutral empty states, `error` for a failure (tints the icon). */\n variant?: ErrorStateVariant;\n /** Icon shown above the title. */\n icon?: React.ReactNode;\n /** Headline, e.g. `"Something went wrong"`. */\n title: React.ReactNode;\n /** Supporting explanation. */\n description?: React.ReactNode;\n /** Action buttons, e.g. Retry / Edit prompt. */\n actions?: React.ReactNode;\n}'
1565
+ }
1566
+ ],
1567
+ readme: '# @nucleux/error-state\n\nErrorState \u2014 empty and AI-failure recovery states \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/error-state @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ErrorState } from "@nucleux/error-state";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1568
+ peerDependencies: {
1569
+ react: ">=18",
1570
+ "react-dom": ">=18"
1571
+ }
1572
+ },
592
1573
  {
593
1574
  name: "follow-up",
594
1575
  package: "@nucleux/follow-up",
@@ -629,6 +1610,50 @@ var catalog_default = {
629
1610
  "react-dom": ">=18"
630
1611
  }
631
1612
  },
1613
+ {
1614
+ name: "form",
1615
+ package: "@nucleux/form",
1616
+ kind: "component",
1617
+ description: "The form root \u2014 a re-export of react-hook-form's FormProvider.",
1618
+ summary: "Accessible form primitives \u2014 Nucleux agentic UI for React.",
1619
+ keywords: [
1620
+ "nucleux",
1621
+ "react",
1622
+ "ui",
1623
+ "components",
1624
+ "agentic",
1625
+ "ai",
1626
+ "tailwind",
1627
+ "form"
1628
+ ],
1629
+ exports: [
1630
+ "Form",
1631
+ "FormField",
1632
+ "useFormField",
1633
+ "FormItem",
1634
+ "FormLabel",
1635
+ "FormControl",
1636
+ "FormDescription",
1637
+ "FormMessage"
1638
+ ],
1639
+ components: [
1640
+ "Form",
1641
+ "FormField",
1642
+ "FormItem",
1643
+ "FormLabel",
1644
+ "FormControl",
1645
+ "FormDescription",
1646
+ "FormMessage"
1647
+ ],
1648
+ import: 'import { Form, FormField, FormItem, FormLabel } from "@nucleux/form";',
1649
+ installSingle: "pnpm add @nucleux/form @nucleux/tokens",
1650
+ props: [],
1651
+ readme: '# @nucleux/form\n\nAccessible form primitives \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/form @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Form } from "@nucleux/form";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1652
+ peerDependencies: {
1653
+ react: ">=18",
1654
+ "react-dom": ">=18"
1655
+ }
1656
+ },
632
1657
  {
633
1658
  name: "getting-started-pill",
634
1659
  package: "@nucleux/getting-started-pill",
@@ -730,6 +1755,43 @@ var catalog_default = {
730
1755
  "react-dom": ">=18"
731
1756
  }
732
1757
  },
1758
+ {
1759
+ name: "hover-card",
1760
+ package: "@nucleux/hover-card",
1761
+ kind: "component",
1762
+ description: "Reveals a floating card when its trigger is hovered or focused.",
1763
+ summary: "Hover-triggered content card \u2014 Nucleux agentic UI for React.",
1764
+ keywords: [
1765
+ "nucleux",
1766
+ "react",
1767
+ "ui",
1768
+ "components",
1769
+ "agentic",
1770
+ "ai",
1771
+ "tailwind",
1772
+ "hover-card"
1773
+ ],
1774
+ exports: [
1775
+ "HoverCard",
1776
+ "HoverCardProps"
1777
+ ],
1778
+ components: [
1779
+ "HoverCard"
1780
+ ],
1781
+ import: 'import { HoverCard } from "@nucleux/hover-card";',
1782
+ installSingle: "pnpm add @nucleux/hover-card @nucleux/tokens",
1783
+ props: [
1784
+ {
1785
+ name: "HoverCardProps",
1786
+ source: 'export interface HoverCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {\n /** The element that reveals the card on hover/focus. */\n trigger: React.ReactNode;\n /** The floating card content. */\n content: React.ReactNode;\n side?: "top" | "bottom";\n align?: "start" | "center" | "end";\n /** Delay in ms before opening on hover. */\n openDelay?: number;\n /** Delay in ms before closing after leaving. */\n closeDelay?: number;\n}'
1787
+ }
1788
+ ],
1789
+ readme: '# @nucleux/hover-card\n\nHover-triggered content card \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/hover-card @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { HoverCard } from "@nucleux/hover-card";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1790
+ peerDependencies: {
1791
+ react: ">=18",
1792
+ "react-dom": ">=18"
1793
+ }
1794
+ },
733
1795
  {
734
1796
  name: "icon-button",
735
1797
  package: "@nucleux/icon-button",
@@ -770,6 +1832,82 @@ var catalog_default = {
770
1832
  "react-dom": ">=18"
771
1833
  }
772
1834
  },
1835
+ {
1836
+ name: "inline-feedback",
1837
+ package: "@nucleux/inline-feedback",
1838
+ kind: "component",
1839
+ description: 'A compact toolbar beneath an AI response: copy, rate (thumbs up/down) and\nregenerate \u2014 the feedback + re-run affordances specific to generated output.\nSource: Figma "Expressive Input / Inline Feedback Controls".',
1840
+ summary: "InlineFeedback \u2014 copy, rate, and regenerate controls for an AI response \u2014 Nucleux agentic UI for React.",
1841
+ keywords: [
1842
+ "nucleux",
1843
+ "react",
1844
+ "ui",
1845
+ "components",
1846
+ "agentic",
1847
+ "ai",
1848
+ "tailwind",
1849
+ "inline-feedback"
1850
+ ],
1851
+ exports: [
1852
+ "InlineFeedback",
1853
+ "FeedbackRating",
1854
+ "InlineFeedbackProps"
1855
+ ],
1856
+ components: [
1857
+ "InlineFeedback",
1858
+ "FeedbackRating"
1859
+ ],
1860
+ import: 'import { InlineFeedback, FeedbackRating } from "@nucleux/inline-feedback";',
1861
+ installSingle: "pnpm add @nucleux/inline-feedback @nucleux/tokens",
1862
+ props: [
1863
+ {
1864
+ name: "InlineFeedbackProps",
1865
+ source: 'export interface InlineFeedbackProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {\n /** Current rating (controlled). */\n rating?: FeedbackRating | null;\n /** Initial rating (uncontrolled). */\n defaultRating?: FeedbackRating | null;\n /** Called when the user rates the response. */\n onRate?: (rating: FeedbackRating) => void;\n /** Called when the copy control is used. Hidden if omitted. */\n onCopy?: () => void;\n /** Called when the regenerate control is used. Hidden if omitted. */\n onRegenerate?: () => void;\n /** Called when the more-actions control is used. Hidden if omitted. */\n onMore?: () => void;\n}'
1866
+ }
1867
+ ],
1868
+ readme: '# @nucleux/inline-feedback\n\nInlineFeedback \u2014 copy, rate, and regenerate controls for an AI response \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/inline-feedback @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { InlineFeedback } from "@nucleux/inline-feedback";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1869
+ peerDependencies: {
1870
+ react: ">=18",
1871
+ "react-dom": ">=18"
1872
+ }
1873
+ },
1874
+ {
1875
+ name: "input",
1876
+ package: "@nucleux/input",
1877
+ kind: "component",
1878
+ description: "A single-line text input, tokenized and themeable.",
1879
+ summary: "Text input field \u2014 Nucleux agentic UI for React.",
1880
+ keywords: [
1881
+ "nucleux",
1882
+ "react",
1883
+ "ui",
1884
+ "components",
1885
+ "agentic",
1886
+ "ai",
1887
+ "tailwind",
1888
+ "input"
1889
+ ],
1890
+ exports: [
1891
+ "Input",
1892
+ "InputProps"
1893
+ ],
1894
+ components: [
1895
+ "Input"
1896
+ ],
1897
+ import: 'import { Input } from "@nucleux/input";',
1898
+ installSingle: "pnpm add @nucleux/input @nucleux/tokens",
1899
+ props: [
1900
+ {
1901
+ name: "InputProps",
1902
+ source: "export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n /** Render an error ring and set `aria-invalid`. */\n invalid?: boolean;\n}"
1903
+ }
1904
+ ],
1905
+ readme: '# @nucleux/input\n\nText input field \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/input @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Input } from "@nucleux/input";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1906
+ peerDependencies: {
1907
+ react: ">=18",
1908
+ "react-dom": ">=18"
1909
+ }
1910
+ },
773
1911
  {
774
1912
  name: "input-bar",
775
1913
  package: "@nucleux/input-bar",
@@ -807,6 +1945,119 @@ var catalog_default = {
807
1945
  "react-dom": ">=18"
808
1946
  }
809
1947
  },
1948
+ {
1949
+ name: "input-otp",
1950
+ package: "@nucleux/input-otp",
1951
+ kind: "component",
1952
+ description: "A segmented input for one-time codes / PINs.",
1953
+ summary: "Segmented one-time-code input \u2014 Nucleux agentic UI for React.",
1954
+ keywords: [
1955
+ "nucleux",
1956
+ "react",
1957
+ "ui",
1958
+ "components",
1959
+ "agentic",
1960
+ "ai",
1961
+ "tailwind",
1962
+ "input-otp"
1963
+ ],
1964
+ exports: [
1965
+ "InputOtp",
1966
+ "InputOtpProps"
1967
+ ],
1968
+ components: [
1969
+ "InputOtp"
1970
+ ],
1971
+ import: 'import { InputOtp } from "@nucleux/input-otp";',
1972
+ installSingle: "pnpm add @nucleux/input-otp @nucleux/tokens",
1973
+ props: [
1974
+ {
1975
+ name: "InputOtpProps",
1976
+ source: 'export interface InputOtpProps {\n /** Number of code cells. */\n length?: number;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n /** Fired once every cell is filled. */\n onComplete?: (value: string) => void;\n disabled?: boolean;\n /** Only accept digits (default true). */\n numeric?: boolean;\n className?: string;\n "aria-label"?: string;\n}'
1977
+ }
1978
+ ],
1979
+ readme: '# @nucleux/input-otp\n\nSegmented one-time-code input \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/input-otp @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { InputOtp } from "@nucleux/input-otp";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1980
+ peerDependencies: {
1981
+ react: ">=18",
1982
+ "react-dom": ">=18"
1983
+ }
1984
+ },
1985
+ {
1986
+ name: "knowledge-base-picker",
1987
+ package: "@nucleux/knowledge-base-picker",
1988
+ kind: "component",
1989
+ description: 'A selectable list of context files/knowledge sources an agent may draw on \u2014\ncurates the retrieval context for a turn.\nSource: Figma "Context Expansion / Knowledge Bases".',
1990
+ summary: "KnowledgeBasePicker \u2014 select the context files an agent may use \u2014 Nucleux agentic UI for React.",
1991
+ keywords: [
1992
+ "nucleux",
1993
+ "react",
1994
+ "ui",
1995
+ "components",
1996
+ "agentic",
1997
+ "ai",
1998
+ "tailwind",
1999
+ "knowledge-base-picker"
2000
+ ],
2001
+ exports: [
2002
+ "KnowledgeBasePicker",
2003
+ "KnowledgeSource",
2004
+ "KnowledgeBasePickerProps"
2005
+ ],
2006
+ components: [
2007
+ "KnowledgeBasePicker",
2008
+ "KnowledgeSource"
2009
+ ],
2010
+ import: 'import { KnowledgeBasePicker, KnowledgeSource } from "@nucleux/knowledge-base-picker";',
2011
+ installSingle: "pnpm add @nucleux/knowledge-base-picker @nucleux/tokens",
2012
+ props: [
2013
+ {
2014
+ name: "KnowledgeBasePickerProps",
2015
+ source: 'export interface KnowledgeBasePickerProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {\n /** The available knowledge sources. */\n sources: KnowledgeSource[];\n /** Selected source ids (controlled). */\n value?: string[];\n /** Initial selection (uncontrolled). */\n defaultValue?: string[];\n /** Called when the selection changes. */\n onValueChange?: (ids: string[]) => void;\n /** Heading above the list. Defaults to `"Knowledge sources"`. */\n heading?: React.ReactNode;\n}'
2016
+ }
2017
+ ],
2018
+ readme: '# @nucleux/knowledge-base-picker\n\nKnowledgeBasePicker \u2014 select the context files an agent may use \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/knowledge-base-picker @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { KnowledgeBasePicker } from "@nucleux/knowledge-base-picker";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2019
+ peerDependencies: {
2020
+ react: ">=18",
2021
+ "react-dom": ">=18"
2022
+ }
2023
+ },
2024
+ {
2025
+ name: "label",
2026
+ package: "@nucleux/label",
2027
+ kind: "component",
2028
+ description: "An accessible caption for a form control. Pair with `htmlFor`.",
2029
+ summary: "Accessible form label \u2014 Nucleux agentic UI for React.",
2030
+ keywords: [
2031
+ "nucleux",
2032
+ "react",
2033
+ "ui",
2034
+ "components",
2035
+ "agentic",
2036
+ "ai",
2037
+ "tailwind",
2038
+ "label"
2039
+ ],
2040
+ exports: [
2041
+ "Label",
2042
+ "LabelProps"
2043
+ ],
2044
+ components: [
2045
+ "Label"
2046
+ ],
2047
+ import: 'import { Label } from "@nucleux/label";',
2048
+ installSingle: "pnpm add @nucleux/label @nucleux/tokens",
2049
+ props: [
2050
+ {
2051
+ name: "LabelProps",
2052
+ source: "export interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n /** Show a destructive-colored asterisk to mark the field required. */\n required?: boolean;\n}"
2053
+ }
2054
+ ],
2055
+ readme: '# @nucleux/label\n\nAccessible form label \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/label @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Label } from "@nucleux/label";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2056
+ peerDependencies: {
2057
+ react: ">=18",
2058
+ "react-dom": ">=18"
2059
+ }
2060
+ },
810
2061
  {
811
2062
  name: "link-button",
812
2063
  package: "@nucleux/link-button",
@@ -875,7 +2126,48 @@ var catalog_default = {
875
2126
  source: 'export interface MediaCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {\n /** Card title. */\n title?: React.ReactNode;\n /** Supporting description. */\n description?: React.ReactNode;\n /** Media node (image/video). Takes precedence over `image`. */\n media?: React.ReactNode;\n /** Image URL rendered as the media, when `media` isn\'t provided. */\n image?: string;\n /** Alt text for `image`. */\n imageAlt?: string;\n /** Layout: media on top (vertical) or beside the body (horizontal). */\n orientation?: "vertical" | "horizontal";\n /** Trailing content below the description (e.g. actions). */\n footer?: React.ReactNode;\n}'
876
2127
  }
877
2128
  ],
878
- readme: '# @nucleux/media-card\n\nMediaCard \u2014 media + title + description card (card variations) \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/media-card @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { MediaCard } from "@nucleux/media-card";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2129
+ readme: '# @nucleux/media-card\n\nMediaCard \u2014 media + title + description card (card variations) \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/media-card @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { MediaCard } from "@nucleux/media-card";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2130
+ peerDependencies: {
2131
+ react: ">=18",
2132
+ "react-dom": ">=18"
2133
+ }
2134
+ },
2135
+ {
2136
+ name: "memory-summary",
2137
+ package: "@nucleux/memory-summary",
2138
+ kind: "component",
2139
+ description: `The user-facing view of an agent's long-term memory \u2014 grouped facts it holds
2140
+ about the user, with freshness, refresh, and an add/update composer.
2141
+ Source: Figma "Memory and Continuity / Memory summary".`,
2142
+ summary: "MemorySummary \u2014 what the assistant remembers about the user \u2014 Nucleux agentic UI for React.",
2143
+ keywords: [
2144
+ "nucleux",
2145
+ "react",
2146
+ "ui",
2147
+ "components",
2148
+ "agentic",
2149
+ "ai",
2150
+ "tailwind",
2151
+ "memory-summary"
2152
+ ],
2153
+ exports: [
2154
+ "MemorySummary",
2155
+ "MemoryGroup",
2156
+ "MemorySummaryProps"
2157
+ ],
2158
+ components: [
2159
+ "MemorySummary",
2160
+ "MemoryGroup"
2161
+ ],
2162
+ import: 'import { MemorySummary, MemoryGroup } from "@nucleux/memory-summary";',
2163
+ installSingle: "pnpm add @nucleux/memory-summary @nucleux/tokens",
2164
+ props: [
2165
+ {
2166
+ name: "MemorySummaryProps",
2167
+ source: 'export interface MemorySummaryProps extends React.HTMLAttributes<HTMLDivElement> {\n /** The grouped facts the assistant remembers. */\n groups: MemoryGroup[];\n /** Heading. Defaults to `"What I remember"`. */\n heading?: React.ReactNode;\n /** Freshness line, e.g. `"Updated 1 minute ago"`. */\n updatedAt?: React.ReactNode;\n /** Called when the refresh control is used. Hidden if omitted. */\n onRefresh?: () => void;\n /** Called with the entered text to add/update a memory. Renders a composer when set. */\n onAdd?: (text: string) => void;\n addPlaceholder?: string;\n}'
2168
+ }
2169
+ ],
2170
+ readme: '# @nucleux/memory-summary\n\nMemorySummary \u2014 what the assistant remembers about the user \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/memory-summary @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { MemorySummary } from "@nucleux/memory-summary";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
879
2171
  peerDependencies: {
880
2172
  react: ">=18",
881
2173
  "react-dom": ">=18"
@@ -924,6 +2216,61 @@ var catalog_default = {
924
2216
  "react-dom": ">=18"
925
2217
  }
926
2218
  },
2219
+ {
2220
+ name: "menubar",
2221
+ package: "@nucleux/menubar",
2222
+ kind: "component",
2223
+ description: "A horizontal bar of top-level menus (File / Edit / View \u2026).",
2224
+ summary: "Application menu bar \u2014 Nucleux agentic UI for React.",
2225
+ keywords: [
2226
+ "nucleux",
2227
+ "react",
2228
+ "ui",
2229
+ "components",
2230
+ "agentic",
2231
+ "ai",
2232
+ "tailwind",
2233
+ "menubar"
2234
+ ],
2235
+ exports: [
2236
+ "Menubar",
2237
+ "MenubarMenu",
2238
+ "MenubarTrigger",
2239
+ "MenubarContent",
2240
+ "MenubarItem",
2241
+ "MenubarSeparator",
2242
+ "MenubarProps",
2243
+ "MenubarMenuProps",
2244
+ "MenubarTriggerProps",
2245
+ "MenubarContentProps",
2246
+ "MenubarItemProps"
2247
+ ],
2248
+ components: [
2249
+ "Menubar",
2250
+ "MenubarMenu",
2251
+ "MenubarTrigger",
2252
+ "MenubarContent",
2253
+ "MenubarItem",
2254
+ "MenubarSeparator"
2255
+ ],
2256
+ import: 'import { Menubar, MenubarMenu, MenubarTrigger, MenubarContent } from "@nucleux/menubar";',
2257
+ installSingle: "pnpm add @nucleux/menubar @nucleux/tokens",
2258
+ props: [
2259
+ {
2260
+ name: "MenubarMenuProps",
2261
+ source: "export interface MenubarMenuProps {\n /** Unique key for this menu. Auto-generated if omitted. */\n value?: string;\n children: React.ReactNode;\n}"
2262
+ },
2263
+ {
2264
+ name: "MenubarItemProps",
2265
+ source: "export interface MenubarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n trailing?: React.ReactNode;\n destructive?: boolean;\n}"
2266
+ }
2267
+ ],
2268
+ readme: '# @nucleux/menubar\n\nApplication menu bar \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/menubar @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Menubar } from "@nucleux/menubar";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2269
+ peerDependencies: {
2270
+ react: ">=18",
2271
+ "react-dom": ">=18"
2272
+ }
2273
+ },
927
2274
  {
928
2275
  name: "message",
929
2276
  package: "@nucleux/message",
@@ -961,6 +2308,45 @@ var catalog_default = {
961
2308
  "react-dom": ">=18"
962
2309
  }
963
2310
  },
2311
+ {
2312
+ name: "model-selector",
2313
+ package: "@nucleux/model-selector",
2314
+ kind: "component",
2315
+ description: 'A composer-anchored dropdown for choosing which model handles the generation.\nSource: Figma "Context Expansion / Model Selection".',
2316
+ summary: "ModelSelector \u2014 choose which model handles the generation \u2014 Nucleux agentic UI for React.",
2317
+ keywords: [
2318
+ "nucleux",
2319
+ "react",
2320
+ "ui",
2321
+ "components",
2322
+ "agentic",
2323
+ "ai",
2324
+ "tailwind",
2325
+ "model-selector"
2326
+ ],
2327
+ exports: [
2328
+ "ModelSelector",
2329
+ "ModelOption",
2330
+ "ModelSelectorProps"
2331
+ ],
2332
+ components: [
2333
+ "ModelSelector",
2334
+ "ModelOption"
2335
+ ],
2336
+ import: 'import { ModelSelector, ModelOption } from "@nucleux/model-selector";',
2337
+ installSingle: "pnpm add @nucleux/model-selector @nucleux/tokens",
2338
+ props: [
2339
+ {
2340
+ name: "ModelSelectorProps",
2341
+ source: 'export interface ModelSelectorProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {\n /** The available models. */\n models: ModelOption[];\n /** Selected value (controlled). */\n value?: string;\n /** Initial value (uncontrolled). */\n defaultValue?: string;\n /** Called when a model is chosen. */\n onValueChange?: (value: string) => void;\n /** Accessible label for the trigger. Defaults to `"Model"`. */\n label?: string;\n}'
2342
+ }
2343
+ ],
2344
+ readme: '# @nucleux/model-selector\n\nModelSelector \u2014 choose which model handles the generation \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/model-selector @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ModelSelector } from "@nucleux/model-selector";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2345
+ peerDependencies: {
2346
+ react: ">=18",
2347
+ "react-dom": ">=18"
2348
+ }
2349
+ },
964
2350
  {
965
2351
  name: "modular-consent",
966
2352
  package: "@nucleux/modular-consent",
@@ -1053,6 +2439,62 @@ var catalog_default = {
1053
2439
  "react-dom": ">=18"
1054
2440
  }
1055
2441
  },
2442
+ {
2443
+ name: "navigation-menu",
2444
+ package: "@nucleux/navigation-menu",
2445
+ kind: "component",
2446
+ description: "A site navigation bar with hover/focus-revealed dropdown panels.",
2447
+ summary: "Navigation menu with dropdown panels \u2014 Nucleux agentic UI for React.",
2448
+ keywords: [
2449
+ "nucleux",
2450
+ "react",
2451
+ "ui",
2452
+ "components",
2453
+ "agentic",
2454
+ "ai",
2455
+ "tailwind",
2456
+ "navigation-menu"
2457
+ ],
2458
+ exports: [
2459
+ "NavigationMenu",
2460
+ "NavigationMenuList",
2461
+ "NavigationMenuItem",
2462
+ "NavigationMenuTrigger",
2463
+ "NavigationMenuContent",
2464
+ "NavigationMenuLink",
2465
+ "NavigationMenuProps",
2466
+ "NavigationMenuListProps",
2467
+ "NavigationMenuItemProps",
2468
+ "NavigationMenuTriggerProps",
2469
+ "NavigationMenuContentProps",
2470
+ "NavigationMenuLinkProps"
2471
+ ],
2472
+ components: [
2473
+ "NavigationMenu",
2474
+ "NavigationMenuList",
2475
+ "NavigationMenuItem",
2476
+ "NavigationMenuTrigger",
2477
+ "NavigationMenuContent",
2478
+ "NavigationMenuLink"
2479
+ ],
2480
+ import: 'import { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuTrigger } from "@nucleux/navigation-menu";',
2481
+ installSingle: "pnpm add @nucleux/navigation-menu @nucleux/tokens",
2482
+ props: [
2483
+ {
2484
+ name: "NavigationMenuItemProps",
2485
+ source: "export interface NavigationMenuItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n value?: string;\n}"
2486
+ },
2487
+ {
2488
+ name: "NavigationMenuLinkProps",
2489
+ source: "export interface NavigationMenuLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n active?: boolean;\n}"
2490
+ }
2491
+ ],
2492
+ readme: '# @nucleux/navigation-menu\n\nNavigation menu with dropdown panels \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/navigation-menu @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { NavigationMenu } from "@nucleux/navigation-menu";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2493
+ peerDependencies: {
2494
+ react: ">=18",
2495
+ "react-dom": ">=18"
2496
+ }
2497
+ },
1056
2498
  {
1057
2499
  name: "page-header",
1058
2500
  package: "@nucleux/page-header",
@@ -1090,6 +2532,43 @@ var catalog_default = {
1090
2532
  "react-dom": ">=18"
1091
2533
  }
1092
2534
  },
2535
+ {
2536
+ name: "pagination",
2537
+ package: "@nucleux/pagination",
2538
+ kind: "component",
2539
+ description: "Page navigation with previous/next controls and truncated page numbers.",
2540
+ summary: "Page navigation controls \u2014 Nucleux agentic UI for React.",
2541
+ keywords: [
2542
+ "nucleux",
2543
+ "react",
2544
+ "ui",
2545
+ "components",
2546
+ "agentic",
2547
+ "ai",
2548
+ "tailwind",
2549
+ "pagination"
2550
+ ],
2551
+ exports: [
2552
+ "Pagination",
2553
+ "PaginationProps"
2554
+ ],
2555
+ components: [
2556
+ "Pagination"
2557
+ ],
2558
+ import: 'import { Pagination } from "@nucleux/pagination";',
2559
+ installSingle: "pnpm add @nucleux/pagination @nucleux/tokens",
2560
+ props: [
2561
+ {
2562
+ name: "PaginationProps",
2563
+ source: 'export interface PaginationProps extends Omit<React.HTMLAttributes<HTMLElement>, "onChange"> {\n /** 1-based current page. */\n page: number;\n /** Total number of pages. */\n count: number;\n onPageChange: (page: number) => void;\n /** How many page buttons to show around the current page. */\n siblingCount?: number;\n}'
2564
+ }
2565
+ ],
2566
+ readme: '# @nucleux/pagination\n\nPage navigation controls \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/pagination @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Pagination } from "@nucleux/pagination";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2567
+ peerDependencies: {
2568
+ react: ">=18",
2569
+ "react-dom": ">=18"
2570
+ }
2571
+ },
1093
2572
  {
1094
2573
  name: "popover",
1095
2574
  package: "@nucleux/popover",
@@ -1136,6 +2615,46 @@ var catalog_default = {
1136
2615
  "react-dom": ">=18"
1137
2616
  }
1138
2617
  },
2618
+ {
2619
+ name: "privacy-notice",
2620
+ package: "@nucleux/privacy-notice",
2621
+ kind: "component",
2622
+ description: `A subtle notice that a conversation is ephemeral or private \u2014 communicates
2623
+ the agent's data-handling/memory state to the user.
2624
+ Source: Figma "Privacy and Control / temporary & incognito notices".`,
2625
+ summary: "PrivacyNotice \u2014 a notice that a chat is ephemeral or private \u2014 Nucleux agentic UI for React.",
2626
+ keywords: [
2627
+ "nucleux",
2628
+ "react",
2629
+ "ui",
2630
+ "components",
2631
+ "agentic",
2632
+ "ai",
2633
+ "tailwind",
2634
+ "privacy-notice"
2635
+ ],
2636
+ exports: [
2637
+ "PrivacyNotice",
2638
+ "PrivacyNoticeVariant",
2639
+ "PrivacyNoticeProps"
2640
+ ],
2641
+ components: [
2642
+ "PrivacyNotice"
2643
+ ],
2644
+ import: 'import { PrivacyNotice } from "@nucleux/privacy-notice";',
2645
+ installSingle: "pnpm add @nucleux/privacy-notice @nucleux/tokens",
2646
+ props: [
2647
+ {
2648
+ name: "PrivacyNoticeProps",
2649
+ source: "export interface PrivacyNoticeProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Which data-handling mode this notice describes. */\n variant?: PrivacyNoticeVariant;\n /** Leading icon. Defaults per variant. */\n icon?: React.ReactNode;\n}"
2650
+ }
2651
+ ],
2652
+ readme: '# @nucleux/privacy-notice\n\nPrivacyNotice \u2014 a notice that a chat is ephemeral or private \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/privacy-notice @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { PrivacyNotice } from "@nucleux/privacy-notice";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2653
+ peerDependencies: {
2654
+ react: ">=18",
2655
+ "react-dom": ">=18"
2656
+ }
2657
+ },
1139
2658
  {
1140
2659
  name: "progress",
1141
2660
  package: "@nucleux/progress",
@@ -1175,6 +2694,86 @@ var catalog_default = {
1175
2694
  "react-dom": ">=18"
1176
2695
  }
1177
2696
  },
2697
+ {
2698
+ name: "prompt-enhancer",
2699
+ package: "@nucleux/prompt-enhancer",
2700
+ kind: "component",
2701
+ description: `A sparkle "enhance" pill plus one-tap rewrite intents for the user's draft \u2014
2702
+ one-click AI improvement of a prompt before it's sent.
2703
+ Source: Figma "Prompt Scaffolds / Prompt Enhancer".`,
2704
+ summary: "PromptEnhancer \u2014 one-tap AI rewrite intents for a draft prompt \u2014 Nucleux agentic UI for React.",
2705
+ keywords: [
2706
+ "nucleux",
2707
+ "react",
2708
+ "ui",
2709
+ "components",
2710
+ "agentic",
2711
+ "ai",
2712
+ "tailwind",
2713
+ "prompt-enhancer"
2714
+ ],
2715
+ exports: [
2716
+ "PromptEnhancer",
2717
+ "PromptEnhancerProps"
2718
+ ],
2719
+ components: [
2720
+ "PromptEnhancer"
2721
+ ],
2722
+ import: 'import { PromptEnhancer } from "@nucleux/prompt-enhancer";',
2723
+ installSingle: "pnpm add @nucleux/prompt-enhancer @nucleux/tokens",
2724
+ props: [
2725
+ {
2726
+ name: "PromptEnhancerProps",
2727
+ source: 'export interface PromptEnhancerProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {\n /** One-tap rewrite-intent chips, e.g. "Make it professional". */\n suggestions?: string[];\n /** Called when the main enhance pill is activated. */\n onEnhance?: () => void;\n /** Called with the chosen intent when a suggestion chip is activated. */\n onSelect?: (suggestion: string) => void;\n /** Label on the enhance pill. Defaults to `"Enhance prompt"`. */\n label?: React.ReactNode;\n}'
2728
+ }
2729
+ ],
2730
+ readme: '# @nucleux/prompt-enhancer\n\nPromptEnhancer \u2014 one-tap AI rewrite intents for a draft prompt \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/prompt-enhancer @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { PromptEnhancer } from "@nucleux/prompt-enhancer";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2731
+ peerDependencies: {
2732
+ react: ">=18",
2733
+ "react-dom": ">=18"
2734
+ }
2735
+ },
2736
+ {
2737
+ name: "prompt-template",
2738
+ package: "@nucleux/prompt-template",
2739
+ kind: "component",
2740
+ description: `A fillable prompt scaffold \u2014 a sentence with highlighted fill-in-the-blank
2741
+ slots the user tabs through, so users don't have to author a good prompt.
2742
+ Source: Figma "Prompt Scaffolds / Madlibs".`,
2743
+ summary: "PromptTemplate \u2014 a fillable prompt scaffold with named slots \u2014 Nucleux agentic UI for React.",
2744
+ keywords: [
2745
+ "nucleux",
2746
+ "react",
2747
+ "ui",
2748
+ "components",
2749
+ "agentic",
2750
+ "ai",
2751
+ "tailwind",
2752
+ "prompt-template"
2753
+ ],
2754
+ exports: [
2755
+ "PromptTemplate",
2756
+ "PromptSegment",
2757
+ "PromptTemplateProps"
2758
+ ],
2759
+ components: [
2760
+ "PromptTemplate",
2761
+ "PromptSegment"
2762
+ ],
2763
+ import: 'import { PromptTemplate, PromptSegment } from "@nucleux/prompt-template";',
2764
+ installSingle: "pnpm add @nucleux/prompt-template @nucleux/tokens",
2765
+ props: [
2766
+ {
2767
+ name: "PromptTemplateProps",
2768
+ source: 'export interface PromptTemplateProps\n extends Omit<React.FormHTMLAttributes<HTMLFormElement>, "onSubmit"> {\n /** The template as an ordered mix of literal text and named slots. */\n segments: PromptSegment[];\n /** Slot values (controlled), keyed by slot id. */\n values?: Record<string, string>;\n /** Initial slot values (uncontrolled). */\n defaultValues?: Record<string, string>;\n /** Called when any slot changes. */\n onValuesChange?: (values: Record<string, string>) => void;\n /** Called with the interpolated prompt (and raw values) on submit. */\n onComplete?: (prompt: string, values: Record<string, string>) => void;\n /** Submit button label. Defaults to `"Use this prompt"`. */\n submitLabel?: React.ReactNode;\n}'
2769
+ }
2770
+ ],
2771
+ readme: '# @nucleux/prompt-template\n\nPromptTemplate \u2014 a fillable prompt scaffold with named slots \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/prompt-template @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { PromptTemplate } from "@nucleux/prompt-template";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2772
+ peerDependencies: {
2773
+ react: ">=18",
2774
+ "react-dom": ">=18"
2775
+ }
2776
+ },
1178
2777
  {
1179
2778
  name: "radio-group",
1180
2779
  package: "@nucleux/radio-group",
@@ -1305,22 +2904,152 @@ var catalog_default = {
1305
2904
  "RelatedPatternCardProps"
1306
2905
  ],
1307
2906
  components: [
1308
- "RelatedPatternsGrid",
1309
- "RelatedPatternCard"
2907
+ "RelatedPatternsGrid",
2908
+ "RelatedPatternCard"
2909
+ ],
2910
+ import: 'import { RelatedPatternsGrid, RelatedPatternCard } from "@nucleux/related-patterns-grid";',
2911
+ installSingle: "pnpm add @nucleux/related-patterns-grid @nucleux/tokens",
2912
+ props: [
2913
+ {
2914
+ name: "RelatedPatternsGridProps",
2915
+ source: "export interface RelatedPatternsGridProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Number of columns (default 2). */\n columns?: number;\n}"
2916
+ },
2917
+ {
2918
+ name: "RelatedPatternCardProps",
2919
+ source: 'export interface RelatedPatternCardProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "title"> {\n /** Card title. */\n title: React.ReactNode;\n /** Supporting meta text, e.g. "Onboarding \xB7 Trust & Disclosure". */\n meta?: React.ReactNode;\n}'
2920
+ }
2921
+ ],
2922
+ readme: '# @nucleux/related-patterns-grid\n\nRelatedPatternsGrid \u2014 grid of related pattern cards \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/related-patterns-grid @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { RelatedPatternsGrid } from "@nucleux/related-patterns-grid";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2923
+ peerDependencies: {
2924
+ react: ">=18",
2925
+ "react-dom": ">=18"
2926
+ }
2927
+ },
2928
+ {
2929
+ name: "resizable",
2930
+ package: "@nucleux/resizable",
2931
+ kind: "component",
2932
+ description: "A container of {@link ResizablePanel}s separated by draggable {@link ResizableHandle}s.",
2933
+ summary: "Resizable split panels \u2014 Nucleux agentic UI for React.",
2934
+ keywords: [
2935
+ "nucleux",
2936
+ "react",
2937
+ "ui",
2938
+ "components",
2939
+ "agentic",
2940
+ "ai",
2941
+ "tailwind",
2942
+ "resizable"
2943
+ ],
2944
+ exports: [
2945
+ "ResizablePanelGroup",
2946
+ "ResizablePanel",
2947
+ "ResizableHandle",
2948
+ "ResizablePanelGroupProps",
2949
+ "ResizablePanelProps",
2950
+ "ResizableHandleProps"
2951
+ ],
2952
+ components: [
2953
+ "ResizablePanelGroup",
2954
+ "ResizablePanel",
2955
+ "ResizableHandle"
2956
+ ],
2957
+ import: 'import { ResizablePanelGroup, ResizablePanel, ResizableHandle } from "@nucleux/resizable";',
2958
+ installSingle: "pnpm add @nucleux/resizable @nucleux/tokens",
2959
+ props: [
2960
+ {
2961
+ name: "ResizablePanelGroupProps",
2962
+ source: "export interface ResizablePanelGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n direction?: Direction;\n}"
2963
+ },
2964
+ {
2965
+ name: "ResizablePanelProps",
2966
+ source: "export interface ResizablePanelProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Initial size as a flex-grow weight (defaults to 1). */\n defaultSize?: number;\n}"
2967
+ },
2968
+ {
2969
+ name: "ResizableHandleProps",
2970
+ source: 'export interface ResizableHandleProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Show the grip dots affordance. */\n withHandle?: boolean;\n /** Accessible name for the splitter. */\n "aria-label"?: string;\n}'
2971
+ }
2972
+ ],
2973
+ readme: '# @nucleux/resizable\n\nResizable split panels \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/resizable @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Resizable } from "@nucleux/resizable";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2974
+ peerDependencies: {
2975
+ react: ">=18",
2976
+ "react-dom": ">=18"
2977
+ }
2978
+ },
2979
+ {
2980
+ name: "response-comparison",
2981
+ package: "@nucleux/response-comparison",
2982
+ kind: "component",
2983
+ description: 'Two candidate AI outputs shown side by side with a "prefer this response"\nchoice \u2014 collects A/B preference feedback on model generations.\nSource: Figma "Output & Processing / Summary Variants".',
2984
+ summary: "ResponseComparison \u2014 compare two AI responses and prefer one \u2014 Nucleux agentic UI for React.",
2985
+ keywords: [
2986
+ "nucleux",
2987
+ "react",
2988
+ "ui",
2989
+ "components",
2990
+ "agentic",
2991
+ "ai",
2992
+ "tailwind",
2993
+ "response-comparison"
2994
+ ],
2995
+ exports: [
2996
+ "ResponseComparison",
2997
+ "ResponseOption",
2998
+ "ResponseComparisonProps"
2999
+ ],
3000
+ components: [
3001
+ "ResponseComparison",
3002
+ "ResponseOption"
3003
+ ],
3004
+ import: 'import { ResponseComparison, ResponseOption } from "@nucleux/response-comparison";',
3005
+ installSingle: "pnpm add @nucleux/response-comparison @nucleux/tokens",
3006
+ props: [
3007
+ {
3008
+ name: "ResponseComparisonProps",
3009
+ source: 'export interface ResponseComparisonProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {\n /** The candidate responses to compare (typically two). */\n options: ResponseOption[];\n /** Preferred option id (controlled). */\n value?: string | null;\n /** Called when the user prefers a response. */\n onPrefer?: (id: string) => void;\n /** Prompt above the options. Defaults to a comparison question. */\n question?: React.ReactNode;\n /** Label for the prefer button. Defaults to `"Prefer this response"`. */\n preferLabel?: React.ReactNode;\n}'
3010
+ }
3011
+ ],
3012
+ readme: '# @nucleux/response-comparison\n\nResponseComparison \u2014 compare two AI responses and prefer one \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/response-comparison @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ResponseComparison } from "@nucleux/response-comparison";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3013
+ peerDependencies: {
3014
+ react: ">=18",
3015
+ "react-dom": ">=18"
3016
+ }
3017
+ },
3018
+ {
3019
+ name: "rewrite-menu",
3020
+ package: "@nucleux/rewrite-menu",
3021
+ kind: "component",
3022
+ description: 'A menu of model-driven rewrite and transform actions on an AI response \u2014\nretry, expand, make concise, restyle, convert to bullets.\nSource: Figma "Refinement / Contextual transform".',
3023
+ summary: "RewriteMenu \u2014 a menu of AI rewrite and transform actions \u2014 Nucleux agentic UI for React.",
3024
+ keywords: [
3025
+ "nucleux",
3026
+ "react",
3027
+ "ui",
3028
+ "components",
3029
+ "agentic",
3030
+ "ai",
3031
+ "tailwind",
3032
+ "rewrite-menu"
3033
+ ],
3034
+ exports: [
3035
+ "defaultRewriteActions",
3036
+ "RewriteMenu",
3037
+ "RewriteAction",
3038
+ "RewriteMenuProps"
3039
+ ],
3040
+ components: [
3041
+ "RewriteMenu",
3042
+ "RewriteAction"
1310
3043
  ],
1311
- import: 'import { RelatedPatternsGrid, RelatedPatternCard } from "@nucleux/related-patterns-grid";',
1312
- installSingle: "pnpm add @nucleux/related-patterns-grid @nucleux/tokens",
3044
+ import: 'import { RewriteMenu, RewriteAction } from "@nucleux/rewrite-menu";',
3045
+ installSingle: "pnpm add @nucleux/rewrite-menu @nucleux/tokens",
1313
3046
  props: [
1314
3047
  {
1315
- name: "RelatedPatternsGridProps",
1316
- source: "export interface RelatedPatternsGridProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Number of columns (default 2). */\n columns?: number;\n}"
1317
- },
1318
- {
1319
- name: "RelatedPatternCardProps",
1320
- source: 'export interface RelatedPatternCardProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "title"> {\n /** Card title. */\n title: React.ReactNode;\n /** Supporting meta text, e.g. "Onboarding \xB7 Trust & Disclosure". */\n meta?: React.ReactNode;\n}'
3048
+ name: "RewriteMenuProps",
3049
+ source: 'export interface RewriteMenuProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {\n /** Actions to list. Defaults to {@link defaultRewriteActions}. */\n actions?: RewriteAction[];\n /** Called with the action id when an item is chosen. */\n onAction?: (id: string) => void;\n /** Optional heading above the list. */\n label?: React.ReactNode;\n}'
1321
3050
  }
1322
3051
  ],
1323
- readme: '# @nucleux/related-patterns-grid\n\nRelatedPatternsGrid \u2014 grid of related pattern cards \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/related-patterns-grid @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { RelatedPatternsGrid } from "@nucleux/related-patterns-grid";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3052
+ readme: '# @nucleux/rewrite-menu\n\nRewriteMenu \u2014 a menu of AI rewrite and transform actions \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/rewrite-menu @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { RewriteMenu } from "@nucleux/rewrite-menu";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
1324
3053
  peerDependencies: {
1325
3054
  react: ">=18",
1326
3055
  "react-dom": ">=18"
@@ -1420,6 +3149,43 @@ var catalog_default = {
1420
3149
  "react-dom": ">=18"
1421
3150
  }
1422
3151
  },
3152
+ {
3153
+ name: "scroll-area",
3154
+ package: "@nucleux/scroll-area",
3155
+ kind: "component",
3156
+ description: "A scroll container with a thin, tokenized scrollbar. Set a height/width via\n`className` (e.g. `h-48`) for the scroll area to take effect.",
3157
+ summary: "Styled scroll container \u2014 Nucleux agentic UI for React.",
3158
+ keywords: [
3159
+ "nucleux",
3160
+ "react",
3161
+ "ui",
3162
+ "components",
3163
+ "agentic",
3164
+ "ai",
3165
+ "tailwind",
3166
+ "scroll-area"
3167
+ ],
3168
+ exports: [
3169
+ "ScrollArea",
3170
+ "ScrollAreaProps"
3171
+ ],
3172
+ components: [
3173
+ "ScrollArea"
3174
+ ],
3175
+ import: 'import { ScrollArea } from "@nucleux/scroll-area";',
3176
+ installSingle: "pnpm add @nucleux/scroll-area @nucleux/tokens",
3177
+ props: [
3178
+ {
3179
+ name: "ScrollAreaProps",
3180
+ source: 'export interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: "vertical" | "horizontal" | "both";\n /** Max height (any CSS length) for the vertical scroll viewport. */\n viewportClassName?: string;\n}'
3181
+ }
3182
+ ],
3183
+ readme: '# @nucleux/scroll-area\n\nStyled scroll container \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/scroll-area @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ScrollArea } from "@nucleux/scroll-area";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3184
+ peerDependencies: {
3185
+ react: ">=18",
3186
+ "react-dom": ">=18"
3187
+ }
3188
+ },
1423
3189
  {
1424
3190
  name: "search-input",
1425
3191
  package: "@nucleux/search-input",
@@ -1531,6 +3297,43 @@ var catalog_default = {
1531
3297
  "react-dom": ">=18"
1532
3298
  }
1533
3299
  },
3300
+ {
3301
+ name: "session-recap",
3302
+ package: "@nucleux/session-recap",
3303
+ kind: "component",
3304
+ description: 'A tinted callout that wraps up an agent run in one natural-language line \u2014\nwhat the agent did \u2014 with an optional link to the full log.\nSource: Figma "Explainability / Recap Card".',
3305
+ summary: "SessionRecap \u2014 a natural-language recap of an agent run \u2014 Nucleux agentic UI for React.",
3306
+ keywords: [
3307
+ "nucleux",
3308
+ "react",
3309
+ "ui",
3310
+ "components",
3311
+ "agentic",
3312
+ "ai",
3313
+ "tailwind",
3314
+ "session-recap"
3315
+ ],
3316
+ exports: [
3317
+ "SessionRecap",
3318
+ "SessionRecapProps"
3319
+ ],
3320
+ components: [
3321
+ "SessionRecap"
3322
+ ],
3323
+ import: 'import { SessionRecap } from "@nucleux/session-recap";',
3324
+ installSingle: "pnpm add @nucleux/session-recap @nucleux/tokens",
3325
+ props: [
3326
+ {
3327
+ name: "SessionRecapProps",
3328
+ source: 'export interface SessionRecapProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Eyebrow label. Defaults to `"Session recap"`. */\n label?: React.ReactNode;\n /** Leading icon. Defaults to a sparkle. */\n icon?: React.ReactNode;\n /** Trailing action, e.g. a "View full log" button. */\n action?: React.ReactNode;\n}'
3329
+ }
3330
+ ],
3331
+ readme: '# @nucleux/session-recap\n\nSessionRecap \u2014 a natural-language recap of an agent run \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/session-recap @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { SessionRecap } from "@nucleux/session-recap";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3332
+ peerDependencies: {
3333
+ react: ">=18",
3334
+ "react-dom": ">=18"
3335
+ }
3336
+ },
1534
3337
  {
1535
3338
  name: "sheet",
1536
3339
  package: "@nucleux/sheet",
@@ -1629,6 +3432,80 @@ var catalog_default = {
1629
3432
  "react-dom": ">=18"
1630
3433
  }
1631
3434
  },
3435
+ {
3436
+ name: "skeleton",
3437
+ package: "@nucleux/skeleton",
3438
+ kind: "component",
3439
+ description: "A pulsing placeholder for content that is still loading.",
3440
+ summary: "Loading placeholder shimmer \u2014 Nucleux agentic UI for React.",
3441
+ keywords: [
3442
+ "nucleux",
3443
+ "react",
3444
+ "ui",
3445
+ "components",
3446
+ "agentic",
3447
+ "ai",
3448
+ "tailwind",
3449
+ "skeleton"
3450
+ ],
3451
+ exports: [
3452
+ "Skeleton",
3453
+ "SkeletonProps"
3454
+ ],
3455
+ components: [
3456
+ "Skeleton"
3457
+ ],
3458
+ import: 'import { Skeleton } from "@nucleux/skeleton";',
3459
+ installSingle: "pnpm add @nucleux/skeleton @nucleux/tokens",
3460
+ props: [
3461
+ {
3462
+ name: "SkeletonProps",
3463
+ source: "export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Pill shape for text/avatar placeholders. */\n circle?: boolean;\n}"
3464
+ }
3465
+ ],
3466
+ readme: '# @nucleux/skeleton\n\nLoading placeholder shimmer \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/skeleton @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Skeleton } from "@nucleux/skeleton";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3467
+ peerDependencies: {
3468
+ react: ">=18",
3469
+ "react-dom": ">=18"
3470
+ }
3471
+ },
3472
+ {
3473
+ name: "slider",
3474
+ package: "@nucleux/slider",
3475
+ kind: "component",
3476
+ description: "A single-thumb slider for choosing a numeric value from a range.",
3477
+ summary: "Draggable range slider \u2014 Nucleux agentic UI for React.",
3478
+ keywords: [
3479
+ "nucleux",
3480
+ "react",
3481
+ "ui",
3482
+ "components",
3483
+ "agentic",
3484
+ "ai",
3485
+ "tailwind",
3486
+ "slider"
3487
+ ],
3488
+ exports: [
3489
+ "Slider",
3490
+ "SliderProps"
3491
+ ],
3492
+ components: [
3493
+ "Slider"
3494
+ ],
3495
+ import: 'import { Slider } from "@nucleux/slider";',
3496
+ installSingle: "pnpm add @nucleux/slider @nucleux/tokens",
3497
+ props: [
3498
+ {
3499
+ name: "SliderProps",
3500
+ source: 'export interface SliderProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {\n value?: number;\n defaultValue?: number;\n min?: number;\n max?: number;\n step?: number;\n disabled?: boolean;\n onValueChange?: (value: number) => void;\n /** Accessible name for the thumb (falls back to aria-label on the root). */\n "aria-label"?: string;\n}'
3501
+ }
3502
+ ],
3503
+ readme: '# @nucleux/slider\n\nDraggable range slider \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/slider @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Slider } from "@nucleux/slider";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3504
+ peerDependencies: {
3505
+ react: ">=18",
3506
+ "react-dom": ">=18"
3507
+ }
3508
+ },
1632
3509
  {
1633
3510
  name: "streaming-text",
1634
3511
  package: "@nucleux/streaming-text",
@@ -1666,6 +3543,45 @@ var catalog_default = {
1666
3543
  "react-dom": ">=18"
1667
3544
  }
1668
3545
  },
3546
+ {
3547
+ name: "structured-input",
3548
+ package: "@nucleux/structured-input",
3549
+ kind: "component",
3550
+ description: 'An agent-generated clarifying question rendered as a structured choice \u2014\nsingle or multi-select options, a free-text escape, and a skip.\nSource: Figma "Expressive Input / Structured Input".',
3551
+ summary: "StructuredInput \u2014 an agent's structured clarifying question \u2014 Nucleux agentic UI for React.",
3552
+ keywords: [
3553
+ "nucleux",
3554
+ "react",
3555
+ "ui",
3556
+ "components",
3557
+ "agentic",
3558
+ "ai",
3559
+ "tailwind",
3560
+ "structured-input"
3561
+ ],
3562
+ exports: [
3563
+ "StructuredInput",
3564
+ "StructuredOption",
3565
+ "StructuredInputProps"
3566
+ ],
3567
+ components: [
3568
+ "StructuredInput",
3569
+ "StructuredOption"
3570
+ ],
3571
+ import: 'import { StructuredInput, StructuredOption } from "@nucleux/structured-input";',
3572
+ installSingle: "pnpm add @nucleux/structured-input @nucleux/tokens",
3573
+ props: [
3574
+ {
3575
+ name: "StructuredInputProps",
3576
+ source: 'export interface StructuredInputProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "onSubmit"> {\n /** The clarifying question the agent is asking. */\n question: React.ReactNode;\n /** The selectable answers. */\n options: StructuredOption[];\n /** Allow selecting more than one option. */\n multiple?: boolean;\n /** Selected values (controlled). */\n value?: string[];\n /** Initial selection (uncontrolled). */\n defaultValue?: string[];\n /** Called when the selection changes. */\n onValueChange?: (values: string[]) => void;\n /** Show a free-text "something else" escape. */\n allowOther?: boolean;\n /** Label for the other escape. Defaults to `"Something else\u2026"`. */\n otherPlaceholder?: string;\n /** Called when the answer is submitted. */\n onSubmit?: (values: string[], other?: string) => void;\n /** Called when the user skips the question. Renders the skip control when set. */\n onSkip?: () => void;\n submitLabel?: React.ReactNode;\n skipLabel?: React.ReactNode;\n}'
3577
+ }
3578
+ ],
3579
+ readme: '# @nucleux/structured-input\n\nStructuredInput \u2014 an agent\'s structured clarifying question \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/structured-input @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { StructuredInput } from "@nucleux/structured-input";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3580
+ peerDependencies: {
3581
+ react: ">=18",
3582
+ "react-dom": ">=18"
3583
+ }
3584
+ },
1669
3585
  {
1670
3586
  name: "suggestions",
1671
3587
  package: "@nucleux/suggestions",
@@ -1840,6 +3756,43 @@ var catalog_default = {
1840
3756
  "react-dom": ">=18"
1841
3757
  }
1842
3758
  },
3759
+ {
3760
+ name: "textarea",
3761
+ package: "@nucleux/textarea",
3762
+ kind: "component",
3763
+ description: "A multi-line text input, tokenized and themeable.",
3764
+ summary: "Multi-line text input \u2014 Nucleux agentic UI for React.",
3765
+ keywords: [
3766
+ "nucleux",
3767
+ "react",
3768
+ "ui",
3769
+ "components",
3770
+ "agentic",
3771
+ "ai",
3772
+ "tailwind",
3773
+ "textarea"
3774
+ ],
3775
+ exports: [
3776
+ "Textarea",
3777
+ "TextareaProps"
3778
+ ],
3779
+ components: [
3780
+ "Textarea"
3781
+ ],
3782
+ import: 'import { Textarea } from "@nucleux/textarea";',
3783
+ installSingle: "pnpm add @nucleux/textarea @nucleux/tokens",
3784
+ props: [
3785
+ {
3786
+ name: "TextareaProps",
3787
+ source: "export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Render an error ring and set `aria-invalid`. */\n invalid?: boolean;\n}"
3788
+ }
3789
+ ],
3790
+ readme: '# @nucleux/textarea\n\nMulti-line text input \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/textarea @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Textarea } from "@nucleux/textarea";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3791
+ peerDependencies: {
3792
+ react: ">=18",
3793
+ "react-dom": ">=18"
3794
+ }
3795
+ },
1843
3796
  {
1844
3797
  name: "thread",
1845
3798
  package: "@nucleux/thread",
@@ -1925,6 +3878,87 @@ var catalog_default = {
1925
3878
  "react-dom": ">=18"
1926
3879
  }
1927
3880
  },
3881
+ {
3882
+ name: "toggle",
3883
+ package: "@nucleux/toggle",
3884
+ kind: "component",
3885
+ description: "A two-state button that stays pressed until toggled off.",
3886
+ summary: "Two-state pressable toggle button \u2014 Nucleux agentic UI for React.",
3887
+ keywords: [
3888
+ "nucleux",
3889
+ "react",
3890
+ "ui",
3891
+ "components",
3892
+ "agentic",
3893
+ "ai",
3894
+ "tailwind",
3895
+ "toggle"
3896
+ ],
3897
+ exports: [
3898
+ "Toggle",
3899
+ "ToggleProps"
3900
+ ],
3901
+ components: [
3902
+ "Toggle"
3903
+ ],
3904
+ import: 'import { Toggle } from "@nucleux/toggle";',
3905
+ installSingle: "pnpm add @nucleux/toggle @nucleux/tokens",
3906
+ props: [
3907
+ {
3908
+ name: "ToggleProps",
3909
+ source: 'export interface ToggleProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {\n /** Controlled pressed state. */\n pressed?: boolean;\n /** Uncontrolled initial pressed state. */\n defaultPressed?: boolean;\n /** Fired with the next pressed state on activation. */\n onPressedChange?: (pressed: boolean) => void;\n variant?: "default" | "outline";\n size?: "sm" | "md" | "lg";\n}'
3910
+ }
3911
+ ],
3912
+ readme: '# @nucleux/toggle\n\nTwo-state pressable toggle button \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/toggle @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { Toggle } from "@nucleux/toggle";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3913
+ peerDependencies: {
3914
+ react: ">=18",
3915
+ "react-dom": ">=18"
3916
+ }
3917
+ },
3918
+ {
3919
+ name: "toggle-group",
3920
+ package: "@nucleux/toggle-group",
3921
+ kind: "component",
3922
+ description: "A set of {@link ToggleGroupItem}s behaving as a single- or multi-select group.",
3923
+ summary: "Group of single/multi-select toggles \u2014 Nucleux agentic UI for React.",
3924
+ keywords: [
3925
+ "nucleux",
3926
+ "react",
3927
+ "ui",
3928
+ "components",
3929
+ "agentic",
3930
+ "ai",
3931
+ "tailwind",
3932
+ "toggle-group"
3933
+ ],
3934
+ exports: [
3935
+ "ToggleGroup",
3936
+ "ToggleGroupItem",
3937
+ "ToggleGroupProps",
3938
+ "ToggleGroupItemProps"
3939
+ ],
3940
+ components: [
3941
+ "ToggleGroup",
3942
+ "ToggleGroupItem"
3943
+ ],
3944
+ import: 'import { ToggleGroup, ToggleGroupItem } from "@nucleux/toggle-group";',
3945
+ installSingle: "pnpm add @nucleux/toggle-group @nucleux/tokens",
3946
+ props: [
3947
+ {
3948
+ name: "ToggleGroupProps",
3949
+ source: 'export interface ToggleGroupProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {\n /** "single" allows one active item; "multiple" allows many. */\n type?: "single" | "multiple";\n value?: Value | Value[];\n defaultValue?: Value | Value[];\n onValueChange?: (value: Value | Value[]) => void;\n size?: "sm" | "md" | "lg";\n variant?: "default" | "outline";\n}'
3950
+ },
3951
+ {
3952
+ name: "ToggleGroupItemProps",
3953
+ source: "export interface ToggleGroupItemProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n value: Value;\n}"
3954
+ }
3955
+ ],
3956
+ readme: '# @nucleux/toggle-group\n\nGroup of single/multi-select toggles \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/toggle-group @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ToggleGroup } from "@nucleux/toggle-group";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
3957
+ peerDependencies: {
3958
+ react: ">=18",
3959
+ "react-dom": ">=18"
3960
+ }
3961
+ },
1928
3962
  {
1929
3963
  name: "tokens",
1930
3964
  package: "@nucleux/tokens",
@@ -1949,6 +3983,46 @@ var catalog_default = {
1949
3983
  readme: '# @nucleux/tokens\n\nDesign tokens (CSS variables) + Tailwind preset for Nucleux \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/tokens\n```\n\n## Usage\n\n```ts\n// Theme stylesheet (import once near your app root)\nimport "@nucleux/tokens/styles.css";\n\n// Tailwind preset\nimport nucleux from "@nucleux/tokens/preset";\nexport default { presets: [nucleux], content: ["./src/**/*.{ts,tsx}"] };\n```\n\n## License\n\nMIT \xA9 Nucleux',
1950
3984
  peerDependencies: {}
1951
3985
  },
3986
+ {
3987
+ name: "tone-selector",
3988
+ package: "@nucleux/tone-selector",
3989
+ kind: "component",
3990
+ description: 'A tone/voice picker that steers the style of generated output \u2014 pick a tone\nand the assistant regenerates in it.\nSource: Figma "Expressive Input / Voice & Tone".',
3991
+ summary: "ToneSelector \u2014 pick the tone or voice of generated output \u2014 Nucleux agentic UI for React.",
3992
+ keywords: [
3993
+ "nucleux",
3994
+ "react",
3995
+ "ui",
3996
+ "components",
3997
+ "agentic",
3998
+ "ai",
3999
+ "tailwind",
4000
+ "tone-selector"
4001
+ ],
4002
+ exports: [
4003
+ "defaultTones",
4004
+ "ToneSelector",
4005
+ "ToneOption",
4006
+ "ToneSelectorProps"
4007
+ ],
4008
+ components: [
4009
+ "ToneSelector",
4010
+ "ToneOption"
4011
+ ],
4012
+ import: 'import { ToneSelector, ToneOption } from "@nucleux/tone-selector";',
4013
+ installSingle: "pnpm add @nucleux/tone-selector @nucleux/tokens",
4014
+ props: [
4015
+ {
4016
+ name: "ToneSelectorProps",
4017
+ source: 'export interface ToneSelectorProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {\n /** Tone options. Defaults to {@link defaultTones}. */\n options?: ToneOption[];\n /** Selected value (controlled). */\n value?: string;\n /** Initial value (uncontrolled). */\n defaultValue?: string;\n /** Called when a tone is chosen. */\n onValueChange?: (value: string) => void;\n /** Group label. Defaults to `"Tone"`. */\n label?: React.ReactNode;\n}'
4018
+ }
4019
+ ],
4020
+ readme: '# @nucleux/tone-selector\n\nToneSelector \u2014 pick the tone or voice of generated output \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/tone-selector @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { ToneSelector } from "@nucleux/tone-selector";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
4021
+ peerDependencies: {
4022
+ react: ">=18",
4023
+ "react-dom": ">=18"
4024
+ }
4025
+ },
1952
4026
  {
1953
4027
  name: "tool-call",
1954
4028
  package: "@nucleux/tool-call",
@@ -2085,6 +4159,45 @@ var catalog_default = {
2085
4159
  props: [],
2086
4160
  readme: '# @nucleux/utils\n\ncn() class merger + shared types for Nucleux \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/utils @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\n\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
2087
4161
  peerDependencies: {}
4162
+ },
4163
+ {
4164
+ name: "voice-input",
4165
+ package: "@nucleux/voice-input",
4166
+ kind: "component",
4167
+ description: 'A composer in a live-dictation state \u2014 mic trigger, animated waveform while\nrecording, and a transcribing state \u2014 for voice input to the agent.\nSource: Figma "Expressive Input / Voice Input".',
4168
+ summary: "VoiceInput \u2014 a live dictation bar with a waveform \u2014 Nucleux agentic UI for React.",
4169
+ keywords: [
4170
+ "nucleux",
4171
+ "react",
4172
+ "ui",
4173
+ "components",
4174
+ "agentic",
4175
+ "ai",
4176
+ "tailwind",
4177
+ "voice-input"
4178
+ ],
4179
+ exports: [
4180
+ "VoiceInput",
4181
+ "VoiceInputState",
4182
+ "VoiceInputProps"
4183
+ ],
4184
+ components: [
4185
+ "VoiceInput",
4186
+ "VoiceInputState"
4187
+ ],
4188
+ import: 'import { VoiceInput, VoiceInputState } from "@nucleux/voice-input";',
4189
+ installSingle: "pnpm add @nucleux/voice-input @nucleux/tokens",
4190
+ props: [
4191
+ {
4192
+ name: "VoiceInputProps",
4193
+ source: 'export interface VoiceInputProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Current state of the dictation flow. */\n state?: VoiceInputState;\n /** Elapsed time label while recording, e.g. `"0:12"`. */\n duration?: React.ReactNode;\n /** Transcribed text shown once available. */\n transcript?: React.ReactNode;\n /** Called from the idle mic button to start recording. */\n onStart?: () => void;\n /** Called to cancel/discard the recording. */\n onCancel?: () => void;\n /** Called to stop recording and confirm. */\n onConfirm?: () => void;\n}'
4194
+ }
4195
+ ],
4196
+ readme: '# @nucleux/voice-input\n\nVoiceInput \u2014 a live dictation bar with a waveform \u2014 Nucleux agentic UI for React.\n\nPart of **[Nucleux](https://github.com/intelligaia-open-labs/nucleux)** \u2014 agentic UI components for React. Install a single component, or the full kit via [`@nucleux/react`](https://www.npmjs.com/package/@nucleux/react).\n\n## Install\n\n```bash\npnpm add @nucleux/voice-input @nucleux/tokens\n```\n\n`react` / `react-dom` are peer dependencies.\n\n## Usage\n\n```tsx\nimport { VoiceInput } from "@nucleux/voice-input";\n```\n\nRequires the theme once in your app: `import "@nucleux/tokens/styles.css";`\nand the Tailwind preset from `@nucleux/tokens/preset`.\n\n## License\n\nMIT \xA9 Nucleux',
4197
+ peerDependencies: {
4198
+ react: ">=18",
4199
+ "react-dom": ">=18"
4200
+ }
2088
4201
  }
2089
4202
  ],
2090
4203
  examples: [