@utopia-studio-design/design-system-cli 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -71,6 +71,7 @@
71
71
  "Card",
72
72
  "Hover Card",
73
73
  "Popover",
74
+ "Tool Connector Block",
74
75
  "Tooltip"
75
76
  ]
76
77
  },
@@ -98,6 +99,7 @@
98
99
  "id": "chat",
99
100
  "label": "Chat",
100
101
  "items": [
102
+ "Assistant Panel",
101
103
  "Chat Composer",
102
104
  "Chat Composer Drawer",
103
105
  "Chat Composer Input",
@@ -133,6 +135,7 @@
133
135
  "Navigation Menu",
134
136
  "Pagination",
135
137
  "Sidebar",
138
+ "Sidebar Block Type 1",
136
139
  "Side Nav",
137
140
  "Side Nav Collapse Button",
138
141
  "Side Nav Heading",
@@ -249,6 +252,7 @@
249
252
  "Card",
250
253
  "Carousel",
251
254
  "Chart",
255
+ "Assistant Panel",
252
256
  "Chat Composer",
253
257
  "Chat Composer Drawer",
254
258
  "Chat Composer Input",
@@ -307,6 +311,7 @@
307
311
  "Textarea",
308
312
  "Toggle Button",
309
313
  "Toggle Button Group",
314
+ "Tool Connector Block",
310
315
  "Tooltip",
311
316
  "Typography",
312
317
  "Utopia Wordmark Loader"
@@ -327,6 +332,7 @@
327
332
  "Card",
328
333
  "Carousel",
329
334
  "Chart",
335
+ "Assistant Panel",
330
336
  "Chat Composer",
331
337
  "Chat Composer Drawer",
332
338
  "Chat Composer Input",
@@ -385,6 +391,7 @@
385
391
  "Textarea",
386
392
  "Toggle Button",
387
393
  "Toggle Button Group",
394
+ "Tool Connector Block",
388
395
  "Tooltip",
389
396
  "Typography",
390
397
  "Utopia Wordmark Loader"
@@ -1015,6 +1015,86 @@
1015
1015
  "Utopia brand primitives inside reusable component logic"
1016
1016
  ]
1017
1017
  },
