prime-ui-kit 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -9,6 +9,8 @@
9
9
  - Any single-line value: name, e-mail, phone, search query, amount, URL, code.
10
10
  - Search fields with a leading icon and a clear button.
11
11
  - Values with a fixed prefix/suffix (`https://`, domain, `₽`, `%`).
12
+ - Inline editing in a record card: each field saves itself (`onCommit`) on blur and Enter.
13
+ - A value with actions beside it: copy, write, open a profile (`Input.CopyButton`, `Input.Action`); a password with a show toggle (`Input.RevealButton`).
12
14
  - As the reference field: Select, Datepicker, TagSelect and Textarea follow the same label / field / support-row contract.
13
15
 
14
16
  ## When not to use
@@ -32,10 +34,13 @@ Input.Root label row, field body, support row; provides size / invali
32
34
  ├─ Input.Icon decorative icon (start | end)
33
35
  ├─ Input.InlineAffix muted text next to the value (start | end)
34
36
  ├─ Input.Field native <input>
35
- └─ Input.ClearButton trailing clear action: a full-height segment at the end edge
37
+ ├─ Input.ClearButton clear segment (kit-rendered)
38
+ ├─ Input.CopyButton copy segment; the glyph morphs into a check (kit-rendered)
39
+ ├─ Input.RevealButton show / hide a password segment, aria-pressed (kit-rendered)
40
+ └─ Input.Action the consumer's named icon action with a tooltip (button or asChild link)
36
41
  Input.Counter goes into Input.Root `counter` (support row, right side)
37
42
  ```
38
- The trailing side has a fixed CSS `order`, independent of JSX order: value · end inline affix · end icon · clear button · end affix. All `side="start"` slots share one order before the value, so among them the JSX order decides — write them as affix, icon, inline affix.
43
+ The trailing side has a fixed CSS `order`, independent of JSX order: value · end inline affix · commit status (`onCommit`) · end icon · segments · end affix. The segments (`ClearButton`, `CopyButton`, `RevealButton`, `Action`) keep their JSX order among themselves and sit edge to edge, full field height, flush with the end edge. All `side="start"` slots share one order before the value, so among them the JSX order decides — write them as affix, icon, inline affix.
39
44
 
40
45
  ## API
41
46
 
@@ -57,8 +62,9 @@ The trailing side has a fixed CSS `order`, independent of JSX order: value · en
57
62
  | `counter` | `ReactNode` | — | Right side of the support row, usually `<Input.Counter />`. |
58
63
  | `reserveSupportRow` | `boolean` | `false` | Always render the support row (min height = hint line height), so an appearing error does not shift the layout. |
59
64
  | `id` | `string` | — | Id of the `<input>` (auto-generated when omitted); hint id is `<id>-hint`, error id is `<id>-error`. |
60
- | `strength` | `boolean` | `false` | A password strength meter: a stepped `ProgressBar` (4 steps) under the field and the level word at the end of the support row — weak, easy, medium, hard (`labels.strengthWeak` … `strengthHard`), toned danger → warning → accent → success. Follows the value of `Input.Field`, controlled or not. For new-password fields. |
61
- | `getStrength` | `(value: string) => 0 \| 1 \| 2 \| 3 \| 4` | `getPasswordStrength` | Replaces the kit's estimate: every trait adds a point on its own, in any order — lowercase, uppercase, digits, symbols, 10+ and 14+ characters; 0–2 points weak, 3 easy, 4 medium, 5+ hard, and under 8 characters at most easy. Return 0 for empty, 1 weak … 4 hard. A hint for the person typing, not a security check. |
65
+ | `strength` | `boolean` | `false` | A password strength meter for new-password fields: a stepped `ProgressBar` under the field and the level word (weak … hard) in the support row. Follows the value of `Input.Field`. |
66
+ | `getStrength` | `(value: string) => 0 \| 1 \| 2 \| 3 \| 4` | `getPasswordStrength` | Replaces the kit's estimate of `strength`. Return 0 for empty, 1 weak … 4 hard. A hint for the person typing, not a security check. |
67
+ | `onCommit` | `(value: string) => void \| Promise<void>` | — | Inline save: fires with a changed value on blur and Enter; Escape reverts. Return a Promise: the field shows a spinner and stays editable; a rejection restores the value — show why through `error`. |
62
68
  | `labels` | `Partial<InputLabels>` | — | Built-in strings, see Labels. |
63
69
  | `children` | `ReactNode` | — (required) | Usually `Input.Wrapper`. |
64
70
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "id" \| "children" \| "defaultValue" \| "defaultChecked" \| "onChange">` | — | `className`, `data-*` and the other attributes of the field frame `<div>` (field-root rule: `className`, `ref` and the rest → frame, `id` → control). |
@@ -68,11 +74,11 @@ The trailing side has a fixed CSS `order`, independent of JSX order: value · en
68
74
 
69
75
  | Prop | Type | Default | Description |
70
76
  |---|---|---|---|
71
- | `children` | `ReactNode` | — (required) | `Field` and the slots: `Icon`, `Affix`, `InlineAffix`, `ClearButton`. |
77
+ | `children` | `ReactNode` | — (required) | `Field` and the slots: `Icon`, `Affix`, `InlineAffix`; the end segments `ClearButton`, `CopyButton`, `RevealButton`, `Action` in source order. |
72
78
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `className` and the other attributes of the `<div>`. |
73
79
 
74
80
  ### Input.Field
75
- `ref` → `HTMLInputElement`. The native `<input>`; `id`, `aria-invalid` and `aria-describedby` come from the root.
81
+ `ref` → `HTMLInputElement`. The native `<input>`; `id`, `aria-invalid` and `aria-describedby` come from the root, `disabled` also from a disabled `Fieldset` around it.
76
82
 
77
83
  | Prop | Type | Default | Description |
78
84
  |---|---|---|---|
@@ -116,6 +122,31 @@ The trailing side has a fixed CSS `order`, independent of JSX order: value · en
116
122
  | `onClick` | `MouseEventHandler<HTMLButtonElement>` | — | Clear the value here. Afterwards focus returns to the input unless `event.preventDefault()` was called. |
117
123
  | `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" \| "children" \| "aria-label">` | — | The other button attributes. |
118
124
 
