@lar-works/design-system 0.2.1 → 0.3.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 (432) hide show
  1. package/README.md +5 -1
  2. package/dist/actions/Button.d.ts +39 -1
  3. package/dist/actions/Button.js +39 -9
  4. package/dist/actions/Button.js.map +1 -1
  5. package/dist/actions/ButtonLink.d.ts +5 -1
  6. package/dist/actions/ButtonLink.js +28 -2
  7. package/dist/actions/ButtonLink.js.map +1 -1
  8. package/dist/actions/ButtonRecipes.js +7 -0
  9. package/dist/actions/ButtonRecipes.js.map +1 -0
  10. package/dist/actions/IconButton.d.ts +2 -2
  11. package/dist/actions/IconButton.js +1 -1
  12. package/dist/actions/IconButton.js.map +1 -1
  13. package/dist/actions/ThemeSwitch.js +1 -1
  14. package/dist/board/ActivityLine.d.ts +36 -0
  15. package/dist/board/ActivityLine.js +144 -0
  16. package/dist/board/ActivityLine.js.map +1 -0
  17. package/dist/board/ActivityTrack.d.ts +11 -0
  18. package/dist/board/ActivityTrack.js +25 -0
  19. package/dist/board/ActivityTrack.js.map +1 -0
  20. package/dist/board/AddItem.d.ts +82 -0
  21. package/dist/board/AddItem.js +185 -0
  22. package/dist/board/AddItem.js.map +1 -0
  23. package/dist/board/Archive.d.ts +21 -0
  24. package/dist/board/Archive.js +63 -0
  25. package/dist/board/Archive.js.map +1 -0
  26. package/dist/board/Attention.d.ts +66 -0
  27. package/dist/board/Attention.js +122 -0
  28. package/dist/board/Attention.js.map +1 -0
  29. package/dist/board/BoardShell.d.ts +16 -0
  30. package/dist/board/BoardShell.js +35 -0
  31. package/dist/board/BoardShell.js.map +1 -0
  32. package/dist/board/BoardTitleBar.d.ts +50 -0
  33. package/dist/board/BoardTitleBar.js +125 -0
  34. package/dist/board/BoardTitleBar.js.map +1 -0
  35. package/dist/board/ButtonKinds.d.ts +24 -0
  36. package/dist/board/ButtonKinds.js +19 -0
  37. package/dist/board/ButtonKinds.js.map +1 -0
  38. package/dist/board/Cleanup.d.ts +8 -0
  39. package/dist/board/Cleanup.js +15 -0
  40. package/dist/board/Cleanup.js.map +1 -0
  41. package/dist/board/Counters.d.ts +101 -0
  42. package/dist/board/Counters.js +202 -0
  43. package/dist/board/Counters.js.map +1 -0
  44. package/dist/board/DataAttributes.d.ts +6 -0
  45. package/dist/board/Dependencies.d.ts +17 -0
  46. package/dist/board/Dependencies.js +44 -0
  47. package/dist/board/Dependencies.js.map +1 -0
  48. package/dist/board/Desk.d.ts +52 -0
  49. package/dist/board/Desk.js +130 -0
  50. package/dist/board/Desk.js.map +1 -0
  51. package/dist/board/Dossier.d.ts +100 -0
  52. package/dist/board/Dossier.js +194 -0
  53. package/dist/board/Dossier.js.map +1 -0
  54. package/dist/board/Filters.d.ts +33 -0
  55. package/dist/board/Filters.js +64 -0
  56. package/dist/board/Filters.js.map +1 -0
  57. package/dist/board/ItemDetails.d.ts +167 -0
  58. package/dist/board/ItemDetails.js +339 -0
  59. package/dist/board/ItemDetails.js.map +1 -0
  60. package/dist/board/ItemDialog.d.ts +73 -0
  61. package/dist/board/ItemDialog.js +140 -0
  62. package/dist/board/ItemDialog.js.map +1 -0
  63. package/dist/board/ItemParts.d.ts +42 -0
  64. package/dist/board/ItemParts.js +82 -0
  65. package/dist/board/ItemParts.js.map +1 -0
  66. package/dist/board/ItemProgress.d.ts +56 -0
  67. package/dist/board/ItemProgress.js +138 -0
  68. package/dist/board/ItemProgress.js.map +1 -0
  69. package/dist/board/List.d.ts +65 -0
  70. package/dist/board/List.js +118 -0
  71. package/dist/board/List.js.map +1 -0
  72. package/dist/board/LoadingScreen.d.ts +38 -0
  73. package/dist/board/LoadingScreen.js +74 -0
  74. package/dist/board/LoadingScreen.js.map +1 -0
  75. package/dist/board/NeedsYou.d.ts +13 -0
  76. package/dist/board/NeedsYou.js +31 -0
  77. package/dist/board/NeedsYou.js.map +1 -0
  78. package/dist/board/Onboarding.d.ts +53 -0
  79. package/dist/board/Onboarding.js +122 -0
  80. package/dist/board/Onboarding.js.map +1 -0
  81. package/dist/board/PartsList.d.ts +60 -0
  82. package/dist/board/PartsList.js +115 -0
  83. package/dist/board/PartsList.js.map +1 -0
  84. package/dist/board/ProjectIcon.d.ts +51 -0
  85. package/dist/board/ProjectIcon.js +120 -0
  86. package/dist/board/ProjectIcon.js.map +1 -0
  87. package/dist/board/PullRequests.d.ts +43 -0
  88. package/dist/board/PullRequests.js +83 -0
  89. package/dist/board/PullRequests.js.map +1 -0
  90. package/dist/board/RowStyles.js +14 -0
  91. package/dist/board/RowStyles.js.map +1 -0
  92. package/dist/board/Settings.d.ts +54 -0
  93. package/dist/board/Settings.js +112 -0
  94. package/dist/board/Settings.js.map +1 -0
  95. package/dist/board/Slices.d.ts +32 -0
  96. package/dist/board/Slices.js +88 -0
  97. package/dist/board/Slices.js.map +1 -0
  98. package/dist/board/SourceIcon.d.ts +12 -0
  99. package/dist/board/SourceIcon.js +24 -0
  100. package/dist/board/SourceIcon.js.map +1 -0
  101. package/dist/board/StagePane.d.ts +43 -0
  102. package/dist/board/StagePane.js +97 -0
  103. package/dist/board/StagePane.js.map +1 -0
  104. package/dist/board/StageRow.d.ts +141 -0
  105. package/dist/board/StageRow.js +287 -0
  106. package/dist/board/StageRow.js.map +1 -0
  107. package/dist/board/StageTrack.d.ts +18 -0
  108. package/dist/board/StageTrack.js +38 -0
  109. package/dist/board/StageTrack.js.map +1 -0
  110. package/dist/board/StartControls.d.ts +30 -0
  111. package/dist/board/StartControls.js +51 -0
  112. package/dist/board/StartControls.js.map +1 -0
  113. package/dist/board/StatusColors.d.ts +5 -0
  114. package/dist/board/StatusColors.js +17 -0
  115. package/dist/board/StatusColors.js.map +1 -0
  116. package/dist/board/StatusGlyph.d.ts +18 -0
  117. package/dist/board/StatusGlyph.js +51 -0
  118. package/dist/board/StatusGlyph.js.map +1 -0
  119. package/dist/board/Threads.d.ts +13 -0
  120. package/dist/board/Threads.js +35 -0
  121. package/dist/board/Threads.js.map +1 -0
  122. package/dist/board/TrackerLabels.d.ts +27 -0
  123. package/dist/board/TrackerLabels.js +56 -0
  124. package/dist/board/TrackerLabels.js.map +1 -0
  125. package/dist/board/UpdatePill.d.ts +52 -0
  126. package/dist/board/UpdatePill.js +188 -0
  127. package/dist/board/UpdatePill.js.map +1 -0
  128. package/dist/board/Vocabulary.d.ts +56 -0
  129. package/dist/board/Vocabulary.js +104 -0
  130. package/dist/board/Vocabulary.js.map +1 -0
  131. package/dist/board/Warnings.d.ts +35 -0
  132. package/dist/board/Warnings.js +85 -0
  133. package/dist/board/Warnings.js.map +1 -0
  134. package/dist/board/WorkMap.d.ts +136 -0
  135. package/dist/board/WorkMap.js +274 -0
  136. package/dist/board/WorkMap.js.map +1 -0
  137. package/dist/board/index.d.ts +42 -0
  138. package/dist/collections/CollectionState.d.ts +10 -1
  139. package/dist/collections/CollectionState.js +12 -5
  140. package/dist/collections/CollectionState.js.map +1 -1
  141. package/dist/collections/ResultList.js +1 -1
  142. package/dist/collections/ScrollRow.js +1 -1
  143. package/dist/collections/VirtualList.js +1 -1
  144. package/dist/display/Avatar.d.ts +5 -2
  145. package/dist/display/Avatar.js +2 -2
  146. package/dist/display/Avatar.js.map +1 -1
  147. package/dist/display/Badge.d.ts +6 -1
  148. package/dist/display/Badge.js +9 -4
  149. package/dist/display/Badge.js.map +1 -1
  150. package/dist/display/CheckList.js +1 -1
  151. package/dist/display/Comment.d.ts +12 -0
  152. package/dist/display/Comment.js +39 -0
  153. package/dist/display/Comment.js.map +1 -0
  154. package/dist/display/CopyButton.d.ts +10 -2
  155. package/dist/display/CopyButton.js +29 -16
  156. package/dist/display/CopyButton.js.map +1 -1
  157. package/dist/display/Diagram.d.ts +17 -0
  158. package/dist/display/Diagram.js +49 -0
  159. package/dist/display/Diagram.js.map +1 -0
  160. package/dist/display/ImagePicker.js +1 -1
  161. package/dist/display/InfoBox.js +2 -2
  162. package/dist/display/InsetPanel.d.ts +3 -1
  163. package/dist/display/InsetPanel.js +7 -4
  164. package/dist/display/InsetPanel.js.map +1 -1
  165. package/dist/display/ItemAction.js +2 -2
  166. package/dist/display/LabelChip.d.ts +26 -0
  167. package/dist/display/LabelChip.js +41 -0
  168. package/dist/display/LabelChip.js.map +1 -0
  169. package/dist/display/LabelTint.js +60 -0
  170. package/dist/display/LabelTint.js.map +1 -0
  171. package/dist/display/Person.d.ts +5 -0
  172. package/dist/display/Person.js +19 -0
  173. package/dist/display/Person.js.map +1 -0
  174. package/dist/display/PropertySheet.js +1 -1
  175. package/dist/display/RadioChoice.d.ts +9 -2
  176. package/dist/display/RadioChoice.js +5 -1
  177. package/dist/display/RadioChoice.js.map +1 -1
  178. package/dist/display/RatingLink.js +1 -1
  179. package/dist/display/RichText.d.ts +12 -0
  180. package/dist/display/RichText.js +94 -0
  181. package/dist/display/RichText.js.map +1 -0
  182. package/dist/display/RowList.js +1 -1
  183. package/dist/display/index.d.ts +6 -1
  184. package/dist/feedback/Alert.js +1 -1
  185. package/dist/feedback/AsyncState.js +1 -1
  186. package/dist/feedback/DismissButton.d.ts +12 -0
  187. package/dist/feedback/DismissButton.js +20 -0
  188. package/dist/feedback/DismissButton.js.map +1 -0
  189. package/dist/feedback/ErrorNotification.js +2 -0
  190. package/dist/feedback/ErrorNotification.js.map +1 -1
  191. package/dist/feedback/FormResult.d.ts +16 -0
  192. package/dist/feedback/FormResult.js +30 -0
  193. package/dist/feedback/FormResult.js.map +1 -0
  194. package/dist/feedback/LiveRegion.d.ts +7 -0
  195. package/dist/feedback/LiveRegion.js +15 -0
  196. package/dist/feedback/LiveRegion.js.map +1 -0
  197. package/dist/feedback/Loading.d.ts +19 -0
  198. package/dist/feedback/Loading.js +63 -0
  199. package/dist/feedback/Loading.js.map +1 -0
  200. package/dist/feedback/Notifications.d.ts +35 -1
  201. package/dist/feedback/Notifications.js +196 -4
  202. package/dist/feedback/Notifications.js.map +1 -1
  203. package/dist/feedback/Progress.d.ts +15 -0
  204. package/dist/feedback/Progress.js +38 -0
  205. package/dist/feedback/Progress.js.map +1 -0
  206. package/dist/feedback/ProgressStatusRow.js +1 -1
  207. package/dist/feedback/StatusIndicator.d.ts +6 -1
  208. package/dist/feedback/StatusIndicator.js +19 -5
  209. package/dist/feedback/StatusIndicator.js.map +1 -1
  210. package/dist/feedback/index.d.ts +8 -4
  211. package/dist/forms/Checkbox.js +1 -1
  212. package/dist/forms/ColorSwatches.d.ts +21 -0
  213. package/dist/forms/ColorSwatches.js +26 -0
  214. package/dist/forms/ColorSwatches.js.map +1 -0
  215. package/dist/forms/FormSection.d.ts +68 -6
  216. package/dist/forms/FormSection.js +139 -8
  217. package/dist/forms/FormSection.js.map +1 -1
  218. package/dist/forms/HiddenField.d.ts +6 -0
  219. package/dist/forms/HiddenField.js +13 -0
  220. package/dist/forms/HiddenField.js.map +1 -0
  221. package/dist/forms/Input.d.ts +12 -2
  222. package/dist/forms/Input.js +10 -3
  223. package/dist/forms/Input.js.map +1 -1
  224. package/dist/forms/LabelPicker.d.ts +43 -0
  225. package/dist/forms/LabelPicker.js +107 -0
  226. package/dist/forms/LabelPicker.js.map +1 -0
  227. package/dist/forms/MarkdownEditor.d.ts +21 -0
  228. package/dist/forms/MarkdownEditor.js +175 -0
  229. package/dist/forms/MarkdownEditor.js.map +1 -0
  230. package/dist/forms/MarkdownToolbar.js +204 -0
  231. package/dist/forms/MarkdownToolbar.js.map +1 -0
  232. package/dist/forms/OptionSelect.d.ts +30 -9
  233. package/dist/forms/OptionSelect.js +53 -13
  234. package/dist/forms/OptionSelect.js.map +1 -1
  235. package/dist/forms/Select.d.ts +4 -1
  236. package/dist/forms/Select.js +3 -1
  237. package/dist/forms/Select.js.map +1 -1
  238. package/dist/forms/Switch.d.ts +4 -1
  239. package/dist/forms/Switch.js +5 -2
  240. package/dist/forms/Switch.js.map +1 -1
  241. package/dist/forms/TagInput.js +1 -1
  242. package/dist/forms/index.d.ts +7 -3
  243. package/dist/foundations/AmbientMotion.d.ts +2 -0
  244. package/dist/foundations/AmbientMotion.js +39 -0
  245. package/dist/foundations/AmbientMotion.js.map +1 -0
  246. package/dist/foundations/DesignSystemProvider.d.ts +34 -0
  247. package/dist/foundations/DesignSystemProvider.js +26 -1
  248. package/dist/foundations/DesignSystemProvider.js.map +1 -1
  249. package/dist/foundations/index.d.ts +2 -1
  250. package/dist/icons/BrandIcons.d.ts +8 -2
  251. package/dist/icons/BrandIcons.js +14 -3
  252. package/dist/icons/BrandIcons.js.map +1 -1
  253. package/dist/icons/dynamic.d.ts +2 -0
  254. package/dist/icons/dynamic.js +1 -0
  255. package/dist/icons/index.d.ts +2 -2
  256. package/dist/icons/index.js +1 -1
  257. package/dist/icons.d.ts +2 -2
  258. package/dist/icons.js +1 -1
  259. package/dist/index.d.ts +71 -10
  260. package/dist/index.js +78 -21
  261. package/dist/layout/Site.js +1 -1
  262. package/dist/layout/TitleBar.js +1 -1
  263. package/dist/layout/index.d.ts +2 -2
  264. package/dist/layout/index.js +3 -3
  265. package/dist/layout/toolbar/CommandPaletteTrigger.d.ts +17 -2
  266. package/dist/layout/toolbar/CommandPaletteTrigger.js +89 -6
  267. package/dist/layout/toolbar/CommandPaletteTrigger.js.map +1 -1
  268. package/dist/layout/toolbar/TriggerFit.js +56 -0
  269. package/dist/layout/toolbar/TriggerFit.js.map +1 -0
  270. package/dist/navigation/CollectionBrowseSelector.js +1 -1
  271. package/dist/navigation/CollectionViewToggle.d.ts +26 -0
  272. package/dist/navigation/CollectionViewToggle.js +54 -23
  273. package/dist/navigation/CollectionViewToggle.js.map +1 -1
  274. package/dist/navigation/DrilldownBrowseSelector.js +1 -1
  275. package/dist/navigation/FolderSelector.js +2 -2
  276. package/dist/navigation/SortMenu.d.ts +10 -0
  277. package/dist/navigation/SortMenu.js +33 -0
  278. package/dist/navigation/SortMenu.js.map +1 -0
  279. package/dist/navigation/index.d.ts +3 -2
  280. package/dist/overlays/CommandPalette.d.ts +38 -4
  281. package/dist/overlays/CommandPalette.js +140 -54
  282. package/dist/overlays/CommandPalette.js.map +1 -1
  283. package/dist/overlays/Drawer.js +1 -1
  284. package/dist/overlays/DropdownMenu.d.ts +7 -1
  285. package/dist/overlays/DropdownMenu.js +13 -2
  286. package/dist/overlays/DropdownMenu.js.map +1 -1
  287. package/dist/overlays/HelpTip.d.ts +8 -0
  288. package/dist/overlays/HelpTip.js +29 -0
  289. package/dist/overlays/HelpTip.js.map +1 -0
  290. package/dist/overlays/ImageViewer.js +2 -2
  291. package/dist/overlays/Modal.d.ts +5 -0
  292. package/dist/overlays/Modal.js +17 -2
  293. package/dist/overlays/Modal.js.map +1 -1
  294. package/dist/overlays/ModalExpandButton.d.ts +18 -0
  295. package/dist/overlays/ModalExpandButton.js +43 -0
  296. package/dist/overlays/ModalExpandButton.js.map +1 -0
  297. package/dist/overlays/Popover.d.ts +2 -1
  298. package/dist/overlays/Popover.js +1 -0
  299. package/dist/overlays/Popover.js.map +1 -1
  300. package/dist/overlays/index.d.ts +4 -2
  301. package/dist/showcase/Cards.js +1 -1
  302. package/dist/showcase/FeatureRow.js +1 -1
  303. package/dist/showcase/PhotoSearchConcept.js +1 -1
  304. package/dist/showcase/ProductBand.js +1 -1
  305. package/dist/showcase/Status.js +1 -1
  306. package/dist/typography/Code.d.ts +18 -0
  307. package/dist/typography/Code.js +24 -0
  308. package/dist/typography/Code.js.map +1 -0
  309. package/dist/typography/Link.d.ts +7 -2
  310. package/dist/typography/Link.js +15 -5
  311. package/dist/typography/Link.js.map +1 -1
  312. package/dist/typography/Typography.d.ts +19 -1
  313. package/dist/typography/Typography.js +11 -3
  314. package/dist/typography/Typography.js.map +1 -1
  315. package/dist/typography/index.d.ts +3 -3
  316. package/package.json +26 -3
  317. package/src/actions/Button.tsx +78 -11
  318. package/src/actions/ButtonLink.tsx +34 -0
  319. package/src/actions/ButtonRecipes.ts +10 -0
  320. package/src/actions/IconButton.tsx +7 -4
  321. package/src/board/ActivityLine.tsx +176 -0
  322. package/src/board/ActivityTrack.tsx +23 -0
  323. package/src/board/AddItem.tsx +259 -0
  324. package/src/board/Archive.tsx +75 -0
  325. package/src/board/Attention.tsx +135 -0
  326. package/src/board/BoardShell.tsx +30 -0
  327. package/src/board/BoardTitleBar.tsx +167 -0
  328. package/src/board/ButtonKinds.ts +32 -0
  329. package/src/board/Cleanup.tsx +19 -0
  330. package/src/board/Counters.tsx +224 -0
  331. package/src/board/DataAttributes.ts +3 -0
  332. package/src/board/Dependencies.tsx +49 -0
  333. package/src/board/Desk.tsx +155 -0
  334. package/src/board/Dossier.tsx +262 -0
  335. package/src/board/Filters.tsx +85 -0
  336. package/src/board/ItemDetails.tsx +435 -0
  337. package/src/board/ItemDialog.tsx +179 -0
  338. package/src/board/ItemParts.tsx +128 -0
  339. package/src/board/ItemProgress.tsx +164 -0
  340. package/src/board/List.tsx +154 -0
  341. package/src/board/LoadingScreen.tsx +78 -0
  342. package/src/board/NeedsYou.tsx +30 -0
  343. package/src/board/Onboarding.tsx +124 -0
  344. package/src/board/PartsList.tsx +160 -0
  345. package/src/board/ProjectIcon.tsx +172 -0
  346. package/src/board/PullRequests.tsx +106 -0
  347. package/src/board/RowStyles.ts +17 -0
  348. package/src/board/Settings.tsx +124 -0
  349. package/src/board/Slices.tsx +103 -0
  350. package/src/board/SourceIcon.tsx +33 -0
  351. package/src/board/StagePane.tsx +128 -0
  352. package/src/board/StageRow.tsx +320 -0
  353. package/src/board/StageTrack.tsx +61 -0
  354. package/src/board/StartControls.tsx +77 -0
  355. package/src/board/StatusColors.ts +28 -0
  356. package/src/board/StatusGlyph.tsx +70 -0
  357. package/src/board/Threads.tsx +38 -0
  358. package/src/board/TrackerLabels.tsx +75 -0
  359. package/src/board/UpdatePill.tsx +222 -0
  360. package/src/board/Vocabulary.tsx +155 -0
  361. package/src/board/Warnings.tsx +83 -0
  362. package/src/board/WorkMap.tsx +436 -0
  363. package/src/board/base.css +121 -0
  364. package/src/board/button-kinds.css +8 -0
  365. package/src/board/index.ts +224 -0
  366. package/src/board/items.css +75 -0
  367. package/src/board/loading-screen.css +171 -0
  368. package/src/board/rows.css +180 -0
  369. package/src/board/title-bar.css +56 -0
  370. package/src/board/tokens.css +52 -0
  371. package/src/board.css +19 -0
  372. package/src/collections/CollectionState.tsx +20 -7
  373. package/src/display/Avatar.tsx +6 -3
  374. package/src/display/Badge.tsx +25 -3
  375. package/src/display/Comment.tsx +26 -0
  376. package/src/display/CopyButton.tsx +48 -18
  377. package/src/display/Diagram.tsx +59 -0
  378. package/src/display/InsetPanel.tsx +4 -1
  379. package/src/display/LabelChip.tsx +73 -0
  380. package/src/display/LabelTint.ts +72 -0
  381. package/src/display/Person.tsx +11 -0
  382. package/src/display/RadioChoice.tsx +11 -2
  383. package/src/display/RichText.tsx +114 -0
  384. package/src/display/index.ts +5 -0
  385. package/src/feedback/DismissButton.tsx +28 -0
  386. package/src/feedback/ErrorNotification.ts +3 -0
  387. package/src/feedback/FormResult.tsx +50 -0
  388. package/src/feedback/LiveRegion.tsx +10 -0
  389. package/src/feedback/Loading.tsx +75 -0
  390. package/src/feedback/Notifications.tsx +267 -2
  391. package/src/feedback/Progress.tsx +44 -0
  392. package/src/feedback/StatusIndicator.tsx +34 -3
  393. package/src/feedback/index.ts +12 -2
  394. package/src/forms/ColorSwatches.tsx +50 -0
  395. package/src/forms/FormSection.tsx +245 -10
  396. package/src/forms/HiddenField.tsx +4 -0
  397. package/src/forms/Input.tsx +26 -4
  398. package/src/forms/LabelPicker.tsx +140 -0
  399. package/src/forms/MarkdownEditor.tsx +283 -0
  400. package/src/forms/MarkdownToolbar.tsx +267 -0
  401. package/src/forms/OptionSelect.tsx +110 -25
  402. package/src/forms/Select.tsx +20 -13
  403. package/src/forms/Switch.tsx +16 -2
  404. package/src/forms/index.ts +16 -2
  405. package/src/foundations/AmbientMotion.ts +51 -0
  406. package/src/foundations/DesignSystemProvider.tsx +19 -0
  407. package/src/foundations/index.ts +1 -0
  408. package/src/foundations/theme.css +64 -0
  409. package/src/icons/BrandIcons.tsx +12 -3
  410. package/src/icons/dynamic.ts +4 -0
  411. package/src/icons/index.ts +1 -1
  412. package/src/index.ts +2 -1
  413. package/src/layout/index.ts +1 -1
  414. package/src/layout/toolbar/CommandPaletteTrigger.tsx +187 -31
  415. package/src/layout/toolbar/TriggerFit.ts +84 -0
  416. package/src/navigation/CollectionViewToggle.tsx +94 -24
  417. package/src/navigation/SortMenu.tsx +41 -0
  418. package/src/navigation/index.ts +2 -1
  419. package/src/overlays/CommandPalette.tsx +190 -60
  420. package/src/overlays/DropdownMenu.tsx +12 -1
  421. package/src/overlays/HelpTip.tsx +29 -0
  422. package/src/overlays/Modal.tsx +23 -0
  423. package/src/overlays/ModalExpandButton.tsx +48 -0
  424. package/src/overlays/Popover.tsx +3 -1
  425. package/src/overlays/index.ts +9 -1
  426. package/src/styles.css +3 -1
  427. package/src/typography/Code.tsx +24 -0
  428. package/src/typography/Link.tsx +19 -10
  429. package/src/typography/Typography.tsx +25 -2
  430. package/src/typography/index.ts +1 -1
  431. package/dist/feedback/index.js +0 -11
  432. package/dist/typography/index.js +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["Select","NinnaSelect","SelectItem","NinnaSelectItem"],"sources":["../../src/forms/Select.tsx"],"sourcesContent":["import {\n Select as NinnaSelect,\n SelectItem as NinnaSelectItem,\n type SelectItemProps,\n type SelectProps as NinnaSelectProps,\n} from '@ninna-ui/forms';\nimport { forwardRef } from 'react';\n\nimport { tabbable } from '../foundations/KeyboardFocus';\nimport { formControlClasses, formControlDefaults } from './FormControlStyles';\n\nexport type SelectProps = Omit<NinnaSelectProps, 'fullWidth'>;\n\nexport const Select = forwardRef<HTMLButtonElement, SelectProps>(\n ({ size = formControlDefaults.size, variant = formControlDefaults.variant, className, ...props }, ref) => (\n <NinnaSelect\n ref={ref}\n color={formControlDefaults.color}\n {...tabbable}\n {...props}\n fullWidth\n size={size}\n variant={variant}\n className={`${variant === 'filled' ? formControlClasses : ''} [&>span:first-child]:truncate ${className ?? ''}`}\n />\n ),\n);\n\nSelect.displayName = 'Select';\n\nexport const SelectItem = forwardRef<HTMLDivElement, SelectItemProps>(({ icon, children, ...props }, ref) => (\n <NinnaSelectItem ref={ref} {...props}>\n {icon ? (\n <span className=\"inline-flex min-w-0 items-center gap-2 align-middle\">\n <span aria-hidden=\"true\" className=\"size-4 shrink-0 [&>svg]:size-full\">\n {icon}\n </span>\n <span className=\"truncate\">{children}</span>\n </span>\n ) : (\n children\n )}\n </NinnaSelectItem>\n));\n\nSelectItem.displayName = 'SelectItem';\n"],"mappings":";;;;;;AAaA,MAAaA,WAAS,YACjB,EAAE,OAAO,oBAAoB,MAAM,UAAU,oBAAoB,SAAS,WAAW,GAAG,SAAS,QAC9F,oBAACC,QAAD;CACS;CACL,OAAO,oBAAoB;CAC3B,GAAI;CACJ,GAAI;CACJ,WAAA;CACM;CACG;CACT,WAAW,GAAG,YAAY,WAAW,qBAAqB,GAAG,iCAAiC,aAAa;AAC9G,CAAA,CAET;AAEA,SAAO,cAAc;AAErB,MAAaC,eAAa,YAA6C,EAAE,MAAM,UAAU,GAAG,SAAS,QACjG,oBAACC,YAAD;CAAsB;CAAK,GAAI;CAC1B,UAAA,OACG,qBAAC,QAAD;EAAM,WAAU;EAAhB,UAAA,CACI,oBAAC,QAAD;GAAM,eAAY;GAAO,WAAU;GAC9B,UAAA;EACC,CAAA,GACN,oBAAC,QAAD;GAAM,WAAU;GAAY;EAAe,CAAA,CACzC;CAEN,CAAA,IAAA;AAES,CAAA,CACpB;AAED,aAAW,cAAc"}