1018
+ {
1019
+ "name": "Assistant Panel",
1020
+ "category": "Chat",
1021
+ "status": "available",
1022
+ "packageImport": "import { AssistantPanel, AssistantPanelActions, AssistantPanelBody, AssistantPanelClose, AssistantPanelDescription, AssistantPanelEmptyState, AssistantPanelFooter, AssistantPanelHeader, AssistantPanelHeading, AssistantPanelTitle } from '@utopia-studio-design/design-system/AssistantPanel';",
1023
+ "sourcePath": "packages/design-system/src/components/AssistantPanel.tsx",
1024
+ "shadcnFoundation": [
1025
+ "sidebar composition",
1026
+ "sheet visual anatomy without dialog behavior",
1027
+ "scrollable content and sticky composer regions",
1028
+ "semantic Utopia wrapper"
1029
+ ],
1030
+ "fallbackToShadcn": "sidebar + resizable + message",
1031
+ "requiredTokens": [
1032
+ "--background",
1033
+ "--surface",
1034
+ "--foreground",
1035
+ "--foreground-muted",
1036
+ "--border",
1037
+ "--primary",
1038
+ "--space-1",
1039
+ "--space-2",
1040
+ "--space-3",
1041
+ "--space-4",
1042
+ "--space-6",
1043
+ "--space-8",
1044
+ "--space-12",
1045
+ "--space-16",
1046
+ "--font-size-supporting",
1047
+ "--font-size-small",
1048
+ "--font-size-body",
1049
+ "--font-weight-strong",
1050
+ "--line-height-supporting",
1051
+ "--line-height-body",
1052
+ "--line-height-tight",
1053
+ "--tracking-heading",
1054
+ "--icon-size-sm",
1055
+ "--icon-size-md",
1056
+ "--border-width-hairline"
1057
+ ],
1058
+ "useWhen": [
1059
+ "An assistant, inspector, or contextual workflow must remain visible beside the primary workspace",
1060
+ "The product needs a non-modal panel with fixed header and footer plus independently scrolling content",
1061
+ "Chat primitives need a reusable application frame rather than page-local panel styling"
1062
+ ],
1063
+ "avoidWhen": [
1064
+ "The panel must block the page or trap focus; use Sheet or Dialog",
1065
+ "A temporary mobile action sheet is required; use Drawer",
1066
+ "The content is primary navigation; use Sidebar"
1067
+ ],
1068
+ "neverInvent": [
1069
+ "Overlay or focus-trap behavior",
1070
+ "Raw shadcn theme colors",
1071
+ "Product-specific assistant copy",
1072
+ "Left/right-only layout rules",
1073
+ "Utopia brand primitives inside reusable component logic"
1074
+ ],
1075
+ "ai": {
1076
+ "parts": [
1077
+ "AssistantPanel",
1078
+ "AssistantPanelHeader",
1079
+ "AssistantPanelHeading",
1080
+ "AssistantPanelTitle",
1081
+ "AssistantPanelDescription",
1082
+ "AssistantPanelActions",
1083
+ "AssistantPanelClose",
1084
+ "AssistantPanelBody",
1085
+ "AssistantPanelEmptyState",
1086
+ "AssistantPanelFooter"
1087
+ ],
1088
+ "props": {
1089
+ "AssistantPanel.header": "Compose AssistantPanelHeader or another product-owned header region.",
1090
+ "AssistantPanel.body": "Compose AssistantPanelBody, usually containing ChatMessageList or task context.",
1091
+ "AssistantPanel.footer": "Compose AssistantPanelFooter with ChatComposer or product actions.",
1092
+ "AssistantPanelClose.label": "Required localized accessible label for the icon-only close action.",
1093
+ "AssistantPanelEmptyState": "Supply product-owned title, description, optional icon, and actions."
1094
+ },
1095
+ "arabicFriendly": "The panel uses logical inline borders and spacing, inherits document direction, and does not encode left or right docking. Product copy and close labels must be localized by the consumer."
1096
+ }
1097
+ },
1018
1098
  {
1019
1099
  "name": "Chat Composer",
1020
1100
  "category": "Chat",
@@ -1076,6 +1156,86 @@
1076
1156
  "arabicFriendly": "Chat components use logical spacing, role-based alignment, mixed-script safe typography, and mirrored message flow in dir=\"rtl\". Do not invent Arabic copy in reusable components."
1077
1157
  }
1078
1158
  },
