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
@@ -3,17 +3,17 @@
3
3
  **Category:** overlays
4
4
  **Kind:** overlay
5
5
 
6
- > A modal panel that slides in from the edge: filters, forms and record details at the side, a bottom sheet on a phone.
6
+ > A modal panel that slides in from the side: filters, forms and record details without leaving the page.
7
7
 
8
8
  ## When to use
9
9
  - Editing settings or a record without leaving the page.
10
10
  - Filters or navigation on narrow screens (`side="left"`).
11
- - Read-only details of a list row (order, user, event).
11
+ - Read-only details of a list row (order, user, event), with its status and a ⋯ menu in the header (`Drawer.Actions`).
12
12
  - Long content (history, logs) that needs a tall scrolling area.
13
- - A short task on a phone — pick a date, choose an action, fill two fields — in a bottom sheet (`side="bottom"`).
14
13
 
15
14
  ## When not to use
16
- - Confirmations and short decisions → use [Modal](../modal/COMPONENT.md).
15
+ - Confirmations of a destructive action → use [ConfirmDialog](../confirm-dialog/COMPONENT.md); short decisions → [Modal](../modal/COMPONENT.md).
16
+ - A short task that ends by itself — pick a date, choose an action — raised from the bottom edge → use [Sheet](../sheet/COMPONENT.md).
17
17
  - A small panel anchored to a button, without blocking the page → use [Popover](../popover/COMPONENT.md).
18
18
  - Persistent app navigation → use [Sidebar](../../layout/sidebar/COMPONENT.md).
19
19
  - Collapsible content inside the page → use [Accordion](../accordion/COMPONENT.md).
@@ -27,14 +27,16 @@ import { Drawer } from "prime-ui-kit";
27
27
  ```
28
28
  Drawer.Root state and dismiss policy (no DOM)
29
29
  ├─ Drawer.Trigger clones its child; opens on click
30
- └─ Drawer.Content portal + scrim + role="dialog" panel at the edge
31
- ├─ (grab handle) side="bottom" only: aria-hidden bar, a drag starts here
32
- ├─ Drawer.Header grid: [Icon] [Title + Description] [close Button]
30
+ └─ Drawer.Content portal + scrim + role="dialog" panel at the side
31
+ ├─ Drawer.Guard no DOM: holds the drawer (busy / dirty) from inside
32
+ ├─ Drawer.Header grid: [Icon] [Title + Description] [Actions] [close Button]
33
33
  │ ├─ Drawer.Icon
34
34
  │ ├─ Drawer.Title <h2>
35
- │ └─ Drawer.Description <p>
35
+ │ ├─ Drawer.Description <p>
36
+ │ └─ Drawer.Actions row of tier-s controls before the close button
36
37
  ├─ Drawer.Body the only scrolling zone (ScrollContainer)
37
- └─ Drawer.Footer actions, primary last
38
+ └─ Drawer.Footer always: Close or Cancel + the main action, primary last
39
+ ├─ Drawer.Meta <p>, muted status at the start
38
40
  └─ Drawer.Close clones its child; closes on click
39
41
  ```
40
42
 
@@ -49,19 +51,19 @@ No DOM, no ref. State and dismiss policy.
49
51
  |---|---|---|---|
50
52
  | `open` | `boolean` | — | Controlled visibility; together with `onOpenChange`. |
51
53
  | `defaultOpen` | `boolean` | `false` | Initial visibility, uncontrolled. |
52
- | `onOpenChange` | `(open: boolean) => void` | — | Called on every open and close: trigger, close button, `Close`, Escape, scrim click, code. |
54
+ | `onOpenChange` | `(open: boolean) => void` | — | Called on every open and close: trigger, close button, `Close`, Escape, scrim click, code. A `Guard` holds the dismisses (not code). |
53
55
  | `closeOnEscape` | `boolean` | `true` | Escape closes the dialog. |
54
- | `closeOnOutsideClick` | `boolean` | `true` | A click on the scrim (and a swipe on a bottom sheet) closes the dialog; turn off for destructive confirms. |
56
+ | `closeOnOutsideClick` | `boolean` | `true` | A click on the scrim closes the dialog; turn off for destructive confirms. |
55
57
  | `labels` | `Partial<DrawerLabels>` | — | Built-in strings, see Labels. |
56
58
  | `children` | `ReactNode` | — | Trigger and Content. |
57
59
 
58
60
  ### Drawer.Content
59
- `ref` → `HTMLDivElement` (the dialog panel). Portal + scrim + `role="dialog"` panel at the edge; renders while open and during its exit animation.
61
+ `ref` → `HTMLDivElement` (the dialog panel). Portal + scrim + `role="dialog"` panel at the edge; renders while open and during its exit animation, showing the children it had open (a record cleared with `open` does not empty the panel mid-motion).
60
62
 
61
63
  | Prop | Type | Default | Description |
62
64
  |---|---|---|---|
63
- | `side` | `"left" \| "right" \| "bottom"` | `"right"` | Edge the panel slides from; rounded only on the edge facing the page. `bottom` is a sheet: a grab handle on top, height by content. A swipe toward the edge closes the panel (with `closeOnOutsideClick`): a bottom sheet from its handle or header, a side drawer by touch anywhere (by mouse from the header). |
64
- | `size` | `"s" \| "m" \| "l" \| "xl"` | `"m"` | Width: 360 · 480 · 640 · 800; a bottom sheet is centred and at least 560 (`--prime-sheet-min-width`). Below 640 px of viewport — full width; side drawers lose their corners. |
65
+ | `side` | `"left" \| "right"` | `"right"` | Edge the panel slides from; rounded only on the edge facing the page. No swipe: the drawer closes by its buttons, Escape and the scrim. A panel from the bottom edge is a Sheet. |
66
+ | `size` | `"s" \| "m" \| "l" \| "xl"` | `"m"` | Width: 360 · 480 · 640 · 800. Below 640 px of viewport — full width, without corners. |
65
67
  | `aria-label` | `string` | — | Dialog name when there is no Title. |
66
68
  | `aria-labelledby` | `string` | — | Overrides the Title id. |