1
+ {"version":3,"file":"Select.js","names":["Select","NinnaSelect","SelectItem","NinnaSelectItem"],"sources":["../../src/forms/Select.tsx"],"sourcesContent":["import {\n Select as NinnaSelect,\n SelectItem as NinnaSelectItem,\n type SelectItemProps,\n type SelectProps as NinnaSelectProps,\n} from '@ninna-ui/forms';\nimport { forwardRef } from 'react';\n\nimport { tabbable } from '../foundations/KeyboardFocus';\nimport { formControlClasses, formControlDefaults } from './FormControlStyles';\n\nexport type SelectProps = Omit<NinnaSelectProps, 'fullWidth'>;\n\nexport const Select = forwardRef<HTMLButtonElement, SelectProps>(\n ({ size = formControlDefaults.size, variant = formControlDefaults.variant, className, ...props }, ref) => (\n <NinnaSelect\n ref={ref}\n color={formControlDefaults.color}\n {...tabbable}\n {...props}\n fullWidth\n size={size}\n variant={variant}\n className={`${variant === 'filled' ? formControlClasses : ''} [&>span:first-child]:truncate ${className ?? ''}`}\n />\n ),\n);\n\nSelect.displayName = 'Select';\n\n/** An option of the Select; its `icon` takes `iconHue`, a lar-brand app hue at full strength, when given. */\nexport const SelectItem = forwardRef<HTMLDivElement, SelectItemProps & { iconHue?: number | undefined }>(\n ({ icon, iconHue, children, ...props }, ref) => (\n <NinnaSelectItem ref={ref} {...props}>\n {icon ? (\n <span className=\"inline-flex min-w-0 items-center gap-2 align-middle\">\n <span\n aria-hidden=\"true\"\n className=\"size-4 shrink-0 [&>svg]:size-full\"\n style={iconHue === undefined ? undefined : { color: `oklch(0.62 0.15 ${iconHue})` }}\n >\n {icon}\n </span>\n <span className=\"truncate\">{children}</span>\n </span>\n ) : (\n children\n )}\n </NinnaSelectItem>\n ),\n);\n\nSelectItem.displayName = 'SelectItem';\n"],"mappings":";;;;;;AAaA,MAAaA,WAAS,YACjB,EAAE,OAAO,oBAAoB,MAAM,UAAU,oBAAoB,SAAS,WAAW,GAAG,SAAS,QAC9F,oBAACC,QAAD;CACS;CACL,OAAO,oBAAoB;CAC3B,GAAI;CACJ,GAAI;CACJ,WAAA;CACM;CACG;CACT,WAAW,GAAG,YAAY,WAAW,qBAAqB,GAAG,iCAAiC,aAAa;AAC9G,CAAA,CAET;AAEA,SAAO,cAAc;;AAGrB,MAAaC,eAAa,YACrB,EAAE,MAAM,SAAS,UAAU,GAAG,SAAS,QACpC,oBAACC,YAAD;CAAsB;CAAK,GAAI;CAC1B,UAAA,OACG,qBAAC,QAAD;EAAM,WAAU;EAAhB,UAAA,CACI,oBAAC,QAAD;GACI,eAAY;GACZ,WAAU;GACV,OAAO,YAAY,KAAA,IAAY,KAAA,IAAY,EAAE,OAAO,mBAAmB,QAAQ,GAAG;GAEjF,UAAA;EACC,CAAA,GACN,oBAAC,QAAD;GAAM,WAAU;GAAY;EAAe,CAAA,CACzC;CAEN,CAAA,IAAA;AAES,CAAA,CAEzB;AAEA,aAAW,cAAc"}
@@ -1,4 +1,7 @@
1
1
  import { SwitchProps } from "@ninna-ui/forms";