125
+ ### Input.CopyButton
126
+ `ref` → `HTMLButtonElement`. Copies the field's value as a full-height segment at the end edge: the copy glyph morphs into a check, the name and tooltip switch to `labels.copied` (`labels.copyError` when the clipboard refuses), a polite live region repeats it.
127
+
128
+ | Prop | Type | Default | Description |
129
+ |---|---|---|---|
130
+ | `value` | `string` | `the field's value` | Text to copy instead of the field's current value. |
131
+ | `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" \| "children" \| "aria-label">` | — | `onClick`, `disabled` and the other button attributes. |
132
+
133
+ ### Input.RevealButton
134
+ `ref` → `HTMLButtonElement`. A full-height toggle segment that shows a `type="password"` field as text and back (`aria-pressed`, named by `labels.reveal`); the focus, caret and selection stay in the field.
135
+
136
+ | Prop | Type | Default | Description |
137
+ |---|---|---|---|
138
+ | `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" \| "children" \| "aria-label" \| "aria-pressed">` | — | The other button attributes. |
139
+
140
+ ### Input.Action
141
+ `ref` → `HTMLButtonElement` (the child with `asChild`). The consumer's icon action at the end edge («Позвонить», «Открыть профиль»): a full-height button segment named by `label`, with a tooltip and the touch hit area.
142
+
143
+ | Prop | Type | Default | Description |
144
+ |---|---|---|---|
145
+ | `label` | `string` | — (required) | Accessible name and tooltip («Позвонить», «Открыть профиль»). |
146
+ | `asChild` | `boolean` | `false` | Renders the one child (an `<a href>`, a router link) with the segment's look; `disabled` becomes `aria-disabled`. |
147
+ | `children` | `ReactNode` | — (required) | The glyph (`<Icon name>`), or with `asChild` the element that carries it. |
148
+ | `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "aria-label" \| "children">` | — | `onClick`, `disabled` and the other button attributes. |
149
+
119
150
  ### Input.Counter
120
151
  `ref` → `HTMLSpanElement`. Character counter for the support row; shows `14/40` and announces `labels.counter`.
121
152
 