1159
+ {
1160
+ "name": "Tool Connector Block",
1161
+ "category": "Surface",
1162
+ "status": "available",
1163
+ "packageImport": "import { ToolConnectorBlock, ToolConnectorItem, ToolConnectorList, ToolConnectorSection } from '@utopia-studio-design/design-system/ToolConnector';",
1164
+ "sourcePath": "packages/design-system/src/components/ToolConnector.tsx",
1165
+ "shadcnFoundation": [
1166
+ "item",
1167
+ "badge",
1168
+ "collapsible disclosure",
1169
+ "settings and integration list composition",
1170
+ "semantic Utopia wrapper"
1171
+ ],
1172
+ "fallbackToShadcn": "item + badge + collapsible",
1173
+ "requiredTokens": [
1174
+ "--surface",
1175
+ "--surface-hover",
1176
+ "--foreground",
1177
+ "--muted-foreground",
1178
+ "--border",
1179
+ "--primary",
1180
+ "--focus-ring",
1181
+ "--radius-surface",
1182
+ "--radius-control",
1183
+ "--space-1",
1184
+ "--space-3",
1185
+ "--space-4",
1186
+ "--space-6",
1187
+ "--space-8",
1188
+ "--space-16",
1189
+ "--font-size-supporting",
1190
+ "--font-size-small",
1191
+ "--font-weight-medium",
1192
+ "--font-weight-strong",
1193
+ "--line-height-supporting",
1194
+ "--line-height-tight",
1195
+ "--icon-size-sm",
1196
+ "--button-height-sm",
1197
+ "--border-width-hairline",
1198
+ "--duration-fast",
1199
+ "--ease-standard"
1200
+ ],
1201
+ "useWhen": [
1202
+ "A settings surface must list external tools, services, or data connectors with status and a clear next action",
1203
+ "Connected and available integrations need compact scan-friendly grouping",
1204
+ "A connector needs optional inline setup or management details without navigating away"
1205
+ ],
1206
+ "avoidWhen": [
1207
+ "The product needs a searchable marketplace with hundreds of integrations; use a dedicated page with filters",
1208
+ "The row is primary navigation rather than an integration action",
1209
+ "Irreversible disconnect confirmation is required; compose Alert Dialog in the consumer"
1210
+ ],
1211
+ "neverInvent": [
1212
+ "Third-party connection state or account identity",
1213
+ "Raw brand colors for external services",
1214
+ "Product-specific OAuth or disconnect logic",
1215
+ "Left/right-only layout rules",
1216
+ "Utopia brand primitives inside reusable component logic"
1217
+ ],
1218
+ "ai": {
1219
+ "parts": [
1220
+ "ToolConnectorBlock",
1221
+ "ToolConnectorSection",
1222
+ "ToolConnectorList",
1223
+ "ToolConnectorItem"
1224
+ ],
1225
+ "props": {
1226
+ "ToolConnectorSection.title": "Required localized group label such as Connected or Available tools.",
1227
+ "ToolConnectorSection.description": "Optional concise explanation of the group.",
1228
+ "ToolConnectorItem.icon": "Optional app-owned or design-system icon. Do not synthesize third-party logos.",
1229
+ "ToolConnectorItem.title": "Required factual connector name.",
1230
+ "ToolConnectorItem.description": "Required concise capability description.",
1231
+ "ToolConnectorItem.status": "Optional short status rendered with Badge; use semantic statusVariant.",
1232
+ "ToolConnectorItem.actionLabel": "Required explicit action such as Connect, Manage, Open, or Add link.",
1233
+ "ToolConnectorItem.detail": "Optional consumer-owned setup or management content.",
1234
+ "ToolConnectorItem.expanded": "Controls inline detail visibility; state remains consumer-owned."
1235
+ },
1236
+ "arabicFriendly": "The block uses logical spacing and inline alignment, keeps actions at inline-end, wraps to a compact mobile layout, and requires localized labels and status copy from the consumer."
1237
+ }
1238
+ },
1079
1239
  {
1080
1240
  "name": "Chat Composer Drawer",
1081
1241
  "category": "Chat",
@@ -4024,6 +4184,89 @@
4024
4184
  "arabicFriendly": "Use dir=rtl at the shell boundary and provide localized collapseLabel, expandLabel, overlay labels, rail labels, and tooltip strings. Logical borders, alignment, off-canvas motion, submenus, and badges mirror without changing the component API."
4025
4185
  }
4026
4186
  },