2
- declare const Switch$1: import("react").ForwardRefExoticComponent<SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
2
+ declare const Switch$1: import("react").ForwardRefExoticComponent<SwitchProps & {
3
+ /** Busy rather than disabled while a change it started saves: it keeps the focus and ignores presses. */
4
+ busy?: boolean;
5
+ } & import("react").RefAttributes<HTMLButtonElement>>;
3
6
  export { Switch$1 as Switch };
4
7
  //# sourceMappingURL=Switch.d.ts.map
@@ -3,12 +3,15 @@ import { forwardRef } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Switch } from "@ninna-ui/forms";
5
5
  // src/forms/Switch.tsx
6
- const Switch$1 = forwardRef((props, ref) => /* @__PURE__ */ jsx(Switch, {
6
+ const Switch$1 = forwardRef(({ busy = false, onCheckedChange, ...props }, ref) => /* @__PURE__ */ jsx(Switch, {
7
7
  ref,
8
8
  ...tabbable,
9
9
  size: "sm",
10
10
  "aria-busy": props.loading || void 0,
11
- ...props
11
+ ...props,
12
+ ...busy && { "aria-disabled": true },
13
+ className: `aria-disabled:cursor-progress ${props.className ?? ""}`,
14
+ onCheckedChange: (checked) => !busy && onCheckedChange?.(checked)
12
15
  }));
13
16
  Switch$1.displayName = "Switch";
14
17
  export { Switch$1 as Switch };
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["Switch","NinnaSwitch"],"sources":["../../src/forms/Switch.tsx"],"sourcesContent":["import { Switch as NinnaSwitch, type SwitchProps } from '@ninna-ui/forms';\nimport { forwardRef } from 'react';\n\nimport { tabbable } from '../foundations/KeyboardFocus';\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>((props, ref) => (\n <NinnaSwitch ref={ref} {...tabbable} size=\"sm\" aria-busy={props.loading || undefined} {...props} />\n));\n\nSwitch.displayName = 'Switch';\n"],"mappings":";;;;;AAKA,MAAaA,WAAS,YAA4C,OAAO,QACrE,oBAACC,QAAD;CAAkB;CAAK,GAAI;CAAU,MAAK;CAAK,aAAW,MAAM,WAAW,KAAA;CAAW,GAAI;AAAQ,CAAA,CACrG;AAED,SAAO,cAAc"}
1
+ {"version":3,"file":"Switch.js","names":["Switch","NinnaSwitch"],"sources":["../../src/forms/Switch.tsx"],"sourcesContent":["import { Switch as NinnaSwitch, type SwitchProps } from '@ninna-ui/forms';\nimport { forwardRef } from 'react';\n\nimport { tabbable } from '../foundations/KeyboardFocus';\n\ntype Props = SwitchProps & {\n /** Busy rather than disabled while a change it started saves: it keeps the focus and ignores presses. */\n busy?: boolean;\n};\n\nexport const Switch = forwardRef<HTMLButtonElement, Props>(({ busy = false, onCheckedChange, ...props }, ref) => (\n <NinnaSwitch\n ref={ref}\n {...tabbable}\n size=\"sm\"\n aria-busy={props.loading || undefined}\n {...props}\n {...(busy && { 'aria-disabled': true })}\n className={`aria-disabled:cursor-progress ${props.className ?? ''}`}\n onCheckedChange={(checked) => !busy && onCheckedChange?.(checked)}\n />\n));\n\nSwitch.displayName = 'Switch';\n"],"mappings":";;;;;AAUA,MAAaA,WAAS,YAAsC,EAAE,OAAO,OAAO,iBAAiB,GAAG,SAAS,QACrG,oBAACC,QAAD;CACS;CACL,GAAI;CACJ,MAAK;CACL,aAAW,MAAM,WAAW,KAAA;CAC5B,GAAI;CACJ,GAAK,QAAQ,EAAE,iBAAiB,KAAK;CACrC,WAAW,iCAAiC,MAAM,aAAa;CAC/D,kBAAkB,YAAY,CAAC,QAAQ,kBAAkB,OAAO;AACnE,CAAA,CACJ;AAED,SAAO,cAAc"}
@@ -2,8 +2,8 @@ import { IconButton } from "../actions/IconButton.js";
2
2
  import { Badge } from "../display/Badge.js";
3
3
  import { Input } from "./Input.js";
4
4
  import { useState } from "react";
5
- import { jsx, jsxs } from "react/jsx-runtime";
6
5
  import { XIcon } from "lucide-react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
7
  // src/forms/TagInput.tsx
8
8
  /**
9
9
  * Values as removable tags, in order, and a field that adds one on Enter, a comma or a
@@ -1,12 +1,16 @@
1
1
  import { Checkbox, CheckboxProps } from "./Checkbox.js";
2
+ import { ColorSwatch, ColorSwatches } from "./ColorSwatches.js";
2
3
  import { Field, FieldProps } from "./Field.js";
3
- import { Disclosure, FormAction, FormContent, FormField, FormRow, FormSection, FormStack } from "./FormSection.js";
4
+ import { Disclosure, FormAction, FormContent, FormField, FormFieldset, FormRow, FormSection, FormStack, FormUnit } from "./FormSection.js";
5
+ import { HiddenField } from "./HiddenField.js";
4
6
  import { InlineFields } from "./InlineFields.js";
5
7
  import { Input, InputProps } from "./Input.js";
6
- import { OptionSelect } from "./OptionSelect.js";
8
+ import { LabelChoice, LabelCreation, LabelPicker } from "./LabelPicker.js";
9
+ import { MarkdownEditor } from "./MarkdownEditor.js";
10
+ import { OptionSelect, OptionSelectOption } from "./OptionSelect.js";
7
11
  import { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps } from "./RadioGroup.js";
8
12
  import { Select, SelectItem, SelectProps } from "./Select.js";
9
13
  import { Switch } from "./Switch.js";
10
14
  import { TagInput } from "./TagInput.js";
11
15
  import { Textarea } from "./Textarea.js";
12
- export { Checkbox, type CheckboxProps, Disclosure, Field, type FieldProps, FormAction, FormContent, FormField, FormRow, FormSection, FormStack, InlineFields, Input, type InputProps, OptionSelect, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Select, SelectItem, type SelectProps, Switch, TagInput, Textarea };
16
+ export { Checkbox, type CheckboxProps, type ColorSwatch, ColorSwatches, Disclosure, Field, type FieldProps, FormAction, FormContent, FormField, FormFieldset, FormRow, FormSection, FormStack, FormUnit, HiddenField, InlineFields, Input, type InputProps, type LabelChoice, type LabelCreation, LabelPicker, MarkdownEditor, OptionSelect, type OptionSelectOption, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Select, SelectItem, type SelectProps, Switch, TagInput, Textarea };
@@ -0,0 +1,2 @@
1
+ export declare function ambientMotion(element: Element | null): (() => void) | undefined;
2
+ //# sourceMappingURL=AmbientMotion.d.ts.map
@@ -0,0 +1,39 @@
1
+ // src/foundations/AmbientMotion.ts
2
+ const indicators = /* @__PURE__ */ new Map();
3
+ let observer;
4
+ function update(element, visible) {
5
+ element.setAttribute("data-ambient-motion", visible && !document.hidden ? "running" : "paused");
6
+ }
7
+ function visibilityChanged() {
8
+ for (const [element, visible] of indicators) update(element, visible);
9
+ }
10
+ function ambientMotion(element) {
11
+ if (!element) return;
12
+ if (!indicators.size) document.addEventListener("visibilitychange", visibilityChanged);
13
+ const visible = typeof IntersectionObserver === "undefined";
14
+ indicators.set(element, visible);
15
+ update(element, visible);
16
+ if (!visible) {
17
+ observer ??= new IntersectionObserver((entries) => {
18
+ for (const { target, isIntersecting } of entries) {
19
+ if (!indicators.has(target)) continue;
20
+ indicators.set(target, isIntersecting);
21
+ update(target, isIntersecting);
22
+ }
23
+ });
24
+ observer.observe(element);
25
+ }
26
+ return () => {
27
+ observer?.unobserve(element);
28
+ indicators.delete(element);
29
+ element.removeAttribute("data-ambient-motion");
30
+ if (!indicators.size) {
31
+ observer?.disconnect();
32
+ observer = void 0;
33
+ document.removeEventListener("visibilitychange", visibilityChanged);
34
+ }
35
+ };
36
+ }
37
+ export { ambientMotion };
38
+
39
+ //# sourceMappingURL=AmbientMotion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmbientMotion.js","names":[],"sources":["../../src/foundations/AmbientMotion.ts"],"sourcesContent":["// One observer for a page's repeating indicators (spinners, pulses, sweeps). Each keeps its phase while outside a\n// scroll viewport or while the window is hidden; resuming never changes the status or restarts the animation. Use it\n// as a ref callback: React 19 runs the returned cleanup when the ref detaches, including its StrictMode check.\n// theme.css pauses an element marked data-ambient-motion=\"paused\".\n\nconst indicators = new Map<Element, boolean>();\nlet observer: IntersectionObserver | undefined;\n\nfunction update(element: Element, visible: boolean): void {\n element.setAttribute('data-ambient-motion', visible && !document.hidden ? 'running' : 'paused');\n}\n\nfunction visibilityChanged(): void {\n for (const [element, visible] of indicators) update(element, visible);\n}\n\nexport function ambientMotion(element: Element | null): (() => void) | undefined {\n if (!element) return;\n\n if (!indicators.size) document.addEventListener('visibilitychange', visibilityChanged);\n\n // Without IntersectionObserver, visibility changes still pause indicators in a hidden window.\n const visible = typeof IntersectionObserver === 'undefined';\n\n indicators.set(element, visible);\n update(element, visible);\n\n if (!visible) {\n observer ??= new IntersectionObserver((entries) => {\n for (const { target, isIntersecting } of entries) {\n if (!indicators.has(target)) continue;\n\n indicators.set(target, isIntersecting);\n update(target, isIntersecting);\n }\n });\n observer.observe(element);\n }\n\n return () => {\n observer?.unobserve(element);\n indicators.delete(element);\n element.removeAttribute('data-ambient-motion');\n\n if (!indicators.size) {\n observer?.disconnect();\n observer = undefined;\n document.removeEventListener('visibilitychange', visibilityChanged);\n }\n };\n}\n"],"mappings":";AAKA,MAAM,6BAAa,IAAI,IAAsB;AAC7C,IAAI;AAEJ,SAAS,OAAO,SAAkB,SAAwB;CACtD,QAAQ,aAAa,uBAAuB,WAAW,CAAC,SAAS,SAAS,YAAY,QAAQ;AAClG;AAEA,SAAS,oBAA0B;CAC/B,KAAK,MAAM,CAAC,SAAS,YAAY,YAAY,OAAO,SAAS,OAAO;AACxE;AAEA,SAAgB,cAAc,SAAmD;CAC7E,IAAI,CAAC,SAAS;CAEd,IAAI,CAAC,WAAW,MAAM,SAAS,iBAAiB,oBAAoB,iBAAiB;CAGrF,MAAM,UAAU,OAAO,yBAAyB;CAEhD,WAAW,IAAI,SAAS,OAAO;CAC/B,OAAO,SAAS,OAAO;CAEvB,IAAI,CAAC,SAAS;EACV,aAAa,IAAI,sBAAsB,YAAY;GAC/C,KAAK,MAAM,EAAE,QAAQ,oBAAoB,SAAS;IAC9C,IAAI,CAAC,WAAW,IAAI,MAAM,GAAG;IAE7B,WAAW,IAAI,QAAQ,cAAc;IACrC,OAAO,QAAQ,cAAc;GACjC;EACJ,CAAC;EACD,SAAS,QAAQ,OAAO;CAC5B;CAEA,aAAa;EACT,UAAU,UAAU,OAAO;EAC3B,WAAW,OAAO,OAAO;EACzB,QAAQ,gBAAgB,qBAAqB;EAE7C,IAAI,CAAC,WAAW,MAAM;GAClB,UAAU,WAAW;GACrB,WAAW,KAAA;GACX,SAAS,oBAAoB,oBAAoB,iBAAiB;EACtE;CACJ;AACJ"}
@@ -26,6 +26,23 @@ export declare const defaultDesignSystemLabels: {
26
26
  light: string;
27
27
  dark: string;
28
28
  };
29
+ editor: {
30
+ formatting: string;
31
+ bold: string;
32
+ italic: string;
33
+ heading: string;
34
+ bulletedList: string;
35
+ numberedList: string;
36
+ link: string;
37
+ linkUrl: string;
38
+ linkPlaceholder: string;
39
+ apply: string;
40
+ markdown: string;
41
+ };
42
+ dialog: {
43
+ expand: string;
44
+ restoreSize: string;
45
+ };
29
46
  };
30
47
  export type DesignSystemLabels = typeof defaultDesignSystemLabels;
31
48
  /** The labels an app translates: any group or label left out keeps its English default. */
@@ -60,5 +77,22 @@ export declare function useDesignSystemLabels(): {
60
77
  light: string;
61
78
  dark: string;
62
79
  };
80
+ editor: {
81
+ formatting: string;
82
+ bold: string;
83
+ italic: string;
84
+ heading: string;
85
+ bulletedList: string;
86
+ numberedList: string;
87
+ link: string;
88
+ linkUrl: string;
89
+ linkPlaceholder: string;
90
+ apply: string;
91
+ markdown: string;
92
+ };
93
+ dialog: {
94
+ expand: string;
95
+ restoreSize: string;
96
+ };
63
97
  };
