@duro-app/cli 5.24.0 → 5.26.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 +21 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duro-app/cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.26.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.26.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.26.0",
|
|
65
|
+
"@duro-app/tokens": "^5.26.0",
|
|
66
|
+
"@duro-app/ui": "^5.26.0"
|
|
67
67
|
},
|
|
68
68
|
"scripts": {
|
|
69
69
|
"registry": "node scripts/build-registry.mjs",
|
package/registry.json
CHANGED
|
@@ -8339,7 +8339,7 @@
|
|
|
8339
8339
|
"Item"
|
|
8340
8340
|
]
|
|
8341
8341
|
},
|
|
8342
|
-
"description": "Hierarchy of items with single selection and expandable branches (the WAI-ARIA tree pattern): one tab stop, arrow keys, Home/End, typeahead. A click or Enter on a branch row with no href selects it and toggles it open or closed (a folder); a branch with href navigates, and its chevron toggles. An Item with href renders its row as a real link (cmd-click opens a tab) outside the tab order; Enter/Space follows it, through onNavigate(href, event) when given. Compound component — Root is required. On React Native each row is a pressable link (href) or button, and a branch has its own chevron control that expands it (named by the optional Root prop expandLabel(text), default the item text); selection, expansion and aria-level are the same, the keyboard model (arrows, Home/End, typeahead) is web only. On native onNavigate is required for in-app routes: without it a relative href goes to the system (Linking.openURL). On web a tree with more items than Root virtualizeThreshold (default 150, open or not) is windowed: only the rows in view mount, as flat treeitems with aria-level, aria-setsize and aria-posinset; maxHeight caps its scroll viewport. Items must be JSX descendants of Root (fragments and arrays are fine, an Item hidden inside another component is not seen by the window). Native renders every row.",
|
|
8342
|
+
"description": "Hierarchy of items with single selection and expandable branches (the WAI-ARIA tree pattern): one tab stop, arrow keys, Home/End, typeahead. A click or Enter on a branch row with no href selects it and toggles it open or closed (a folder); a branch with href navigates, and its chevron toggles. An Item with expandable is a branch before its children exist (a directory listed only when opened): it opens like any branch and onExpandedChange tells the app to load them. An Item with href renders its row as a real link (cmd-click opens a tab) outside the tab order; Enter/Space follows it, through onNavigate(href, event) when given. Compound component — Root is required. On React Native each row is a pressable link (href) or button, and a branch has its own chevron control that expands it (named by the optional Root prop expandLabel(text), default the item text); selection, expansion and aria-level are the same, the keyboard model (arrows, Home/End, typeahead) is web only. On native onNavigate is required for in-app routes: without it a relative href goes to the system (Linking.openURL). On web a tree with more items than Root virtualizeThreshold (default 150, open or not) is windowed: only the rows in view mount, as flat treeitems with aria-level, aria-setsize and aria-posinset; maxHeight caps its scroll viewport. Items must be JSX descendants of Root (fragments and arrays are fine, an Item hidden inside another component is not seen by the window). Native renders every row.",
|
|
8343
8343
|
"example": "<Tree.Root aria-label=\"Blocs\" defaultExpanded={['energy']} onValueChange={setSelected}>\n <Tree.Item value=\"energy\" label=\"Core business — Energy\">\n <Tree.Item value=\"generation\" label=\"Generation\" meta=\"4 apps\" />\n <Tree.Item value=\"network\" label=\"Network operations\">\n <Tree.Item value=\"scada\" label=\"SCADA supervision\" />\n </Tree.Item>\n </Tree.Item>\n <Tree.Item value=\"finance\" label=\"Finance & steering\" />\n</Tree.Root>",
|
|
8344
8344
|
"relatedTo": [
|
|
8345
8345
|
{
|
|
@@ -8389,11 +8389,17 @@
|
|
|
8389
8389
|
"type": "string"
|
|
8390
8390
|
},
|
|
8391
8391
|
{
|
|
8392
|
-
"description": "nested items: the branch's children (none = a leaf)",
|
|
8392
|
+
"description": "nested items: the branch's children (none = a leaf, unless `expandable`)",
|
|
8393
8393
|
"name": "children",
|
|
8394
8394
|
"required": false,
|
|
8395
8395
|
"type": "ReactNode"
|
|
8396
8396
|
},
|
|
8397
|
+
{
|
|
8398
|
+
"description": "A branch before its children exist (a directory not listed yet): it shows the chevron and opens like any branch, and `onExpandedChange` tells the app to load them. Pass the children once they are there (or a loading row meanwhile).",
|
|
8399
|
+
"name": "expandable",
|
|
8400
|
+
"required": false,
|
|
8401
|
+
"type": "boolean"
|
|
8402
|
+
},
|
|
8397
8403
|
{
|
|
8398
8404
|
"description": "trailing content on the row (a count, a status)",
|
|
8399
8405
|
"name": "meta",
|
|
@@ -8502,7 +8508,7 @@
|
|
|
8502
8508
|
"optional": [],
|
|
8503
8509
|
"required": []
|
|
8504
8510
|
},
|
|
8505
|
-
"description": "A windowed list on @tanstack/react-virtual: only the rows in view (plus overscan) are mounted, and rows are measured so they may differ in height. role=\"list\" with listitem rows carrying aria-setsize and aria-posinset. anchor=\"end\" opens at the last item and stays pinned to the bottom while new items arrive and the reader is at the bottom (a transcript, a log). It fills its parent, or stops at maxHeight. onStartReached fires once each time the reader scrolls to the start (load older history), and prepending items keeps the first visible row in place. On native it is a FlatList with the same props (role list; rows carry no listitem role, which React Native lacks) (maintainVisibleContentPosition for prepend). The scroll region is a tab stop with a focus ring, so the keyboard can scroll rows that hold no control.",
|
|
8511
|
+
"description": "A windowed list on @tanstack/react-virtual: only the rows in view (plus overscan) are mounted, and rows are measured so they may differ in height. role=\"list\" with listitem rows carrying aria-setsize and aria-posinset. anchor=\"end\" opens at the last item and stays pinned to the bottom while new items arrive and the reader is at the bottom (a transcript, a log). It fills its parent, or stops at maxHeight. onStartReached fires once each time the reader scrolls to the start (load older history), and prepending items keeps the first visible row in place. On native it is a FlatList with the same props (role list; rows carry no listitem role, which React Native lacks) (maintainVisibleContentPosition for prepend). The scroll region is a tab stop with a focus ring, so the keyboard can scroll rows that hold no control. onEndReached mirrors onStartReached at the end (load newer items in a window opened on an older point); scrollToKey centres one item each time it changes to a key in the list (a link to one message), and anchor=\"end\" stops following the end while it applies.",
|
|
8506
8512
|
"example": "<VirtualList\n aria-label=\"Transcript\"\n items={messages}\n getKey={(m) => m.id}\n estimateSize=\"controlLg\"\n anchor=\"end\"\n renderItem={(m) => <Text>{m.text}</Text>}\n/>",
|
|
8507
8513
|
"relatedTo": [
|
|
8508
8514
|
{
|
|
@@ -8572,6 +8578,18 @@
|
|
|
8572
8578
|
"required": false,
|
|
8573
8579
|
"type": "() => void"
|
|
8574
8580
|
},
|
|
8581
|
+
{
|
|
8582
|
+
"description": "Called once each time the reader scrolls to within 44px (touchTarget) of the end (load newer items, as in a window opened on an older point). It fires again only after they move away.",
|
|
8583
|
+
"name": "onEndReached",
|
|
8584
|
+
"required": false,
|
|
8585
|
+
"type": "() => void"
|
|
8586
|
+
},
|
|
8587
|
+
{
|
|
8588
|
+
"description": "Bring this item into view, centred, each time the key changes to an item in the list (a link to one message). A key not in the list yet waits for the items that hold it; `null` or `undefined` does nothing. While it applies, `anchor=\"end\"` stops following the end.",
|
|
8589
|
+
"name": "scrollToKey",
|
|
8590
|
+
"required": false,
|
|
8591
|
+
"type": "string | number | null"
|
|
8592
|
+
},
|
|
8575
8593
|
{
|
|
8576
8594
|
"description": "Cap the list's height; without it, it fills its parent.",
|
|
8577
8595
|
"name": "maxHeight",
|