4187
+ {
4188
+ "name": "Sidebar Block Type 1",
4189
+ "category": "Navigation",
4190
+ "status": "available",
4191
+ "packageImport": "import { SidebarBlockType1, SidebarBlockType1Trigger, SidebarBlockType1Workspace } from '@utopia-studio-design/design-system/Sidebar';",
4192
+ "sourcePath": "packages/design-system/src/components/Sidebar.tsx",
4193
+ "shadcnFoundation": [
4194
+ "sidebar",
4195
+ "button",
4196
+ "off-canvas navigation",
4197
+ "semantic Utopia application block"
4198
+ ],
4199
+ "fallbackToShadcn": "sidebar",
4200
+ "requiredTokens": [
4201
+ "--background",
4202
+ "--foreground",
4203
+ "--border",
4204
+ "--primary",
4205
+ "--muted-foreground",
4206
+ "--surface-hover",
4207
+ "--radius-control",
4208
+ "--sidebar-width",
4209
+ "--sidebar-width-collapsed",
4210
+ "--sidebar-min-block-size",
4211
+ "--nav-item-height",
4212
+ "--button-height-sm",
4213
+ "--icon-size-sm",
4214
+ "--space-1",
4215
+ "--space-2",
4216
+ "--space-3",
4217
+ "--space-4",
4218
+ "--space-6",
4219
+ "--space-12",
4220
+ "--space-16",
4221
+ "--border-width-hairline",
4222
+ "--border-width-strong"
4223
+ ],
4224
+ "useWhen": [
4225
+ "A clean application sidebar needs an expanded text-first navigation and icon-only desktop collapse",
4226
+ "The same navigation must become a mobile off-canvas panel with a compact ghost hamburger trigger",
4227
+ "Brand, grouped navigation, and an optional bottom-pinned workspace/details action should share one production-ready composition",
4228
+ "A product needs a standard Sidebar block without copying page-local layout CSS"
4229
+ ],
4230
+ "avoidWhen": [
4231
+ "A documentation tree should use Side Nav",
4232
+ "Product routing, workspace data, dialog content, or brand artwork would be hardcoded into the design-system block",
4233
+ "A temporary supplemental surface should use Sheet or Drawer"
4234
+ ],
4235
+ "neverInvent": [
4236
+ "Product-specific menu destinations",
4237
+ "Workspace names, user names, or organization data",
4238
+ "Raw colors, spacing, or icon sizes",
4239
+ "Left/right-only layout rules",
4240
+ "Utopia brand primitives inside reusable component logic",
4241
+ "A switcher chevron when no switching action exists",
4242
+ "Desktop collapse controls on mobile"
4243
+ ],
4244
+ "ai": {
4245
+ "parts": [
4246
+ "SidebarProvider",
4247
+ "SidebarBlockType1",
4248
+ "SidebarBlockType1Trigger",
4249
+ "SidebarBlockType1Workspace",
4250
+ "SidebarGroup",
4251
+ "SidebarGroupLabel",
4252
+ "SidebarMenu",
4253
+ "SidebarMenuItem",
4254
+ "SidebarMenuButton",
4255
+ "NavigationIcon"
4256
+ ],
4257
+ "props": {
4258
+ "SidebarBlockType1.brand": "Required app-owned brand node shown only in the expanded sidebar.",
4259
+ "SidebarBlockType1.collapsedIcon": "Optional app-owned compact mark shown in the collapsed desktop trigger; hover reveals the panel icon.",
4260
+ "SidebarBlockType1.children": "Grouped Sidebar navigation primitives. Product routing remains consumer-owned.",
4261
+ "SidebarBlockType1.footer": "Optional bottom-pinned action, commonly SidebarBlockType1Workspace composed with DialogTrigger asChild.",
4262
+ "SidebarBlockType1Trigger": "Use in both the sidebar header and a mobile topbar. It chooses desktop panel control or mobile hamburger from SidebarProvider state.",
4263
+ "SidebarBlockType1Workspace.label": "Required factual workspace label. Keep detailed metadata in the consumer-owned dialog.",
4264
+ "SidebarBlockType1Workspace.description": "Optional short metadata only; omit when it would truncate into low-value ellipsis."
4265
+ },
4266
+ "usage": "Wrap the application shell in SidebarProvider. Render SidebarBlockType1 with localized labels and app-owned brand/navigation/footer slots. Use SidebarBlockType1Trigger in the mobile topbar so the menu remains visible when the off-canvas sidebar is closed.",
4267
+ "arabicFriendly": "All alignment and off-canvas positioning use logical properties. Provide localized trigger, overlay, group, item, and workspace labels. The hamburger and panel icons are direction-neutral."
4268
+ }
4269
+ },
4027
4270
  {
4028
4271
  "name": "Slider",
4029
4272
  "category": "Forms",
package/lib/api.mjs CHANGED
@@ -8,7 +8,7 @@ const packagedDataRoot = join(packageRoot, 'data')
8
8
  const hasWorkspaceSource = existsSync(join(workspaceRoot, 'packages/design-system/src/manifests/components.json'))
9
9
 
10
10
  export const apiVersion = 1
11
- export const cliVersion = '0.3.3'
11
+ export const cliVersion = '0.3.4'
12
12
  export const mcpLaunch = {
13
13
  command: 'npx',
14
14
  args: ['-y', '--package', '@utopia-studio-design/design-system-cli', 'utopia-ds', 'mcp'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utopia-studio-design/design-system-cli",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "AI-readable CLI and MCP server for Ceramic Design System",
5
5
  "type": "module",
6
6
  "license": "MIT",