64
98
  //# sourceMappingURL=DesignSystemProvider.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { createContext, useContext, useMemo } from "react";
2
- import { jsx } from "react/jsx-runtime";
3
2
  import { LucideProvider } from "lucide-react";
3
+ import { jsx } from "react/jsx-runtime";
4
4
  // src/foundations/DesignSystemProvider.tsx
5
5
  /** The design system's own words, in English. Apps pass their translations through DesignSystemProvider. */
6
6
  const defaultDesignSystemLabels = {
@@ -28,6 +28,23 @@ const defaultDesignSystemLabels = {
28
28
  system: "Match system",
29
29
  light: "Light",
30
30
  dark: "Dark"
31
+ },
32
+ editor: {
33
+ formatting: "Formatting",
34
+ bold: "Bold",
35
+ italic: "Italic",
36
+ heading: "Heading",
37
+ bulletedList: "Bulleted list",
38
+ numberedList: "Numbered list",
39
+ link: "Link",
40
+ linkUrl: "Link URL",
41
+ linkPlaceholder: "https://…",
42
+ apply: "Apply",
43
+ markdown: "Markdown"
44
+ },
45
+ dialog: {
46
+ expand: "Expand",
47
+ restoreSize: "Restore size"
31
48
  }
32
49
  };
33
50
  const LabelContext = createContext(defaultDesignSystemLabels);
@@ -55,6 +72,14 @@ function mergeLabels(labels) {
55
72
  theme: {
56
73
  ...defaultDesignSystemLabels.theme,
57
74
  ...labels.theme
75
+ },
76
+ editor: {
77
+ ...defaultDesignSystemLabels.editor,
78
+ ...labels.editor
79
+ },
80
+ dialog: {
81
+ ...defaultDesignSystemLabels.dialog,
82
+ ...labels.dialog
58
83
  }
59
84
  };
