altitude-design 0.4.0 → 0.4.2

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 (280) hide show
  1. package/README.md +1 -0
  2. package/dist/guidance/components/AILabel/README.md +35 -0
  3. package/dist/guidance/components/Accordion/README.md +25 -0
  4. package/dist/guidance/components/AgentFleet/README.md +48 -1
  5. package/dist/guidance/components/AgentLanes/README.md +32 -0
  6. package/dist/guidance/components/AgentRequests/README.md +47 -0
  7. package/dist/guidance/components/Alert/README.md +49 -0
  8. package/dist/guidance/components/AltitudeProvider/README.md +63 -0
  9. package/dist/guidance/components/AppShell/README.md +70 -0
  10. package/dist/guidance/components/AreaChart/README.md +58 -0
  11. package/dist/guidance/components/Artifact/README.md +69 -0
  12. package/dist/guidance/components/Avatar/README.md +41 -0
  13. package/dist/guidance/components/Await/README.md +48 -0
  14. package/dist/guidance/components/Badge/README.md +44 -0
  15. package/dist/guidance/components/BarChart/README.md +62 -0
  16. package/dist/guidance/components/BarList/README.md +58 -0
  17. package/dist/guidance/components/Board/README.md +67 -0
  18. package/dist/guidance/components/Breadcrumb/README.md +31 -0
  19. package/dist/guidance/components/Button/README.md +41 -0
  20. package/dist/guidance/components/Card/README.md +38 -0
  21. package/dist/guidance/components/ChartBrush/README.md +57 -0
  22. package/dist/guidance/components/ChartContainer/README.md +77 -0
  23. package/dist/guidance/components/ChartLegend/README.md +43 -0
  24. package/dist/guidance/components/ChartReference/README.md +74 -0
  25. package/dist/guidance/components/ChartTooltip/README.md +63 -0
  26. package/dist/guidance/components/Checkbox/README.md +35 -0
  27. package/dist/guidance/components/Checklist/README.md +66 -0
  28. package/dist/guidance/components/CodeBlock/README.md +44 -0
  29. package/dist/guidance/components/ColorPicker/README.md +39 -0
  30. package/dist/guidance/components/Combobox/README.md +35 -0
  31. package/dist/guidance/components/CommandPalette/README.md +177 -0
  32. package/dist/guidance/components/CommentThread/README.md +51 -0
  33. package/dist/guidance/components/Confirmation/README.md +60 -0
  34. package/dist/guidance/components/ContextMenu/README.md +51 -0
  35. package/dist/guidance/components/Conversation/README.md +124 -0
  36. package/dist/guidance/components/CopyButton/README.md +31 -0
  37. package/dist/guidance/components/DataGrid/README.md +75 -0
  38. package/dist/guidance/components/DatePicker/README.md +49 -0
  39. package/dist/guidance/components/Dialog/README.md +175 -0
  40. package/dist/guidance/components/DiffView/README.md +77 -0
  41. package/dist/guidance/components/DotPlot/README.md +44 -0
  42. package/dist/guidance/components/Drilldown/README.md +28 -0
  43. package/dist/guidance/components/DropZone/README.md +50 -0
  44. package/dist/guidance/components/DropdownMenu/README.md +44 -0
  45. package/dist/guidance/components/EditRegion/README.md +159 -0
  46. package/dist/guidance/components/EmptyState/README.md +49 -0
  47. package/dist/guidance/components/FeatureGate/README.md +39 -0
  48. package/dist/guidance/components/Field/README.md +36 -0
  49. package/dist/guidance/components/FilterBar/README.md +63 -0
  50. package/dist/guidance/components/FormattedNumber/README.md +44 -0
  51. package/dist/guidance/components/Heatmap/README.md +71 -0
  52. package/dist/guidance/components/HoldButton/README.md +32 -0
  53. package/dist/guidance/components/HoverCard/README.md +53 -0
  54. package/dist/guidance/components/InlineCitation/README.md +32 -0
  55. package/dist/guidance/components/InlineEdit/README.md +247 -1
  56. package/dist/guidance/components/Input/README.md +36 -0
  57. package/dist/guidance/components/InputOTP/README.md +46 -0
  58. package/dist/guidance/components/ItemGroup/README.md +100 -0
  59. package/dist/guidance/components/Kbd/README.md +27 -0
  60. package/dist/guidance/components/LineChart/README.md +62 -0
  61. package/dist/guidance/components/Link/README.md +41 -0
  62. package/dist/guidance/components/Markdown/README.md +81 -0
  63. package/dist/guidance/components/Meter/README.md +52 -0
  64. package/dist/guidance/components/NotificationCenter/README.md +39 -0
  65. package/dist/guidance/components/NumberInput/README.md +37 -0
  66. package/dist/guidance/components/PageHeader/README.md +45 -0
  67. package/dist/guidance/components/Pagination/README.md +33 -0
  68. package/dist/guidance/components/PasswordInput/README.md +36 -0
  69. package/dist/guidance/components/PermissionMatrix/README.md +40 -0
  70. package/dist/guidance/components/Pile/README.md +42 -0
  71. package/dist/guidance/components/PlanPicker/README.md +37 -0
  72. package/dist/guidance/components/Popover/README.md +36 -0
  73. package/dist/guidance/components/Progress/README.md +31 -0
  74. package/dist/guidance/components/PromptInput/README.md +98 -0
  75. package/dist/guidance/components/PropertyList/README.md +80 -0
  76. package/dist/guidance/components/Question/README.md +54 -0
  77. package/dist/guidance/components/RadioGroup/README.md +37 -0
  78. package/dist/guidance/components/RelativeTime/README.md +47 -0
  79. package/dist/guidance/components/RemovalReceipt/README.md +77 -0
  80. package/dist/guidance/components/Resizable/README.md +29 -0
  81. package/dist/guidance/components/SaveBar/README.md +38 -0
  82. package/dist/guidance/components/SavedViews/README.md +58 -0
  83. package/dist/guidance/components/ScatterChart/README.md +63 -0
  84. package/dist/guidance/components/Schedule/README.md +66 -0
  85. package/dist/guidance/components/ScrollArea/README.md +28 -0
  86. package/dist/guidance/components/SecretField/README.md +46 -0
  87. package/dist/guidance/components/Select/README.md +70 -0
  88. package/dist/guidance/components/Separator/README.md +44 -0
  89. package/dist/guidance/components/Sheet/README.md +94 -0
  90. package/dist/guidance/components/Skeleton/README.md +36 -0
  91. package/dist/guidance/components/Slider/README.md +35 -0
  92. package/dist/guidance/components/SortableList/README.md +34 -0
  93. package/dist/guidance/components/Sparkline/README.md +58 -0
  94. package/dist/guidance/components/SplitButton/README.md +39 -0
  95. package/dist/guidance/components/Stat/README.md +61 -0
  96. package/dist/guidance/components/Stepper/README.md +61 -0
  97. package/dist/guidance/components/Suggestions/README.md +58 -0
  98. package/dist/guidance/components/Surface/README.md +28 -0
  99. package/dist/guidance/components/Switch/README.md +29 -0
  100. package/dist/guidance/components/SyncIndicator/README.md +54 -0
  101. package/dist/guidance/components/Table/README.md +62 -0
  102. package/dist/guidance/components/Tabs/README.md +55 -0
  103. package/dist/guidance/components/TagInput/README.md +50 -0
  104. package/dist/guidance/components/Terminal/README.md +42 -0
  105. package/dist/guidance/components/ThreadList/README.md +73 -0
  106. package/dist/guidance/components/TimeInput/README.md +37 -0
  107. package/dist/guidance/components/Timeline/README.md +55 -0
  108. package/dist/guidance/components/Toaster/README.md +38 -0
  109. package/dist/guidance/components/Toggle/README.md +52 -0
  110. package/dist/guidance/components/Toolbar/README.md +69 -0
  111. package/dist/guidance/components/Tooltip/README.md +29 -0
  112. package/dist/guidance/components/Tour/README.md +44 -0
  113. package/dist/guidance/components/Trace/README.md +92 -0
  114. package/dist/guidance/components/Tree/README.md +85 -0
  115. package/dist/guidance/index.json +117 -117
  116. package/dist/guidance/llms.txt +1 -1
  117. package/dist/guidance/manifest.json +120 -120
  118. package/dist/guidance/visual/ActionsInPlace.md +5 -5
  119. package/dist/guidance/visual/Distinctiveness.md +6 -2
  120. package/dist/guidance/visual/Research.md +14 -2
  121. package/dist/guidance/visual/Theming.md +1 -1
  122. package/dist/types/agent-fleet.d.ts +28 -0
  123. package/dist/types/ai-label.d.ts +7 -0
  124. package/dist/types/app-shell.d.ts +23 -0
  125. package/dist/types/area-chart.d.ts +8 -0
  126. package/dist/types/artifact.d.ts +14 -0
  127. package/dist/types/bar-chart.d.ts +6 -0
  128. package/dist/types/bar-list.d.ts +6 -0
  129. package/dist/types/breadcrumb.d.ts +6 -0
  130. package/dist/types/chart-brush.d.ts +6 -0
  131. package/dist/types/chart.d.ts +29 -1
  132. package/dist/types/checklist.d.ts +6 -0
  133. package/dist/types/code-block.d.ts +6 -0
  134. package/dist/types/collections.d.ts +15 -0
  135. package/dist/types/color-picker.d.ts +6 -0
  136. package/dist/types/command.d.ts +13 -0
  137. package/dist/types/comment-thread.d.ts +11 -0
  138. package/dist/types/confirmation.d.ts +8 -0
  139. package/dist/types/context-menu.d.ts +11 -0
  140. package/dist/types/controls.d.ts +174 -10
  141. package/dist/types/conversation.d.ts +21 -0
  142. package/dist/types/copy-button.d.ts +6 -0
  143. package/dist/types/core.d.ts +31 -0
  144. package/dist/types/data-grid.d.ts +25 -0
  145. package/dist/types/date-picker.d.ts +6 -0
  146. package/dist/types/diff-view.d.ts +8 -0
  147. package/dist/types/dot-plot.d.ts +6 -0
  148. package/dist/types/edit-region.d.ts +23 -0
  149. package/dist/types/empty.d.ts +9 -0
  150. package/dist/types/feature-gate.d.ts +8 -0
  151. package/dist/types/filter-bar.d.ts +8 -0
  152. package/dist/types/formatted-number.d.ts +6 -0
  153. package/dist/types/heatmap.d.ts +6 -0
  154. package/dist/types/inline-citation.d.ts +6 -0
  155. package/dist/types/inline-edit.d.ts +7 -0
  156. package/dist/types/input-otp.d.ts +11 -0
  157. package/dist/types/item-group.d.ts +29 -0
  158. package/dist/types/line-chart.d.ts +6 -0
  159. package/dist/types/link.d.ts +8 -1
  160. package/dist/types/markdown.d.ts +6 -0
  161. package/dist/types/meter.d.ts +6 -0
  162. package/dist/types/nav.d.ts +6 -0
  163. package/dist/types/notifications.d.ts +6 -0
  164. package/dist/types/number-input.d.ts +6 -0
  165. package/dist/types/overlays.d.ts +61 -0
  166. package/dist/types/page-header.d.ts +14 -0
  167. package/dist/types/pagination.d.ts +6 -0
  168. package/dist/types/password-input.d.ts +6 -0
  169. package/dist/types/permission-matrix.d.ts +7 -0
  170. package/dist/types/pile.d.ts +6 -0
  171. package/dist/types/plan-picker.d.ts +6 -0
  172. package/dist/types/prompt-input.d.ts +11 -0
  173. package/dist/types/property-list.d.ts +17 -0
  174. package/dist/types/question.d.ts +11 -0
  175. package/dist/types/relative-time.d.ts +8 -1
  176. package/dist/types/removal-receipt.d.ts +18 -1
  177. package/dist/types/save-bar.d.ts +6 -0
  178. package/dist/types/saved-views.d.ts +12 -0
  179. package/dist/types/scatter-chart.d.ts +8 -0
  180. package/dist/types/schedule.d.ts +21 -0
  181. package/dist/types/secret-field.d.ts +6 -0
  182. package/dist/types/select.d.ts +12 -0
  183. package/dist/types/separator.d.ts +8 -1
  184. package/dist/types/sheet.d.ts +19 -0
  185. package/dist/types/sparkline.d.ts +6 -0
  186. package/dist/types/split-button.d.ts +7 -0
  187. package/dist/types/stat.d.ts +7 -0
  188. package/dist/types/stepper.d.ts +12 -0
  189. package/dist/types/suggestions.d.ts +10 -0
  190. package/dist/types/sync-indicator.d.ts +8 -0
  191. package/dist/types/tag-input.d.ts +8 -0
  192. package/dist/types/terminal.d.ts +6 -0
  193. package/dist/types/thread-list.d.ts +16 -0
  194. package/dist/types/time-input.d.ts +6 -0
  195. package/dist/types/timeline.d.ts +9 -0
  196. package/dist/types/toggle.d.ts +6 -0
  197. package/dist/types/toolbar.d.ts +20 -0
  198. package/dist/types/tour.d.ts +10 -0
  199. package/dist/types/trace.d.ts +16 -0
  200. package/dist/types/tree.d.ts +21 -0
  201. package/dist/types-cjs/agent-fleet.d.cts +28 -0
  202. package/dist/types-cjs/ai-label.d.cts +7 -0
  203. package/dist/types-cjs/app-shell.d.cts +23 -0
  204. package/dist/types-cjs/area-chart.d.cts +8 -0
  205. package/dist/types-cjs/artifact.d.cts +14 -0
  206. package/dist/types-cjs/bar-chart.d.cts +6 -0
  207. package/dist/types-cjs/bar-list.d.cts +6 -0
  208. package/dist/types-cjs/breadcrumb.d.cts +6 -0
  209. package/dist/types-cjs/chart-brush.d.cts +6 -0
  210. package/dist/types-cjs/chart.d.cts +29 -1
  211. package/dist/types-cjs/checklist.d.cts +6 -0
  212. package/dist/types-cjs/code-block.d.cts +6 -0
  213. package/dist/types-cjs/collections.d.cts +15 -0
  214. package/dist/types-cjs/color-picker.d.cts +6 -0
  215. package/dist/types-cjs/command.d.cts +13 -0
  216. package/dist/types-cjs/comment-thread.d.cts +11 -0
  217. package/dist/types-cjs/confirmation.d.cts +8 -0
  218. package/dist/types-cjs/context-menu.d.cts +11 -0
  219. package/dist/types-cjs/controls.d.cts +174 -10
  220. package/dist/types-cjs/conversation.d.cts +21 -0
  221. package/dist/types-cjs/copy-button.d.cts +6 -0
  222. package/dist/types-cjs/core.d.cts +31 -0
  223. package/dist/types-cjs/data-grid.d.cts +25 -0
  224. package/dist/types-cjs/date-picker.d.cts +6 -0
  225. package/dist/types-cjs/diff-view.d.cts +8 -0
  226. package/dist/types-cjs/dot-plot.d.cts +6 -0
  227. package/dist/types-cjs/edit-region.d.cts +23 -0
  228. package/dist/types-cjs/empty.d.cts +9 -0
  229. package/dist/types-cjs/feature-gate.d.cts +8 -0
  230. package/dist/types-cjs/filter-bar.d.cts +8 -0
  231. package/dist/types-cjs/formatted-number.d.cts +6 -0
  232. package/dist/types-cjs/heatmap.d.cts +6 -0
  233. package/dist/types-cjs/inline-citation.d.cts +6 -0
  234. package/dist/types-cjs/inline-edit.d.cts +7 -0
  235. package/dist/types-cjs/input-otp.d.cts +11 -0
  236. package/dist/types-cjs/item-group.d.cts +29 -0
  237. package/dist/types-cjs/line-chart.d.cts +6 -0
  238. package/dist/types-cjs/link.d.cts +8 -1
  239. package/dist/types-cjs/markdown.d.cts +6 -0
  240. package/dist/types-cjs/meter.d.cts +6 -0
  241. package/dist/types-cjs/nav.d.cts +6 -0
  242. package/dist/types-cjs/notifications.d.cts +6 -0
  243. package/dist/types-cjs/number-input.d.cts +6 -0
  244. package/dist/types-cjs/overlays.d.cts +61 -0
  245. package/dist/types-cjs/page-header.d.cts +14 -0
  246. package/dist/types-cjs/pagination.d.cts +6 -0
  247. package/dist/types-cjs/password-input.d.cts +6 -0
  248. package/dist/types-cjs/permission-matrix.d.cts +7 -0
  249. package/dist/types-cjs/pile.d.cts +6 -0
  250. package/dist/types-cjs/plan-picker.d.cts +6 -0
  251. package/dist/types-cjs/prompt-input.d.cts +11 -0
  252. package/dist/types-cjs/property-list.d.cts +17 -0
  253. package/dist/types-cjs/question.d.cts +11 -0
  254. package/dist/types-cjs/relative-time.d.cts +8 -1
  255. package/dist/types-cjs/removal-receipt.d.cts +18 -1
  256. package/dist/types-cjs/save-bar.d.cts +6 -0
  257. package/dist/types-cjs/saved-views.d.cts +12 -0
  258. package/dist/types-cjs/scatter-chart.d.cts +8 -0
  259. package/dist/types-cjs/schedule.d.cts +21 -0
  260. package/dist/types-cjs/secret-field.d.cts +6 -0
  261. package/dist/types-cjs/select.d.cts +12 -0
  262. package/dist/types-cjs/separator.d.cts +8 -1
  263. package/dist/types-cjs/sheet.d.cts +19 -0
  264. package/dist/types-cjs/sparkline.d.cts +6 -0
  265. package/dist/types-cjs/split-button.d.cts +7 -0
  266. package/dist/types-cjs/stat.d.cts +7 -0
  267. package/dist/types-cjs/stepper.d.cts +12 -0
  268. package/dist/types-cjs/suggestions.d.cts +10 -0
  269. package/dist/types-cjs/sync-indicator.d.cts +8 -0
  270. package/dist/types-cjs/tag-input.d.cts +8 -0
  271. package/dist/types-cjs/terminal.d.cts +6 -0
  272. package/dist/types-cjs/thread-list.d.cts +16 -0
  273. package/dist/types-cjs/time-input.d.cts +6 -0
  274. package/dist/types-cjs/timeline.d.cts +9 -0
  275. package/dist/types-cjs/toggle.d.cts +6 -0
  276. package/dist/types-cjs/toolbar.d.cts +20 -0
  277. package/dist/types-cjs/tour.d.cts +10 -0
  278. package/dist/types-cjs/trace.d.cts +16 -0
  279. package/dist/types-cjs/tree.d.cts +21 -0
  280. package/package.json +1 -1
