prime-ui-kit 0.15.0 → 0.16.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 (1105) hide show
  1. package/README.md +72 -63
  2. package/dist/chunks/{chunk-XJAVS6FH.js → chunk-4PSQ64S4.js} +3094 -1750
  3. package/dist/chunks/{chunk-THFZIHKU.js → chunk-6TPHKCUJ.js} +9392 -9225
  4. package/dist/chunks/{chunk-6TI4DSM5.js → chunk-A7OQWH6R.js} +1 -1
  5. package/dist/chunks/{chunk-2IKH55MI.js → chunk-HDBQICPW.js} +170 -138
  6. package/dist/chunks/{chunk-Q3BFRQHZ.js → chunk-U3Q2I3MY.js} +169 -10
  7. package/dist/color-picker.js +3 -3
  8. package/dist/components/accordion/Accordion.d.ts +52 -5
  9. package/dist/components/avatar/Avatar.d.ts +31 -8
  10. package/dist/components/badge/Badge.d.ts +93 -25
  11. package/dist/components/banner/Banner.d.ts +17 -10
  12. package/dist/components/breadcrumb/Breadcrumb.d.ts +18 -5
  13. package/dist/components/button/Button.d.ts +102 -43
  14. package/dist/components/button-group/ButtonGroup.d.ts +32 -8
  15. package/dist/components/card/Card.d.ts +15 -9
  16. package/dist/components/chart-frame/ChartFrame.d.ts +58 -51
  17. package/dist/components/chat/Chat.d.ts +77 -38
  18. package/dist/components/chat/ChatPinned.d.ts +20 -8
  19. package/dist/components/chat/ChatRows.d.ts +3 -0
  20. package/dist/components/chat/MessageList.d.ts +14 -19
  21. package/dist/components/chat/chatContext.d.ts +3 -3
  22. package/dist/components/chat/messageFlow.d.ts +1 -1
  23. package/dist/components/chat-list/ChatList.d.ts +88 -34
  24. package/dist/components/checkbox/Checkbox.d.ts +61 -12
  25. package/dist/components/code-block/CodeBlock.d.ts +11 -5
  26. package/dist/components/color-field/ColorField.d.ts +54 -14
  27. package/dist/components/color-picker/ColorPicker.d.ts +64 -30
  28. package/dist/components/color-picker/ColorPresets.d.ts +68 -13
  29. package/dist/components/color-swatches/ColorSwatches.d.ts +90 -18
  30. package/dist/components/command-menu/CommandMenu.d.ts +86 -27
  31. package/dist/components/composer/Composer.d.ts +82 -41
  32. package/dist/components/composer/useRecorder.d.ts +0 -2
  33. package/dist/components/confirm-dialog/ConfirmDialog.d.ts +40 -16
  34. package/dist/components/crossfade/Crossfade.d.ts +5 -8
  35. package/dist/components/data-table/ColumnsMenu.d.ts +6 -2
  36. package/dist/components/data-table/DataTable.d.ts +157 -58
  37. package/dist/components/data-table/Footer.d.ts +2 -4
  38. package/dist/components/data-table/Row.d.ts +1 -1
  39. package/dist/components/data-table/StateRows.d.ts +2 -2
  40. package/dist/components/data-table/reorder.d.ts +10 -10
  41. package/dist/components/data-table/types.d.ts +5 -0
  42. package/dist/components/data-table/useInfiniteRows.d.ts +3 -3
  43. package/dist/components/datepicker/Datepicker.d.ts +61 -12
  44. package/dist/components/datepicker/DatepickerPanel.d.ts +76 -16
  45. package/dist/components/datepicker/panelLayout.d.ts +6 -11
  46. package/dist/components/description-list/DescriptionList.d.ts +40 -11
  47. package/dist/components/digit-input/DigitInput.d.ts +50 -19
  48. package/dist/components/divider/Divider.d.ts +15 -5
  49. package/dist/components/dnd/Dnd.d.ts +152 -41
  50. package/dist/components/dnd/geometry.d.ts +0 -8
  51. package/dist/components/dnd/labels.d.ts +1 -1
  52. package/dist/components/dnd/useDropTarget.d.ts +0 -2
  53. package/dist/components/dnd/useSortableList.d.ts +6 -1
  54. package/dist/components/drawer/Drawer.d.ts +39 -18
  55. package/dist/components/dropdown/Dropdown.d.ts +90 -19
  56. package/dist/components/empty-page/EmptyPage.d.ts +14 -15
  57. package/dist/components/example-frame/ExampleFrame.d.ts +38 -8
  58. package/dist/components/field-list/FieldList.d.ts +57 -19
  59. package/dist/components/fieldset/Fieldset.d.ts +12 -7
  60. package/dist/components/file-upload/FileUpload.d.ts +119 -42
  61. package/dist/components/gallery/Gallery.d.ts +44 -16
  62. package/dist/components/gallery/layout.d.ts +4 -1
  63. package/dist/components/gantt/Gantt.d.ts +69 -34
  64. package/dist/components/gantt/GanttRow.d.ts +2 -2
  65. package/dist/components/hint/Hint.d.ts +10 -4
  66. package/dist/components/index.d.ts +19 -18
  67. package/dist/components/input/Input.d.ts +78 -25
  68. package/dist/components/kanban/Kanban.d.ts +64 -36
  69. package/dist/components/kbd/Kbd.d.ts +3 -1
  70. package/dist/components/label/Label.d.ts +33 -4
  71. package/dist/components/link-button/LinkButton.d.ts +40 -10
  72. package/dist/components/list/List.d.ts +48 -26
  73. package/dist/components/login-form/LoginForm.d.ts +66 -7
  74. package/dist/components/media-viewer/MediaViewer.d.ts +46 -18
  75. package/dist/components/media-viewer/physics.d.ts +0 -2
  76. package/dist/components/media-viewer/viewerEngine.d.ts +0 -1
  77. package/dist/components/message/Message.d.ts +27 -16
  78. package/dist/components/message/MessageCards.d.ts +49 -10
  79. package/dist/components/message/MessageFile.d.ts +19 -5
  80. package/dist/components/message/MessageParts.d.ts +44 -18
  81. package/dist/components/message/MessageReactionBar.d.ts +3 -1
  82. package/dist/components/message/MessageTyping.d.ts +10 -6
  83. package/dist/components/message/bubbleMorph.d.ts +2 -0
  84. package/dist/components/modal/Modal.d.ts +6 -6
  85. package/dist/components/native-select/NativeSelect.d.ts +22 -7
  86. package/dist/components/notification/Notification.d.ts +35 -11
  87. package/dist/components/notification/NotificationStore.d.ts +12 -3
  88. package/dist/components/page-content/PageContent.d.ts +56 -37
  89. package/dist/components/page-toolbar/PageToolbar.d.ts +7 -6
  90. package/dist/components/pagination/Pagination.d.ts +25 -6
  91. package/dist/components/popover/Popover.d.ts +54 -31
  92. package/dist/components/progress-bar/ProgressBar.d.ts +37 -12
  93. package/dist/components/progress-circle/ProgressCircle.d.ts +32 -13
  94. package/dist/components/radio/Radio.d.ts +58 -15
  95. package/dist/components/scroll-container/ScrollContainer.d.ts +28 -14
  96. package/dist/components/scroll-container/useScrollEdges.d.ts +1 -24
  97. package/dist/components/segmented-control/SegmentedControl.d.ts +73 -15
  98. package/dist/components/select/Select.d.ts +104 -30
  99. package/dist/components/select/SelectItem.d.ts +35 -8
  100. package/dist/components/select/selectContext.d.ts +7 -19
  101. package/dist/components/sheet/Sheet.d.ts +32 -15
  102. package/dist/components/skeleton/Skeleton.d.ts +9 -3
  103. package/dist/components/slider/Slider.d.ts +55 -15
  104. package/dist/components/smart-filter/SmartFilter.d.ts +39 -12
  105. package/dist/components/sparkline/Sparkline.d.ts +42 -19
  106. package/dist/components/spinner/Spinner.d.ts +11 -5
  107. package/dist/components/stepper/Stepper.d.ts +41 -19
  108. package/dist/components/switch/Switch.d.ts +37 -12
  109. package/dist/components/tabs/Tabs.d.ts +61 -18
  110. package/dist/components/tag-select/TagSelect.d.ts +74 -20
  111. package/dist/components/textarea/Textarea.d.ts +52 -25
  112. package/dist/components/thumbnail/Thumbnail.d.ts +50 -20
  113. package/dist/components/timeline/Timeline.d.ts +85 -66
  114. package/dist/components/tooltip/Tooltip.d.ts +47 -17
  115. package/dist/components/typography/Typography.d.ts +32 -6
  116. package/dist/components/video-note/VideoNote.d.ts +7 -1
  117. package/dist/{internal → components/visually-hidden}/VisuallyHidden.d.ts +5 -5
  118. package/dist/components/voice-player/VoicePlayer.d.ts +16 -3
  119. package/dist/hooks/breakpoints.d.ts +10 -0
  120. package/dist/hooks/floatingPosition.d.ts +42 -0
  121. package/dist/hooks/useDraft.d.ts +12 -0
  122. package/dist/hooks/useEdgeOverflow.d.ts +5 -3
  123. package/dist/hooks/useElementSize.d.ts +31 -0
  124. package/dist/hooks/useEnterConfirm.d.ts +2 -1
  125. package/dist/hooks/useImageStatus.d.ts +12 -5
  126. package/dist/hooks/useLoadMore.d.ts +28 -0
  127. package/dist/hooks/useMediaQuery.d.ts +1 -3
  128. package/dist/hooks/useMergedRefs.d.ts +10 -4
  129. package/dist/hooks/useModalLayer.d.ts +13 -7
  130. package/dist/hooks/usePosition.d.ts +4 -42
  131. package/dist/hooks/usePresence.d.ts +4 -7
  132. package/dist/hooks/useScrollRegion.d.ts +28 -0
  133. package/dist/hooks/useStableValue.d.ts +6 -0
  134. package/dist/hooks/useSwipeDismiss.d.ts +38 -17
  135. package/dist/hooks/useVirtualRows.d.ts +9 -3
  136. package/dist/icon-set.js +2 -2
  137. package/dist/icons/Icon.d.ts +1 -1
  138. package/dist/icons/glyph.d.ts +9 -2
  139. package/dist/index.css +1 -1
  140. package/dist/index.js +13 -3
  141. package/dist/internal/AnchorRectContext.d.ts +2 -1
  142. package/dist/internal/ChartTooltip.d.ts +1 -1
  143. package/dist/internal/CheckMark.d.ts +2 -2
  144. package/dist/internal/ChoiceField.d.ts +29 -10
  145. package/dist/internal/ControlSizeContext.d.ts +16 -0
  146. package/dist/internal/Disclosure.d.ts +38 -9
  147. package/dist/internal/FieldAction.d.ts +20 -12
  148. package/dist/internal/FieldCommit.d.ts +8 -11
  149. package/dist/internal/FieldFrame.d.ts +100 -21
  150. package/dist/internal/MenuGroup.d.ts +3 -1
  151. package/dist/internal/MorphText.d.ts +2 -1
  152. package/dist/internal/ProgressLegend.d.ts +3 -2
  153. package/dist/internal/RegionSwap.d.ts +41 -0
  154. package/dist/internal/RollingNumber.d.ts +10 -1
  155. package/dist/internal/RowAction.d.ts +26 -0
  156. package/dist/internal/SwitcherScroller.d.ts +11 -0
  157. package/dist/internal/attachmentTile.d.ts +1 -1
  158. package/dist/internal/audio.d.ts +13 -0
  159. package/dist/{components/badge/tier.d.ts → internal/chipTier.d.ts} +7 -5
  160. package/dist/internal/context.d.ts +10 -1
  161. package/dist/internal/controlValue.d.ts +7 -0
  162. package/dist/internal/edgeAutoScroll.d.ts +43 -25
  163. package/dist/internal/fieldCell.d.ts +4 -3
  164. package/dist/internal/fieldClasses.d.ts +15 -2
  165. package/dist/internal/fileSize.d.ts +5 -1
  166. package/dist/internal/formatClock.d.ts +2 -0
  167. package/dist/internal/formatNumber.d.ts +6 -0
  168. package/dist/internal/glyphSwap.d.ts +5 -9
  169. package/dist/internal/hasContent.d.ts +6 -0
  170. package/dist/internal/highlightTsx.d.ts +12 -0
  171. package/dist/internal/iconBox.d.ts +6 -0
  172. package/dist/internal/iconLayout.d.ts +2 -1
  173. package/dist/internal/imageSlot.d.ts +6 -1
  174. package/dist/internal/interactiveElement.d.ts +41 -0
  175. package/dist/internal/labels.d.ts +6 -0
  176. package/dist/internal/leaveInPlace.d.ts +6 -5
  177. package/dist/internal/listPresence.d.ts +32 -0
  178. package/dist/internal/listbox.d.ts +71 -31
  179. package/dist/internal/longPress.d.ts +42 -0
  180. package/dist/internal/mediaDisk.d.ts +7 -4
  181. package/dist/internal/mediaPlayer.d.ts +91 -27
  182. package/dist/internal/mediaSession.d.ts +0 -6
  183. package/dist/internal/messageList.d.ts +4 -3
  184. package/dist/internal/motionTiming.d.ts +34 -0
  185. package/dist/internal/namedRole.d.ts +13 -0
  186. package/dist/internal/nodeText.d.ts +6 -0
  187. package/dist/{components/modal → internal/overlay}/DialogGuard.d.ts +3 -5
  188. package/dist/{components/modal → internal/overlay}/DialogParts.d.ts +86 -89
  189. package/dist/internal/overlay/FloatingPanel.d.ts +27 -5
  190. package/dist/internal/overlay/ModalDialog.d.ts +59 -0
  191. package/dist/internal/overlay/focus.d.ts +29 -5
  192. package/dist/internal/overlay/layerStack.d.ts +8 -5
  193. package/dist/internal/overlay/useAnchorName.d.ts +14 -0
  194. package/dist/internal/overlay/useContainScroll.d.ts +7 -0
  195. package/dist/internal/overlay/useFloatingLayer.d.ts +43 -14
  196. package/dist/internal/overlay/useOpenState.d.ts +22 -0
  197. package/dist/internal/partPresence.d.ts +31 -0
  198. package/dist/internal/parts.d.ts +39 -0
  199. package/dist/internal/progressSegments.d.ts +52 -12
  200. package/dist/internal/richText.d.ts +6 -34
  201. package/dist/internal/ring.d.ts +18 -8
  202. package/dist/internal/rovingFocus.d.ts +10 -5
  203. package/dist/{components/data-table/rowEvents.d.ts → internal/rowLink.d.ts} +0 -5
  204. package/dist/internal/scrollAncestors.d.ts +14 -0
  205. package/dist/internal/selectionIndicator.d.ts +27 -0
  206. package/dist/internal/slot.d.ts +53 -5
  207. package/dist/internal/states.d.ts +61 -0
  208. package/dist/internal/sticky.d.ts +5 -1
  209. package/dist/internal/swallowNextClick.d.ts +9 -0
  210. package/dist/internal/swatch.d.ts +59 -15
  211. package/dist/internal/textFormatting.d.ts +2 -1
  212. package/dist/internal/textFormattingToolbar.d.ts +3 -2
  213. package/dist/internal/tokenDefaults.d.ts +21 -0
  214. package/dist/internal/touchTarget.d.ts +5 -0
  215. package/dist/internal/transcript.d.ts +19 -18
  216. package/dist/internal/transfer.d.ts +22 -8
  217. package/dist/internal/transferDisk.d.ts +2 -3
  218. package/dist/internal/useFlipList.d.ts +44 -0
  219. package/dist/internal/useNearView.d.ts +4 -3
  220. package/dist/internal/usePendingChanges.d.ts +23 -0
  221. package/dist/internal/useRangeSelection.d.ts +2 -1
  222. package/dist/layout/app-header/AppHeader.d.ts +29 -20
  223. package/dist/layout/app-shell/AppShell.d.ts +72 -8
  224. package/dist/layout/bottom-nav/BottomNav.d.ts +58 -22
  225. package/dist/layout/index.d.ts +2 -2
  226. package/dist/layout/sidebar/Sidebar.d.ts +232 -101
  227. package/dist/skill/SKILL.md +10 -10
  228. package/dist/skill/anti-slop.md +105 -24
  229. package/dist/skill/api-contract.md +115 -35
  230. package/dist/skill/cheatsheet.md +37 -37
  231. package/dist/skill/checklist.md +57 -89
  232. package/dist/skill/choosing.md +23 -25
  233. package/dist/skill/components.md +50 -48
  234. package/dist/skill/composition.md +68 -58
  235. package/dist/skill/foundations.md +31 -24
  236. package/dist/skill/layouts.md +81 -83
  237. package/dist/skill/motion.md +26 -31
  238. package/dist/skill/reference/components/accordion/COMPONENT.md +16 -9
  239. package/dist/skill/reference/components/accordion/examples/overview.tsx +2 -2
  240. package/dist/skill/reference/components/accordion/examples/sizes.tsx +6 -8
  241. package/dist/skill/reference/components/accordion/examples/states.tsx +27 -24
  242. package/dist/skill/reference/components/accordion/examples/variants.tsx +6 -8
  243. package/dist/skill/reference/components/accordion/examples/with-icon.tsx +22 -19
  244. package/dist/skill/reference/components/avatar/COMPONENT.md +23 -16
  245. package/dist/skill/reference/components/avatar/examples/examples.module.css +1 -4
  246. package/dist/skill/reference/components/avatar/examples/overview.tsx +3 -3
  247. package/dist/skill/reference/components/avatar/examples/presence.tsx +4 -4
  248. package/dist/skill/reference/components/avatar/examples/src-from-state.tsx +3 -3
  249. package/dist/skill/reference/components/avatar/examples/states.tsx +4 -4
  250. package/dist/skill/reference/components/avatar/examples/team-group.tsx +2 -2
  251. package/dist/skill/reference/components/badge/COMPONENT.md +66 -34
  252. package/dist/skill/reference/components/badge/examples/controlled.tsx +32 -0
  253. package/dist/skill/reference/components/badge/examples/examples.module.css +2 -2
  254. package/dist/skill/reference/components/badge/examples/filter-values.tsx +4 -6
  255. package/dist/skill/reference/components/badge/examples/in-controls.tsx +1 -1
  256. package/dist/skill/reference/components/badge/examples/overview.tsx +6 -5
  257. package/dist/skill/reference/components/badge/examples/square.tsx +21 -0
  258. package/dist/skill/reference/components/badge/examples/states.tsx +4 -4
  259. package/dist/skill/reference/components/badge/examples/with-icon.tsx +10 -1
  260. package/dist/skill/reference/components/banner/COMPONENT.md +9 -5
  261. package/dist/skill/reference/components/banner/examples/dismissible.tsx +3 -19
  262. package/dist/skill/reference/components/banner/examples/overview.tsx +1 -1
  263. package/dist/skill/reference/components/breadcrumb/COMPONENT.md +17 -11
  264. package/dist/skill/reference/components/breadcrumb/examples/examples.module.css +1 -1
  265. package/dist/skill/reference/components/breadcrumb/examples/overflow.tsx +1 -1
  266. package/dist/skill/reference/components/breadcrumb/examples/sizes.tsx +6 -8
  267. package/dist/skill/reference/components/breadcrumb/examples/with-icon.tsx +15 -8
  268. package/dist/skill/reference/components/button/COMPONENT.md +66 -30
  269. package/dist/skill/reference/components/button/examples/align.tsx +25 -0
  270. package/dist/skill/reference/components/button/examples/controlled.tsx +21 -0
  271. package/dist/skill/reference/components/button/examples/density.tsx +45 -0
  272. package/dist/skill/reference/components/button/examples/examples.module.css +14 -25
  273. package/dist/skill/reference/components/button/examples/label-morph.tsx +1 -1
  274. package/dist/skill/reference/components/button/examples/on-colored-host.tsx +19 -19
  275. package/dist/skill/reference/components/button/examples/over-media.tsx +7 -1
  276. package/dist/skill/reference/components/button/examples/toggle.tsx +2 -10
  277. package/dist/skill/reference/components/button-group/COMPONENT.md +21 -15
  278. package/dist/skill/reference/components/button-group/examples/controlled.tsx +1 -1
  279. package/dist/skill/reference/components/card/COMPONENT.md +16 -5
  280. package/dist/skill/reference/components/card/examples/content-templates.tsx +8 -2
  281. package/dist/skill/reference/components/card/examples/examples.module.css +4 -16
  282. package/dist/skill/reference/components/card/examples/overview.tsx +11 -11
  283. package/dist/skill/reference/components/card/examples/screen.tsx +9 -8
  284. package/dist/skill/reference/components/card/examples/variants.tsx +74 -47
  285. package/dist/skill/reference/components/chart-frame/COMPONENT.md +24 -28
  286. package/dist/skill/reference/components/chart-frame/examples/controlled.tsx +9 -7
  287. package/dist/skill/reference/components/chart-frame/examples/fill-height.tsx +4 -6
  288. package/dist/skill/reference/components/chart-frame/examples/narrow.tsx +24 -5
  289. package/dist/skill/reference/components/chart-frame/examples/overview.tsx +5 -2
  290. package/dist/skill/reference/components/chart-frame/examples/states.tsx +72 -64
  291. package/dist/skill/reference/components/chart-frame/examples/tooltip.tsx +27 -26
  292. package/dist/skill/reference/components/chat/COMPONENT.md +35 -22
  293. package/dist/skill/reference/components/chat/examples/group-chat.tsx +2 -2
  294. package/dist/skill/reference/components/chat/examples/overview.tsx +119 -130
  295. package/dist/skill/reference/components/chat/examples/reactions.tsx +18 -23
  296. package/dist/skill/reference/components/chat/examples/screen.tsx +108 -131
  297. package/dist/skill/reference/components/chat/examples/states.tsx +23 -22
  298. package/dist/skill/reference/components/chat-list/COMPONENT.md +10 -5
  299. package/dist/skill/reference/components/chat-list/examples/examples.module.css +0 -8
  300. package/dist/skill/reference/components/chat-list/examples/live.tsx +29 -22
  301. package/dist/skill/reference/components/chat-list/examples/sizes.tsx +6 -8
  302. package/dist/skill/reference/components/chat-list/examples/states.tsx +42 -38
  303. package/dist/skill/reference/components/checkbox/COMPONENT.md +27 -14
  304. package/dist/skill/reference/components/checkbox/examples/controlled.tsx +18 -16
  305. package/dist/skill/reference/components/checkbox/examples/examples.module.css +14 -56
  306. package/dist/skill/reference/components/checkbox/examples/in-form.tsx +16 -16
  307. package/dist/skill/reference/components/checkbox/examples/indicator.tsx +19 -64
  308. package/dist/skill/reference/components/checkbox/examples/overview.tsx +1 -1
  309. package/dist/skill/reference/components/checkbox/examples/states.tsx +1 -1
  310. package/dist/skill/reference/components/checkbox/examples/without-label.tsx +1 -1
  311. package/dist/skill/reference/components/code-block/COMPONENT.md +16 -12
  312. package/dist/skill/reference/components/code-block/examples/examples.module.css +5 -2
  313. package/dist/skill/reference/components/code-block/examples/narrow.tsx +1 -1
  314. package/dist/skill/reference/components/color-field/COMPONENT.md +15 -9
  315. package/dist/skill/reference/components/color-field/examples/examples.module.css +4 -5
  316. package/dist/skill/reference/components/color-field/examples/in-form.tsx +15 -13
  317. package/dist/skill/reference/components/color-field/examples/sizes.tsx +5 -1
  318. package/dist/skill/reference/components/color-field/examples/states.tsx +15 -3
  319. package/dist/skill/reference/components/color-picker/COMPONENT.md +55 -19
  320. package/dist/skill/reference/components/color-picker/examples/controlled.tsx +16 -5
  321. package/dist/skill/reference/components/color-picker/examples/examples.module.css +6 -7
  322. package/dist/skill/reference/components/color-picker/examples/in-form.tsx +24 -22
  323. package/dist/skill/reference/components/color-picker/examples/overview.tsx +1 -1
  324. package/dist/skill/reference/components/color-picker/examples/panel.tsx +1 -1
  325. package/dist/skill/reference/components/color-picker/examples/sizes.tsx +9 -11
  326. package/dist/skill/reference/components/color-picker/examples/states.tsx +28 -23
  327. package/dist/skill/reference/components/color-swatches/COMPONENT.md +22 -8
  328. package/dist/skill/reference/components/color-swatches/examples/examples.module.css +3 -4
  329. package/dist/skill/reference/components/color-swatches/examples/in-form.tsx +19 -17
  330. package/dist/skill/reference/components/color-swatches/examples/palette.tsx +24 -0
  331. package/dist/skill/reference/components/color-swatches/examples/wrapping.tsx +17 -2
  332. package/dist/skill/reference/components/command-menu/COMPONENT.md +60 -20
  333. package/dist/skill/reference/components/command-menu/examples/sizes.tsx +20 -15
  334. package/dist/skill/reference/components/command-menu/examples/states.tsx +46 -24
  335. package/dist/skill/reference/components/composer/COMPONENT.md +42 -24
  336. package/dist/skill/reference/components/composer/examples/examples.module.css +0 -9
  337. package/dist/skill/reference/components/composer/examples/narrow.tsx +1 -1
  338. package/dist/skill/reference/components/composer/examples/reply-edit.tsx +3 -3
  339. package/dist/skill/reference/components/composer/examples/sizes.tsx +3 -5
  340. package/dist/skill/reference/components/composer/examples/states.tsx +4 -6
  341. package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +26 -13
  342. package/dist/skill/reference/components/confirm-dialog/examples/dismiss.tsx +27 -0
  343. package/dist/skill/reference/components/confirm-dialog/examples/failure.tsx +9 -16
  344. package/dist/skill/reference/components/crossfade/COMPONENT.md +11 -5
  345. package/dist/skill/reference/components/crossfade/examples/examples.module.css +1 -40
  346. package/dist/skill/reference/components/crossfade/examples/fill.tsx +16 -19
  347. package/dist/skill/reference/components/crossfade/examples/overview.tsx +14 -16
  348. package/dist/skill/reference/components/crossfade/examples/record-switch.tsx +6 -11
  349. package/dist/skill/reference/components/crossfade/examples/screen.module.css +1 -24
  350. package/dist/skill/reference/components/crossfade/examples/screen.tsx +14 -25
  351. package/dist/skill/reference/components/data-table/COMPONENT.md +31 -21
  352. package/dist/skill/reference/components/data-table/examples/controlled.tsx +14 -2
  353. package/dist/skill/reference/components/data-table/examples/examples.module.css +1 -9
  354. package/dist/skill/reference/components/data-table/examples/narrow.tsx +5 -1
  355. package/dist/skill/reference/components/data-table/examples/row-link.tsx +2 -1
  356. package/dist/skill/reference/components/data-table/examples/screen.module.css +2 -2
  357. package/dist/skill/reference/components/data-table/examples/screen.tsx +11 -10
  358. package/dist/skill/reference/components/data-table/examples/sizes.tsx +17 -17
  359. package/dist/skill/reference/components/data-table/examples/states.tsx +37 -29
  360. package/dist/skill/reference/components/datepicker/COMPONENT.md +53 -22
  361. package/dist/skill/reference/components/datepicker/examples/dismiss.tsx +15 -0
  362. package/dist/skill/reference/components/datepicker/examples/examples.module.css +3 -2
  363. package/dist/skill/reference/components/datepicker/examples/in-form.tsx +33 -25
  364. package/dist/skill/reference/components/datepicker/examples/sizes.tsx +2 -2
  365. package/dist/skill/reference/components/datepicker/examples/states.tsx +2 -2
  366. package/dist/skill/reference/components/datepicker/examples/validation.tsx +3 -3
  367. package/dist/skill/reference/components/description-list/COMPONENT.md +24 -9
  368. package/dist/skill/reference/components/description-list/examples/examples.module.css +4 -24
  369. package/dist/skill/reference/components/description-list/examples/narrow.tsx +1 -1
  370. package/dist/skill/reference/components/description-list/examples/screen.module.css +0 -18
  371. package/dist/skill/reference/components/description-list/examples/screen.tsx +19 -27
  372. package/dist/skill/reference/components/description-list/examples/sizes.tsx +2 -4
  373. package/dist/skill/reference/components/description-list/examples/structure.tsx +6 -7
  374. package/dist/skill/reference/components/description-list/examples/totals.tsx +40 -0
  375. package/dist/skill/reference/components/digit-input/COMPONENT.md +12 -6
  376. package/dist/skill/reference/components/digit-input/examples/examples.module.css +2 -2
  377. package/dist/skill/reference/components/digit-input/examples/in-form.tsx +1 -1
  378. package/dist/skill/reference/components/digit-input/examples/sizes.tsx +5 -3
  379. package/dist/skill/reference/components/digit-input/examples/states.tsx +14 -6
  380. package/dist/skill/reference/components/divider/COMPONENT.md +26 -12
  381. package/dist/skill/reference/components/divider/examples/align.tsx +2 -4
  382. package/dist/skill/reference/components/divider/examples/examples.module.css +13 -17
  383. package/dist/skill/reference/components/divider/examples/or-separator.tsx +3 -5
  384. package/dist/skill/reference/components/divider/examples/overview.tsx +18 -16
  385. package/dist/skill/reference/components/divider/examples/vertical.tsx +5 -1
  386. package/dist/skill/reference/components/divider/examples/with-icon.tsx +1 -1
  387. package/dist/skill/reference/components/dnd/COMPONENT.md +52 -34
  388. package/dist/skill/reference/components/dnd/examples/drop-zones.tsx +1 -1
  389. package/dist/skill/reference/components/dnd/examples/examples.module.css +4 -6
  390. package/dist/skill/reference/components/dnd/examples/states.tsx +41 -35
  391. package/dist/skill/reference/components/drawer/COMPONENT.md +37 -14
  392. package/dist/skill/reference/components/drawer/examples/guard.tsx +1 -3
  393. package/dist/skill/reference/components/drawer/examples/header-actions.tsx +1 -1
  394. package/dist/skill/reference/components/drawer/examples/in-form.tsx +31 -31
  395. package/dist/skill/reference/components/drawer/examples/placement.tsx +31 -26
  396. package/dist/skill/reference/components/drawer/examples/sizes.tsx +32 -27
  397. package/dist/skill/reference/components/dropdown/COMPONENT.md +58 -23
  398. package/dist/skill/reference/components/dropdown/examples/context-menu.tsx +75 -0
  399. package/dist/skill/reference/components/dropdown/examples/examples.module.css +1 -1
  400. package/dist/skill/reference/components/dropdown/examples/sizes.tsx +39 -34
  401. package/dist/skill/reference/components/dropdown/examples/states.tsx +37 -29
  402. package/dist/skill/reference/components/empty-page/COMPONENT.md +20 -9
  403. package/dist/skill/reference/components/empty-page/examples/compact.tsx +28 -18
  404. package/dist/skill/reference/components/empty-page/examples/examples.module.css +0 -43
  405. package/dist/skill/reference/components/empty-page/examples/narrow.tsx +3 -3
  406. package/dist/skill/reference/components/empty-page/examples/region-error.tsx +6 -11
  407. package/dist/skill/reference/components/empty-page/examples/sizes.tsx +13 -13
  408. package/dist/skill/reference/components/empty-page/examples/variants.tsx +34 -30
  409. package/dist/skill/reference/components/example-frame/COMPONENT.md +21 -9
  410. package/dist/skill/reference/components/example-frame/examples/controlled.tsx +3 -3
  411. package/dist/skill/reference/components/field-list/COMPONENT.md +14 -8
  412. package/dist/skill/reference/components/field-list/examples/sizes.tsx +32 -26
  413. package/dist/skill/reference/components/field-list/examples/states.tsx +37 -31
  414. package/dist/skill/reference/components/fieldset/COMPONENT.md +10 -5
  415. package/dist/skill/reference/components/fieldset/examples/examples.module.css +1 -1
  416. package/dist/skill/reference/components/file-upload/COMPONENT.md +67 -29
  417. package/dist/skill/reference/components/file-upload/examples/avatar-upload.tsx +5 -5
  418. package/dist/skill/reference/components/file-upload/examples/custom-body.tsx +12 -7
  419. package/dist/skill/reference/components/file-upload/examples/examples.module.css +4 -4
  420. package/dist/skill/reference/components/file-upload/examples/narrow.tsx +1 -1
  421. package/dist/skill/reference/components/file-upload/examples/row-parts.tsx +4 -4
  422. package/dist/skill/reference/components/file-upload/examples/screen.module.css +2 -2
  423. package/dist/skill/reference/components/file-upload/examples/screen.tsx +6 -4
  424. package/dist/skill/reference/components/file-upload/examples/sizes.tsx +1 -3
  425. package/dist/skill/reference/components/file-upload/examples/states.tsx +1 -3
  426. package/dist/skill/reference/components/file-upload/examples/variants.tsx +13 -7
  427. package/dist/skill/reference/components/gallery/COMPONENT.md +16 -7
  428. package/dist/skill/reference/components/gallery/examples/album-sizes.tsx +52 -0
  429. package/dist/skill/reference/components/gallery/examples/controlled.tsx +40 -0
  430. package/dist/skill/reference/components/gallery/examples/examples.module.css +1 -1
  431. package/dist/skill/reference/components/gallery/examples/overview.tsx +15 -43
  432. package/dist/skill/reference/components/gallery/examples/transfer.tsx +22 -13
  433. package/dist/skill/reference/components/gantt/COMPONENT.md +21 -15
  434. package/dist/skill/reference/components/gantt/examples/examples.module.css +0 -16
  435. package/dist/skill/reference/components/gantt/examples/occupancy.tsx +2 -2
  436. package/dist/skill/reference/components/gantt/examples/screen.tsx +2 -2
  437. package/dist/skill/reference/components/gantt/examples/sizes.tsx +16 -16
  438. package/dist/skill/reference/components/gantt/examples/states.tsx +34 -30
  439. package/dist/skill/reference/components/gantt/examples/variants.tsx +27 -25
  440. package/dist/skill/reference/components/hint/COMPONENT.md +24 -14
  441. package/dist/skill/reference/components/hint/examples/examples.module.css +1 -1
  442. package/dist/skill/reference/components/hint/examples/hint-or-error.tsx +2 -2
  443. package/dist/skill/reference/components/hint/examples/overview.tsx +9 -10
  444. package/dist/skill/reference/components/hint/examples/sizes.tsx +1 -1
  445. package/dist/skill/reference/components/input/COMPONENT.md +10 -6
  446. package/dist/skill/reference/components/input/examples/affixes.tsx +2 -2
  447. package/dist/skill/reference/components/input/examples/examples.module.css +1 -1
  448. package/dist/skill/reference/components/input/examples/sizes.tsx +9 -5
  449. package/dist/skill/reference/components/input/examples/states.tsx +39 -23
  450. package/dist/skill/reference/components/input/examples/with-icon.tsx +24 -16
  451. package/dist/skill/reference/components/kanban/COMPONENT.md +30 -24
  452. package/dist/skill/reference/components/kanban/examples/columns.tsx +14 -19
  453. package/dist/skill/reference/components/kanban/examples/item-link.tsx +2 -2
  454. package/dist/skill/reference/components/kanban/examples/limits.tsx +1 -1
  455. package/dist/skill/reference/components/kanban/examples/narrow.tsx +1 -1
  456. package/dist/skill/reference/components/kanban/examples/screen.module.css +1 -3
  457. package/dist/skill/reference/components/kanban/examples/screen.tsx +6 -4
  458. package/dist/skill/reference/components/kanban/examples/states.tsx +37 -58
  459. package/dist/skill/reference/components/kanban/examples/variants.tsx +0 -3
  460. package/dist/skill/reference/components/kbd/COMPONENT.md +10 -6
  461. package/dist/skill/reference/components/kbd/examples/examples.module.css +1 -20
  462. package/dist/skill/reference/components/kbd/examples/in-controls.tsx +2 -2
  463. package/dist/skill/reference/components/kbd/examples/shortcut-list.tsx +14 -26
  464. package/dist/skill/reference/components/label/COMPONENT.md +26 -11
  465. package/dist/skill/reference/components/label/examples/examples.module.css +3 -11
  466. package/dist/skill/reference/components/label/examples/overview.tsx +5 -9
  467. package/dist/skill/reference/components/label/examples/structure.tsx +2 -2
  468. package/dist/skill/reference/components/link-button/COMPONENT.md +33 -20
  469. package/dist/skill/reference/components/link-button/examples/as-child.tsx +1 -1
  470. package/dist/skill/reference/components/link-button/examples/external-link.tsx +1 -1
  471. package/dist/skill/reference/components/link-button/examples/overview.tsx +4 -2
  472. package/dist/skill/reference/components/link-button/examples/variants.tsx +2 -2
  473. package/dist/skill/reference/components/list/COMPONENT.md +24 -16
  474. package/dist/skill/reference/components/list/examples/examples.module.css +0 -8
  475. package/dist/skill/reference/components/list/examples/overflow.tsx +1 -1
  476. package/dist/skill/reference/components/list/examples/overview.tsx +31 -30
  477. package/dist/skill/reference/components/list/examples/sizes.tsx +23 -23
  478. package/dist/skill/reference/components/list/examples/states.tsx +38 -21
  479. package/dist/skill/reference/components/list/examples/with-icon.tsx +16 -14
  480. package/dist/skill/reference/components/login-form/COMPONENT.md +69 -16
  481. package/dist/skill/reference/components/login-form/examples/narrow.tsx +1 -1
  482. package/dist/skill/reference/components/login-form/examples/register.tsx +1 -1
  483. package/dist/skill/reference/components/media-viewer/COMPONENT.md +12 -8
  484. package/dist/skill/reference/components/media-viewer/examples/examples.module.css +2 -2
  485. package/dist/skill/reference/components/media-viewer/examples/video.tsx +1 -1
  486. package/dist/skill/reference/components/message/COMPONENT.md +102 -46
  487. package/dist/skill/reference/components/message/examples/typing.tsx +5 -5
  488. package/dist/skill/reference/components/modal/COMPONENT.md +71 -37
  489. package/dist/skill/reference/components/modal/examples/dismiss.tsx +35 -27
  490. package/dist/skill/reference/components/modal/examples/enter-key.tsx +22 -25
  491. package/dist/skill/reference/components/modal/examples/examples.module.css +0 -7
  492. package/dist/skill/reference/components/modal/examples/guard.tsx +2 -4
  493. package/dist/skill/reference/components/modal/examples/in-form.tsx +28 -28
  494. package/dist/skill/reference/components/modal/examples/long-content.tsx +6 -4
  495. package/dist/skill/reference/components/modal/examples/sizes.tsx +36 -31
  496. package/dist/skill/reference/components/modal/examples/structure.tsx +1 -1
  497. package/dist/skill/reference/components/native-select/COMPONENT.md +7 -3
  498. package/dist/skill/reference/components/native-select/examples/examples.module.css +3 -3
  499. package/dist/skill/reference/components/native-select/examples/in-form.tsx +28 -29
  500. package/dist/skill/reference/components/native-select/examples/sizes.tsx +2 -2
  501. package/dist/skill/reference/components/native-select/examples/states.tsx +2 -2
  502. package/dist/skill/reference/components/notification/COMPONENT.md +36 -31
  503. package/dist/skill/reference/components/notification/examples/examples.module.css +1 -2
  504. package/dist/skill/reference/components/notification/examples/in-form.tsx +28 -20
  505. package/dist/skill/reference/components/notification/examples/sizes.tsx +16 -12
  506. package/dist/skill/reference/components/notification/examples/undo.tsx +7 -15
  507. package/dist/skill/reference/components/page-content/COMPONENT.md +21 -29
  508. package/dist/skill/reference/components/page-content/examples/examples.module.css +3 -16
  509. package/dist/skill/reference/components/page-content/examples/grid.tsx +3 -1
  510. package/dist/skill/reference/components/page-content/examples/list-detail.tsx +55 -49
  511. package/dist/skill/reference/components/page-content/examples/narrow.tsx +1 -1
  512. package/dist/skill/reference/components/page-content/examples/overview.tsx +2 -2
  513. package/dist/skill/reference/components/page-content/examples/variants.tsx +7 -7
  514. package/dist/skill/reference/components/page-toolbar/COMPONENT.md +10 -6
  515. package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +1 -1
  516. package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +25 -22
  517. package/dist/skill/reference/components/pagination/COMPONENT.md +20 -17
  518. package/dist/skill/reference/components/pagination/examples/narrow.tsx +5 -5
  519. package/dist/skill/reference/components/popover/COMPONENT.md +43 -20
  520. package/dist/skill/reference/components/popover/examples/controlled-open.tsx +6 -4
  521. package/dist/skill/reference/components/popover/examples/dismiss.tsx +37 -28
  522. package/dist/skill/reference/components/popover/examples/examples.module.css +2 -2
  523. package/dist/skill/reference/components/popover/examples/sizes.tsx +32 -27
  524. package/dist/skill/reference/components/popover/examples/width.tsx +45 -0
  525. package/dist/skill/reference/components/progress-bar/COMPONENT.md +21 -29
  526. package/dist/skill/reference/components/progress-bar/examples/examples.module.css +1 -1
  527. package/dist/skill/reference/components/progress-circle/COMPONENT.md +21 -29
  528. package/dist/skill/reference/components/progress-circle/examples/examples.module.css +1 -1
  529. package/dist/skill/reference/components/progress-circle/examples/on-color.tsx +16 -0
  530. package/dist/skill/reference/components/progress-circle/examples/variants.tsx +1 -0
  531. package/dist/skill/reference/components/radio/COMPONENT.md +13 -4
  532. package/dist/skill/reference/components/radio/examples/examples.module.css +1 -1
  533. package/dist/skill/reference/components/scroll-container/COMPONENT.md +18 -12
  534. package/dist/skill/reference/components/scroll-container/examples/auto-scroll.tsx +8 -4
  535. package/dist/skill/reference/components/scroll-container/examples/edges.tsx +4 -4
  536. package/dist/skill/reference/components/scroll-container/examples/examples.module.css +7 -51
  537. package/dist/skill/reference/components/scroll-container/examples/load-more.tsx +4 -4
  538. package/dist/skill/reference/components/scroll-container/examples/lock.tsx +4 -4
  539. package/dist/skill/reference/components/scroll-container/examples/log.tsx +97 -0
  540. package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +4 -4
  541. package/dist/skill/reference/components/scroll-container/examples/overview.tsx +5 -5
  542. package/dist/skill/reference/components/scroll-container/examples/scrollbar.tsx +4 -4
  543. package/dist/skill/reference/components/scroll-container/examples/snap.tsx +2 -2
  544. package/dist/skill/reference/components/scroll-container/examples/variants.tsx +1 -0
  545. package/dist/skill/reference/components/segmented-control/COMPONENT.md +24 -12
  546. package/dist/skill/reference/components/segmented-control/examples/controlled.tsx +2 -4
  547. package/dist/skill/reference/components/segmented-control/examples/examples.module.css +0 -8
  548. package/dist/skill/reference/components/segmented-control/examples/scroll.tsx +1 -1
  549. package/dist/skill/reference/components/select/COMPONENT.md +33 -9
  550. package/dist/skill/reference/components/select/examples/dismiss.tsx +26 -0
  551. package/dist/skill/reference/components/select/examples/examples.module.css +1 -1
  552. package/dist/skill/reference/components/select/examples/server-search.tsx +6 -2
  553. package/dist/skill/reference/components/select/examples/sizes.tsx +2 -2
  554. package/dist/skill/reference/components/select/examples/states.tsx +2 -2
  555. package/dist/skill/reference/components/select/examples/with-icon.tsx +20 -18
  556. package/dist/skill/reference/components/sheet/COMPONENT.md +44 -21
  557. package/dist/skill/reference/components/sheet/examples/header-actions.tsx +23 -4
  558. package/dist/skill/reference/components/sheet/examples/overview.tsx +25 -10
  559. package/dist/skill/reference/components/skeleton/COMPONENT.md +8 -4
  560. package/dist/skill/reference/components/skeleton/examples/examples.module.css +1 -13
  561. package/dist/skill/reference/components/skeleton/examples/with-crossfade.tsx +7 -7
  562. package/dist/skill/reference/components/slider/COMPONENT.md +10 -5
  563. package/dist/skill/reference/components/slider/examples/examples.module.css +6 -7
  564. package/dist/skill/reference/components/slider/examples/hint-and-error.tsx +3 -5
  565. package/dist/skill/reference/components/slider/examples/in-form.tsx +21 -19
  566. package/dist/skill/reference/components/smart-filter/COMPONENT.md +32 -12
  567. package/dist/skill/reference/components/smart-filter/examples/examples.module.css +0 -21
  568. package/dist/skill/reference/components/smart-filter/examples/ranges.tsx +2 -1
  569. package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +2 -4
  570. package/dist/skill/reference/components/sparkline/COMPONENT.md +7 -3
  571. package/dist/skill/reference/components/sparkline/examples/examples.module.css +1 -1
  572. package/dist/skill/reference/components/sparkline/examples/signed-bars.tsx +2 -2
  573. package/dist/skill/reference/components/spinner/COMPONENT.md +15 -9
  574. package/dist/skill/reference/components/spinner/examples/examples.module.css +2 -14
  575. package/dist/skill/reference/components/spinner/examples/overview.tsx +1 -1
  576. package/dist/skill/reference/components/stepper/COMPONENT.md +50 -41
  577. package/dist/skill/reference/components/stepper/examples/examples.module.css +1 -6
  578. package/dist/skill/reference/components/stepper/examples/narrow.tsx +1 -1
  579. package/dist/skill/reference/components/stepper/examples/sizes.tsx +6 -8
  580. package/dist/skill/reference/components/stepper/examples/states.tsx +44 -43
  581. package/dist/skill/reference/components/stepper/examples/with-icon.tsx +19 -17
  582. package/dist/skill/reference/components/switch/COMPONENT.md +21 -8
  583. package/dist/skill/reference/components/switch/examples/examples.module.css +2 -2
  584. package/dist/skill/reference/components/switch/examples/states.tsx +3 -3
  585. package/dist/skill/reference/components/tabs/COMPONENT.md +21 -16
  586. package/dist/skill/reference/components/tabs/examples/in-drawer.tsx +1 -1
  587. package/dist/skill/reference/components/tabs/examples/sizes.tsx +5 -10
  588. package/dist/skill/reference/components/tabs/examples/variants.tsx +19 -23
  589. package/dist/skill/reference/components/tag-select/COMPONENT.md +19 -6
  590. package/dist/skill/reference/components/tag-select/examples/creatable.tsx +2 -2
  591. package/dist/skill/reference/components/tag-select/examples/dismiss.tsx +23 -0
  592. package/dist/skill/reference/components/tag-select/examples/examples.module.css +3 -3
  593. package/dist/skill/reference/components/tag-select/examples/in-form.tsx +31 -32
  594. package/dist/skill/reference/components/tag-select/examples/sizes.tsx +2 -2
  595. package/dist/skill/reference/components/tag-select/examples/states.tsx +2 -2
  596. package/dist/skill/reference/components/textarea/COMPONENT.md +10 -6
  597. package/dist/skill/reference/components/textarea/examples/examples.module.css +3 -10
  598. package/dist/skill/reference/components/textarea/examples/in-form.tsx +3 -3
  599. package/dist/skill/reference/components/textarea/examples/sizes.tsx +10 -7
  600. package/dist/skill/reference/components/textarea/examples/states.tsx +29 -13
  601. package/dist/skill/reference/components/textarea/examples/validation.tsx +45 -36
  602. package/dist/skill/reference/components/thumbnail/COMPONENT.md +17 -13
  603. package/dist/skill/reference/components/thumbnail/examples/examples.module.css +1 -1
  604. package/dist/skill/reference/components/thumbnail/examples/states.tsx +1 -1
  605. package/dist/skill/reference/components/thumbnail/examples/variants.tsx +12 -1
  606. package/dist/skill/reference/components/timeline/COMPONENT.md +51 -35
  607. package/dist/skill/reference/components/timeline/examples/links.tsx +14 -14
  608. package/dist/skill/reference/components/timeline/examples/narrow.tsx +6 -6
  609. package/dist/skill/reference/components/timeline/examples/overview.tsx +6 -6
  610. package/dist/skill/reference/components/timeline/examples/sizes.tsx +28 -23
  611. package/dist/skill/reference/components/timeline/examples/structure.tsx +30 -30
  612. package/dist/skill/reference/components/timeline/examples/variants.tsx +40 -28
  613. package/dist/skill/reference/components/tooltip/COMPONENT.md +10 -6
  614. package/dist/skill/reference/components/tooltip/examples/examples.module.css +1 -5
  615. package/dist/skill/reference/components/tooltip/examples/non-interactive-trigger.tsx +1 -1
  616. package/dist/skill/reference/components/tooltip/examples/sizes.tsx +17 -10
  617. package/dist/skill/reference/components/typography/COMPONENT.md +17 -2
  618. package/dist/skill/reference/components/typography/examples/examples.module.css +3 -6
  619. package/dist/skill/reference/components/typography/examples/numeric.tsx +16 -0
  620. package/dist/skill/reference/components/video-note/COMPONENT.md +11 -7
  621. package/dist/skill/reference/components/visually-hidden/COMPONENT.md +8 -4
  622. package/dist/skill/reference/components/visually-hidden/examples/assertive.tsx +1 -1
  623. package/dist/skill/reference/components/visually-hidden/examples/overview.tsx +17 -7
  624. package/dist/skill/reference/components/voice-player/COMPONENT.md +15 -7
  625. package/dist/skill/reference/foundation.md +564 -0
  626. package/dist/skill/reference/layout/app-header/COMPONENT.md +27 -26
  627. package/dist/skill/reference/layout/app-header/examples/examples.module.css +4 -23
  628. package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +3 -5
  629. package/dist/skill/reference/layout/app-header/examples/narrow.tsx +58 -20
  630. package/dist/skill/reference/layout/app-shell/COMPONENT.md +40 -10
  631. package/dist/skill/reference/layout/app-shell/examples/examples.module.css +2 -22
  632. package/dist/skill/reference/layout/app-shell/examples/footer.tsx +2 -2
  633. package/dist/skill/reference/layout/app-shell/examples/overview.tsx +3 -5
  634. package/dist/skill/reference/layout/app-shell/examples/screen.tsx +27 -21
  635. package/dist/skill/reference/layout/app-shell/examples/template.tsx +3 -3
  636. package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +27 -17
  637. package/dist/skill/reference/layout/bottom-nav/examples/examples.module.css +2 -7
  638. package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +2 -2
  639. package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +2 -2
  640. package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +2 -2
  641. package/dist/skill/reference/layout/bottom-nav/examples/router.tsx +6 -5
  642. package/dist/skill/reference/layout/sidebar/COMPONENT.md +50 -40
  643. package/dist/skill/reference/layout/sidebar/examples/account.tsx +1 -3
  644. package/dist/skill/reference/layout/sidebar/examples/brand-header.tsx +1 -3
  645. package/dist/skill/reference/layout/sidebar/examples/collapsible-groups.tsx +1 -3
  646. package/dist/skill/reference/layout/sidebar/examples/controlled-open.tsx +1 -3
  647. package/dist/skill/reference/layout/sidebar/examples/controlled.tsx +1 -3
  648. package/dist/skill/reference/layout/sidebar/examples/custom-part.tsx +1 -3
  649. package/dist/skill/reference/layout/sidebar/examples/dismiss.tsx +47 -0
  650. package/dist/skill/reference/layout/sidebar/examples/examples.module.css +7 -32
  651. package/dist/skill/reference/layout/sidebar/examples/narrow.tsx +44 -42
  652. package/dist/skill/reference/layout/sidebar/examples/nested-items.tsx +1 -3
  653. package/dist/skill/reference/layout/sidebar/examples/overview.tsx +1 -3
  654. package/dist/skill/reference/layout/sidebar/examples/persist.tsx +1 -3
  655. package/dist/skill/reference/layout/sidebar/examples/router.tsx +12 -13
  656. package/dist/skill/reference/layout/sidebar/examples/sizes.tsx +6 -6
  657. package/dist/skill/responsive.md +48 -51
  658. package/dist/skill/ux.md +21 -9
  659. package/dist/theme/applyTheme.d.ts +7 -6
  660. package/dist/tokens/hues.d.ts +8 -0
  661. package/dist/tokens/layers.d.ts +3 -16
  662. package/dist/tokens/offGrid.d.ts +7 -0
  663. package/dist/tokens/primitives.d.ts +22 -7
  664. package/dist/tokens/semantic.d.ts +201 -51
  665. package/dist/tokens/themes/dark.d.ts +32 -31
  666. package/package.json +5 -3
  667. package/src/components/accordion/COMPONENT.md +16 -9
  668. package/src/components/accordion/examples/overview.tsx +2 -2
  669. package/src/components/accordion/examples/sizes.tsx +6 -8
  670. package/src/components/accordion/examples/states.tsx +27 -24
  671. package/src/components/accordion/examples/variants.tsx +6 -8
  672. package/src/components/accordion/examples/with-icon.tsx +22 -19
  673. package/src/components/avatar/COMPONENT.md +23 -16
  674. package/src/components/avatar/examples/examples.module.css +1 -4
  675. package/src/components/avatar/examples/overview.tsx +3 -3
  676. package/src/components/avatar/examples/presence.tsx +4 -4
  677. package/src/components/avatar/examples/src-from-state.tsx +3 -3
  678. package/src/components/avatar/examples/states.tsx +4 -4
  679. package/src/components/avatar/examples/team-group.tsx +2 -2
  680. package/src/components/badge/COMPONENT.md +66 -34
  681. package/src/components/badge/examples/controlled.tsx +32 -0
  682. package/src/components/badge/examples/examples.module.css +2 -2
  683. package/src/components/badge/examples/filter-values.tsx +4 -6
  684. package/src/components/badge/examples/in-controls.tsx +1 -1
  685. package/src/components/badge/examples/overview.tsx +6 -5
  686. package/src/components/badge/examples/square.tsx +21 -0
  687. package/src/components/badge/examples/states.tsx +4 -4
  688. package/src/components/badge/examples/with-icon.tsx +10 -1
  689. package/src/components/banner/COMPONENT.md +9 -5
  690. package/src/components/banner/examples/dismissible.tsx +3 -19
  691. package/src/components/banner/examples/overview.tsx +1 -1
  692. package/src/components/breadcrumb/COMPONENT.md +17 -11
  693. package/src/components/breadcrumb/examples/examples.module.css +1 -1
  694. package/src/components/breadcrumb/examples/overflow.tsx +1 -1
  695. package/src/components/breadcrumb/examples/sizes.tsx +6 -8
  696. package/src/components/breadcrumb/examples/with-icon.tsx +15 -8
  697. package/src/components/button/COMPONENT.md +66 -30
  698. package/src/components/button/examples/align.tsx +25 -0
  699. package/src/components/button/examples/controlled.tsx +21 -0
  700. package/src/components/button/examples/density.tsx +45 -0
  701. package/src/components/button/examples/examples.module.css +14 -25
  702. package/src/components/button/examples/label-morph.tsx +1 -1
  703. package/src/components/button/examples/on-colored-host.tsx +19 -19
  704. package/src/components/button/examples/over-media.tsx +7 -1
  705. package/src/components/button/examples/toggle.tsx +2 -10
  706. package/src/components/button-group/COMPONENT.md +21 -15
  707. package/src/components/button-group/examples/controlled.tsx +1 -1
  708. package/src/components/card/COMPONENT.md +16 -5
  709. package/src/components/card/examples/content-templates.tsx +8 -2
  710. package/src/components/card/examples/examples.module.css +4 -16
  711. package/src/components/card/examples/overview.tsx +11 -11
  712. package/src/components/card/examples/screen.tsx +9 -8
  713. package/src/components/card/examples/variants.tsx +74 -47
  714. package/src/components/chart-frame/COMPONENT.md +24 -28
  715. package/src/components/chart-frame/examples/controlled.tsx +9 -7
  716. package/src/components/chart-frame/examples/fill-height.tsx +4 -6
  717. package/src/components/chart-frame/examples/narrow.tsx +24 -5
  718. package/src/components/chart-frame/examples/overview.tsx +5 -2
  719. package/src/components/chart-frame/examples/states.tsx +72 -64
  720. package/src/components/chart-frame/examples/tooltip.tsx +27 -26
  721. package/src/components/chat/COMPONENT.md +35 -22
  722. package/src/components/chat/examples/group-chat.tsx +2 -2
  723. package/src/components/chat/examples/overview.tsx +119 -130
  724. package/src/components/chat/examples/reactions.tsx +18 -23
  725. package/src/components/chat/examples/screen.tsx +108 -131
  726. package/src/components/chat/examples/states.tsx +23 -22
  727. package/src/components/chat-list/COMPONENT.md +10 -5
  728. package/src/components/chat-list/examples/examples.module.css +0 -8
  729. package/src/components/chat-list/examples/live.tsx +29 -22
  730. package/src/components/chat-list/examples/sizes.tsx +6 -8
  731. package/src/components/chat-list/examples/states.tsx +42 -38
  732. package/src/components/checkbox/COMPONENT.md +27 -14
  733. package/src/components/checkbox/examples/controlled.tsx +18 -16
  734. package/src/components/checkbox/examples/examples.module.css +14 -56
  735. package/src/components/checkbox/examples/in-form.tsx +16 -16
  736. package/src/components/checkbox/examples/indicator.tsx +19 -64
  737. package/src/components/checkbox/examples/overview.tsx +1 -1
  738. package/src/components/checkbox/examples/states.tsx +1 -1
  739. package/src/components/checkbox/examples/without-label.tsx +1 -1
  740. package/src/components/code-block/COMPONENT.md +16 -12
  741. package/src/components/code-block/examples/examples.module.css +5 -2
  742. package/src/components/code-block/examples/narrow.tsx +1 -1
  743. package/src/components/color-field/COMPONENT.md +15 -9
  744. package/src/components/color-field/examples/examples.module.css +4 -5
  745. package/src/components/color-field/examples/in-form.tsx +15 -13
  746. package/src/components/color-field/examples/sizes.tsx +5 -1
  747. package/src/components/color-field/examples/states.tsx +15 -3
  748. package/src/components/color-picker/COMPONENT.md +55 -19
  749. package/src/components/color-picker/examples/controlled.tsx +16 -5
  750. package/src/components/color-picker/examples/examples.module.css +6 -7
  751. package/src/components/color-picker/examples/in-form.tsx +24 -22
  752. package/src/components/color-picker/examples/overview.tsx +1 -1
  753. package/src/components/color-picker/examples/panel.tsx +1 -1
  754. package/src/components/color-picker/examples/sizes.tsx +9 -11
  755. package/src/components/color-picker/examples/states.tsx +28 -23
  756. package/src/components/color-swatches/COMPONENT.md +22 -8
  757. package/src/components/color-swatches/examples/examples.module.css +3 -4
  758. package/src/components/color-swatches/examples/in-form.tsx +19 -17
  759. package/src/components/color-swatches/examples/palette.tsx +24 -0
  760. package/src/components/color-swatches/examples/wrapping.tsx +17 -2
  761. package/src/components/command-menu/COMPONENT.md +60 -20
  762. package/src/components/command-menu/examples/sizes.tsx +20 -15
  763. package/src/components/command-menu/examples/states.tsx +46 -24
  764. package/src/components/composer/COMPONENT.md +42 -24
  765. package/src/components/composer/examples/examples.module.css +0 -9
  766. package/src/components/composer/examples/narrow.tsx +1 -1
  767. package/src/components/composer/examples/reply-edit.tsx +3 -3
  768. package/src/components/composer/examples/sizes.tsx +3 -5
  769. package/src/components/composer/examples/states.tsx +4 -6
  770. package/src/components/confirm-dialog/COMPONENT.md +26 -13
  771. package/src/components/confirm-dialog/examples/dismiss.tsx +27 -0
  772. package/src/components/confirm-dialog/examples/failure.tsx +9 -16
  773. package/src/components/crossfade/COMPONENT.md +11 -5
  774. package/src/components/crossfade/examples/examples.module.css +1 -40
  775. package/src/components/crossfade/examples/fill.tsx +16 -19
  776. package/src/components/crossfade/examples/overview.tsx +14 -16
  777. package/src/components/crossfade/examples/record-switch.tsx +6 -11
  778. package/src/components/crossfade/examples/screen.module.css +1 -24
  779. package/src/components/crossfade/examples/screen.tsx +14 -25
  780. package/src/components/data-table/COMPONENT.md +31 -21
  781. package/src/components/data-table/examples/controlled.tsx +14 -2
  782. package/src/components/data-table/examples/examples.module.css +1 -9
  783. package/src/components/data-table/examples/narrow.tsx +5 -1
  784. package/src/components/data-table/examples/row-link.tsx +2 -1
  785. package/src/components/data-table/examples/screen.module.css +2 -2
  786. package/src/components/data-table/examples/screen.tsx +11 -10
  787. package/src/components/data-table/examples/sizes.tsx +17 -17
  788. package/src/components/data-table/examples/states.tsx +37 -29
  789. package/src/components/datepicker/COMPONENT.md +53 -22
  790. package/src/components/datepicker/examples/dismiss.tsx +15 -0
  791. package/src/components/datepicker/examples/examples.module.css +3 -2
  792. package/src/components/datepicker/examples/in-form.tsx +33 -25
  793. package/src/components/datepicker/examples/sizes.tsx +2 -2
  794. package/src/components/datepicker/examples/states.tsx +2 -2
  795. package/src/components/datepicker/examples/validation.tsx +3 -3
  796. package/src/components/description-list/COMPONENT.md +24 -9
  797. package/src/components/description-list/examples/examples.module.css +4 -24
  798. package/src/components/description-list/examples/narrow.tsx +1 -1
  799. package/src/components/description-list/examples/screen.module.css +0 -18
  800. package/src/components/description-list/examples/screen.tsx +19 -27
  801. package/src/components/description-list/examples/sizes.tsx +2 -4
  802. package/src/components/description-list/examples/structure.tsx +6 -7
  803. package/src/components/description-list/examples/totals.tsx +40 -0
  804. package/src/components/digit-input/COMPONENT.md +12 -6
  805. package/src/components/digit-input/examples/examples.module.css +2 -2
  806. package/src/components/digit-input/examples/in-form.tsx +1 -1
  807. package/src/components/digit-input/examples/sizes.tsx +5 -3
  808. package/src/components/digit-input/examples/states.tsx +14 -6
  809. package/src/components/divider/COMPONENT.md +26 -12
  810. package/src/components/divider/examples/align.tsx +2 -4
  811. package/src/components/divider/examples/examples.module.css +13 -17
  812. package/src/components/divider/examples/or-separator.tsx +3 -5
  813. package/src/components/divider/examples/overview.tsx +18 -16
  814. package/src/components/divider/examples/vertical.tsx +5 -1
  815. package/src/components/divider/examples/with-icon.tsx +1 -1
  816. package/src/components/dnd/COMPONENT.md +52 -34
  817. package/src/components/dnd/examples/drop-zones.tsx +1 -1
  818. package/src/components/dnd/examples/examples.module.css +4 -6
  819. package/src/components/dnd/examples/states.tsx +41 -35
  820. package/src/components/drawer/COMPONENT.md +37 -14
  821. package/src/components/drawer/examples/guard.tsx +1 -3
  822. package/src/components/drawer/examples/header-actions.tsx +1 -1
  823. package/src/components/drawer/examples/in-form.tsx +31 -31
  824. package/src/components/drawer/examples/placement.tsx +31 -26
  825. package/src/components/drawer/examples/sizes.tsx +32 -27
  826. package/src/components/dropdown/COMPONENT.md +58 -23
  827. package/src/components/dropdown/examples/context-menu.tsx +75 -0
  828. package/src/components/dropdown/examples/examples.module.css +1 -1
  829. package/src/components/dropdown/examples/sizes.tsx +39 -34
  830. package/src/components/dropdown/examples/states.tsx +37 -29
  831. package/src/components/empty-page/COMPONENT.md +20 -9
  832. package/src/components/empty-page/examples/compact.tsx +28 -18
  833. package/src/components/empty-page/examples/examples.module.css +0 -43
  834. package/src/components/empty-page/examples/narrow.tsx +3 -3
  835. package/src/components/empty-page/examples/region-error.tsx +6 -11
  836. package/src/components/empty-page/examples/sizes.tsx +13 -13
  837. package/src/components/empty-page/examples/variants.tsx +34 -30
  838. package/src/components/example-frame/COMPONENT.md +21 -9
  839. package/src/components/example-frame/examples/controlled.tsx +3 -3
  840. package/src/components/field-list/COMPONENT.md +14 -8
  841. package/src/components/field-list/examples/sizes.tsx +32 -26
  842. package/src/components/field-list/examples/states.tsx +37 -31
  843. package/src/components/fieldset/COMPONENT.md +10 -5
  844. package/src/components/fieldset/examples/examples.module.css +1 -1
  845. package/src/components/file-upload/COMPONENT.md +67 -29
  846. package/src/components/file-upload/examples/avatar-upload.tsx +5 -5
  847. package/src/components/file-upload/examples/custom-body.tsx +12 -7
  848. package/src/components/file-upload/examples/examples.module.css +4 -4
  849. package/src/components/file-upload/examples/narrow.tsx +1 -1
  850. package/src/components/file-upload/examples/row-parts.tsx +4 -4
  851. package/src/components/file-upload/examples/screen.module.css +2 -2
  852. package/src/components/file-upload/examples/screen.tsx +6 -4
  853. package/src/components/file-upload/examples/sizes.tsx +1 -3
  854. package/src/components/file-upload/examples/states.tsx +1 -3
  855. package/src/components/file-upload/examples/variants.tsx +13 -7
  856. package/src/components/gallery/COMPONENT.md +16 -7
  857. package/src/components/gallery/examples/album-sizes.tsx +52 -0
  858. package/src/components/gallery/examples/controlled.tsx +40 -0
  859. package/src/components/gallery/examples/examples.module.css +1 -1
  860. package/src/components/gallery/examples/overview.tsx +15 -43
  861. package/src/components/gallery/examples/transfer.tsx +22 -13
  862. package/src/components/gantt/COMPONENT.md +21 -15
  863. package/src/components/gantt/examples/examples.module.css +0 -16
  864. package/src/components/gantt/examples/occupancy.tsx +2 -2
  865. package/src/components/gantt/examples/screen.tsx +2 -2
  866. package/src/components/gantt/examples/sizes.tsx +16 -16
  867. package/src/components/gantt/examples/states.tsx +34 -30
  868. package/src/components/gantt/examples/variants.tsx +27 -25
  869. package/src/components/hint/COMPONENT.md +24 -14
  870. package/src/components/hint/examples/examples.module.css +1 -1
  871. package/src/components/hint/examples/hint-or-error.tsx +2 -2
  872. package/src/components/hint/examples/overview.tsx +9 -10
  873. package/src/components/hint/examples/sizes.tsx +1 -1
  874. package/src/components/input/COMPONENT.md +10 -6
  875. package/src/components/input/examples/affixes.tsx +2 -2
  876. package/src/components/input/examples/examples.module.css +1 -1
  877. package/src/components/input/examples/sizes.tsx +9 -5
  878. package/src/components/input/examples/states.tsx +39 -23
  879. package/src/components/input/examples/with-icon.tsx +24 -16
  880. package/src/components/kanban/COMPONENT.md +30 -24
  881. package/src/components/kanban/examples/columns.tsx +14 -19
  882. package/src/components/kanban/examples/item-link.tsx +2 -2
  883. package/src/components/kanban/examples/limits.tsx +1 -1
  884. package/src/components/kanban/examples/narrow.tsx +1 -1
  885. package/src/components/kanban/examples/screen.module.css +1 -3
  886. package/src/components/kanban/examples/screen.tsx +6 -4
  887. package/src/components/kanban/examples/states.tsx +37 -58
  888. package/src/components/kanban/examples/variants.tsx +0 -3
  889. package/src/components/kbd/COMPONENT.md +10 -6
  890. package/src/components/kbd/examples/examples.module.css +1 -20
  891. package/src/components/kbd/examples/in-controls.tsx +2 -2
  892. package/src/components/kbd/examples/shortcut-list.tsx +14 -26
  893. package/src/components/label/COMPONENT.md +26 -11
  894. package/src/components/label/examples/examples.module.css +3 -11
  895. package/src/components/label/examples/overview.tsx +5 -9
  896. package/src/components/label/examples/structure.tsx +2 -2
  897. package/src/components/link-button/COMPONENT.md +33 -20
  898. package/src/components/link-button/examples/as-child.tsx +1 -1
  899. package/src/components/link-button/examples/external-link.tsx +1 -1
  900. package/src/components/link-button/examples/overview.tsx +4 -2
  901. package/src/components/link-button/examples/variants.tsx +2 -2
  902. package/src/components/list/COMPONENT.md +24 -16
  903. package/src/components/list/examples/examples.module.css +0 -8
  904. package/src/components/list/examples/overflow.tsx +1 -1
  905. package/src/components/list/examples/overview.tsx +31 -30
  906. package/src/components/list/examples/sizes.tsx +23 -23
  907. package/src/components/list/examples/states.tsx +38 -21
  908. package/src/components/list/examples/with-icon.tsx +16 -14
  909. package/src/components/login-form/COMPONENT.md +69 -16
  910. package/src/components/login-form/examples/narrow.tsx +1 -1
  911. package/src/components/login-form/examples/register.tsx +1 -1
  912. package/src/components/media-viewer/COMPONENT.md +12 -8
  913. package/src/components/media-viewer/examples/examples.module.css +2 -2
  914. package/src/components/media-viewer/examples/video.tsx +1 -1
  915. package/src/components/message/COMPONENT.md +102 -46
  916. package/src/components/message/examples/typing.tsx +5 -5
  917. package/src/components/modal/COMPONENT.md +71 -37
  918. package/src/components/modal/examples/dismiss.tsx +35 -27
  919. package/src/components/modal/examples/enter-key.tsx +22 -25
  920. package/src/components/modal/examples/examples.module.css +0 -7
  921. package/src/components/modal/examples/guard.tsx +2 -4
  922. package/src/components/modal/examples/in-form.tsx +28 -28
  923. package/src/components/modal/examples/long-content.tsx +6 -4
  924. package/src/components/modal/examples/sizes.tsx +36 -31
  925. package/src/components/modal/examples/structure.tsx +1 -1
  926. package/src/components/native-select/COMPONENT.md +7 -3
  927. package/src/components/native-select/examples/examples.module.css +3 -3
  928. package/src/components/native-select/examples/in-form.tsx +28 -29
  929. package/src/components/native-select/examples/sizes.tsx +2 -2
  930. package/src/components/native-select/examples/states.tsx +2 -2
  931. package/src/components/notification/COMPONENT.md +36 -31
  932. package/src/components/notification/examples/examples.module.css +1 -2
  933. package/src/components/notification/examples/in-form.tsx +28 -20
  934. package/src/components/notification/examples/sizes.tsx +16 -12
  935. package/src/components/notification/examples/undo.tsx +7 -15
  936. package/src/components/page-content/COMPONENT.md +21 -29
  937. package/src/components/page-content/examples/examples.module.css +3 -16
  938. package/src/components/page-content/examples/grid.tsx +3 -1
  939. package/src/components/page-content/examples/list-detail.tsx +55 -49
  940. package/src/components/page-content/examples/narrow.tsx +1 -1
  941. package/src/components/page-content/examples/overview.tsx +2 -2
  942. package/src/components/page-content/examples/variants.tsx +7 -7
  943. package/src/components/page-toolbar/COMPONENT.md +10 -6
  944. package/src/components/page-toolbar/examples/overview.tsx +1 -1
  945. package/src/components/page-toolbar/examples/save-changes.tsx +25 -22
  946. package/src/components/pagination/COMPONENT.md +20 -17
  947. package/src/components/pagination/examples/narrow.tsx +5 -5
  948. package/src/components/popover/COMPONENT.md +43 -20
  949. package/src/components/popover/examples/controlled-open.tsx +6 -4
  950. package/src/components/popover/examples/dismiss.tsx +37 -28
  951. package/src/components/popover/examples/examples.module.css +2 -2
  952. package/src/components/popover/examples/sizes.tsx +32 -27
  953. package/src/components/popover/examples/width.tsx +45 -0
  954. package/src/components/progress-bar/COMPONENT.md +21 -29
  955. package/src/components/progress-bar/examples/examples.module.css +1 -1
  956. package/src/components/progress-circle/COMPONENT.md +21 -29
  957. package/src/components/progress-circle/examples/examples.module.css +1 -1
  958. package/src/components/progress-circle/examples/on-color.tsx +16 -0
  959. package/src/components/progress-circle/examples/variants.tsx +1 -0
  960. package/src/components/radio/COMPONENT.md +13 -4
  961. package/src/components/radio/examples/examples.module.css +1 -1
  962. package/src/components/scroll-container/COMPONENT.md +18 -12
  963. package/src/components/scroll-container/examples/auto-scroll.tsx +8 -4
  964. package/src/components/scroll-container/examples/edges.tsx +4 -4
  965. package/src/components/scroll-container/examples/examples.module.css +7 -51
  966. package/src/components/scroll-container/examples/load-more.tsx +4 -4
  967. package/src/components/scroll-container/examples/lock.tsx +4 -4
  968. package/src/components/scroll-container/examples/log.tsx +97 -0
  969. package/src/components/scroll-container/examples/overscroll.tsx +4 -4
  970. package/src/components/scroll-container/examples/overview.tsx +5 -5
  971. package/src/components/scroll-container/examples/scrollbar.tsx +4 -4
  972. package/src/components/scroll-container/examples/snap.tsx +2 -2
  973. package/src/components/scroll-container/examples/variants.tsx +1 -0
  974. package/src/components/segmented-control/COMPONENT.md +24 -12
  975. package/src/components/segmented-control/examples/controlled.tsx +2 -4
  976. package/src/components/segmented-control/examples/examples.module.css +0 -8
  977. package/src/components/segmented-control/examples/scroll.tsx +1 -1
  978. package/src/components/select/COMPONENT.md +33 -9
  979. package/src/components/select/examples/dismiss.tsx +26 -0
  980. package/src/components/select/examples/examples.module.css +1 -1
  981. package/src/components/select/examples/server-search.tsx +6 -2
  982. package/src/components/select/examples/sizes.tsx +2 -2
  983. package/src/components/select/examples/states.tsx +2 -2
  984. package/src/components/select/examples/with-icon.tsx +20 -18
  985. package/src/components/sheet/COMPONENT.md +44 -21
  986. package/src/components/sheet/examples/header-actions.tsx +23 -4
  987. package/src/components/sheet/examples/overview.tsx +25 -10
  988. package/src/components/skeleton/COMPONENT.md +8 -4
  989. package/src/components/skeleton/examples/examples.module.css +1 -13
  990. package/src/components/skeleton/examples/with-crossfade.tsx +7 -7
  991. package/src/components/slider/COMPONENT.md +10 -5
  992. package/src/components/slider/examples/examples.module.css +6 -7
  993. package/src/components/slider/examples/hint-and-error.tsx +3 -5
  994. package/src/components/slider/examples/in-form.tsx +21 -19
  995. package/src/components/smart-filter/COMPONENT.md +32 -12
  996. package/src/components/smart-filter/examples/examples.module.css +0 -21
  997. package/src/components/smart-filter/examples/ranges.tsx +2 -1
  998. package/src/components/smart-filter/examples/sizes.tsx +2 -4
  999. package/src/components/sparkline/COMPONENT.md +7 -3
  1000. package/src/components/sparkline/examples/examples.module.css +1 -1
  1001. package/src/components/sparkline/examples/signed-bars.tsx +2 -2
  1002. package/src/components/spinner/COMPONENT.md +15 -9
  1003. package/src/components/spinner/examples/examples.module.css +2 -14
  1004. package/src/components/spinner/examples/overview.tsx +1 -1
  1005. package/src/components/stepper/COMPONENT.md +50 -41
  1006. package/src/components/stepper/examples/examples.module.css +1 -6
  1007. package/src/components/stepper/examples/narrow.tsx +1 -1
  1008. package/src/components/stepper/examples/sizes.tsx +6 -8
  1009. package/src/components/stepper/examples/states.tsx +44 -43
  1010. package/src/components/stepper/examples/with-icon.tsx +19 -17
  1011. package/src/components/switch/COMPONENT.md +21 -8
  1012. package/src/components/switch/examples/examples.module.css +2 -2
  1013. package/src/components/switch/examples/states.tsx +3 -3
  1014. package/src/components/tabs/COMPONENT.md +21 -16
  1015. package/src/components/tabs/examples/in-drawer.tsx +1 -1
  1016. package/src/components/tabs/examples/sizes.tsx +5 -10
  1017. package/src/components/tabs/examples/variants.tsx +19 -23
  1018. package/src/components/tag-select/COMPONENT.md +19 -6
  1019. package/src/components/tag-select/examples/creatable.tsx +2 -2
  1020. package/src/components/tag-select/examples/dismiss.tsx +23 -0
  1021. package/src/components/tag-select/examples/examples.module.css +3 -3
  1022. package/src/components/tag-select/examples/in-form.tsx +31 -32
  1023. package/src/components/tag-select/examples/sizes.tsx +2 -2
  1024. package/src/components/tag-select/examples/states.tsx +2 -2
  1025. package/src/components/textarea/COMPONENT.md +10 -6
  1026. package/src/components/textarea/examples/examples.module.css +3 -10
  1027. package/src/components/textarea/examples/in-form.tsx +3 -3
  1028. package/src/components/textarea/examples/sizes.tsx +10 -7
  1029. package/src/components/textarea/examples/states.tsx +29 -13
  1030. package/src/components/textarea/examples/validation.tsx +45 -36
  1031. package/src/components/thumbnail/COMPONENT.md +17 -13
  1032. package/src/components/thumbnail/examples/examples.module.css +1 -1
  1033. package/src/components/thumbnail/examples/states.tsx +1 -1
  1034. package/src/components/thumbnail/examples/variants.tsx +12 -1
  1035. package/src/components/timeline/COMPONENT.md +51 -35
  1036. package/src/components/timeline/examples/links.tsx +14 -14
  1037. package/src/components/timeline/examples/narrow.tsx +6 -6
  1038. package/src/components/timeline/examples/overview.tsx +6 -6
  1039. package/src/components/timeline/examples/sizes.tsx +28 -23
  1040. package/src/components/timeline/examples/structure.tsx +30 -30
  1041. package/src/components/timeline/examples/variants.tsx +40 -28
  1042. package/src/components/tooltip/COMPONENT.md +10 -6
  1043. package/src/components/tooltip/examples/examples.module.css +1 -5
  1044. package/src/components/tooltip/examples/non-interactive-trigger.tsx +1 -1
  1045. package/src/components/tooltip/examples/sizes.tsx +17 -10
  1046. package/src/components/typography/COMPONENT.md +17 -2
  1047. package/src/components/typography/examples/examples.module.css +3 -6
  1048. package/src/components/typography/examples/numeric.tsx +16 -0
  1049. package/src/components/video-note/COMPONENT.md +11 -7
  1050. package/src/components/visually-hidden/COMPONENT.md +8 -4
  1051. package/src/components/visually-hidden/examples/assertive.tsx +1 -1
  1052. package/src/components/visually-hidden/examples/overview.tsx +17 -7
  1053. package/src/components/voice-player/COMPONENT.md +15 -7
  1054. package/src/layout/app-header/COMPONENT.md +27 -26
  1055. package/src/layout/app-header/examples/examples.module.css +4 -23
  1056. package/src/layout/app-header/examples/in-app-shell.tsx +3 -5
  1057. package/src/layout/app-header/examples/narrow.tsx +58 -20
  1058. package/src/layout/app-shell/COMPONENT.md +40 -10
  1059. package/src/layout/app-shell/examples/examples.module.css +2 -22
  1060. package/src/layout/app-shell/examples/footer.tsx +2 -2
  1061. package/src/layout/app-shell/examples/overview.tsx +3 -5
  1062. package/src/layout/app-shell/examples/screen.tsx +27 -21
  1063. package/src/layout/app-shell/examples/template.tsx +3 -3
  1064. package/src/layout/bottom-nav/COMPONENT.md +27 -17
  1065. package/src/layout/bottom-nav/examples/examples.module.css +2 -7
  1066. package/src/layout/bottom-nav/examples/floating-action.tsx +2 -2
  1067. package/src/layout/bottom-nav/examples/floating.tsx +2 -2
  1068. package/src/layout/bottom-nav/examples/in-app-shell.tsx +2 -2
  1069. package/src/layout/bottom-nav/examples/router.tsx +6 -5
  1070. package/src/layout/sidebar/COMPONENT.md +50 -40
  1071. package/src/layout/sidebar/examples/account.tsx +1 -3
  1072. package/src/layout/sidebar/examples/brand-header.tsx +1 -3
  1073. package/src/layout/sidebar/examples/collapsible-groups.tsx +1 -3
  1074. package/src/layout/sidebar/examples/controlled-open.tsx +1 -3
  1075. package/src/layout/sidebar/examples/controlled.tsx +1 -3
  1076. package/src/layout/sidebar/examples/custom-part.tsx +1 -3
  1077. package/src/layout/sidebar/examples/dismiss.tsx +47 -0
  1078. package/src/layout/sidebar/examples/examples.module.css +7 -32
  1079. package/src/layout/sidebar/examples/narrow.tsx +44 -42
  1080. package/src/layout/sidebar/examples/nested-items.tsx +1 -3
  1081. package/src/layout/sidebar/examples/overview.tsx +1 -3
  1082. package/src/layout/sidebar/examples/persist.tsx +1 -3
  1083. package/src/layout/sidebar/examples/router.tsx +12 -13
  1084. package/src/layout/sidebar/examples/sizes.tsx +6 -6
  1085. package/src/styles/controls.css +2 -2
  1086. package/src/styles/fonts.css +22 -0
  1087. package/src/styles/globals.css +89 -12
  1088. package/src/styles/theme-dark.css +13 -14
  1089. package/src/styles/theme-light.css +67 -23
  1090. package/src/styles/tokens.css +14 -4
  1091. package/dist/components/dnd/useFlipList.d.ts +0 -17
  1092. package/dist/components/gantt/useEdgeAutoScroll.d.ts +0 -12
  1093. package/dist/components/modal/ModalDialog.d.ts +0 -46
  1094. package/dist/hooks/useStateSwap.d.ts +0 -8
  1095. package/dist/internal/highlightTsxHtml.d.ts +0 -2
  1096. package/dist/internal/layoutPxFromPrimitives.d.ts +0 -6
  1097. package/dist/internal/mergeRefs.d.ts +0 -6
  1098. package/dist/skill/reference/components/drawer/examples/examples.module.css +0 -8
  1099. package/dist/skill/reference/components/popover/examples/match-trigger-width.tsx +0 -23
  1100. package/dist/skill/reference/components/scroll-container/examples/chat.tsx +0 -101
  1101. package/dist/skill/reference/components/spinner/examples/loading-region.tsx +0 -22
  1102. package/src/components/drawer/examples/examples.module.css +0 -8
  1103. package/src/components/popover/examples/match-trigger-width.tsx +0 -23
  1104. package/src/components/scroll-container/examples/chat.tsx +0 -101
  1105. package/src/components/spinner/examples/loading-region.tsx +0 -22