60
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DesignSystemProvider.js","names":[],"sources":["../../src/foundations/DesignSystemProvider.tsx"],"sourcesContent":["/* oxlint-disable react/only-export-components -- Provider and consumer share the same UI label contract. */\nimport { LucideProvider } from 'lucide-react';\nimport { createContext, type ReactNode, useContext, useMemo } from 'react';\n\n/** The design system's own words, in English. Apps pass their translations through DesignSystemProvider. */\nexport const defaultDesignSystemLabels = {\n close: 'Close',\n cancel: 'Cancel',\n retry: 'Try again',\n toolbar: 'Toolbar',\n imageSize: (width: number, height: number) => `${width} × ${height}`,\n folders: {\n path: 'Folder path',\n selectedPath: (path: string) => `Selected folder: ${path}`,\n open: (name: string) => `Open ${name}`,\n chooseFolder: 'Choose folder',\n title: 'Select a folder',\n root: 'Root',\n upOneLevel: 'Up one level',\n loading: 'Loading folders',\n loadFailed: 'Could not load folders',\n empty: 'No folders',\n loadMore: 'Load more',\n chooseThis: 'Choose this folder',\n },\n theme: {\n label: 'Appearance',\n system: 'Match system',\n light: 'Light',\n dark: 'Dark',\n },\n};\n\nexport type DesignSystemLabels = typeof defaultDesignSystemLabels;\n\n/** The labels an app translates: any group or label left out keeps its English default. */\nexport type DesignSystemLabelOverrides = {\n [Key in keyof DesignSystemLabels]?: DesignSystemLabels[Key] extends (...args: never[]) => unknown\n ? DesignSystemLabels[Key]\n : DesignSystemLabels[Key] extends object\n ? Partial<DesignSystemLabels[Key]>\n : DesignSystemLabels[Key];\n};\n\nconst LabelContext = createContext(defaultDesignSystemLabels);\n\n/** Lucide draws on a 24px grid at a 2px stroke; 1.75 matches the weight of Lar's type at the sizes icons use. */\nconst iconStrokeWidth = 1.75;\n\nexport function DesignSystemProvider({\n children,\n labels,\n}: {\n children: ReactNode;\n labels?: DesignSystemLabelOverrides;\n}) {\n const value = useMemo(() => mergeLabels(labels), [labels]);\n\n return (\n <LabelContext.Provider value={value}>\n <LucideProvider strokeWidth={iconStrokeWidth}>{children}</LucideProvider>\n </LabelContext.Provider>\n );\n}\n\nfunction mergeLabels(labels: DesignSystemLabelOverrides | undefined): DesignSystemLabels {\n if (!labels) return defaultDesignSystemLabels;\n\n return {\n ...defaultDesignSystemLabels,\n ...labels,\n folders: { ...defaultDesignSystemLabels.folders, ...labels.folders },\n theme: { ...defaultDesignSystemLabels.theme, ...labels.theme },\n };\n}\n\nexport function useDesignSystemLabels() {\n return useContext(LabelContext);\n}\n"],"mappings":";;;;;AAKA,MAAa,4BAA4B;CACrC,OAAO;CACP,QAAQ;CACR,OAAO;CACP,SAAS;CACT,YAAY,OAAe,WAAmB,GAAG,MAAM,KAAK;CAC5D,SAAS;EACL,MAAM;EACN,eAAe,SAAiB,oBAAoB;EACpD,OAAO,SAAiB,QAAQ;EAChC,cAAc;EACd,OAAO;EACP,MAAM;EACN,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,OAAO;EACP,UAAU;EACV,YAAY;CAChB;CACA,OAAO;EACH,OAAO;EACP,QAAQ;EACR,OAAO;EACP,MAAM;CACV;AACJ;AAaA,MAAM,eAAe,cAAc,yBAAyB;;AAG5D,MAAM,kBAAkB;AAExB,SAAgB,qBAAqB,EACjC,UACA,UAID;CACC,MAAM,QAAQ,cAAc,YAAY,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzD,OACI,oBAAC,aAAa,UAAd;EAA8B;EAC1B,UAAA,oBAAC,gBAAD;GAAgB,aAAa;GAAkB;EAAyB,CAAA;CACrD,CAAA;AAE/B;AAEA,SAAS,YAAY,QAAoE;CACrF,IAAI,CAAC,QAAQ,OAAO;CAEpB,OAAO;EACH,GAAG;EACH,GAAG;EACH,SAAS;GAAE,GAAG,0BAA0B;GAAS,GAAG,OAAO;EAAQ;EACnE,OAAO;GAAE,GAAG,0BAA0B;GAAO,GAAG,OAAO;EAAM;CACjE;AACJ;AAEA,SAAgB,wBAAwB;CACpC,OAAO,WAAW,YAAY;AAClC"}
1
+ {"version":3,"file":"DesignSystemProvider.js","names":[],"sources":["../../src/foundations/DesignSystemProvider.tsx"],"sourcesContent":["/* oxlint-disable react/only-export-components -- Provider and consumer share the same UI label contract. */\nimport { LucideProvider } from 'lucide-react';\nimport { createContext, type ReactNode, useContext, useMemo } from 'react';\n\n/** The design system's own words, in English. Apps pass their translations through DesignSystemProvider. */\nexport const defaultDesignSystemLabels = {\n close: 'Close',\n cancel: 'Cancel',\n retry: 'Try again',\n toolbar: 'Toolbar',\n imageSize: (width: number, height: number) => `${width} × ${height}`,\n folders: {\n path: 'Folder path',\n selectedPath: (path: string) => `Selected folder: ${path}`,\n open: (name: string) => `Open ${name}`,\n chooseFolder: 'Choose folder',\n title: 'Select a folder',\n root: 'Root',\n upOneLevel: 'Up one level',\n loading: 'Loading folders',\n loadFailed: 'Could not load folders',\n empty: 'No folders',\n loadMore: 'Load more',\n chooseThis: 'Choose this folder',\n },\n theme: {\n label: 'Appearance',\n system: 'Match system',\n light: 'Light',\n dark: 'Dark',\n },\n editor: {\n formatting: 'Formatting',\n bold: 'Bold',\n italic: 'Italic',\n heading: 'Heading',\n bulletedList: 'Bulleted list',\n numberedList: 'Numbered list',\n link: 'Link',\n linkUrl: 'Link URL',\n linkPlaceholder: 'https://…',\n apply: 'Apply',\n markdown: 'Markdown',\n },\n dialog: {\n expand: 'Expand',\n restoreSize: 'Restore size',\n },\n};\n\nexport type DesignSystemLabels = typeof defaultDesignSystemLabels;\n\n/** The labels an app translates: any group or label left out keeps its English default. */\nexport type DesignSystemLabelOverrides = {\n [Key in keyof DesignSystemLabels]?: DesignSystemLabels[Key] extends (...args: never[]) => unknown\n ? DesignSystemLabels[Key]\n : DesignSystemLabels[Key] extends object\n ? Partial<DesignSystemLabels[Key]>\n : DesignSystemLabels[Key];\n};\n\nconst LabelContext = createContext(defaultDesignSystemLabels);\n\n/** Lucide draws on a 24px grid at a 2px stroke; 1.75 matches the weight of Lar's type at the sizes icons use. */\nconst iconStrokeWidth = 1.75;\n\nexport function DesignSystemProvider({\n children,\n labels,\n}: {\n children: ReactNode;\n labels?: DesignSystemLabelOverrides;\n}) {\n const value = useMemo(() => mergeLabels(labels), [labels]);\n\n return (\n <LabelContext.Provider value={value}>\n <LucideProvider strokeWidth={iconStrokeWidth}>{children}</LucideProvider>\n </LabelContext.Provider>\n );\n}\n\nfunction mergeLabels(labels: DesignSystemLabelOverrides | undefined): DesignSystemLabels {\n if (!labels) return defaultDesignSystemLabels;\n\n return {\n ...defaultDesignSystemLabels,\n ...labels,\n folders: { ...defaultDesignSystemLabels.folders, ...labels.folders },\n theme: { ...defaultDesignSystemLabels.theme, ...labels.theme },\n editor: { ...defaultDesignSystemLabels.editor, ...labels.editor },\n dialog: { ...defaultDesignSystemLabels.dialog, ...labels.dialog },\n };\n}\n\nexport function useDesignSystemLabels() {\n return useContext(LabelContext);\n}\n"],"mappings":";;;;;AAKA,MAAa,4BAA4B;CACrC,OAAO;CACP,QAAQ;CACR,OAAO;CACP,SAAS;CACT,YAAY,OAAe,WAAmB,GAAG,MAAM,KAAK;CAC5D,SAAS;EACL,MAAM;EACN,eAAe,SAAiB,oBAAoB;EACpD,OAAO,SAAiB,QAAQ;EAChC,cAAc;EACd,OAAO;EACP,MAAM;EACN,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,OAAO;EACP,UAAU;EACV,YAAY;CAChB;CACA,OAAO;EACH,OAAO;EACP,QAAQ;EACR,OAAO;EACP,MAAM;CACV;CACA,QAAQ;EACJ,YAAY;EACZ,MAAM;EACN,QAAQ;EACR,SAAS;EACT,cAAc;EACd,cAAc;EACd,MAAM;EACN,SAAS;EACT,iBAAiB;EACjB,OAAO;EACP,UAAU;CACd;CACA,QAAQ;EACJ,QAAQ;EACR,aAAa;CACjB;AACJ;AAaA,MAAM,eAAe,cAAc,yBAAyB;;AAG5D,MAAM,kBAAkB;AAExB,SAAgB,qBAAqB,EACjC,UACA,UAID;CACC,MAAM,QAAQ,cAAc,YAAY,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzD,OACI,oBAAC,aAAa,UAAd;EAA8B;EAC1B,UAAA,oBAAC,gBAAD;GAAgB,aAAa;GAAkB;EAAyB,CAAA;CACrD,CAAA;AAE/B;AAEA,SAAS,YAAY,QAAoE;CACrF,IAAI,CAAC,QAAQ,OAAO;CAEpB,OAAO;EACH,GAAG;EACH,GAAG;EACH,SAAS;GAAE,GAAG,0BAA0B;GAAS,GAAG,OAAO;EAAQ;EACnE,OAAO;GAAE,GAAG,0BAA0B;GAAO,GAAG,OAAO;EAAM;EAC7D,QAAQ;GAAE,GAAG,0BAA0B;GAAQ,GAAG,OAAO;EAAO;EAChE,QAAQ;GAAE,GAAG,0BAA0B;GAAQ,GAAG,OAAO;EAAO;CACpE;AACJ;AAEA,SAAgB,wBAAwB;CACpC,OAAO,WAAW,YAAY;AAClC"}
@@ -1,5 +1,6 @@
1
1
  import { ThemeController, ThemePreference, createThemeController, isThemePreference } from "./Theme.js";
2
2
  import { DesignSystemLabelOverrides, DesignSystemLabels, DesignSystemProvider, defaultDesignSystemLabels, useDesignSystemLabels } from "./DesignSystemProvider.js";
3
+ import { ambientMotion } from "./AmbientMotion.js";
3
4
  import { tabbable } from "./KeyboardFocus.js";
4
5
  import { applePlatform, isShortcut } from "./KeyboardShortcut.js";
5
- export { type DesignSystemLabelOverrides, type DesignSystemLabels, DesignSystemProvider, type ThemeController, type ThemePreference, applePlatform, createThemeController, defaultDesignSystemLabels, isShortcut, isThemePreference, tabbable, useDesignSystemLabels };
6
+ export { type DesignSystemLabelOverrides, type DesignSystemLabels, DesignSystemProvider, type ThemeController, type ThemePreference, ambientMotion, applePlatform, createThemeController, defaultDesignSystemLabels, isShortcut, isThemePreference, tabbable, useDesignSystemLabels };
@@ -1,3 +1,9 @@
1
- /** Brand marks, which lucide does not draw. */
2
- export declare function GitHubIcon(): import("react").JSX.Element;
1
+ /** Brand marks, which lucide does not draw. Each takes a `className` for its size, as a lucide icon does. */
2
+ export declare function GitHubIcon({ className }: {
3
+ className?: string;
4
+ }): import("react").JSX.Element;
5
+ /** Azure DevOps' mark. */
6
+ export declare function AzureDevOpsIcon({ className }: {
7
+ className?: string;
8
+ }): import("react").JSX.Element;
3
9
  //# sourceMappingURL=BrandIcons.d.ts.map