@@ -84,3 +84,88 @@ The data, the writes and their concurrency guards, and the removal policy (recov
84
84
  The `Tree` section of `build/previews.txt` is a page tree with a toolbar; the demo service rejects names over 40 characters and moves out of Archive. `node checks/tree.mjs` (from `build/`; `ALT_FIXTURE_ROOT` selects React 19 fixtures) covers the APG keys and RTL, rename (cancel, rejection, save), create (sibling and child), keyboard carry (up, down, indent, outdent, cancel, drop, a rejected move, `canDrop`), Alt+↓, Delete with focus repair, pointer carry into a closed node (spring-loaded) and onto a slot, and 320/960px layouts in both schemes under reduced motion, forced colours and `contrast="more"`.
85
85
  **On touch.** With `onMove`, a swipe on a row scrolls; a press-and-hold picks it up, then a drag moves it.
86
86
 
87
+ <!-- example: generated from build/previews.txt by build/previews.mjs. Edit the preview, not this section. -->
88
+ ## Example
89
+
90
+ `Tree` as first used in its preview:
91
+
92
+ ```tsx
93
+ import { Tree } from 'altitude-design';
94
+
95
+ <Tree ref={tree} aria-label="Pages" items={pages} getKey={p => p.id} getLabel={p => p.title} getChildren={p => p.children} hasChildren={p => !!p.children}
96
+ expanded={expanded} onExpandedChange={setExpanded} selected={selected} onSelectedChange={setSelected}
97
+ renderItem={p => <><span className="tree-demo-icon" aria-hidden="true">{p.children ? <FolderIcon /> : <PageIcon />}</span>{p.title}</>}
98
+ onRename={async (page, title) => { await treeWait(250); if (title.length > 40) return { ok: false, error: 'Use 40 characters or fewer.' }; setPages(list => treeRename(list, page.id, title.trim())); return { ok: true }; }}
99
+ canDrop={({ to }) => to.parentId === null || !!treeFind(pages, to.parentId).page.children}
100
+ onMove={async ({ id, to }) => {
101
+ await treeWait(250);
102
+ // The demo service refuses to move anything out of Archive.
103
+ if (treeFind(pages, id).parent === 'archive' && to.parentId !== 'archive') return { ok: false, error: 'Archived pages can’t be moved out of Archive.' };
104
+ setPages(list => { const page = treeFind(list, id).page; return treeInsert(treeRemove(list, id), to.parentId, to.index, page); });
105
+ return { ok: true };
106
+ }}
107
+ onCreate={async ({ parentId, index, name }) => { await treeWait(250); const page = { id: 'new-' + ++seq.current, title: name }; setPages(list => treeInsert(list, parentId, index, page)); return { ok: true, value: page }; }}
108
+ onRemove={page => setPages(list => treeRemove(list, page.id))} />
109
+ ```
110
+
111
+ The full preview, as rendered in Storybook and checked in CI (`tree-demo`, `tree-demo-tools`, `tree-demo-icon`, `tree-demo-panel` are the preview page's own layout classes, not Altitude's):
112
+
113
+ ```tsx
114
+ import * as React from 'react';
115
+ import { Button, Tree } from 'altitude-design';
116
+
117
+ const TREE_SEED = [
118
+ { id: 'brand', title: 'Brand', children: [
119
+ { id: 'logo', title: 'Logo usage' }, { id: 'colour', title: 'Colour' }, { id: 'type', title: 'Typography' } ] },
120
+ { id: 'product', title: 'Product', children: [
121
+ { id: 'roadmap', title: 'Roadmap' },
122
+ { id: 'specs', title: 'Specs', children: [{ id: 'search', title: 'Search' }, { id: 'billing', title: 'Billing' }] } ] },
123
+ { id: 'archive', title: 'Archive', children: [] },
124
+ { id: 'handbook', title: 'Team handbook' },
125
+ ];
126
+ const treeWait = ms => new Promise(resolve => setTimeout(resolve, ms));
127
+ // Pure helpers over the nested pages: find, remove, insert.
128
+ const treeFind = (list, id, parent = null) => { for (const [i, p] of list.entries()) { if (p.id === id) return { page: p, parent, index: i }; const hit = p.children && treeFind(p.children, id, p.id); if (hit) return hit; } return null; };
129
+ const treeRemove = (list, id) => list.filter(p => p.id !== id).map(p => p.children ? { ...p, children: treeRemove(p.children, id) } : p);
130
+ const treeInsert = (list, parentId, index, page) => parentId === null ? [...list.slice(0, index), page, ...list.slice(index)]
131
+ : list.map(p => p.id === parentId ? { ...p, children: [...(p.children || []).slice(0, index), page, ...(p.children || []).slice(index)] } : p.children ? { ...p, children: treeInsert(p.children, parentId, index, page) } : p);
132
+ const treeRename = (list, id, title) => list.map(p => p.id === id ? { ...p, title } : p.children ? { ...p, children: treeRename(p.children, id, title) } : p);
133
+ const FolderIcon = () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.4"><path d="M2 4.5h4l1.5 1.5H14v6.5H2z" /></svg>;
134
+ const PageIcon = () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.4"><path d="M4 2h5l3 3v9H4z" /><path d="M9 2v3h3" /></svg>;
135
+
136
+ export default function App() {
137
+ const [pages, setPages] = React.useState(TREE_SEED);
138
+ const [expanded, setExpanded] = React.useState(['brand', 'product']);
139
+ const [selected, setSelected] = React.useState('roadmap');
140
+ const tree = React.useRef(null);
141
+ const seq = React.useRef(0);
142
+ const current = selected && treeFind(pages, selected);
143
+ return <div className="tree-demo">
144
+ <div>
145
+ <div className="tree-demo-tools">
146
+ <Button size="sm" variant="ghost" onClick={() => tree.current.startCreate(current && current.page.children ? current.page.id : current ? current.parent : null)}>New page</Button>
147
+ <Button size="sm" variant="ghost" disabled={!current} onClick={() => tree.current.startRename(selected)}>Rename</Button>
148
+ </div>
149
+ <Tree ref={tree} aria-label="Pages" items={pages} getKey={p => p.id} getLabel={p => p.title} getChildren={p => p.children} hasChildren={p => !!p.children}
150
+ expanded={expanded} onExpandedChange={setExpanded} selected={selected} onSelectedChange={setSelected}
151
+ renderItem={p => <><span className="tree-demo-icon" aria-hidden="true">{p.children ? <FolderIcon /> : <PageIcon />}</span>{p.title}</>}
152
+ onRename={async (page, title) => { await treeWait(250); if (title.length > 40) return { ok: false, error: 'Use 40 characters or fewer.' }; setPages(list => treeRename(list, page.id, title.trim())); return { ok: true }; }}
153
+ canDrop={({ to }) => to.parentId === null || !!treeFind(pages, to.parentId).page.children}
154
+ onMove={async ({ id, to }) => {
155
+ await treeWait(250);
156
+ // The demo service refuses to move anything out of Archive.
157
+ if (treeFind(pages, id).parent === 'archive' && to.parentId !== 'archive') return { ok: false, error: 'Archived pages can’t be moved out of Archive.' };
158
+ setPages(list => { const page = treeFind(list, id).page; return treeInsert(treeRemove(list, id), to.parentId, to.index, page); });
159
+ return { ok: true };
160
+ }}
161
+ onCreate={async ({ parentId, index, name }) => { await treeWait(250); const page = { id: 'new-' + ++seq.current, title: name }; setPages(list => treeInsert(list, parentId, index, page)); return { ok: true, value: page }; }}
162
+ onRemove={page => setPages(list => treeRemove(list, page.id))} />
163
+ </div>
164
+ <div className="tree-demo-panel" aria-live="polite">
165
+ <h3>{current ? current.page.title : 'No page selected'}</h3>
166
+ <p>F2 renames. Ctrl+Enter adds a page after, Ctrl+Shift+Enter one inside. Space picks a page up: arrows move it, → puts it inside the page above, Space drops. Or drag it onto a folder.</p>
167
+ </div>
168
+ </div>;
169
+ }
170
+ ```
171
+ <!-- /example -->
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "altitude-design",
4
- "version": "0.4.0",
4
+ "version": "0.4.2",
5
5
  "entry": "README.md",
6
6
  "design": "visual/README.md",
7
7
  "patterns": [
@@ -1124,131 +1124,131 @@
1124
1124
  "build/fixtures/patterns/screen-layout-report.jsx": "5de2691104456175ef51d2e1d11c85b4075341457e8acd3d5495615c2fbeb0a9",
1125
1125
  "build/fixtures/patterns/settings.jsx": "92b9b472351f9a8a3479ab04f7890b1b3cbc356cf81926ff0c280f1bdbf0c435",
1126
1126
  "build/fixtures/patterns/sync.jsx": "8474f762f7c63c4bd99fd337b080df1a788b4b92b2ced7fac5aaa1379b1a1eaf",
1127
- "build/previews.txt": "e1b5eac09bf3f1c7d450f24d4574bb705dbf68c1977d43568168847194cd915c",
1127
+ "build/previews.txt": "7f225e10b65eb4bc0b970d8a5030bad6632a335aa01c28ae7f9bb2a780b98869",
1128
1128
  "docs/framework/AGENT-SETUP.md": "57b4ba98719fce472e08226a5c784ed4b9eb20241904445825cb2287a84a0162",
1129
1129
  "project/ActionsInPlace.md": "448046810f619210c2d378d97f072722828736c99247c3436ef01edebc3d8885",
1130
1130
  "project/Charts.md": "9439a024d8123088f90bb49844f922ce50ba4f255d85e7e6324bb55eee07f287",
1131
- "project/Distinctiveness.md": "a6244e88ac53b5bc016dc9de8738c27585b2f461f50ad7557829f67d35620455",
1131
+ "project/Distinctiveness.md": "d2933b1d4c53622c31906154beca9edd89d457baa94fb4be3ae0fb8d414e76ce",
1132
1132
  "project/Elevation.md": "100532c631803e9a97018b9da5ffff60acf7d80559f9f162ba9e371f5510371f",
1133
1133
  "project/Fundamentals.md": "65120fd170ff8ea9f50b1498bfedc8c45dbe1a616bfccc32664213e5404d3a32",
1134
1134
  "project/Mobile.md": "511db58119a1653c2c00e2ccb34c6cf943de93f2184dec0faf3228f563e0b1b7",
1135
1135
  "project/Motion.md": "7fa4e7501b710a5599c7a8c99e531f2b9b1b4dfeba6a6a4d9716685d45f33d31",
1136
1136
  "project/README.md": "e6fe7ec7cb0a4290a8005daa0ff4db3654d1f1b4a69598f5c46b6722c86d737e",
1137
- "project/Research.md": "ca9931eb15547b86cff525126cba2a09e6e0751ad2739a60f453c83ed8d84216",
1137
+ "project/Research.md": "d77743a7292796b51cd7445c527936cd3889eb4b7446ee6208a3d0c954bb4c43",
1138
1138
  "project/Theming.md": "74aef9d0e908fcd908fe7351f0c9248666772385582ef02b4c53f09ccd7634c5",
1139
- "project/components/AILabel/README.md": "6eb2832d83e566c9b3ca8171209ae44e5c61a9b1ba9019807c86984ed83c38d2",
1140
- "project/components/Accordion/README.md": "fadd416b532396343e5ea3de073e2f7ea4fe3bf1985fe335fbff41db70efec18",
1141
- "project/components/AgentFleet/README.md": "1904b52428b2ba7a07f45083cbdaf3efdcc3e8615fbbed8d62582834540c7d53",
1142
- "project/components/AgentLanes/README.md": "d76e1ecc559188657b3135511184bc6f25d0a4eb69b53e9d244516264a02e536",
1143
- "project/components/AgentRequests/README.md": "7fd1f7c471652804e672c29c4d8598b13451ad36c77af6ef8e7d1bc7680df8b7",
1144
- "project/components/Alert/README.md": "9eb739971b0ec48eb1b30614e3dd4f4b78452cee38ef092dd21d378d6632c3b3",
1145
- "project/components/AltitudeProvider/README.md": "adfa3ee3f28f7721c831f486c14f1a5d3b8091b9a82d067958d712cbc9aeb5f5",
1146
- "project/components/AppShell/README.md": "cb3f4eb307beb50337eed2e76465b0a62a61e4b91e8aa6df80645dfa8ea11424",
1147
- "project/components/AreaChart/README.md": "96725b84692a23ece5a1cc49ad1d85bf57e10c9e3d5c21d2f222f97b4f0f51dd",
1148
- "project/components/Artifact/README.md": "d5f1b9525200d61889d9438aebab00240220b969e7a7707c402f114d21e6fb64",
1149
- "project/components/Avatar/README.md": "92065b3e98a762758e7b80c8ec7832f206b78323f9ad3448ca719ec78905ab76",
1150
- "project/components/Await/README.md": "301a48444e30d820d17dd5d369e42791e66ea022f730823c1301fb68e17b837c",
1151
- "project/components/Badge/README.md": "01f422733af464ddbf8822bc743aad89c92ff69abae22fcfb0fbbf126e342c63",
1152
- "project/components/BarChart/README.md": "5aded17c65bebd7ed808689da9e90234825020ed3d7ee764e8240fb53c422ac9",
1153
- "project/components/BarList/README.md": "5e06f155ae8f761b686c8c5921b26fd7d618bf6f7094c572038a1a7eaf219aba",
1154
- "project/components/Board/README.md": "e09e6fc636a4f23baa50e9af1981b0289d15980c9397094b09d2f966527c96e1",
1155
- "project/components/Breadcrumb/README.md": "087330ef2001d57b852eb59677f6881806724c00526638538a3aa2b5fb98fe33",
1156
- "project/components/Button/README.md": "121911e619a0f4f443685a6a5fe88a5298b9f3545c970f6dbe18fe3b621edd4f",
1157
- "project/components/Card/README.md": "b250515658f0860afc873da4166714a46c5a7f234105a7f573fd46e384467774",
1158
- "project/components/ChartBrush/README.md": "70933e501f03121cfb1586a2e5df954377588284716c4bd5bbcaf40534b009f8",
1159
- "project/components/ChartContainer/README.md": "be403942ab4c29592c1cd00784e1ee76f91ea38ed2d15460330d5826fc9f508d",
1160
- "project/components/ChartLegend/README.md": "3954d3c2f9f27d23129c6e6faaaa48915d0629fe2acfb87bf808c53fb0dd61a4",
1161
- "project/components/ChartReference/README.md": "b2fa0a093e92a12debe8e2e1a431464bdecc0ef053dde1d9b428977f5cddf6d1",
1162
- "project/components/ChartTooltip/README.md": "749ba5efca7dfa539800148f8eeac3db86981f1a64cc74a83041c040f27d0130",
1163
- "project/components/Checkbox/README.md": "7d6b46ff1853fd63b0a99971debadf38ac29c97d632f6917e2b8b08879b83d49",
1164
- "project/components/Checklist/README.md": "7710216c6463bd46eb10045372403d2b4cdb7ed9ab539f83ee9788303fe723d0",
1165
- "project/components/CodeBlock/README.md": "46a52496b46637c3b96a667d4788cfee7b938eb99101d085357a2094934d3606",
1166
- "project/components/ColorPicker/README.md": "5c43d2a038db4435aafecee0e4d8a974b6bb1053d0032a73f3ab09d83b09c824",
1167
- "project/components/Combobox/README.md": "e021593053dfb8c99dd958343cfdc930bac4420916d4f319d70aece6aa7767a9",
1168
- "project/components/CommandPalette/README.md": "eb2fe4c0c2f13301e98b05f60882dc6e8118ba3ecdbca89b1057339b4205f319",
1169
- "project/components/CommentThread/README.md": "057e4c346df7884b47f7067e92f1119ae835d440bba5fdb7c094d8aacaed8c93",
1170
- "project/components/Confirmation/README.md": "31262bd79619254f66385c3876987a2cdf32be99d9ed6691d228eeb2b812eef0",
1171
- "project/components/ContextMenu/README.md": "a683432817d23ac2861358e4855305cae7f343a265dfda5712a1d3a45b8aa356",
1172
- "project/components/Conversation/README.md": "9c6eb11b1db887400858e752a5d5260c3aa969151315af83e6939c1512bd9610",
1173
- "project/components/CopyButton/README.md": "f9e40379cf7c83e6db85d09e015d828da3eaf06ec326de17709654bd14a29352",
1174
- "project/components/DataGrid/README.md": "716ce973b96d4c547f7204d6f830c198f758fe3abaf3c07e7112496da119d7d3",
1175
- "project/components/DatePicker/README.md": "40a024df35884fe6e9c2714ce5a312ce3be36a9c7fa313469a85214f7be05d63",
1176
- "project/components/Dialog/README.md": "f5ac2e51202042ff5b7328c61c79d63fb795f5182d20189033027a8f9e0c6f3c",
1177
- "project/components/DiffView/README.md": "e4153b84adb889c8d966c7c7562eb54ddf92a40ca50d0016f1ce0e20d3866acc",
1178
- "project/components/DotPlot/README.md": "0000f0ae51f6f45bd0669ff0fb8f8afdcd1649669fc00e062d68b5d8535f590a",
1179
- "project/components/Drilldown/README.md": "9049c54b5ffa6b12d4ff21ca5eb531e8ad115ebdabab285b90c0e3997e67ec35",
1180
- "project/components/DropZone/README.md": "5152a59df97da2615d075122330b32720fd1929cfa3907d6f56b94147643d59f",
1181
- "project/components/DropdownMenu/README.md": "45d43c0e1c3d59744fef3d60a01c9c911dc6c0c00eb2f43d27c77db06bcaf9f8",
1182
- "project/components/EditRegion/README.md": "7e158150c4c943ba3e074ac2f9866a82ace664ebea90dea620dc112092e83fb0",
1183
- "project/components/EmptyState/README.md": "17822c06a75164d7d6fcaabc1f9812a55943718eedd2adb50bc704402b1c2548",
1184
- "project/components/FeatureGate/README.md": "0ba1421e2d0028260fa6905aa4c995a5480fa335158955403e174d2f36f29a97",
1185
- "project/components/Field/README.md": "d0f0354c4095084e5a58bd3a463848b6cb58892dab37691ded9808be0bb5cd32",
1186
- "project/components/FilterBar/README.md": "80a1b902620dfac130bfa265f1239fb8b0e61c94a04b7af5476331b6e43beb10",
1187
- "project/components/FormattedNumber/README.md": "667ad4454d009b3be6f085b4f00e03fbe7adf2b5dd3277e4067ba8bfeeca704e",
1188
- "project/components/Heatmap/README.md": "3c8c42dd6fe27b0516263a3aced3efe0cbff5f7cd01ac2bd7530e9a9201eccfb",
1189
- "project/components/HoldButton/README.md": "6b5a06eb85d6b260e2f83443ab9c6a3ae5488650dbe5bd576cf556ffb968c302",
1190
- "project/components/HoverCard/README.md": "9232b93aee7df2e6ed01b63fda01868ce9a96b4a3c366a5f899f3fedc5c11110",
1191
- "project/components/InlineCitation/README.md": "7b8a2cb16c062cdadd5dc72309281ad780597879faf0790f80f7d408a9c3225d",
1192
- "project/components/InlineEdit/README.md": "fcb4a5f659857ce36ce1b89e1b069205a1c378fe5d63f1d164f046acc841327e",
1193
- "project/components/Input/README.md": "46724589bdcb75cb7252b62e5b15f16ad0a96a085db57505cb89014813688a1b",
1194
- "project/components/InputOTP/README.md": "13a7a8d230b02688fa2f51783756a842a550c51f029c9f8f5c9a17328634962a",
1195
- "project/components/ItemGroup/README.md": "41bfcf920ecead3c176cd264ff85d72100a41b953f64a718166b960991dbeb9d",
1196
- "project/components/Kbd/README.md": "1df0d0f71fd4c643fd060ad11e58c6037235d95c2786a2d2ff693404a9ccfe0d",
1197
- "project/components/LineChart/README.md": "a6527835e762989a3c8946c1341550a32c4d9fc66bd8cd7131e28801b1a4384b",
1198
- "project/components/Link/README.md": "3224830e0477ef585bb8e7c7d95e037eb85e20c41e0903b44016f71b3a80bc66",
1199
- "project/components/Markdown/README.md": "138bfdd419a48e52cd10541a7565a08197a1ffaf7403e7ad64ef238f49a8c259",
1200
- "project/components/Meter/README.md": "5f31d7281dd674e016bd1971ad43f4557a244bc94a516317923ff8ed708a3ef1",
1201
- "project/components/NotificationCenter/README.md": "c0f24c04167c6145d863dbc56ae929dfbce31c3fc3ffa73aa3886771a564bda4",
1202
- "project/components/NumberInput/README.md": "c1697e1bfae790da21ecb9f8319ace66e74c490a76ff285982f9a43eb6f4f111",
1203
- "project/components/PageHeader/README.md": "49d054eac089111cdbcd6be8a5678bd38679410b8ab7d8b0bc0743aad1b377b2",
1204
- "project/components/Pagination/README.md": "e0158fa78cb42f25ebb10ec5b3e62b0d0d8acb135041684a71c843275ca6bf09",
1205
- "project/components/PasswordInput/README.md": "b2f2dce48a2d778d753d9019a26f6c2e78228690e763883bfd3d87426c4219c8",
1206
- "project/components/PermissionMatrix/README.md": "7c861d7d47091e9c0f24129b535e7d65bf7bee2520194cf7371bc0fa12d16954",
1207
- "project/components/Pile/README.md": "989a74afd75cf4af3b7f8a4843edb7ddba325f7285b285e962ded77f78ab2e6d",
1208
- "project/components/PlanPicker/README.md": "8821d2a882554fba3133f57a259251fc80fa0952bf5984c848a4b3b1bfd47a7b",
1209
- "project/components/Popover/README.md": "69d96d27ff9bf74860730c62cc460521d104148f158a2a00456dce2e6bc94cc1",
1210
- "project/components/Progress/README.md": "f9c7c76bd4889fc80e46479564899db41bbc69e4afe7b3b0b2d199af8088b928",
1211
- "project/components/PromptInput/README.md": "15d50afc3532eca920d1247c52245aefb0df684174f652685d009bd4ce9b57c2",
1212
- "project/components/PropertyList/README.md": "a5a7c3363a37451abdf9a9e3c6b65b4287629e86576f18a6aaee5303820a0982",
1213
- "project/components/Question/README.md": "e3398d54fefa1bea955837abede36122d86a3058b3be8de51e59de88a52c21dc",
1214
- "project/components/RadioGroup/README.md": "1d0f5041c74c578c139a349cf58b443c97fca60f015c8a0e5f7562563f377262",
1215
- "project/components/RelativeTime/README.md": "80e330b381c9279763bc09c2431cafdfbfa1b482b76c8407bb621991ed57f808",
1216
- "project/components/RemovalReceipt/README.md": "c7025261b427d062662bd4967c107be98e888c6cdf4c455af18577658a6a680d",
1217
- "project/components/Resizable/README.md": "14b4d2b99b22043d8054f9d25ed81a6721b16d7c2b4c5913930aeb8c2356ce69",
1218
- "project/components/SaveBar/README.md": "ba893bd4a2d43e48f7ad5d84dbcb82b0493cd269f52b5fc2aed4462eb34c3fb0",
1219
- "project/components/SavedViews/README.md": "2b14933ccac394d861f372a85fd8c246d125c4d6fbe3349ce5e2b4a8f0831b91",
1220
- "project/components/ScatterChart/README.md": "d4135b0efe4e2384b44d3137fe297b87a2dcf93b20f1009cba9dab0db220279e",
1221
- "project/components/Schedule/README.md": "e74ccb8cff6a043f71d98bd4bf582efa857cfe381296e20c5f7eb70d4b832456",
1222
- "project/components/ScrollArea/README.md": "56279e17910a729cc98394e7b603598ef471bd136f011c81558d2824aa76a70d",
1223
- "project/components/SecretField/README.md": "9daab51e83168ffd2cf7d94d211b4396c1ad18d8c65072d0463e53401488fbfa",
1224
- "project/components/Select/README.md": "b5a172f48fb16d2c159f5629df003f233a5612f95a573dfa5062258cf1bfaab3",
1225
- "project/components/Separator/README.md": "91a6134fc286b07b68d5b40135e99b1d96671f768a5a203c5f32236c126f8434",
1226
- "project/components/Sheet/README.md": "effb4ee4345a947af723966d9590a8b6db0b55399f3fa06ae80dcb6e687233fe",
1227
- "project/components/Skeleton/README.md": "d1a5125fd0040b8ed43f9282114dc7d76ed7d272961c1521caa74ffeaa615f94",
1228
- "project/components/Slider/README.md": "2ea1350cd1d017529bb78a2976399d8a535d2d2846500b42fc956829868388cb",
1229
- "project/components/SortableList/README.md": "256d67224be0cce7c0c902c5b9b35ae15bf2358274db31f0e6aebbc9fe97283f",
1230
- "project/components/Sparkline/README.md": "b5c08553f2999f2ed553a6ab21c58bce29badfed5c1d66441bc6e0b93e319377",
1231
- "project/components/SplitButton/README.md": "6c019f5301f28fcdd06f087b2d6f9994f2e88a1b69e96552595e5ca53ecb32e7",
1232
- "project/components/Stat/README.md": "791546f532bdd0c3c09ae19985c0df7fe626556ff51abc234c78227b21341bfe",
1233
- "project/components/Stepper/README.md": "4b2357b035d4a816e615f810dd025bb3de185a6c6ddc246c357c0a31fc7b4c90",
1234
- "project/components/Suggestions/README.md": "45f9c00b1574fb8037c47a0ca919ed18bb5714db95d0e7144f309468c776a2cf",
1235
- "project/components/Surface/README.md": "69e53e3086f732b5274ae881b3b69269d77975ae696dd9a52121f26fd8312250",
1236
- "project/components/Switch/README.md": "c3428ca9f251d66cc80cefbd02aac59c69d54e818164cf52a52eec8f7d596489",
1237
- "project/components/SyncIndicator/README.md": "93bb03e01f9b1e6078b48dbff54368dc4e16e0fca835e6f04c42c3d0fbd36dd1",
1238
- "project/components/Table/README.md": "1cd16b6a17cbee8980636ebad08bcc2fd4f8f100d0cb2b0fad771c3342376521",
1239
- "project/components/Tabs/README.md": "6d83b79e0de188b6e36736d5fab05caf481935551cfbb64253a4c7ba27fcaf39",
1240
- "project/components/TagInput/README.md": "e8b290b1cb137bb8ec0f759a65c6d6935987152fa5781b5c755edf1f193266d3",
1241
- "project/components/Terminal/README.md": "87f8593569f6164d5c4bf376aed660942d35fcd190f54c9f9c2ffccc766365f6",
1242
- "project/components/ThreadList/README.md": "306b524672737ffe7c8605a8f2419ead9c39577835e6cac39b0574c633e6d8c5",
1243
- "project/components/TimeInput/README.md": "f409637dec70c90c71eb33d1faecba3930bdb33ba324530cbee8619b8cc2e021",
1244
- "project/components/Timeline/README.md": "af1be980a583502970916d79486bdf6c0af49cfe5fb4e3c6e2ed02392622da3f",
1245
- "project/components/Toaster/README.md": "d55093ef78bcf2f7dace40032bd593fd05c4d97baa3456c60670632cb8f70497",
1246
- "project/components/Toggle/README.md": "7135fb995f78779d4df28f9b565c7e36a9727e20017076eed025a82c9f18fa2d",
1247
- "project/components/Toolbar/README.md": "2a8b191e1d1b787dc010e661b9a81b1a54643131c12897b370963d6696e3da6c",
1248
- "project/components/Tooltip/README.md": "7945784f4df49c3a91409298b3e4c21d9d12cac25147edd8e8fd7c4669ff1b71",
1249
- "project/components/Tour/README.md": "17998e159e3be85baccd2531de56b976426effb4c3447ebbfcfc5a141c8debf0",
1250
- "project/components/Trace/README.md": "3858ccb296c8ea5fcabff874110a3216050a3a25f9578de39bc3f58ff93a6fe9",
1251
- "project/components/Tree/README.md": "98526698773dd61fcdee826eaf9d7113930aae64f0a7b00ffc9689dbd9a989ac",
1139
+ "project/components/AILabel/README.md": "0002447d340029fe28652ed26c474c91edf89a0e23be300d24c198afb7086646",
1140
+ "project/components/Accordion/README.md": "b166e499eb3604ef84a375818db3aec91c5459870b5d6cd3133ecbdf36e145d6",
1141
+ "project/components/AgentFleet/README.md": "f76c32acd7f9442efe001513e7e29ae767587b4c97661e14e4067b28691e6260",
1142
+ "project/components/AgentLanes/README.md": "6835f79a4353ff47196a0c73f4e73e4b396d403510dde4795f8495d7f80ccbf9",
1143
+ "project/components/AgentRequests/README.md": "e7ac986cef68b09b5a7df7d1c11cf44ef8d417a3d22f9436f7cea1d8b4190c18",
1144
+ "project/components/Alert/README.md": "552755412b216a34aee2bf0ad8338e4d4a38692f1dd998394ef5a6b1c895ec6b",
1145
+ "project/components/AltitudeProvider/README.md": "6c0e37e29e3022e172f387493378a3f7e7ed8b13b9a197f5b53e0caab1c73286",
1146
+ "project/components/AppShell/README.md": "9363def66ebd650300b940c71f716653b4960932836fd123aee25a6562fdf88f",
1147
+ "project/components/AreaChart/README.md": "9b527345b1ad564d3364b6b5e2287ab998d0f8e1e9895723288b6c3a0753215b",
1148
+ "project/components/Artifact/README.md": "37e3fe7e2d7dc20979f17c77b939e73b329a3a981dbe46a7ec480f2a072a5662",
1149
+ "project/components/Avatar/README.md": "dc833eff628d6b850a82c910299dc29b6341ad51ee37566c1f9ed116447c45d6",
1150
+ "project/components/Await/README.md": "bde547bfebfe8407e6bdeea68f4c8e5b228fd38189355cdaff485c0ec8a4c94f",
1151
+ "project/components/Badge/README.md": "118520cbd5dca26aa4d048a429c1574467c25321e376f60e073daed0be875ea3",
1152
+ "project/components/BarChart/README.md": "e7a68dca5e1ba3036aab25bc3ba434d60f6542032262bec41d2fc6c50d163b80",
1153
+ "project/components/BarList/README.md": "96ec0d5cae26ce7bdeb995652cc4147d64caea14771f82e92dd0f56f002eed61",
1154
+ "project/components/Board/README.md": "95402d7e6f4c76111a88e19f6dd7b762c900b7c5e7aa1ab14faf27ef870162e0",
1155
+ "project/components/Breadcrumb/README.md": "fe28cfe23113fcfaf8842181bfa9f9274e192dd9421ec9ce992a53e7ebdf80c9",
1156
+ "project/components/Button/README.md": "46ee13103d00c0435c00496fbcc25b909b63388e05f2a76b483d43e7619c74f3",
1157
+ "project/components/Card/README.md": "74fe7bcd95c8600a506751f9ab7f6ebfa8691d7c207fd2e3c87c84a8b5292cb0",
1158
+ "project/components/ChartBrush/README.md": "be1c113f9d7ffc5df62702a55f15ef5e096f9a2e832dd277a10b636001731c14",
1159
+ "project/components/ChartContainer/README.md": "0484a48f808b4887ffde0c79f28e0714b9ee025d0795c224b2f2c302ddcfe62c",
1160
+ "project/components/ChartLegend/README.md": "d43b549b613d5ad43b7acd97dbc1424a71d20393cfbbbf3efa8c053c2432285a",
1161
+ "project/components/ChartReference/README.md": "d8e4c74c0a96c36c66acb05fe3c69245b56733b42e3c3e08786c78e4feabb94e",
1162
+ "project/components/ChartTooltip/README.md": "f886a0a48b02504650c538926fbe55f763ff84122f0d3deee62cd8f1317f53e5",
1163
+ "project/components/Checkbox/README.md": "14e1a4f795393a728ce0cb37949413ba30a480bbff583bcf3c0899544928c26d",
1164
+ "project/components/Checklist/README.md": "3c61aacf437512760cc16b21aa9b54e7c1e1296b447743c1860a3bedb977c8bb",
1165
+ "project/components/CodeBlock/README.md": "61789d26b28d6da47e566683d01bae3012d05ffe67e4bbf35ea784d5d359d12c",
1166
+ "project/components/ColorPicker/README.md": "24a0f90b86d7b246976d8a41dc047c25bb4b6ccb80717f388783723f15497018",
1167
+ "project/components/Combobox/README.md": "f19169c7453cba104859b28eb54e8ec0224bd6ab9263a28bca8bbb4be0c67151",
1168
+ "project/components/CommandPalette/README.md": "a6bf308a4d791873cfedeaf190b422cd67ed4e6dbb7273f3b340f93432d7e741",
1169
+ "project/components/CommentThread/README.md": "54134a30be5ac1d82f2036345869205d5d6003ca198e1d982c72bb2ef856806e",
1170
+ "project/components/Confirmation/README.md": "c6ed60c3ae6c563da1a5473546d14986ecfe5ecf691794ee3e6d89e39f4e3ed4",
1171
+ "project/components/ContextMenu/README.md": "ab86dfa366dd2bacc98e6b01b45cc6e9919301e680a1d19798a0902b1b23475a",
1172
+ "project/components/Conversation/README.md": "13ad68c8d4c5a5687245d64136f413d3edc62ce06efcaa0a5771004157ec04f0",
1173
+ "project/components/CopyButton/README.md": "edac13d1acbd4fe4d72f440ed62e5eb943c33545d3e6faac2d1368b6f8bab00c",
1174
+ "project/components/DataGrid/README.md": "ff20e0a9b7408048cd3cb50a51e7c3f3a6f89956ce0696e310232e06f3060f9b",
1175
+ "project/components/DatePicker/README.md": "6ffccef22967b52791d9f95e72058c0b78696253ceeec27ae067344313b4fda7",
1176
+ "project/components/Dialog/README.md": "324138d32db8315e365130c0a91ddda686292e9296883b7baae8d11fd9fce538",
1177
+ "project/components/DiffView/README.md": "da741f44cbe1a5fdc658eb5cb646b72b47fe03ea800f842fd80e7f8f074448bb",
1178
+ "project/components/DotPlot/README.md": "2d8f7a05497ba960292f3eaa9bbb771b50fc6bf71e114be7f4056355d4071c8a",
1179
+ "project/components/Drilldown/README.md": "55e4ba22622faa579d5fa48229326aeb3516dca10898a71c9b7e0849bb86271b",
1180
+ "project/components/DropZone/README.md": "698ff35d2b385a3a52f70709943a42055f3c8e4d90e6c4f9e9caa90ea9df9912",
1181
+ "project/components/DropdownMenu/README.md": "258867ad981fbeffd7d6e5eb95d0c298c49e8e2f5b5fc127709a23610152dc65",
1182
+ "project/components/EditRegion/README.md": "747a5dbe65b441f7930bab3cefd6360b11a6f46e19f7a7da526dec282629a196",
1183
+ "project/components/EmptyState/README.md": "f616d8545c10c13c88d1f2e0afd9b7cad9bd60c4cc3491f632e0969b887813dd",
1184
+ "project/components/FeatureGate/README.md": "c1a46ba656b5102cf7018d376f227e662dd48b8b224a1215056a60beee44b3c5",
1185
+ "project/components/Field/README.md": "cfa5b963b00a8796b9ea22eae8856bd74a87be3cf4d4ceb6341b538c411138e1",
1186
+ "project/components/FilterBar/README.md": "b861538ae1f2b778547547d4b6491ddb28b69d850ed1672960c143ef6b341bf1",
1187
+ "project/components/FormattedNumber/README.md": "9b9e315986e913f7cb995ce82831ac1bc8148ca5b2cbf94e7aa3d2f941e649a0",
1188
+ "project/components/Heatmap/README.md": "b239a7a7914e634c4bcea47dda84b51633399890dfecb4839740d45c0ab344ba",
1189
+ "project/components/HoldButton/README.md": "bb81a002a2d37701a84a04123fbabd8cb820c52befaacaaf881de48d12f733f5",
1190
+ "project/components/HoverCard/README.md": "23e6de1b79fa302b2ce168431fd15339b33132663911521594882f338c1ca366",
1191
+ "project/components/InlineCitation/README.md": "b3f66c18bdf054f818525fbcf5f5db36535d121289f6d0451413ac0803bf8edd",
1192
+ "project/components/InlineEdit/README.md": "a5f0ffcd73799922f438969020ef95b033460c12c2e5087bbf990d03c9cdfa8f",
1193
+ "project/components/Input/README.md": "e983162dc22da7fa9dc7968a2db83b32e93b1ab5ee8b063bf5c63ab12d63b03b",
1194
+ "project/components/InputOTP/README.md": "e1a17bca55de012b26f25dca299d7ffe01b21248efde19bea63ebeac4e2625aa",
1195
+ "project/components/ItemGroup/README.md": "82e405e1c7df827ef00fd19cacf9b30809455c6dbd25b00fd1419a826bb02eaf",
1196
+ "project/components/Kbd/README.md": "05560bba1e4177115f7e23eb1e9103625be645ce0b87df64c46adaeea9fc1512",
1197
+ "project/components/LineChart/README.md": "5739a14c274b40970fd30249212d38e09e79529018173f698d70361f2a6cb911",
1198
+ "project/components/Link/README.md": "13f72832bd509b9b6ef3c91f79df2dc6919d5c34346772c73e8c63fb9cb99fc3",
1199
+ "project/components/Markdown/README.md": "9d1d5a8ea10cd4f8765d0a21c0f8bd7bbf150643820761dd5fb3dcc52e224616",
1200
+ "project/components/Meter/README.md": "dc4b0b799841f208b61346de2490cf4af6dcc23db6725b072c9deaa608ecda92",
1201
+ "project/components/NotificationCenter/README.md": "1c2043460b688347daa214e15d2c83925c2e272dd6655efaf3074f3594214b80",
1202
+ "project/components/NumberInput/README.md": "6c8d196acac254243b16090a8d80c41731d88c170f0b1a7eaf6d00a05c09d195",
1203
+ "project/components/PageHeader/README.md": "eaa286d9c7c758b904df9a70aba802bdd405c3d49de788334992b40dc5451934",
1204
+ "project/components/Pagination/README.md": "775a3d85740b66ca932a5e04deb17e922e4819d8318503edc3e54c6ed0ca0542",
1205
+ "project/components/PasswordInput/README.md": "073c4d74e606bc0225e832a887c9f279193df0d60ca4855eaeeaf576d1f37935",
1206
+ "project/components/PermissionMatrix/README.md": "3f5ca4cf91ec2c9e3803104052c4dedd7778646b2d7d5afd8389b3c9385df4f8",
1207
+ "project/components/Pile/README.md": "7ba9aa587158b68816f8317917b6e22d39cce2e42f26aa53247496fc38d7fb09",
1208
+ "project/components/PlanPicker/README.md": "d8f9d7d80d7bbba959de64e7f18496945ef73b17c388ee0f639f203470acec58",
1209
+ "project/components/Popover/README.md": "5666b43b85c453ec4315572e9c15d2868674d7d7686ec118cbce64ae16fe53ac",
1210
+ "project/components/Progress/README.md": "e5f98ebfe662db89d568111880bede453acc2e976ebe74185a9f3d73e71ce323",
1211
+ "project/components/PromptInput/README.md": "f412dee8e40a650914e2c835cef003365dd41e483cfcd743df826c4682c8a532",
1212
+ "project/components/PropertyList/README.md": "168872db3bd96e0b432a1f6b931f1330bad401dccfc94cc219b64cc9a64446a5",
1213
+ "project/components/Question/README.md": "94ece55de57e9cc358bbbd34dbe7a7329eba451a7f2c22aa02fa4f1f1b8ed199",
1214
+ "project/components/RadioGroup/README.md": "c0242621ae36b104d574a2df6ee650527bdcb64d37642f0cf4dd86cf16ec5ae9",
1215
+ "project/components/RelativeTime/README.md": "5b1a7f716825233b457319c2398ba574419a757c2c92c11223dac5d64a9990a2",
1216
+ "project/components/RemovalReceipt/README.md": "b5a0392079b5f0db25ea12fa1e40fc5a2b7415360e9c35ecf523462fa88adc66",
1217
+ "project/components/Resizable/README.md": "c166d0af35119ec622919a7c274696deee465beb3b3a999e263d5ea9d248c1f1",
1218
+ "project/components/SaveBar/README.md": "87661cb5efda0d3aadac7d89f503368ab54080faf902464af9f6d7ce31752aff",
1219
+ "project/components/SavedViews/README.md": "1eb6996c7ba7b6fe2f680603f66c4dcb0b2e98b5901dfa1ad405fd967a2e3fab",
1220
+ "project/components/ScatterChart/README.md": "73f447b83eea8093ffca91b260a71102bd4e5d7953b4028ffd005f29276bd8c6",
1221
+ "project/components/Schedule/README.md": "cab13327ec2b8ff9c317dc19ac12390705f15f9f9d61b94c3bc52810cb54ce82",
1222
+ "project/components/ScrollArea/README.md": "937763fcbccf2398129499fb092d12cedecd67fcc42d619bfb5c918491f4214c",
1223
+ "project/components/SecretField/README.md": "5cd6cf1baa5e05b697e0c9a6adf46ef75dca8baee13a5922ecc18cd058ae9c12",
1224
+ "project/components/Select/README.md": "7100be945a087376144b36d5011ae1802ad4c09775508b738266a3b2bf4ff3cb",
1225
+ "project/components/Separator/README.md": "3e1ea97e6f94b61b9238d0574af5c3b89dc98739038685d47a2ec900b06f9b04",
1226
+ "project/components/Sheet/README.md": "6ae67731f739ddf3252d8379d5abb1593841c5539025e79ab7503ec338d2ee3b",
1227
+ "project/components/Skeleton/README.md": "1dfb1c66fb09ab7fa9cb1c215d3d23ec64f80426429a30208965c7926aac5ac6",
1228
+ "project/components/Slider/README.md": "83d151670641cfa52bd575ad14539a5d28ba6fa0d53a6dfcbacd5653bb0a27a6",
1229
+ "project/components/SortableList/README.md": "82895ed1a93de818ebf294886056e038060a159a44ae909b7ccd4c1ec5a9e463",
1230
+ "project/components/Sparkline/README.md": "1b5955eac19ba5d13061c8ed94f687347d37a7d8d25e8f9def6a47cdc302f51b",
1231
+ "project/components/SplitButton/README.md": "e31e9de4502d843ae073d708d6dcf0692f1cf18cace8fe4dbc76f001b0535546",
1232
+ "project/components/Stat/README.md": "ea503b7e12456695a7d70e1d07bb2943e766e1a41e537f5e9215bc4d960d907f",
1233
+ "project/components/Stepper/README.md": "6a836faca42ccc7549ac86da1639280af8f19e880685258e3df937c6e17d4981",
1234
+ "project/components/Suggestions/README.md": "de81a3988cf3233ca80332c099fca06381a9ab6416df0a560bc1ce5f5e976489",
1235
+ "project/components/Surface/README.md": "1e14fd015df7aeceaacccf8b94cdfebbc821ef30b98f11c5e8fbeb30744a9721",
1236
+ "project/components/Switch/README.md": "42402b1097acd4b84192d7ae9e7e4813d3a09d6c0fa76f8922e2ffa4f8abc66a",
1237
+ "project/components/SyncIndicator/README.md": "55f1c197d822a97903a5590a72a4006b371a41fe5ac876f66ac395493ac4b0f8",
1238
+ "project/components/Table/README.md": "e29d07664e06255add18ae88851a9fcd6f65f490d3dcbb62759109a384bf3aee",
1239
+ "project/components/Tabs/README.md": "67ac2cff922ad2834a4dbc34255233c86106cb4db4757a3af485cc320e74dccd",
1240
+ "project/components/TagInput/README.md": "767384532997c2d20b8e545d5a7f34ed8c33605a4167d22fff2eef38ef4db139",
1241
+ "project/components/Terminal/README.md": "78921ce1351076df794075b563c3be6b5e36d4e0d0dea29d7bfa4e4414905ace",
1242
+ "project/components/ThreadList/README.md": "d80cae5c14607e62edde48ccc281857c511c010c2393e1b5ad3b1a01ea20eae2",
1243
+ "project/components/TimeInput/README.md": "38cefa3218caf4b1e327ef94e167e62834f07ac43a80aeeb522ed1630ab015fd",
1244
+ "project/components/Timeline/README.md": "95daf26d1e2f1072f74ed0e3a3b6792468824cf1135dfa132dcce0081094aba8",
1245
+ "project/components/Toaster/README.md": "0a4880d4de44302c66492130bbb59712f8ffa890d2b44adbcc8e3c380c92162c",
1246
+ "project/components/Toggle/README.md": "436a2a35daaf0cb7a7750bcabbebc17731ce04565268ba3dd67dc48742eea181",
1247
+ "project/components/Toolbar/README.md": "b40dea791d70f301a8b62317473a6f40962707164e57ecd41b6e46514925911d",
1248
+ "project/components/Tooltip/README.md": "851245aab0a9f6e7b8aa111a7000b783a9656637bac5b50f332feb2c6a69e72b",
1249
+ "project/components/Tour/README.md": "ecb436c7753b2d5d5d44255f04a833cea73041cf91287aac50c7519520ca2747",
1250
+ "project/components/Trace/README.md": "62c571b2d96a83e5515988eacecd47de3e2c1a2452476d00645d1a26d3cbae3d",
1251
+ "project/components/Tree/README.md": "9fadf66c7d223653bd299362e997c814f06baf2a9c59f8ebc15ef9a0a24235e4",
1252
1252
  "project/components/src/pattern-async-collection.tsx": "9e4df2265d1de6f269278eb4a42d8d63b3ef74a881a455eb17102be477ecbf4d",
1253
1253
  "project/components/src/pattern-consequential-action.tsx": "ffe49b7a9fa978e9177c6f3d839d311bdd3da913a6eeedc241800b10fc3287f7",
1254
1254
  "project/components/src/pattern-edit-record.tsx": "7e83cfdfdb85f6927667dae58f7392c1738dd05ff7a53c75209a875779c9db9d",
@@ -1,4 +1,4 @@
1
- # Altitude 0.4.0
1
+ # Altitude 0.4.2
2
2
 
3
3
  > Altitude's guidance for this installed version of altitude-design: the design rules, the task patterns and every component's guide. Height is the interface: settled content sits on the ground, anything live rises above it, anything waiting to receive sinks below it.
4
4