prime-ui-kit 0.10.0 → 0.11.1

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 (1370) hide show
  1. package/README.md +114 -58
  2. package/bin/prime-ui-kit.js +52 -0
  3. package/dist/chunks/{chunk-EJ2ZVQYL.js → chunk-6TI4DSM5.js} +1904 -2040
  4. package/dist/chunks/chunk-CUH6DJ57.js +29335 -0
  5. package/dist/chunks/{chunk-T7CLQXGB.js → chunk-GKX3QAUC.js} +159 -6
  6. package/dist/chunks/chunk-Q3BFRQHZ.js +1729 -0
  7. package/dist/chunks/chunk-WDTSHOTD.js +6841 -0
  8. package/dist/color-picker.d.ts +5 -3
  9. package/dist/color-picker.js +7 -3
  10. package/dist/components/accordion/Accordion.d.ts +1 -1
  11. package/dist/components/avatar/Avatar.d.ts +2 -2
  12. package/dist/components/badge/Badge.d.ts +17 -5
  13. package/dist/components/badge/tier.d.ts +6 -2
  14. package/dist/components/banner/Banner.d.ts +1 -1
  15. package/dist/components/breadcrumb/Breadcrumb.d.ts +1 -1
  16. package/dist/components/button/Button.d.ts +42 -10
  17. package/dist/components/button-group/ButtonGroup.d.ts +22 -5
  18. package/dist/components/card/Card.d.ts +19 -3
  19. package/dist/components/chart-frame/ChartFrame.d.ts +229 -0
  20. package/dist/components/chat/Chat.d.ts +192 -0
  21. package/dist/components/chat/ChatPinned.d.ts +44 -0
  22. package/dist/components/chat/ChatRows.d.ts +30 -0
  23. package/dist/components/chat/MessageList.d.ts +95 -0
  24. package/dist/components/chat/chatContext.d.ts +54 -0
  25. package/dist/components/chat/groupMessages.d.ts +50 -0
  26. package/dist/components/chat/messageFlow.d.ts +42 -0
  27. package/dist/components/checkbox/Checkbox.d.ts +9 -4
  28. package/dist/components/code-block/CodeBlock.d.ts +1 -1
  29. package/dist/components/color-field/ColorField.d.ts +44 -0
  30. package/dist/components/color-picker/ColorPicker.d.ts +5 -4
  31. package/dist/components/color-picker/ColorPresets.d.ts +22 -14
  32. package/dist/components/color-swatches/ColorSwatches.d.ts +9 -4
  33. package/dist/components/command-menu/CommandMenu.d.ts +41 -11
  34. package/dist/components/composer/Composer.d.ts +234 -0
  35. package/dist/components/composer/format.d.ts +39 -0
  36. package/dist/components/composer/liveWave.d.ts +30 -0
  37. package/dist/components/composer/useRecorder.d.ts +72 -0
  38. package/dist/components/confirm-dialog/ConfirmDialog.d.ts +57 -0
  39. package/dist/components/crossfade/Crossfade.d.ts +8 -2
  40. package/dist/components/data-table/ColumnsMenu.d.ts +19 -0
  41. package/dist/components/data-table/DataTable.d.ts +72 -8
  42. package/dist/components/data-table/Footer.d.ts +1 -1
  43. package/dist/components/data-table/Head.d.ts +6 -2
  44. package/dist/components/data-table/Row.d.ts +33 -5
  45. package/dist/components/data-table/StateRows.d.ts +4 -2
  46. package/dist/components/data-table/context.d.ts +14 -0
  47. package/dist/components/data-table/reorder.d.ts +86 -0
  48. package/dist/components/data-table/rowEvents.d.ts +14 -0
  49. package/dist/components/data-table/rows.d.ts +17 -1
  50. package/dist/components/data-table/serverMode.d.ts +8 -0
  51. package/dist/components/data-table/types.d.ts +16 -0
  52. package/dist/components/data-table/useColumnHover.d.ts +2 -1
  53. package/dist/components/data-table/useInfiniteRows.d.ts +4 -1
  54. package/dist/components/data-table/useRowSelection.d.ts +5 -4
  55. package/dist/components/datepicker/Datepicker.d.ts +8 -3
  56. package/dist/components/datepicker/DatepickerPanel.d.ts +2 -2
  57. package/dist/components/datepicker/panelLayout.d.ts +2 -2
  58. package/dist/components/description-list/DescriptionList.d.ts +59 -0
  59. package/dist/components/digit-input/DigitInput.d.ts +12 -5
  60. package/dist/components/divider/Divider.d.ts +1 -1
  61. package/dist/components/dnd/Dnd.d.ts +48 -20
  62. package/dist/components/dnd/dragSession.d.ts +27 -2
  63. package/dist/components/dnd/geometry.d.ts +12 -4
  64. package/dist/components/dnd/labels.d.ts +12 -1
  65. package/dist/components/dnd/useDragSource.d.ts +2 -0
  66. package/dist/components/dnd/useDropTarget.d.ts +6 -3
  67. package/dist/components/dnd/useFlipList.d.ts +8 -2
  68. package/dist/components/dnd/useSortableList.d.ts +13 -10
  69. package/dist/components/drawer/Drawer.d.ts +14 -12
  70. package/dist/components/dropdown/Dropdown.d.ts +23 -4
  71. package/dist/components/empty-page/EmptyPage.d.ts +35 -5
  72. package/dist/components/fieldset/Fieldset.d.ts +24 -0
  73. package/dist/components/file-upload/FileUpload.d.ts +152 -14
  74. package/dist/components/gallery/Gallery.d.ts +79 -0
  75. package/dist/components/gallery/layout.d.ts +34 -0
  76. package/dist/components/gantt/Gantt.d.ts +102 -0
  77. package/dist/components/gantt/GanttBar.d.ts +51 -0
  78. package/dist/components/gantt/GanttRow.d.ts +75 -0
  79. package/dist/components/gantt/ganttModel.d.ts +133 -0
  80. package/dist/components/gantt/useEdgeAutoScroll.d.ts +12 -0
  81. package/dist/components/hint/Hint.d.ts +1 -1
  82. package/dist/components/index.d.ts +53 -22
  83. package/dist/components/input/Input.d.ts +58 -4
  84. package/dist/components/kanban/Kanban.d.ts +77 -12
  85. package/dist/components/kbd/Kbd.d.ts +1 -1
  86. package/dist/components/label/Label.d.ts +1 -1
  87. package/dist/components/link-button/LinkButton.d.ts +2 -2
  88. package/dist/components/login-form/LoginForm.d.ts +1 -1
  89. package/dist/components/media-viewer/MediaViewer.d.ts +55 -0
  90. package/dist/components/media-viewer/ViewerVideo.d.ts +53 -0
  91. package/dist/components/media-viewer/originShape.d.ts +17 -0
  92. package/dist/components/media-viewer/physics.d.ts +81 -0
  93. package/dist/components/media-viewer/types.d.ts +59 -0
  94. package/dist/components/media-viewer/viewerEngine.d.ts +202 -0
  95. package/dist/components/message/Message.d.ts +83 -0
  96. package/dist/components/message/MessageCards.d.ts +64 -0
  97. package/dist/components/message/MessageFile.d.ts +36 -0
  98. package/dist/components/message/MessageMedia.d.ts +12 -0
  99. package/dist/components/message/MessageParts.d.ts +206 -0
  100. package/dist/components/message/MessageReactionBar.d.ts +35 -0
  101. package/dist/components/message/MessageTyping.d.ts +25 -0
  102. package/dist/components/message/bubbleHug.d.ts +10 -0
  103. package/dist/components/message/bubbleMorph.d.ts +43 -0
  104. package/dist/components/message/formatMessageTime.d.ts +2 -0
  105. package/dist/components/message/types.d.ts +21 -0
  106. package/dist/components/modal/DialogGuard.d.ts +21 -0
  107. package/dist/components/modal/DialogParts.d.ts +90 -15
  108. package/dist/components/modal/Modal.d.ts +9 -47
  109. package/dist/components/modal/ModalDialog.d.ts +46 -0
  110. package/dist/components/native-select/NativeSelect.d.ts +3 -3
  111. package/dist/components/notification/Notification.d.ts +7 -1
  112. package/dist/components/page-content/PageContent.d.ts +58 -1
  113. package/dist/components/page-toolbar/PageToolbar.d.ts +8 -7
  114. package/dist/components/pagination/Pagination.d.ts +1 -1
  115. package/dist/components/popover/Popover.d.ts +12 -4
  116. package/dist/components/progress-bar/ProgressBar.d.ts +30 -10
  117. package/dist/components/progress-circle/ProgressCircle.d.ts +42 -7
  118. package/dist/components/radio/Radio.d.ts +4 -4
  119. package/dist/components/scroll-container/ScrollContainer.d.ts +27 -7
  120. package/dist/components/scroll-container/useFitFlag.d.ts +5 -0
  121. package/dist/components/scroll-container/useScrollEdges.d.ts +53 -0
  122. package/dist/components/scroll-container/useWheelToInline.d.ts +10 -0
  123. package/dist/components/segmented-control/SegmentedControl.d.ts +23 -6
  124. package/dist/components/select/Select.d.ts +38 -8
  125. package/dist/components/select/SelectItem.d.ts +7 -4
  126. package/dist/components/select/selectContext.d.ts +12 -3
  127. package/dist/components/sheet/Sheet.d.ts +49 -0
  128. package/dist/components/skeleton/Skeleton.d.ts +1 -1
  129. package/dist/components/slider/Slider.d.ts +17 -3
  130. package/dist/components/smart-filter/SmartFilter.d.ts +48 -6
  131. package/dist/components/smart-filter/model.d.ts +31 -11
  132. package/dist/components/sparkline/Sparkline.d.ts +19 -4
  133. package/dist/components/spinner/Spinner.d.ts +4 -3
  134. package/dist/components/stepper/Stepper.d.ts +2 -2
  135. package/dist/components/switch/Switch.d.ts +14 -4
  136. package/dist/components/tabs/Tabs.d.ts +5 -3
  137. package/dist/components/tag-select/TagOptionMenu.d.ts +6 -2
  138. package/dist/components/tag-select/TagSelect.d.ts +27 -9
  139. package/dist/components/tag-select/VirtualOptions.d.ts +24 -0
  140. package/dist/components/textarea/Textarea.d.ts +48 -2
  141. package/dist/components/thumbnail/Thumbnail.d.ts +48 -6
  142. package/dist/components/timeline/Timeline.d.ts +1 -1
  143. package/dist/components/tooltip/Tooltip.d.ts +9 -4
  144. package/dist/components/typography/Typography.d.ts +1 -1
  145. package/dist/components/video-note/VideoNote.d.ts +27 -0
  146. package/dist/components/voice-player/VoicePlayer.d.ts +33 -0
  147. package/dist/components/voice-player/getWaveform.d.ts +7 -0
  148. package/dist/hooks/useEdgeOverflow.d.ts +17 -8
  149. package/dist/hooks/useImageStatus.d.ts +10 -10
  150. package/dist/hooks/useModalLayer.d.ts +6 -4
  151. package/dist/hooks/usePosition.d.ts +16 -1
  152. package/dist/hooks/usePresence.d.ts +1 -1
  153. package/dist/hooks/useSwipeDismiss.d.ts +11 -19
  154. package/dist/hooks/useTokenValue.d.ts +10 -0
  155. package/dist/hooks/useUploadQueue.d.ts +60 -0
  156. package/dist/hooks/useVirtualRows.d.ts +74 -0
  157. package/dist/icon-set.d.ts +29 -0
  158. package/dist/{icons.js → icon-set.js} +75 -15
  159. package/dist/icons/Icon.d.ts +6 -5
  160. package/dist/icons/glyph.d.ts +18 -3
  161. package/dist/icons/glyphs/bike.d.ts +2 -0
  162. package/dist/icons/glyphs/captions.d.ts +2 -0
  163. package/dist/icons/glyphs/chart-gantt.d.ts +2 -0
  164. package/dist/icons/glyphs/circle-alert.d.ts +2 -0
  165. package/dist/icons/glyphs/code.d.ts +2 -0
  166. package/dist/icons/glyphs/columns-3.d.ts +2 -0
  167. package/dist/icons/glyphs/crown.d.ts +2 -0
  168. package/dist/icons/glyphs/disc.d.ts +2 -0
  169. package/dist/icons/glyphs/file.d.ts +2 -0
  170. package/dist/icons/glyphs/flag.d.ts +2 -0
  171. package/dist/icons/glyphs/forward.d.ts +2 -0
  172. package/dist/icons/glyphs/fuel.d.ts +2 -0
  173. package/dist/icons/glyphs/funnel.d.ts +2 -0
  174. package/dist/icons/glyphs/globe.d.ts +2 -0
  175. package/dist/icons/glyphs/headset.d.ts +2 -0
  176. package/dist/icons/glyphs/megaphone.d.ts +2 -0
  177. package/dist/icons/glyphs/motorbike.d.ts +2 -0
  178. package/dist/icons/glyphs/pin.d.ts +2 -0
  179. package/dist/icons/glyphs/reply.d.ts +2 -0
  180. package/dist/icons/glyphs/scale.d.ts +2 -0
  181. package/dist/icons/glyphs/star.d.ts +2 -0
  182. package/dist/icons/glyphs/strikethrough.d.ts +2 -0
  183. package/dist/icons/glyphs/text-quote.d.ts +2 -0
  184. package/dist/icons/glyphs/trophy.d.ts +2 -0
  185. package/dist/icons/glyphs/video.d.ts +2 -0
  186. package/dist/icons/glyphs/volume-2.d.ts +2 -0
  187. package/dist/icons/glyphs/volume-x.d.ts +2 -0
  188. package/dist/icons/glyphs/zoom-in.d.ts +2 -0
  189. package/dist/icons/glyphs/zoom-out.d.ts +2 -0
  190. package/dist/icons/index.d.ts +1 -1
  191. package/dist/icons/registry.d.ts +59 -0
  192. package/dist/index.css +1 -13089
  193. package/dist/index.d.ts +7 -2
  194. package/dist/index.js +57 -9
  195. package/dist/internal/AnchorRectContext.d.ts +9 -0
  196. package/dist/internal/ChoiceField.d.ts +2 -2
  197. package/dist/internal/ControlSizeContext.d.ts +1 -1
  198. package/dist/internal/Disclosure.d.ts +15 -0
  199. package/dist/internal/FieldAction.d.ts +38 -0
  200. package/dist/internal/FieldCommit.d.ts +46 -0
  201. package/dist/internal/FieldFrame.d.ts +1 -1
  202. package/dist/internal/HighlightMatch.d.ts +5 -3
  203. package/dist/internal/MorphText.d.ts +3 -2
  204. package/dist/internal/ProgressLegend.d.ts +18 -0
  205. package/dist/internal/VisuallyHidden.d.ts +5 -1
  206. package/dist/internal/attachmentTile.d.ts +64 -0
  207. package/dist/internal/attachmentTile.module.css.d.ts +2 -0
  208. package/dist/internal/disabledContext.d.ts +7 -0
  209. package/dist/internal/edgeAutoScroll.d.ts +30 -0
  210. package/dist/internal/fileFormat.d.ts +5 -0
  211. package/dist/internal/fileName.d.ts +9 -0
  212. package/dist/internal/fileSize.d.ts +2 -0
  213. package/dist/internal/formatClock.d.ts +2 -0
  214. package/dist/internal/glyphSwap.d.ts +19 -0
  215. package/dist/internal/iconBox.module.css.d.ts +2 -0
  216. package/dist/internal/imageSlot.d.ts +3 -1
  217. package/dist/internal/leaveInPlace.d.ts +9 -0
  218. package/dist/internal/listbox.d.ts +19 -0
  219. package/dist/internal/mediaDisk.d.ts +14 -0
  220. package/dist/internal/mediaFrame.d.ts +2 -0
  221. package/dist/internal/mediaKind.d.ts +7 -0
  222. package/dist/internal/mediaPlayer.d.ts +135 -0
  223. package/dist/internal/mediaSession.d.ts +13 -0
  224. package/dist/internal/messageList.d.ts +121 -0
  225. package/dist/internal/messagePart.d.ts +106 -0
  226. package/dist/internal/overlay/FloatingPanel.d.ts +1 -1
  227. package/dist/internal/overlay/focus.d.ts +23 -2
  228. package/dist/internal/overlay/useFloatingLayer.d.ts +2 -2
  229. package/dist/internal/palette.d.ts +7 -0
  230. package/dist/internal/progressSegments.d.ts +39 -2
  231. package/dist/internal/readReceipts.d.ts +11 -0
  232. package/dist/internal/richText.d.ts +40 -0
  233. package/dist/internal/ring.d.ts +64 -0
  234. package/dist/internal/sticky.d.ts +2 -0
  235. package/dist/internal/surfaceDepth.d.ts +2 -0
  236. package/dist/internal/transcript.d.ts +73 -0
  237. package/dist/internal/transfer.d.ts +79 -0
  238. package/dist/internal/transferDisk.d.ts +76 -0
  239. package/dist/internal/useNearView.d.ts +7 -0
  240. package/dist/internal/usePendingChanges.d.ts +18 -0
  241. package/dist/internal/useRangeSelection.d.ts +41 -0
  242. package/dist/layout/app-header/AppHeader.d.ts +21 -3
  243. package/dist/layout/bottom-nav/BottomNav.d.ts +27 -7
  244. package/dist/layout/index.d.ts +2 -2
  245. package/dist/layout/sidebar/Sidebar.d.ts +1 -1
  246. package/dist/skill/SKILL.md +130 -0
  247. package/dist/skill/anti-slop.md +224 -0
  248. package/dist/skill/api-contract.md +295 -0
  249. package/dist/skill/cheatsheet.md +317 -0
  250. package/dist/skill/checklist.md +91 -0
  251. package/dist/skill/choosing.md +164 -0
  252. package/dist/skill/components.md +177 -0
  253. package/dist/skill/composition.md +312 -0
  254. package/dist/skill/foundations.md +186 -0
  255. package/dist/skill/layouts.md +262 -0
  256. package/dist/skill/motion.md +211 -0
  257. package/dist/skill/patterns/chat.module.css +33 -0
  258. package/dist/skill/patterns/chat.tsx +838 -0
  259. package/dist/skill/patterns/dashboard.module.css +44 -0
  260. package/dist/skill/patterns/dashboard.tsx +326 -0
  261. package/dist/skill/patterns/detail-page.module.css +74 -0
  262. package/dist/skill/patterns/detail-page.tsx +209 -0
  263. package/dist/skill/patterns/form-drawer.module.css +14 -0
  264. package/dist/skill/patterns/form-drawer.tsx +240 -0
  265. package/dist/skill/patterns/list-page.module.css +19 -0
  266. package/dist/skill/patterns/list-page.tsx +334 -0
  267. package/dist/skill/patterns/screen-states.module.css +54 -0
  268. package/dist/skill/patterns/screen-states.tsx +186 -0
  269. package/dist/skill/patterns/settings-page.module.css +47 -0
  270. package/dist/skill/patterns/settings-page.tsx +217 -0
  271. package/dist/skill/reference/components/accordion/COMPONENT.md +175 -0
  272. package/dist/skill/reference/components/accordion/examples/collapsible.tsx +27 -0
  273. package/dist/skill/reference/components/accordion/examples/controlled.tsx +36 -0
  274. package/dist/skill/reference/components/accordion/examples/examples.module.css +10 -0
  275. package/dist/skill/reference/components/accordion/examples/multiple.tsx +31 -0
  276. package/dist/skill/reference/components/accordion/examples/overview.tsx +39 -0
  277. package/dist/skill/reference/components/accordion/examples/sizes.tsx +28 -0
  278. package/dist/skill/reference/components/accordion/examples/states.tsx +31 -0
  279. package/dist/skill/reference/components/accordion/examples/variants.tsx +35 -0
  280. package/dist/skill/reference/components/accordion/examples/with-icon.tsx +47 -0
  281. package/dist/skill/reference/components/avatar/COMPONENT.md +166 -0
  282. package/dist/skill/reference/components/avatar/examples/examples.module.css +25 -0
  283. package/dist/skill/reference/components/avatar/examples/overview.tsx +18 -0
  284. package/dist/skill/reference/components/avatar/examples/presence.tsx +47 -0
  285. package/dist/skill/reference/components/avatar/examples/sizes.tsx +21 -0
  286. package/dist/skill/reference/components/avatar/examples/src-from-state.tsx +30 -0
  287. package/dist/skill/reference/components/avatar/examples/states.tsx +39 -0
  288. package/dist/skill/reference/components/avatar/examples/team-group.tsx +41 -0
  289. package/dist/skill/reference/components/avatar/examples/variants.tsx +40 -0
  290. package/dist/skill/reference/components/badge/COMPONENT.md +193 -0
  291. package/dist/skill/reference/components/badge/examples/applied-filters.tsx +47 -0
  292. package/dist/skill/reference/components/badge/examples/examples.module.css +32 -0
  293. package/dist/skill/reference/components/badge/examples/filter-values.tsx +39 -0
  294. package/dist/skill/reference/components/badge/examples/in-controls.tsx +23 -0
  295. package/dist/skill/reference/components/badge/examples/overview.tsx +13 -0
  296. package/dist/skill/reference/components/badge/examples/server-tags.tsx +61 -0
  297. package/dist/skill/reference/components/badge/examples/sizes.tsx +21 -0
  298. package/dist/skill/reference/components/badge/examples/states.tsx +59 -0
  299. package/dist/skill/reference/components/badge/examples/variants.tsx +38 -0
  300. package/dist/skill/reference/components/badge/examples/with-icon.tsx +50 -0
  301. package/dist/skill/reference/components/banner/COMPONENT.md +165 -0
  302. package/dist/skill/reference/components/banner/examples/dismissible.tsx +38 -0
  303. package/dist/skill/reference/components/banner/examples/examples.module.css +32 -0
  304. package/dist/skill/reference/components/banner/examples/narrow.tsx +23 -0
  305. package/dist/skill/reference/components/banner/examples/overview.tsx +18 -0
  306. package/dist/skill/reference/components/banner/examples/page-strip.tsx +53 -0
  307. package/dist/skill/reference/components/banner/examples/sizes.tsx +29 -0
  308. package/dist/skill/reference/components/banner/examples/structure.tsx +45 -0
  309. package/dist/skill/reference/components/banner/examples/variants.tsx +43 -0
  310. package/dist/skill/reference/components/breadcrumb/COMPONENT.md +137 -0
  311. package/dist/skill/reference/components/breadcrumb/examples/ellipsis.tsx +12 -0
  312. package/dist/skill/reference/components/breadcrumb/examples/examples.module.css +11 -0
  313. package/dist/skill/reference/components/breadcrumb/examples/overflow.tsx +26 -0
  314. package/dist/skill/reference/components/breadcrumb/examples/overview.tsx +12 -0
  315. package/dist/skill/reference/components/breadcrumb/examples/sizes.tsx +24 -0
  316. package/dist/skill/reference/components/breadcrumb/examples/with-icon.tsx +14 -0
  317. package/dist/skill/reference/components/button/COMPONENT.md +211 -0
  318. package/dist/skill/reference/components/button/examples/as-child.tsx +15 -0
  319. package/dist/skill/reference/components/button/examples/circle.tsx +67 -0
  320. package/dist/skill/reference/components/button/examples/download.tsx +45 -0
  321. package/dist/skill/reference/components/button/examples/examples.module.css +54 -0
  322. package/dist/skill/reference/components/button/examples/hold-to-confirm.tsx +34 -0
  323. package/dist/skill/reference/components/button/examples/in-form.tsx +45 -0
  324. package/dist/skill/reference/components/button/examples/label-morph.tsx +38 -0
  325. package/dist/skill/reference/components/button/examples/on-colored-host.tsx +29 -0
  326. package/dist/skill/reference/components/button/examples/over-media.tsx +36 -0
  327. package/dist/skill/reference/components/button/examples/overview.tsx +13 -0
  328. package/dist/skill/reference/components/button/examples/sizes.tsx +19 -0
  329. package/dist/skill/reference/components/button/examples/states.tsx +38 -0
  330. package/dist/skill/reference/components/button/examples/toggle.tsx +21 -0
  331. package/dist/skill/reference/components/button/examples/variants.tsx +32 -0
  332. package/dist/skill/reference/components/button/examples/with-icon.tsx +41 -0
  333. package/dist/skill/reference/components/button-group/COMPONENT.md +172 -0
  334. package/dist/skill/reference/components/button-group/examples/controlled.tsx +29 -0
  335. package/dist/skill/reference/components/button-group/examples/examples.module.css +8 -0
  336. package/dist/skill/reference/components/button-group/examples/full-width.tsx +19 -0
  337. package/dist/skill/reference/components/button-group/examples/in-form.tsx +55 -0
  338. package/dist/skill/reference/components/button-group/examples/orientation.tsx +19 -0
  339. package/dist/skill/reference/components/button-group/examples/overview.tsx +12 -0
  340. package/dist/skill/reference/components/button-group/examples/sizes.tsx +22 -0
  341. package/dist/skill/reference/components/button-group/examples/states.tsx +33 -0
  342. package/dist/skill/reference/components/button-group/examples/with-icon.tsx +45 -0
  343. package/dist/skill/reference/components/card/COMPONENT.md +218 -0
  344. package/dist/skill/reference/components/card/examples/content-templates.tsx +67 -0
  345. package/dist/skill/reference/components/card/examples/examples.module.css +84 -0
  346. package/dist/skill/reference/components/card/examples/flat.tsx +25 -0
  347. package/dist/skill/reference/components/card/examples/interactive.tsx +28 -0
  348. package/dist/skill/reference/components/card/examples/kpi-media.tsx +42 -0
  349. package/dist/skill/reference/components/card/examples/narrow.tsx +47 -0
  350. package/dist/skill/reference/components/card/examples/overview.tsx +39 -0
  351. package/dist/skill/reference/components/card/examples/panel-chart.tsx +44 -0
  352. package/dist/skill/reference/components/card/examples/variants.tsx +40 -0
  353. package/dist/skill/reference/components/chart-frame/COMPONENT.md +265 -0
  354. package/dist/skill/reference/components/chart-frame/examples/controlled.tsx +92 -0
  355. package/dist/skill/reference/components/chart-frame/examples/examples.module.css +6 -0
  356. package/dist/skill/reference/components/chart-frame/examples/narrow.tsx +46 -0
  357. package/dist/skill/reference/components/chart-frame/examples/overview.tsx +127 -0
  358. package/dist/skill/reference/components/chart-frame/examples/states.tsx +78 -0
  359. package/dist/skill/reference/components/chart-frame/examples/tooltip.tsx +158 -0
  360. package/dist/skill/reference/components/chat/COMPONENT.md +336 -0
  361. package/dist/skill/reference/components/chat/examples/controlled.tsx +68 -0
  362. package/dist/skill/reference/components/chat/examples/examples.module.css +38 -0
  363. package/dist/skill/reference/components/chat/examples/group-chat.tsx +130 -0
  364. package/dist/skill/reference/components/chat/examples/live.tsx +89 -0
  365. package/dist/skill/reference/components/chat/examples/narrow.tsx +46 -0
  366. package/dist/skill/reference/components/chat/examples/overview.tsx +839 -0
  367. package/dist/skill/reference/components/chat/examples/search.tsx +61 -0
  368. package/dist/skill/reference/components/chat/examples/structure.tsx +28 -0
  369. package/dist/skill/reference/components/checkbox/COMPONENT.md +171 -0
  370. package/dist/skill/reference/components/checkbox/examples/controlled.tsx +41 -0
  371. package/dist/skill/reference/components/checkbox/examples/examples.module.css +69 -0
  372. package/dist/skill/reference/components/checkbox/examples/in-form.tsx +34 -0
  373. package/dist/skill/reference/components/checkbox/examples/indicator.tsx +54 -0
  374. package/dist/skill/reference/components/checkbox/examples/overview.tsx +10 -0
  375. package/dist/skill/reference/components/checkbox/examples/sizes.tsx +18 -0
  376. package/dist/skill/reference/components/checkbox/examples/states.tsx +48 -0
  377. package/dist/skill/reference/components/checkbox/examples/variants.tsx +30 -0
  378. package/dist/skill/reference/components/checkbox/examples/without-label.tsx +13 -0
  379. package/dist/skill/reference/components/code-block/COMPONENT.md +108 -0
  380. package/dist/skill/reference/components/code-block/examples/color-scheme.tsx +16 -0
  381. package/dist/skill/reference/components/code-block/examples/examples.module.css +21 -0
  382. package/dist/skill/reference/components/code-block/examples/narrow.tsx +14 -0
  383. package/dist/skill/reference/components/code-block/examples/overview.tsx +19 -0
  384. package/dist/skill/reference/components/code-block/examples/variants.tsx +21 -0
  385. package/dist/skill/reference/components/color-field/COMPONENT.md +163 -0
  386. package/dist/skill/reference/components/color-field/examples/controlled.tsx +33 -0
  387. package/dist/skill/reference/components/color-field/examples/examples.module.css +22 -0
  388. package/dist/skill/reference/components/color-field/examples/in-form.tsx +45 -0
  389. package/dist/skill/reference/components/color-field/examples/overview.tsx +6 -0
  390. package/dist/skill/reference/components/color-field/examples/presets.tsx +20 -0
  391. package/dist/skill/reference/components/color-field/examples/sizes.tsx +14 -0
  392. package/dist/skill/reference/components/color-field/examples/states.tsx +12 -0
  393. package/dist/skill/reference/components/color-field/examples/validation.tsx +29 -0
  394. package/dist/skill/reference/components/color-picker/COMPONENT.md +339 -0
  395. package/dist/skill/reference/components/color-picker/examples/controlled.tsx +37 -0
  396. package/dist/skill/reference/components/color-picker/examples/examples.module.css +48 -0
  397. package/dist/skill/reference/components/color-picker/examples/formats.tsx +26 -0
  398. package/dist/skill/reference/components/color-picker/examples/in-form.tsx +52 -0
  399. package/dist/skill/reference/components/color-picker/examples/overview.tsx +37 -0
  400. package/dist/skill/reference/components/color-picker/examples/panel.tsx +41 -0
  401. package/dist/skill/reference/components/color-picker/examples/presets-sizes.tsx +28 -0
  402. package/dist/skill/reference/components/color-picker/examples/presets.tsx +35 -0
  403. package/dist/skill/reference/components/color-picker/examples/sizes.tsx +26 -0
  404. package/dist/skill/reference/components/color-picker/examples/states.tsx +22 -0
  405. package/dist/skill/reference/components/color-picker/examples/validation.tsx +24 -0
  406. package/dist/skill/reference/components/color-swatches/COMPONENT.md +146 -0
  407. package/dist/skill/reference/components/color-swatches/examples/controlled.tsx +22 -0
  408. package/dist/skill/reference/components/color-swatches/examples/examples.module.css +19 -0
  409. package/dist/skill/reference/components/color-swatches/examples/in-form.tsx +41 -0
  410. package/dist/skill/reference/components/color-swatches/examples/overview.tsx +6 -0
  411. package/dist/skill/reference/components/color-swatches/examples/sizes.tsx +19 -0
  412. package/dist/skill/reference/components/color-swatches/examples/states.tsx +20 -0
  413. package/dist/skill/reference/components/color-swatches/examples/wrapping.tsx +12 -0
  414. package/dist/skill/reference/components/command-menu/COMPONENT.md +225 -0
  415. package/dist/skill/reference/components/command-menu/examples/controlled-open.tsx +29 -0
  416. package/dist/skill/reference/components/command-menu/examples/controlled.tsx +42 -0
  417. package/dist/skill/reference/components/command-menu/examples/dismiss.tsx +39 -0
  418. package/dist/skill/reference/components/command-menu/examples/load-error.tsx +65 -0
  419. package/dist/skill/reference/components/command-menu/examples/overview.tsx +61 -0
  420. package/dist/skill/reference/components/command-menu/examples/server-search.tsx +91 -0
  421. package/dist/skill/reference/components/command-menu/examples/sizes.tsx +53 -0
  422. package/dist/skill/reference/components/command-menu/examples/states.tsx +48 -0
  423. package/dist/skill/reference/components/command-menu/examples/structure.tsx +54 -0
  424. package/dist/skill/reference/components/composer/COMPONENT.md +310 -0
  425. package/dist/skill/reference/components/composer/examples/attachments.tsx +36 -0
  426. package/dist/skill/reference/components/composer/examples/controlled.tsx +46 -0
  427. package/dist/skill/reference/components/composer/examples/examples.module.css +30 -0
  428. package/dist/skill/reference/components/composer/examples/formatting.tsx +15 -0
  429. package/dist/skill/reference/components/composer/examples/narrow.tsx +22 -0
  430. package/dist/skill/reference/components/composer/examples/overview.tsx +39 -0
  431. package/dist/skill/reference/components/composer/examples/reply-edit.tsx +68 -0
  432. package/dist/skill/reference/components/composer/examples/sizes.tsx +23 -0
  433. package/dist/skill/reference/components/composer/examples/states.tsx +31 -0
  434. package/dist/skill/reference/components/composer/examples/typing.tsx +24 -0
  435. package/dist/skill/reference/components/composer/examples/voice.tsx +21 -0
  436. package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +124 -0
  437. package/dist/skill/reference/components/confirm-dialog/examples/controlled-open.tsx +35 -0
  438. package/dist/skill/reference/components/confirm-dialog/examples/failure.tsx +37 -0
  439. package/dist/skill/reference/components/confirm-dialog/examples/overview.tsx +24 -0
  440. package/dist/skill/reference/components/confirm-dialog/examples/variants.tsx +44 -0
  441. package/dist/skill/reference/components/crossfade/COMPONENT.md +118 -0
  442. package/dist/skill/reference/components/crossfade/examples/examples.module.css +93 -0
  443. package/dist/skill/reference/components/crossfade/examples/fill.tsx +79 -0
  444. package/dist/skill/reference/components/crossfade/examples/overview.tsx +102 -0
  445. package/dist/skill/reference/components/crossfade/examples/record-switch.tsx +67 -0
  446. package/dist/skill/reference/components/data-table/COMPONENT.md +366 -0
  447. package/dist/skill/reference/components/data-table/examples/appearance.tsx +62 -0
  448. package/dist/skill/reference/components/data-table/examples/columns-visibility.tsx +151 -0
  449. package/dist/skill/reference/components/data-table/examples/content-width.tsx +65 -0
  450. package/dist/skill/reference/components/data-table/examples/controlled.tsx +56 -0
  451. package/dist/skill/reference/components/data-table/examples/detail-panel.tsx +101 -0
  452. package/dist/skill/reference/components/data-table/examples/examples.module.css +86 -0
  453. package/dist/skill/reference/components/data-table/examples/fill-height.tsx +55 -0
  454. package/dist/skill/reference/components/data-table/examples/groups.tsx +73 -0
  455. package/dist/skill/reference/components/data-table/examples/heatmap.tsx +44 -0
  456. package/dist/skill/reference/components/data-table/examples/infinite-scroll.tsx +53 -0
  457. package/dist/skill/reference/components/data-table/examples/narrow.tsx +50 -0
  458. package/dist/skill/reference/components/data-table/examples/nested-rows.tsx +128 -0
  459. package/dist/skill/reference/components/data-table/examples/numeric.tsx +41 -0
  460. package/dist/skill/reference/components/data-table/examples/overview.tsx +54 -0
  461. package/dist/skill/reference/components/data-table/examples/reorder.tsx +61 -0
  462. package/dist/skill/reference/components/data-table/examples/row-link.tsx +100 -0
  463. package/dist/skill/reference/components/data-table/examples/row-open.tsx +129 -0
  464. package/dist/skill/reference/components/data-table/examples/selection.tsx +60 -0
  465. package/dist/skill/reference/components/data-table/examples/server.tsx +181 -0
  466. package/dist/skill/reference/components/data-table/examples/sizes.tsx +56 -0
  467. package/dist/skill/reference/components/data-table/examples/states.tsx +50 -0
  468. package/dist/skill/reference/components/data-table/examples/sticky.tsx +54 -0
  469. package/dist/skill/reference/components/data-table/examples/toolbar.tsx +124 -0
  470. package/dist/skill/reference/components/datepicker/COMPONENT.md +228 -0
  471. package/dist/skill/reference/components/datepicker/examples/controlled-open.tsx +32 -0
  472. package/dist/skill/reference/components/datepicker/examples/controlled.tsx +39 -0
  473. package/dist/skill/reference/components/datepicker/examples/examples.module.css +26 -0
  474. package/dist/skill/reference/components/datepicker/examples/in-form.tsx +74 -0
  475. package/dist/skill/reference/components/datepicker/examples/inline-panel.tsx +14 -0
  476. package/dist/skill/reference/components/datepicker/examples/narrow.tsx +14 -0
  477. package/dist/skill/reference/components/datepicker/examples/overview.tsx +6 -0
  478. package/dist/skill/reference/components/datepicker/examples/range-presets.tsx +22 -0
  479. package/dist/skill/reference/components/datepicker/examples/sizes.tsx +22 -0
  480. package/dist/skill/reference/components/datepicker/examples/states.tsx +20 -0
  481. package/dist/skill/reference/components/datepicker/examples/validation.tsx +36 -0
  482. package/dist/skill/reference/components/datepicker/examples/yearless.tsx +20 -0
  483. package/dist/skill/reference/components/description-list/COMPONENT.md +132 -0
  484. package/dist/skill/reference/components/description-list/examples/examples.module.css +41 -0
  485. package/dist/skill/reference/components/description-list/examples/narrow.tsx +20 -0
  486. package/dist/skill/reference/components/description-list/examples/overview.tsx +35 -0
  487. package/dist/skill/reference/components/description-list/examples/sizes.tsx +24 -0
  488. package/dist/skill/reference/components/description-list/examples/structure.tsx +29 -0
  489. package/dist/skill/reference/components/description-list/examples/vertical.tsx +21 -0
  490. package/dist/skill/reference/components/digit-input/COMPONENT.md +165 -0
  491. package/dist/skill/reference/components/digit-input/examples/controlled.tsx +23 -0
  492. package/dist/skill/reference/components/digit-input/examples/examples.module.css +25 -0
  493. package/dist/skill/reference/components/digit-input/examples/full-width.tsx +13 -0
  494. package/dist/skill/reference/components/digit-input/examples/grouped.tsx +11 -0
  495. package/dist/skill/reference/components/digit-input/examples/in-form.tsx +50 -0
  496. package/dist/skill/reference/components/digit-input/examples/on-complete.tsx +33 -0
  497. package/dist/skill/reference/components/digit-input/examples/overview.tsx +6 -0
  498. package/dist/skill/reference/components/digit-input/examples/sizes.tsx +14 -0
  499. package/dist/skill/reference/components/digit-input/examples/states.tsx +11 -0
  500. package/dist/skill/reference/components/digit-input/examples/validation.tsx +24 -0
  501. package/dist/skill/reference/components/divider/COMPONENT.md +113 -0
  502. package/dist/skill/reference/components/divider/examples/align.tsx +14 -0
  503. package/dist/skill/reference/components/divider/examples/examples.module.css +30 -0
  504. package/dist/skill/reference/components/divider/examples/or-separator.tsx +19 -0
  505. package/dist/skill/reference/components/divider/examples/overview.tsx +30 -0
  506. package/dist/skill/reference/components/divider/examples/sizes.tsx +19 -0
  507. package/dist/skill/reference/components/divider/examples/vertical.tsx +21 -0
  508. package/dist/skill/reference/components/divider/examples/with-icon.tsx +26 -0
  509. package/dist/skill/reference/components/dnd/COMPONENT.md +260 -0
  510. package/dist/skill/reference/components/dnd/examples/board.tsx +91 -0
  511. package/dist/skill/reference/components/dnd/examples/drop-zones.tsx +82 -0
  512. package/dist/skill/reference/components/dnd/examples/examples.module.css +112 -0
  513. package/dist/skill/reference/components/dnd/examples/grid.tsx +48 -0
  514. package/dist/skill/reference/components/dnd/examples/handle.tsx +58 -0
  515. package/dist/skill/reference/components/dnd/examples/locked.tsx +57 -0
  516. package/dist/skill/reference/components/dnd/examples/narrow.tsx +42 -0
  517. package/dist/skill/reference/components/dnd/examples/overview.tsx +45 -0
  518. package/dist/skill/reference/components/drawer/COMPONENT.md +229 -0
  519. package/dist/skill/reference/components/drawer/examples/controlled-open.tsx +40 -0
  520. package/dist/skill/reference/components/drawer/examples/dismiss.tsx +55 -0
  521. package/dist/skill/reference/components/drawer/examples/examples.module.css +21 -0
  522. package/dist/skill/reference/components/drawer/examples/guard.tsx +80 -0
  523. package/dist/skill/reference/components/drawer/examples/header-actions.tsx +63 -0
  524. package/dist/skill/reference/components/drawer/examples/in-form.tsx +87 -0
  525. package/dist/skill/reference/components/drawer/examples/long-content.tsx +40 -0
  526. package/dist/skill/reference/components/drawer/examples/overview.tsx +56 -0
  527. package/dist/skill/reference/components/drawer/examples/placement.tsx +40 -0
  528. package/dist/skill/reference/components/drawer/examples/sizes.tsx +43 -0
  529. package/dist/skill/reference/components/drawer/examples/structure.tsx +35 -0
  530. package/dist/skill/reference/components/dropdown/COMPONENT.md +235 -0
  531. package/dist/skill/reference/components/dropdown/examples/checkbox-items.tsx +48 -0
  532. package/dist/skill/reference/components/dropdown/examples/controlled-open.tsx +32 -0
  533. package/dist/skill/reference/components/dropdown/examples/dismiss.tsx +17 -0
  534. package/dist/skill/reference/components/dropdown/examples/examples.module.css +22 -0
  535. package/dist/skill/reference/components/dropdown/examples/item-description.tsx +30 -0
  536. package/dist/skill/reference/components/dropdown/examples/link-items.tsx +29 -0
  537. package/dist/skill/reference/components/dropdown/examples/long-list.tsx +42 -0
  538. package/dist/skill/reference/components/dropdown/examples/match-trigger-width.tsx +23 -0
  539. package/dist/skill/reference/components/dropdown/examples/overview.tsx +41 -0
  540. package/dist/skill/reference/components/dropdown/examples/placement.tsx +33 -0
  541. package/dist/skill/reference/components/dropdown/examples/sizes.tsx +43 -0
  542. package/dist/skill/reference/components/dropdown/examples/states.tsx +35 -0
  543. package/dist/skill/reference/components/dropdown/examples/structure.tsx +56 -0
  544. package/dist/skill/reference/components/empty-page/COMPONENT.md +167 -0
  545. package/dist/skill/reference/components/empty-page/examples/compact.tsx +23 -0
  546. package/dist/skill/reference/components/empty-page/examples/data-region.tsx +32 -0
  547. package/dist/skill/reference/components/empty-page/examples/examples.module.css +54 -0
  548. package/dist/skill/reference/components/empty-page/examples/narrow.tsx +26 -0
  549. package/dist/skill/reference/components/empty-page/examples/overview.tsx +22 -0
  550. package/dist/skill/reference/components/empty-page/examples/region-error.tsx +86 -0
  551. package/dist/skill/reference/components/empty-page/examples/sizes.tsx +25 -0
  552. package/{src/components/empty-page/examples/icon-tones.tsx → dist/skill/reference/components/empty-page/examples/variants.tsx} +10 -9
  553. package/dist/skill/reference/components/example-frame/COMPONENT.md +140 -0
  554. package/dist/skill/reference/components/example-frame/examples/controlled.tsx +42 -0
  555. package/dist/skill/reference/components/example-frame/examples/overview.tsx +16 -0
  556. package/dist/skill/reference/components/fieldset/COMPONENT.md +107 -0
  557. package/dist/skill/reference/components/fieldset/examples/examples.module.css +14 -0
  558. package/dist/skill/reference/components/fieldset/examples/in-form.tsx +59 -0
  559. package/dist/skill/reference/components/fieldset/examples/overview.tsx +22 -0
  560. package/dist/skill/reference/components/fieldset/examples/states.tsx +35 -0
  561. package/dist/skill/reference/components/file-upload/COMPONENT.md +407 -0
  562. package/dist/skill/reference/components/file-upload/examples/attachment-tray.tsx +99 -0
  563. package/dist/skill/reference/components/file-upload/examples/avatar-upload.tsx +56 -0
  564. package/dist/skill/reference/components/file-upload/examples/controlled.tsx +77 -0
  565. package/dist/skill/reference/components/file-upload/examples/custom-body.tsx +44 -0
  566. package/dist/skill/reference/components/file-upload/examples/examples.module.css +122 -0
  567. package/dist/skill/reference/components/file-upload/examples/file-cards.tsx +64 -0
  568. package/dist/skill/reference/components/file-upload/examples/gallery.tsx +104 -0
  569. package/dist/skill/reference/components/file-upload/examples/in-form.tsx +79 -0
  570. package/dist/skill/reference/components/file-upload/examples/narrow.tsx +73 -0
  571. package/dist/skill/reference/components/file-upload/examples/overview.tsx +49 -0
  572. package/dist/skill/reference/components/file-upload/examples/row-parts.tsx +41 -0
  573. package/dist/skill/reference/components/file-upload/examples/saving.tsx +71 -0
  574. package/dist/skill/reference/components/file-upload/examples/sizes.tsx +26 -0
  575. package/dist/skill/reference/components/file-upload/examples/states.tsx +23 -0
  576. package/dist/skill/reference/components/file-upload/examples/validation.tsx +42 -0
  577. package/dist/skill/reference/components/file-upload/examples/variants.tsx +32 -0
  578. package/dist/skill/reference/components/gallery/COMPONENT.md +151 -0
  579. package/dist/skill/reference/components/gallery/examples/controlled-open.tsx +39 -0
  580. package/dist/skill/reference/components/gallery/examples/examples.module.css +14 -0
  581. package/dist/skill/reference/components/gallery/examples/overview.tsx +52 -0
  582. package/dist/skill/reference/components/gallery/examples/transfer.tsx +45 -0
  583. package/dist/skill/reference/components/gantt/COMPONENT.md +224 -0
  584. package/dist/skill/reference/components/gantt/examples/controlled.tsx +72 -0
  585. package/dist/skill/reference/components/gantt/examples/examples.module.css +30 -0
  586. package/dist/skill/reference/components/gantt/examples/large.tsx +96 -0
  587. package/dist/skill/reference/components/gantt/examples/narrow.tsx +54 -0
  588. package/dist/skill/reference/components/gantt/examples/occupancy.tsx +149 -0
  589. package/dist/skill/reference/components/gantt/examples/overview.tsx +82 -0
  590. package/dist/skill/reference/components/gantt/examples/sizes.tsx +48 -0
  591. package/dist/skill/reference/components/gantt/examples/states.tsx +68 -0
  592. package/dist/skill/reference/components/gantt/examples/variants.tsx +82 -0
  593. package/dist/skill/reference/components/hint/COMPONENT.md +113 -0
  594. package/dist/skill/reference/components/hint/examples/examples.module.css +14 -0
  595. package/dist/skill/reference/components/hint/examples/hint-or-error.tsx +27 -0
  596. package/dist/skill/reference/components/hint/examples/overview.tsx +22 -0
  597. package/dist/skill/reference/components/hint/examples/sizes.tsx +19 -0
  598. package/dist/skill/reference/components/hint/examples/states.tsx +27 -0
  599. package/dist/skill/reference/components/hint/examples/with-icon.tsx +31 -0
  600. package/dist/skill/reference/components/input/COMPONENT.md +297 -0
  601. package/dist/skill/reference/components/input/examples/affixes.tsx +22 -0
  602. package/dist/skill/reference/components/input/examples/controlled.tsx +39 -0
  603. package/dist/skill/reference/components/input/examples/edge-actions.tsx +30 -0
  604. package/dist/skill/reference/components/input/examples/examples.module.css +38 -0
  605. package/dist/skill/reference/components/input/examples/in-form.tsx +107 -0
  606. package/dist/skill/reference/components/input/examples/inline-edit.tsx +52 -0
  607. package/dist/skill/reference/components/input/examples/overview.tsx +12 -0
  608. package/dist/skill/reference/components/input/examples/password-strength.tsx +13 -0
  609. package/dist/skill/reference/components/input/examples/sizes.tsx +18 -0
  610. package/dist/skill/reference/components/input/examples/states.tsx +27 -0
  611. package/dist/skill/reference/components/input/examples/validation.tsx +60 -0
  612. package/dist/skill/reference/components/input/examples/with-icon.tsx +25 -0
  613. package/dist/skill/reference/components/input/examples/without-focus-ring.tsx +25 -0
  614. package/dist/skill/reference/components/kanban/COMPONENT.md +239 -0
  615. package/dist/skill/reference/components/kanban/examples/cards.tsx +152 -0
  616. package/dist/skill/reference/components/kanban/examples/columns.tsx +182 -0
  617. package/dist/skill/reference/components/kanban/examples/controlled.tsx +78 -0
  618. package/dist/skill/reference/components/kanban/examples/examples.module.css +37 -0
  619. package/dist/skill/reference/components/kanban/examples/limits.tsx +60 -0
  620. package/dist/skill/reference/components/kanban/examples/narrow.tsx +76 -0
  621. package/dist/skill/reference/components/kanban/examples/overview.tsx +130 -0
  622. package/dist/skill/reference/components/kanban/examples/saving.tsx +83 -0
  623. package/dist/skill/reference/components/kanban/examples/states.tsx +75 -0
  624. package/dist/skill/reference/components/kanban/examples/structure.tsx +76 -0
  625. package/dist/skill/reference/components/kanban/examples/variants.tsx +57 -0
  626. package/dist/skill/reference/components/kbd/COMPONENT.md +99 -0
  627. package/dist/skill/reference/components/kbd/examples/examples.module.css +37 -0
  628. package/dist/skill/reference/components/kbd/examples/in-controls.tsx +34 -0
  629. package/dist/skill/reference/components/kbd/examples/overview.tsx +24 -0
  630. package/dist/skill/reference/components/kbd/examples/shortcut-list.tsx +49 -0
  631. package/dist/skill/reference/components/kbd/examples/sizes.tsx +19 -0
  632. package/dist/skill/reference/components/label/COMPONENT.md +126 -0
  633. package/dist/skill/reference/components/label/examples/examples.module.css +16 -0
  634. package/dist/skill/reference/components/label/examples/overview.tsx +20 -0
  635. package/dist/skill/reference/components/label/examples/sizes.tsx +19 -0
  636. package/dist/skill/reference/components/label/examples/states.tsx +23 -0
  637. package/dist/skill/reference/components/label/examples/structure.tsx +32 -0
  638. package/dist/skill/reference/components/label/examples/with-icon.tsx +31 -0
  639. package/dist/skill/reference/components/link-button/COMPONENT.md +128 -0
  640. package/dist/skill/reference/components/link-button/examples/as-child.tsx +18 -0
  641. package/dist/skill/reference/components/link-button/examples/external-link.tsx +14 -0
  642. package/dist/skill/reference/components/link-button/examples/overview.tsx +11 -0
  643. package/dist/skill/reference/components/link-button/examples/sizes.tsx +21 -0
  644. package/dist/skill/reference/components/link-button/examples/states.tsx +31 -0
  645. package/dist/skill/reference/components/link-button/examples/variants.tsx +21 -0
  646. package/dist/skill/reference/components/link-button/examples/with-icon.tsx +27 -0
  647. package/dist/skill/reference/components/login-form/COMPONENT.md +163 -0
  648. package/dist/skill/reference/components/login-form/examples/examples.module.css +39 -0
  649. package/dist/skill/reference/components/login-form/examples/forgot-password.tsx +39 -0
  650. package/dist/skill/reference/components/login-form/examples/narrow.tsx +32 -0
  651. package/dist/skill/reference/components/login-form/examples/overview.tsx +58 -0
  652. package/dist/skill/reference/components/login-form/examples/register.tsx +80 -0
  653. package/dist/skill/reference/components/login-form/examples/reset-password.tsx +60 -0
  654. package/dist/skill/reference/components/login-form/examples/sizes.tsx +38 -0
  655. package/dist/skill/reference/components/login-form/examples/states.tsx +71 -0
  656. package/dist/skill/reference/components/login-form/examples/structure.tsx +28 -0
  657. package/dist/skill/reference/components/login-form/examples/verification-code.tsx +57 -0
  658. package/dist/skill/reference/components/media-viewer/COMPONENT.md +207 -0
  659. package/dist/skill/reference/components/media-viewer/examples/actions.tsx +86 -0
  660. package/dist/skill/reference/components/media-viewer/examples/controlled-open.tsx +30 -0
  661. package/dist/skill/reference/components/media-viewer/examples/controlled.tsx +54 -0
  662. package/dist/skill/reference/components/media-viewer/examples/dismiss.tsx +34 -0
  663. package/dist/skill/reference/components/media-viewer/examples/examples.module.css +16 -0
  664. package/dist/skill/reference/components/media-viewer/examples/origin.tsx +60 -0
  665. package/dist/skill/reference/components/media-viewer/examples/overview.tsx +75 -0
  666. package/dist/skill/reference/components/media-viewer/examples/thumbnails.tsx +49 -0
  667. package/dist/skill/reference/components/media-viewer/examples/video.tsx +55 -0
  668. package/dist/skill/reference/components/message/COMPONENT.md +444 -0
  669. package/dist/skill/reference/components/message/examples/author.tsx +74 -0
  670. package/dist/skill/reference/components/message/examples/contact.tsx +24 -0
  671. package/dist/skill/reference/components/message/examples/context-menu.tsx +71 -0
  672. package/dist/skill/reference/components/message/examples/examples.module.css +18 -0
  673. package/dist/skill/reference/components/message/examples/file.tsx +79 -0
  674. package/dist/skill/reference/components/message/examples/kinds.tsx +93 -0
  675. package/dist/skill/reference/components/message/examples/link-preview.tsx +17 -0
  676. package/dist/skill/reference/components/message/examples/location.tsx +30 -0
  677. package/dist/skill/reference/components/message/examples/media.tsx +93 -0
  678. package/dist/skill/reference/components/message/examples/narrow.tsx +29 -0
  679. package/dist/skill/reference/components/message/examples/overview.tsx +52 -0
  680. package/dist/skill/reference/components/message/examples/reactions.tsx +73 -0
  681. package/dist/skill/reference/components/message/examples/status.tsx +45 -0
  682. package/dist/skill/reference/components/message/examples/structure.tsx +32 -0
  683. package/dist/skill/reference/components/message/examples/text-formatting.tsx +27 -0
  684. package/dist/skill/reference/components/message/examples/typing.tsx +22 -0
  685. package/dist/skill/reference/components/message/examples/voice.tsx +39 -0
  686. package/dist/skill/reference/components/modal/COMPONENT.md +247 -0
  687. package/dist/skill/reference/components/modal/examples/controlled-open.tsx +33 -0
  688. package/dist/skill/reference/components/modal/examples/custom-container.tsx +29 -0
  689. package/dist/skill/reference/components/modal/examples/dismiss.tsx +54 -0
  690. package/dist/skill/reference/components/modal/examples/examples.module.css +21 -0
  691. package/dist/skill/reference/components/modal/examples/guard.tsx +87 -0
  692. package/dist/skill/reference/components/modal/examples/in-form.tsx +83 -0
  693. package/dist/skill/reference/components/modal/examples/long-content.tsx +52 -0
  694. package/dist/skill/reference/components/modal/examples/overview.tsx +35 -0
  695. package/dist/skill/reference/components/modal/examples/sizes.tsx +48 -0
  696. package/dist/skill/reference/components/modal/examples/structure.tsx +53 -0
  697. package/dist/skill/reference/components/native-select/COMPONENT.md +132 -0
  698. package/dist/skill/reference/components/native-select/examples/controlled.tsx +26 -0
  699. package/dist/skill/reference/components/native-select/examples/examples.module.css +16 -0
  700. package/dist/skill/reference/components/native-select/examples/in-form.tsx +58 -0
  701. package/dist/skill/reference/components/native-select/examples/option-groups.tsx +17 -0
  702. package/dist/skill/reference/components/native-select/examples/overview.tsx +16 -0
  703. package/dist/skill/reference/components/native-select/examples/sizes.tsx +18 -0
  704. package/dist/skill/reference/components/native-select/examples/states.tsx +21 -0
  705. package/dist/skill/reference/components/native-select/examples/validation.tsx +31 -0
  706. package/dist/skill/reference/components/notification/COMPONENT.md +193 -0
  707. package/dist/skill/reference/components/notification/examples/dismiss.tsx +50 -0
  708. package/dist/skill/reference/components/notification/examples/examples.module.css +52 -0
  709. package/dist/skill/reference/components/notification/examples/in-form.tsx +64 -0
  710. package/dist/skill/reference/components/notification/examples/overview.tsx +24 -0
  711. package/dist/skill/reference/components/notification/examples/placement.tsx +66 -0
  712. package/dist/skill/reference/components/notification/examples/sizes.tsx +22 -0
  713. package/dist/skill/reference/components/notification/examples/stacking.tsx +45 -0
  714. package/dist/skill/reference/components/notification/examples/structure.tsx +20 -0
  715. package/dist/skill/reference/components/notification/examples/tones.tsx +25 -0
  716. package/dist/skill/reference/components/notification/examples/undo.tsx +61 -0
  717. package/dist/skill/reference/components/page-content/COMPONENT.md +215 -0
  718. package/dist/skill/reference/components/page-content/examples/examples.module.css +76 -0
  719. package/dist/skill/reference/components/page-content/examples/list-detail.tsx +114 -0
  720. package/dist/skill/reference/components/page-content/examples/narrow.tsx +25 -0
  721. package/dist/skill/reference/components/page-content/examples/overview.tsx +41 -0
  722. package/dist/skill/reference/components/page-content/examples/variants.tsx +39 -0
  723. package/dist/skill/reference/components/page-toolbar/COMPONENT.md +141 -0
  724. package/dist/skill/reference/components/page-toolbar/examples/examples.module.css +16 -0
  725. package/dist/skill/reference/components/page-toolbar/examples/narrow.tsx +103 -0
  726. package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +113 -0
  727. package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +40 -0
  728. package/dist/skill/reference/components/page-toolbar/examples/without-search.tsx +60 -0
  729. package/dist/skill/reference/components/pagination/COMPONENT.md +132 -0
  730. package/dist/skill/reference/components/pagination/examples/controlled.tsx +51 -0
  731. package/dist/skill/reference/components/pagination/examples/examples.module.css +24 -0
  732. package/dist/skill/reference/components/pagination/examples/narrow.tsx +25 -0
  733. package/dist/skill/reference/components/pagination/examples/overflow.tsx +23 -0
  734. package/dist/skill/reference/components/pagination/examples/overview.tsx +6 -0
  735. package/dist/skill/reference/components/pagination/examples/sizes.tsx +19 -0
  736. package/dist/skill/reference/components/popover/COMPONENT.md +183 -0
  737. package/dist/skill/reference/components/popover/examples/controlled-open.tsx +32 -0
  738. package/dist/skill/reference/components/popover/examples/dismiss.tsx +49 -0
  739. package/dist/skill/reference/components/popover/examples/examples.module.css +49 -0
  740. package/dist/skill/reference/components/popover/examples/flush.tsx +47 -0
  741. package/dist/skill/reference/components/popover/examples/from-menu.tsx +56 -0
  742. package/dist/skill/reference/components/popover/examples/in-form.tsx +76 -0
  743. package/dist/skill/reference/components/popover/examples/match-trigger-width.tsx +23 -0
  744. package/dist/skill/reference/components/popover/examples/overview.tsx +43 -0
  745. package/dist/skill/reference/components/popover/examples/placement.tsx +34 -0
  746. package/dist/skill/reference/components/popover/examples/sizes.tsx +36 -0
  747. package/dist/skill/reference/components/popover/examples/structure.tsx +50 -0
  748. package/dist/skill/reference/components/progress-bar/COMPONENT.md +199 -0
  749. package/dist/skill/reference/components/progress-bar/examples/custom-max.tsx +12 -0
  750. package/dist/skill/reference/components/progress-bar/examples/examples.module.css +17 -0
  751. package/dist/skill/reference/components/progress-bar/examples/legend.tsx +28 -0
  752. package/dist/skill/reference/components/progress-bar/examples/milestone.tsx +43 -0
  753. package/dist/skill/reference/components/progress-bar/examples/overview.tsx +12 -0
  754. package/dist/skill/reference/components/progress-bar/examples/ranking.tsx +28 -0
  755. package/dist/skill/reference/components/progress-bar/examples/segments.tsx +32 -0
  756. package/dist/skill/reference/components/progress-bar/examples/sizes.tsx +19 -0
  757. package/dist/skill/reference/components/progress-bar/examples/states.tsx +43 -0
  758. package/dist/skill/reference/components/progress-bar/examples/steps.tsx +35 -0
  759. package/dist/skill/reference/components/progress-bar/examples/variants.tsx +34 -0
  760. package/dist/skill/reference/components/progress-circle/COMPONENT.md +189 -0
  761. package/dist/skill/reference/components/progress-circle/examples/examples.module.css +22 -0
  762. package/dist/skill/reference/components/progress-circle/examples/inner-content.tsx +35 -0
  763. package/dist/skill/reference/components/progress-circle/examples/legend.tsx +33 -0
  764. package/dist/skill/reference/components/progress-circle/examples/overview.tsx +10 -0
  765. package/dist/skill/reference/components/progress-circle/examples/segments.tsx +64 -0
  766. package/dist/skill/reference/components/progress-circle/examples/sizes.tsx +21 -0
  767. package/dist/skill/reference/components/progress-circle/examples/states.tsx +25 -0
  768. package/dist/skill/reference/components/progress-circle/examples/under-way.tsx +54 -0
  769. package/dist/skill/reference/components/progress-circle/examples/variants.tsx +28 -0
  770. package/dist/skill/reference/components/radio/COMPONENT.md +165 -0
  771. package/dist/skill/reference/components/radio/examples/controlled.tsx +30 -0
  772. package/dist/skill/reference/components/radio/examples/group.tsx +23 -0
  773. package/dist/skill/reference/components/radio/examples/orientation.tsx +34 -0
  774. package/dist/skill/reference/components/radio/examples/overview.tsx +18 -0
  775. package/dist/skill/reference/components/radio/examples/sizes.tsx +20 -0
  776. package/dist/skill/reference/components/radio/examples/states.tsx +48 -0
  777. package/dist/skill/reference/components/scroll-container/COMPONENT.md +179 -0
  778. package/dist/skill/reference/components/scroll-container/examples/auto-scroll.tsx +52 -0
  779. package/dist/skill/reference/components/scroll-container/examples/chat.tsx +101 -0
  780. package/dist/skill/reference/components/scroll-container/examples/edges.tsx +43 -0
  781. package/dist/skill/reference/components/scroll-container/examples/examples.module.css +139 -0
  782. package/dist/skill/reference/components/scroll-container/examples/lock.tsx +49 -0
  783. package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +27 -0
  784. package/dist/skill/reference/components/scroll-container/examples/overview.tsx +27 -0
  785. package/dist/skill/reference/components/scroll-container/examples/scrollbar.tsx +52 -0
  786. package/dist/skill/reference/components/scroll-container/examples/snap.tsx +36 -0
  787. package/dist/skill/reference/components/scroll-container/examples/variants.tsx +54 -0
  788. package/dist/skill/reference/components/segmented-control/COMPONENT.md +214 -0
  789. package/dist/skill/reference/components/segmented-control/examples/colors.tsx +18 -0
  790. package/dist/skill/reference/components/segmented-control/examples/controlled.tsx +28 -0
  791. package/dist/skill/reference/components/segmented-control/examples/examples.module.css +20 -0
  792. package/dist/skill/reference/components/segmented-control/examples/full-width.tsx +12 -0
  793. package/dist/skill/reference/components/segmented-control/examples/in-form.tsx +42 -0
  794. package/dist/skill/reference/components/segmented-control/examples/overview.tsx +12 -0
  795. package/dist/skill/reference/components/segmented-control/examples/scroll.tsx +16 -0
  796. package/dist/skill/reference/components/segmented-control/examples/sizes.tsx +22 -0
  797. package/dist/skill/reference/components/segmented-control/examples/states.tsx +47 -0
  798. package/dist/skill/reference/components/segmented-control/examples/two-line.tsx +28 -0
  799. package/dist/skill/reference/components/segmented-control/examples/with-icon.tsx +52 -0
  800. package/dist/skill/reference/components/select/COMPONENT.md +300 -0
  801. package/dist/skill/reference/components/select/examples/clearable.tsx +23 -0
  802. package/dist/skill/reference/components/select/examples/controlled-open.tsx +30 -0
  803. package/dist/skill/reference/components/select/examples/controlled.tsx +34 -0
  804. package/dist/skill/reference/components/select/examples/examples.module.css +35 -0
  805. package/dist/skill/reference/components/select/examples/in-form.tsx +88 -0
  806. package/dist/skill/reference/components/select/examples/load-error.tsx +45 -0
  807. package/dist/skill/reference/components/select/examples/multiple.tsx +26 -0
  808. package/dist/skill/reference/components/select/examples/overview.tsx +17 -0
  809. package/dist/skill/reference/components/select/examples/people.tsx +53 -0
  810. package/dist/skill/reference/components/select/examples/rich-options.tsx +72 -0
  811. package/dist/skill/reference/components/select/examples/searchable.tsx +42 -0
  812. package/dist/skill/reference/components/select/examples/server-search.tsx +93 -0
  813. package/dist/skill/reference/components/select/examples/sizes.tsx +23 -0
  814. package/dist/skill/reference/components/select/examples/states.tsx +67 -0
  815. package/dist/skill/reference/components/select/examples/validation.tsx +46 -0
  816. package/dist/skill/reference/components/select/examples/with-icon.tsx +35 -0
  817. package/dist/skill/reference/components/sheet/COMPONENT.md +216 -0
  818. package/dist/skill/reference/components/sheet/examples/controlled-open.tsx +37 -0
  819. package/dist/skill/reference/components/sheet/examples/dismiss.tsx +42 -0
  820. package/dist/skill/reference/components/sheet/examples/examples.module.css +13 -0
  821. package/dist/skill/reference/components/sheet/examples/in-form.tsx +65 -0
  822. package/dist/skill/reference/components/sheet/examples/overview.tsx +50 -0
  823. package/{src/components/drawer/examples/date-sheet.tsx → dist/skill/reference/components/sheet/examples/structure.tsx} +11 -17
  824. package/dist/skill/reference/components/skeleton/COMPONENT.md +104 -0
  825. package/dist/skill/reference/components/skeleton/examples/examples.module.css +89 -0
  826. package/dist/skill/reference/components/skeleton/examples/form.tsx +20 -0
  827. package/dist/skill/reference/components/skeleton/examples/overview.tsx +21 -0
  828. package/dist/skill/reference/components/skeleton/examples/sizes.tsx +24 -0
  829. package/dist/skill/reference/components/skeleton/examples/with-crossfade.tsx +68 -0
  830. package/dist/skill/reference/components/slider/COMPONENT.md +186 -0
  831. package/dist/skill/reference/components/slider/examples/autosave.tsx +39 -0
  832. package/dist/skill/reference/components/slider/examples/controlled.tsx +39 -0
  833. package/dist/skill/reference/components/slider/examples/examples.module.css +24 -0
  834. package/dist/skill/reference/components/slider/examples/hint-and-error.tsx +33 -0
  835. package/dist/skill/reference/components/slider/examples/orientation.tsx +27 -0
  836. package/dist/skill/reference/components/slider/examples/overview.tsx +6 -0
  837. package/dist/skill/reference/components/slider/examples/range-step.tsx +19 -0
  838. package/dist/skill/reference/components/slider/examples/sizes.tsx +18 -0
  839. package/dist/skill/reference/components/slider/examples/states.tsx +18 -0
  840. package/dist/skill/reference/components/slider/examples/value-format.tsx +32 -0
  841. package/dist/skill/reference/components/slider/examples/variants.tsx +23 -0
  842. package/dist/skill/reference/components/smart-filter/COMPONENT.md +235 -0
  843. package/dist/skill/reference/components/smart-filter/examples/controlled.tsx +48 -0
  844. package/dist/skill/reference/components/smart-filter/examples/examples.module.css +56 -0
  845. package/dist/skill/reference/components/smart-filter/examples/many-values.tsx +53 -0
  846. package/dist/skill/reference/components/smart-filter/examples/narrow.tsx +38 -0
  847. package/dist/skill/reference/components/smart-filter/examples/option-groups.tsx +40 -0
  848. package/dist/skill/reference/components/smart-filter/examples/overview.tsx +109 -0
  849. package/dist/skill/reference/components/smart-filter/examples/ranges.tsx +89 -0
  850. package/dist/skill/reference/components/smart-filter/examples/single-value.tsx +41 -0
  851. package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +33 -0
  852. package/dist/skill/reference/components/sparkline/COMPONENT.md +127 -0
  853. package/dist/skill/reference/components/sparkline/examples/examples.module.css +13 -0
  854. package/dist/skill/reference/components/sparkline/examples/overview.tsx +27 -0
  855. package/dist/skill/reference/components/sparkline/examples/period.tsx +46 -0
  856. package/dist/skill/reference/components/sparkline/examples/signed-bars.tsx +41 -0
  857. package/dist/skill/reference/components/sparkline/examples/states.tsx +30 -0
  858. package/dist/skill/reference/components/sparkline/examples/variants.tsx +29 -0
  859. package/dist/skill/reference/components/spinner/COMPONENT.md +114 -0
  860. package/dist/skill/reference/components/spinner/examples/examples.module.css +20 -0
  861. package/dist/skill/reference/components/spinner/examples/loading-region.tsx +22 -0
  862. package/dist/skill/reference/components/spinner/examples/overview.tsx +15 -0
  863. package/dist/skill/reference/components/spinner/examples/sizes.tsx +19 -0
  864. package/dist/skill/reference/components/spinner/examples/variants.tsx +19 -0
  865. package/dist/skill/reference/components/stepper/COMPONENT.md +176 -0
  866. package/dist/skill/reference/components/stepper/examples/controlled.tsx +46 -0
  867. package/dist/skill/reference/components/stepper/examples/examples.module.css +24 -0
  868. package/dist/skill/reference/components/stepper/examples/narrow.tsx +23 -0
  869. package/dist/skill/reference/components/stepper/examples/orientation.tsx +35 -0
  870. package/dist/skill/reference/components/stepper/examples/overview.tsx +28 -0
  871. package/dist/skill/reference/components/stepper/examples/sizes.tsx +31 -0
  872. package/dist/skill/reference/components/stepper/examples/states.tsx +49 -0
  873. package/dist/skill/reference/components/stepper/examples/with-icon.tsx +29 -0
  874. package/dist/skill/reference/components/switch/COMPONENT.md +147 -0
  875. package/dist/skill/reference/components/switch/examples/controlled.tsx +17 -0
  876. package/dist/skill/reference/components/switch/examples/examples.module.css +30 -0
  877. package/dist/skill/reference/components/switch/examples/in-form.tsx +36 -0
  878. package/dist/skill/reference/components/switch/examples/overview.tsx +10 -0
  879. package/dist/skill/reference/components/switch/examples/saving.tsx +53 -0
  880. package/dist/skill/reference/components/switch/examples/settings-row.tsx +24 -0
  881. package/dist/skill/reference/components/switch/examples/sizes.tsx +18 -0
  882. package/dist/skill/reference/components/switch/examples/states.tsx +48 -0
  883. package/dist/skill/reference/components/tabs/COMPONENT.md +276 -0
  884. package/dist/skill/reference/components/tabs/examples/closable.tsx +48 -0
  885. package/dist/skill/reference/components/tabs/examples/controlled.tsx +33 -0
  886. package/dist/skill/reference/components/tabs/examples/examples.module.css +38 -0
  887. package/dist/skill/reference/components/tabs/examples/in-drawer.tsx +100 -0
  888. package/dist/skill/reference/components/tabs/examples/orientation.tsx +94 -0
  889. package/dist/skill/reference/components/tabs/examples/overflow.tsx +60 -0
  890. package/dist/skill/reference/components/tabs/examples/overview.tsx +30 -0
  891. package/dist/skill/reference/components/tabs/examples/sizes.tsx +30 -0
  892. package/dist/skill/reference/components/tabs/examples/states.tsx +26 -0
  893. package/dist/skill/reference/components/tabs/examples/two-line.tsx +56 -0
  894. package/dist/skill/reference/components/tabs/examples/variants.tsx +40 -0
  895. package/dist/skill/reference/components/tabs/examples/with-icon.tsx +44 -0
  896. package/dist/skill/reference/components/tag-select/COMPONENT.md +179 -0
  897. package/dist/skill/reference/components/tag-select/examples/confirm-delete.tsx +60 -0
  898. package/dist/skill/reference/components/tag-select/examples/controlled-open.tsx +29 -0
  899. package/dist/skill/reference/components/tag-select/examples/controlled.tsx +26 -0
  900. package/dist/skill/reference/components/tag-select/examples/creatable.tsx +49 -0
  901. package/dist/skill/reference/components/tag-select/examples/examples.module.css +16 -0
  902. package/dist/skill/reference/components/tag-select/examples/in-form.tsx +85 -0
  903. package/dist/skill/reference/components/tag-select/examples/manage-tags.tsx +38 -0
  904. package/dist/skill/reference/components/tag-select/examples/many-tags.tsx +20 -0
  905. package/dist/skill/reference/components/tag-select/examples/overview.tsx +21 -0
  906. package/dist/skill/reference/components/tag-select/examples/sizes.tsx +27 -0
  907. package/dist/skill/reference/components/tag-select/examples/states.tsx +24 -0
  908. package/dist/skill/reference/components/tag-select/examples/validation.tsx +40 -0
  909. package/dist/skill/reference/components/textarea/COMPONENT.md +206 -0
  910. package/dist/skill/reference/components/textarea/examples/auto-resize.tsx +28 -0
  911. package/dist/skill/reference/components/textarea/examples/controlled.tsx +21 -0
  912. package/dist/skill/reference/components/textarea/examples/edge-actions.tsx +24 -0
  913. package/dist/skill/reference/components/textarea/examples/examples.module.css +27 -0
  914. package/dist/skill/reference/components/textarea/examples/in-form.tsx +76 -0
  915. package/dist/skill/reference/components/textarea/examples/inline-edit.tsx +42 -0
  916. package/dist/skill/reference/components/textarea/examples/overview.tsx +12 -0
  917. package/dist/skill/reference/components/textarea/examples/sizes.tsx +20 -0
  918. package/dist/skill/reference/components/textarea/examples/states.tsx +21 -0
  919. package/dist/skill/reference/components/textarea/examples/validation.tsx +50 -0
  920. package/dist/skill/reference/components/textarea/examples/without-focus-ring.tsx +12 -0
  921. package/dist/skill/reference/components/thumbnail/COMPONENT.md +191 -0
  922. package/dist/skill/reference/components/thumbnail/examples/controlled.tsx +61 -0
  923. package/dist/skill/reference/components/thumbnail/examples/examples.module.css +76 -0
  924. package/dist/skill/reference/components/thumbnail/examples/full-width.tsx +45 -0
  925. package/dist/skill/reference/components/thumbnail/examples/overview.tsx +27 -0
  926. package/dist/skill/reference/components/thumbnail/examples/pressable.tsx +56 -0
  927. package/dist/skill/reference/components/thumbnail/examples/ratios.tsx +25 -0
  928. package/dist/skill/reference/components/thumbnail/examples/ring.tsx +29 -0
  929. package/dist/skill/reference/components/thumbnail/examples/sizes.tsx +23 -0
  930. package/dist/skill/reference/components/thumbnail/examples/states.tsx +38 -0
  931. package/dist/skill/reference/components/thumbnail/examples/variants.tsx +28 -0
  932. package/dist/skill/reference/components/thumbnail/examples/video.tsx +46 -0
  933. package/dist/skill/reference/components/timeline/COMPONENT.md +181 -0
  934. package/dist/skill/reference/components/timeline/examples/examples.module.css +25 -0
  935. package/dist/skill/reference/components/timeline/examples/links.tsx +28 -0
  936. package/dist/skill/reference/components/timeline/examples/narrow.tsx +41 -0
  937. package/dist/skill/reference/components/timeline/examples/overview.tsx +47 -0
  938. package/dist/skill/reference/components/timeline/examples/sizes.tsx +33 -0
  939. package/dist/skill/reference/components/timeline/examples/structure.tsx +56 -0
  940. package/dist/skill/reference/components/timeline/examples/variants.tsx +56 -0
  941. package/dist/skill/reference/components/tooltip/COMPONENT.md +167 -0
  942. package/dist/skill/reference/components/tooltip/examples/controlled-open.tsx +23 -0
  943. package/dist/skill/reference/components/tooltip/examples/delay.tsx +25 -0
  944. package/dist/skill/reference/components/tooltip/examples/disabled-trigger.tsx +13 -0
  945. package/dist/skill/reference/components/tooltip/examples/examples.module.css +20 -0
  946. package/dist/skill/reference/components/tooltip/examples/long-content.tsx +18 -0
  947. package/dist/skill/reference/components/tooltip/examples/non-interactive-trigger.tsx +31 -0
  948. package/dist/skill/reference/components/tooltip/examples/overview.tsx +17 -0
  949. package/dist/skill/reference/components/tooltip/examples/placement.tsx +30 -0
  950. package/dist/skill/reference/components/tooltip/examples/sizes.tsx +21 -0
  951. package/dist/skill/reference/components/tooltip/examples/toolbar.tsx +35 -0
  952. package/dist/skill/reference/components/typography/COMPONENT.md +126 -0
  953. package/dist/skill/reference/components/typography/examples/article.tsx +36 -0
  954. package/dist/skill/reference/components/typography/examples/examples.module.css +41 -0
  955. package/dist/skill/reference/components/typography/examples/inline-emphasis.tsx +20 -0
  956. package/dist/skill/reference/components/typography/examples/overview.tsx +20 -0
  957. package/dist/skill/reference/components/typography/examples/semantic-tag.tsx +17 -0
  958. package/dist/skill/reference/components/typography/examples/truncate.tsx +19 -0
  959. package/dist/skill/reference/components/typography/examples/variants.tsx +50 -0
  960. package/dist/skill/reference/components/typography/examples/weights.tsx +31 -0
  961. package/dist/skill/reference/components/video-note/COMPONENT.md +173 -0
  962. package/dist/skill/reference/components/video-note/examples/controlled.tsx +28 -0
  963. package/dist/skill/reference/components/video-note/examples/examples.module.css +4 -0
  964. package/dist/skill/reference/components/video-note/examples/in-message.tsx +22 -0
  965. package/dist/skill/reference/components/video-note/examples/overview.tsx +8 -0
  966. package/dist/skill/reference/components/video-note/examples/states.tsx +74 -0
  967. package/dist/skill/reference/components/video-note/examples/transcript.tsx +29 -0
  968. package/dist/skill/reference/components/video-note/examples/transfer.tsx +76 -0
  969. package/dist/skill/reference/components/visually-hidden/COMPONENT.md +81 -0
  970. package/dist/skill/reference/components/visually-hidden/examples/overview.tsx +22 -0
  971. package/dist/skill/reference/components/voice-player/COMPONENT.md +192 -0
  972. package/dist/skill/reference/components/voice-player/examples/call-recording.tsx +34 -0
  973. package/dist/skill/reference/components/voice-player/examples/controlled.tsx +38 -0
  974. package/dist/skill/reference/components/voice-player/examples/examples.module.css +23 -0
  975. package/dist/skill/reference/components/voice-player/examples/in-message.tsx +29 -0
  976. package/dist/skill/reference/components/voice-player/examples/overview.tsx +13 -0
  977. package/dist/skill/reference/components/voice-player/examples/states.tsx +81 -0
  978. package/dist/skill/reference/components/voice-player/examples/transcript.tsx +50 -0
  979. package/dist/skill/reference/components/voice-player/examples/transfer.tsx +88 -0
  980. package/dist/skill/reference/icon-set.ts +530 -0
  981. package/dist/skill/reference/layout/app-header/COMPONENT.md +203 -0
  982. package/dist/skill/reference/layout/app-header/examples/breadcrumbs.tsx +36 -0
  983. package/dist/skill/reference/layout/app-header/examples/examples.module.css +47 -0
  984. package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +70 -0
  985. package/dist/skill/reference/layout/app-header/examples/narrow.tsx +29 -0
  986. package/dist/skill/reference/layout/app-header/examples/overview.tsx +36 -0
  987. package/dist/skill/reference/layout/app-header/examples/page-title.tsx +85 -0
  988. package/dist/skill/reference/layout/app-shell/COMPONENT.md +156 -0
  989. package/dist/skill/reference/layout/app-shell/examples/contained.tsx +30 -0
  990. package/dist/skill/reference/layout/app-shell/examples/examples.module.css +44 -0
  991. package/dist/skill/reference/layout/app-shell/examples/footer.tsx +59 -0
  992. package/dist/skill/reference/layout/app-shell/examples/overview.tsx +83 -0
  993. package/dist/skill/reference/layout/app-shell/examples/template.tsx +54 -0
  994. package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +169 -0
  995. package/dist/skill/reference/layout/bottom-nav/examples/examples.module.css +46 -0
  996. package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +91 -0
  997. package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +89 -0
  998. package/dist/skill/reference/layout/bottom-nav/examples/icon-only.tsx +41 -0
  999. package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +64 -0
  1000. package/dist/skill/reference/layout/bottom-nav/examples/overview.tsx +44 -0
  1001. package/dist/skill/reference/layout/bottom-nav/examples/router.tsx +31 -0
  1002. package/dist/skill/reference/layout/bottom-nav/examples/structure.tsx +47 -0
  1003. package/dist/skill/reference/layout/sidebar/COMPONENT.md +402 -0
  1004. package/dist/skill/reference/layout/sidebar/examples/account.tsx +88 -0
  1005. package/dist/skill/reference/layout/sidebar/examples/brand-header.tsx +45 -0
  1006. package/dist/skill/reference/layout/sidebar/examples/collapsible-groups.tsx +77 -0
  1007. package/dist/skill/reference/layout/sidebar/examples/controlled-open.tsx +55 -0
  1008. package/dist/skill/reference/layout/sidebar/examples/controlled.tsx +68 -0
  1009. package/dist/skill/reference/layout/sidebar/examples/examples.module.css +64 -0
  1010. package/dist/skill/reference/layout/sidebar/examples/nested-items.tsx +74 -0
  1011. package/dist/skill/reference/layout/sidebar/examples/overview.tsx +126 -0
  1012. package/dist/skill/reference/layout/sidebar/examples/router.tsx +33 -0
  1013. package/dist/skill/reference/layout/sidebar/examples/sizes.tsx +39 -0
  1014. package/dist/skill/reference/layout/sidebar/examples/structure.tsx +81 -0
  1015. package/dist/skill/responsive.md +274 -0
  1016. package/dist/theme/chartColors.d.ts +20 -0
  1017. package/dist/tokens/primitives.d.ts +30 -0
  1018. package/dist/tokens/semantic.d.ts +188 -18
  1019. package/dist/tokens/themes/dark.d.ts +41 -2
  1020. package/package.json +14 -10
  1021. package/src/components/accordion/COMPONENT.md +1 -1
  1022. package/src/components/avatar/COMPONENT.md +5 -3
  1023. package/src/components/avatar/examples/presence.tsx +17 -2
  1024. package/src/components/avatar/examples/team-group.tsx +27 -7
  1025. package/src/components/badge/COMPONENT.md +17 -6
  1026. package/src/components/badge/examples/server-tags.tsx +61 -0
  1027. package/src/components/badge/examples/states.tsx +9 -1
  1028. package/src/components/banner/COMPONENT.md +1 -1
  1029. package/src/components/breadcrumb/COMPONENT.md +2 -2
  1030. package/src/components/button/COMPONENT.md +40 -14
  1031. package/src/components/button/examples/circle.tsx +67 -0
  1032. package/src/components/button/examples/examples.module.css +22 -0
  1033. package/src/components/button/examples/hold-to-confirm.tsx +13 -2
  1034. package/src/components/button/examples/over-media.tsx +36 -0
  1035. package/src/components/button/examples/toggle.tsx +21 -0
  1036. package/src/components/button-group/COMPONENT.md +30 -13
  1037. package/src/components/button-group/examples/in-form.tsx +42 -7
  1038. package/src/components/card/COMPONENT.md +37 -13
  1039. package/src/components/card/examples/interactive.tsx +28 -0
  1040. package/src/components/card/examples/panel-chart.tsx +2 -1
  1041. package/src/components/card/examples/variants.tsx +3 -1
  1042. package/src/components/chart-frame/COMPONENT.md +265 -0
  1043. package/src/components/chart-frame/examples/controlled.tsx +92 -0
  1044. package/src/components/chart-frame/examples/examples.module.css +6 -0
  1045. package/src/components/chart-frame/examples/narrow.tsx +46 -0
  1046. package/src/components/chart-frame/examples/overview.tsx +127 -0
  1047. package/src/components/chart-frame/examples/states.tsx +78 -0
  1048. package/src/components/chart-frame/examples/tooltip.tsx +158 -0
  1049. package/src/components/chat/COMPONENT.md +336 -0
  1050. package/src/components/chat/examples/controlled.tsx +68 -0
  1051. package/src/components/chat/examples/examples.module.css +38 -0
  1052. package/src/components/chat/examples/group-chat.tsx +130 -0
  1053. package/src/components/chat/examples/live.tsx +89 -0
  1054. package/src/components/chat/examples/narrow.tsx +46 -0
  1055. package/src/components/chat/examples/overview.tsx +839 -0
  1056. package/src/components/chat/examples/search.tsx +61 -0
  1057. package/src/components/chat/examples/structure.tsx +28 -0
  1058. package/src/components/checkbox/COMPONENT.md +14 -3
  1059. package/src/components/checkbox/examples/variants.tsx +30 -0
  1060. package/src/components/color-field/COMPONENT.md +163 -0
  1061. package/src/components/color-field/examples/controlled.tsx +33 -0
  1062. package/src/components/color-field/examples/examples.module.css +22 -0
  1063. package/src/components/color-field/examples/in-form.tsx +45 -0
  1064. package/src/components/color-field/examples/overview.tsx +6 -0
  1065. package/src/components/color-field/examples/presets.tsx +20 -0
  1066. package/src/components/color-field/examples/sizes.tsx +14 -0
  1067. package/src/components/color-field/examples/states.tsx +12 -0
  1068. package/src/components/color-field/examples/validation.tsx +29 -0
  1069. package/src/components/color-picker/COMPONENT.md +26 -16
  1070. package/src/components/color-picker/examples/overview.tsx +1 -1
  1071. package/src/components/color-picker/examples/presets-sizes.tsx +3 -1
  1072. package/src/components/color-picker/examples/presets.tsx +5 -3
  1073. package/src/components/color-swatches/COMPONENT.md +13 -12
  1074. package/src/components/color-swatches/examples/sizes.tsx +1 -1
  1075. package/src/components/color-swatches/examples/wrapping.tsx +1 -1
  1076. package/src/components/command-menu/COMPONENT.md +46 -17
  1077. package/src/components/command-menu/examples/controlled.tsx +3 -3
  1078. package/src/components/command-menu/examples/load-error.tsx +65 -0
  1079. package/src/components/command-menu/examples/server-search.tsx +91 -0
  1080. package/src/components/composer/COMPONENT.md +310 -0
  1081. package/src/components/composer/examples/attachments.tsx +36 -0
  1082. package/src/components/composer/examples/controlled.tsx +46 -0
  1083. package/src/components/composer/examples/examples.module.css +30 -0
  1084. package/src/components/composer/examples/formatting.tsx +15 -0
  1085. package/src/components/composer/examples/narrow.tsx +22 -0
  1086. package/src/components/composer/examples/overview.tsx +39 -0
  1087. package/src/components/composer/examples/reply-edit.tsx +68 -0
  1088. package/src/components/composer/examples/sizes.tsx +23 -0
  1089. package/src/components/composer/examples/states.tsx +31 -0
  1090. package/src/components/composer/examples/typing.tsx +24 -0
  1091. package/src/components/composer/examples/voice.tsx +21 -0
  1092. package/src/components/confirm-dialog/COMPONENT.md +124 -0
  1093. package/src/components/confirm-dialog/examples/controlled-open.tsx +35 -0
  1094. package/src/components/confirm-dialog/examples/failure.tsx +37 -0
  1095. package/src/components/confirm-dialog/examples/overview.tsx +24 -0
  1096. package/src/components/confirm-dialog/examples/variants.tsx +44 -0
  1097. package/src/components/crossfade/COMPONENT.md +16 -2
  1098. package/src/components/crossfade/examples/examples.module.css +28 -0
  1099. package/src/components/crossfade/examples/fill.tsx +79 -0
  1100. package/src/components/data-table/COMPONENT.md +136 -29
  1101. package/src/components/data-table/examples/columns-visibility.tsx +26 -42
  1102. package/src/components/data-table/examples/examples.module.css +9 -0
  1103. package/src/components/data-table/examples/fill-height.tsx +55 -0
  1104. package/src/components/data-table/examples/groups.tsx +73 -0
  1105. package/src/components/data-table/examples/heatmap.tsx +44 -0
  1106. package/src/components/data-table/examples/reorder.tsx +61 -0
  1107. package/src/components/data-table/examples/row-link.tsx +100 -0
  1108. package/src/components/data-table/examples/row-open.tsx +129 -0
  1109. package/src/components/data-table/examples/server.tsx +181 -0
  1110. package/src/components/datepicker/COMPONENT.md +14 -10
  1111. package/src/components/datepicker/examples/in-form.tsx +12 -3
  1112. package/src/components/datepicker/examples/inline-panel.tsx +9 -3
  1113. package/src/components/description-list/COMPONENT.md +132 -0
  1114. package/src/components/description-list/examples/examples.module.css +41 -0
  1115. package/src/components/description-list/examples/narrow.tsx +20 -0
  1116. package/src/components/description-list/examples/overview.tsx +35 -0
  1117. package/src/components/description-list/examples/sizes.tsx +24 -0
  1118. package/src/components/description-list/examples/structure.tsx +29 -0
  1119. package/src/components/description-list/examples/vertical.tsx +21 -0
  1120. package/src/components/digit-input/COMPONENT.md +12 -6
  1121. package/src/components/digit-input/examples/on-complete.tsx +19 -7
  1122. package/src/components/divider/COMPONENT.md +1 -1
  1123. package/src/components/dnd/COMPONENT.md +93 -30
  1124. package/src/components/dnd/examples/board.tsx +16 -8
  1125. package/src/components/dnd/examples/drop-zones.tsx +2 -2
  1126. package/src/components/dnd/examples/examples.module.css +23 -0
  1127. package/src/components/dnd/examples/grid.tsx +48 -0
  1128. package/src/components/dnd/examples/handle.tsx +7 -2
  1129. package/src/components/dnd/examples/locked.tsx +57 -0
  1130. package/src/components/dnd/examples/narrow.tsx +1 -1
  1131. package/src/components/drawer/COMPONENT.md +66 -33
  1132. package/src/components/drawer/examples/controlled-open.tsx +8 -1
  1133. package/src/components/drawer/examples/examples.module.css +0 -5
  1134. package/src/components/drawer/examples/guard.tsx +80 -0
  1135. package/src/components/drawer/examples/header-actions.tsx +63 -0
  1136. package/src/components/drawer/examples/overview.tsx +9 -1
  1137. package/src/components/drawer/examples/placement.tsx +9 -4
  1138. package/src/components/drawer/examples/sizes.tsx +7 -0
  1139. package/src/components/dropdown/COMPONENT.md +35 -17
  1140. package/src/components/dropdown/examples/item-description.tsx +30 -0
  1141. package/src/components/dropdown/examples/link-items.tsx +29 -0
  1142. package/src/components/dropdown/examples/overview.tsx +1 -1
  1143. package/src/components/dropdown/examples/structure.tsx +1 -1
  1144. package/src/components/empty-page/COMPONENT.md +44 -16
  1145. package/src/components/empty-page/examples/examples.module.css +19 -2
  1146. package/src/components/empty-page/examples/region-error.tsx +86 -0
  1147. package/src/components/empty-page/examples/variants.tsx +43 -0
  1148. package/src/components/example-frame/COMPONENT.md +3 -2
  1149. package/src/components/fieldset/COMPONENT.md +107 -0
  1150. package/src/components/fieldset/examples/examples.module.css +14 -0
  1151. package/src/components/fieldset/examples/in-form.tsx +59 -0
  1152. package/src/components/fieldset/examples/overview.tsx +22 -0
  1153. package/src/components/fieldset/examples/states.tsx +35 -0
  1154. package/src/components/file-upload/COMPONENT.md +254 -62
  1155. package/src/components/file-upload/examples/attachment-tray.tsx +99 -0
  1156. package/src/components/file-upload/examples/controlled.tsx +77 -0
  1157. package/src/components/file-upload/examples/examples.module.css +38 -7
  1158. package/src/components/file-upload/examples/file-cards.tsx +64 -0
  1159. package/src/components/file-upload/examples/gallery.tsx +104 -0
  1160. package/src/components/file-upload/examples/in-form.tsx +33 -54
  1161. package/src/components/file-upload/examples/narrow.tsx +64 -8
  1162. package/src/components/file-upload/examples/overview.tsx +34 -37
  1163. package/src/components/file-upload/examples/row-parts.tsx +41 -0
  1164. package/src/components/file-upload/examples/saving.tsx +71 -0
  1165. package/src/components/file-upload/examples/sizes.tsx +13 -14
  1166. package/src/components/file-upload/examples/states.tsx +12 -3
  1167. package/src/components/file-upload/examples/validation.tsx +17 -25
  1168. package/src/components/file-upload/examples/variants.tsx +21 -2
  1169. package/src/components/gallery/COMPONENT.md +151 -0
  1170. package/src/components/gallery/examples/controlled-open.tsx +39 -0
  1171. package/src/components/gallery/examples/examples.module.css +14 -0
  1172. package/src/components/gallery/examples/overview.tsx +52 -0
  1173. package/src/components/gallery/examples/transfer.tsx +45 -0
  1174. package/src/components/gantt/COMPONENT.md +224 -0
  1175. package/src/components/gantt/examples/controlled.tsx +72 -0
  1176. package/src/components/gantt/examples/examples.module.css +30 -0
  1177. package/src/components/gantt/examples/large.tsx +96 -0
  1178. package/src/components/gantt/examples/narrow.tsx +54 -0
  1179. package/src/components/gantt/examples/occupancy.tsx +149 -0
  1180. package/src/components/gantt/examples/overview.tsx +82 -0
  1181. package/src/components/gantt/examples/sizes.tsx +48 -0
  1182. package/src/components/gantt/examples/states.tsx +68 -0
  1183. package/src/components/gantt/examples/variants.tsx +82 -0
  1184. package/src/components/hint/COMPONENT.md +3 -3
  1185. package/src/components/hint/examples/overview.tsx +10 -22
  1186. package/src/components/input/COMPONENT.md +69 -13
  1187. package/src/components/input/examples/edge-actions.tsx +30 -0
  1188. package/src/components/input/examples/inline-edit.tsx +52 -0
  1189. package/src/components/input/examples/password-strength.tsx +2 -1
  1190. package/src/components/kanban/COMPONENT.md +94 -36
  1191. package/src/components/kanban/examples/cards.tsx +152 -0
  1192. package/src/components/kanban/examples/columns.tsx +182 -0
  1193. package/src/components/kanban/examples/examples.module.css +6 -0
  1194. package/src/components/kanban/examples/limits.tsx +5 -3
  1195. package/src/components/kanban/examples/saving.tsx +83 -0
  1196. package/src/components/kanban/examples/variants.tsx +57 -0
  1197. package/src/components/label/COMPONENT.md +4 -4
  1198. package/src/components/label/examples/overview.tsx +11 -8
  1199. package/src/components/link-button/COMPONENT.md +3 -1
  1200. package/src/components/login-form/COMPONENT.md +4 -3
  1201. package/src/components/login-form/examples/overview.tsx +2 -2
  1202. package/src/components/login-form/examples/register.tsx +2 -7
  1203. package/src/components/login-form/examples/states.tsx +18 -22
  1204. package/src/components/media-viewer/COMPONENT.md +207 -0
  1205. package/src/components/media-viewer/examples/actions.tsx +86 -0
  1206. package/src/components/media-viewer/examples/controlled-open.tsx +30 -0
  1207. package/src/components/media-viewer/examples/controlled.tsx +54 -0
  1208. package/src/components/media-viewer/examples/dismiss.tsx +34 -0
  1209. package/src/components/media-viewer/examples/examples.module.css +16 -0
  1210. package/src/components/media-viewer/examples/origin.tsx +60 -0
  1211. package/src/components/media-viewer/examples/overview.tsx +75 -0
  1212. package/src/components/media-viewer/examples/thumbnails.tsx +49 -0
  1213. package/src/components/media-viewer/examples/video.tsx +55 -0
  1214. package/src/components/message/COMPONENT.md +444 -0
  1215. package/src/components/message/examples/author.tsx +74 -0
  1216. package/src/components/message/examples/contact.tsx +24 -0
  1217. package/src/components/message/examples/context-menu.tsx +71 -0
  1218. package/src/components/message/examples/examples.module.css +18 -0
  1219. package/src/components/message/examples/file.tsx +79 -0
  1220. package/src/components/message/examples/kinds.tsx +93 -0
  1221. package/src/components/message/examples/link-preview.tsx +17 -0
  1222. package/src/components/message/examples/location.tsx +30 -0
  1223. package/src/components/message/examples/media.tsx +93 -0
  1224. package/src/components/message/examples/narrow.tsx +29 -0
  1225. package/src/components/message/examples/overview.tsx +52 -0
  1226. package/src/components/message/examples/reactions.tsx +73 -0
  1227. package/src/components/message/examples/status.tsx +45 -0
  1228. package/src/components/message/examples/structure.tsx +32 -0
  1229. package/src/components/message/examples/text-formatting.tsx +27 -0
  1230. package/src/components/message/examples/typing.tsx +22 -0
  1231. package/src/components/message/examples/voice.tsx +39 -0
  1232. package/src/components/modal/COMPONENT.md +51 -20
  1233. package/src/components/modal/examples/guard.tsx +87 -0
  1234. package/src/components/modal/examples/sizes.tsx +2 -1
  1235. package/src/components/native-select/COMPONENT.md +1 -1
  1236. package/src/components/notification/COMPONENT.md +4 -1
  1237. package/src/components/notification/examples/examples.module.css +11 -1
  1238. package/src/components/notification/examples/undo.tsx +61 -0
  1239. package/src/components/page-content/COMPONENT.md +78 -11
  1240. package/src/components/page-content/examples/examples.module.css +54 -0
  1241. package/src/components/page-content/examples/list-detail.tsx +114 -0
  1242. package/src/components/page-content/examples/variants.tsx +1 -1
  1243. package/src/components/page-toolbar/COMPONENT.md +21 -22
  1244. package/src/components/page-toolbar/examples/narrow.tsx +4 -4
  1245. package/src/components/page-toolbar/examples/overview.tsx +4 -4
  1246. package/src/components/pagination/COMPONENT.md +1 -1
  1247. package/src/components/popover/COMPONENT.md +15 -7
  1248. package/src/components/popover/examples/examples.module.css +5 -0
  1249. package/src/components/popover/examples/from-menu.tsx +56 -0
  1250. package/src/components/progress-bar/COMPONENT.md +57 -13
  1251. package/src/components/progress-bar/examples/legend.tsx +28 -0
  1252. package/src/components/progress-bar/examples/ranking.tsx +28 -0
  1253. package/src/components/progress-bar/examples/states.tsx +43 -0
  1254. package/src/components/progress-circle/COMPONENT.md +70 -27
  1255. package/src/components/progress-circle/examples/examples.module.css +5 -0
  1256. package/src/components/progress-circle/examples/legend.tsx +33 -0
  1257. package/src/components/progress-circle/examples/states.tsx +25 -0
  1258. package/src/components/progress-circle/examples/under-way.tsx +54 -0
  1259. package/src/components/radio/COMPONENT.md +3 -3
  1260. package/src/components/scroll-container/COMPONENT.md +85 -24
  1261. package/src/components/scroll-container/examples/auto-scroll.tsx +52 -0
  1262. package/src/components/scroll-container/examples/chat.tsx +101 -0
  1263. package/src/components/scroll-container/examples/edges.tsx +43 -0
  1264. package/src/components/scroll-container/examples/examples.module.css +73 -0
  1265. package/src/components/scroll-container/examples/lock.tsx +49 -0
  1266. package/src/components/scroll-container/examples/scrollbar.tsx +52 -0
  1267. package/src/components/scroll-container/examples/snap.tsx +36 -0
  1268. package/src/components/segmented-control/COMPONENT.md +32 -13
  1269. package/src/components/segmented-control/examples/examples.module.css +11 -0
  1270. package/src/components/segmented-control/examples/in-form.tsx +42 -0
  1271. package/src/components/select/COMPONENT.md +89 -21
  1272. package/src/components/select/examples/load-error.tsx +45 -0
  1273. package/src/components/select/examples/people.tsx +53 -0
  1274. package/src/components/select/examples/server-search.tsx +93 -0
  1275. package/src/components/sheet/COMPONENT.md +216 -0
  1276. package/src/components/sheet/examples/controlled-open.tsx +37 -0
  1277. package/src/components/sheet/examples/dismiss.tsx +42 -0
  1278. package/src/components/sheet/examples/examples.module.css +13 -0
  1279. package/src/components/sheet/examples/in-form.tsx +65 -0
  1280. package/src/components/sheet/examples/overview.tsx +50 -0
  1281. package/src/components/sheet/examples/structure.tsx +35 -0
  1282. package/src/components/skeleton/COMPONENT.md +1 -1
  1283. package/src/components/slider/COMPONENT.md +21 -4
  1284. package/src/components/slider/examples/autosave.tsx +39 -0
  1285. package/src/components/slider/examples/examples.module.css +6 -0
  1286. package/src/components/slider/examples/orientation.tsx +27 -0
  1287. package/src/components/smart-filter/COMPONENT.md +67 -16
  1288. package/src/components/smart-filter/examples/option-groups.tsx +40 -0
  1289. package/src/components/smart-filter/examples/ranges.tsx +89 -0
  1290. package/src/components/smart-filter/examples/single-value.tsx +41 -0
  1291. package/src/components/sparkline/COMPONENT.md +48 -19
  1292. package/src/components/sparkline/examples/signed-bars.tsx +41 -0
  1293. package/src/components/sparkline/examples/states.tsx +30 -0
  1294. package/src/components/sparkline/examples/variants.tsx +29 -0
  1295. package/src/components/spinner/COMPONENT.md +10 -8
  1296. package/src/components/stepper/COMPONENT.md +4 -0
  1297. package/src/components/switch/COMPONENT.md +11 -5
  1298. package/src/components/switch/examples/in-form.tsx +3 -1
  1299. package/src/components/switch/examples/saving.tsx +53 -0
  1300. package/src/components/switch/examples/states.tsx +6 -1
  1301. package/src/components/tabs/COMPONENT.md +46 -26
  1302. package/src/components/tabs/examples/examples.module.css +6 -0
  1303. package/src/components/tabs/examples/in-drawer.tsx +100 -0
  1304. package/src/components/tabs/examples/overview.tsx +1 -1
  1305. package/src/components/tag-select/COMPONENT.md +34 -21
  1306. package/src/components/tag-select/examples/confirm-delete.tsx +60 -0
  1307. package/src/components/tag-select/examples/creatable.tsx +23 -2
  1308. package/src/components/tag-select/examples/in-form.tsx +9 -2
  1309. package/src/components/tag-select/examples/manage-tags.tsx +10 -6
  1310. package/src/components/textarea/COMPONENT.md +57 -10
  1311. package/src/components/textarea/examples/auto-resize.tsx +8 -1
  1312. package/src/components/textarea/examples/edge-actions.tsx +24 -0
  1313. package/src/components/textarea/examples/inline-edit.tsx +42 -0
  1314. package/src/components/thumbnail/COMPONENT.md +51 -10
  1315. package/src/components/thumbnail/examples/controlled.tsx +61 -0
  1316. package/src/components/thumbnail/examples/examples.module.css +31 -0
  1317. package/src/components/thumbnail/examples/full-width.tsx +2 -5
  1318. package/src/components/thumbnail/examples/overview.tsx +2 -6
  1319. package/src/components/thumbnail/examples/pressable.tsx +56 -0
  1320. package/src/components/thumbnail/examples/video.tsx +46 -0
  1321. package/src/components/timeline/COMPONENT.md +2 -1
  1322. package/src/components/tooltip/COMPONENT.md +13 -7
  1323. package/src/components/tooltip/examples/disabled-trigger.tsx +2 -7
  1324. package/src/components/tooltip/examples/examples.module.css +6 -9
  1325. package/src/components/tooltip/examples/non-interactive-trigger.tsx +31 -0
  1326. package/src/components/typography/COMPONENT.md +2 -0
  1327. package/src/components/video-note/COMPONENT.md +173 -0
  1328. package/src/components/video-note/examples/controlled.tsx +28 -0
  1329. package/src/components/video-note/examples/examples.module.css +4 -0
  1330. package/src/components/video-note/examples/in-message.tsx +22 -0
  1331. package/src/components/video-note/examples/overview.tsx +8 -0
  1332. package/src/components/video-note/examples/states.tsx +74 -0
  1333. package/src/components/video-note/examples/transcript.tsx +29 -0
  1334. package/src/components/video-note/examples/transfer.tsx +76 -0
  1335. package/src/components/visually-hidden/COMPONENT.md +81 -0
  1336. package/src/components/visually-hidden/examples/overview.tsx +22 -0
  1337. package/src/components/voice-player/COMPONENT.md +192 -0
  1338. package/src/components/voice-player/examples/call-recording.tsx +34 -0
  1339. package/src/components/voice-player/examples/controlled.tsx +38 -0
  1340. package/src/components/voice-player/examples/examples.module.css +23 -0
  1341. package/src/components/voice-player/examples/in-message.tsx +29 -0
  1342. package/src/components/voice-player/examples/overview.tsx +13 -0
  1343. package/src/components/voice-player/examples/states.tsx +81 -0
  1344. package/src/components/voice-player/examples/transcript.tsx +50 -0
  1345. package/src/components/voice-player/examples/transfer.tsx +88 -0
  1346. package/src/layout/app-header/COMPONENT.md +35 -10
  1347. package/src/layout/app-header/examples/page-title.tsx +85 -0
  1348. package/src/layout/app-shell/COMPONENT.md +11 -5
  1349. package/src/layout/app-shell/examples/examples.module.css +1 -1
  1350. package/src/layout/app-shell/examples/footer.tsx +1 -1
  1351. package/src/layout/bottom-nav/COMPONENT.md +50 -34
  1352. package/src/layout/bottom-nav/examples/examples.module.css +8 -1
  1353. package/src/layout/bottom-nav/examples/floating-action.tsx +91 -0
  1354. package/src/layout/bottom-nav/examples/floating.tsx +6 -6
  1355. package/src/layout/bottom-nav/examples/in-app-shell.tsx +1 -1
  1356. package/src/layout/sidebar/COMPONENT.md +18 -13
  1357. package/src/layout/sidebar/examples/account.tsx +1 -1
  1358. package/src/layout/sidebar/examples/overview.tsx +1 -1
  1359. package/src/styles/controls.css +138 -0
  1360. package/src/styles/globals.css +8 -0
  1361. package/src/styles/reset.css +34 -30
  1362. package/src/styles/theme-dark.css +30 -2
  1363. package/src/styles/theme-light.css +72 -6
  1364. package/src/styles/tokens.css +17 -0
  1365. package/dist/chunks/chunk-4TRNUP45.js +0 -4052
  1366. package/dist/chunks/chunk-GFKDZFQR.js +0 -1208
  1367. package/dist/chunks/chunk-K4FACFQ2.js +0 -13552
  1368. package/dist/components/dnd/autoScroll.d.ts +0 -5
  1369. package/src/components/file-upload/examples/upload-progress.tsx +0 -39
  1370. package/src/components/scroll-container/examples/edge-fade.tsx +0 -53