@@ -1,14 +1,25 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  // src/icons/BrandIcons.tsx
3
- /** Brand marks, which lucide does not draw. */
4
- function GitHubIcon() {
3
+ /** Brand marks, which lucide does not draw. Each takes a `className` for its size, as a lucide icon does. */
4
+ function GitHubIcon({ className }) {
5
5
  return /* @__PURE__ */ jsx("svg", {
6
6
  viewBox: "0 0 16 16",
7
7
  fill: "currentColor",
8
8
  "aria-hidden": "true",
9
+ className,
9
10
  children: /* @__PURE__ */ jsx("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8Z" })
10
11
  });
11
12
  }
12
- export { GitHubIcon };
13
+ /** Azure DevOps' mark. */
14
+ function AzureDevOpsIcon({ className }) {
15
+ return /* @__PURE__ */ jsx("svg", {
16
+ viewBox: "0 0 24 24",
17
+ fill: "currentColor",
18
+ "aria-hidden": "true",
19
+ className,
20
+ children: /* @__PURE__ */ jsx("path", { d: "M0 8.899l2.247-2.966 8.405-3.416V.045l7.37 5.393L2.966 8.36v8.2L0 15.685zm24-4.45v14.652L18.247 24l-9.303-3.237v3.237l-5.978-7.44 15.056 1.79V5.438z" })
21
+ });
22
+ }
23
+ export { AzureDevOpsIcon, GitHubIcon };
13
24
 
14
25
  //# sourceMappingURL=BrandIcons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrandIcons.js","names":[],"sources":["../../src/icons/BrandIcons.tsx"],"sourcesContent":["/** Brand marks, which lucide does not draw. */\nexport function GitHubIcon() {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8Z\" />\n </svg>\n );\n}\n"],"mappings":";;;AACA,SAAgB,aAAa;CACzB,OACI,oBAAC,OAAD;EAAK,SAAQ;EAAY,MAAK;EAAe,eAAY;EACrD,UAAA,oBAAC,QAAD,EAAM,GAAE,6jBAA8jB,CAAA;CACrkB,CAAA;AAEb"}
1
+ {"version":3,"file":"BrandIcons.js","names":[],"sources":["../../src/icons/BrandIcons.tsx"],"sourcesContent":["/** Brand marks, which lucide does not draw. Each takes a `className` for its size, as a lucide icon does. */\nexport function GitHubIcon({ className }: { className?: string }) {\n return (\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" className={className}>\n <path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8Z\" />\n </svg>\n );\n}\n\n/** Azure DevOps' mark. */\nexport function AzureDevOpsIcon({ className }: { className?: string }) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" className={className}>\n <path d=\"M0 8.899l2.247-2.966 8.405-3.416V.045l7.37 5.393L2.966 8.36v8.2L0 15.685zm24-4.45v14.652L18.247 24l-9.303-3.237v3.237l-5.978-7.44 15.056 1.79V5.438z\" />\n </svg>\n );\n}\n"],"mappings":";;;AACA,SAAgB,WAAW,EAAE,aAAqC;CAC9D,OACI,oBAAC,OAAD;EAAK,SAAQ;EAAY,MAAK;EAAe,eAAY;EAAkB;EACvE,UAAA,oBAAC,QAAD,EAAM,GAAE,6jBAA8jB,CAAA;CACrkB,CAAA;AAEb;;AAGA,SAAgB,gBAAgB,EAAE,aAAqC;CACnE,OACI,oBAAC,OAAD;EAAK,SAAQ;EAAY,MAAK;EAAe,eAAY;EAAkB;EACvE,UAAA,oBAAC,QAAD,EAAM,GAAE,uJAAwJ,CAAA;CAC/J,CAAA;AAEb"}
@@ -0,0 +1,2 @@
1
+ import { DynamicIcon, IconName } from "lucide-react/dynamic";
2
+ export { DynamicIcon, type IconName };
@@ -0,0 +1 @@
1
+ export { DynamicIcon } from "lucide-react/dynamic";
@@ -1,3 +1,3 @@
1
- import { GitHubIcon } from "./BrandIcons.js";
1
+ import { AzureDevOpsIcon, GitHubIcon } from "./BrandIcons.js";
2
2
  export * from "lucide-react";
3
- export { GitHubIcon };
3
+ export { AzureDevOpsIcon, GitHubIcon };
@@ -1,2 +1,2 @@
1
- export { GitHubIcon } from "./BrandIcons.js";
1
+ export { AzureDevOpsIcon, GitHubIcon } from "./BrandIcons.js";
2
2
  export * from "lucide-react";
package/dist/icons.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { GitHubIcon } from "./icons/BrandIcons.js";
1
+ import { AzureDevOpsIcon, GitHubIcon } from "./icons/BrandIcons.js";
2
2
  import "./icons/index.js";
3
3
  export * from "lucide-react";
4
- export { GitHubIcon };
4
+ export { AzureDevOpsIcon, GitHubIcon };
package/dist/icons.js CHANGED
@@ -1,2 +1,2 @@
1
- export { GitHubIcon } from "./icons/BrandIcons.js";
1
+ export { AzureDevOpsIcon, GitHubIcon } from "./icons/BrandIcons.js";
2
2
  export * from "lucide-react";
package/dist/index.d.ts CHANGED
@@ -5,6 +5,48 @@ import { ButtonLink, ButtonLinkProps } from "./actions/ButtonLink.js";
5
5
  import { ThemeController, ThemePreference, createThemeController, isThemePreference } from "./foundations/Theme.js";
6
6
  import { ThemeSwitch } from "./actions/ThemeSwitch.js";
7
7
  import "./actions/index.js";
8
+ import { AddItemButton, CreateIssueChoice, DraftFields, DraftTicketPart, PanelField, TicketSearch, TicketSearchMatch, TicketSearchPane } from "./board/AddItem.js";
9
+ import { ActionStack, SettingConfirm, SettingLastRun } from "./board/Archive.js";
10
+ import { BoardContent, BoardShell, ReadingLine } from "./board/BoardShell.js";
11
+ import { BoardBrand, BoardTitleBar, RefreshHealth, RefreshIndicator, TitleBarDivider } from "./board/BoardTitleBar.js";
12
+ import { ButtonKind, buttonKind } from "./board/ButtonKinds.js";
13
+ import { BoardCounter, BoardCounters, CounterAge, CounterDash, CounterDivider, CounterEmpty, CounterFigure, CounterGroup, CounterGroups, CounterItem, CounterList, CounterOfLimit, CounterPartial, LimitBars } from "./board/Counters.js";
14
+ import { DeskCard, DeskHint, DeskMergeState, DeskSection, MergeState } from "./board/Desk.js";
15
+ import { FilterBar, FilterChip, FilterChoice, FilterChoices, FilterMenu } from "./board/Filters.js";
16
+ import { ListButton, ListGroupItem, ListHeader, ListItemRow, ListNote } from "./board/List.js";
17
+ import { LoadingLine, LoadingMark, LoadingScreen } from "./board/LoadingScreen.js";
18
+ import { ReleaseNote, ReleaseNotes, UpdateDownloading, UpdatePill, UpdateStatusIcon } from "./board/UpdatePill.js";
19
+ import { BoardWarning, BoardWarnings, ToolMissing } from "./board/Warnings.js";
20
+ import { ActivityLine, ActivityState, AgentAge, AgentList, AgentRow, WorkingAgents } from "./board/ActivityLine.js";
21
+ import { ActivityLabel, ActivityTrack } from "./board/ActivityTrack.js";
22
+ import { DataAttributes } from "./board/DataAttributes.js";
23
+ import { AttentionEntry, AttentionList, AttentionMark, AttentionNone, AttentionTone, EntryButton, PartLink, PartName, RefButton } from "./board/Attention.js";
24
+ import { LossList } from "./board/Cleanup.js";
25
+ import { DependencyItem, DependencyList } from "./board/Dependencies.js";
26
+ import { DossierBody, DossierChipTone, DossierChips, DossierFields, DossierLine, DossierList, DossierNext, DossierNote, DossierRepos, DossierRow, DossierTitle, DossierTitleCell, DossierToggle, DossierTools, PartSegment, PartsBar, PlanningNote } from "./board/Dossier.js";
27
+ import { ItemFields, ItemTitle, KindMarker, RepoIdentity, RepoTag, TitleLink } from "./board/ItemParts.js";
28
+ import { NeedsYouNotice, NeedsYouResult } from "./board/NeedsYou.js";
29
+ import { PartKind, PartKindLabel, PartRow, PartTrack, PartWaits, PartsList, ShowDoneToggle, ThreadLine } from "./board/PartsList.js";
30
+ import { ChecksState, PullRequestList, PullRequestReadiness, PullRequestRef, PullRequestRow, ReadinessDetails } from "./board/PullRequests.js";
31
+ import { SliceBar, SliceList, SliceMark, SliceProgress, SliceRow } from "./board/Slices.js";
32
+ import { ItemSource, SourceIcon } from "./board/SourceIcon.js";
33
+ import { BuildLimit, HeaderSwitch, StageList, StagePane, StagePaneEmpty, StageSections } from "./board/StagePane.js";
34
+ import { OnYourDesk, QueueAge, QueuePlace, RowBlocked, RowCells, RowCount, RowFirst, RowFoot, RowGlyph, RowIdentity, RowKindCell, RowOpen, RowPartOf, RowSecondLine, RowSide, RowSliceNote, RowSliceToggle, RowSlices, RowState, RowStateCell, RowTitle, RowTitleCell, StageRowItem, UsageFigures } from "./board/StageRow.js";
35
+ import { StageTrack } from "./board/StageTrack.js";
36
+ import { ActionError, StartGroup, StartLine, StartNote, StartTag } from "./board/StartControls.js";
37
+ import { BoardStatus, statusColor } from "./board/StatusColors.js";
38
+ import { StatusGlyph } from "./board/StatusGlyph.js";
39
+ import { EarlierThread, EarlierThreadList } from "./board/Threads.js";
40
+ import { HistoryRow, MapBand, MapCanvas, MapCheckNode, MapEdge, MapEdgeLabel, MapEdges, MapHistoryGroup, MapHistoryList, MapLaneName, MapNode, MapPartNode, WorkMapFrame } from "./board/WorkMap.js";
41
+ import { AccessNotice, DialogActions, ItemDialogAside, ItemDialogBody, ItemDialogColumns, ItemSummary, SummaryAge, SummaryBlocked, SummaryPanel, SummaryParent, SummaryStatus, WarningNote } from "./board/ItemDialog.js";
42
+ import { AttachmentLink, ChangeFailed, CheckRun, ChipGroup, DetailFact, DetailsHeading, DetailsSection, DetailsText, EditActions, EditorSlot, FactList, FocusPanel, HeaderStatus, InlineList, KindQuestion, LabelEditorPanel, MainColumnSlot, MainSection, MetaArea, OutgoingTicket, SectionHeader, SpecSync, SprintCount, TextSection, TicketLink, TicketLinkList, WaitsOnList } from "./board/ItemDetails.js";
43
+ import { ItemProgressPanel, PartsProgress, ProgressActivity, ProgressCount, SliceChip, SliceChips, WorkflowSteps } from "./board/ItemProgress.js";
44
+ import { ProjectIcon, ProjectIconColor, ProjectIconSize, ProjectIconSource } from "./board/ProjectIcon.js";
45
+ import { OpenSettingsButton, ProjectValueList, ReasonNote, SettingControl, SettingDetails, SettingsNav, SettingsNote } from "./board/Settings.js";
46
+ import { CreateLabelForm, TrackerLabelEditor, TrackerLabelList, TrackerLabelRow } from "./board/TrackerLabels.js";
47
+ import { LabelChooser, LabelChooserEmpty, LabelChooserFooter, LabelChooserList, LabelChooserOption, VocabularyMore, VocabularyRow, VocabularySuggestion } from "./board/Vocabulary.js";
48
+ import { AddFolderLine, ChoiceDetails, EmptyBoard, ProjectLine, ProjectList, ProjectListItem, SetupCardList, SetupHeader, SetupStep } from "./board/Onboarding.js";
49
+ import "./board/index.js";
8
50
  import { CollectionSectionHeader } from "./collections/CollectionSectionHeader.js";
