@duro-app/cli 5.26.0 → 5.28.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.
- package/package.json +5 -5
- package/registry.json +36 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duro-app/cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.28.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Machine-queryable docs for the Duro design system: components, props, recipes, tokens and rules as CLI output, JSON, or an MCP server.",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@modelcontextprotocol/sdk": ">=1.0.0",
|
|
49
|
-
"@duro-app/ui": "^5.
|
|
49
|
+
"@duro-app/ui": "^5.28.0"
|
|
50
50
|
},
|
|
51
51
|
"peerDependenciesMeta": {
|
|
52
52
|
"@duro-app/ui": {
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"@types/node": "^24.0.0",
|
|
62
62
|
"ts-morph": "^26.0.0",
|
|
63
63
|
"typescript": "^5.7.0",
|
|
64
|
-
"@duro-app/eslint-plugin": "^5.
|
|
65
|
-
"@duro-app/tokens": "^5.
|
|
66
|
-
"@duro-app/ui": "^5.
|
|
64
|
+
"@duro-app/eslint-plugin": "^5.28.0",
|
|
65
|
+
"@duro-app/tokens": "^5.28.0",
|
|
66
|
+
"@duro-app/ui": "^5.28.0"
|
|
67
67
|
},
|
|
68
68
|
"scripts": {
|
|
69
69
|
"registry": "node scripts/build-registry.mjs",
|
package/registry.json
CHANGED
|
@@ -1193,7 +1193,7 @@
|
|
|
1193
1193
|
"importPath": "@duro-app/ui",
|
|
1194
1194
|
"kind": "component",
|
|
1195
1195
|
"meta": {
|
|
1196
|
-
"description": "A block of code with a copy button: a pre that scrolls sideways when a line is long, and a Button that copies its text, shows the copied label for copiedDuration ms and announces it through a polite LiveRegion. Labels come from props. With language=\"diff\", added, removed and hunk lines are coloured from tokens. On native the text is selectable and scrolls sideways; there is no copy button.",
|
|
1196
|
+
"description": "A block of code with a copy button: a pre that scrolls sideways when a line is long, and a Button that copies its text, shows the copied label for copiedDuration ms and announces it through a polite LiveRegion. Labels come from props. With language=\"diff\", added, removed and hunk lines are coloured from tokens. On native the text is selectable and scrolls sideways; there is no copy button. A diff can carry a lineAction (a button beside each line inside a hunk, one tab stop, Up and Down between them; the line handed over has its old and new line numbers) and renderAfterLine (content under a line, full width: a review comment, an editor); the copied text stays the diff.",
|
|
1197
1197
|
"example": "<CodeBlock copyLabel=\"Copy\" copiedLabel=\"Copied\">\n <code>pnpm add @duro-app/ui</code>\n</CodeBlock>",
|
|
1198
1198
|
"relatedTo": [
|
|
1199
1199
|
{
|
|
@@ -1213,7 +1213,8 @@
|
|
|
1213
1213
|
],
|
|
1214
1214
|
"whenToUse": [
|
|
1215
1215
|
"Code or a command the reader is likely to paste: a docs page, an install step",
|
|
1216
|
-
"A Markdown renderer's pre, inside Prose"
|
|
1216
|
+
"A Markdown renderer's pre, inside Prose",
|
|
1217
|
+
"A diff people comment on line by line (lineAction, renderAfterLine)"
|
|
1217
1218
|
]
|
|
1218
1219
|
},
|
|
1219
1220
|
"name": "CodeBlock",
|
|
@@ -1255,6 +1256,18 @@
|
|
|
1255
1256
|
"name": "onCopyError",
|
|
1256
1257
|
"required": false,
|
|
1257
1258
|
"type": "(error: unknown) => void"
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
"description": "With `language=\"diff\"`: a button in a gutter beside each line it is available on. The gutter is one tab stop; Up and Down move between its buttons.",
|
|
1262
|
+
"name": "lineAction",
|
|
1263
|
+
"required": false,
|
|
1264
|
+
"type": "CodeBlockLineAction"
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
"description": "With `language=\"diff\"`: content shown under a line, full width (a comment thread, an editor). Return null for lines with nothing under them. What is copied stays the diff text.",
|
|
1268
|
+
"name": "renderAfterLine",
|
|
1269
|
+
"required": false,
|
|
1270
|
+
"type": "(line: DiffLineInfo) => ReactNode"
|
|
1258
1271
|
}
|
|
1259
1272
|
],
|
|
1260
1273
|
"sourcePath": "packages/ui/src/components/CodeBlock/CodeBlock.tsx"
|
|
@@ -5576,7 +5589,7 @@
|
|
|
5576
5589
|
"Item"
|
|
5577
5590
|
]
|
|
5578
5591
|
},
|
|
5579
|
-
"description": "Dropdown select for choosing one value from a list. Compound component — Root is required (throws without it). Select.Trigger takes size=\"small\" to match small Toggles and Buttons in a toolbar. Select.Popup takes label (the list's accessible name) and empty (shown in place of the list when it has no items). On the web the list opens below the trigger, or above it when it would overflow the viewport below and fits above. On React Native the trigger opens a bottom sheet (a Drawer at the medium and large detents) titled by label, with a Cancel text button (cancelLabel); the chosen option is filled with a trailing check, and a press picks an option and closes the sheet. Native has no arrow keys: each option is its own screen-reader stop.",
|
|
5592
|
+
"description": "Dropdown select for choosing one value from a list. Compound component — Root is required (throws without it). Select.Trigger takes size=\"small\" to match small Toggles and Buttons in a toolbar. Select.Popup takes label (the list's accessible name) and empty (shown in place of the list when it has no items). On the web the list opens below the trigger, or above it when it would overflow the viewport below and fits above. On React Native the trigger opens a bottom sheet (a Drawer at the medium and large detents) titled by label, with a Cancel text button (cancelLabel); the chosen option is filled with a trailing check, and a press picks an option and closes the sheet. Native has no arrow keys: each option is its own screen-reader stop. An Item can be disabled (shown, skipped by the keys, inert to a press, announced as disabled), and onOpenChange on Root reports the list opening and closing, so work such as checking which options are available starts only once someone is choosing.",
|
|
5580
5593
|
"example": "<Select.Root name=\"role\" defaultValue=\"viewer\">\n <Select.Trigger>\n <Select.Value placeholder=\"Select role\" />\n <Select.Icon />\n </Select.Trigger>\n <Select.Popup>\n <Select.Item value=\"admin\">Admin</Select.Item>\n <Select.Item value=\"editor\">Editor</Select.Item>\n <Select.Item value=\"viewer\">Viewer</Select.Item>\n </Select.Popup>\n</Select.Root>",
|
|
5581
5594
|
"relatedTo": [
|
|
5582
5595
|
{
|
|
@@ -5627,6 +5640,13 @@
|
|
|
5627
5640
|
"required": true,
|
|
5628
5641
|
"type": "string"
|
|
5629
5642
|
},
|
|
5643
|
+
{
|
|
5644
|
+
"default": "false",
|
|
5645
|
+
"description": "Shown but not choosable: skipped by the arrow keys, inert to a press, announced as disabled.",
|
|
5646
|
+
"name": "disabled",
|
|
5647
|
+
"required": false,
|
|
5648
|
+
"type": "boolean"
|
|
5649
|
+
},
|
|
5630
5650
|
{
|
|
5631
5651
|
"name": "children",
|
|
5632
5652
|
"required": true,
|
|
@@ -5703,6 +5723,12 @@
|
|
|
5703
5723
|
"required": false,
|
|
5704
5724
|
"type": "Record<string, string>"
|
|
5705
5725
|
},
|
|
5726
|
+
{
|
|
5727
|
+
"description": "Called when the list opens or closes (to start work only once someone is choosing).",
|
|
5728
|
+
"name": "onOpenChange",
|
|
5729
|
+
"required": false,
|
|
5730
|
+
"type": "(open: boolean) => void"
|
|
5731
|
+
},
|
|
5706
5732
|
{
|
|
5707
5733
|
"name": "children",
|
|
5708
5734
|
"required": true,
|
|
@@ -7525,7 +7551,7 @@
|
|
|
7525
7551
|
"importPath": "@duro-app/ui",
|
|
7526
7552
|
"kind": "component",
|
|
7527
7553
|
"meta": {
|
|
7528
|
-
"description": "Multi-line text input with automatic Field/Form integration. Same Field binding behavior as Input. autoGrow makes the height follow the content from rows up to maxRows, then it scrolls (CSS field-sizing, with a scrollHeight fallback; native grows with the content and caps at maxRows). The anchor props of Listbox.getAnchorProps() (role combobox, aria-controls, aria-expanded, aria-activedescendant) are forwarded as ARIA attributes on web and as the matching accessibility props on native, so a Listbox can be anchored to it while the editor keeps focus.",
|
|
7554
|
+
"description": "Multi-line text input with automatic Field/Form integration. Same Field binding behavior as Input. autoGrow makes the height follow the content from rows up to maxRows, then it scrolls (CSS field-sizing, with a scrollHeight fallback; native grows with the content and caps at maxRows). The anchor props of Listbox.getAnchorProps() (role combobox, aria-controls, aria-expanded, aria-activedescendant) are forwarded as ARIA attributes on web and as the matching accessibility props on native, so a Listbox can be anchored to it while the editor keeps focus. On the web, onFiles receives files pasted into the field or dropped on it (the drop ring shows while files are dragged over it); text pastes stay text.",
|
|
7529
7555
|
"example": "<Field.Root name=\"message\">\n <Field.Label>Message</Field.Label>\n <Textarea placeholder=\"Tell us what you think...\" rows={4} />\n <Field.Description>At least 10 characters</Field.Description>\n <Field.Error />\n</Field.Root>",
|
|
7530
7556
|
"relatedTo": [
|
|
7531
7557
|
{
|
|
@@ -7640,6 +7666,12 @@
|
|
|
7640
7666
|
"required": false,
|
|
7641
7667
|
"type": "(e: React.KeyboardEvent<HTMLTextAreaElement>) => void"
|
|
7642
7668
|
},
|
|
7669
|
+
{
|
|
7670
|
+
"description": "Web: files pasted into the field or dropped on it (a screenshot, a log). The field shows the drop ring while files are dragged over it. Text pastes and drops stay text. Native: never called; attach with FileTrigger.",
|
|
7671
|
+
"name": "onFiles",
|
|
7672
|
+
"required": false,
|
|
7673
|
+
"type": "(files: readonly File[]) => void"
|
|
7674
|
+
},
|
|
7643
7675
|
{
|
|
7644
7676
|
"name": "ref",
|
|
7645
7677
|
"required": false,
|