@@ -1,9 +1,7 @@
1
1
  /** 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`. */
2
- import { Button, Drawer, Icon, Input, Select, Switch } from "prime-ui-kit";
2
+ import { Button, Drawer, Fieldset, Icon, Input, Select, Switch } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
5
- import styles from "./examples.module.css";
6
-
7
5
  export default function DrawerInFormExample() {
8
6
  const formId = React.useId();
9
7
  const [open, setOpen] = React.useState(false);
@@ -41,34 +39,36 @@ export default function DrawerInFormExample() {
41
39
  <Drawer.Description>Изменения увидят все участники</Drawer.Description>
42
40
  </Drawer.Header>
43
41
  <Drawer.Body>
44
- <form id={formId} className={styles.form} noValidate onSubmit={submit}>
45
- <Input.Root label="Название" required error={error} reserveSupportRow>
46
- <Input.Wrapper>
47
- <Input.Field
48
- name="name"
49
- defaultValue="Команда продукта"
50
- autoFocus
51
- onValueChange={() => setError(undefined)}
52
- />
53
- </Input.Wrapper>
54
- </Input.Root>
55
- <Input.Root label="Адрес" hint="Только латиница, цифры и дефис">
56
- <Input.Wrapper>
57
- <Input.Field name="slug" defaultValue="product-team" />
58
- </Input.Wrapper>
59
- </Input.Root>
60
- <Select.Root label="Язык интерфейса" defaultValue="ru">
61
- <Select.Trigger>
62
- <Select.Value />
63
- </Select.Trigger>
64
- <Select.Content>
65
- <Select.Item value="ru">Русский</Select.Item>
66
- <Select.Item value="en">English</Select.Item>
67
- </Select.Content>
68
- </Select.Root>
69
- <Switch.Root name="digest" defaultChecked>
70
- <Switch.Label>Еженедельная сводка на почту</Switch.Label>
71
- </Switch.Root>
42
+ <form id={formId} noValidate onSubmit={submit}>
43
+ <Fieldset>
44
+ <Input.Root label="Название" required error={error} reserveSupportRow>
45
+ <Input.Wrapper>
46
+ <Input.Field
47
+ name="name"
48
+ defaultValue="Команда продукта"
49
+ autoFocus
50
+ onValueChange={() => setError(undefined)}
51
+ />
52
+ </Input.Wrapper>
53
+ </Input.Root>
54
+ <Input.Root label="Адрес" hint="Только латиница, цифры и дефис">
55
+ <Input.Wrapper>
56
+ <Input.Field name="slug" defaultValue="product-team" />
57
+ </Input.Wrapper>
58
+ </Input.Root>
59
+ <Select.Root label="Язык интерфейса" defaultValue="ru">
60
+ <Select.Trigger>
61
+ <Select.Value />
62
+ </Select.Trigger>
63
+ <Select.Content>
64
+ <Select.Item value="ru">Русский</Select.Item>
65
+ <Select.Item value="en">English</Select.Item>
66
+ </Select.Content>
67
+ </Select.Root>
68
+ <Switch.Root name="digest" defaultChecked>
69
+ <Switch.Label>Еженедельная сводка на почту</Switch.Label>
70
+ </Switch.Root>
71
+ </Fieldset>
72
72
  </form>
73
73
  </Drawer.Body>
74
74
  <Drawer.Footer>
@@ -8,33 +8,38 @@ const SIDES = [
8
8
 
9
9
  export default function DrawerPlacementExample() {
10
10
  return (
11
- <>
11
+ <div>
12
12
  {SIDES.map(({ side, title }) => (
13
- <Drawer.Root key={side}>
14
- <Drawer.Trigger>
15
- <Button.Root variant="soft" tone="neutral">
16
- {side}
17
- </Button.Root>
18
- </Drawer.Trigger>
19
- <Drawer.Content side={side} size="s">
20
- <Drawer.Header>
21
- <Drawer.Title>{title}</Drawer.Title>
22
- </Drawer.Header>
23
- <Drawer.Body>
24
- <Typography variant="body-m" tone="secondary">
25
- Скругление только со стороны страницы, подложка затемняет остальное.
26
- </Typography>
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>
35
- </Drawer.Content>
36
- </Drawer.Root>
13
+ <div key={side}>
14
+ <Drawer.Root>
15
+ <Drawer.Trigger>
16
+ <Button.Root variant="soft" tone="neutral">
17
+ {title}
18
+ </Button.Root>
19
+ </Drawer.Trigger>
20
+ <Drawer.Content side={side} size="s">
21
+ <Drawer.Header>
22
+ <Drawer.Title>{title}</Drawer.Title>
23
+ </Drawer.Header>
24
+ <Drawer.Body>
25
+ <Typography variant="body-m" tone="secondary">
26
+ Скругление только со стороны страницы, подложка затемняет остальное.
27
+ </Typography>
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>
36
+ </Drawer.Content>
37
+ </Drawer.Root>
38
+ <Typography as="span" variant="caption" tone="muted">
39
+ {side}
40
+ </Typography>
41
+ </div>
37
42
  ))}
38
- </>
43
+ </div>
39
44
  );
40
45
  }
@@ -10,34 +10,39 @@ const SIZES = [
10
10
 
11
11
  export default function DrawerSizesExample() {
12
12
  return (
13
- <>
13
+ <div>
14
14
  {SIZES.map(({ size, width }) => (
15
- <Drawer.Root key={size}>
16
- <Drawer.Trigger>
17
- <Button.Root variant="soft" tone="neutral">
18
- {size}
19
- </Button.Root>
20
- </Drawer.Trigger>
21
- <Drawer.Content size={size}>
22
- <Drawer.Header>
23
- <Drawer.Title>Детали заказа</Drawer.Title>
24
- <Drawer.Description>Ширина панели {width}</Drawer.Description>
25
- </Drawer.Header>
26
- <Drawer.Body>
27
- <Typography variant="body-m" tone="secondary">
28
- На экране уже 640 px панель занимает всю ширину и теряет скругления.
29
- </Typography>
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>
38
- </Drawer.Content>
39
- </Drawer.Root>
15
+ <div key={size}>
16
+ <Drawer.Root>
17
+ <Drawer.Trigger>
18
+ <Button.Root variant="soft" tone="neutral">
19
+ Детали заказа
20
+ </Button.Root>
21
+ </Drawer.Trigger>
22
+ <Drawer.Content size={size}>
23
+ <Drawer.Header>
24
+ <Drawer.Title>Детали заказа</Drawer.Title>
25
+ <Drawer.Description>Ширина панели {width}</Drawer.Description>
26
+ </Drawer.Header>
27
+ <Drawer.Body>
28
+ <Typography variant="body-m" tone="secondary">
29
+ На экране уже 640 px панель занимает всю ширину и теряет скругления.
30
+ </Typography>
31
+ </Drawer.Body>
32
+ <Drawer.Footer>
33
+ <Drawer.Close>
34
+ <Button.Root variant="outline" tone="neutral">
35
+ Закрыть
36
+ </Button.Root>
37
+ </Drawer.Close>
38
+ </Drawer.Footer>
39
+ </Drawer.Content>
40
+ </Drawer.Root>
41
+ <Typography as="span" variant="caption" tone="muted">
42
+ {size}
43
+ </Typography>
44
+ </div>
40
45
  ))}
41
- </>
46
+ </div>
42
47
  );
43
48
  }
@@ -25,7 +25,8 @@ import { Dropdown } from "prime-ui-kit";
25
25
  ## Anatomy
26
26
  ```
27
27
  Dropdown.Root state and dismiss policy (no DOM)
28
- ├── Dropdown.Trigger clones its child; toggles the menu
28
+ ├── Dropdown.Trigger clones its child; toggles the menu, opens it on the arrow keys
29
+ ├── Dropdown.Anchor instead of Trigger: the row or list a context menu opens at (anchorPoint)
29
30
  └── Dropdown.Content portaled role="menu" on the floating surface, scrolls
30
31
  ├── Dropdown.Header non-interactive row: [avatar] [Title + Description] [badge]
31
32
  │ ├── Dropdown.Title
@@ -54,60 +55,81 @@ No DOM, no ref. Open state and dismiss policy.
54
55
  | `onOpenChange` | `(open: boolean) => void` | — | Called on every open and close: trigger, item pick, Escape, outside press, code. |
55
56
  | `closeOnOutsideClick` | `boolean` | `true` | A pointerdown outside the menu and its trigger closes it; focus follows the pointer. |
56
57
  | `closeOnEscape` | `boolean` | `true` | Escape closes the menu and returns focus to the trigger. |
57
- | `children` | `ReactNode` | — (required) | Trigger and Content. |
58
+ | `anchorPoint` | `{ x: number; y: number } \| null` | `null` | A point inside the trigger or `Dropdown.Anchor` (px from its top-left corner) the menu opens at: a context menu at the pointer. It moves with the element on scroll. |
59
+ | `children` | `ReactNode` | — (required) | Trigger (or Anchor) and Content. |
58
60
 
59
- ### Dropdown.Trigger
60
- No DOM: clones the single child, merges `ref` and `onClick`; toggles the menu and sets its ARIA.
61
+ ### Dropdown.Trigger · Dropdown.Anchor
62
+ No DOM: clone the single child and merge `ref`. Trigger toggles the menu on a click, opens it on the arrow keys and sets its ARIA; Anchor only places the menu (a context menu with `anchorPoint`, opened through `open`) and names it.
61
63
 
62
64
  | Prop | Type | Default | Description |
63
65
  |---|---|---|---|
64
- | `children` | `ReactElement` | — (required) | One element, usually a Button. |
66
+ | `children` | `ReactElement` | — (required) | One element: usually a Button (Anchor: the row or list the context menu belongs to). |
65
67
 
66
68
  ### Dropdown.Content
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.
69
+ `ref` → `HTMLDivElement`. Portal + `role="menu"` floating panel that scrolls inside, named by the control it opened from; focus moves to the first enabled item. Below 640px of viewport it is a bottom sheet.
68
70
 
69
71
  | Prop | Type | Default | Description |
70
72
  |---|---|---|---|
71
73
  | `side` | `"top" \| "right" \| "bottom" \| "left"` | `"bottom"` | Preferred side; flips to the opposite side when there is no room. |
72
74
  | `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. |
73
- | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Row tier: item height, text and icon; key hints one tier down. |
75
+ | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Row tier: item height, text and icon; key hints one tier down. The menu's own: it does not follow the trigger's size. |
74
76
  | `matchTriggerWidth` | `boolean` | `false` | The menu is at least as wide as the trigger. |
75
77
  | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "role">` | — | `className`, `onKeyDown` (runs before the arrow-key navigation) and the other attributes of the menu. |
76
78
 
77
79
  ### Dropdown.Item
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.
80
+ `ref` → `HTMLButtonElement` (or the `asChild` element). A `<button role="menuitem">`, no tab stop of its own (`tabIndex -1`, the arrow keys move between items); a click, Enter or Space runs `onSelect` and closes the menu.
79
81
 
80
82
  | Prop | Type | Default | Description |
81
83
  |---|---|---|---|
82
84
  | `onSelect` | `() => void` | — | The action of the item. |
83
- | `disabled` | `boolean` | `false` | Muted, `aria-disabled`, skipped by the arrow keys, does nothing on click. |
85
+ | `disabled` | `boolean` | `false` | Muted and `disabled` (a link item: `aria-disabled`), skipped by the arrow keys; no handler runs, the item's own `onClick` included. |
84
86
  | `tone` | `"neutral" \| "danger"` | `"neutral"` | `danger`: destructive action — danger text, icon and hover fill. |
85
87
  | `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
88
  | `children` | `ReactNode` | — | `Dropdown.ItemIcon`, the label, `Dropdown.ItemDescription`, `Dropdown.ItemShortcut`; with `asChild` one link element holding them. |
89
+ | `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" \| "role" \| "onSelect">` | — | `className`, `onClick` (runs before `onSelect`; `preventDefault()` keeps the menu open) and the other attributes of the item. |
87
90
 
88
91
  ### Dropdown.CheckboxItem
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.
92
+ `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.
90
93
 
91
94
  | Prop | Type | Default | Description |
92
95
  |---|---|---|---|
93
96
  | `checked` | `boolean` | — | Checked state (controlled). |
94
97
  | `defaultChecked` | `boolean` | `false` | Initial state (uncontrolled). |
95
98
  | `onCheckedChange` | `(checked: boolean) => void` | — | Called with the new state. |
96
- | `disabled` | `boolean` | `false` | Muted, `aria-disabled`, skipped by the arrow keys, does not toggle. |
99
+ | `disabled` | `boolean` | `false` | Muted and `disabled`, skipped by the arrow keys; no handler runs, the item's own `onClick` included. |
97
100
  | `children` | `ReactNode` | — | The label (optionally after a `Dropdown.ItemIcon`). |
101
+ | `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" \| "role" \| "onSelect" \| "onChange" \| "defaultChecked">` | — | `className`, `onClick` (runs before the toggle; `preventDefault()` skips it) and the other attributes of the item. |
98
102
 
99
103
  ### 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`.
104
+ `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.
101
105
 
102
- ### Dropdown.ItemIcon · Dropdown.ItemShortcut
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.
106
+ | Prop | Type | Default | Description |
107
+ |---|---|---|---|
108
+ | `children` | `ReactNode` | — (required) | The sentence; it wraps inside the menu's width. |
109
+ | `…rest` | `Omit<HTMLAttributes<HTMLSpanElement>, "id">` | — | `className` and the other attributes except `id` (the item points at it). |
110
+
111
+ ### Dropdown.ItemIcon
112
+ `ref` → `HTMLSpanElement`. The `aria-hidden` leading glyph of an item at the menu icon size.
113
+
114
+ | Prop | Type | Default | Description |
115
+ |---|---|---|---|
116
+ | `…rest` | `HTMLAttributes<HTMLSpanElement>` | — | `className`, `children` (the glyph) and the other attributes. |
117
+
118
+ ### Dropdown.ItemShortcut
119
+ `ref` → `HTMLElement` (the `<kbd>`). A `Kbd` key hint at the end of the item, one tier below the menu — a hint, not a handler.
120
+
121
+ | Prop | Type | Default | Description |
122
+ |---|---|---|---|
123
+ | `children` | `ReactNode` | — (required) | The keys («⌘D»). |
124
+ | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "children">` | — | `className` and the other attributes of the `<kbd>`. |
104
125
 
105
126
  ### Dropdown.Group
106
- `ref` → `HTMLDivElement`. `<div role="group">` named by its visible `label`. + native `<div>` props.
127
+ `ref` → `HTMLDivElement`. `<div role="group">` named by its visible `label`.
107
128
 
108
129
  | Prop | Type | Default | Description |
109
130
  |---|---|---|---|
110
131
  | `label` | `ReactNode` | — | Heading of the group (caption, muted); also its accessible name. |
132
+ | `…rest` | `HTMLAttributes<HTMLDivElement>` | — | `className`, `children` (the items) and the other attributes of the group. |
111
133
 
112
134
  ### Dropdown.Separator
113
135
  `ref` → `HTMLDivElement`. A full-bleed Divider between items or groups.
@@ -117,7 +139,11 @@ No DOM: clones the single child, merges `ref` and `onClick`; toggles the menu an
117
139
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `className` and the other attributes of the divider. |
118
140
 
119
141
  ### Dropdown.Header · Dropdown.Title · Dropdown.Description
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.
142
+ `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.
143
+
144
+ | Prop | Type | Default | Description |
145
+ |---|---|---|---|
146
+ | `…rest` | `HTMLAttributes<HTMLDivElement>` | — | `className`, `children` and the other attributes of the `<div>`. |
121
147
 
122
148
  ## Variants
123
149
  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.
@@ -154,20 +180,22 @@ The panel is the shared floating surface: the floating layer of the ladder (`dat
154
180
  | `disabled` (Item) | Disabled text, skipped by arrows | Not allowed right now (say why in `Dropdown.ItemDescription`) | `false` |
155
181
  | `matchTriggerWidth` | Menu at least as wide as the trigger | Full-width buttons | `false` |
156
182
  | `closeOnOutsideClick={false}` · `closeOnEscape={false}` | Stays open until an item is picked | A required choice in an onboarding step | |
183
+ | `anchorPoint` (Root) | The menu opens at a point inside the trigger or `Dropdown.Anchor` | A context menu at the pointer over a row or a list | `null` |
157
184
 
158
- **Combinations** — menu `size` = trigger `size`. Destructive items go last, after a separator. Key hints only for shortcuts the app really handles.
185
+ **Combinations** — `size` is the menu's own, set on `Dropdown.Content`; match it to the trigger by hand when they stand together. Destructive items go last, after a separator. Key hints only for shortcuts the app really handles. A context menu: `Dropdown.Anchor` around the row, `anchorPoint` from the `contextmenu` event, `open` driven by it.
159
186
 
160
187
  ## States
161
188
  | State | Driven by | DOM |
162
189
  |---|---|---|
163
190
  | open / closed | `open` / `defaultOpen` / `onOpenChange` | `data-state` on the menu (closed while the exit animation plays) and on the trigger, `aria-expanded` on the trigger |
191
+ | dismiss | `closeOnEscape`, `closeOnOutsideClick` (both default `true`) | Escape and a press outside close the menu; `false` turns that way off |
164
192
  | side | `side` and the room next to the trigger | `data-side` (resolved) |
165
193
  | size | `size` on Content | `data-size` |
166
194
  | item hover / focus | a hovering pointer, arrow keys | subtle fill (danger-soft for `danger`), no movement; a tap leaves no hover fill |
167
- | item disabled | `disabled` | `aria-disabled="true"`, `data-disabled="true"` |
195
+ | item disabled | `disabled` | native `disabled` (a link item `aria-disabled="true"`), `data-disabled="true"`; no handler runs |
168
196
  | item tone | `tone` | `data-tone` |
169
197
  | item checked | `checked` / `defaultChecked` / `onCheckedChange` on `Dropdown.CheckboxItem` | `aria-checked`; an accent check mark at the end while checked, nothing while not |
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`) |
198
+ | sheet | a phone viewport | a scrim and a full-width bottom sheet around the menu; the sheet carries `data-state`, the menu `data-sheet` and keeps its role and ref; page scroll locked; with `closeOnOutsideClick` an `aria-hidden` grab handle, and a swipe down from it closes the sheet |
171
199
 
172
200
  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
201
 
@@ -183,17 +211,21 @@ Motion (`overlayMotion`): the menu grows out of the side that faces its trigger
183
211
  ## Accessibility
184
212
 
185
213
  ### Keyboard
214
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
215
+
186
216
  | Key | Action |
187
217
  |---|---|
188
218
  | `Enter` · `Space` | On the trigger opens the menu (focus on the first item); on an item runs it and returns focus to the trigger; on a checkbox item toggles it and the menu stays open. |
189
- | `ArrowDown` · `ArrowUp` | Move focus to the next / previous enabled item, wrapping. |
219
+ | `ArrowDown` · `ArrowUp` | On the trigger open the menu at its first item; in the menu move focus to the next / previous enabled item, wrapping. |
190
220
  | `Home` · `End` | First / last enabled item. |
191
221
  | `Escape` | Closes the menu (`closeOnEscape`); focus returns to the trigger. |
192
222
  | `Tab` · `Shift+Tab` | Closes the menu; focus returns to the trigger (Tab then goes on to the next stop). |
193
223
 
194
224
  ### ARIA
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`.
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.
225
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
226
+
227
+ - The menu is `role="menu"` named by the control it opened from (the trigger, or the control inside `Dropdown.Anchor`), read from the page; items are `role="menuitem"`, checkbox items `role="menuitemcheckbox"` with `aria-checked`, disabled ones `disabled`. Items are no tab stops: one Tab leaves the menu.
228
+ - The trigger gets `aria-haspopup="menu"`, `aria-expanded`, `data-state` and, while open, `aria-controls`; 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
229
  - With a `Dropdown.ItemDescription` the label names the item (`aria-labelledby`) and the description describes it (`aria-describedby`).
198
230
  - 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.
199
231
  - `Dropdown.Group` is `role="group"` named by its `label`.
@@ -210,11 +242,12 @@ No `labels`.
210
242
  |---|---|
211
243
  | [overview.tsx](examples/overview.tsx) | An icon-only button opens the row actions; picking an item runs it and closes the menu — `Dropdown.Item`, `onSelect`. |
212
244
  | [structure.tsx](examples/structure.tsx) | Optional parts of an account menu: a header with an avatar, a labelled group, item icons, key hints and separators — `Dropdown.Header`, `Dropdown.Group`, `Dropdown.ItemIcon`, `Dropdown.ItemShortcut`. |
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`. |
245
+ | [sizes.tsx](examples/sizes.tsx) | Every size tier with icons, key hints and a destructive item; the tier is the menu's own, set on `Dropdown.Content`, not taken from its trigger — `size`. |
214
246
  | [placement.tsx](examples/placement.tsx) | Every side and alignment relative to the trigger; near the viewport edge the menu flips and shifts — `side`, `align`. |
215
247
  | [states.tsx](examples/states.tsx) | A regular, a disabled and a destructive item; arrow keys skip the disabled one — `disabled`, `tone`. |
216
248
  | [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
249
  | [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`. |
250
+ | [context-menu.tsx](examples/context-menu.tsx) | A right-click on a deal opens its menu at the pointer, and Escape or a pick returns focus to that row — `anchorPoint`, `Dropdown.Anchor`. |
218
251
  | [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`. |
219
252
  | [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`. |
220
253
  | [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`. |
@@ -229,6 +262,8 @@ No `labels`.
229
262
  - A destructive item without `tone="danger"`, or in the middle of the list → mark it and put it last.
230
263
  - A Tooltip on a disabled item to say why → keyboard and touch users never see it; put the reason in `Dropdown.ItemDescription`.
231
264
  - `onSelect={() => navigate(url)}` for an item that opens a page → `asChild` with a link, so Cmd-click and a new tab work.
265
+ - A hidden button placed at the pointer to anchor a context menu → `Dropdown.Anchor` around the row and `anchorPoint` from the `contextmenu` event.
266
+ - Expecting the menu to take the trigger's `size` → it has its own; set `size` on `Dropdown.Content`.
232
267
 
233
268
  ## Related
234
269
  - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md) (the menu), [Kbd](../kbd/COMPONENT.md) (`ItemShortcut`), [Divider](../divider/COMPONENT.md) (`Separator`), `Icon` (`action.check` of `CheckboxItem`)
@@ -0,0 +1,75 @@
1
+ /** A right-click on a deal opens its menu at the pointer, and Escape or a pick returns focus to that row — `anchorPoint`, `Dropdown.Anchor`. */
2
+ import { Card, Dropdown, Icon, List } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ import styles from "./examples.module.css";
6
+
7
+ const DEALS = [
8
+ { id: "d-1042", title: "Поставка оборудования", client: "ООО «Гранит»" },
9
+ { id: "d-1043", title: "Годовое обслуживание", client: "АО «Северсталь-Сервис»" },
10
+ { id: "d-1044", title: "Пилотный проект", client: "ИП Козлов" },
11
+ ];
12
+
13
+ export default function DropdownContextMenuExample() {
14
+ const [menu, setMenu] = React.useState<{ id: string; x: number; y: number } | null>(null);
15
+
16
+ return (
17
+ <Card.Root className={styles.column}>
18
+ <Card.Body>
19
+ <List.Root aria-label="Сделки">
20
+ {DEALS.map((deal) => {
21
+ const open = menu?.id === deal.id;
22
+ return (
23
+ <Dropdown.Root
24
+ key={deal.id}
25
+ open={open}
26
+ onOpenChange={(next) => {
27
+ if (!next) setMenu(null);
28
+ }}
29
+ anchorPoint={open ? menu : null}
30
+ >
31
+ <Dropdown.Anchor>
32
+ <List.Item
33
+ onContextMenu={(event) => {
34
+ event.preventDefault();
35
+ const box = event.currentTarget.getBoundingClientRect();
36
+ setMenu({
37
+ id: deal.id,
38
+ x: event.clientX - box.left,
39
+ y: event.clientY - box.top,
40
+ });
41
+ }}
42
+ >
43
+ <List.ItemText>{deal.title}</List.ItemText>
44
+ <List.ItemDescription>{deal.client}</List.ItemDescription>
45
+ </List.Item>
46
+ </Dropdown.Anchor>
47
+ <Dropdown.Content>
48
+ <Dropdown.Item>
49
+ <Dropdown.ItemIcon>
50
+ <Icon name="action.edit" />
51
+ </Dropdown.ItemIcon>
52
+ Переименовать
53
+ </Dropdown.Item>
54
+ <Dropdown.Item>
55
+ <Dropdown.ItemIcon>
56
+ <Icon name="action.copy" />
57
+ </Dropdown.ItemIcon>
58
+ Дублировать
59
+ </Dropdown.Item>
60
+ <Dropdown.Separator />
61
+ <Dropdown.Item tone="danger">
62
+ <Dropdown.ItemIcon>
63
+ <Icon name="action.delete" />
64
+ </Dropdown.ItemIcon>
65
+ Удалить
66
+ </Dropdown.Item>
67
+ </Dropdown.Content>
68
+ </Dropdown.Root>
69
+ );
70
+ })}
71
+ </List.Root>
72
+ </Card.Body>
73
+ </Card.Root>
74
+ );
75
+ }
@@ -1,6 +1,6 @@
1
1
  /* Layout of the Dropdown scenarios: semantic tokens only. */
2
2
 
3
- /* match-trigger-width.tsx: a column with a full-width button. */
3
+ /* match-trigger-width.tsx, context-menu.tsx: a column of a full-width button or of rows. */
4
4
  .column {
5
5
  display: flex;
6
6
  flex-direction: column;
@@ -1,43 +1,48 @@
1
- /** Every size tier with icons, key hints and a destructive item; the menu takes the tier of its trigger — `size`. */
2
- import { Button, Dropdown, Icon } from "prime-ui-kit";
1
+ /** Every size tier with icons, key hints and a destructive item; the tier is the menu's own, set on `Dropdown.Content`, not taken from its trigger — `size`. */
2
+ import { Button, Dropdown, Icon, Typography } from "prime-ui-kit";
3
3
 
4
4
  const SIZES = ["xs", "s", "m", "l", "xl"] as const;
5
5
 
6
6
  export default function DropdownSizesExample() {
7
7
  return (
8
- <>
8
+ <div>
9
9
  {SIZES.map((size) => (
10
- <Dropdown.Root key={size}>
11
- <Dropdown.Trigger>
12
- <Button.Root variant="soft" tone="neutral" size={size}>
13
- {size}
14
- </Button.Root>
15
- </Dropdown.Trigger>
16
- <Dropdown.Content size={size}>
17
- <Dropdown.Item>
18
- <Dropdown.ItemIcon>
19
- <Icon name="action.copy" />
20
- </Dropdown.ItemIcon>
21
- Дублировать
22
- <Dropdown.ItemShortcut>⌘D</Dropdown.ItemShortcut>
23
- </Dropdown.Item>
24
- <Dropdown.Item>
25
- <Dropdown.ItemIcon>
26
- <Icon name="action.download" />
27
- </Dropdown.ItemIcon>
28
- Скачать
29
- <Dropdown.ItemShortcut>⌘S</Dropdown.ItemShortcut>
30
- </Dropdown.Item>
31
- <Dropdown.Separator />
32
- <Dropdown.Item tone="danger">
33
- <Dropdown.ItemIcon>
34
- <Icon name="action.delete" />
35
- </Dropdown.ItemIcon>
36
- Удалить
37
- </Dropdown.Item>
38
- </Dropdown.Content>
39
- </Dropdown.Root>
10
+ <div key={size}>
11
+ <Dropdown.Root>
12
+ <Dropdown.Trigger>
13
+ <Button.Root variant="soft" tone="neutral" size={size}>
14
+ Документ
15
+ </Button.Root>
16
+ </Dropdown.Trigger>
17
+ <Dropdown.Content size={size}>
18
+ <Dropdown.Item>
19
+ <Dropdown.ItemIcon>
20
+ <Icon name="action.copy" />
21
+ </Dropdown.ItemIcon>
22
+ Дублировать
23
+ <Dropdown.ItemShortcut>⌘D</Dropdown.ItemShortcut>
24
+ </Dropdown.Item>
25
+ <Dropdown.Item>
26
+ <Dropdown.ItemIcon>
27
+ <Icon name="action.download" />
28
+ </Dropdown.ItemIcon>
29
+ Скачать
30
+ <Dropdown.ItemShortcut>⌘S</Dropdown.ItemShortcut>
31
+ </Dropdown.Item>
32
+ <Dropdown.Separator />
33
+ <Dropdown.Item tone="danger">
34
+ <Dropdown.ItemIcon>
35
+ <Icon name="action.delete" />
36
+ </Dropdown.ItemIcon>
37
+ Удалить
38
+ </Dropdown.Item>
39
+ </Dropdown.Content>
40
+ </Dropdown.Root>
41
+ <Typography as="span" variant="caption" tone="muted">
42
+ {size}
43
+ </Typography>
44
+ </div>
40
45
  ))}
41
- </>
46
+ </div>
42
47
  );
43
48
  }