9
51
  import { CollectionState } from "./collections/CollectionState.js";
10
52
  import { DataRow } from "./collections/DataRow.js";
@@ -25,11 +67,13 @@ import { BrandLink, BrandMark } from "./display/BrandMark.js";
25
67
  import { ChangeList, ChangeListItem } from "./display/ChangeList.js";
26
68
  import { CheckList, CheckListItem } from "./display/CheckList.js";
27
69
  import { CodeBlock } from "./display/CodeBlock.js";
70
+ import { Comment, CommentList } from "./display/Comment.js";
28
71
  import { CopyButton } from "./display/CopyButton.js";
29
72
  import { DataTable, DataTableCell, DataTableRow } from "./display/DataTable.js";
30
73
  import { DetailHero, DetailHeroDetail, DetailHeroDetails, DetailHeroTags } from "./display/DetailHero.js";
31
74
  import { DetailList } from "./display/DetailList.js";
32
75
  import { DeviceCard } from "./display/DeviceCard.js";
76
+ import { Diagram } from "./display/Diagram.js";
33
77
  import { Identity } from "./display/Identity.js";
34
78
  import { ImageCard } from "./display/ImageCard.js";
35
79
  import { ImagePicker, ImagePickerGrid, ImagePickerOption, ImageUpload } from "./display/ImagePicker.js";
@@ -37,15 +81,18 @@ import { InfoBox } from "./display/InfoBox.js";
37
81
  import { InsetPanel } from "./display/InsetPanel.js";
38
82
  import { Kbd } from "./display/Kbd.js";
39
83
  import { KindIcon } from "./display/KindIcon.js";
84
+ import { LabelChip } from "./display/LabelChip.js";
40
85
  import { NoticeCard } from "./display/NoticeCard.js";
41
86
  import { PairingList, PairingListItem } from "./display/PairingList.js";
42
87
  import { PathList } from "./display/PathList.js";
43
88
  import { PeoplePreview } from "./display/PeoplePreview.js";
89
+ import { Person } from "./display/Person.js";
44
90
  import { PropertySheet, PropertySheetRow, PropertySheetTag } from "./display/PropertySheet.js";
45
91
  import { QrCode } from "./display/QrCode.js";
46
92
  import { RadioChoice } from "./display/RadioChoice.js";
47
93
  import { RatingLink } from "./display/RatingLink.js";
48
94
  import { ResourceCard, ResourceCardSkeleton } from "./display/ResourceCard.js";
95
+ import { RichText, RichTextFormat } from "./display/RichText.js";
49
96
  import { RowList, RowListItem } from "./display/RowList.js";
50
97
  import { MeterLegend, MeterSegment, MeterTone, StackedMeter } from "./display/StackedMeter.js";
51
98
  import { StatTile } from "./display/StatTile.js";
@@ -56,25 +103,35 @@ import "./display/index.js";
56
103
  import { Alert } from "./feedback/Alert.js";
57
104
  import { AsyncState } from "./feedback/AsyncState.js";
58
105
  import { ErrorNotification, dismissAllNotifications, showErrorNotification, showSuccessNotification } from "./feedback/ErrorNotification.js";
59
- import { Notifications } from "./feedback/Notifications.js";
106
+ import { DismissButton } from "./feedback/DismissButton.js";
107
+ import { FormResult } from "./feedback/FormResult.js";
108
+ import { LiveRegion } from "./feedback/LiveRegion.js";
109
+ import { Notification, Notifications, clearNotification, showNotification, useNotificationControls } from "./feedback/Notifications.js";
110
+ import { Progress } from "./feedback/Progress.js";
60
111
  import { ProgressStatusRow } from "./feedback/ProgressStatusRow.js";
61
112
  import { SkeletonLoader } from "./feedback/SkeletonLoader.js";
113
+ import { Loading } from "./feedback/Loading.js";
62
114
  import { StatusPopoverContent } from "./feedback/StatusPopoverContent.js";
63
115
  import { StatusRow } from "./feedback/StatusRow.js";
64
- import { Loading } from "./feedback/index.js";
116
+ import "./feedback/index.js";
65
117
  import { Checkbox, CheckboxProps } from "./forms/Checkbox.js";
118
+ import { ColorSwatch, ColorSwatches } from "./forms/ColorSwatches.js";
66
119
  import { Field, FieldProps } from "./forms/Field.js";
67
- import { Disclosure, FormAction, FormContent, FormField, FormRow, FormSection, FormStack } from "./forms/FormSection.js";
120
+ import { Disclosure, FormAction, FormContent, FormField, FormFieldset, FormRow, FormSection, FormStack, FormUnit } from "./forms/FormSection.js";
121
+ import { HiddenField } from "./forms/HiddenField.js";
68
122
  import { InlineFields } from "./forms/InlineFields.js";
69
123
  import { Input, InputProps } from "./forms/Input.js";
70
- import { OptionSelect } from "./forms/OptionSelect.js";
71
- import { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps } from "./forms/RadioGroup.js";
124
+ import { LabelChoice, LabelCreation, LabelPicker } from "./forms/LabelPicker.js";
125
+ import { MarkdownEditor } from "./forms/MarkdownEditor.js";
72
126
  import { Select, SelectItem, SelectProps } from "./forms/Select.js";
127
+ import { OptionSelect, OptionSelectOption } from "./forms/OptionSelect.js";
128
+ import { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps } from "./forms/RadioGroup.js";
73
129
  import { Switch } from "./forms/Switch.js";
74
130
  import { TagInput } from "./forms/TagInput.js";
75
131
  import { Textarea } from "./forms/Textarea.js";
76
132
  import "./forms/index.js";
77
133
  import { DesignSystemLabelOverrides, DesignSystemLabels, DesignSystemProvider, defaultDesignSystemLabels, useDesignSystemLabels } from "./foundations/DesignSystemProvider.js";
134
+ import { ambientMotion } from "./foundations/AmbientMotion.js";
78
135
  import { tabbable } from "./foundations/KeyboardFocus.js";
79
136
  import { applePlatform, isShortcut } from "./foundations/KeyboardShortcut.js";
80
137
  import "./foundations/index.js";
@@ -87,7 +144,7 @@ import { Section } from "./layout/Section.js";
87
144
  import { SidebarNavigationItem } from "./layout/sidebar/SidebarNavigationItem.js";
88
145
  import { SidebarNavigationGroup, SidebarPane } from "./layout/sidebar/SidebarPane.js";
89
146
  import { TitleBar, TitleBarTrail, TitleBarTrailItem } from "./layout/TitleBar.js";
90
- import { CommandPaletteTrigger } from "./layout/toolbar/CommandPaletteTrigger.js";
147
+ import { CommandPaletteTrigger, CommandPaletteTriggerToken } from "./layout/toolbar/CommandPaletteTrigger.js";
91
148
  import { ToolbarStatusGroup } from "./layout/toolbar/ToolbarStatusGroup.js";
92
149
  import { ToolbarStatusItem } from "./layout/toolbar/ToolbarStatusItem.js";
93
150
  import { WorkspaceActionsHeader } from "./layout/WorkspaceActionsHeader.js";
@@ -98,17 +155,20 @@ import { Box, Divider } from "./layout/index.js";
98
155
  import { ArtworkTabs, ArtworkTabsItem } from "./navigation/ArtworkTabs.js";
99
156
  import { Breadcrumbs } from "./navigation/Breadcrumbs.js";
100
157
  import { CollectionBrowseControls, CollectionBrowseSelector, CollectionBrowseTrigger } from "./navigation/CollectionBrowseSelector.js";
101
- import { CollectionView, CollectionViewToggle } from "./navigation/CollectionViewToggle.js";
158
+ import { CollectionView, CollectionViewToggle, ViewToggle, ViewToggleOption } from "./navigation/CollectionViewToggle.js";
102
159
  import { DrilldownBrowseGroup, DrilldownBrowseItem, DrilldownBrowseSelector } from "./navigation/DrilldownBrowseSelector.js";
103
160
  import { FolderSelector, FolderSelectorOption, FolderSelectorProps } from "./navigation/FolderSelector.js";
161
+ import { SortMenu } from "./navigation/SortMenu.js";
104
162
  import { ViewTabs, ViewTabsItem } from "./navigation/ViewTabs.js";
105
163
  import "./navigation/index.js";
106
164
  import { ActionModal } from "./overlays/ActionModal.js";
107
- import { CommandPalette, CommandPaletteGroup, useCommandPaletteOption } from "./overlays/CommandPalette.js";
165
+ import { CommandPalette, CommandPaletteGroup, CommandPaletteOption, CommandPaletteToken, useCommandPaletteOption } from "./overlays/CommandPalette.js";
108
166
  import { Drawer } from "./overlays/Drawer.js";
109
167
  import { DropdownMenu } from "./overlays/DropdownMenu.js";
168
+ import { HelpTip } from "./overlays/HelpTip.js";
110
169
  import { ImageViewer } from "./overlays/ImageViewer.js";
111
170
  import { Modal } from "./overlays/Modal.js";
171
+ import { ModalExpandButton } from "./overlays/ModalExpandButton.js";
112
172
  import { Popover } from "./overlays/Popover.js";
113
173
  import { Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger } from "./overlays/Tooltip.js";
114
174
  import "./overlays/index.js";