@@ -133,7 +164,7 @@ Input has no `variant` or `tone`: there is one field treatment (fill, no visible
133
164
  |---|---|---|---|
134
165
  | `xs` | 28 high, text 12/16, padX 8, radius 6, label 12/16, hint 12/16 | Dense table toolbars, inline filters | |
135
166
  | `s` | 32 high, text 13/20, padX 8, radius 8, label 12/16, hint 12/16 | Compact panels, side filters | |
136
- | `m` | 36 high, text 14/20, padX 12, radius 8, label 13/20, hint 12/16 | Regular forms and pages | yes |
167
+ | `m` | 36 high, text 14/20, padX 12, radius 8, label 13/20, hint 12/16 | Regular forms and pages | yes (without `size`: the host's tier, else `m`) |
137
168
  | `l` | 40 high, text 16/24, padX 12, radius 10, label 14/20, hint 13/20 | Spacious forms, onboarding | |
138
169
  | `xl` | 48 high, text 16/24, padX 16, radius 12, label 14/20, hint 13/20 | Hero search, landing forms | |
139
170
 
@@ -167,13 +198,22 @@ Input has no `variant` or `tone`: there is one field treatment (fill, no visible
167
198
  | focus | keyboard focus on the input | wrapper gets the focus fill and an inset focus ring (`:has(input:focus-visible)`) |
168
199
  | no focus ring | `focusRing={false}` | `data-focus-ring="false"` on the wrapper |
169
200
  | invalid | `invalid` or non-empty `error` | `data-invalid="true"` on root and wrapper, `aria-invalid="true"` on the input, danger inset ring, danger focus ring; the control shakes once when an error arrives (`data-shake` on the frame) |
170
- | disabled | native `disabled` on `Input.Field` | disabled fill, disabled text and icons, `cursor: not-allowed`, clear button disabled look |
201
+ | disabled | native `disabled` on `Input.Field`, or a disabled `Fieldset` around it | disabled fill, disabled text and icons, `cursor: not-allowed`, clear button disabled look |
171
202
  | read-only | native `readOnly` on `Input.Field` | no hover, default cursor |
172
203
  | reserved support row | `reserveSupportRow` | `data-reserve="true"` on the support row |
173
204
  | counter over limit | `current > max` | `data-invalid="true"` on `Input.Counter`; the current count rolls its digits to each new value |
174
205
  | strength | `strength` + the value of `Input.Field` | a stepped `ProgressBar` (4 cells, `aria-label` = `labels.strength`) under the field fills one cell after another, weak · easy · medium · hard, toned danger → warning → accent → success; the level word at the end of the support row flows in letter by letter and is announced (`aria-live`); the support row is reserved |
206
+ | saving | `onCommit` returned a pending Promise | `aria-busy="true"` on the input; a `Spinner` at the end of the field (`data-commit="pending"`); the field stays editable and focusable, neighbours are untouched; a live region says `labels.saving` |
207
+ | saved | the Promise resolved (or `onCommit` returned nothing) | the spinner cross-fades into a success check (`data-commit="saved"`) that fades out after a moment; the live region says `labels.saved` |
208
+ | save refused | the Promise rejected | the committed value is put back (unless the person typed on), the status leaves; the owner shows why through `error` |
209
+ | password shown | `Input.RevealButton` pressed | `aria-pressed="true"` on the button, `type="text"` on the input, the eye glyph switches to eye-off; caret and selection kept |
210
+ | copied | `Input.CopyButton` pressed | the copy glyph cross-fades into a check, the button name becomes `labels.copied` (or `labels.copyError`) |
211
+
212
+ Size: `data-size` on root and wrapper. Slots: `data-side="start" | "end"`. Segments: `data-field-action`.
213
+
214
+ Inline save (`onCommit`): the value at focus is the committed one. Blur and Enter commit a changed value (an unchanged one never fires); Escape puts the committed value back through the field's own `onChange`, so a controlled owner receives it, and is consumed — it does not also close the drawer around the field. Return a Promise for a server save: pending shows a spinner, reject restores the value, resolve shows the check.
175
215
 
176
- Size: `data-size` on root and wrapper. Slots: `data-side="start" | "end"`.
216
+ Strength estimate (`strength`, replaced by `getStrength`): every trait adds a point on its own, in any order — lowercase, uppercase, digits, symbols, 10+ and 14+ characters; 0–2 points weak, 3 easy, 4 medium, 5+ hard, and under 8 characters at most easy. The meter follows `Input.Field` controlled or not.
177
217
 
178
218
  Controlled: `value` + `onChange` (or `onValueChange`) on `Input.Field`. Uncontrolled: `defaultValue`. Both are native input props.
179
219
 
@@ -189,14 +229,19 @@ Controlled: `value` + `onChange` (or `onValueChange`) on `Input.Field`. Uncontro
189
229
  ### Keyboard
190
230
  | Key | Action |
191
231
  |---|---|
192
- | `Tab` | Focuses the field, then the clear button when it is shown. |
193
- | `Enter` · `Space` | On the clear button: clears the value and returns focus to the field. |
232
+ | `Tab` | Focuses the field, then the segments at its end (clear, copy, reveal, actions). |
233
+ | `Enter` · `Space` | On a segment: runs its action (the clear button returns focus to the field). |
234
+ | `Enter` | With `onCommit`: saves a changed value; focus stays in the field. |
235
+ | `Escape` | With `onCommit`: puts the committed value back. |
194
236
 
195
237
  ### ARIA
196
238
  - `label` renders a `<label htmlFor>` bound to the input. Without `label`, set `aria-label` on `Input.Field`. A placeholder never replaces the label.
197
239
  - Hint and error are linked through `aria-describedby`; the error replaces the hint and sets `aria-invalid="true"`.
198
240
  - `Input.Icon`, `Input.Affix`, `Input.InlineAffix` are `aria-hidden`: put the meaning in the label (e.g. "Сумма, ₽").
199
241
  - `Input.ClearButton` is a real button named by `labels.clear`, with `aria-controls` on the input.
242
+ - `Input.Action` and `Input.CopyButton` are buttons (or a link with `asChild`) named by their label, with a tooltip; copying announces `labels.copied` through a polite live region.
243
+ - `Input.RevealButton` is a toggle: a constant name `labels.reveal`, `aria-pressed` and `aria-controls` on the input; a pointer press keeps the focus in the field.
244
+ - With `onCommit` the input carries `aria-busy="true"` while saving; a polite live region says `labels.saving`, then `labels.saved`.
200
245
  - `Input.Counter` shows `14/40` visually and announces `labels.counter` through `aria-live="polite"`.
201
246
 
202
247
  ### Labels
@@ -206,6 +251,12 @@ Controlled: `value` + `onChange` (or `onValueChange`) on `Input.Field`. Uncontro
206
251
  |---|---|---|
207
252
  | `optional` | `"необязательно"` | Marker after the label when `optional`. |
208
253
  | `clear` | `"Очистить"` | Accessible name of `Input.ClearButton`. |
254
+ | `copy` | `"Копировать"` | Name and tooltip of the copy button. |
255
+ | `copied` | `"Скопировано"` | Name, tooltip and announcement once the value is copied. |
256
+ | `copyError` | `"Не удалось скопировать"` | Name, tooltip and announcement when the clipboard refuses. |
257
+ | `reveal` | `"Показать пароль"` | Accessible name of `Input.RevealButton`;`aria-pressed` says whether the password is shown. |
258
+ | `saving` | `"Сохранение"` | Announced while an `onCommit` save is pending. |
259
+ | `saved` | `"Сохранено"` | Announced once an `onCommit` save succeeds. |
209
260
  | `counter` | `"{current} из {max} символов"` | Screen-reader text of `Input.Counter`; `{current}` and `{max}` are replaced. |
210
261
  | `strength` | `"Надёжность пароля"` | Accessible name of the `strength` meter and the spoken prefix of the level word. |
211
262
  | `strengthWeak` | `"Слабый"` | Level word for strength 1. |
@@ -223,7 +274,9 @@ Controlled: `value` + `onChange` (or `onValueChange`) on `Input.Field`. Uncontro
223
274
  | [with-icon.tsx](examples/with-icon.tsx) | A decorative icon at either end of the value — `Input.Icon`, `side`. |
224
275
  | [affixes.tsx](examples/affixes.tsx) | A fixed prefix and suffix flush with the edges and a unit next to the value — `Input.Affix`, `Input.InlineAffix`. |
225
276
  | [without-focus-ring.tsx](examples/without-focus-ring.tsx) | A single search field where the caret and the lighter fill show focus — `focusRing`. |
226
- | [password-strength.tsx](examples/password-strength.tsx) | A new password with a meter that fills step by step and names the level beside the hint — `strength`. |
277
+ | [password-strength.tsx](examples/password-strength.tsx) | A new password with a show toggle and a meter that fills step by step and names the level beside the hint — `Input.RevealButton`, `strength`. |
278
+ | [edge-actions.tsx](examples/edge-actions.tsx) | Actions at the field's end: a mail link with a tooltip beside copying the value, and a profile link on a read-only field — `Input.Action`, `Input.CopyButton`. |
279
+ | [inline-edit.tsx](examples/inline-edit.tsx) | Record card fields that save on blur and Enter, revert on Escape and show the server's refusal — `onCommit`, `error`. |
227
280
  | [controlled.tsx](examples/controlled.tsx) | The parent owns the value: a clear button and a character counter follow it — `value`, `onValueChange`, `Input.ClearButton`, `Input.Counter`. |
228
281
  | [in-form.tsx](examples/in-form.tsx) | Company details form: required fields checked on submit, each error leaves as its field is fixed and a saved form turns the button green; neighbours keep their bottoms aligned — `required`, `error`, `reserveSupportRow`. |
229
282
 
@@ -235,7 +288,10 @@ Controlled: `value` + `onChange` (or `onValueChange`) on `Input.Field`. Uncontro
235
288
  - Rendering `Input.ClearButton` for an empty field → render it only when there is a value.
236
289
  - Setting `className` with a custom border or background on `Input.Wrapper` → the fill comes from the surface context; fields inside Card/Modal already switch.
237
290
  - `tone="danger"` / `error` as a boolean → use `invalid` or an `error` message.
291
+ - A `Button` placed next to the field for «copy» or «call» → `Input.CopyButton` / `Input.Action` inside `Input.Wrapper`.
292
+ - Hand-written blur / Enter / Escape handlers and a `disabled` field while saving → `onCommit` returning the save Promise; the field stays editable.
293
+ - Returning `false` from `onCommit` to refuse → reject the Promise (throw) and set `error`.
238
294
 
239
295
  ## Related
240
- - **Built from:** [Label](../label/COMPONENT.md) (`label`), [Hint](../hint/COMPONENT.md) (`hint`, `error`), `Icon` (`Input.ClearButton`)
296
+ - **Built from:** [Label](../label/COMPONENT.md) (`label`), [Hint](../hint/COMPONENT.md) (`hint`, `error`), [Tooltip](../tooltip/COMPONENT.md) (`Input.Action`, `Input.CopyButton`), [Spinner](../spinner/COMPONENT.md) (`onCommit`), [ProgressBar](../progress-bar/COMPONENT.md) (`strength`), `Icon` (segments)
241
297
  - **See also:** [Textarea](../textarea/COMPONENT.md), [Select](../select/COMPONENT.md), [Datepicker](../datepicker/COMPONENT.md), [TagSelect](../tag-select/COMPONENT.md) — fields with the same contract
@@ -0,0 +1,30 @@
1
+ /** Actions at the field's end: a mail link with a tooltip beside copying the value, and a profile link on a read-only field — `Input.Action`, `Input.CopyButton`. */
2
+ import { Icon, Input } from "prime-ui-kit";
3
+
4
+ export default function InputEdgeActionsExample() {
5
+ return (
6
+ <>
7
+ <Input.Root label="Почта контакта">
8
+ <Input.Wrapper>
9
+ <Input.Field type="email" defaultValue="i.sokolova@severny-veter.ru" />
10
+ <Input.Action label="Написать письмо" asChild>
11
+ <a href="mailto:i.sokolova@severny-veter.ru">
12
+ <Icon name="field.email" />
13
+ </a>
14
+ </Input.Action>
15
+ <Input.CopyButton />
16
+ </Input.Wrapper>
17
+ </Input.Root>
18
+ <Input.Root label="Ответственный">
19
+ <Input.Wrapper>
20
+ <Input.Field readOnly defaultValue="Анна Ковалёва" />
21
+ <Input.Action label="Открыть профиль" asChild>
22
+ <a href="#team-kovaleva">
23
+ <Icon name="object.user" />
24
+ </a>
25
+ </Input.Action>
26
+ </Input.Wrapper>
27
+ </Input.Root>
28
+ </>
29
+ );
30
+ }
@@ -0,0 +1,52 @@
1
+ /** Record card fields that save on blur and Enter, revert on Escape and show the server's refusal — `onCommit`, `error`. */
2
+ import { Input } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ const SAVE_DELAY_MS = 900;
6
+
7
+ /** Stands in for the API call: an empty value is refused like a server validation error. */
8
+ function saveField(value: string) {
9
+ return new Promise<void>((resolve, reject) => {
10
+ window.setTimeout(() => {
11
+ if (value.trim() === "") reject(new Error("Поле не может быть пустым"));
12
+ else resolve();
13
+ }, SAVE_DELAY_MS);
14
+ });
15
+ }
16
+
17
+ export default function InputInlineEditExample() {
18
+ const [company, setCompany] = React.useState("ООО «Северный ветер»");
19
+ const [manager, setManager] = React.useState("Анна Ковалёва");
20
+ const [companyError, setCompanyError] = React.useState<string>();
21
+ const [managerError, setManagerError] = React.useState<string>();
22
+
23
+ const commitWith = (setError: (error: string | undefined) => void) => async (value: string) => {
24
+ setError(undefined);
25
+ try {
26
+ await saveField(value);
27
+ } catch (reason) {
28
+ setError(reason instanceof Error ? reason.message : "Не удалось сохранить");
29
+ throw reason;
30
+ }
31
+ };
32
+
33
+ return (
34
+ <>
35
+ <Input.Root
36
+ label="Компания"
37
+ hint="Сохраняется при выходе из поля и по Enter, Escape отменяет правку"
38
+ error={companyError}
39
+ onCommit={commitWith(setCompanyError)}
40
+ >
41
+ <Input.Wrapper>
42
+ <Input.Field value={company} onValueChange={setCompany} />
43
+ </Input.Wrapper>
44
+ </Input.Root>
45
+ <Input.Root label="Ответственный" error={managerError} onCommit={commitWith(setManagerError)}>
46
+ <Input.Wrapper>
47
+ <Input.Field value={manager} onValueChange={setManager} />
48
+ </Input.Wrapper>
49
+ </Input.Root>
50
+ </>
51
+ );
52
+ }
@@ -1,4 +1,4 @@
1
- /** A new password with a meter that fills step by step and names the level beside the hint — `strength`. */
1
+ /** A new password with a show toggle and a meter that fills step by step and names the level beside the hint — `Input.RevealButton`, `strength`. */
2
2
  import { Input } from "prime-ui-kit";
3
3
 
4
4
  export default function InputPasswordStrengthExample() {
@@ -6,6 +6,7 @@ export default function InputPasswordStrengthExample() {
6
6
  <Input.Root label="Новый пароль" hint="Не короче 8 символов" strength>
7
7
  <Input.Wrapper>
8
8
  <Input.Field type="password" autoComplete="new-password" defaultValue="Graphite2026" />
9
+ <Input.RevealButton />
9
10
  </Input.Wrapper>
10
11
  </Input.Root>
11
12
  );
@@ -15,58 +15,82 @@
15
15
  - One list to reorder, or items carried onto folders or assignees → use [Dnd](../dnd/COMPONENT.md) directly.
16
16
  - A linear process the user walks through once → use [Stepper](../stepper/COMPONENT.md).
17
17
  - A history of events → use [Timeline](../timeline/COMPONENT.md).
18
+ - Work planned on dates, where duration and overlap matter → use [Gantt](../gantt/COMPONENT.md).
18
19
 
19
20
  ## Import
20
21
  ```tsx
21
- import { Kanban, type KanbanColumn, type KanbanMove, type KanbanValue } from "prime-ui-kit";
22
+ import {
23
+ Kanban,
24
+ type KanbanColumn,
25
+ type KanbanColumnMove,
26
+ type KanbanMove,
27
+ type KanbanValue,
28
+ } from "prime-ui-kit";
22
29
  ```
23
30
 
24
31
  ## Anatomy
25
32
  ```
26
- Kanban.Root board: horizontal strip of columns, its own Dnd.Root if none above
27
- └─ column (from `columns`) `fill-muted` well (one ladder step off the board's surface); header + own vertical scroll
28
- ├─ header title (h3) · count Badge · renderColumnActions(column)
29
- └─ <ul> (Dnd.Sortable) drop area; Skeleton cards while loading; EmptyPage when empty
30
- └─ Kanban.Item <li> card from renderItem(item)
31
- ├─ Kanban.ItemTitle title, up to three lines
32
- ├─ Kanban.ItemDescription muted meta line: id, due date
33
- ├─ Kanban.ItemBadges wrapping row of Badge
34
- └─ Kanban.ItemFooter row: Kanban.ItemCount … at the start, the assignee at the end
35
- └─ Kanban.ItemCount icon + number
33
+ Kanban.Root board: horizontal strip of columns, its own Dnd.Root if none above
34
+ └─ <ul> (Dnd.Sortable, axis x) the columns in `columnOrder`
35
+ └─ <li> column (from `columns`) `fill-muted` well (one ladder step off the board's surface)
36
+ ├─ header title (h3) · count Badge (the stage color) · renderColumnActions(column) · [grip Dnd.Handle, a lock when `locked`]
37
+ │ ├─ description muted line under the title (`column.description`)
38
+ │ └─ meta the stage's figures (`renderColumnMeta(column)`)
39
+ └─ <ul> (Dnd.Sortable) own vertical scroll; Skeleton cards while loading; EmptyPage (Dnd `empty`) when empty
40
+ └─ Kanban.Item <li> card from renderItem(item)
41
+ ├─ Kanban.ItemHeader optional top row over a faint hairline: key · priority (or a full-width Thumbnail cover)
42
+ ├─ Kanban.ItemTitle title, up to three lines
43
+ ├─ Kanban.ItemDescription muted meta line: id, due date
44
+ ├─ Kanban.ItemBadges wrapping row of Badge
45
+ └─ Kanban.ItemFooter row: Kanban.ItemCount … at the start, the assignee at the end
46
+ └─ Kanban.ItemCount icon + number
36
47
  ```
37
- Columns and cards are application data (`columns`, `items`); the board state is where each card stands: `value` maps a column id to its card ids in order. A card in flight is drawn by Dnd as a lifted clone; the column under it opens a gap where it lands.
48
+ Columns and cards are application data (`columns`, `items`); the board state is where each card stands: `value` maps a column id to its card ids in order, and `columnOrder` is the order of the columns. A card in flight is drawn by Dnd as a lifted clone; the column under it opens a gap where it lands.
38
49
 
39
50
  ## API
40
51
 
41
52
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
42
53
 
43
54
  ### Kanban.Root
44
- Generic `Kanban.Root<T>`; `ref` → `HTMLDivElement`. The board: a strip of columns that scrolls sideways inside itself, each column a labelled `<ul>` of cards under a header with the title, a count `Badge` and actions. Mounts its own `Dnd.Root` unless one is already above it. Sets `aria-busy` while loading, `data-loading`, `data-disabled`.
55
+ Generic `Kanban.Root<T>`; `ref` → `HTMLDivElement`. The board: a strip of columns that scrolls sideways inside itself, each a labelled list of cards under a header. Mounts its own `Dnd.Root` unless one is above it. Give it a height.
45
56
 
46
57
  | Prop | Type | Default | Description |
47
58
  |---|---|---|---|
48
- | `columns` | `readonly KanbanColumn[]` | — (required) | Columns in their order: `{ id, title, limit? }`; `limit` is a WIP limit — a full column refuses cards from other columns and its count turns orange (`count / limit`). |
59
+ | `columns` | `readonly KanbanColumn[]` | — (required) | Every column: `{ id, title, description?, color?, limit?, locked? }`, drawn in `columnOrder`. `color` is a `PaletteColor` for the count badge, `limit` a WIP limit, `locked` keeps a system stage in place. |
49
60
  | `items` | `readonly T[]` | — (required) | Every card the board can show; `value` decides where each one stands. |
50
61
  | `getId` | `(item: T) => string` | — (required) | Stable unique id of a card, the one used in `value`. |
51
62
  | `getLabel` | `(item: T) => string` | `the id` | Spoken by the live region. |
52
63
  | `value` | `KanbanValue` | — | Card ids per column (controlled): `{ [columnId]: id[] }`. Ids missing from `items` are skipped. |
53
64
  | `defaultValue` | `KanbanValue` | `{}` | Initial card ids per column (uncontrolled). |
54
- | `onValueChange` | `(value: KanbanValue, move: KanbanMove) => void` | — | A card moved by pointer, touch or keyboard: the new placement, then `{ id, from, to, index }` to save. |
65
+ | `onValueChange` | `(value: KanbanValue, move: KanbanMove) => void \| Promise<void>` | — | A card moved: the new placement, then `{ id, from, to, index }` to save. Return the save's promise: the card waits busy in its new place; a rejection glides it back. |
66
+ | `reorderableColumns` | `boolean` | `false` | A grip (`Dnd.Handle`) at the end of every column header moves the column by pointer, touch hold and Alt + ← / →; the cards travel with it. |
67
+ | `columnOrder` | `readonly string[]` | — | Column ids in their order (controlled). Columns it does not name follow in `columns` order. |
68
+ | `defaultColumnOrder` | `readonly string[]` | `the order of `columns`` | Initial column ids in their order (uncontrolled). |
69
+ | `onColumnOrderChange` | `(order: readonly string[], move: KanbanColumnMove) => void \| Promise<void>` | — | A column moved: the new order, then `{ id, index }` to save. Return the save's promise: the column waits busy in its new place; a rejection glides it back. |
55
70
  | `renderItem` | `(item: T) => ReactNode` | — (required) | Renders one card; return a `Kanban.Item`. |
56
71
  | `renderColumnActions` | `(column: KanbanColumn) => ReactNode` | — | Trailing actions of a column header (add a card, a menu); kit controls inside take the `s` tier. |
57
- | `canDrop` | `(id: string, columnId: string) => boolean` | — | A workflow rule: refuses card `id` in column `columnId`; the column turns `danger` before the release and a keyboard move is announced as refused. |
72
+ | `renderColumnMeta` | `(column: KanbanColumn) => ReactNode` | — | The meta line under a column's title and description: the stage's figures («12 сделок · 4,8 млн ₽»). |
73
+ | `canDrop` | `(id: string, columnId: string) => boolean \| string` | — | A workflow rule: refuses card `id` in column `columnId` — `false`, or a string that says why (spoken and shown under the carried card). |
74
+ | `variant` | `"well" \| "plain"` | `"well"` | `well`: every column is a filled well with its cards inside. `plain`: no wells — a filled header plate and wider cards carry the column. |
58
75
  | `loading` | `boolean` | `false` | Columns show skeleton cards in the card geometry; the cards cross-fade in when it turns off. |
59
- | `disabled` | `boolean` | `false` | Read-only board: no drag, no keyboard moves; clicks on cards still work. |
76
+ | `disabled` | `boolean` | `false` | Read-only board: no drag, no keyboard moves, no column grips; clicks on cards still work. |
60
77
  | `labels` | `Partial<KanbanLabels>` | — | Built-in strings, see Labels. |
61
78
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children" \| "defaultValue">` | — | `className` (the board height), `aria-label` and the other div attributes. |
62
79
 
63
80
  ### Kanban.Item
64
- `ref` → `HTMLLIElement`. One card: an `<li>` two ladder steps lighter than its column (`control-selected`: white in light) with the raised shadow, lifted to the overlay shadow on hover; return it from `renderItem` (it takes its id from there). Draggable by the whole card, focusable, `aria-keyshortcuts` for Alt + arrows. Presses on buttons, fields and links inside never start a drag.
81
+ `ref` → `HTMLLIElement`. One card; return it from `renderItem` (it takes its id from there). Dragged by the whole card and focusable; presses on buttons, fields and links inside never start a drag.
65
82
 
66
83
  | Prop | Type | Default | Description |
67
84
  |---|---|---|---|
68
85
  | `disabled` | `boolean` | `false` | This card cannot be dragged or moved. |
69
- | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "id">` | — | `children` (the card parts), `className`, `onClick` and the other attributes; `onKeyDown` runs first, `preventDefault()` keeps the move from happening. |
86
+ | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "id">` | — | `children` (the card parts), `className`, `onClick` and the other attributes. |
87
+
88
+ ### Kanban.ItemHeader
89
+ `ref` → `HTMLDivElement`. Optional top row of a card: the key or project at the start, the last child (a priority `Badge`, an assignee) at the end.
90
+
91
+ | Prop | Type | Default | Description |
92
+ |---|---|---|---|
93
+ | `…rest` | `HTMLAttributes<HTMLDivElement>` | — | `children`, `className` and the other div attributes. |
70
94
 
71
95
  ### Kanban.ItemTitle · Kanban.ItemDescription
72
96
  `ref` → `HTMLSpanElement`. The card title (medium body text, up to three lines) and the muted meta line under it (id, due date; one line, tabular numbers).
@@ -98,13 +122,21 @@ Generic `Kanban.Root<T>`; `ref` → `HTMLDivElement`. The board: a strip of colu
98
122
 
99
123
  ## Variants
100
124
 
101
- The board has no visual variants: one look, fills over lines.
125
+ | Value | Looks like | Use when | Default |
126
+ |---|---|---|---|
127
+ | `well` | every column is a filled well (`fill-muted`, radius `l`), cards inside it | the default board; columns must read as areas | yes |
128
+ | `plain` | no wells: the column is its header — a filled plate (`fill-muted`, radius `l`) as wide as the cards — and its cards, which widen to almost the full column, so neighbouring columns stand closer | a lighter board on a page that already has its own surface | |
102
129
 
103
130
  ### Flags
104
131
  | Value | Looks like | Use when | Default |
105
132
  |---|---|---|---|
106
- | `limit` (column) | count reads `count / limit`, orange when full; a full column refuses cards from others | a WIP limit per status | — |
107
- | `canDrop` | the column turns `danger` under a refused card; a keyboard move is announced as refused | workflow rules (a blocked ticket cannot be closed) | — |
133
+ | `limit` (column) | count reads `count / limit`, orange when full; a full column refuses cards from others with the reason `labels.full` | a WIP limit per status | — |
134
+ | `description` (column) | a muted caption line under the column title, one line with an ellipsis | the column's rule or meaning («Ответить в течение дня») | — |
135
+ | `renderColumnMeta` | a caption line in tabular digits under the description | the stage's figures («2 сделки · 576 000 ₽») | — |
136
+ | `color` (column) | the count Badge in the stage's hue (soft) | telling stages apart, matching their color elsewhere; the title still names the column | — |
137
+ | `locked` (column) | a lock where the grip would be; the column holds its place, no column moves past it | system stages: the first «Новые», the last «Закрыто» | — |
138
+ | `reorderableColumns` | a ghost grip at the end of every column header, after the actions; the column is carried by it | the user arranges the stages | `false` |
139
+ | `canDrop` | the column turns `danger` under a refused card; a string reason is spoken and shown under the carried card; a keyboard move is announced as refused | workflow rules (a blocked ticket cannot be closed) | — |
108
140
  | `loading` | skeleton cards in the card geometry, no counts | the first load or a refresh | `false` |
109
141
  | `disabled` | cards do not drag, Alt + arrows do nothing | read-only boards, no permission | `false` |
110
142
 
@@ -113,20 +145,31 @@ The board has no visual variants: one look, fills over lines.
113
145
  |---|---|---|
114
146
  | idle | — | cards show `cursor: grab`; under a mouse the card lifts to `--prime-shadow-overlay` (`@media (hover: hover)` only) — no wash: a wash is one ladder step, the column's own color |
115
147
  | carried | a drag | Dnd: the clone lifts on `--prime-shadow-modal`, a dashed accent gap opens where the card lands, cards glide aside |
116
- | over a column | pointer over another column | the gap opens there; an empty column's well fades out |
117
- | refused | `limit` reached, `canDrop` returns `false` | `data-dnd-reject` on the `<ul>`: `danger-soft` fill |
148
+ | column carried | a drag by the column grip | the same for the whole column: its clone lifts with its cards, a column-sized gap opens in the strip, the columns glide aside |
149
+ | over a column | pointer over another column | the gap opens there; an empty column's slot fades out |
150
+ | refused | `limit` reached, `canDrop` returns `false` or a reason | `data-dnd-reject` on the `<ul>`: `danger-soft` fill; the reason in a chip under the carried card |
151
+ | locked column | `locked` | `data-locked` on the column; the grip is a lock named «Закреплено» |
118
152
  | full | count ≥ `limit` | `data-full` on the column, orange count `count / limit` |
119
- | empty | no cards | a compact `EmptyPage` («Нет карточек») in an 80 px well at the top; the whole column stays a drop area |
153
+ | empty | no cards | a compact `EmptyPage` in a dashed drop slot at the top (`fill-strong` dashed line, no fill): «Нет карточек» and the hint «Перетащите сюда карточку» (not on a `disabled` board); the whole column stays a drop area |
120
154
  | loading | `loading` | `aria-busy` and `data-loading` on the root; `Skeleton` cards; `Crossfade` swaps them for the cards |
121
- | disabled | `disabled` / `Kanban.Item disabled` | `data-disabled` on the root / card; no `aria-roledescription`, no shortcuts |
155
+ | disabled | `disabled` / `Kanban.Item disabled` | `data-disabled` on the root / card; no `aria-roledescription`, no shortcuts, no column grips |
156
+ | saving | `onValueChange` / `onColumnOrderChange` returned a pending promise | the card (column) stays in its new place with `aria-busy` and `data-pending`; a card's content quiets to 0.6 under a centred `Spinner`, a column's heading quiets and a spinner stands in for its grip; it does not move again until the answer |
157
+ | refused save | the promise rejected | the card glides back to its old column and place (every card it pushed aside glides too), a column glides back in the strip; `labels.moveFailed` / `labels.columnMoveFailed` is announced |
158
+
159
+ Motion: the hover lift (shadow, the card rises above its neighbours) and the empty slot fade (`fast`, `standard`); a card dropped under the mouse lands straight into its hover lift (`data-dnd-hover`); the swap from skeletons is `Crossfade`; drag motion is Dnd's (lift, gap, glide, landing); a saving card or column quiets (`fast`, both ways) and its spinner enters (`enterMotion`); a refused save glides back (`base`), never jumps. Under `prefers-reduced-motion` all of it is off.
122
160
 
123
- Motion: the hover lift (shadow, the card rises above its neighbours) and the empty well fade (`fast`, `standard`); a card dropped under the mouse lands straight into its hover lift (`data-dnd-hover`); the swap from skeletons is `Crossfade`; drag motion is Dnd's (lift, gap, glide, landing). Under `prefers-reduced-motion` all of it is off.
161
+ A card's own `onKeyDown` runs before the board's: `preventDefault()` in it keeps the move from happening. A controlled owner applies the new `value` (or `columnOrder`) once the request succeeds — in the promise chain, before the returned promise resolves — never before the answer.
124
162
 
125
163
  ## Layout & spacing
126
164
  - Give the root a height (`className`): columns span it and every column body scrolls on its own; without one the columns take the height of the tallest.
127
165
  - The board is a size container. From 40rem of its own width columns keep a fixed 18rem; below it a column takes 85% of the board and snaps (`scroll-snap-type: x mandatory`), so the next column peeks. Snapping is off while a drag auto-scrolls the strip.
128
166
  - The strip scrolls sideways inside the board, never the page. Cards sit at the top of their column; the drop area runs to the bottom of the column, so a card can be released anywhere in it.
129
- - Column gap `--prime-space-3`, card gap `--prime-space-2`, card padding `--prime-space-3`, column radius `l`, card radius `m`.
167
+ - `well`: column gap `--prime-space-3`, cards inset `--prime-space-2` from the column edge, column radius `l`. `plain`: column gap `--prime-space-3`, cards inset `--prime-space-1` (room for the focus ring). Card gap `--prime-space-2`, card padding `--prime-space-3`, card radius `m`.
168
+ - The column title is `title-m`; the header is at least a control `m` tall, its text starts where the card text does.
169
+ - A faint inset hairline (`--prime-color-border-faint`, as in a dialog header) separates the header from the cards.
170
+ - The header is a grid: the title, the count, the actions and the grip at the end on the first row; the description under the title on the second, the meta line under it (`--prime-space-1` above, caption, `text-secondary`).
171
+ - A card is `--prime-color-control-selected` (two ladder steps off its column; white in light) on `--prime-shadow-raised`.
172
+ - `Kanban.ItemHeader` is a muted caption row over a faint hairline (`--prime-color-border-faint`); a card without it starts with its title or a full-width `Thumbnail` cover.
130
173
  - Header actions get the `s` tier; inside a card, kit controls take the `m` host tier (a `Badge` is `s`). Pick a small `Avatar` (`size="s"`).
131
174
 
132
175
  ## Accessibility
@@ -136,15 +179,17 @@ Motion: the hover lift (shadow, the card rises above its neighbours) and the emp
136
179
  |---|---|
137
180
  | `Tab` | Moves through the cards, column by column. |
138
181
  | `Alt + ↑` · `Alt + ↓` | Moves the card one place inside its column. |
139
- | `Alt + ←` · `Alt + →` | Moves the card to the neighbouring column at the same row (or its end); focus follows it. The direction follows the writing direction (`dir="rtl"`: ← is the next column). |
182
+ | `Alt + ←` · `Alt + →` | On a card: moves it to the neighbouring column at the same row (or its end). On a column grip: moves the column one place. Focus follows. The direction follows the writing direction (`dir="rtl"`: ← goes forward). |
140
183
  | `Escape` | Cancels a drag in flight. |
141
184
 
142
185
  ### ARIA
143
- - Every column is a `<ul>` labelled by its heading (`aria-labelledby`); cards are `<li>` with `aria-roledescription` and `aria-keyshortcuts`.
144
- - A live region (`role="status"`) announces grabbed, dropped, «position N of M», a move to another column and a refusal (`labels`).
186
+ - Every column is a `<ul>` labelled by its heading (`aria-labelledby`) and described by its description and meta (`aria-describedby`); cards are `<li>` with `aria-roledescription` and `aria-keyshortcuts`. The columns are Dnd lists of one kind: Alt + ← / → across them is Dnd's.
187
+ - The column grip is a button named «Переместить колонку «…»» with `aria-keyshortcuts`; a keyboard column move is announced with its position («Колонка «…»: позиция 2 из 4», `labels.column`). A locked column has a lock named «Закреплено» instead.
188
+ - A live region (`role="status"`) announces grabbed, dropped, «position N of M», a move to another column by its title and a refusal with its reason (`labels`, Dnd's labels).
145
189
  - The count is spoken as text («Карточек: 3 из 5»), not only by colour; a full column also reads `count / limit`.
146
190
  - Touch: a drag starts after a hold; a finger that moves first scrolls the board.
147
191
  - While loading the root has `aria-busy`; skeletons are hidden from assistive tech.
192
+ - While a move is saved the card or column has `aria-busy` (its spinner is hidden from assistive tech); a refused save is announced (`labels.moveFailed`, `labels.columnMoveFailed`).
148
193
 
149
194
  ### Labels
150
195
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
@@ -154,15 +199,23 @@ Motion: the hover lift (shadow, the card rises above its neighbours) and the emp
154
199
  | `count` | `"Карточек: {count}"` | Spoken name of the count badge. |
155
200
  | `countLimit` | `"Карточек: {count} из {limit}"` | Spoken name of the count badge of a column with a `limit`. |
156
201
  | `empty` | `"Нет карточек"` | Text of an empty column. |
157
- | `moved` | `"{label}: «{column}», позиция {position} из {total}"` | Live region: a card moved to another column with the keyboard. |
158
- | `refused` | `"{label}: колонка «{column}» не принимает карточку"` | Live region: the next column refused the card (full or `canDrop`). |
202
+ | `emptyHint` | `"Перетащите сюда карточку"` | Hint under the empty-column text, while cards can be dropped (not on a `disabled` board). |
203
+ | `full` | `"Колонка «{column}» заполнена ({limit})"` | Why a full column refuses a card: spoken, and shown under the carried card. |
204
+ | `moveColumn` | `"Переместить колонку «{column}»"` | Name of the column grip (`reorderableColumns`). |
205
+ | `column` | `"Колонка «{column}»"` | A column as the live region names it when it is carried or moved («Колонка «Демо»: позиция 2 из 4»). |
206
+ | `moveFailed` | `"Не удалось переместить «{label}», карточка вернулась на место"` | Spoken when the `onValueChange` promise rejects; `{label}` is `getLabel(item)`. |
207
+ | `columnMoveFailed` | `"Не удалось переместить колонку «{column}», она вернулась на место"` | Spoken when the `onColumnOrderChange` promise rejects. |
159
208
 
160
209
  ## Examples
161
210
  | Example | Shows |
162
211
  |---|---|
163
212
  | [overview.tsx](examples/overview.tsx) | A release board: cards move within and between columns by drag, a touch hold or Alt + arrows; a card shows its meta line, labels, comments and assignee — `Kanban.Root`, `Kanban.Item`, `renderItem`, `renderColumnActions`. |
213
+ | [variants.tsx](examples/variants.tsx) | The same release board in both looks: columns as filled wells, and bare columns where the header and wider cards carry each column — `variant`. |
164
214
  | [structure.tsx](examples/structure.tsx) | Cards take only the parts they need: a title alone, a meta line, labels, a footer with counts and an assignee — `Kanban.ItemTitle`, `Kanban.ItemDescription`, `Kanban.ItemBadges`, `Kanban.ItemFooter`, `Kanban.ItemCount`. |
165
- | [limits.tsx](examples/limits.tsx) | A support queue with a work-in-progress limit and a workflow rule: a full column and a blocked ticket are refused before the release, from the keyboard too — `limit`, `canDrop`. |
215
+ | [cards.tsx](examples/cards.tsx) | Three kinds of cards on one board: a plain note, a ticket with a header row of key and priority, a design task with a cover — `Kanban.ItemHeader`, `Thumbnail`, `Kanban.ItemFooter`. |
216
+ | [limits.tsx](examples/limits.tsx) | A support queue with a work-in-progress limit and a workflow rule: a full column and a blocked ticket are refused before the release with the reason under the card, from the keyboard too — `limit`, `canDrop`. |
217
+ | [columns.tsx](examples/columns.tsx) | A sales pipeline whose stages move by the grip in their header while the first and the last stay locked; each stage carries its color on the count, a rule and its figures under the title, and is edited in a popover — `reorderableColumns`, `onColumnOrderChange`, `locked`, `color`, `description`, `renderColumnMeta`, `renderColumnActions`. |
218
+ | [saving.tsx](examples/saving.tsx) | Every move is saved on the server: the card waits busy in its new place, and an invoice the server refuses to close glides back to its column — `onValueChange`. |
166
219
  | [states.tsx](examples/states.tsx) | Loading draws skeleton cards in the card geometry and cross-fades the cards in; an empty column keeps its drop area; a read-only board drags nothing — `loading`, `disabled`. |
167
220
  | [controlled.tsx](examples/controlled.tsx) | The placement lives in the parent: every move arrives with its source, target and position to save, and a button resets the board — `value`, `onValueChange`. |
168
221
  | [narrow.tsx](examples/narrow.tsx) | On a phone-width screen a column takes 85% of the board and snaps into place, so the next one peeks; the strip scrolls inside the board, never the page. |
@@ -174,8 +227,13 @@ Motion: the hover lift (shadow, the card rises above its neighbours) and the emp
174
227
  - No height on the root inside a fixed region → the page scrolls instead of the column.
175
228
  - A hover-only action on a card → touch has no hover; put the action in the card or open the card on click.
176
229
  - Styling a card from an ancestor (`.board .card`) → the flying clone is portalled to `<body>` and loses it; put the class on `Kanban.Item`.
230
+ - Keeping the column order in `columns` and reordering that array → pass `columnOrder` / `onColumnOrderChange`; `columns` stays the data.
231
+ - Putting a system stage back first after every move → `locked: true` on that column.
232
+ - Stats squeezed into the column `title` → `renderColumnMeta`.
233
+ - `canDrop` returning `false` for a rule a person cannot guess → return the reason as a string.
234
+ - Applying a move in `onValueChange` and then undoing it yourself when the request fails → return the request's promise and apply `value` only after it succeeds; the board keeps the card in place meanwhile and glides it back on a rejection.
177
235
  - Drag as the only way to change a status → keep a status field or a menu in the card details too.
178
236
 
179
237
  ## Related
180
- - **Built from:** [Dnd](../dnd/COMPONENT.md), [Badge](../badge/COMPONENT.md), [ScrollContainer](../scroll-container/COMPONENT.md), [Skeleton](../skeleton/COMPONENT.md), [Crossfade](../crossfade/COMPONENT.md), [EmptyPage](../empty-page/COMPONENT.md)
181
- - **See also:** [DataTable](../data-table/COMPONENT.md), [Card](../card/COMPONENT.md), [Avatar](../avatar/COMPONENT.md), [Timeline](../timeline/COMPONENT.md)
238
+ - **Built from:** [Dnd](../dnd/COMPONENT.md), [Badge](../badge/COMPONENT.md), [ScrollContainer](../scroll-container/COMPONENT.md), [Skeleton](../skeleton/COMPONENT.md), [Crossfade](../crossfade/COMPONENT.md), [EmptyPage](../empty-page/COMPONENT.md), [Spinner](../spinner/COMPONENT.md)
239
+ - **See also:** [DataTable](../data-table/COMPONENT.md), [Card](../card/COMPONENT.md), [Avatar](../avatar/COMPONENT.md), [Thumbnail](../thumbnail/COMPONENT.md), [Timeline](../timeline/COMPONENT.md), [Gantt](../gantt/COMPONENT.md)