@@ -54,22 +54,23 @@ No DOM, no ref. Open state and dismiss policy.
54
54
  | `children` | `ReactNode` | — (required) | Trigger (or Anchor) and Content. |
55
55
 
56
56
  ### Popover.Trigger · Popover.Anchor · Popover.Close
57
- No DOM: clone the single child and merge `ref` and `onClick`. Trigger toggles the panel and adds `aria-haspopup="dialog"`, `aria-expanded`, `aria-controls`, `data-state` (the child's own `id` wins); Anchor only positions the panel and keeps presses on it from dismissing (open state comes from `open`; focus stays in the anchor on open); Close closes the panel (focus back on the trigger) unless the child's handler calls `preventDefault()`. Other props given to Trigger (handlers, ARIA, `ref`) reach the child, so a wrapping `Tooltip.Trigger` keeps working.
57
+ No DOM: clone the single child and merge `ref` and `onClick`. Trigger toggles the panel and sets its ARIA; Anchor only positions the panel (open state comes from `open`); Close closes the panel.
58
58
 
59
59
  | Prop | Type | Default | Description |
60
60
  |---|---|---|---|
61
61
  | `children` | `ReactElement` | — (required) | One element, usually a Button (Anchor: any element, e.g. a toolbar). |
62
62
 
63
63
  ### Popover.Content
64
- `ref` → `HTMLDivElement`. Portal + `role="dialog"` on the floating surface (a ScrollContainer); renders while open and during its exit animation. Named by `Popover.Title`, else by the trigger. Opened from a Trigger, focus moves into the panel (`[data-autofocus]`, else the first tab stop, else the panel). Below 640px of viewport a panel opened from a Trigger (not an Anchor) is a bottom sheet: a scrim, a grab handle, swipe down to close (with `closeOnOutsideClick`), page scroll locked.
64
+ `ref` → `HTMLDivElement`. Portal + `role="dialog"` floating panel that scrolls inside, named by `Popover.Title`. Below 640px of viewport, opened from a Trigger, it is a bottom sheet.
65
65
 
66
66
  | Prop | Type | Default | Description |
67
67
  |---|---|---|---|
68
68
  | `side` | `"top" \| "right" \| "bottom" \| "left"` | `"bottom"` | Preferred side; flips to the opposite side when there is no room. |
69
- | `align` | `"start" \| "center" \| "end"` | `"start"` | Alignment along the trigger; shifts inside the viewport. |
69
+ | `align` | `"auto" \| "start" \| "center" \| "end"` | `"auto"` | Alignment along the trigger. `auto` lines the panel up with the trigger edge that has more room beyond it; `start`, `center` or `end` fix the edge. |
70
70
  | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Tier of the text, padding and gap; also the size context of the controls inside. |
71
71
  | `matchTriggerWidth` | `boolean` | `false` | The panel is exactly as wide as the trigger and its text wraps. |
72
72
  | `trapFocus` | `boolean` | `false` | Tab cycles inside the panel (forms). Without it Tab past the last (Shift+Tab before the first) stop closes the panel and returns focus to the trigger. |
73
+ | `initialFocus` | `boolean` | `true with Trigger, false with Anchor` | Focus moves into the panel on open (`[data-autofocus]`, else the first tab stop, else the panel). Turn it on for an anchored panel opened by a command, such as a Dropdown item, so focus does not stay on the menu trigger. |
73
74
  | `flush` | `boolean` | `false` | No inner padding and no gap: rows and dividers reach the panel edges; the content lays out its own spacing. |
74
75
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "role">` | — | `className` and the other attributes of the panel. |
75
76
 
@@ -96,9 +97,10 @@ Title uses the tier text size with title weight; Description uses the tier label
96
97
  | `side="bottom"` | Below the trigger, `--prime-panel-offset` away | Default | yes |
97
98
  | `side="top"` | Above the trigger | Triggers near the bottom of the screen | |
98
99
  | `side="left"` / `"right"` | Beside the trigger, aligned along its height | Triggers in a side rail or a narrow column | |
99
- | `align="start"` | Start edges aligned | Default | yes |
100
+ | `align="auto"` | Lined up with the trigger edge that has more room: near the end of the screen the end edges meet and the panel grows toward the start, near the start the other way; below the trigger, flipping to the top without room | Default — triggers anywhere | yes |
101
+ | `align="end"` | End edges aligned: the panel grows toward the start | The panel must line up with the end of a block whatever room there is | |
100
102
  | `align="center"` | Centred on the trigger | Small icon triggers | |
101
- | `align="end"` | End edges aligned | Triggers at the end of a toolbar | |
103
+ | `align="start"` | Start edges aligned: the panel grows toward the end | The panel must line up with the start of a block whatever room there is | |
102
104
 
103
105
  ### Flags
104
106
  | Value | Looks like | Use when | Default |
@@ -125,6 +127,8 @@ Title uses the tier text size with title weight; Description uses the tier label
125
127
 
126
128
  There is no `disabled` on Popover: a disabled trigger never opens it.
127
129
 
130
+ Motion (`overlayMotion`): the panel grows out of the side that faces its trigger and fades, in and out over `fast`; as a sheet it slides up over `slow` and down over `base`. Content stays mounted until the exit ends; under `prefers-reduced-motion` it unmounts at once.
131
+
128
132
  ## Layout & spacing
129
133
  - Width is `max-content` between `--prime-panel-min-width` and twice that, never wider than the viewport; give forms an explicit width with `className`.
130
134
  - Max height follows the free space on the resolved side; the panel scrolls inside.
@@ -142,7 +146,9 @@ There is no `disabled` on Popover: a disabled trigger never opens it.
142
146
 
143
147
  ### ARIA
144
148
  - The panel is `role="dialog"` without `aria-modal`, named by `Popover.Title` (else by the trigger) and described by `Popover.Description`.
145
- - The trigger gets `aria-haspopup="dialog"`, `aria-expanded` and `aria-controls`.
149
+ - The trigger gets `aria-haspopup="dialog"`, `aria-expanded`, `aria-controls` and `data-state`; the child's own `id` wins. Other props given to `Popover.Trigger` (handlers, ARIA, `ref`) reach the child, so a wrapping `Tooltip.Trigger` keeps working.
150
+ - Opened from a Trigger, focus moves into the panel: `[data-autofocus]`, else the first tab stop, else the panel. Opened at a `Popover.Anchor`, focus stays in the anchor (`initialFocus` moves it in), and presses on the anchor do not dismiss the panel.
151
+ - `Popover.Close` closes the panel and returns focus to the trigger, unless the child's own `onClick` calls `preventDefault()`.
146
152
  - An outside press closes the panel without moving focus back to the trigger: focus follows the pointer (foundation §8).
147
153
  - Only the topmost layer reacts: a Select open inside the panel closes first.
148
154
 
@@ -160,11 +166,13 @@ No `labels`.
160
166
  | [placement.tsx](examples/placement.tsx) | Every side and alignment relative to the trigger; near the viewport edge the panel flips and shifts — `side`, `align`. |
161
167
  | [match-trigger-width.tsx](examples/match-trigger-width.tsx) | In a narrow column the panel takes the exact width of a full-width trigger and its text wraps — `matchTriggerWidth`. |
162
168
  | [flush.tsx](examples/flush.tsx) | A notification list whose rows and dividers reach the panel edges; each row brings its own padding — `flush`. |
169
+ | [from-menu.tsx](examples/from-menu.tsx) | A menu command opens a panel at the same button: the rename item shows a form anchored to the menu button and focus lands in its field, not back on that button — `Popover.Anchor`, `initialFocus`. |
163
170
  | [dismiss.tsx](examples/dismiss.tsx) | A destructive confirm that closes only from its buttons, and not at all while the request runs — `closeOnOutsideClick`, `closeOnEscape`. |
164
171
  | [controlled-open.tsx](examples/controlled-open.tsx) | The parent owns the open state: another button opens the panel from code and its own button closes it — `open`, `onOpenChange`. |
165
172
  | [in-form.tsx](examples/in-form.tsx) | An invite form in a panel: Tab stays inside, the role list does not count as an outside click, an invalid email shakes the field and keeps the panel open until it is fixed — `trapFocus`, `error`. |
166
173
 
167
174
  ## Mistakes
175
+ - A Popover opened from a Dropdown item with `Popover.Anchor` and no `initialFocus` → focus returns to the menu button and the panel is out of keyboard reach; set `initialFocus`.
168
176
  - A hint of a few words in a Popover → use Tooltip (hover / focus, no interactive content).
169
177
  - A form without `trapFocus` → add it so Tab stays in the panel.
170
178
  - Closing from inside through your own `open` state only → wrap the button in `Popover.Close`.
@@ -172,4 +180,4 @@ No `labels`.
172
180
 
173
181
  ## Related
174
182
  - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md) (the panel)
175
- - **See also:** [Tooltip](../tooltip/COMPONENT.md), [Dropdown](../dropdown/COMPONENT.md), [Modal](../modal/COMPONENT.md), [Datepicker](../datepicker/COMPONENT.md), [ColorPicker](../color-picker/COMPONENT.md)
183
+ - **See also:** [Tooltip](../tooltip/COMPONENT.md), [Dropdown](../dropdown/COMPONENT.md), [Modal](../modal/COMPONENT.md), [Drawer](../drawer/COMPONENT.md), [Datepicker](../datepicker/COMPONENT.md), [ColorPicker](../color-picker/COMPONENT.md)
@@ -42,3 +42,8 @@
42
42
  justify-content: flex-end;
43
43
  padding: var(--prime-space-1);
44
44
  }
45
+
46
+ /* from-menu.tsx: the anchor box around the menu button. */
47
+ .anchor {
48
+ display: inline-flex;
49
+ }
@@ -0,0 +1,56 @@
1
+ /** A menu command opens a panel at the same button: the rename item shows a form anchored to the menu button and focus lands in its field, not back on that button — `Popover.Anchor`, `initialFocus`. */
2
+ import { Button, Dropdown, Icon, Input, Popover } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ import styles from "./examples.module.css";
6
+
7
+ export default function PopoverFromMenuExample() {
8
+ const [renaming, setRenaming] = React.useState(false);
9
+ const [name, setName] = React.useState("Запуск в регионах");
10
+
11
+ return (
12
+ <Popover.Root open={renaming} onOpenChange={setRenaming}>
13
+ <Popover.Anchor>
14
+ <span className={styles.anchor}>
15
+ <Dropdown.Root>
16
+ <Dropdown.Trigger>
17
+ <Button.Root variant="ghost" tone="neutral" aria-label="Действия с проектом">
18
+ <Button.Icon>
19
+ <Icon name="action.more" />
20
+ </Button.Icon>
21
+ </Button.Root>
22
+ </Dropdown.Trigger>
23
+ <Dropdown.Content>
24
+ <Dropdown.Item onSelect={() => setRenaming(true)}>Переименовать…</Dropdown.Item>
25
+ <Dropdown.Item>Дублировать</Dropdown.Item>
26
+ </Dropdown.Content>
27
+ </Dropdown.Root>
28
+ </span>
29
+ </Popover.Anchor>
30
+ <Popover.Content className={styles.panel} initialFocus trapFocus>
31
+ <form
32
+ className={styles.stack}
33
+ onSubmit={(event) => {
34
+ event.preventDefault();
35
+ setName(String(new FormData(event.currentTarget).get("name") ?? name));
36
+ setRenaming(false);
37
+ }}
38
+ >
39
+ <Input.Root label="Название проекта">
40
+ <Input.Wrapper>
41
+ <Input.Field name="name" defaultValue={name} />
42
+ </Input.Wrapper>
43
+ </Input.Root>
44
+ <Popover.Actions>
45
+ <Popover.Close>
46
+ <Button.Root variant="soft" tone="neutral">
47
+ Отмена
48
+ </Button.Root>
49
+ </Popover.Close>
50
+ <Button.Root type="submit">Сохранить</Button.Root>
51
+ </Popover.Actions>
52
+ </form>
53
+ </Popover.Content>
54
+ </Popover.Root>
55
+ );
56
+ }
@@ -3,18 +3,20 @@
3
3
  **Category:** status
4
4
  **Kind:** primitive
5
5
 
6
- > Linear progress: one value on a native `<progress>`, or `segments` that split a whole (storage by type, task statuses), with a label, a percentage and status colors.
6
+ > Linear progress: one value on a native `<progress>`, `segments` that split a whole (storage by type, leads by source) with an optional legend, or a ranking of rows (top cities, a funnel).
7
7
 
8
8
  ## When to use
9
9
  - Determinate progress of an operation: file upload, import, export (`value`).
10
10
  - How much of a quota or a set of steps is done («Профиль: 3 из 5 шагов») (`value` + `max`).
11
- - How a whole splits into parts: used space by file type, tasks by status (`segments`, `max`).
11
+ - How a whole splits into parts: used space by file type, tasks by status (`segments`, `max`); categories wear `color`, meanings wear `tone`; `legend` adds color · name · value · share.
12
+ - A ranking «label · value · share — bar»: top cities, reasons, funnel steps (`layout="rows"`, `scale`).
12
13
  - Per-row progress inside lists (FileUpload rows render it).
13
14
 
14
15
  ## When not to use
15
16
  - A compact radial indicator or KPI ring → use [ProgressCircle](../progress-circle/COMPONENT.md) (same `value` / `segments` API).
16
17
  - Unknown duration → use [Spinner](../spinner/COMPONENT.md); ProgressBar has no indeterminate mode.
17
18
  - Navigation through wizard steps → use [Stepper](../stepper/COMPONENT.md).
19
+ - A trend over time → use [Sparkline](../sparkline/COMPONENT.md) or a chart on `chartColors`.
18
20
 
19
21
  ## Import
20
22
  ```tsx
@@ -23,10 +25,13 @@ import { ProgressBar, type ProgressSegment } from "prime-ui-kit";
23
25
 
24
26
  ## Anatomy
25
27
  ```
26
- ProgressBar <div>; size, tone (value mode)
28
+ ProgressBar <div>; size, tone (value mode), aria-busy while loading
27
29
  ├─ header label (ellipsis) + percentage (showValue, aria-hidden)
28
30
  └─ value mode: <progress> (transparent, for assistive tech) + drawn line
29
31
  segments mode: <div role="group"> — parts pill + free rest; hidden distribution text
32
+ └─ legend <ul>: swatch · name · value · share per part (legend)
33
+ rows layout: <ol> — per part: label · value · share over its own bar
34
+ loading: Skeleton bar (+ legend / row lines) in the same geometry
30
35
  ```
31
36
 
32
37
  ## API
@@ -40,7 +45,8 @@ ProgressBar <div>; size, tone (value mode)
40
45
  |---|---|---|---|
41
46
  | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Line thickness 4 → 8 px (`--prime-control-<tier>-track`, shared with Slider) and label type. |
42
47
  | `label` | `string` | — | Visible label above the line and its accessible name; a value bar without it needs `aria-label`. |
43
- | `showValue` | `boolean` | `false` | Shows the rounded filled percentage at the end of the label row (`aria-hidden`). |
48
+ | `showValue` | `boolean` | `false` | Shows the rounded filled percentage at the end of the label row (`aria-hidden`); `bar` layout only. |
49
+ | `loading` | `boolean` | `false` | The data is on its way: a Skeleton in the bar's geometry cross-fades into the data; the label stays. Pass the last known `value` or `segments` (or `0` / `[]`). |
44
50
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `className`, `data-*` and the other div attributes on the root; `aria-label` names the bar when there is no `label`. |
45
51
 
46
52
  ### ProgressBar · value mode
@@ -51,16 +57,20 @@ A native `<progress>` (transparent, for assistive tech) under the drawn line.
51
57
  | `value` | `number` | — (required) | The current value, clamped to `0…max`. |
52
58
  | `max` | `number` | `100` | Top of the scale. |
53
59
  | `tone` | `"neutral" \| "accent" \| "success" \| "warning" \| "danger" \| "info"` | `"accent"` | Fill color, telling the outcome. |
54
- | `steps` | `boolean` | `false` | Draws the scale as `max` equal cells (2–12), each filled whole; `value` rounds to a cell. In one change the cells go one after another — from the start when filling, from the end when emptying. For a level out of a few: password strength, onboarding steps. |
60
+ | `steps` | `boolean` | `false` | Draws the scale as `max` equal cells (2–12), each filled whole; `value` rounds to a cell. For a level out of a few: password strength, onboarding steps. |
55
61
 
56
62
  ### ProgressBar · segments mode
57
- A `role="group"` bar of parts, named by `label` and described by the distribution text.
63
+ A `role="group"` bar of parts, named by `label` and described by the legend or the distribution text; with `layout="rows"` an `<ol>` named by `label`.
58
64
 
59
65
  | Prop | Type | Default | Description |
60
66
  |---|---|---|---|
61
- | `segments` | `ProgressSegment[]` | — (required) | Parts in order, `{ value, label?, tone? }` (`tone` default `accent`); each part's width is its share of `max`. |
67
+ | `segments` | `ProgressSegment[]` | — (required) | Parts in order, `{ value, label?, tone? \| color? }`: `tone` names a meaning (default `accent`), `color` a category, as in its charts. Each part's width is its share of `max`. |
62
68
  | `max` | `number` | — | Total capacity. Default: the sum of the parts; a larger `max` leaves the rest as track. |
63
- | `segmentGap` | `"none" \| "hairline"` | `"none"` | `none` — one continuous pill; `hairline` — every part and the rest are separate pills. |
69
+ | `segmentGap` | `"none" \| "hairline"` | `"none"` | `none` — one continuous pill; `hairline` — every part and the rest are separate pills. `bar` layout. |
70
+ | `legend` | `boolean` | `false` | A legend under the bar, one row per part: color · name · value · share; it becomes the group's description. `bar` layout. |
71
+ | `formatValue` | `(value: number) => string` | `Russian digit groups` | Display of a part's value in the legend and the rows («1 840 000 ₽»). |
72
+ | `layout` | `"bar" \| "rows"` | `"bar"` | `bar` — every part in one bar; `rows` — a ranking: an `<ol>`, one row per part with label · value · share over its own bar. |
73
+ | `scale` | `"sum" \| "max" \| "first"` | `"sum"` | `rows` only: what 100% is. `sum` — bars and shares of the total (`max` raises it); `max` — the leader is a full bar, shares stay of the total; `first` — bars and shares against the first row (a funnel). |
64
74
  | `labels` | `Partial<ProgressBarLabels>` | — | Built-in strings, see Labels. |
65
75
 
66
76
  ## Variants
@@ -75,6 +85,26 @@ A `role="group"` bar of parts, named by `label` and described by the distributio
75
85
  | `danger` | danger fill | failed or interrupted operation, overdue share | |
76
86
  | `info` | info fill | informational processes (sync, indexing) | |
77
87
 
88
+ ### color (each segment, instead of tone)
89
+ | Value | Looks like | Use when | Default |
90
+ |---|---|---|---|
91
+ | `blue` · `orange` · `teal` · `yellow` · `pink` · `green` · `purple` · `red` | the hue's step of the chart palette (`--prime-color-chart-1…8`, `--hue-chart`) | categories with no meaning of good or bad: sources, platforms, regions — the same color the category has in charts | |
92
+ | `gray` | `--prime-color-chart-other` | the «Прочее» share | |
93
+ | `sky` | the palette's sky solid (no chart step: it sits too close to blue) | only when the category is sky elsewhere in the product | |
94
+
95
+ ### layout (segments mode)
96
+ | Value | Looks like | Use when | Default |
97
+ |---|---|---|---|
98
+ | `bar` | every part in one bar, optional legend under it | parts of one whole | yes |
99
+ | `rows` | one row per part: label · value · share over its own bar | a ranking: top cities, reasons, funnel steps | |
100
+
101
+ ### scale (`rows`)
102
+ | Value | Looks like | Use when | Default |
103
+ |---|---|---|---|
104
+ | `sum` | bars and shares of the total | parts of a whole («доля от всех заказов») | yes |
105
+ | `max` | the leader is a full bar, shares of the total | a top list where the gap to the leader matters | |
106
+ | `first` | bars and shares against the first row | a funnel: each step as a share of the first | |
107
+
78
108
  ### segmentGap
79
109
  | Value | Looks like | Use when | Default |
80
110
  |---|---|---|---|
@@ -94,13 +124,17 @@ A `role="group"` bar of parts, named by `label` and described by the distributio
94
124
  | Value | Looks like | Use when | Default |
95
125
  |---|---|---|---|
96
126
  | `showValue` | secondary `NN%` at the end of the header | uploads, quotas — the user tracks the number | `false` |
127
+ | `legend` | rows of swatch · name · value · share under the bar | a distribution the reader compares in numbers | `false` |
128
+ | `loading` | a Skeleton bar (and legend or row lines) in the same geometry | the data is on its way | `false` |
97
129
 
98
130
  ## States
99
131
  | State | Driven by | DOM |
100
132
  |---|---|---|
101
133
  | tone / size | props | `data-tone` (value mode), `data-size` on the root |
102
134
  | value | `value`, `max` | native `value` / `max`; the drawn pill slides by `translate` over `slow` + `standard`, RTL aware |
103
- | segments | `segments`, `max`, `segmentGap` | `data-segment-gap` on the group, `data-tone` per part; widths animate by `flex-grow` over `slow` |
135
+ | segments | `segments`, `max`, `segmentGap` | `data-segment-gap` on the group, `data-tone` or `data-color` per part; widths animate by `flex-grow` over `slow` |
136
+ | rows | `layout="rows"`, `scale` | `data-layout="rows"` on the root, an `<ol>`; each bar slides like the value pill |
137
+ | loading | `loading` | `aria-busy` on the root; Skeletons in place of the bar, the legend or the rows; the data cross-fades in (`swapMotion`) |
104
138
  | steps | `steps` (value mode) | `data-steps="true"` on the bar; `max` cells (2–12), filled ones `data-filled`; a cell fills from its start edge (`base` · emphasized), cells of one change go half a stagger step apart — from the start when filling, from the end when emptying |
105
139
  | empty segments | `segments` empty or all `0` | only the track; accessible text `labels.empty` / `labels.allEmpty` |
106
140
  | reduced motion | `prefers-reduced-motion` | fill, widths and cells change instantly |
@@ -109,7 +143,9 @@ Always controlled: pass the current `value` or `segments` on every render.
109
143
 
110
144
  ## Layout & spacing
111
145
  - `width: 100%` of the parent; the header is a row with the label (ellipsis) and the value.
112
- - Label → line: the tier `label-gap` (`--prime-space-1` xs/s, `--prime-space-2` m–xl).
146
+ - Label → line: the tier `label-gap` (`--prime-space-1` xs/s, `--prime-space-2` m–xl). The label is primary, medium weight; the percentage secondary, tabular numbers.
147
+ - Bar → legend `--prime-space-3` (12). Rows (`layout="rows"`) are 12 apart, each header 4 above its bar: the label (secondary, truncates) takes the free width, the value (primary, medium) and the share (muted, at least 4ch) line up at the end in tabular numbers.
148
+ - `hairline` gaps and `steps` cells are ¾ of the line thickness apart.
113
149
  - Stack several bars with `--prime-space-4`–`--prime-space-5`.
114
150
 
115
151
  ## Accessibility
@@ -119,9 +155,11 @@ No keyboard interaction.
119
155
 
120
156
  ### ARIA
121
157
  - Value mode: native `<progress>` — role `progressbar` with value and max.
122
- - Segments mode: `role="group"`; its text lists the shares of `max` («Видео: 38%, Документы: 21%»). With `label` (or `aria-label`) the group is named by it and described by the distribution; without a name the distribution is the name.
158
+ - Segments mode: `role="group"`; its text lists the shares of `max` («Видео: 38%, Документы: 21%»). With `label` (or `aria-label`) the group is named by it and described by the distribution — or by the legend when `legend` is on; without a name the distribution is the name.
159
+ - Rows: an `<ol>` named by `label`; each row reads as text («Москва 1 284 52%»), the bars are `aria-hidden`.
160
+ - A category color always sits beside its name (legend, row), so color is never the only cue.
123
161
  - Without `label`, pass `aria-label`, otherwise a value bar has no accessible name.
124
- - The `showValue` percentage is `aria-hidden`.
162
+ - The `showValue` percentage is `aria-hidden`; while `loading` the root is `aria-busy` and the Skeletons are `aria-hidden`.
125
163
 
126
164
  ### Labels
127
165
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
@@ -137,8 +175,11 @@ No keyboard interaction.
137
175
  | [overview.tsx](examples/overview.tsx) | An import in progress with its name and percentage — `value`, `label`, `showValue`. |
138
176
  | [variants.tsx](examples/variants.tsx) | Every fill color; the tone tells the outcome, not the progress — `tone`. |
139
177
  | [sizes.tsx](examples/sizes.tsx) | Every tier: the line grows from 4 to 8 px like the Slider track — `size`. |
178
+ | [states.tsx](examples/states.tsx) | Loading takes the bar's own geometry, so the data lands without a jump — `loading`. |
140
179
  | [custom-max.tsx](examples/custom-max.tsx) | A scale of steps instead of percent: 3 of 5 profile steps — `max`. |
141
180
  | [segments.tsx](examples/segments.tsx) | Parts of a whole in one bar: joined or separate pills, free capacity up to `max` and an empty list — `segments`, `segmentGap`, `max`. |
181
+ | [legend.tsx](examples/legend.tsx) | Shares of categories in their chart colors with a legend of color · name · value · share — `color`, `legend`, `formatValue`. |
182
+ | [ranking.tsx](examples/ranking.tsx) | Rankings as rows of label · value · share over a bar: top cities against the leader and a funnel against its first step — `layout`, `scale`. |
142
183
  | [steps.tsx](examples/steps.tsx) | The scale as whole cells that fill one after another: 2 of 5 onboarding steps, forward and back — `steps`, `max`. |
143
184
  | [milestone.tsx](examples/milestone.tsx) | A rare milestone: the last invoice of the quarter fills the bar, the tone turns success and a short confetti burst marks it — `value`, `tone`, `celebrate()`. |
144
185
 
@@ -149,7 +190,10 @@ No keyboard interaction.
149
190
  - A «Свободно» segment for free space → pass `max`; the rest stays track.
150
191
  - `showValue` with a count scale («3 из 5») → put the count into `label`.
151
192
  - A fake value as a spinner → use [Spinner](../spinner/COMPONENT.md).
193
+ - Categories (sources, platforms) painted with `tone` → `tone` says good or bad; categories take `color`, the same as in their charts.
194
+ - The number written into `label` of each row of a hand-built ranking → `layout="rows"` with `formatValue`.
195
+ - A grey box while the data loads → `loading` draws the Skeleton in the bar's geometry.
152
196
 
153
197
  ## Related
154
- - **Built from:** —
198
+ - **Built from:** [Skeleton](../skeleton/COMPONENT.md)
155
199
  - **See also:** [ProgressCircle](../progress-circle/COMPONENT.md), [Slider](../slider/COMPONENT.md), [FileUpload](../file-upload/COMPONENT.md), [Spinner](../spinner/COMPONENT.md)
@@ -0,0 +1,28 @@
1
+ /** Shares of categories in their chart colors with a legend of color · name · value · share — `color`, `legend`, `formatValue`. */
2
+ import { ProgressBar, type ProgressSegment } from "prime-ui-kit";
3
+
4
+ import styles from "./examples.module.css";
5
+
6
+ const DEALS_BY_SOURCE: ProgressSegment[] = [
7
+ { value: 1_840_000, label: "Сайт", color: "blue" },
8
+ { value: 1_120_000, label: "Входящие звонки", color: "orange" },
9
+ { value: 640_000, label: "Партнёры", color: "teal" },
10
+ { value: 310_000, label: "Выставки", color: "yellow" },
11
+ { value: 190_000, label: "Прочее", color: "gray" },
12
+ ];
13
+
14
+ const formatRubles = (value: number) => `${value.toLocaleString("ru-RU")} ₽`;
15
+
16
+ export default function ProgressBarLegendExample() {
17
+ return (
18
+ <div className={styles.column}>
19
+ <ProgressBar
20
+ segments={DEALS_BY_SOURCE}
21
+ segmentGap="hairline"
22
+ label="Сделки за октябрь по источникам"
23
+ legend
24
+ formatValue={formatRubles}
25
+ />
26
+ </div>
27
+ );
28
+ }
@@ -0,0 +1,28 @@
1
+ /** Rankings as rows of label · value · share over a bar: top cities against the leader and a funnel against its first step — `layout`, `scale`. */
2
+ import { ProgressBar, type ProgressSegment } from "prime-ui-kit";
3
+
4
+ import styles from "./examples.module.css";
5
+
6
+ const CITIES: ProgressSegment[] = [
7
+ { value: 1_284, label: "Москва" },
8
+ { value: 642, label: "Санкт-Петербург" },
9
+ { value: 318, label: "Казань" },
10
+ { value: 204, label: "Екатеринбург" },
11
+ { value: 96, label: "Новосибирск" },
12
+ ];
13
+
14
+ const FUNNEL: ProgressSegment[] = [
15
+ { value: 2_400, label: "Заявка" },
16
+ { value: 1_380, label: "Квалификация" },
17
+ { value: 620, label: "Предложение" },
18
+ { value: 214, label: "Сделка" },
19
+ ];
20
+
21
+ export default function ProgressBarRankingExample() {
22
+ return (
23
+ <div className={styles.column}>
24
+ <ProgressBar layout="rows" scale="max" segments={CITIES} label="Заказы по городам" />
25
+ <ProgressBar layout="rows" scale="first" segments={FUNNEL} label="Воронка за квартал" />
26
+ </div>
27
+ );
28
+ }
@@ -0,0 +1,43 @@
1
+ /** Loading takes the bar's own geometry, so the data lands without a jump — `loading`. */
2
+ import { ProgressBar, type ProgressSegment, Typography } from "prime-ui-kit";
3
+
4
+ const SOURCES: ProgressSegment[] = [
5
+ { value: 412, label: "Сайт", color: "blue" },
6
+ { value: 268, label: "Звонки", color: "orange" },
7
+ { value: 120, label: "Партнёры", color: "teal" },
8
+ ];
9
+
10
+ export default function ProgressBarStatesExample() {
11
+ return (
12
+ <>
13
+ <div>
14
+ <div>
15
+ <ProgressBar value={64} label="Импорт контактов" showValue />
16
+ <Typography as="span" variant="caption" tone="muted">
17
+ value
18
+ </Typography>
19
+ </div>
20
+ <div>
21
+ <ProgressBar value={0} label="Импорт контактов" loading />
22
+ <Typography as="span" variant="caption" tone="muted">
23
+ loading
24
+ </Typography>
25
+ </div>
26
+ </div>
27
+ <div>
28
+ <div>
29
+ <ProgressBar segments={SOURCES} label="Лиды по источникам" legend />
30
+ <Typography as="span" variant="caption" tone="muted">
31
+ legend
32
+ </Typography>
33
+ </div>
34
+ <div>
35
+ <ProgressBar segments={SOURCES} label="Лиды по источникам" legend loading />
36
+ <Typography as="span" variant="caption" tone="muted">
37
+ legend · loading
38
+ </Typography>
39
+ </div>
40
+ </div>
41
+ </>
42
+ );
43
+ }
@@ -9,12 +9,14 @@
9
9
  - Compact metrics and goals in cards and dashboards (84% of plan).
10
10
  - Progress where horizontal space is short: table cells, list rows.
11
11
  - A value on a custom scale shown as a ring («7/12»).
12
- - A compact breakdown of a whole: tasks by status, storage by type (`segments`).
12
+ - A compact breakdown of a whole: tasks by status, storage by type (`segments`); categories in their chart colors (`color`) with a `legend` beside the ring.
13
+ - A named process whose share is not known yet (`value={null}`) or that turns while its share grows (`spin`), with an icon in the center that changes with its state.
13
14
 
14
15
  ## When not to use
15
16
  - Progress with a label and width to spare (uploads, imports) → use [ProgressBar](../progress-bar/COMPONENT.md).
16
17
  - A breakdown with many parts or long labels → [ProgressBar](../progress-bar/COMPONENT.md) with `segments`.
17
- - Unknown duration → use [Spinner](../spinner/COMPONENT.md); ProgressCircle is always determinate.
18
+ - An anonymous «busy» mark inside a control or a region (a button, a select, a list) → [Spinner](../spinner/COMPONENT.md): it sizes like an icon and is a `status`.
19
+ - A ring you can press (cancel, retry, download) → [Button](../button/COMPONENT.md) `shape="circle"` with `progress`; ProgressCircle is never interactive.
18
20
 
19
21
  ## Import
20
22
  ```tsx
@@ -23,10 +25,15 @@ import { ProgressCircle, type ProgressSegment } from "prime-ui-kit";
23
25
 
24
26
  ## Anatomy
25
27
  ```
26
- ProgressCircle <div>; size, tone (value mode), children in the center
27
- ├─ svg role="progressbar" (value) or role="group" (segments); track + arcs
28
- ├─ description visually hidden distribution (segments with aria-label)
29
- └─ inner children in the hole of the ring (not on xs / s)
28
+ ProgressCircle <div>; size, tone (value mode), children in the center, aria-busy while loading
29
+ ├─ svg the kit ring (internal/ring, data weight); role="progressbar" (value) or
30
+ │ role="group" (segments); track + arcs
31
+ │ (loading: a Skeleton ring of the same diameter and stroke)
32
+ ├─ description visually hidden distribution (segments with aria-label, no legend)
33
+ └─ inner children in the hole of the ring, a changed icon cross-fades
34
+ (not on xs, text not on s, not while loading)
35
+
36
+ with legend: <div data-legend> — a row: the ring box + <ul> legend (swatch · name · value · share)
30
37
  ```
31
38
 
32
39
  ## API
@@ -39,27 +46,31 @@ ProgressCircle <div>; size, tone (value mode), children in the center
39
46
  | Prop | Type | Default | Description |
40
47
  |---|---|---|---|
41
48
  | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Diameter 24 · 32 · 48 · 64 · 80 px; the stroke is 1/12 of it. |
42
- | `children` | `ReactNode` | — | Content in the center (number, percent, `Icon`). Not rendered on `xs` / `s`; a string or number stays available as `aria-valuetext`. |
49
+ | `children` | `ReactNode` | — | Content in the center (number, percent, `Icon`): text from `m`, an icon from `s`, nothing on `xs`. A string or number also becomes `aria-valuetext`. |
43
50
  | `aria-label` | `string` | — | Accessible name of the ring (set on the svg). Always pass it. |
51
+ | `loading` | `boolean` | `false` | The data is on its way: a Skeleton ring of the same diameter and stroke (and legend lines) that cross-fades into the data; the inner content waits, the root is `aria-busy`. |
44
52
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `className`, `data-*` and the other div attributes on the root. |
45
53
 
46
54
  ### ProgressCircle · value mode
47
- The svg is `role="progressbar"`: a track and one round-capped arc.
55
+ The svg is `role="progressbar"`: a track and one round-capped arc from 12 o'clock.
48
56
 
49
57
  | Prop | Type | Default | Description |
50
58
  |---|---|---|---|
51
- | `value` | `number` | — (required) | The current value, clamped to `0…max`. |
59
+ | `value` | `number \| null` | — (required) | The current value, clamped to `0…max`; it glides to a new value (`base`). `null` — under way, the share unknown: a quarter arc that always turns, no `aria-valuenow`. |
60
+ | `spin` | `boolean` | `false` | The ring turns at any share (one turn = 3 × `--prime-motion-loop`; slower under reduced motion, never still) and the arc never drops under 8%: a sync whose share grows. `null` always turns. |
52
61
  | `max` | `number` | `100` | Top of the scale. |
53
- | `tone` | `"neutral" \| "accent" \| "success" \| "warning" \| "danger" \| "info"` | `"accent"` | Arc color, telling the outcome. |
62
+ | `tone` | `"neutral" \| "accent" \| "success" \| "warning" \| "danger" \| "info" \| "inherit"` | `"accent"` | Arc color, telling the outcome. `inherit` — the arc in the host's text color over a 32% track of it, for a ring on a colored host or over media. |
54
63
 
55
64
  ### ProgressCircle · segments mode
56
- The svg is `role="group"`: parts clockwise from the top, described by the distribution text.
65
+ The svg is `role="group"`: parts clockwise from the top, described by the legend or the distribution text.
57
66
 
58
67
  | Prop | Type | Default | Description |
59
68
  |---|---|---|---|
60
- | `segments` | `ProgressSegment[]` | — (required) | Parts in order, `{ value, label?, tone? }` (`tone` default `accent`); each part's length is its share of `max`. |
69
+ | `segments` | `ProgressSegment[]` | — (required) | Parts in order, `{ value, label?, tone? \| color? }`: `tone` names a meaning (default `accent`), `color` a category — its step of the chart palette. Each part's length is its share of `max`. |
61
70
  | `max` | `number` | — | Total capacity. Default: the sum of the parts (they close the ring); a larger `max` leaves the rest as track. |
62
71
  | `segmentGap` | `"none" \| "hairline"` | `"none"` | `none` — one continuous ring; `hairline` — every part and the rest are separate round arcs. |
72
+ | `legend` | `boolean` | `false` | A legend beside the ring (below it when the row is narrow), one row per part: color · name · value · share; it becomes the group's description. The root turns into the row of ring and legend. |
73
+ | `formatValue` | `(value: number) => string` | `Russian digit groups` | Display of a part's value in the legend («38 ГБ»). |
63
74
  | `labels` | `Partial<ProgressCircleLabels>` | — | Built-in strings, see Labels. |
64
75
 
65
76
  ## Variants
@@ -68,12 +79,12 @@ The svg is `role="group"`: parts clockwise from the top, described by the distri
68
79
  | Value | Looks like | Use when | Default |
69
80
  |---|---|---|---|
70
81
  | `xs` | 24 diameter, no inner content | inline in text or table cells | |
71
- | `s` | 32 diameter, no inner content | list rows, compact cards | |
72
- | `m` | 48 diameter, inner text 12/16 | KPI tiles | yes |
73
- | `l` | 64 diameter, inner text 16/24 | dashboard cards | |
74
- | `xl` | 80 diameter, inner text 18/24 | hero metrics, breakdowns | |
82
+ | `s` | 32 diameter, an icon 16 in the center, no text | list rows, compact cards | |
83
+ | `m` | 48 diameter, inner text 12/16, icon 20 | KPI tiles | yes |
84
+ | `l` | 64 diameter, inner text 16/24, icon 24 | dashboard cards | |
85
+ | `xl` | 80 diameter, inner text 18/24, icon 32 | hero metrics, breakdowns | |
75
86
 
76
- The stroke is always 1/12 of the diameter.
87
+ The stroke is always 1/12 of the diameter (the kit ring's `data` weight). These diameters are a data scale, separate from the control heights of a circle Button.
77
88
 
78
89
  ### tone (value mode or each segment)
79
90
  | Value | Looks like | Use when | Default |
@@ -84,6 +95,21 @@ The stroke is always 1/12 of the diameter.
84
95
  | `warning` | warning arc | at risk, quota almost used | |
85
96
  | `danger` | danger arc | failed, overdue share | |
86
97
  | `info` | info arc | informational processes (sync, indexing) | |
98
+ | `inherit` (value mode) | the arc in the host's text color over a 32% track of it; the center text inherits it too | a ring on a colored host or over media | |
99
+
100
+ ### color (each segment, instead of tone)
101
+ | Value | Looks like | Use when | Default |
102
+ |---|---|---|---|
103
+ | `blue` · `orange` · `teal` · `yellow` · `pink` · `green` · `purple` · `red` | the hue's step of the chart palette (`--prime-color-chart-1…8`) | categories: channels, sources, regions — the color they have in charts | |
104
+ | `gray` | `--prime-color-chart-other` | the «Прочее» share | |
105
+ | `sky` | the palette's sky solid (no chart step) | only when the category is sky elsewhere | |
106
+
107
+ ### Flags
108
+ | Value | Looks like | Use when | Default |
109
+ |---|---|---|---|
110
+ | `spin` (value mode) | the ring turns at any share, the arc never under 8% | a process whose share grows while it runs (a sync) | `false` |
111
+ | `legend` | swatch · name · value · share rows beside the ring, below it when narrow | a breakdown read in numbers | `false` |
112
+ | `loading` | a Skeleton ring (and legend lines) of the same geometry | the data is on its way | `false` |
87
113
 
88
114
  ### segmentGap
89
115
  | Value | Looks like | Use when | Default |
@@ -96,15 +122,23 @@ The stroke is always 1/12 of the diameter.
96
122
  |---|---|---|
97
123
  | size / tone | props | `data-size`, `data-tone` (value mode) on the root |
98
124
  | empty | `value` 0, or `segments` empty / all 0 | arc hidden, track only |
99
- | value | `value`, `max` | `aria-valuenow`, `aria-valuemin="0"`, `aria-valuemax`; the arc glides by `stroke-dashoffset` over `slow` |
100
- | segments | `segments`, `max`, `segmentGap` | `data-segment-gap` on the svg, `data-tone` on every arc and cap; arcs glide by dash, caps by `rotate` |
101
- | reduced motion | `prefers-reduced-motion` | arcs change instantly |
125
+ | value | `value`, `max` | `aria-valuenow`, `aria-valuemin="0"`, `aria-valuemax`; `--ring-value` on the svg, the arc glides by `stroke-dashoffset` over `base` |
126
+ | share unknown | `value={null}` | no `aria-valuenow`; `data-spin` on the svg: a quarter arc turning (one turn = 3 × `--prime-motion-loop`); a share that arrives glides out of the quarter |
127
+ | spinning | `spin` | `data-spin` on the svg: the whole svg turns (a compositor transform) while the share glides on its own; the arc is at least 8% |
128
+ | icon change | a new icon in `children` (another `name`) | the old one shrinks to 0.6 and fades, the new one grows in (`fast`) and plays its gesture once; a changing number updates in place |
129
+ | segments | `segments`, `max`, `segmentGap` | `data-segment-gap` on the svg, `data-tone` or `data-color` on every arc and cap; arcs glide by dash, caps by `rotate` |
130
+ | legend | `legend` | `data-legend` on the root, which becomes a wrapping row of the ring and the `<ul>` |
131
+ | loading | `loading` | `aria-busy` on the root; a Skeleton ring (mask of the stroke) and legend lines; the data cross-fades in (`swapMotion`) |
132
+ | reduced motion | `prefers-reduced-motion` | arcs and icons change instantly; a turning ring turns twice as slow and never stops |
102
133
 
103
134
  Always controlled: pass the current `value` or `segments`.
104
135
 
105
136
  ## Layout & spacing
106
- - `display: inline-flex`, never shrinks; a caption sits next to it with `--prime-space-3` or under it with `--prime-space-2`.
107
- - Diameters sit on the 4px grid (`--prime-space-6…20`); the ring geometry is in viewBox units.
137
+ - `display: inline-flex`, never shrinks (with `legend` the root is a block `flex` row); a caption sits next to it with `--prime-space-3` or under it with `--prime-space-2`.
138
+ - Diameters sit on the 4px grid (`--prime-space-6…20`); the ring is placed in CSS (an svg without a viewBox), lengths along it are percent of the circle.
139
+ - Inner content sits in the hole (5/6 of the diameter, clipped), primary, medium weight, tabular numbers.
140
+ - With `legend` the root is a wrapping row: the ring and the legend `--prime-space-5` (20) apart; the legend takes the rest of the row (basis 192) and drops below the ring when that does not fit.
141
+ - `hairline` arcs are ¾ of the stroke apart; arcs start at 12 o'clock and run clockwise.
108
142
 
109
143
  ## Accessibility
110
144
 
@@ -112,8 +146,11 @@ Always controlled: pass the current `value` or `segments`.
112
146
  No keyboard interaction.
113
147
 
114
148
  ### ARIA
115
- - Value mode: the svg is `role="progressbar"` with `aria-valuenow` / `-min` / `-max`; a string or number child becomes `aria-valuetext`.
116
- - Segments mode: the svg is `role="group"`; with `aria-label` it is described by the distribution («Видео: 38%, Документы: 21%»), without it the distribution is its name.
149
+ - Value mode: the svg is `role="progressbar"` with `aria-valuenow` / `-min` / `-max`; a string or number child becomes `aria-valuetext`. With `value={null}` there is no `aria-valuenow` — the share is unknown.
150
+ - The turn never stops under reduced motion (twice as slow): it is the only sign the work goes on.
151
+ - Segments mode: the svg is `role="group"`; with `aria-label` it is described by the distribution («Видео: 38%, Документы: 21%») or by the legend, without it the distribution is its name.
152
+ - A category color always sits beside its name in the legend, so color is never the only cue.
153
+ - While `loading` the root is `aria-busy` and the Skeletons are `aria-hidden`.
117
154
  - Always pass `aria-label`: a caption next to the ring is not linked to it.
118
155
  - The inner text is `aria-hidden` when it is already the `aria-valuetext`.
119
156
 
@@ -131,16 +168,22 @@ No keyboard interaction.
131
168
  | [overview.tsx](examples/overview.tsx) | A plan ring with the percentage in the center, named for screen readers — `value`, `aria-label`. |
132
169
  | [variants.tsx](examples/variants.tsx) | Every arc color; the tone tells the outcome, not the progress — `tone`. |
133
170
  | [sizes.tsx](examples/sizes.tsx) | Diameters 24 to 80 px; the center text is not rendered on `xs` and `s` — `size`. |
171
+ | [states.tsx](examples/states.tsx) | Loading is a Skeleton ring of the same diameter and stroke; the number in the centre waits for the data — `loading`. |
134
172
  | [inner-content.tsx](examples/inner-content.tsx) | The center holds a percentage, a count on its own scale or an icon — `children`, `max`. |
173
+ | [under-way.tsx](examples/under-way.tsx) | An import whose share is not known yet turns a quarter arc, then fills and swaps its icon; a sync turns while its share grows — `value`, `spin`, `children`. |
135
174
  | [segments.tsx](examples/segments.tsx) | Parts of a whole clockwise from the top: a closed ring, free capacity up to `max`, separate arcs and an empty list — `segments`, `segmentGap`. |
175
+ | [legend.tsx](examples/legend.tsx) | A ring of category shares with a legend beside it, in the categories' chart colors — `color`, `legend`, `formatValue`. |
136
176
 
137
177
  ## Mistakes
138
178
  - No `aria-label` (even with a visible caption) → screen readers get an unnamed progressbar.
139
- - Text inside an `xs` / `s` ring → it is not rendered; show it outside.
179
+ - Text inside an `xs` / `s` ring → it is not rendered; show it outside (an icon shows from `s`).
180
+ - A fake indeterminate ring (`value={25}` plus a CSS rotation) → `value={null}`.
181
+ - `onClick` on the ring to cancel → a [Button](../button/COMPONENT.md) `shape="circle"` with `progress`.
140
182
  - `value` and `segments` together → a type error; pick one mode.
141
183
  - `tone` on the root with `segments` → set `tone` on each segment.
142
184
  - Long text inside the ring → it is clipped to the inner circle.
185
+ - Categories painted with `tone` → use `color`; a hand-built legend beside the ring → `legend`.
143
186
 
144
187
  ## Related
145
- - **Built from:** —
146
- - **See also:** [ProgressBar](../progress-bar/COMPONENT.md), [Card](../card/COMPONENT.md), [Spinner](../spinner/COMPONENT.md)
188
+ - **Built from:** [Skeleton](../skeleton/COMPONENT.md), `internal/ring` (the ring drawing, shared with Spinner and the circle Button), `internal/glyphSwap` (the center cross-fade)
189
+ - **See also:** [ProgressBar](../progress-bar/COMPONENT.md), [Card](../card/COMPONENT.md), [Spinner](../spinner/COMPONENT.md), [Button](../button/COMPONENT.md)
@@ -9,6 +9,11 @@
9
9
  gap: var(--prime-space-6);
10
10
  }
11
11
 
12
+ /* A dashboard card as wide as a short form: the legend sits beside the ring or drops under it. */
13
+ .card {
14
+ width: min(100%, var(--prime-modal-width-s));
15
+ }
16
+
12
17
  .item {
13
18
  display: flex;
14
19
  flex-direction: column;