@@ -127,7 +187,8 @@ import { MediaApp, ReadinessItem, ReadinessLegend, ReadinessPanel, ServerBay, Se
127
187
  import { AngledDevice, Backdrop, DeviceStage, ResponsiveMedia, Reveal } from "./showcase/Stage.js";
128
188
  import { Step, StepFlow } from "./showcase/StepFlow.js";
129
189
  import "./showcase/index.js";
190
+ import { Code, CodeProps } from "./typography/Code.js";
130
191
  import { InlineLink, Link, LinkBox, LinkOverlay, LinkOverlayProps, LinkProps } from "./typography/Link.js";
131
192
  import { Heading, HeadingProps, Text, TextProps } from "./typography/Typography.js";
132
- import { Code } from "./typography/index.js";
133
- export { ActionModal, ActivityCard, ActivityCardSkeleton, Alert, AngledDevice, Announcement, AppIcon, AppShell, AppWindow, Artwork, ArtworkTabs, type ArtworkTabsItem, AsyncState, AuthLayout, Avatar, Backdrop, Badge, BadgeList, type BadgeListItem, type BadgeProps, Box, BrandLink, BrandMark, Breadcrumbs, BrowserFrame, Button, ButtonLink, type ButtonLinkProps, type ButtonProps, CallToAction, Callout, CalloutPair, CalloutStack, ChangeList, type ChangeListItem, CheckList, type CheckListItem, Checkbox, type CheckboxProps, Code, CodeBlock, CollectionBrowseControls, CollectionBrowseSelector, CollectionBrowseTrigger, CollectionSectionHeader, CollectionState, type CollectionView, CollectionViewToggle, CommandPalette, CommandPaletteGroup, CommandPaletteTrigger, type ConceptPhoto, ContentContainer, CopyButton, DataRow, DataTable, type DataTableCell, type DataTableRow, type DesignSystemLabelOverrides, type DesignSystemLabels, DesignSystemProvider, DetailHero, DetailHeroDetail, DetailHeroDetails, DetailHeroTags, DetailList, DeviceCard, DeviceStage, Disclosure, Divider, Drawer, type DrilldownBrowseGroup, type DrilldownBrowseItem, DrilldownBrowseSelector, DropdownMenu, type ErrorNotification, Eyebrow, FeatureGrid, FeatureRow, FeatureRows, FeatureTile, Field, type FieldProps, type FlowSpace, FolderSelector, type FolderSelectorOption, type FolderSelectorProps, FormAction, FormContent, FormField, FormRow, FormSection, FormStack, Grid, GuidedMedia, Heading, type HeadingProps, Hero, IconButton, type IconButtonProps, Identity, ImageCard, ImagePicker, ImagePickerGrid, ImagePickerOption, ImageUpload, ImageViewer, InfoBox, Inline, InlineFields, InlineLink, Input, type InputProps, InsetPanel, ItemAction, Kbd, KindIcon, LaptopFrame, Link, LinkBox, LinkOverlay, type LinkOverlayProps, type LinkProps, type ListColumn, Loading, type MediaApp, MeterLegend, type MeterSegment, type MeterTone, Modal, NoticeCard, Notifications, OptionSelect, PageLayout, PageSection, PairingList, type PairingListItem, PathList, PeoplePreview, PhoneFrame, PhotoSearchConcept, type Platform, PlatformGrid, PointList, Popover, ProductBand, ProductBands, ProductCard, type ProductEntry, ProductGrid, ProductIndex, ProgressStatusRow, PropertySheet, type PropertySheetRow, type PropertySheetTag, QrCode, RadioChoice, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, RatingLink, type Readiness, type ReadinessItem, ReadinessLegend, ReadinessPanel, ResourceCard, ResourceCardSkeleton, ResponsiveMedia, ResultEmpty, ResultList, ResultRow, type ResultRowProps, Reveal, Roadmap, type RoadmapItem, RouteDiagram, type RouteNode, RowList, RowListItem, Screenshot, type ScreenshotProps, ScrollArea, type ScrollAreaProps, ScrollRow, ScrollRowArrows, ScrollRowItem, Section, SectionHeading, Select, SelectItem, type SelectProps, type ServerBay, ServerUnit, SidebarNavigationGroup, SidebarNavigationItem, SidebarPane, SiteFooter, SiteHeader, type SiteLink, SiteShell, SkeletonLoader, Stack, type StackProps, StackedMeter, StatTile, StatusIndicator, StatusLight, StatusPill, StatusPopoverContent, StatusRow, type StatusTone, type Step, StepFlow, StepList, Switch, TabletFrame, TagInput, Text, TextPreview, type TextProps, Textarea, type ThemeController, type ThemePreference, ThemeSwitch, TimeSeriesChart, TimeSeriesChartSkeleton, type TimeSeriesPoint, TitleBar, TitleBarTrail, type TitleBarTrailItem, ToolbarStatusGroup, ToolbarStatusItem, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, TvFrame, ViewTabs, type ViewTabsItem, VirtualGrid, VirtualList, type VirtualListProps, WorkspaceActionsHeader, applePlatform, createThemeController, defaultDesignSystemLabels, dismissAllNotifications, isShortcut, isThemePreference, revealInRow, showErrorNotification, showSuccessNotification, tabbable, useCollectionMotion, useCommandPaletteOption, useDesignSystemLabels, useScrollRow };
193
+ import "./typography/index.js";
194
+ export { AccessNotice, ActionError, ActionModal, ActionStack, ActivityCard, ActivityCardSkeleton, ActivityLabel, ActivityLine, type ActivityState, ActivityTrack, AddFolderLine, AddItemButton, AgentAge, AgentList, AgentRow, Alert, AngledDevice, Announcement, AppIcon, AppShell, AppWindow, Artwork, ArtworkTabs, type ArtworkTabsItem, AsyncState, AttachmentLink, AttentionEntry, AttentionList, AttentionMark, AttentionNone, type AttentionTone, AuthLayout, Avatar, Backdrop, Badge, BadgeList, type BadgeListItem, type BadgeProps, BoardBrand, BoardContent, BoardCounter, BoardCounters, BoardShell, type BoardStatus, BoardTitleBar, BoardWarning, BoardWarnings, Box, BrandLink, BrandMark, Breadcrumbs, BrowserFrame, BuildLimit, Button, type ButtonKind, ButtonLink, type ButtonLinkProps, type ButtonProps, CallToAction, Callout, CalloutPair, CalloutStack, ChangeFailed, ChangeList, type ChangeListItem, CheckList, type CheckListItem, CheckRun, Checkbox, type CheckboxProps, ChecksState, ChipGroup, ChoiceDetails, Code, CodeBlock, type CodeProps, CollectionBrowseControls, CollectionBrowseSelector, CollectionBrowseTrigger, CollectionSectionHeader, CollectionState, type CollectionView, CollectionViewToggle, type ColorSwatch, ColorSwatches, CommandPalette, CommandPaletteGroup, CommandPaletteOption, type CommandPaletteToken, CommandPaletteTrigger, type CommandPaletteTriggerToken, Comment, CommentList, type ConceptPhoto, ContentContainer, CopyButton, CounterAge, CounterDash, CounterDivider, CounterEmpty, CounterFigure, CounterGroup, CounterGroups, CounterItem, CounterList, CounterOfLimit, CounterPartial, CreateIssueChoice, CreateLabelForm, type DataAttributes, DataRow, DataTable, type DataTableCell, type DataTableRow, DependencyItem, DependencyList, type DesignSystemLabelOverrides, type DesignSystemLabels, DesignSystemProvider, DeskCard, DeskHint, DeskMergeState, DeskSection, DetailFact, DetailHero, DetailHeroDetail, DetailHeroDetails, DetailHeroTags, DetailList, DetailsHeading, DetailsSection, DetailsText, DeviceCard, DeviceStage, Diagram, DialogActions, Disclosure, DismissButton, Divider, DossierBody, type DossierChipTone, DossierChips, DossierFields, DossierLine, DossierList, DossierNext, DossierNote, DossierRepos, DossierRow, DossierTitle, DossierTitleCell, DossierToggle, DossierTools, DraftFields, DraftTicketPart, Drawer, type DrilldownBrowseGroup, type DrilldownBrowseItem, DrilldownBrowseSelector, DropdownMenu, EarlierThread, EarlierThreadList, EditActions, EditorSlot, EmptyBoard, EntryButton, type ErrorNotification, Eyebrow, FactList, FeatureGrid, FeatureRow, FeatureRows, FeatureTile, Field, type FieldProps, FilterBar, FilterChip, FilterChoice, FilterChoices, FilterMenu, type FlowSpace, FocusPanel, FolderSelector, type FolderSelectorOption, type FolderSelectorProps, FormAction, FormContent, FormField, FormFieldset, FormResult, FormRow, FormSection, FormStack, FormUnit, Grid, GuidedMedia, HeaderStatus, HeaderSwitch, Heading, type HeadingProps, HelpTip, Hero, HiddenField, HistoryRow, IconButton, type IconButtonProps, Identity, ImageCard, ImagePicker, ImagePickerGrid, ImagePickerOption, ImageUpload, ImageViewer, InfoBox, Inline, InlineFields, InlineLink, InlineList, Input, type InputProps, InsetPanel, ItemAction, ItemDialogAside, ItemDialogBody, ItemDialogColumns, ItemFields, ItemProgressPanel, type ItemSource, ItemSummary, ItemTitle, Kbd, KindIcon, KindMarker, KindQuestion, LabelChip, type LabelChoice, LabelChooser, LabelChooserEmpty, LabelChooserFooter, LabelChooserList, LabelChooserOption, type LabelCreation, LabelEditorPanel, LabelPicker, LaptopFrame, LimitBars, Link, LinkBox, LinkOverlay, type LinkOverlayProps, type LinkProps, ListButton, type ListColumn, ListGroupItem, ListHeader, ListItemRow, ListNote, LiveRegion, Loading, type LoadingLine, type LoadingMark, LoadingScreen, LossList, MainColumnSlot, MainSection, MapBand, MapCanvas, MapCheckNode, type MapEdge, MapEdgeLabel, MapEdges, MapHistoryGroup, MapHistoryList, MapLaneName, MapNode, MapPartNode, MarkdownEditor, type MediaApp, type MergeState, MetaArea, MeterLegend, type MeterSegment, type MeterTone, Modal, ModalExpandButton, NeedsYouNotice, NeedsYouResult, NoticeCard, type Notification, Notifications, OnYourDesk, OpenSettingsButton, OptionSelect, type OptionSelectOption, OutgoingTicket, PageLayout, PageSection, PairingList, type PairingListItem, PanelField, type PartKind, PartKindLabel, PartLink, PartName, PartRow, type PartSegment, PartTrack, PartWaits, PartsBar, PartsList, PartsProgress, PathList, PeoplePreview, Person, PhoneFrame, PhotoSearchConcept, PlanningNote, type Platform, PlatformGrid, PointList, Popover, ProductBand, ProductBands, ProductCard, type ProductEntry, ProductGrid, ProductIndex, Progress, ProgressActivity, ProgressCount, ProgressStatusRow, ProjectIcon, type ProjectIconColor, type ProjectIconSize, type ProjectIconSource, ProjectLine, ProjectList, ProjectListItem, ProjectValueList, PropertySheet, type PropertySheetRow, type PropertySheetTag, PullRequestList, PullRequestReadiness, PullRequestRef, PullRequestRow, QrCode, QueueAge, QueuePlace, RadioChoice, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, RatingLink, type Readiness, ReadinessDetails, type ReadinessItem, ReadinessLegend, ReadinessPanel, ReadingLine, ReasonNote, RefButton, type RefreshHealth, RefreshIndicator, type ReleaseNote, ReleaseNotes, RepoIdentity, RepoTag, ResourceCard, ResourceCardSkeleton, ResponsiveMedia, ResultEmpty, ResultList, ResultRow, type ResultRowProps, Reveal, RichText, type RichTextFormat, Roadmap, type RoadmapItem, RouteDiagram, type RouteNode, RowBlocked, RowCells, RowCount, RowFirst, RowFoot, RowGlyph, RowIdentity, RowKindCell, RowList, RowListItem, RowOpen, RowPartOf, RowSecondLine, RowSide, RowSliceNote, RowSliceToggle, RowSlices, RowState, RowStateCell, RowTitle, RowTitleCell, Screenshot, type ScreenshotProps, ScrollArea, type ScrollAreaProps, ScrollRow, ScrollRowArrows, ScrollRowItem, Section, SectionHeader, SectionHeading, Select, SelectItem, type SelectProps, type ServerBay, ServerUnit, SettingConfirm, SettingControl, SettingDetails, SettingLastRun, SettingsNav, SettingsNote, SetupCardList, SetupHeader, SetupStep, ShowDoneToggle, SidebarNavigationGroup, SidebarNavigationItem, SidebarPane, SiteFooter, SiteHeader, type SiteLink, SiteShell, SkeletonLoader, SliceBar, SliceChip, SliceChips, SliceList, SliceMark, type SliceProgress, SliceRow, SortMenu, SourceIcon, SpecSync, SprintCount, Stack, type StackProps, StackedMeter, StageList, StagePane, StagePaneEmpty, StageRowItem, StageSections, StageTrack, StartGroup, StartLine, StartNote, StartTag, StatTile, StatusGlyph, StatusIndicator, StatusLight, StatusPill, StatusPopoverContent, StatusRow, type StatusTone, type Step, StepFlow, StepList, SummaryAge, SummaryBlocked, SummaryPanel, SummaryParent, SummaryStatus, Switch, TabletFrame, TagInput, Text, TextPreview, type TextProps, TextSection, Textarea, type ThemeController, type ThemePreference, ThemeSwitch, ThreadLine, TicketLink, TicketLinkList, TicketSearch, type TicketSearchMatch, TicketSearchPane, TimeSeriesChart, TimeSeriesChartSkeleton, type TimeSeriesPoint, TitleBar, TitleBarDivider, TitleBarTrail, type TitleBarTrailItem, TitleLink, ToolMissing, ToolbarStatusGroup, ToolbarStatusItem, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, TrackerLabelEditor, TrackerLabelList, TrackerLabelRow, TvFrame, UpdateDownloading, UpdatePill, UpdateStatusIcon, UsageFigures, ViewTabs, type ViewTabsItem, ViewToggle, type ViewToggleOption, VirtualGrid, VirtualList, type VirtualListProps, VocabularyMore, VocabularyRow, VocabularySuggestion, WaitsOnList, WarningNote, WorkMapFrame, WorkflowSteps, WorkingAgents, WorkspaceActionsHeader, ambientMotion, applePlatform, buttonKind, clearNotification, createThemeController, defaultDesignSystemLabels, dismissAllNotifications, isShortcut, isThemePreference, revealInRow, showErrorNotification, showNotification, showSuccessNotification, statusColor, tabbable, useCollectionMotion, useCommandPaletteOption, useDesignSystemLabels, useNotificationControls, useScrollRow };