67
69
  | `aria-describedby` | `string` | — | Overrides the Description id. |
@@ -69,12 +71,15 @@ No DOM, no ref. State and dismiss policy.
69
71
  | `…rest` | `HTMLAttributes<HTMLDivElement>` | — | `className` and the other attributes of the `role="dialog"` element. |
70
72
 
71
73
  ### Drawer.Header
72
- `ref` → `HTMLElement`. Renders `<header>`: [Icon] [Title + Description] [close button]. + native `HTMLAttributes<HTMLElement>`.
74
+ `ref` → `HTMLElement`. Renders `<header>`: [Icon] [Title + Description] [Actions] [close button]. + native `HTMLAttributes<HTMLElement>`.
73
75
 
74
76
  | Prop | Type | Default | Description |
75
77
  |---|---|---|---|
76
- | `showClose` | `boolean` | `true` | Built-in square ghost `s` close button named by `labels.close`. |
77
- | `children` | `ReactNode` | — | Icon, Title, Description in any order; the icon goes to the leading slot. |
78
+ | `showClose` | `boolean` | `true` | Built-in square ghost `s` close button named by `labels.close`; disabled in place while a `Guard` is `busy`. |
79
+ | `children` | `ReactNode` | — | Icon, Title, Description, Actions in any order; each goes to its column. A `Tabs.List` (with `Tabs.Root` around header and body) turns the header into a tab strip. |
80
+
81
+ ### Drawer.Actions
82
+ `ref` → `HTMLDivElement`. A row of controls at the end of the header, before the close button: a status Badge, a ⋯ Dropdown, an icon button. Controls inside take tier `s`. + native `<div>` props.
78
83
 
79
84
  ### Drawer.Icon
80
85
  `ref` → `HTMLSpanElement`. An `aria-hidden` 40 px tile with a tone fill.
@@ -92,14 +97,25 @@ No DOM, no ref. State and dismiss policy.
92
97
  `ref` → `HTMLDivElement`. The only scrolling zone (a ScrollContainer), 16 gap between blocks. + native `<div>` props.
93
98
 
94
99
  ### Drawer.Footer
95
- `ref` → `HTMLElement`. Renders `<footer>` with the actions, primary last. + native `HTMLAttributes<HTMLElement>`.
100
+ `ref` → `HTMLElement`. Renders `<footer>` with the actions, primary last, and an optional `Meta` at the start. + native `HTMLAttributes<HTMLElement>`.
96
101
 
97
102
  | Prop | Type | Default | Description |
98
103
  |---|---|---|---|
99
104
  | `layout` | `"fill" \| "end"` | `"end"` | `fill`: equal-width buttons in one row; `end`: auto width, at the end. Stacked on phones (viewport below 640 px) and in a dialog narrower than 360 px. |
100
105
 
106
+ ### Drawer.Meta
107
+ `ref` → `HTMLParagraphElement`. A `<p>` at the start of the footer: short muted status text («Есть несохранённые изменения»); the buttons keep their width at the end. Not part of the dialog description. + native `<p>` props.
108
+
109
+ ### Drawer.Guard
110
+ No DOM, no ref. Holds the dialog from anywhere inside Content, where the form state lives; renders only the built-in «discard changes?» confirm. Closing from code is never held.
111
+
112
+ | Prop | Type | Default | Description |
113
+ |---|---|---|---|
114
+ | `busy` | `boolean` | `false` | A request runs: Escape, a press outside, the close button and `Close` do nothing; the close button and the `Close` child stay in place, disabled. |
115
+ | `dirty` | `boolean` | `false` | Unsaved changes: any of those dismisses first asks «Не сохранять изменения?» (a ConfirmDialog with `labels.discard*`); confirming closes the dialog. |
116
+
101
117
  ### Drawer.Trigger · Drawer.Close
102
- No DOM: clone the single child and chain its `onClick` (unless the child's handler calls `preventDefault()`).
118
+ No DOM: clone the single child and chain its `onClick` (unless the child's handler calls `preventDefault()`). `Close` goes through a `Guard` and makes its child `disabled` while the guard is busy.
103
119
 
104
120
  | Prop | Type | Default | Description |
105
121
  |---|---|---|---|
@@ -112,7 +128,6 @@ No DOM: clone the single child and chain its `onClick` (unless the child's handl
112
128
  |---|---|---|---|
113
129
  | `right` | slides from the right, rounded on its left edge | details and forms | yes |
114
130
  | `left` | slides from the left, rounded on its right edge | filters, mobile navigation | |
115
- | `bottom` | rises from the bottom, rounded on top, grab handle, height by content | a short task on a phone | |
116
131
 
117
132
  ### size (Content)
118
133
  | Value | Looks like | Use when | Default |
@@ -122,7 +137,7 @@ No DOM: clone the single child and chain its `onClick` (unless the child's handl
122
137
  | `l` | 640 wide | wide forms | |
123
138
  | `xl` | 800 wide | tables, previews | |
124
139
 
125
- A bottom sheet is centred at its width, never narrower than 560 (`--prime-sheet-min-width`), so a tablet gets a real sheet. Below 640px of viewport every size is full width; side drawers lose their corners, the sheet keeps its top radius.
140
+ Below 640px of viewport every size is full width and loses its corners.
126
141
 
127
142
  ### layout (Footer)
128
143
  | Value | Looks like | Use when | Default |
@@ -138,15 +153,22 @@ A bottom sheet is centred at its width, never narrower than 560 (`--prime-sheet-
138
153
  |---|---|---|
139
154
  | open / closed | `open` / `defaultOpen` / `onOpenChange` | `data-state` on the scrim and the panel; mounted until the slide-out ends |
140
155
  | side / size | Content props | `data-side`, `data-size` on the panel |
141
- | swiping | a drag toward the edge (with `closeOnOutsideClick`) | `data-swiping` and `--swipe-offset` on the panel while the pointer drags it; `data-swipe-dismissed` while it glides out after a closing release; `--swipe-progress` (0…1) on the scrim |
142
156
  | open: trapped | while open | focus trapped, page scroll locked, siblings of the portal `inert` (the toast region stays usable); a drawer opened from a Modal or another drawer stacks above it |
157
+ | closing | `open` turns false | the panel keeps showing the children it had open while it slides out |
158
+ | busy | `Drawer.Guard busy` | Escape, the scrim, the close button and `Drawer.Close` do nothing; the close button and the `Close` child are `disabled` in place |
159
+ | dirty | `Drawer.Guard dirty` | a dismiss opens the «Не сохранять изменения?» ConfirmDialog (`labels.discard*`); its confirm closes the drawer |
143
160
 
144
- Motion: the scrim fades, the panel slides from its side over `slow` and leaves over `base` (`overlayMotion`); under `prefers-reduced-motion` it unmounts at once. A swipe moves the panel with the pointer; on release it closes past 30% of its size or on a quick flick and glides the rest of the way out from where it was let go, otherwise it glides back — both over `base` on the `emphasized` (iOS sheet) curve. A pull the other way meets growing resistance and stops at 24; the panel's fill continues that far past the screen edge, so it never comes away from it. The scrim follows the panel: its fill thins in proportion to how far out the panel is, tracks the finger while dragging and glides with the panel on release. A bottom sheet drags from its handle or header; a side drawer by touch anywhere (not on text fields, sliders or sideways scrollers), by mouse from the header.
161
+ Motion: the scrim fades, the panel slides from its side over `slow` and leaves over `base` (`overlayMotion`); under `prefers-reduced-motion` it unmounts at once. The drawer has no touch gestures: it is not dragged or swiped away — it closes by its buttons, Escape and the scrim, with the same slide-out.
145
162
 
146
163
  ## Layout & spacing
164
+ - A drawer has three zones: `Drawer.Header` (title, the × close button), `Drawer.Body` (the content, the only zone that scrolls) and `Drawer.Footer` (the actions). The footer is not optional decoration — it is where the drawer is finished:
165
+ - read-only details: `Drawer.Close` around `<Button.Root variant="outline" tone="neutral">Закрыть</Button.Root>`, plus the record's main action (solid, last) when it has one;
166
+ - a form: «Отмена» (`Drawer.Close`, outline neutral) and the submit button (solid, last; `type="submit" form={formId}`), `Drawer.Meta` for «Есть несохранённые изменения»;
167
+ - one acknowledgement: `<Drawer.Footer layout="fill">`.
168
+ Both the header × and the footer button stay: the × is the quick way out at the top, the footer is the end of the reading or editing path, where the hand already is.
147
169
  - Zone padding `--prime-drawer-padding`; hairlines between header, body and footer.
148
170
  - Full viewport height; only the body scrolls, with its own side padding.
149
- - Bottom sheet: width by `size`, at least `--prime-sheet-min-width` (560); height by content up to `100dvh − --prime-sheet-top-gap`, radius `--prime-sheet-radius`, a `--prime-sheet-handle-area` strip with the handle bar, the bottom safe-area inset below the content.
171
+ - Tabs in the header: a `Tabs.List` inside `Drawer.Header` (with `Tabs.Root` around the header and the body) spans the header's last row. The header becomes the tab strip, edge to edge and without the hairline; the active tab is the body rising into it, the panels sit in the body.
150
172
  - Fields inside get the surface field fill.
151
173
 
152
174
  ## Accessibility
@@ -162,7 +184,8 @@ Motion: the scrim fades, the panel slides from its side over `slow` and leaves o
162
184
  - Focus moves into the panel on open and returns to the opener on close, including after a scrim click.
163
185
  - The page behind is `inert`, scroll is locked; only the topmost layer reacts.
164
186
  - A drawer opened from a Modal stacks above it.
165
- - A swipe toward the edge is an extra way out; the close button and Escape stay. The grab handle is `aria-hidden`.
187
+ - No swipe: the close button, `Drawer.Close`, Escape and the scrim are the ways out.
188
+ - A busy `Guard` keeps the close button and the `Close` child in place, `disabled`; a dirty one opens a `role="alertdialog"` confirm with focus on «Продолжить».
166
189
 
167
190
  ### Labels
168
191
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
@@ -170,27 +193,37 @@ Motion: the scrim fades, the panel slides from its side over `slow` and leaves o
170
193
  | Key | Default | Used for |
171
194
  |---|---|---|
172
195
  | `close` | `"Закрыть"` | `aria-label` of the header close button. |
196
+ | `discardTitle` | `"Не сохранять изменения?"` | Title of the confirm a dismiss opens while a `Guard` is `dirty`. |
197
+ | `discardDescription` | `"Изменения в форме пропадут."` | Its description. |
198
+ | `discardConfirm` | `"Не сохранять"` | Its confirm button: close and lose the changes. |
199
+ | `discardCancel` | `"Продолжить"` | Its cancel button: back to the form. |
173
200
 
174
201
  ## Examples
175
202
  | Example | Shows |
176
203
  |---|---|
177
- | [overview.tsx](examples/overview.tsx) | Order details next to the list: a trigger, a header with a close button and a read-only body — `Drawer.Trigger`, `Drawer.Body`. |
204
+ | [overview.tsx](examples/overview.tsx) | Order details next to the list: the three zones of every drawer — a header with a close button, a read-only body and a footer with Close and the main action — `Drawer.Trigger`, `Drawer.Body`, `Drawer.Footer`. |
178
205
  | [structure.tsx](examples/structure.tsx) | Optional parts: an icon tile in the header and one full-width action in the footer — `Drawer.Icon`, `Drawer.Footer`, `layout`. |
179
206
  | [sizes.tsx](examples/sizes.tsx) | Every panel width, 360 to 800 px; below 640 px of viewport the panel takes the full width — `size`. |
180
- | [placement.tsx](examples/placement.tsx) | The panel slides from the right for details, from the left for filters and up from the bottom as a sheet — `side`. |
181
- | [date-sheet.tsx](examples/date-sheet.tsx) | A date picked in a bottom sheet: a grab handle on top, a swipe down or a pick closes it — `side`, `Drawer.Body`. |
207
+ | [placement.tsx](examples/placement.tsx) | The panel slides from the right for details and from the left for filters, rounded only on the edge facing the page — `side`. |
208
+ | [header-actions.tsx](examples/header-actions.tsx) | A record card: its status and a ⋯ menu sit in the header before the close button, one tier smaller — `Drawer.Actions`. |
209
+ | [guard.tsx](examples/guard.tsx) | A form that holds the drawer from inside: after an edit Escape, the scrim and Cancel ask before discarding, the footer says so, and saving locks every way out — `Drawer.Guard`, `Drawer.Meta`. |
182
210
  | [long-content.tsx](examples/long-content.tsx) | A long body scrolls on its own while the header and the footer stay in place — `Drawer.Body`. |
183
211
  | [dismiss.tsx](examples/dismiss.tsx) | An import closes only from its buttons, and not at all while it runs — `closeOnOutsideClick`, `closeOnEscape`. |
184
212
  | [controlled-open.tsx](examples/controlled-open.tsx) | The parent owns the state and opens the drawer from a link, without a trigger — `open`, `onOpenChange`. |
185
213
  | [in-form.tsx](examples/in-form.tsx) | A settings form in the panel: the footer button submits the form and an empty name shakes the field and keeps it open until it is filled — `Drawer.Body`, `Drawer.Footer`, `error`. |
186
214
 
187
215
  ## Mistakes
188
- - A delete confirmation in a Drawer → use Modal.
216
+ - A drawer without `Drawer.Footer` → add one: «Закрыть» for details, «Отмена» + the submit button for a form. The header × alone is not the end of the panel.
217
+ - Save or Cancel buttons at the end of the body, or in the header → they go in `Drawer.Footer`, which stays in place while the body scrolls.
218
+ - A delete confirmation in a Drawer → use ConfirmDialog.
219
+ - Busy or unsaved state lifted out of the form into Root props → put `Drawer.Guard` next to the form, inside Content.
220
+ - Clearing the record together with `open` and rendering a skeleton for «no record» → not needed: the panel keeps its last content while it slides out.
221
+ - A Badge or a menu as a custom child of the header text column → put them in `Drawer.Actions`.
189
222
  - Expecting Enter to submit via `Drawer.Confirm` → Drawer has no Confirm; use a `<form>` with a submit button.
190
- - `side="top"` → only `left`, `right` and `bottom`.
191
- - Swipe as the only way to close → keep `Drawer.Header` with its close button (or `Drawer.Close`); a swipe is an extra gesture.
223
+ - `side="top"` or `side="bottom"` → only `left` and `right`; a panel from the bottom edge is a [Sheet](../sheet/COMPONENT.md).
224
+ - Expecting a swipe to close a drawer → it has none; keep the header × and a footer button. A panel that swipes away is a [Sheet](../sheet/COMPONENT.md).
192
225
  - Padding on a wrapper inside Body → Body already pads and scrolls.
193
226
 
194
227
  ## Related
195
- - **Built from:** Button, Icon, ScrollContainer
196
- - **See also:** [Modal](../modal/COMPONENT.md), [Sidebar](../../layout/sidebar/COMPONENT.md), [Popover](../popover/COMPONENT.md)
228
+ - **Built from:** [Button](../button/COMPONENT.md) (close button), [ScrollContainer](../scroll-container/COMPONENT.md) (`Drawer.Body`), [ConfirmDialog](../confirm-dialog/COMPONENT.md) (the `Drawer.Guard` discard confirm), `Icon` (the close glyph)
229
+ - **See also:** [Modal](../modal/COMPONENT.md) (the same header, body, footer and `Guard` in the centre), [Sheet](../sheet/COMPONENT.md) (the same parts raised from the bottom edge for a short task), [ConfirmDialog](../confirm-dialog/COMPONENT.md) (a destructive confirm), [Sidebar](../../layout/sidebar/COMPONENT.md), [Popover](../popover/COMPONENT.md)
@@ -1,5 +1,5 @@
1
1
  /** The parent owns the state and opens the drawer from a link, without a trigger — `open`, `onOpenChange`. */
2
- import { Drawer, LinkButton, Typography } from "prime-ui-kit";
2
+ import { Button, Drawer, LinkButton, Typography } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
5
5
  export default function DrawerControlledOpenExample() {
@@ -26,6 +26,13 @@ export default function DrawerControlledOpenExample() {
26
26
  Счёт формируется 1-го числа по тарифу и числу активных пользователей за прошлый месяц.
27
27
  </Typography>
28
28
  </Drawer.Body>
29
+ <Drawer.Footer>
30
+ <Drawer.Close>
31
+ <Button.Root variant="outline" tone="neutral">
32
+ Закрыть
33
+ </Button.Root>
34
+ </Drawer.Close>
35
+ </Drawer.Footer>
29
36
  </Drawer.Content>
30
37
  </Drawer.Root>
31
38
  </>
@@ -19,8 +19,3 @@
19
19
  margin: 0;
20
20
  font-variant-numeric: tabular-nums;
21
21
  }
22
-
23
- /* date-sheet.tsx: the calendar keeps its own width, centred in the sheet. */
24
- .calendar {
25
- align-self: center;
26
- }
@@ -0,0 +1,80 @@
1
+ /** A form that holds the drawer from inside: after an edit Escape, the scrim and Cancel ask before discarding, the footer says so, and saving locks every way out — `Drawer.Guard`, `Drawer.Meta`. */
2
+ import { Button, Drawer, Fieldset, Input, Textarea } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ import styles from "./examples.module.css";
6
+
7
+ /** Pretends to send the form. */
8
+ function saveTask() {
9
+ return new Promise((resolve) => setTimeout(resolve, 1200));
10
+ }
11
+
12
+ export default function DrawerGuardExample() {
13
+ const formId = React.useId();
14
+ const [open, setOpen] = React.useState(false);
15
+ const [dirty, setDirty] = React.useState(false);
16
+ const [saving, setSaving] = React.useState(false);
17
+
18
+ const submit = async (event: React.FormEvent<HTMLFormElement>) => {
19
+ event.preventDefault();
20
+ setSaving(true);
21
+ await saveTask();
22
+ setSaving(false);
23
+ setDirty(false);
24
+ setOpen(false);
25
+ };
26
+
27
+ return (
28
+ <Drawer.Root
29
+ open={open}
30
+ onOpenChange={(next) => {
31
+ setOpen(next);
32
+ if (!next) setDirty(false);
33
+ }}
34
+ >
35
+ <Drawer.Trigger>
36
+ <Button.Root variant="soft" tone="neutral">
37
+ Изменить задачу
38
+ </Button.Root>
39
+ </Drawer.Trigger>
40
+ <Drawer.Content>
41
+ <Drawer.Header>
42
+ <Drawer.Title>Подготовить договор</Drawer.Title>
43
+ </Drawer.Header>
44
+ <Drawer.Body>
45
+ <Drawer.Guard busy={saving} dirty={dirty} />
46
+ <form id={formId} className={styles.form} onSubmit={submit}>
47
+ <Fieldset disabled={saving}>
48
+ <Input.Root label="Название">
49
+ <Input.Wrapper>
50
+ <Input.Field
51
+ name="title"
52
+ defaultValue="Подготовить договор"
53
+ onValueChange={() => setDirty(true)}
54
+ />
55
+ </Input.Wrapper>
56
+ </Input.Root>
57
+ <Textarea.Root
58
+ label="Комментарий"
59
+ name="comment"
60
+ defaultValue="Согласовать сроки оплаты с юристами клиента"
61
+ onValueChange={() => setDirty(true)}
62
+ />
63
+ </Fieldset>
64
+ </form>
65
+ </Drawer.Body>
66
+ <Drawer.Footer>
67
+ {dirty ? <Drawer.Meta>Есть несохранённые изменения</Drawer.Meta> : null}
68
+ <Drawer.Close>
69
+ <Button.Root variant="outline" tone="neutral">
70
+ Отмена
71
+ </Button.Root>
72
+ </Drawer.Close>
73
+ <Button.Root type="submit" form={formId} loading={saving} disabled={!dirty}>
74
+ Сохранить
75
+ </Button.Root>
76
+ </Drawer.Footer>
77
+ </Drawer.Content>
78
+ </Drawer.Root>
79
+ );
80
+ }
@@ -0,0 +1,63 @@
1
+ /** A record card: its status and a ⋯ menu sit in the header before the close button, one tier smaller — `Drawer.Actions`. */
2
+ import { Badge, Button, Drawer, Dropdown, Icon } from "prime-ui-kit";
3
+
4
+ import styles from "./examples.module.css";
5
+
6
+ const DEAL = {
7
+ title: "Сделка №1042",
8
+ client: "ООО «Северный ветер»",
9
+ amount: "480 000 ₽",
10
+ owner: "Анна Соколова",
11
+ };
12
+
13
+ export default function DrawerHeaderActionsExample() {
14
+ return (
15
+ <Drawer.Root>
16
+ <Drawer.Trigger>
17
+ <Button.Root variant="soft" tone="neutral">
18
+ Открыть сделку
19
+ </Button.Root>
20
+ </Drawer.Trigger>
21
+ <Drawer.Content>
22
+ <Drawer.Header>
23
+ <Drawer.Title>{DEAL.title}</Drawer.Title>
24
+ <Drawer.Description>{DEAL.client}</Drawer.Description>
25
+ <Drawer.Actions>
26
+ <Badge.Root color="green">Выиграна</Badge.Root>
27
+ <Dropdown.Root>
28
+ <Dropdown.Trigger>
29
+ <Button.Root variant="ghost" tone="neutral" aria-label="Действия со сделкой">
30
+ <Button.Icon>
31
+ <Icon name="action.more" />
32
+ </Button.Icon>
33
+ </Button.Root>
34
+ </Dropdown.Trigger>
35
+ <Dropdown.Content>
36
+ <Dropdown.Item>Дублировать</Dropdown.Item>
37
+ <Dropdown.Item>Скопировать ссылку</Dropdown.Item>
38
+ <Dropdown.Separator />
39
+ <Dropdown.Item tone="danger">Удалить сделку</Dropdown.Item>
40
+ </Dropdown.Content>
41
+ </Dropdown.Root>
42
+ </Drawer.Actions>
43
+ </Drawer.Header>
44
+ <Drawer.Body>
45
+ <dl className={styles.details}>
46
+ <dt>Сумма</dt>
47
+ <dd>{DEAL.amount}</dd>
48
+ <dt>Ответственный</dt>
49
+ <dd>{DEAL.owner}</dd>
50
+ </dl>
51
+ </Drawer.Body>
52
+ <Drawer.Footer>
53
+ <Drawer.Close>
54
+ <Button.Root variant="outline" tone="neutral">
55
+ Закрыть
56
+ </Button.Root>
57
+ </Drawer.Close>
58
+ <Button.Root>Выставить счёт</Button.Root>
59
+ </Drawer.Footer>
60
+ </Drawer.Content>
61
+ </Drawer.Root>
62
+ );
63
+ }
@@ -1,4 +1,4 @@
1
- /** Order details next to the list: a trigger, a header with a close button and a read-only body — `Drawer.Trigger`, `Drawer.Body`. */
1
+ /** Order details next to the list: the three zones of every drawer — a header with a close button, a read-only body and a footer with Close and the main action — `Drawer.Trigger`, `Drawer.Body`, `Drawer.Footer`. */
2
2
  import { Button, Drawer, Typography } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
@@ -42,6 +42,14 @@ export default function DrawerOverviewExample() {
42
42
  ))}
43
43
  </dl>
44
44
  </Drawer.Body>
45
+ <Drawer.Footer>
46
+ <Drawer.Close>
47
+ <Button.Root variant="outline" tone="neutral">
48
+ Закрыть
49
+ </Button.Root>
50
+ </Drawer.Close>
51
+ <Button.Root>Изменить заказ</Button.Root>
52
+ </Drawer.Footer>
45
53
  </Drawer.Content>
46
54
  </Drawer.Root>
47
55
  );
@@ -1,10 +1,9 @@
1
- /** The panel slides from the right for details, from the left for filters and up from the bottom as a sheet — `side`. */
1
+ /** The panel slides from the right for details and from the left for filters, rounded only on the edge facing the page — `side`. */
2
2
  import { Button, Drawer, Typography } from "prime-ui-kit";
3
3
 
4
4
  const SIDES = [
5
5
  { side: "left", title: "Фильтры" },
6
6
  { side: "right", title: "Детали заказа" },
7
- { side: "bottom", title: "Действия с заказом" },
8
7
  ] as const;
9
8
 
10
9
  export default function DrawerPlacementExample() {
@@ -23,10 +22,16 @@ export default function DrawerPlacementExample() {
23
22
  </Drawer.Header>
24
23
  <Drawer.Body>
25
24
  <Typography variant="body-m" tone="secondary">
26
- Скругление только со стороны страницы, подложка затемняет остальное. Свайп к краю
27
- закрывает панель.
25
+ Скругление только со стороны страницы, подложка затемняет остальное.
28
26
  </Typography>
29
27
  </Drawer.Body>
28
+ <Drawer.Footer>
29
+ <Drawer.Close>
30
+ <Button.Root variant="outline" tone="neutral">
31
+ Закрыть
32
+ </Button.Root>
33
+ </Drawer.Close>
34
+ </Drawer.Footer>
30
35
  </Drawer.Content>
31
36
  </Drawer.Root>
32
37
  ))}
@@ -28,6 +28,13 @@ export default function DrawerSizesExample() {
28
28
  На экране уже 640 px панель занимает всю ширину и теряет скругления.
29
29
  </Typography>
30
30
  </Drawer.Body>
31
+ <Drawer.Footer>
32
+ <Drawer.Close>
33
+ <Button.Root variant="outline" tone="neutral">
34
+ Закрыть
35
+ </Button.Root>
36
+ </Drawer.Close>
37
+ </Drawer.Footer>
31
38
  </Drawer.Content>
32
39
  </Drawer.Root>
33
40
  ))}
@@ -32,9 +32,10 @@ Dropdown.Root state and dismiss policy (no DOM)
32
32
  │ └── Dropdown.Description
33
33
  ├── Dropdown.Separator full-bleed Divider
34
34
  ├── Dropdown.Group role="group", named by `label`
35
- │ └── Dropdown.Item <button role="menuitem">
36
- │ ├── Dropdown.ItemIcon leading glyph (aria-hidden)
37
- │ └── Dropdown.ItemShortcut Kbd at the end
35
+ │ └── Dropdown.Item <button role="menuitem"> (or the asChild link)
36
+ │ ├── Dropdown.ItemIcon leading glyph (aria-hidden)
37
+ │ ├── Dropdown.ItemDescription muted second line; describes the item
38
+ │ └── Dropdown.ItemShortcut Kbd at the end
38
39
  ├── Dropdown.CheckboxItem <button role="menuitemcheckbox">: label + check mark at the end while checked; stays open
39
40
  └── Dropdown.Item
40
41
  ```
@@ -56,35 +57,36 @@ No DOM, no ref. Open state and dismiss policy.
56
57
  | `children` | `ReactNode` | — (required) | Trigger and Content. |
57
58
 
58
59
  ### Dropdown.Trigger
59
- No DOM: clones the single child, merges `ref` and `onClick` (toggles), sets `aria-haspopup="menu"`, `aria-expanded`, `aria-controls`, `data-state`; the child's own `id` wins. Other props given to it (handlers, ARIA, `ref`) reach the child, so a wrapping `Tooltip.Trigger` keeps working.
60
+ No DOM: clones the single child, merges `ref` and `onClick`; toggles the menu and sets its ARIA.
60
61
 
61
62
  | Prop | Type | Default | Description |
62
63
  |---|---|---|---|
63
64
  | `children` | `ReactElement` | — (required) | One element, usually a Button. |
64
65
 
65
66
  ### Dropdown.Content
66
- `ref` → `HTMLDivElement`. Portal + `role="menu"` on the floating surface (a ScrollContainer), named by the trigger; renders while open and during its exit animation. Focus moves to the first item; Tab closes the menu and returns focus to the trigger. Below 640px of viewport the menu is a bottom sheet: a scrim, a grab handle, swipe down to close (with `closeOnOutsideClick`), page scroll locked.
67
+ `ref` → `HTMLDivElement`. Portal + `role="menu"` floating panel that scrolls inside, named by the trigger; focus moves to the first item. Below 640px of viewport it is a bottom sheet.
67
68
 
68
69
  | Prop | Type | Default | Description |
69
70
  |---|---|---|---|
70
71
  | `side` | `"top" \| "right" \| "bottom" \| "left"` | `"bottom"` | Preferred side; flips to the opposite side when there is no room. |
71
- | `align` | `"start" \| "center" \| "end"` | `"start"` | Alignment along the trigger; shifts inside the viewport. |
72
+ | `align` | `"auto" \| "start" \| "center" \| "end"` | `"auto"` | Alignment along the trigger. `auto` lines the menu up with the trigger edge that has more room beyond it; `start`, `center` or `end` fix the edge. |
72
73
  | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Row tier: item height, text and icon; key hints one tier down. |
73
74
  | `matchTriggerWidth` | `boolean` | `false` | The menu is at least as wide as the trigger. |
74
75
  | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "role">` | — | `className`, `onKeyDown` (runs before the arrow-key navigation) and the other attributes of the menu. |
75
76
 
76
77
  ### Dropdown.Item
77
- `ref` → `HTMLButtonElement`. A `<button role="menuitem">`; a click, Enter or Space runs `onSelect` and closes the menu. + native button props.
78
+ `ref` → `HTMLButtonElement` (or the `asChild` element). A `<button role="menuitem">`; a click, Enter or Space runs `onSelect` and closes the menu. + native button props.
78
79
 
79
80
  | Prop | Type | Default | Description |
80
81
  |---|---|---|---|
81
82
  | `onSelect` | `() => void` | — | The action of the item. |
82
83
  | `disabled` | `boolean` | `false` | Muted, `aria-disabled`, skipped by the arrow keys, does nothing on click. |
83
84
  | `tone` | `"neutral" \| "danger"` | `"neutral"` | `danger`: destructive action — danger text, icon and hover fill. |
84
- | `children` | `ReactNode` | — | `Dropdown.ItemIcon`, the label, `Dropdown.ItemShortcut`. |
85
+ | `asChild` | `boolean` | `false` | The item is its single child link (`<a href>`, a router `Link`), so Cmd / Ctrl-click and «open in a new tab» work; the pick still closes the menu. |
86
+ | `children` | `ReactNode` | — | `Dropdown.ItemIcon`, the label, `Dropdown.ItemDescription`, `Dropdown.ItemShortcut`; with `asChild` one link element holding them. |
85
87
 
86
88
  ### Dropdown.CheckboxItem
87
- `ref` → `HTMLButtonElement`. A `<button role="menuitemcheckbox">` with `aria-checked`: the label (and an `ItemIcon`) on the left like any item, an accent check mark at the end while checked and nothing while not; a click, Enter or Space toggles it and the menu stays open. + native button props.
89
+ `ref` → `HTMLButtonElement`. A `<button role="menuitemcheckbox">` with `aria-checked` and a check mark at the end while checked; a click, Enter or Space toggles it and the menu stays open. + native button props.
88
90
 
89
91
  | Prop | Type | Default | Description |
90
92
  |---|---|---|---|
@@ -94,8 +96,11 @@ No DOM: clones the single child, merges `ref` and `onClick` (toggles), sets `ari
94
96
  | `disabled` | `boolean` | `false` | Muted, `aria-disabled`, skipped by the arrow keys, does not toggle. |
95
97
  | `children` | `ReactNode` | — | The label (optionally after a `Dropdown.ItemIcon`). |
96
98
 
99
+ ### Dropdown.ItemDescription
100
+ `ref` → `HTMLSpanElement`. A muted second line under the item label: what the action does, or why a disabled item is unavailable. Describes the item for assistive tech. + native `<span>` props except `id`.
101
+
97
102
  ### Dropdown.ItemIcon · Dropdown.ItemShortcut
98
- `ref` → `HTMLSpanElement` / `HTMLElement` (the `<kbd>`). An `aria-hidden` `<span>` holding the leading glyph at the menu icon size (a kit `Icon` follows it) / a `Kbd` one tier below the menu, pushed to the end of the item — a hint, not a handler. + native props.
103
+ `ref` → `HTMLSpanElement` / `HTMLElement` (the `<kbd>`). The `aria-hidden` leading glyph at the menu icon size / a `Kbd` key hint at the end of the item — a hint, not a handler. + native props.
99
104
 
100
105
  ### Dropdown.Group
101
106
  `ref` → `HTMLDivElement`. `<div role="group">` named by its visible `label`. + native `<div>` props.
@@ -112,7 +117,7 @@ No DOM: clones the single child, merges `ref` and `onClick` (toggles), sets `ari
112
117
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `className` and the other attributes of the divider. |
113
118
 
114
119
  ### Dropdown.Header · Dropdown.Title · Dropdown.Description
115
- `ref` → `HTMLDivElement`. A non-interactive row at the top (who is signed in, the plan): an avatar, Title + Description stacked in one column, a trailing badge or button — in the written order / the medium heading line / the muted line under it; both truncate. + native `<div>` props.
120
+ `ref` → `HTMLDivElement`. A non-interactive row at the top (who is signed in, the plan): an avatar, Title + Description in one column, a trailing badge or button. + native `<div>` props.
116
121
 
117
122
  ## Variants
118
123
  The panel is the shared floating surface: the floating layer of the ladder (`data-depth="floating"`), `--prime-panel-radius` (12), padding 4, `shadow-overlay`; rows have radius 8 and the tier item height.
@@ -138,14 +143,15 @@ The panel is the shared floating surface: the floating layer of the ladder (`dat
138
143
  | `side="bottom"` | Below the trigger | Default | yes |
139
144
  | `side="top"` | Above the trigger | Triggers near the bottom of the screen | |
140
145
  | `side="left"` / `"right"` | Beside the trigger, aligned along its height | Triggers in a side rail (account menu at the bottom of a sidebar) | |
141
- | `align="start"` | Start edges aligned | Default | yes |
146
+ | `align="auto"` | Lined up with the trigger edge that has more room: near the end of the screen the end edges meet and the menu grows toward the start, near the start the other way; below the trigger, flipping to the top without room | Default — triggers anywhere | yes |
147
+ | `align="end"` | End edges aligned: the menu grows toward the start | The menu must line up with the end of a block whatever room there is | |
142
148
  | `align="center"` | Centred on the trigger | Small triggers | |
143
- | `align="end"` | End edges aligned | «⋯» buttons at the end of a row | |
149
+ | `align="start"` | Start edges aligned: the menu grows toward the end | The menu must line up with the start of a block whatever room there is | |
144
150
 
145
151
  ### Flags
146
152
  | Value | Looks like | Use when | Default |
147
153
  |---|---|---|---|
148
- | `disabled` (Item) | Disabled text, skipped by arrows | Not allowed right now (say why in the label) | `false` |
154
+ | `disabled` (Item) | Disabled text, skipped by arrows | Not allowed right now (say why in `Dropdown.ItemDescription`) | `false` |
149
155
  | `matchTriggerWidth` | Menu at least as wide as the trigger | Full-width buttons | `false` |
150
156
  | `closeOnOutsideClick={false}` · `closeOnEscape={false}` | Stays open until an item is picked | A required choice in an onboarding step | |
151
157
 
@@ -160,11 +166,17 @@ The panel is the shared floating surface: the floating layer of the ladder (`dat
160
166
  | item hover / focus | a hovering pointer, arrow keys | subtle fill (danger-soft for `danger`), no movement; a tap leaves no hover fill |
161
167
  | item disabled | `disabled` | `aria-disabled="true"`, `data-disabled="true"` |
162
168
  | item tone | `tone` | `data-tone` |
169
+ | item checked | `checked` / `defaultChecked` / `onCheckedChange` on `Dropdown.CheckboxItem` | `aria-checked`; an accent check mark at the end while checked, nothing while not |
163
170
  | sheet | viewport below 640px | a scrim and a full-width bottom sheet with an `aria-hidden` grab handle around the menu; the sheet carries `data-state`, the menu keeps its role and ref; page scroll locked; a swipe down from the handle closes it (with `closeOnOutsideClick`) |
164
171
 
172
+ Motion (`overlayMotion`): the menu grows out of the side that faces its trigger and fades, in and out over `fast`; as a sheet it slides up over `slow` and down over `base`. Content stays mounted until the exit ends; under `prefers-reduced-motion` it unmounts at once.
173
+
165
174
  ## Layout & spacing
166
- - Width is `max-content` between `--prime-panel-min-width` and twice that; items never wrap.
175
+ - Width is `max-content` between `--prime-panel-min-width` and twice that; item labels never wrap, a `Dropdown.ItemDescription` wraps inside that limit.
167
176
  - Max height = min(`--prime-panel-max-height`, the room on the resolved side); the menu scrolls inside.
177
+ - A checkbox item keeps the label (and an `ItemIcon`) on the left like any item; the check mark sits at the end.
178
+ - `Dropdown.ItemIcon` holds the glyph at the menu icon size (a kit `Icon` follows it); `Dropdown.ItemShortcut` is a `Kbd` one tier below the menu, pushed to the end of the item.
179
+ - `Dropdown.Header` lays out its children in the written order; `Dropdown.Title` is the medium heading line, `Dropdown.Description` the muted line under it; both truncate.
168
180
  - Separators run edge to edge across the panel padding; group labels take `--prime-panel-group-label-height`.
169
181
  - Kept `--prime-space-2` from viewport edges; follows the trigger on scroll and resize.
170
182
 
@@ -181,7 +193,9 @@ The panel is the shared floating surface: the floating layer of the ladder (`dat
181
193
 
182
194
  ### ARIA
183
195
  - The menu is `role="menu"` named by the trigger; items are `role="menuitem"`, checkbox items `role="menuitemcheckbox"` with `aria-checked`, disabled ones `aria-disabled`.
184
- - The trigger gets `aria-haspopup="menu"`, `aria-expanded` and `aria-controls`.
196
+ - The trigger gets `aria-haspopup="menu"`, `aria-expanded`, `aria-controls` and `data-state`; the child's own `id` wins. Other props given to `Dropdown.Trigger` (handlers, ARIA, `ref`) reach the child, so a wrapping `Tooltip.Trigger` keeps working.
197
+ - With a `Dropdown.ItemDescription` the label names the item (`aria-labelledby`) and the description describes it (`aria-describedby`).
198
+ - An `asChild` item merges its props onto the link; the link's children are the item content. A disabled link item gets `aria-disabled` and its click is stopped.
185
199
  - `Dropdown.Group` is `role="group"` named by its `label`.
186
200
  - `Dropdown.ItemIcon` is hidden from screen readers; a key hint is text only — the app handles the shortcut.
187
201
  - An outside press closes the menu without moving focus back to the trigger: focus follows the pointer (foundation §8).
@@ -199,6 +213,8 @@ No `labels`.
199
213
  | [sizes.tsx](examples/sizes.tsx) | Every size tier with icons, key hints and a destructive item; the menu takes the tier of its trigger — `size`. |
200
214
  | [placement.tsx](examples/placement.tsx) | Every side and alignment relative to the trigger; near the viewport edge the menu flips and shifts — `side`, `align`. |
201
215
  | [states.tsx](examples/states.tsx) | A regular, a disabled and a destructive item; arrow keys skip the disabled one — `disabled`, `tone`. |
216
+ | [item-description.tsx](examples/item-description.tsx) | A second line under an item: what an action does, and why a disabled one is unavailable, readable by everyone and read with the item — `Dropdown.ItemDescription`. |
217
+ | [link-items.tsx](examples/link-items.tsx) | Items that navigate are real links: Cmd-click or the context menu opens them in a new tab, a plain pick closes the menu — `asChild`. |
202
218
  | [match-trigger-width.tsx](examples/match-trigger-width.tsx) | Under a full-width button the menu is at least as wide as the trigger — `matchTriggerWidth`. |
203
219
  | [checkbox-items.tsx](examples/checkbox-items.tsx) | A column chooser: toggles in the menu keep it open, the key column cannot be hidden — `Dropdown.CheckboxItem`, `checked`, `onCheckedChange`. |
204
220
  | [long-list.tsx](examples/long-list.tsx) | More projects than fit: the grouped list scrolls inside the panel, capped by the room next to the trigger — `Dropdown.Group`. |
@@ -211,7 +227,9 @@ No `labels`.
211
227
  - A hand-written shortcut `<kbd>` → `Dropdown.ItemShortcut` (a Kbd at the end of the item).
212
228
  - `Dropdown.Group` with a separate heading element → pass the heading as `label`.
213
229
  - A destructive item without `tone="danger"`, or in the middle of the list → mark it and put it last.
230
+ - A Tooltip on a disabled item to say why → keyboard and touch users never see it; put the reason in `Dropdown.ItemDescription`.
231
+ - `onSelect={() => navigate(url)}` for an item that opens a page → `asChild` with a link, so Cmd-click and a new tab work.
214
232
 
215
233
  ## Related
216
- - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md) (the menu), [Kbd](../kbd/COMPONENT.md) (`ItemShortcut`), [Divider](../divider/COMPONENT.md) (`Separator`), Icon (`action.check` of `CheckboxItem`)
234
+ - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md) (the menu), [Kbd](../kbd/COMPONENT.md) (`ItemShortcut`), [Divider](../divider/COMPONENT.md) (`Separator`), `Icon` (`action.check` of `CheckboxItem`)
217
235
  - **See also:** [Select](../select/COMPONENT.md), [CommandMenu](../command-menu/COMPONENT.md), [Popover](../popover/COMPONENT.md), [Button](../button/COMPONENT.md)