prime-ui-kit 0.14.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 (1276) hide show
  1. package/README.md +79 -71
  2. package/dist/chunks/{chunk-WXKRUVSE.js → chunk-4PSQ64S4.js} +3145 -1800
  3. package/dist/chunks/{chunk-SYEX7OVT.js → chunk-6TPHKCUJ.js} +9424 -9244
  4. package/dist/chunks/{chunk-6TI4DSM5.js → chunk-A7OQWH6R.js} +1 -1
  5. package/dist/chunks/{chunk-P6ZO37JM.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 +153 -42
  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 +71 -8
  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 +63 -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 +34 -44
  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 +3 -3
  226. package/dist/layout/sidebar/Sidebar.d.ts +232 -101
  227. package/dist/skill/SKILL.md +17 -15
  228. package/dist/skill/anti-slop.md +105 -24
  229. package/dist/skill/api-contract.md +117 -37
  230. package/dist/skill/cheatsheet.md +45 -38
  231. package/dist/skill/checklist.md +57 -85
  232. package/dist/skill/choosing.md +24 -28
  233. package/dist/skill/components.md +52 -57
  234. package/dist/skill/composition.md +321 -84
  235. package/dist/skill/foundations.md +32 -25
  236. package/dist/skill/layouts.md +104 -73
  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 +6 -6
  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/applied-filters.tsx +13 -19
  253. package/dist/skill/reference/components/badge/examples/controlled.tsx +32 -0
  254. package/dist/skill/reference/components/badge/examples/examples.module.css +3 -10
  255. package/dist/skill/reference/components/badge/examples/filter-values.tsx +4 -6
  256. package/dist/skill/reference/components/badge/examples/in-controls.tsx +1 -1
  257. package/dist/skill/reference/components/badge/examples/overview.tsx +6 -5
  258. package/dist/skill/reference/components/badge/examples/server-tags.tsx +2 -6
  259. package/dist/skill/reference/components/badge/examples/square.tsx +21 -0
  260. package/dist/skill/reference/components/badge/examples/states.tsx +4 -4
  261. package/dist/skill/reference/components/badge/examples/with-icon.tsx +10 -1
  262. package/dist/skill/reference/components/banner/COMPONENT.md +9 -5
  263. package/dist/skill/reference/components/banner/examples/dismissible.tsx +3 -19
  264. package/dist/skill/reference/components/banner/examples/examples.module.css +1 -5
  265. package/dist/skill/reference/components/banner/examples/overview.tsx +1 -1
  266. package/dist/skill/reference/components/banner/examples/page-strip.tsx +16 -22
  267. package/dist/skill/reference/components/breadcrumb/COMPONENT.md +21 -14
  268. package/dist/skill/reference/components/breadcrumb/examples/ellipsis.tsx +2 -2
  269. package/dist/skill/reference/components/breadcrumb/examples/examples.module.css +1 -1
  270. package/dist/skill/reference/components/breadcrumb/examples/overflow.tsx +1 -1
  271. package/dist/skill/reference/components/breadcrumb/examples/sizes.tsx +6 -8
  272. package/dist/skill/reference/components/breadcrumb/examples/with-icon.tsx +15 -8
  273. package/dist/skill/reference/components/button/COMPONENT.md +66 -30
  274. package/dist/skill/reference/components/button/examples/align.tsx +25 -0
  275. package/dist/skill/reference/components/button/examples/controlled.tsx +21 -0
  276. package/dist/skill/reference/components/button/examples/density.tsx +45 -0
  277. package/dist/skill/reference/components/button/examples/examples.module.css +14 -25
  278. package/dist/skill/reference/components/button/examples/label-morph.tsx +1 -1
  279. package/dist/skill/reference/components/button/examples/on-colored-host.tsx +19 -19
  280. package/dist/skill/reference/components/button/examples/over-media.tsx +7 -1
  281. package/dist/skill/reference/components/button/examples/toggle.tsx +2 -10
  282. package/dist/skill/reference/components/button-group/COMPONENT.md +23 -17
  283. package/dist/skill/reference/components/button-group/examples/controlled.tsx +1 -1
  284. package/dist/skill/reference/components/button-group/examples/in-form.tsx +22 -2
  285. package/dist/skill/reference/components/button-group/examples/states.tsx +10 -1
  286. package/dist/skill/reference/components/card/COMPONENT.md +18 -6
  287. package/dist/skill/reference/components/card/examples/content-templates.tsx +8 -2
  288. package/dist/skill/reference/components/card/examples/examples.module.css +4 -16
  289. package/dist/skill/reference/components/card/examples/overview.tsx +11 -11
  290. package/dist/skill/reference/components/card/examples/screen.tsx +363 -0
  291. package/dist/skill/reference/components/card/examples/variants.tsx +75 -34
  292. package/dist/skill/reference/components/chart-frame/COMPONENT.md +25 -28
  293. package/dist/skill/reference/components/chart-frame/examples/controlled.tsx +9 -7
  294. package/dist/skill/reference/components/chart-frame/examples/fill-height.tsx +117 -0
  295. package/dist/skill/reference/components/chart-frame/examples/narrow.tsx +24 -5
  296. package/dist/skill/reference/components/chart-frame/examples/overview.tsx +5 -2
  297. package/dist/skill/reference/components/chart-frame/examples/states.tsx +72 -62
  298. package/dist/skill/reference/components/chart-frame/examples/tooltip.tsx +27 -26
  299. package/dist/skill/reference/components/chat/COMPONENT.md +37 -22
  300. package/dist/skill/reference/components/chat/examples/group-chat.tsx +16 -3
  301. package/dist/skill/reference/components/chat/examples/overview.tsx +119 -130
  302. package/dist/skill/reference/components/chat/examples/reactions.tsx +116 -0
  303. package/dist/skill/reference/components/chat/examples/screen.module.css +9 -0
  304. package/dist/skill/reference/components/chat/examples/screen.tsx +695 -0
  305. package/dist/skill/reference/components/chat/examples/states.tsx +23 -22
  306. package/dist/skill/reference/components/chat-list/COMPONENT.md +11 -5
  307. package/dist/skill/reference/components/chat-list/examples/examples.module.css +0 -8
  308. package/dist/skill/reference/components/chat-list/examples/links.tsx +72 -0
  309. package/dist/skill/reference/components/chat-list/examples/live.tsx +29 -22
  310. package/dist/skill/reference/components/chat-list/examples/sizes.tsx +6 -8
  311. package/dist/skill/reference/components/chat-list/examples/states.tsx +42 -38
  312. package/dist/skill/reference/components/checkbox/COMPONENT.md +27 -14
  313. package/dist/skill/reference/components/checkbox/examples/controlled.tsx +18 -16
  314. package/dist/skill/reference/components/checkbox/examples/examples.module.css +14 -52
  315. package/dist/skill/reference/components/checkbox/examples/in-form.tsx +16 -16
  316. package/dist/skill/reference/components/checkbox/examples/indicator.tsx +17 -56
  317. package/dist/skill/reference/components/checkbox/examples/overview.tsx +1 -1
  318. package/dist/skill/reference/components/checkbox/examples/states.tsx +6 -1
  319. package/dist/skill/reference/components/checkbox/examples/without-label.tsx +1 -1
  320. package/dist/skill/reference/components/code-block/COMPONENT.md +16 -12
  321. package/dist/skill/reference/components/code-block/examples/examples.module.css +5 -2
  322. package/dist/skill/reference/components/code-block/examples/narrow.tsx +1 -1
  323. package/dist/skill/reference/components/color-field/COMPONENT.md +16 -10
  324. package/dist/skill/reference/components/color-field/examples/examples.module.css +4 -5
  325. package/dist/skill/reference/components/color-field/examples/in-form.tsx +15 -13
  326. package/dist/skill/reference/components/color-field/examples/sizes.tsx +5 -1
  327. package/dist/skill/reference/components/color-field/examples/states.tsx +15 -3
  328. package/dist/skill/reference/components/color-picker/COMPONENT.md +58 -21
  329. package/dist/skill/reference/components/color-picker/examples/controlled-open.tsx +37 -0
  330. package/dist/skill/reference/components/color-picker/examples/controlled.tsx +16 -5
  331. package/dist/skill/reference/components/color-picker/examples/examples.module.css +6 -7
  332. package/dist/skill/reference/components/color-picker/examples/in-form.tsx +24 -22
  333. package/dist/skill/reference/components/color-picker/examples/overview.tsx +1 -1
  334. package/dist/skill/reference/components/color-picker/examples/panel.tsx +1 -1
  335. package/dist/skill/reference/components/color-picker/examples/presets.tsx +2 -2
  336. package/dist/skill/reference/components/color-picker/examples/sizes.tsx +9 -11
  337. package/dist/skill/reference/components/color-picker/examples/states.tsx +30 -16
  338. package/dist/skill/reference/components/color-swatches/COMPONENT.md +22 -8
  339. package/dist/skill/reference/components/color-swatches/examples/examples.module.css +3 -4
  340. package/dist/skill/reference/components/color-swatches/examples/in-form.tsx +19 -17
  341. package/dist/skill/reference/components/color-swatches/examples/palette.tsx +24 -0
  342. package/dist/skill/reference/components/color-swatches/examples/wrapping.tsx +17 -2
  343. package/dist/skill/reference/components/command-menu/COMPONENT.md +60 -20
  344. package/dist/skill/reference/components/command-menu/examples/sizes.tsx +20 -15
  345. package/dist/skill/reference/components/command-menu/examples/states.tsx +46 -24
  346. package/dist/skill/reference/components/composer/COMPONENT.md +44 -25
  347. package/dist/skill/reference/components/composer/examples/attach-menu.tsx +78 -0
  348. package/dist/skill/reference/components/composer/examples/attachments.tsx +2 -2
  349. package/dist/skill/reference/components/composer/examples/examples.module.css +0 -9
  350. package/dist/skill/reference/components/composer/examples/narrow.tsx +1 -1
  351. package/dist/skill/reference/components/composer/examples/reply-edit.tsx +3 -3
  352. package/dist/skill/reference/components/composer/examples/sizes.tsx +3 -5
  353. package/dist/skill/reference/components/composer/examples/states.tsx +4 -6
  354. package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +26 -13
  355. package/dist/skill/reference/components/confirm-dialog/examples/dismiss.tsx +27 -0
  356. package/dist/skill/reference/components/confirm-dialog/examples/failure.tsx +9 -16
  357. package/dist/skill/reference/components/crossfade/COMPONENT.md +12 -5
  358. package/dist/skill/reference/components/crossfade/examples/examples.module.css +1 -40
  359. package/dist/skill/reference/components/crossfade/examples/fill.tsx +16 -19
  360. package/dist/skill/reference/components/crossfade/examples/overview.tsx +14 -16
  361. package/dist/skill/reference/components/crossfade/examples/record-switch.tsx +6 -11
  362. package/dist/skill/{patterns/screen-states.module.css → reference/components/crossfade/examples/screen.module.css} +1 -24
  363. package/dist/skill/reference/components/crossfade/examples/screen.tsx +186 -0
  364. package/dist/skill/reference/components/data-table/COMPONENT.md +34 -23
  365. package/dist/skill/reference/components/data-table/examples/controlled.tsx +14 -2
  366. package/dist/skill/reference/components/data-table/examples/detail-panel.tsx +36 -37
  367. package/dist/skill/reference/components/data-table/examples/examples.module.css +1 -21
  368. package/dist/skill/reference/components/data-table/examples/narrow.tsx +5 -1
  369. package/dist/skill/reference/components/data-table/examples/numeric.tsx +36 -4
  370. package/dist/skill/reference/components/data-table/examples/overview.tsx +1 -0
  371. package/dist/skill/reference/components/data-table/examples/row-link.tsx +2 -1
  372. package/dist/skill/reference/components/data-table/examples/row-open.tsx +7 -36
  373. package/dist/skill/reference/components/data-table/examples/screen.module.css +13 -0
  374. package/dist/skill/{patterns/list-page.tsx → reference/components/data-table/examples/screen.tsx} +95 -74
  375. package/dist/skill/reference/components/data-table/examples/sizes.tsx +17 -17
  376. package/dist/skill/reference/components/data-table/examples/states.tsx +37 -29
  377. package/dist/skill/reference/components/datepicker/COMPONENT.md +57 -25
  378. package/dist/skill/reference/components/datepicker/examples/dismiss.tsx +15 -0
  379. package/dist/skill/reference/components/datepicker/examples/examples.module.css +4 -7
  380. package/dist/skill/reference/components/datepicker/examples/in-form.tsx +29 -29
  381. package/dist/skill/reference/components/datepicker/examples/locale.tsx +35 -0
  382. package/dist/skill/reference/components/datepicker/examples/range-presets.tsx +11 -2
  383. package/dist/skill/reference/components/datepicker/examples/sizes.tsx +2 -2
  384. package/dist/skill/reference/components/datepicker/examples/states.tsx +11 -3
  385. package/dist/skill/reference/components/datepicker/examples/validation.tsx +3 -3
  386. package/dist/skill/reference/components/description-list/COMPONENT.md +24 -8
  387. package/dist/skill/reference/components/description-list/examples/examples.module.css +4 -24
  388. package/dist/skill/reference/components/description-list/examples/narrow.tsx +1 -1
  389. package/dist/skill/{patterns/detail-page.module.css → reference/components/description-list/examples/screen.module.css} +2 -27
  390. package/dist/skill/reference/components/description-list/examples/screen.tsx +206 -0
  391. package/dist/skill/reference/components/description-list/examples/sizes.tsx +2 -4
  392. package/dist/skill/reference/components/description-list/examples/structure.tsx +7 -8
  393. package/dist/skill/reference/components/description-list/examples/totals.tsx +40 -0
  394. package/dist/skill/reference/components/digit-input/COMPONENT.md +15 -7
  395. package/dist/skill/reference/components/digit-input/examples/examples.module.css +2 -2
  396. package/dist/skill/reference/components/digit-input/examples/in-form.tsx +1 -1
  397. package/dist/skill/reference/components/digit-input/examples/sizes.tsx +5 -3
  398. package/dist/skill/reference/components/digit-input/examples/states.tsx +15 -5
  399. package/dist/skill/reference/components/digit-input/examples/without-focus-ring.tsx +13 -0
  400. package/dist/skill/reference/components/divider/COMPONENT.md +26 -12
  401. package/dist/skill/reference/components/divider/examples/align.tsx +2 -4
  402. package/dist/skill/reference/components/divider/examples/examples.module.css +13 -17
  403. package/dist/skill/reference/components/divider/examples/or-separator.tsx +3 -5
  404. package/dist/skill/reference/components/divider/examples/overview.tsx +18 -16
  405. package/dist/skill/reference/components/divider/examples/vertical.tsx +5 -1
  406. package/dist/skill/reference/components/divider/examples/with-icon.tsx +3 -3
  407. package/dist/skill/reference/components/dnd/COMPONENT.md +56 -36
  408. package/dist/skill/reference/components/dnd/examples/drop-zones.tsx +82 -49
  409. package/dist/skill/reference/components/dnd/examples/examples.module.css +54 -6
  410. package/dist/skill/reference/components/dnd/examples/states.tsx +60 -0
  411. package/dist/skill/reference/components/dnd/examples/table.tsx +113 -0
  412. package/dist/skill/reference/components/drawer/COMPONENT.md +38 -14
  413. package/dist/skill/reference/components/drawer/examples/dismiss.tsx +5 -3
  414. package/dist/skill/reference/components/drawer/examples/guard.tsx +1 -3
  415. package/dist/skill/reference/components/drawer/examples/header-actions.tsx +6 -10
  416. package/dist/skill/reference/components/drawer/examples/in-form.tsx +31 -31
  417. package/dist/skill/reference/components/drawer/examples/overview.tsx +6 -18
  418. package/dist/skill/reference/components/drawer/examples/placement.tsx +31 -26
  419. package/dist/skill/reference/components/drawer/examples/screen.tsx +298 -0
  420. package/dist/skill/reference/components/drawer/examples/sizes.tsx +32 -27
  421. package/dist/skill/reference/components/dropdown/COMPONENT.md +58 -23
  422. package/dist/skill/reference/components/dropdown/examples/context-menu.tsx +75 -0
  423. package/dist/skill/reference/components/dropdown/examples/examples.module.css +2 -6
  424. package/dist/skill/reference/components/dropdown/examples/sizes.tsx +39 -34
  425. package/dist/skill/reference/components/dropdown/examples/states.tsx +37 -29
  426. package/dist/skill/reference/components/empty-page/COMPONENT.md +21 -10
  427. package/dist/skill/reference/components/empty-page/examples/compact.tsx +28 -18
  428. package/dist/skill/reference/components/empty-page/examples/examples.module.css +0 -43
  429. package/dist/skill/reference/components/empty-page/examples/narrow.tsx +3 -3
  430. package/dist/skill/reference/components/empty-page/examples/region-error.tsx +14 -13
  431. package/dist/skill/reference/components/empty-page/examples/sizes.tsx +13 -13
  432. package/dist/skill/reference/components/empty-page/examples/variants.tsx +34 -30
  433. package/dist/skill/reference/components/example-frame/COMPONENT.md +23 -10
  434. package/dist/skill/reference/components/example-frame/examples/controlled.tsx +3 -3
  435. package/dist/skill/reference/components/example-frame/examples/initial-view.tsx +44 -0
  436. package/dist/skill/reference/components/field-list/COMPONENT.md +16 -9
  437. package/dist/skill/reference/components/field-list/examples/errors.tsx +5 -2
  438. package/dist/skill/{patterns/record-editor.tsx → reference/components/field-list/examples/screen.tsx} +3 -43
  439. package/dist/skill/reference/components/field-list/examples/sizes.tsx +32 -26
  440. package/dist/skill/reference/components/field-list/examples/states.tsx +37 -31
  441. package/dist/skill/reference/components/fieldset/COMPONENT.md +10 -5
  442. package/dist/skill/reference/components/fieldset/examples/examples.module.css +1 -1
  443. package/dist/skill/reference/components/file-upload/COMPONENT.md +73 -34
  444. package/dist/skill/reference/components/file-upload/examples/avatar-upload.tsx +5 -5
  445. package/dist/skill/reference/components/file-upload/examples/custom-body.tsx +13 -7
  446. package/dist/skill/reference/components/file-upload/examples/examples.module.css +5 -11
  447. package/dist/skill/reference/components/file-upload/examples/file-cards.tsx +10 -1
  448. package/dist/skill/reference/components/file-upload/examples/gallery.tsx +2 -2
  449. package/dist/skill/reference/components/file-upload/examples/in-form.tsx +4 -9
  450. package/dist/skill/reference/components/file-upload/examples/narrow.tsx +1 -1
  451. package/dist/skill/reference/components/file-upload/examples/overview.tsx +5 -1
  452. package/dist/skill/reference/components/file-upload/examples/row-parts.tsx +27 -4
  453. package/dist/skill/{patterns/media-library.module.css → reference/components/file-upload/examples/screen.module.css} +4 -3
  454. package/dist/skill/reference/components/file-upload/examples/screen.tsx +648 -0
  455. package/dist/skill/reference/components/file-upload/examples/sizes.tsx +1 -3
  456. package/dist/skill/reference/components/file-upload/examples/states.tsx +6 -4
  457. package/dist/skill/reference/components/file-upload/examples/validation.tsx +11 -2
  458. package/dist/skill/reference/components/file-upload/examples/variants.tsx +15 -26
  459. package/dist/skill/reference/components/gallery/COMPONENT.md +16 -7
  460. package/dist/skill/reference/components/gallery/examples/album-sizes.tsx +52 -0
  461. package/dist/skill/reference/components/gallery/examples/controlled.tsx +40 -0
  462. package/dist/skill/reference/components/gallery/examples/examples.module.css +1 -1
  463. package/dist/skill/reference/components/gallery/examples/overview.tsx +15 -43
  464. package/dist/skill/reference/components/gallery/examples/transfer.tsx +22 -13
  465. package/dist/skill/reference/components/gantt/COMPONENT.md +22 -15
  466. package/dist/skill/reference/components/gantt/examples/examples.module.css +0 -16
  467. package/dist/skill/reference/components/gantt/examples/occupancy.tsx +2 -2
  468. package/dist/skill/reference/components/gantt/examples/screen.module.css +14 -0
  469. package/dist/skill/{patterns/schedule.tsx → reference/components/gantt/examples/screen.tsx} +175 -171
  470. package/dist/skill/reference/components/gantt/examples/sizes.tsx +16 -16
  471. package/dist/skill/reference/components/gantt/examples/states.tsx +38 -30
  472. package/dist/skill/reference/components/gantt/examples/variants.tsx +27 -25
  473. package/dist/skill/reference/components/hint/COMPONENT.md +24 -14
  474. package/dist/skill/reference/components/hint/examples/examples.module.css +1 -1
  475. package/dist/skill/reference/components/hint/examples/hint-or-error.tsx +2 -2
  476. package/dist/skill/reference/components/hint/examples/overview.tsx +9 -10
  477. package/dist/skill/reference/components/hint/examples/sizes.tsx +1 -1
  478. package/dist/skill/reference/components/input/COMPONENT.md +12 -8
  479. package/dist/skill/reference/components/input/examples/affixes.tsx +2 -2
  480. package/dist/skill/reference/components/input/examples/examples.module.css +1 -7
  481. package/dist/skill/reference/components/input/examples/in-form.tsx +1 -9
  482. package/dist/skill/reference/components/input/examples/password-strength.tsx +34 -8
  483. package/dist/skill/reference/components/input/examples/sizes.tsx +9 -5
  484. package/dist/skill/reference/components/input/examples/states.tsx +40 -19
  485. package/dist/skill/reference/components/input/examples/with-icon.tsx +24 -16
  486. package/dist/skill/reference/components/kanban/COMPONENT.md +31 -24
  487. package/dist/skill/reference/components/kanban/examples/columns.tsx +22 -24
  488. package/dist/skill/reference/components/kanban/examples/item-link.tsx +2 -2
  489. package/dist/skill/reference/components/kanban/examples/limits.tsx +1 -1
  490. package/dist/skill/reference/components/kanban/examples/narrow.tsx +1 -1
  491. package/dist/skill/reference/components/kanban/examples/screen.module.css +15 -0
  492. package/dist/skill/{patterns/kanban-board.tsx → reference/components/kanban/examples/screen.tsx} +133 -173
  493. package/dist/skill/reference/components/kanban/examples/states.tsx +46 -56
  494. package/dist/skill/reference/components/kanban/examples/variants.tsx +0 -3
  495. package/dist/skill/reference/components/kbd/COMPONENT.md +10 -6
  496. package/dist/skill/reference/components/kbd/examples/examples.module.css +1 -20
  497. package/dist/skill/reference/components/kbd/examples/in-controls.tsx +2 -2
  498. package/dist/skill/reference/components/kbd/examples/shortcut-list.tsx +14 -26
  499. package/dist/skill/reference/components/label/COMPONENT.md +26 -11
  500. package/dist/skill/reference/components/label/examples/examples.module.css +3 -11
  501. package/dist/skill/reference/components/label/examples/overview.tsx +5 -9
  502. package/dist/skill/reference/components/label/examples/structure.tsx +2 -2
  503. package/dist/skill/reference/components/link-button/COMPONENT.md +33 -20
  504. package/dist/skill/reference/components/link-button/examples/as-child.tsx +1 -1
  505. package/dist/skill/reference/components/link-button/examples/external-link.tsx +1 -1
  506. package/dist/skill/reference/components/link-button/examples/overview.tsx +4 -2
  507. package/dist/skill/reference/components/link-button/examples/variants.tsx +2 -2
  508. package/dist/skill/reference/components/list/COMPONENT.md +24 -16
  509. package/dist/skill/reference/components/list/examples/examples.module.css +0 -8
  510. package/dist/skill/reference/components/list/examples/overflow.tsx +1 -1
  511. package/dist/skill/reference/components/list/examples/overview.tsx +31 -30
  512. package/dist/skill/reference/components/list/examples/sizes.tsx +23 -23
  513. package/dist/skill/reference/components/list/examples/states.tsx +38 -21
  514. package/dist/skill/reference/components/list/examples/with-icon.tsx +16 -14
  515. package/dist/skill/reference/components/login-form/COMPONENT.md +74 -20
  516. package/dist/skill/reference/components/login-form/examples/examples.module.css +2 -21
  517. package/dist/skill/reference/components/login-form/examples/forgot-password.tsx +28 -32
  518. package/dist/skill/reference/components/login-form/examples/narrow.tsx +2 -2
  519. package/dist/skill/reference/components/login-form/examples/overview.tsx +45 -47
  520. package/dist/skill/reference/components/login-form/examples/register.tsx +65 -69
  521. package/dist/skill/reference/components/login-form/examples/reset-password.tsx +50 -47
  522. package/dist/skill/reference/components/login-form/examples/sizes.tsx +4 -6
  523. package/dist/skill/reference/components/login-form/examples/states.tsx +53 -57
  524. package/dist/skill/reference/components/login-form/examples/structure.tsx +18 -22
  525. package/dist/skill/reference/components/login-form/examples/verification-code.tsx +41 -45
  526. package/dist/skill/reference/components/media-viewer/COMPONENT.md +13 -9
  527. package/dist/skill/reference/components/media-viewer/examples/dismiss.tsx +5 -1
  528. package/dist/skill/reference/components/media-viewer/examples/examples.module.css +2 -2
  529. package/dist/skill/reference/components/media-viewer/examples/video.tsx +1 -1
  530. package/dist/skill/reference/components/message/COMPONENT.md +106 -49
  531. package/dist/skill/reference/components/message/examples/file.tsx +5 -1
  532. package/dist/skill/reference/components/message/examples/media-open.tsx +48 -0
  533. package/dist/skill/reference/components/message/examples/status.tsx +21 -3
  534. package/dist/skill/reference/components/message/examples/text-formatting.tsx +7 -1
  535. package/dist/skill/reference/components/message/examples/typing.tsx +5 -5
  536. package/dist/skill/reference/components/modal/COMPONENT.md +71 -36
  537. package/dist/skill/reference/components/modal/examples/custom-container.tsx +20 -20
  538. package/dist/skill/reference/components/modal/examples/dismiss.tsx +38 -28
  539. package/dist/skill/reference/components/modal/examples/enter-key.tsx +113 -0
  540. package/dist/skill/reference/components/modal/examples/examples.module.css +4 -17
  541. package/dist/skill/reference/components/modal/examples/guard.tsx +2 -4
  542. package/dist/skill/reference/components/modal/examples/in-form.tsx +28 -28
  543. package/dist/skill/reference/components/modal/examples/long-content.tsx +6 -4
  544. package/dist/skill/reference/components/modal/examples/sizes.tsx +36 -31
  545. package/dist/skill/reference/components/modal/examples/structure.tsx +5 -2
  546. package/dist/skill/reference/components/native-select/COMPONENT.md +8 -4
  547. package/dist/skill/reference/components/native-select/examples/examples.module.css +3 -3
  548. package/dist/skill/reference/components/native-select/examples/in-form.tsx +28 -29
  549. package/dist/skill/reference/components/native-select/examples/sizes.tsx +2 -2
  550. package/dist/skill/reference/components/native-select/examples/states.tsx +7 -3
  551. package/dist/skill/reference/components/notification/COMPONENT.md +37 -32
  552. package/dist/skill/reference/components/notification/examples/dismiss.tsx +2 -2
  553. package/dist/skill/reference/components/notification/examples/examples.module.css +1 -2
  554. package/dist/skill/reference/components/notification/examples/in-form.tsx +28 -20
  555. package/dist/skill/reference/components/notification/examples/sizes.tsx +16 -12
  556. package/dist/skill/reference/components/notification/examples/undo.tsx +7 -15
  557. package/dist/skill/reference/components/page-content/COMPONENT.md +22 -29
  558. package/dist/skill/reference/components/page-content/examples/examples.module.css +3 -16
  559. package/dist/skill/reference/components/page-content/examples/grid.tsx +3 -1
  560. package/dist/skill/reference/components/page-content/examples/list-detail.tsx +55 -52
  561. package/dist/skill/reference/components/page-content/examples/narrow.tsx +1 -1
  562. package/dist/skill/reference/components/page-content/examples/overview.tsx +2 -2
  563. package/dist/skill/{patterns/settings-page.tsx → reference/components/page-content/examples/screen.tsx} +3 -3
  564. package/dist/skill/reference/components/page-content/examples/variants.tsx +10 -17
  565. package/dist/skill/reference/components/page-toolbar/COMPONENT.md +27 -21
  566. package/dist/skill/reference/components/page-toolbar/examples/narrow.tsx +6 -3
  567. package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +1 -1
  568. package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +25 -22
  569. package/dist/skill/reference/components/pagination/COMPONENT.md +20 -17
  570. package/dist/skill/reference/components/pagination/examples/controlled.tsx +29 -29
  571. package/dist/skill/reference/components/pagination/examples/examples.module.css +0 -2
  572. package/dist/skill/reference/components/pagination/examples/narrow.tsx +5 -5
  573. package/dist/skill/reference/components/popover/COMPONENT.md +43 -20
  574. package/dist/skill/reference/components/popover/examples/controlled-open.tsx +6 -4
  575. package/dist/skill/reference/components/popover/examples/dismiss.tsx +37 -28
  576. package/dist/skill/reference/components/popover/examples/examples.module.css +2 -2
  577. package/dist/skill/reference/components/popover/examples/sizes.tsx +32 -27
  578. package/dist/skill/reference/components/popover/examples/width.tsx +45 -0
  579. package/dist/skill/reference/components/progress-bar/COMPONENT.md +22 -30
  580. package/dist/skill/reference/components/progress-bar/examples/examples.module.css +1 -1
  581. package/dist/skill/reference/components/progress-bar/examples/segments.tsx +2 -2
  582. package/dist/skill/reference/components/progress-circle/COMPONENT.md +22 -30
  583. package/dist/skill/reference/components/progress-circle/examples/examples.module.css +1 -1
  584. package/dist/skill/reference/components/progress-circle/examples/on-color.tsx +16 -0
  585. package/dist/skill/reference/components/progress-circle/examples/segments.tsx +8 -3
  586. package/dist/skill/reference/components/progress-circle/examples/variants.tsx +1 -0
  587. package/dist/skill/reference/components/radio/COMPONENT.md +14 -4
  588. package/dist/skill/reference/components/radio/examples/examples.module.css +14 -0
  589. package/dist/skill/reference/components/radio/examples/in-form.tsx +45 -0
  590. package/dist/skill/reference/components/scroll-container/COMPONENT.md +19 -12
  591. package/dist/skill/reference/components/scroll-container/examples/auto-scroll.tsx +11 -7
  592. package/dist/skill/reference/components/scroll-container/examples/edges.tsx +10 -7
  593. package/dist/skill/reference/components/scroll-container/examples/examples.module.css +10 -67
  594. package/dist/skill/reference/components/scroll-container/examples/load-more.tsx +51 -0
  595. package/dist/skill/reference/components/scroll-container/examples/lock.tsx +7 -9
  596. package/dist/skill/reference/components/scroll-container/examples/log.tsx +97 -0
  597. package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +7 -7
  598. package/dist/skill/reference/components/scroll-container/examples/overview.tsx +8 -8
  599. package/dist/skill/reference/components/scroll-container/examples/scrollbar.tsx +17 -11
  600. package/dist/skill/reference/components/scroll-container/examples/snap.tsx +2 -2
  601. package/dist/skill/reference/components/scroll-container/examples/variants.tsx +14 -7
  602. package/dist/skill/reference/components/segmented-control/COMPONENT.md +26 -14
  603. package/dist/skill/reference/components/segmented-control/examples/controlled.tsx +2 -4
  604. package/dist/skill/reference/components/segmented-control/examples/examples.module.css +0 -8
  605. package/dist/skill/reference/components/segmented-control/examples/in-form.tsx +5 -1
  606. package/dist/skill/reference/components/segmented-control/examples/scroll.tsx +1 -1
  607. package/dist/skill/reference/components/segmented-control/examples/states.tsx +10 -1
  608. package/dist/skill/reference/components/select/COMPONENT.md +34 -10
  609. package/dist/skill/reference/components/select/examples/dismiss.tsx +26 -0
  610. package/dist/skill/reference/components/select/examples/examples.module.css +3 -8
  611. package/dist/skill/reference/components/select/examples/server-search.tsx +6 -2
  612. package/dist/skill/reference/components/select/examples/sizes.tsx +2 -2
  613. package/dist/skill/reference/components/select/examples/states.tsx +15 -3
  614. package/dist/skill/reference/components/select/examples/with-icon.tsx +20 -18
  615. package/dist/skill/reference/components/sheet/COMPONENT.md +46 -21
  616. package/dist/skill/reference/components/sheet/examples/guard.tsx +72 -0
  617. package/dist/skill/reference/components/sheet/examples/header-actions.tsx +75 -0
  618. package/dist/skill/reference/components/sheet/examples/overview.tsx +25 -10
  619. package/dist/skill/reference/components/skeleton/COMPONENT.md +8 -4
  620. package/dist/skill/reference/components/skeleton/examples/examples.module.css +1 -13
  621. package/dist/skill/reference/components/skeleton/examples/with-crossfade.tsx +7 -7
  622. package/dist/skill/reference/components/slider/COMPONENT.md +12 -6
  623. package/dist/skill/reference/components/slider/examples/examples.module.css +14 -7
  624. package/dist/skill/reference/components/slider/examples/hint-and-error.tsx +3 -5
  625. package/dist/skill/reference/components/slider/examples/in-form.tsx +49 -0
  626. package/dist/skill/reference/components/slider/examples/states.tsx +4 -1
  627. package/dist/skill/reference/components/smart-filter/COMPONENT.md +33 -13
  628. package/dist/skill/reference/components/smart-filter/examples/controlled.tsx +3 -3
  629. package/dist/skill/reference/components/smart-filter/examples/examples.module.css +0 -21
  630. package/dist/skill/reference/components/smart-filter/examples/ranges.tsx +45 -10
  631. package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +2 -4
  632. package/dist/skill/reference/components/sparkline/COMPONENT.md +8 -4
  633. package/dist/skill/reference/components/sparkline/examples/examples.module.css +1 -1
  634. package/dist/skill/reference/components/sparkline/examples/reference.tsx +2 -1
  635. package/dist/skill/reference/components/sparkline/examples/signed-bars.tsx +2 -2
  636. package/dist/skill/reference/components/spinner/COMPONENT.md +15 -9
  637. package/dist/skill/reference/components/spinner/examples/examples.module.css +2 -14
  638. package/dist/skill/reference/components/spinner/examples/overview.tsx +1 -1
  639. package/dist/skill/reference/components/stepper/COMPONENT.md +50 -41
  640. package/dist/skill/reference/components/stepper/examples/examples.module.css +1 -6
  641. package/dist/skill/reference/components/stepper/examples/narrow.tsx +1 -1
  642. package/dist/skill/reference/components/stepper/examples/sizes.tsx +6 -8
  643. package/dist/skill/reference/components/stepper/examples/states.tsx +44 -43
  644. package/dist/skill/reference/components/stepper/examples/with-icon.tsx +19 -17
  645. package/dist/skill/reference/components/switch/COMPONENT.md +21 -8
  646. package/dist/skill/reference/components/switch/examples/examples.module.css +2 -2
  647. package/dist/skill/reference/components/switch/examples/states.tsx +3 -3
  648. package/dist/skill/reference/components/tabs/COMPONENT.md +22 -17
  649. package/dist/skill/reference/components/tabs/examples/in-drawer.tsx +1 -1
  650. package/dist/skill/reference/components/tabs/examples/sizes.tsx +6 -11
  651. package/dist/skill/reference/components/tabs/examples/variants.tsx +19 -23
  652. package/dist/skill/reference/components/tag-select/COMPONENT.md +20 -7
  653. package/dist/skill/reference/components/tag-select/examples/creatable.tsx +2 -2
  654. package/dist/skill/reference/components/tag-select/examples/dismiss.tsx +23 -0
  655. package/dist/skill/reference/components/tag-select/examples/examples.module.css +3 -3
  656. package/dist/skill/reference/components/tag-select/examples/in-form.tsx +31 -32
  657. package/dist/skill/reference/components/tag-select/examples/sizes.tsx +2 -2
  658. package/dist/skill/reference/components/tag-select/examples/states.tsx +10 -3
  659. package/dist/skill/reference/components/textarea/COMPONENT.md +11 -7
  660. package/dist/skill/reference/components/textarea/examples/examples.module.css +3 -16
  661. package/dist/skill/reference/components/textarea/examples/in-form.tsx +3 -11
  662. package/dist/skill/reference/components/textarea/examples/sizes.tsx +10 -7
  663. package/dist/skill/reference/components/textarea/examples/states.tsx +30 -13
  664. package/dist/skill/reference/components/textarea/examples/validation.tsx +45 -36
  665. package/dist/skill/reference/components/thumbnail/COMPONENT.md +19 -14
  666. package/dist/skill/reference/components/thumbnail/examples/examples.module.css +2 -2
  667. package/dist/skill/reference/components/thumbnail/examples/fit.tsx +24 -0
  668. package/dist/skill/reference/components/thumbnail/examples/states.tsx +1 -1
  669. package/dist/skill/reference/components/thumbnail/examples/variants.tsx +12 -1
  670. package/dist/skill/reference/components/thumbnail/examples/video.tsx +20 -1
  671. package/dist/skill/reference/components/timeline/COMPONENT.md +52 -36
  672. package/dist/skill/reference/components/timeline/examples/links.tsx +57 -16
  673. package/dist/skill/reference/components/timeline/examples/narrow.tsx +6 -6
  674. package/dist/skill/reference/components/timeline/examples/overview.tsx +6 -6
  675. package/dist/skill/reference/components/timeline/examples/sizes.tsx +28 -23
  676. package/dist/skill/reference/components/timeline/examples/structure.tsx +30 -30
  677. package/dist/skill/reference/components/timeline/examples/variants.tsx +40 -28
  678. package/dist/skill/reference/components/tooltip/COMPONENT.md +11 -7
  679. package/dist/skill/reference/components/tooltip/examples/examples.module.css +1 -5
  680. package/dist/skill/reference/components/tooltip/examples/non-interactive-trigger.tsx +1 -1
  681. package/dist/skill/reference/components/tooltip/examples/sizes.tsx +17 -10
  682. package/dist/skill/reference/components/tooltip/examples/toolbar.tsx +2 -2
  683. package/dist/skill/reference/components/typography/COMPONENT.md +17 -2
  684. package/dist/skill/reference/components/typography/examples/examples.module.css +3 -6
  685. package/dist/skill/reference/components/typography/examples/numeric.tsx +16 -0
  686. package/dist/skill/reference/components/typography/examples/weights.tsx +3 -0
  687. package/dist/skill/reference/components/video-note/COMPONENT.md +13 -9
  688. package/dist/skill/reference/components/video-note/examples/controlled.tsx +19 -2
  689. package/dist/skill/reference/components/video-note/examples/in-message.tsx +5 -2
  690. package/dist/skill/reference/components/visually-hidden/COMPONENT.md +10 -5
  691. package/dist/skill/reference/components/visually-hidden/examples/assertive.tsx +39 -0
  692. package/dist/skill/reference/components/visually-hidden/examples/overview.tsx +17 -7
  693. package/dist/skill/reference/components/voice-player/COMPONENT.md +17 -9
  694. package/dist/skill/reference/components/voice-player/examples/call-recording.tsx +19 -9
  695. package/dist/skill/reference/components/voice-player/examples/controlled.tsx +20 -3
  696. package/dist/skill/reference/foundation.md +564 -0
  697. package/dist/skill/reference/layout/app-header/COMPONENT.md +65 -81
  698. package/dist/skill/reference/layout/app-header/examples/breadcrumbs.tsx +10 -9
  699. package/dist/skill/reference/layout/app-header/examples/examples.module.css +4 -23
  700. package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +3 -6
  701. package/dist/skill/reference/layout/app-header/examples/narrow.tsx +58 -21
  702. package/dist/skill/reference/layout/app-header/examples/overview.tsx +8 -10
  703. package/dist/skill/reference/layout/app-header/examples/page-title.tsx +3 -10
  704. package/dist/skill/reference/layout/app-shell/COMPONENT.md +41 -10
  705. package/dist/skill/reference/layout/app-shell/examples/examples.module.css +2 -22
  706. package/dist/skill/reference/layout/app-shell/examples/footer.tsx +2 -2
  707. package/dist/skill/reference/layout/app-shell/examples/overview.tsx +18 -35
  708. package/dist/skill/reference/layout/app-shell/examples/screen.tsx +268 -0
  709. package/dist/skill/reference/layout/app-shell/examples/template.tsx +32 -12
  710. package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +27 -17
  711. package/dist/skill/reference/layout/bottom-nav/examples/examples.module.css +2 -7
  712. package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +2 -2
  713. package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +2 -2
  714. package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +2 -2
  715. package/dist/skill/reference/layout/bottom-nav/examples/router.tsx +6 -5
  716. package/dist/skill/reference/layout/sidebar/COMPONENT.md +55 -42
  717. package/dist/skill/reference/layout/sidebar/examples/account.tsx +3 -5
  718. package/dist/skill/reference/layout/sidebar/examples/brand-header.tsx +1 -3
  719. package/dist/skill/reference/layout/sidebar/examples/collapsible-groups.tsx +13 -7
  720. package/dist/skill/reference/layout/sidebar/examples/controlled-open.tsx +1 -3
  721. package/dist/skill/reference/layout/sidebar/examples/controlled.tsx +1 -3
  722. package/dist/skill/reference/layout/sidebar/examples/custom-part.tsx +51 -0
  723. package/dist/skill/reference/layout/sidebar/examples/dismiss.tsx +47 -0
  724. package/dist/skill/reference/layout/sidebar/examples/examples.module.css +10 -30
  725. package/dist/skill/reference/layout/sidebar/examples/narrow.tsx +55 -0
  726. package/dist/skill/reference/layout/sidebar/examples/nested-items.tsx +1 -3
  727. package/dist/skill/reference/layout/sidebar/examples/overview.tsx +1 -3
  728. package/dist/skill/reference/layout/sidebar/examples/persist.tsx +55 -0
  729. package/dist/skill/reference/layout/sidebar/examples/router.tsx +20 -9
  730. package/dist/skill/reference/layout/sidebar/examples/sizes.tsx +6 -6
  731. package/dist/skill/reference/layout/sidebar/examples/structure.tsx +7 -2
  732. package/dist/skill/responsive.md +49 -52
  733. package/dist/skill/ux.md +21 -9
  734. package/dist/theme/applyTheme.d.ts +7 -6
  735. package/dist/tokens/hues.d.ts +8 -0
  736. package/dist/tokens/layers.d.ts +3 -16
  737. package/dist/tokens/offGrid.d.ts +7 -0
  738. package/dist/tokens/primitives.d.ts +22 -7
  739. package/dist/tokens/semantic.d.ts +201 -51
  740. package/dist/tokens/themes/dark.d.ts +32 -31
  741. package/package.json +5 -3
  742. package/src/components/accordion/COMPONENT.md +16 -9
  743. package/src/components/accordion/examples/overview.tsx +2 -2
  744. package/src/components/accordion/examples/sizes.tsx +6 -8
  745. package/src/components/accordion/examples/states.tsx +27 -24
  746. package/src/components/accordion/examples/variants.tsx +6 -8
  747. package/src/components/accordion/examples/with-icon.tsx +22 -19
  748. package/src/components/avatar/COMPONENT.md +23 -16
  749. package/src/components/avatar/examples/examples.module.css +1 -4
  750. package/src/components/avatar/examples/overview.tsx +3 -3
  751. package/src/components/avatar/examples/presence.tsx +4 -4
  752. package/src/components/avatar/examples/src-from-state.tsx +3 -3
  753. package/src/components/avatar/examples/states.tsx +6 -6
  754. package/src/components/avatar/examples/team-group.tsx +2 -2
  755. package/src/components/badge/COMPONENT.md +66 -34
  756. package/src/components/badge/examples/applied-filters.tsx +13 -19
  757. package/src/components/badge/examples/controlled.tsx +32 -0
  758. package/src/components/badge/examples/examples.module.css +3 -10
  759. package/src/components/badge/examples/filter-values.tsx +4 -6
  760. package/src/components/badge/examples/in-controls.tsx +1 -1
  761. package/src/components/badge/examples/overview.tsx +6 -5
  762. package/src/components/badge/examples/server-tags.tsx +2 -6
  763. package/src/components/badge/examples/square.tsx +21 -0
  764. package/src/components/badge/examples/states.tsx +4 -4
  765. package/src/components/badge/examples/with-icon.tsx +10 -1
  766. package/src/components/banner/COMPONENT.md +9 -5
  767. package/src/components/banner/examples/dismissible.tsx +3 -19
  768. package/src/components/banner/examples/examples.module.css +1 -5
  769. package/src/components/banner/examples/overview.tsx +1 -1
  770. package/src/components/banner/examples/page-strip.tsx +16 -22
  771. package/src/components/breadcrumb/COMPONENT.md +21 -14
  772. package/src/components/breadcrumb/examples/ellipsis.tsx +2 -2
  773. package/src/components/breadcrumb/examples/examples.module.css +1 -1
  774. package/src/components/breadcrumb/examples/overflow.tsx +1 -1
  775. package/src/components/breadcrumb/examples/sizes.tsx +6 -8
  776. package/src/components/breadcrumb/examples/with-icon.tsx +15 -8
  777. package/src/components/button/COMPONENT.md +66 -30
  778. package/src/components/button/examples/align.tsx +25 -0
  779. package/src/components/button/examples/controlled.tsx +21 -0
  780. package/src/components/button/examples/density.tsx +45 -0
  781. package/src/components/button/examples/examples.module.css +14 -25
  782. package/src/components/button/examples/label-morph.tsx +1 -1
  783. package/src/components/button/examples/on-colored-host.tsx +19 -19
  784. package/src/components/button/examples/over-media.tsx +7 -1
  785. package/src/components/button/examples/toggle.tsx +2 -10
  786. package/src/components/button-group/COMPONENT.md +23 -17
  787. package/src/components/button-group/examples/controlled.tsx +1 -1
  788. package/src/components/button-group/examples/in-form.tsx +22 -2
  789. package/src/components/button-group/examples/states.tsx +10 -1
  790. package/src/components/card/COMPONENT.md +18 -6
  791. package/src/components/card/examples/content-templates.tsx +8 -2
  792. package/src/components/card/examples/examples.module.css +4 -16
  793. package/src/components/card/examples/overview.tsx +11 -11
  794. package/src/components/card/examples/screen.module.css +14 -0
  795. package/src/components/card/examples/screen.tsx +363 -0
  796. package/src/components/card/examples/variants.tsx +75 -34
  797. package/src/components/chart-frame/COMPONENT.md +25 -28
  798. package/src/components/chart-frame/examples/controlled.tsx +9 -7
  799. package/src/components/chart-frame/examples/fill-height.tsx +117 -0
  800. package/src/components/chart-frame/examples/narrow.tsx +24 -5
  801. package/src/components/chart-frame/examples/overview.tsx +5 -2
  802. package/src/components/chart-frame/examples/states.tsx +72 -62
  803. package/src/components/chart-frame/examples/tooltip.tsx +27 -26
  804. package/src/components/chat/COMPONENT.md +37 -22
  805. package/src/components/chat/examples/group-chat.tsx +16 -3
  806. package/src/components/chat/examples/overview.tsx +119 -130
  807. package/src/components/chat/examples/reactions.tsx +116 -0
  808. package/src/components/chat/examples/screen.module.css +9 -0
  809. package/src/components/chat/examples/screen.tsx +695 -0
  810. package/src/components/chat/examples/states.tsx +23 -22
  811. package/src/components/chat-list/COMPONENT.md +11 -5
  812. package/src/components/chat-list/examples/examples.module.css +0 -8
  813. package/src/components/chat-list/examples/links.tsx +72 -0
  814. package/src/components/chat-list/examples/live.tsx +29 -22
  815. package/src/components/chat-list/examples/sizes.tsx +6 -8
  816. package/src/components/chat-list/examples/states.tsx +42 -38
  817. package/src/components/checkbox/COMPONENT.md +27 -14
  818. package/src/components/checkbox/examples/controlled.tsx +18 -16
  819. package/src/components/checkbox/examples/examples.module.css +14 -52
  820. package/src/components/checkbox/examples/in-form.tsx +16 -16
  821. package/src/components/checkbox/examples/indicator.tsx +17 -56
  822. package/src/components/checkbox/examples/overview.tsx +1 -1
  823. package/src/components/checkbox/examples/states.tsx +6 -1
  824. package/src/components/checkbox/examples/without-label.tsx +1 -1
  825. package/src/components/code-block/COMPONENT.md +16 -12
  826. package/src/components/code-block/examples/examples.module.css +5 -2
  827. package/src/components/code-block/examples/narrow.tsx +1 -1
  828. package/src/components/color-field/COMPONENT.md +16 -10
  829. package/src/components/color-field/examples/examples.module.css +4 -5
  830. package/src/components/color-field/examples/in-form.tsx +15 -13
  831. package/src/components/color-field/examples/sizes.tsx +5 -1
  832. package/src/components/color-field/examples/states.tsx +15 -3
  833. package/src/components/color-picker/COMPONENT.md +58 -21
  834. package/src/components/color-picker/examples/controlled-open.tsx +37 -0
  835. package/src/components/color-picker/examples/controlled.tsx +16 -5
  836. package/src/components/color-picker/examples/examples.module.css +6 -7
  837. package/src/components/color-picker/examples/in-form.tsx +24 -22
  838. package/src/components/color-picker/examples/overview.tsx +1 -1
  839. package/src/components/color-picker/examples/panel.tsx +1 -1
  840. package/src/components/color-picker/examples/presets.tsx +2 -2
  841. package/src/components/color-picker/examples/sizes.tsx +9 -11
  842. package/src/components/color-picker/examples/states.tsx +30 -16
  843. package/src/components/color-swatches/COMPONENT.md +22 -8
  844. package/src/components/color-swatches/examples/examples.module.css +3 -4
  845. package/src/components/color-swatches/examples/in-form.tsx +19 -17
  846. package/src/components/color-swatches/examples/palette.tsx +24 -0
  847. package/src/components/color-swatches/examples/wrapping.tsx +17 -2
  848. package/src/components/command-menu/COMPONENT.md +60 -20
  849. package/src/components/command-menu/examples/sizes.tsx +20 -15
  850. package/src/components/command-menu/examples/states.tsx +46 -24
  851. package/src/components/composer/COMPONENT.md +44 -25
  852. package/src/components/composer/examples/attach-menu.tsx +78 -0
  853. package/src/components/composer/examples/attachments.tsx +2 -2
  854. package/src/components/composer/examples/examples.module.css +0 -9
  855. package/src/components/composer/examples/narrow.tsx +1 -1
  856. package/src/components/composer/examples/reply-edit.tsx +3 -3
  857. package/src/components/composer/examples/sizes.tsx +3 -5
  858. package/src/components/composer/examples/states.tsx +4 -6
  859. package/src/components/confirm-dialog/COMPONENT.md +26 -13
  860. package/src/components/confirm-dialog/examples/dismiss.tsx +27 -0
  861. package/src/components/confirm-dialog/examples/failure.tsx +9 -16
  862. package/src/components/crossfade/COMPONENT.md +12 -5
  863. package/src/components/crossfade/examples/examples.module.css +1 -40
  864. package/src/components/crossfade/examples/fill.tsx +16 -19
  865. package/src/components/crossfade/examples/overview.tsx +14 -16
  866. package/src/components/crossfade/examples/record-switch.tsx +6 -11
  867. package/src/components/crossfade/examples/screen.module.css +17 -0
  868. package/src/components/crossfade/examples/screen.tsx +186 -0
  869. package/src/components/data-table/COMPONENT.md +34 -23
  870. package/src/components/data-table/examples/controlled.tsx +14 -2
  871. package/src/components/data-table/examples/detail-panel.tsx +36 -37
  872. package/src/components/data-table/examples/examples.module.css +1 -21
  873. package/src/components/data-table/examples/narrow.tsx +5 -1
  874. package/src/components/data-table/examples/numeric.tsx +36 -4
  875. package/src/components/data-table/examples/overview.tsx +1 -0
  876. package/src/components/data-table/examples/row-link.tsx +2 -1
  877. package/src/components/data-table/examples/row-open.tsx +7 -36
  878. package/src/components/data-table/examples/screen.module.css +13 -0
  879. package/src/components/data-table/examples/screen.tsx +355 -0
  880. package/src/components/data-table/examples/sizes.tsx +17 -17
  881. package/src/components/data-table/examples/states.tsx +37 -29
  882. package/src/components/datepicker/COMPONENT.md +57 -25
  883. package/src/components/datepicker/examples/dismiss.tsx +15 -0
  884. package/src/components/datepicker/examples/examples.module.css +4 -7
  885. package/src/components/datepicker/examples/in-form.tsx +29 -29
  886. package/src/components/datepicker/examples/locale.tsx +35 -0
  887. package/src/components/datepicker/examples/range-presets.tsx +11 -2
  888. package/src/components/datepicker/examples/sizes.tsx +2 -2
  889. package/src/components/datepicker/examples/states.tsx +11 -3
  890. package/src/components/datepicker/examples/validation.tsx +3 -3
  891. package/src/components/description-list/COMPONENT.md +24 -8
  892. package/src/components/description-list/examples/examples.module.css +4 -24
  893. package/src/components/description-list/examples/narrow.tsx +1 -1
  894. package/src/components/description-list/examples/screen.module.css +46 -0
  895. package/src/components/description-list/examples/screen.tsx +206 -0
  896. package/src/components/description-list/examples/sizes.tsx +2 -4
  897. package/src/components/description-list/examples/structure.tsx +7 -8
  898. package/src/components/description-list/examples/totals.tsx +40 -0
  899. package/src/components/digit-input/COMPONENT.md +15 -7
  900. package/src/components/digit-input/examples/examples.module.css +2 -2
  901. package/src/components/digit-input/examples/in-form.tsx +1 -1
  902. package/src/components/digit-input/examples/sizes.tsx +5 -3
  903. package/src/components/digit-input/examples/states.tsx +15 -5
  904. package/src/components/digit-input/examples/without-focus-ring.tsx +13 -0
  905. package/src/components/divider/COMPONENT.md +26 -12
  906. package/src/components/divider/examples/align.tsx +2 -4
  907. package/src/components/divider/examples/examples.module.css +13 -17
  908. package/src/components/divider/examples/or-separator.tsx +3 -5
  909. package/src/components/divider/examples/overview.tsx +18 -16
  910. package/src/components/divider/examples/vertical.tsx +5 -1
  911. package/src/components/divider/examples/with-icon.tsx +3 -3
  912. package/src/components/dnd/COMPONENT.md +56 -36
  913. package/src/components/dnd/examples/drop-zones.tsx +82 -49
  914. package/src/components/dnd/examples/examples.module.css +54 -6
  915. package/src/components/dnd/examples/states.tsx +60 -0
  916. package/src/components/dnd/examples/table.tsx +113 -0
  917. package/src/components/drawer/COMPONENT.md +38 -14
  918. package/src/components/drawer/examples/dismiss.tsx +5 -3
  919. package/src/components/drawer/examples/guard.tsx +1 -3
  920. package/src/components/drawer/examples/header-actions.tsx +6 -10
  921. package/src/components/drawer/examples/in-form.tsx +31 -31
  922. package/src/components/drawer/examples/overview.tsx +6 -18
  923. package/src/components/drawer/examples/placement.tsx +31 -26
  924. package/src/components/drawer/examples/screen.module.css +14 -0
  925. package/src/components/drawer/examples/screen.tsx +298 -0
  926. package/src/components/drawer/examples/sizes.tsx +32 -27
  927. package/src/components/dropdown/COMPONENT.md +58 -23
  928. package/src/components/dropdown/examples/context-menu.tsx +75 -0
  929. package/src/components/dropdown/examples/examples.module.css +2 -6
  930. package/src/components/dropdown/examples/sizes.tsx +39 -34
  931. package/src/components/dropdown/examples/states.tsx +37 -29
  932. package/src/components/empty-page/COMPONENT.md +21 -10
  933. package/src/components/empty-page/examples/compact.tsx +28 -18
  934. package/src/components/empty-page/examples/examples.module.css +0 -43
  935. package/src/components/empty-page/examples/narrow.tsx +3 -3
  936. package/src/components/empty-page/examples/region-error.tsx +14 -13
  937. package/src/components/empty-page/examples/sizes.tsx +13 -13
  938. package/src/components/empty-page/examples/variants.tsx +34 -30
  939. package/src/components/example-frame/COMPONENT.md +23 -10
  940. package/src/components/example-frame/examples/controlled.tsx +3 -3
  941. package/src/components/example-frame/examples/initial-view.tsx +44 -0
  942. package/src/components/field-list/COMPONENT.md +16 -9
  943. package/src/components/field-list/examples/errors.tsx +5 -2
  944. package/src/components/field-list/examples/screen.module.css +18 -0
  945. package/src/components/field-list/examples/screen.tsx +316 -0
  946. package/src/components/field-list/examples/sizes.tsx +32 -26
  947. package/src/components/field-list/examples/states.tsx +37 -31
  948. package/src/components/fieldset/COMPONENT.md +10 -5
  949. package/src/components/fieldset/examples/examples.module.css +1 -1
  950. package/src/components/file-upload/COMPONENT.md +73 -34
  951. package/src/components/file-upload/examples/avatar-upload.tsx +5 -5
  952. package/src/components/file-upload/examples/custom-body.tsx +13 -7
  953. package/src/components/file-upload/examples/examples.module.css +5 -11
  954. package/src/components/file-upload/examples/file-cards.tsx +10 -1
  955. package/src/components/file-upload/examples/gallery.tsx +2 -2
  956. package/src/components/file-upload/examples/in-form.tsx +4 -9
  957. package/src/components/file-upload/examples/narrow.tsx +1 -1
  958. package/src/components/file-upload/examples/overview.tsx +5 -1
  959. package/src/components/file-upload/examples/row-parts.tsx +27 -4
  960. package/src/components/file-upload/examples/screen.module.css +45 -0
  961. package/src/components/file-upload/examples/screen.tsx +648 -0
  962. package/src/components/file-upload/examples/sizes.tsx +1 -3
  963. package/src/components/file-upload/examples/states.tsx +6 -4
  964. package/src/components/file-upload/examples/validation.tsx +11 -2
  965. package/src/components/file-upload/examples/variants.tsx +15 -26
  966. package/src/components/gallery/COMPONENT.md +16 -7
  967. package/src/components/gallery/examples/album-sizes.tsx +52 -0
  968. package/src/components/gallery/examples/controlled.tsx +40 -0
  969. package/src/components/gallery/examples/examples.module.css +1 -1
  970. package/src/components/gallery/examples/overview.tsx +15 -43
  971. package/src/components/gallery/examples/transfer.tsx +22 -13
  972. package/src/components/gantt/COMPONENT.md +22 -15
  973. package/src/components/gantt/examples/examples.module.css +0 -16
  974. package/src/components/gantt/examples/occupancy.tsx +2 -2
  975. package/src/components/gantt/examples/screen.module.css +14 -0
  976. package/src/components/gantt/examples/screen.tsx +726 -0
  977. package/src/components/gantt/examples/sizes.tsx +16 -16
  978. package/src/components/gantt/examples/states.tsx +38 -30
  979. package/src/components/gantt/examples/variants.tsx +27 -25
  980. package/src/components/hint/COMPONENT.md +24 -14
  981. package/src/components/hint/examples/examples.module.css +1 -1
  982. package/src/components/hint/examples/hint-or-error.tsx +2 -2
  983. package/src/components/hint/examples/overview.tsx +9 -10
  984. package/src/components/hint/examples/sizes.tsx +1 -1
  985. package/src/components/input/COMPONENT.md +12 -8
  986. package/src/components/input/examples/affixes.tsx +2 -2
  987. package/src/components/input/examples/examples.module.css +1 -7
  988. package/src/components/input/examples/in-form.tsx +1 -9
  989. package/src/components/input/examples/password-strength.tsx +34 -8
  990. package/src/components/input/examples/sizes.tsx +9 -5
  991. package/src/components/input/examples/states.tsx +40 -19
  992. package/src/components/input/examples/with-icon.tsx +24 -16
  993. package/src/components/kanban/COMPONENT.md +31 -24
  994. package/src/components/kanban/examples/columns.tsx +22 -24
  995. package/src/components/kanban/examples/item-link.tsx +2 -2
  996. package/src/components/kanban/examples/limits.tsx +1 -1
  997. package/src/components/kanban/examples/narrow.tsx +1 -1
  998. package/src/components/kanban/examples/screen.module.css +15 -0
  999. package/src/components/kanban/examples/screen.tsx +574 -0
  1000. package/src/components/kanban/examples/states.tsx +46 -56
  1001. package/src/components/kanban/examples/variants.tsx +0 -3
  1002. package/src/components/kbd/COMPONENT.md +10 -6
  1003. package/src/components/kbd/examples/examples.module.css +1 -20
  1004. package/src/components/kbd/examples/in-controls.tsx +2 -2
  1005. package/src/components/kbd/examples/shortcut-list.tsx +14 -26
  1006. package/src/components/label/COMPONENT.md +26 -11
  1007. package/src/components/label/examples/examples.module.css +3 -11
  1008. package/src/components/label/examples/overview.tsx +5 -9
  1009. package/src/components/label/examples/structure.tsx +2 -2
  1010. package/src/components/link-button/COMPONENT.md +33 -20
  1011. package/src/components/link-button/examples/as-child.tsx +1 -1
  1012. package/src/components/link-button/examples/external-link.tsx +1 -1
  1013. package/src/components/link-button/examples/overview.tsx +4 -2
  1014. package/src/components/link-button/examples/variants.tsx +2 -2
  1015. package/src/components/list/COMPONENT.md +24 -16
  1016. package/src/components/list/examples/examples.module.css +0 -8
  1017. package/src/components/list/examples/overflow.tsx +1 -1
  1018. package/src/components/list/examples/overview.tsx +31 -30
  1019. package/src/components/list/examples/sizes.tsx +23 -23
  1020. package/src/components/list/examples/states.tsx +38 -21
  1021. package/src/components/list/examples/with-icon.tsx +16 -14
  1022. package/src/components/login-form/COMPONENT.md +74 -20
  1023. package/src/components/login-form/examples/examples.module.css +2 -21
  1024. package/src/components/login-form/examples/forgot-password.tsx +28 -32
  1025. package/src/components/login-form/examples/narrow.tsx +2 -2
  1026. package/src/components/login-form/examples/overview.tsx +45 -47
  1027. package/src/components/login-form/examples/register.tsx +65 -69
  1028. package/src/components/login-form/examples/reset-password.tsx +50 -47
  1029. package/src/components/login-form/examples/sizes.tsx +4 -6
  1030. package/src/components/login-form/examples/states.tsx +53 -57
  1031. package/src/components/login-form/examples/structure.tsx +18 -22
  1032. package/src/components/login-form/examples/verification-code.tsx +41 -45
  1033. package/src/components/media-viewer/COMPONENT.md +13 -9
  1034. package/src/components/media-viewer/examples/dismiss.tsx +5 -1
  1035. package/src/components/media-viewer/examples/examples.module.css +2 -2
  1036. package/src/components/media-viewer/examples/video.tsx +1 -1
  1037. package/src/components/message/COMPONENT.md +106 -49
  1038. package/src/components/message/examples/file.tsx +5 -1
  1039. package/src/components/message/examples/media-open.tsx +48 -0
  1040. package/src/components/message/examples/status.tsx +21 -3
  1041. package/src/components/message/examples/text-formatting.tsx +7 -1
  1042. package/src/components/message/examples/typing.tsx +5 -5
  1043. package/src/components/modal/COMPONENT.md +71 -36
  1044. package/src/components/modal/examples/custom-container.tsx +20 -20
  1045. package/src/components/modal/examples/dismiss.tsx +38 -28
  1046. package/src/components/modal/examples/enter-key.tsx +113 -0
  1047. package/src/components/modal/examples/examples.module.css +4 -17
  1048. package/src/components/modal/examples/guard.tsx +2 -4
  1049. package/src/components/modal/examples/in-form.tsx +28 -28
  1050. package/src/components/modal/examples/long-content.tsx +6 -4
  1051. package/src/components/modal/examples/sizes.tsx +36 -31
  1052. package/src/components/modal/examples/structure.tsx +5 -2
  1053. package/src/components/native-select/COMPONENT.md +8 -4
  1054. package/src/components/native-select/examples/examples.module.css +3 -3
  1055. package/src/components/native-select/examples/in-form.tsx +28 -29
  1056. package/src/components/native-select/examples/sizes.tsx +2 -2
  1057. package/src/components/native-select/examples/states.tsx +7 -3
  1058. package/src/components/notification/COMPONENT.md +37 -32
  1059. package/src/components/notification/examples/dismiss.tsx +2 -2
  1060. package/src/components/notification/examples/examples.module.css +1 -2
  1061. package/src/components/notification/examples/in-form.tsx +28 -20
  1062. package/src/components/notification/examples/sizes.tsx +16 -12
  1063. package/src/components/notification/examples/undo.tsx +7 -15
  1064. package/src/components/page-content/COMPONENT.md +22 -29
  1065. package/src/components/page-content/examples/examples.module.css +3 -16
  1066. package/src/components/page-content/examples/grid.tsx +3 -1
  1067. package/src/components/page-content/examples/list-detail.tsx +55 -52
  1068. package/src/components/page-content/examples/narrow.tsx +1 -1
  1069. package/src/components/page-content/examples/overview.tsx +2 -2
  1070. package/src/components/page-content/examples/screen.module.css +27 -0
  1071. package/src/components/page-content/examples/screen.tsx +196 -0
  1072. package/src/components/page-content/examples/variants.tsx +10 -17
  1073. package/src/components/page-toolbar/COMPONENT.md +27 -21
  1074. package/src/components/page-toolbar/examples/narrow.tsx +6 -3
  1075. package/src/components/page-toolbar/examples/overview.tsx +1 -1
  1076. package/src/components/page-toolbar/examples/save-changes.tsx +25 -22
  1077. package/src/components/pagination/COMPONENT.md +20 -17
  1078. package/src/components/pagination/examples/controlled.tsx +29 -29
  1079. package/src/components/pagination/examples/examples.module.css +0 -2
  1080. package/src/components/pagination/examples/narrow.tsx +5 -5
  1081. package/src/components/popover/COMPONENT.md +43 -20
  1082. package/src/components/popover/examples/controlled-open.tsx +6 -4
  1083. package/src/components/popover/examples/dismiss.tsx +37 -28
  1084. package/src/components/popover/examples/examples.module.css +2 -2
  1085. package/src/components/popover/examples/sizes.tsx +32 -27
  1086. package/src/components/popover/examples/width.tsx +45 -0
  1087. package/src/components/progress-bar/COMPONENT.md +22 -30
  1088. package/src/components/progress-bar/examples/examples.module.css +1 -1
  1089. package/src/components/progress-bar/examples/segments.tsx +2 -2
  1090. package/src/components/progress-circle/COMPONENT.md +22 -30
  1091. package/src/components/progress-circle/examples/examples.module.css +1 -1
  1092. package/src/components/progress-circle/examples/on-color.tsx +16 -0
  1093. package/src/components/progress-circle/examples/segments.tsx +8 -3
  1094. package/src/components/progress-circle/examples/variants.tsx +1 -0
  1095. package/src/components/radio/COMPONENT.md +14 -4
  1096. package/src/components/radio/examples/examples.module.css +14 -0
  1097. package/src/components/radio/examples/in-form.tsx +45 -0
  1098. package/src/components/scroll-container/COMPONENT.md +19 -12
  1099. package/src/components/scroll-container/examples/auto-scroll.tsx +11 -7
  1100. package/src/components/scroll-container/examples/edges.tsx +10 -7
  1101. package/src/components/scroll-container/examples/examples.module.css +10 -67
  1102. package/src/components/scroll-container/examples/load-more.tsx +51 -0
  1103. package/src/components/scroll-container/examples/lock.tsx +7 -9
  1104. package/src/components/scroll-container/examples/log.tsx +97 -0
  1105. package/src/components/scroll-container/examples/overscroll.tsx +7 -7
  1106. package/src/components/scroll-container/examples/overview.tsx +8 -8
  1107. package/src/components/scroll-container/examples/scrollbar.tsx +17 -11
  1108. package/src/components/scroll-container/examples/snap.tsx +2 -2
  1109. package/src/components/scroll-container/examples/variants.tsx +14 -7
  1110. package/src/components/segmented-control/COMPONENT.md +26 -14
  1111. package/src/components/segmented-control/examples/controlled.tsx +2 -4
  1112. package/src/components/segmented-control/examples/examples.module.css +0 -8
  1113. package/src/components/segmented-control/examples/in-form.tsx +5 -1
  1114. package/src/components/segmented-control/examples/scroll.tsx +1 -1
  1115. package/src/components/segmented-control/examples/states.tsx +10 -1
  1116. package/src/components/select/COMPONENT.md +34 -10
  1117. package/src/components/select/examples/dismiss.tsx +26 -0
  1118. package/src/components/select/examples/examples.module.css +3 -8
  1119. package/src/components/select/examples/server-search.tsx +6 -2
  1120. package/src/components/select/examples/sizes.tsx +2 -2
  1121. package/src/components/select/examples/states.tsx +15 -3
  1122. package/src/components/select/examples/with-icon.tsx +20 -18
  1123. package/src/components/sheet/COMPONENT.md +46 -21
  1124. package/src/components/sheet/examples/guard.tsx +72 -0
  1125. package/src/components/sheet/examples/header-actions.tsx +75 -0
  1126. package/src/components/sheet/examples/overview.tsx +25 -10
  1127. package/src/components/skeleton/COMPONENT.md +8 -4
  1128. package/src/components/skeleton/examples/examples.module.css +1 -13
  1129. package/src/components/skeleton/examples/with-crossfade.tsx +7 -7
  1130. package/src/components/slider/COMPONENT.md +12 -6
  1131. package/src/components/slider/examples/examples.module.css +14 -7
  1132. package/src/components/slider/examples/hint-and-error.tsx +3 -5
  1133. package/src/components/slider/examples/in-form.tsx +49 -0
  1134. package/src/components/slider/examples/states.tsx +4 -1
  1135. package/src/components/smart-filter/COMPONENT.md +33 -13
  1136. package/src/components/smart-filter/examples/controlled.tsx +3 -3
  1137. package/src/components/smart-filter/examples/examples.module.css +0 -21
  1138. package/src/components/smart-filter/examples/ranges.tsx +45 -10
  1139. package/src/components/smart-filter/examples/sizes.tsx +2 -4
  1140. package/src/components/sparkline/COMPONENT.md +8 -4
  1141. package/src/components/sparkline/examples/examples.module.css +1 -1
  1142. package/src/components/sparkline/examples/reference.tsx +2 -1
  1143. package/src/components/sparkline/examples/signed-bars.tsx +2 -2
  1144. package/src/components/spinner/COMPONENT.md +15 -9
  1145. package/src/components/spinner/examples/examples.module.css +2 -14
  1146. package/src/components/spinner/examples/overview.tsx +1 -1
  1147. package/src/components/stepper/COMPONENT.md +50 -41
  1148. package/src/components/stepper/examples/examples.module.css +1 -6
  1149. package/src/components/stepper/examples/narrow.tsx +1 -1
  1150. package/src/components/stepper/examples/sizes.tsx +6 -8
  1151. package/src/components/stepper/examples/states.tsx +44 -43
  1152. package/src/components/stepper/examples/with-icon.tsx +19 -17
  1153. package/src/components/switch/COMPONENT.md +21 -8
  1154. package/src/components/switch/examples/examples.module.css +2 -2
  1155. package/src/components/switch/examples/states.tsx +3 -3
  1156. package/src/components/tabs/COMPONENT.md +22 -17
  1157. package/src/components/tabs/examples/in-drawer.tsx +1 -1
  1158. package/src/components/tabs/examples/sizes.tsx +6 -11
  1159. package/src/components/tabs/examples/variants.tsx +19 -23
  1160. package/src/components/tag-select/COMPONENT.md +20 -7
  1161. package/src/components/tag-select/examples/creatable.tsx +2 -2
  1162. package/src/components/tag-select/examples/dismiss.tsx +23 -0
  1163. package/src/components/tag-select/examples/examples.module.css +3 -3
  1164. package/src/components/tag-select/examples/in-form.tsx +31 -32
  1165. package/src/components/tag-select/examples/sizes.tsx +2 -2
  1166. package/src/components/tag-select/examples/states.tsx +10 -3
  1167. package/src/components/textarea/COMPONENT.md +11 -7
  1168. package/src/components/textarea/examples/examples.module.css +3 -16
  1169. package/src/components/textarea/examples/in-form.tsx +3 -11
  1170. package/src/components/textarea/examples/sizes.tsx +10 -7
  1171. package/src/components/textarea/examples/states.tsx +30 -13
  1172. package/src/components/textarea/examples/validation.tsx +45 -36
  1173. package/src/components/thumbnail/COMPONENT.md +19 -14
  1174. package/src/components/thumbnail/examples/examples.module.css +2 -2
  1175. package/src/components/thumbnail/examples/fit.tsx +24 -0
  1176. package/src/components/thumbnail/examples/states.tsx +1 -1
  1177. package/src/components/thumbnail/examples/variants.tsx +12 -1
  1178. package/src/components/thumbnail/examples/video.tsx +20 -1
  1179. package/src/components/timeline/COMPONENT.md +52 -36
  1180. package/src/components/timeline/examples/links.tsx +57 -16
  1181. package/src/components/timeline/examples/narrow.tsx +6 -6
  1182. package/src/components/timeline/examples/overview.tsx +6 -6
  1183. package/src/components/timeline/examples/sizes.tsx +28 -23
  1184. package/src/components/timeline/examples/structure.tsx +30 -30
  1185. package/src/components/timeline/examples/variants.tsx +40 -28
  1186. package/src/components/tooltip/COMPONENT.md +11 -7
  1187. package/src/components/tooltip/examples/examples.module.css +1 -5
  1188. package/src/components/tooltip/examples/non-interactive-trigger.tsx +1 -1
  1189. package/src/components/tooltip/examples/sizes.tsx +17 -10
  1190. package/src/components/tooltip/examples/toolbar.tsx +2 -2
  1191. package/src/components/typography/COMPONENT.md +17 -2
  1192. package/src/components/typography/examples/examples.module.css +3 -6
  1193. package/src/components/typography/examples/numeric.tsx +16 -0
  1194. package/src/components/typography/examples/weights.tsx +3 -0
  1195. package/src/components/video-note/COMPONENT.md +13 -9
  1196. package/src/components/video-note/examples/controlled.tsx +19 -2
  1197. package/src/components/video-note/examples/in-message.tsx +5 -2
  1198. package/src/components/visually-hidden/COMPONENT.md +10 -5
  1199. package/src/components/visually-hidden/examples/assertive.tsx +39 -0
  1200. package/src/components/visually-hidden/examples/overview.tsx +17 -7
  1201. package/src/components/voice-player/COMPONENT.md +17 -9
  1202. package/src/components/voice-player/examples/call-recording.tsx +19 -9
  1203. package/src/components/voice-player/examples/controlled.tsx +20 -3
  1204. package/src/layout/app-header/COMPONENT.md +65 -81
  1205. package/src/layout/app-header/examples/breadcrumbs.tsx +10 -9
  1206. package/src/layout/app-header/examples/examples.module.css +4 -23
  1207. package/src/layout/app-header/examples/in-app-shell.tsx +3 -6
  1208. package/src/layout/app-header/examples/narrow.tsx +58 -21
  1209. package/src/layout/app-header/examples/overview.tsx +8 -10
  1210. package/src/layout/app-header/examples/page-title.tsx +3 -10
  1211. package/src/layout/app-shell/COMPONENT.md +41 -10
  1212. package/src/layout/app-shell/examples/examples.module.css +2 -22
  1213. package/src/layout/app-shell/examples/footer.tsx +2 -2
  1214. package/src/layout/app-shell/examples/overview.tsx +18 -35
  1215. package/src/layout/app-shell/examples/screen.module.css +11 -0
  1216. package/src/layout/app-shell/examples/screen.tsx +268 -0
  1217. package/src/layout/app-shell/examples/template.tsx +32 -12
  1218. package/src/layout/bottom-nav/COMPONENT.md +27 -17
  1219. package/src/layout/bottom-nav/examples/examples.module.css +2 -7
  1220. package/src/layout/bottom-nav/examples/floating-action.tsx +2 -2
  1221. package/src/layout/bottom-nav/examples/floating.tsx +2 -2
  1222. package/src/layout/bottom-nav/examples/in-app-shell.tsx +2 -2
  1223. package/src/layout/bottom-nav/examples/router.tsx +6 -5
  1224. package/src/layout/sidebar/COMPONENT.md +55 -42
  1225. package/src/layout/sidebar/examples/account.tsx +3 -5
  1226. package/src/layout/sidebar/examples/brand-header.tsx +1 -3
  1227. package/src/layout/sidebar/examples/collapsible-groups.tsx +13 -7
  1228. package/src/layout/sidebar/examples/controlled-open.tsx +1 -3
  1229. package/src/layout/sidebar/examples/controlled.tsx +1 -3
  1230. package/src/layout/sidebar/examples/custom-part.tsx +51 -0
  1231. package/src/layout/sidebar/examples/dismiss.tsx +47 -0
  1232. package/src/layout/sidebar/examples/examples.module.css +10 -30
  1233. package/src/layout/sidebar/examples/narrow.tsx +55 -0
  1234. package/src/layout/sidebar/examples/nested-items.tsx +1 -3
  1235. package/src/layout/sidebar/examples/overview.tsx +1 -3
  1236. package/src/layout/sidebar/examples/persist.tsx +55 -0
  1237. package/src/layout/sidebar/examples/router.tsx +20 -9
  1238. package/src/layout/sidebar/examples/sizes.tsx +6 -6
  1239. package/src/layout/sidebar/examples/structure.tsx +7 -2
  1240. package/src/styles/controls.css +2 -2
  1241. package/src/styles/fonts.css +22 -0
  1242. package/src/styles/globals.css +89 -12
  1243. package/src/styles/theme-dark.css +13 -14
  1244. package/src/styles/theme-light.css +67 -23
  1245. package/src/styles/tokens.css +14 -4
  1246. package/dist/components/dnd/useFlipList.d.ts +0 -17
  1247. package/dist/components/gantt/useEdgeAutoScroll.d.ts +0 -12
  1248. package/dist/components/modal/ModalDialog.d.ts +0 -46
  1249. package/dist/hooks/useStateSwap.d.ts +0 -8
  1250. package/dist/internal/highlightTsxHtml.d.ts +0 -2
  1251. package/dist/internal/layoutPxFromPrimitives.d.ts +0 -6
  1252. package/dist/internal/mergeRefs.d.ts +0 -6
  1253. package/dist/skill/patterns/app-shell.tsx +0 -303
  1254. package/dist/skill/patterns/chat.module.css +0 -8
  1255. package/dist/skill/patterns/chat.tsx +0 -899
  1256. package/dist/skill/patterns/dashboard.tsx +0 -340
  1257. package/dist/skill/patterns/detail-page.tsx +0 -206
  1258. package/dist/skill/patterns/form-drawer.tsx +0 -240
  1259. package/dist/skill/patterns/kanban-board.module.css +0 -28
  1260. package/dist/skill/patterns/list-page.module.css +0 -19
  1261. package/dist/skill/patterns/media-library.tsx +0 -637
  1262. package/dist/skill/patterns/schedule.module.css +0 -22
  1263. package/dist/skill/patterns/screen-states.tsx +0 -187
  1264. package/dist/skill/reference/components/drawer/examples/examples.module.css +0 -21
  1265. package/dist/skill/reference/components/popover/examples/match-trigger-width.tsx +0 -23
  1266. package/dist/skill/reference/components/scroll-container/examples/chat.tsx +0 -101
  1267. package/dist/skill/reference/components/spinner/examples/loading-region.tsx +0 -22
  1268. package/src/components/drawer/examples/examples.module.css +0 -21
  1269. package/src/components/popover/examples/match-trigger-width.tsx +0 -23
  1270. package/src/components/scroll-container/examples/chat.tsx +0 -101
  1271. package/src/components/spinner/examples/loading-region.tsx +0 -22
  1272. /package/dist/skill/{patterns/dashboard.module.css → reference/components/card/examples/screen.module.css} +0 -0
  1273. /package/dist/skill/{patterns/form-drawer.module.css → reference/components/drawer/examples/screen.module.css} +0 -0
  1274. /package/dist/skill/{patterns/record-editor.module.css → reference/components/field-list/examples/screen.module.css} +0 -0
  1275. /package/dist/skill/{patterns/settings-page.module.css → reference/components/page-content/examples/screen.module.css} +0 -0
  1276. /package/dist/skill/{patterns/app-shell.module.css → reference/layout/app-shell/examples/screen.module.css} +0 -0
@@ -1,5 +1,5 @@
1
1
  /** Support request form: the description is checked on submit, its error leaves as soon as the text is long enough and does not shift the form, a sent request turns the button green — `required`, `error`, `reserveSupportRow`. */
2
- import { Button, Input, Textarea, Typography } from "prime-ui-kit";
2
+ import { Button, Fieldset, Input, Textarea } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
5
5
  import styles from "./examples.module.css";
@@ -23,15 +23,7 @@ export default function TextareaInFormExample() {
23
23
 
24
24
  return (
25
25
  <form className={styles.form} noValidate onSubmit={submit}>
26
- <div className={styles.formHeader}>
27
- <Typography as="h3" variant="title-m">
28
- Обращение в поддержку
29
- </Typography>
30
- <Typography as="p" variant="body-s" tone="secondary">
31
- Ответим в течение рабочего дня.
32
- </Typography>
33
- </div>
34
- <div className={styles.formFields}>
26
+ <Fieldset>
35
27
  <Input.Root label="Тема" required>
36
28
  <Input.Wrapper>
37
29
  <Input.Field name="subject" defaultValue="Не проходит оплата счёта" />
@@ -53,7 +45,7 @@ export default function TextareaInFormExample() {
53
45
  }}
54
46
  counter={<Textarea.Counter current={message.length} max={LIMIT} />}
55
47
  />
56
- </div>
48
+ </Fieldset>
57
49
  <div className={styles.formActions}>
58
50
  <Button.Root
59
51
  variant="ghost"
@@ -7,13 +7,16 @@ export default function TextareaSizesExample() {
7
7
  return (
8
8
  <>
9
9
  {SIZES.map((size) => (
10
- <Textarea.Root
11
- key={size}
12
- size={size}
13
- label={size}
14
- placeholder="Комментарий к заказу"
15
- hint="Курьер увидит этот текст"
16
- />
10
+ <div key={size}>
11
+ <div>
12
+ <Textarea.Root
13
+ size={size}
14
+ label={size}
15
+ placeholder="Комментарий к заказу"
16
+ hint="Курьер увидит этот текст"
17
+ />
18
+ </div>
19
+ </div>
17
20
  ))}
18
21
  </>
19
22
  );
@@ -1,21 +1,38 @@
1
- /** A default field next to a read-only and a disabled one — `readOnly`, `disabled`. */
1
+ /** A default field next to a read-only, a disabled and an invalid one with no message — `readOnly`, `disabled`, `invalid`. */
2
2
  import { Textarea } from "prime-ui-kit";
3
3
 
4
4
  export default function TextareaStatesExample() {
5
5
  return (
6
6
  <>
7
- <Textarea.Root label="default" placeholder="Причина возврата" />
8
- <Textarea.Root
9
- label="readOnly"
10
- readOnly
11
- defaultValue="Заявка закрыта 12 марта: товар принят на склад."
12
- />
13
- <Textarea.Root
14
- label="disabled"
15
- disabled
16
- placeholder="Причина возврата"
17
- hint="Станет доступно после выбора заказа"
18
- />
7
+ <div>
8
+ <div>
9
+ <Textarea.Root label="default" placeholder="Причина возврата" />
10
+ </div>
11
+ </div>
12
+ <div>
13
+ <div>
14
+ <Textarea.Root
15
+ label="readOnly"
16
+ readOnly
17
+ defaultValue="Заявка закрыта 12 марта: товар принят на склад."
18
+ />
19
+ </div>
20
+ </div>
21
+ <div>
22
+ <div>
23
+ <Textarea.Root
24
+ label="disabled"
25
+ disabled
26
+ placeholder="Причина возврата"
27
+ hint="Станет доступно после выбора заказа"
28
+ />
29
+ </div>
30
+ </div>
31
+ <div>
32
+ <div>
33
+ <Textarea.Root label="invalid" invalid defaultValue="Не подошёл размер" />
34
+ </div>
35
+ </div>
19
36
  </>
20
37
  );
21
38
  }
@@ -1,7 +1,9 @@
1
1
  /** Live validation: an error shakes the field as it arrives, drops in and leaves as soon as the text is fixed; required and optional markers, a hint and a support row that does not shift — `required`, `optional`, `hint`, `error`, `reserveSupportRow`. */
2
- import { Button, Textarea } from "prime-ui-kit";
2
+ import { Button, Fieldset, Textarea } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
5
+ import styles from "./examples.module.css";
6
+
5
7
  const MIN_REASON = 20;
6
8
 
7
9
  export default function TextareaValidationExample() {
@@ -9,42 +11,49 @@ export default function TextareaValidationExample() {
9
11
  const [comment, setComment] = React.useState("Оплата частями");
10
12
  const [commentError, setCommentError] = React.useState<string>();
11
13
 
12
- const send = () => setCommentError(/\d{3,}/.test(comment) ? undefined : "Укажите номер договора");
14
+ const send = (event: React.FormEvent<HTMLFormElement>) => {
15
+ event.preventDefault();
16
+ setCommentError(/\d{3,}/.test(comment) ? undefined : "Укажите номер договора");
17
+ };
13
18
 
14
19
  return (
15
- <>
16
- <Textarea.Root
17
- label="Описание задачи"
18
- required
19
- defaultValue="Подготовить акт сверки с поставщиком за третий квартал."
20
- hint="Исполнитель увидит его в карточке задачи"
21
- />
22
- <Textarea.Root
23
- label="Причина отказа"
24
- required
25
- value={reason}
26
- onValueChange={setReason}
27
- hint="Клиент получит её в письме"
28
- error={
29
- reason.trim().length < MIN_REASON
30
- ? `Опишите причину хотя бы в ${MIN_REASON} символах`
31
- : undefined
32
- }
33
- />
34
- <Textarea.Root
35
- label="Комментарий для бухгалтерии"
36
- optional
37
- reserveSupportRow
38
- value={comment}
39
- onValueChange={(value) => {
40
- setComment(value);
41
- setCommentError(undefined);
42
- }}
43
- error={commentError}
44
- />
45
- <Button.Root variant="soft" tone="neutral" onClick={send}>
46
- Отправить в бухгалтерию
47
- </Button.Root>
48
- </>
20
+ <form className={styles.form} noValidate onSubmit={send}>
21
+ <Fieldset>
22
+ <Textarea.Root
23
+ label="Описание задачи"
24
+ required
25
+ defaultValue="Подготовить акт сверки с поставщиком за третий квартал."
26
+ hint="Исполнитель увидит его в карточке задачи"
27
+ />
28
+ <Textarea.Root
29
+ label="Причина отказа"
30
+ required
31
+ value={reason}
32
+ onValueChange={setReason}
33
+ hint="Клиент получит её в письме"
34
+ error={
35
+ reason.trim().length < MIN_REASON
36
+ ? `Опишите причину хотя бы в ${MIN_REASON} символах`
37
+ : undefined
38
+ }
39
+ />
40
+ <Textarea.Root
41
+ label="Комментарий для бухгалтерии"
42
+ optional
43
+ reserveSupportRow
44
+ value={comment}
45
+ onValueChange={(value) => {
46
+ setComment(value);
47
+ setCommentError(undefined);
48
+ }}
49
+ error={commentError}
50
+ />
51
+ </Fieldset>
52
+ <div className={styles.formActions}>
53
+ <Button.Root type="submit" variant="soft" tone="neutral">
54
+ Отправить в бухгалтерию
55
+ </Button.Root>
56
+ </div>
57
+ </form>
49
58
  );
50
59
  }
@@ -41,7 +41,7 @@ Thumbnail.Root frame (a <div>; the child with asChild; a <button role="
41
41
 
42
42
  | Prop | Type | Default | Description |
43
43
  |---|---|---|---|
44
- | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Height 24 · 32 · 40 · 48 · 64 px, radius 4 · 6 · 8 · 8 · 12; width follows `ratio`. |
44
+ | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | host tier, else `"m"` | Height 24 · 32 · 40 · 48 · 64 px, radius 4 · 6 · 8 · 8 · 12; width follows `ratio`. Without it the tile takes the tier of its host, else `m`. |
45
45
  | `ratio` | `"1:1" \| "4:3" \| "3:2" \| "16:9" \| "3:4"` | `"1:1"` | Aspect ratio, width ÷ height. |
46
46
  | `color` | `"gray" \| "blue" \| "green" \| "orange" \| "red" \| "yellow" \| "purple" \| "sky" \| "pink" \| "teal"` | `"gray"` | Fallback fill and icon hue; a color that means something (category, vehicle color). |
47
47
  | `variant` | `"soft" \| "solid"` | `"soft"` | Fallback fill: a soft tint with a hue icon, or a solid hue with a contrasting icon. |
@@ -54,7 +54,7 @@ Thumbnail.Root frame (a <div>; the child with asChild; a <button role="
54
54
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "color" \| "defaultChecked" \| "onChange">` | — | `className`, `aria-label` + `role` for a fallback-only thumbnail, and the other attributes of the frame. |
55
55
 
56
56
  ### Thumbnail.Image
57
- `ref` → `HTMLImageElement`. The picture; hidden while it loads and after an error, so the Fallback shows through. A new `src` starts again. Loads lazily and decodes off the main thread (`loading="lazy"`, `decoding="async"`; pass either to override).
57
+ `ref` → `HTMLImageElement`. The picture; hidden while it loads and after an error, so the Fallback shows through. A new `src` fades in over the last one. Loads lazily and decodes off the main thread (`loading="lazy"`, `decoding="async"`; pass either to override).
58
58
 
59
59
  | Prop | Type | Default | Description |
60
60
  |---|---|---|---|
@@ -64,16 +64,16 @@ Thumbnail.Root frame (a <div>; the child with asChild; a <button role="
64
64
  | `…rest` | `Omit<ImgHTMLAttributes<HTMLImageElement>, "src" \| "alt">` | — | `className`, `onLoad`, `onError` and the other img attributes. |
65
65
 
66
66
  ### Thumbnail.Video
67
- `ref` → `HTMLVideoElement`. A video in the frame (`preload="metadata"`, `playsInline`); the Fallback shows until its first frame. Without `controls` it shows the duration, and a play mark while it is still (not looping, not playing).
67
+ `ref` → `HTMLVideoElement`. A video in the frame (`preload="metadata"`, `playsInline`); the Fallback shows until its first frame (with a `poster`, its metadata). Without `controls`: the duration pill and a play mark that fades while it plays.
68
68
 
69
69
  | Prop | Type | Default | Description |
70
70
  |---|---|---|---|
71
71
  | `src` | `string` | — (required) | Video URL. Without a `poster` the first frame is asked for (`#t=0.001` is added when the URL has no fragment). |
72
- | `poster` | `string` | — | A still shown before playing. |
72
+ | `poster` | `string` | — | A still shown before playing; with it the video counts as loaded once its metadata is in. |
73
73
  | `controls` | `boolean` | `false` | Native controls: a video message or a clip to watch in place; no play mark or duration of the kit. |
74
74
  | `autoPlay` | `boolean` | `false` | A GIF-like clip: plays muted, in a loop, inline. Off under `prefers-reduced-motion` (read once): the first frame stands still with the play mark. |
75
75
  | `fit` | `"cover" \| "contain"` | `"cover"` | `cover` crops to fill; `contain` letterboxes on the fallback fill. |
76
- | `formatDuration` | `(seconds: number) => string` | `m:ss (h:mm:ss from an hour)` | Display of the duration badge. |
76
+ | `formatDuration` | `(seconds: number) => string` | `m:ss` (`h:mm:ss` from an hour) | Display of the duration badge. |
77
77
  | `…rest` | `Omit<VideoHTMLAttributes<HTMLVideoElement>, "src" \| "poster" \| "controls" \| "autoPlay" \| "muted" \| "loop" \| "children">` | — | `className`, `aria-label`, `onLoadedData`, `onError` and the other video attributes. |
78
78
 
79
79
  ### Thumbnail.Fallback
@@ -132,26 +132,30 @@ Thumbnail.Root frame (a <div>; the child with asChild; a <button role="
132
132
  | loaded | image `load` | `data-status="loaded"`, the image fades in; Fallback `aria-hidden` |
133
133
  | error | image `error` | `data-status="error"`, image hidden, Fallback visible |
134
134
  | frame | props | `data-size`, `data-ratio`, `data-color`, `data-variant`, `data-full-width`, `data-ring` |
135
- | video loading | `Thumbnail.Video` mounted | `data-status="loading"` until the first frame (`loadeddata`), then `loaded`; `error` falls back like an image |
136
- | video still | no `controls`, not playing | a play mark in the centre (from `m`): the still media disk (`internal/mediaDisk`) — the look and size of the shade circle Button over media (40, a 20 glyph, `--prime-color-media-disk` under `--prime-media-disk-blur`), at 60% of a lower frame's height; the duration at the end corner (from `l` and `fullWidth`) on `--prime-color-media-shade` |
137
- | hover / press / focus | `asChild` or selectable | `data-interactive`: lift on `--prime-shadow-overlay` (`@media (hover: hover)`), scale 0.98 while pressed (`fast`), focus ring |
138
- | selected | `checked` | `aria-checked="true"`, `data-checked="true"`: an accent ring over the picture and a checked indicator; the indicator is always shown, never hover-only |
135
+ | video loading | `Thumbnail.Video` mounted | `data-status="loading"` until the first frame (`loadeddata`) — with a `poster`, until its metadata (`loadedmetadata`) — then `loaded`; `error` falls back like an image |
136
+ | video still / playing | no `controls`, not looping | a play mark in the centre (from `m`): the still media disk (`internal/mediaDisk`) — the look and size of the shade circle Button over media (the control `l` height, a glyph of half of it, `--prime-color-media-disk` under `--prime-media-disk-blur`), at 60% of a lower frame's height; it fades and shrinks away while the video plays (`data-shown="false"`) and comes back on a pause. The duration at the end corner (from `l` and `fullWidth`) is the media pill (`internal/mediaPill`) |
137
+ | hover / press / focus | `asChild` or selectable | `data-interactive`: lift on `--prime-shadow-overlay` (`@media (hover: hover)`), the kit's press (`--prime-motion-press-scale`, `fast`), focus ring |
138
+ | selected | `checked` · `defaultChecked` | `aria-checked="true"`, `data-checked="true"`: an accent ring over the picture and a checked indicator; the indicator is always shown, never hover-only |
139
139
 
140
140
  ## Layout & spacing
141
- - Thumbnail + text in a row: flex, `align-items: center`, gap `--prime-space-3`; the text column `min-width: 0` with `truncate`.
141
+ - Thumbnail + text in a row: flex, `align-items: center`, the row's gap; the text column `min-width: 0` with `truncate`.
142
142
  - In a table the row grows to the thumbnail; never shrink the thumbnail to the row.
143
- - Card covers: `fullWidth` inside the card body, gap `--prime-space-3` to the title.
143
+ - Card covers: `fullWidth` inside the card body, the body's gap to the title.
144
144
  - No outline by default: the fill separates the preview.
145
145
 
146
146
  ## Accessibility
147
147
 
148
148
  ### Keyboard
149
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
150
+
149
151
  | Key | Action |
150
152
  |---|---|
151
153
  | `Tab` | Focuses a pressable (`asChild`) or selectable tile; a plain thumbnail takes no focus. |
152
154
  | `Enter` · `Space` | Opens the object (`asChild`) or toggles a selectable tile. |
153
155
 
154
156
  ### ARIA
157
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
158
+
155
159
  - Next to a name the thumbnail is decorative: keep `alt=""` (default) and mark fallback icons `aria-hidden`.
156
160
  - Alone: give `Thumbnail.Image` a descriptive `alt`, or `role="img"` + `aria-label` on Root for a fallback-only thumbnail.
157
161
  - A preview that opens the object is `asChild` on a `<button>` or `<a>`; name it (`aria-label`) when the picture is all it shows.
@@ -169,11 +173,12 @@ No `labels`.
169
173
  | [overview.tsx](examples/overview.tsx) | A vehicle next to its name: the photo with an icon fallback underneath — `Thumbnail.Image`, `Thumbnail.Fallback`, `ratio`. |
170
174
  | [variants.tsx](examples/variants.tsx) | The fallback fill: a soft tint or a solid hue, in a color that means something — `variant`, `color`. |
171
175
  | [sizes.tsx](examples/sizes.tsx) | Every height tier, 24 to 64 px; `m` fits a two-line table cell — `size`. |
172
- | [states.tsx](examples/states.tsx) | No image (an icon or a short label on the fill) and an image that fails and falls back by itself. |
176
+ | [states.tsx](examples/states.tsx) | No image (an icon or a short label on the fill) and an image that fails and falls back by itself — `Thumbnail.Fallback`, `Thumbnail.Image`. |
173
177
  | [ratios.tsx](examples/ratios.tsx) | Every aspect ratio at the same height; keep one ratio per list — `ratio`. |
178
+ | [fit.tsx](examples/fit.tsx) | A supplier's wide banner in a square frame: cropped to fill or shown whole on the fill — `fit`. |
174
179
  | [ring.tsx](examples/ring.tsx) | A faint inner ring for a white-background photo on a light surface, where the edge would vanish — `ring`. |
175
180
  | [full-width.tsx](examples/full-width.tsx) | Covers in a card grid take the card width and keep 16:9, so every cover has one height — `fullWidth`. |
176
- | [video.tsx](examples/video.tsx) | Videos in the frame: a walkthrough without a poster shows its first frame, a play mark and the duration; a short clip loops muted like a GIF; a video message plays in place with its controls — `Thumbnail.Video`, `autoPlay`, `controls`. |
181
+ | [video.tsx](examples/video.tsx) | Videos in the frame: a walkthrough without a poster shows its first frame, a play mark and the duration; a briefing shows its poster and its own duration format; a short clip loops muted like a GIF; a video message plays in place with its controls — `Thumbnail.Video`, `poster`, `formatDuration`, `autoPlay`, `controls`. |
177
182
  | [pressable.tsx](examples/pressable.tsx) | Photos of a delivery that open a viewer: the frame is put on a button, so it lifts on hover, presses and takes the focus ring — `asChild`. |
178
183
  | [controlled.tsx](examples/controlled.tsx) | A media library picks photos for a listing: each tile is a checkbox with its check in the corner, the selection lives in the parent and a button clears it — `checked`, `onCheckedChange`. |
179
184
 
@@ -187,5 +192,5 @@ No `labels`.
187
192
  - A bare `<video>` sized in CSS next to thumbnails → `Thumbnail.Video` in the same frame.
188
193
 
189
194
  ## Related
190
- - **Built from:** [Checkbox](../checkbox/COMPONENT.md) (`Checkbox.Indicator` of a selectable tile), `internal/mediaDisk` (the play mark, one look with the shade circle [Button](../button/COMPONENT.md))
195
+ - **Built from:** [Checkbox](../checkbox/COMPONENT.md) (`Checkbox.Indicator` of a selectable tile), `internal/mediaDisk` (the play mark, one look with the shade circle Button), `internal/mediaPill` (the duration), `internal/imageSlot` (the picture and its fallback; a new picture cross-fades over the last), `internal/press` (the press of a pressable tile)
191
196
  - **See also:** [Avatar](../avatar/COMPONENT.md), [Card](../card/COMPONENT.md), [DataTable](../data-table/COMPONENT.md), [Select](../select/COMPONENT.md), [FileUpload](../file-upload/COMPONENT.md) (`FileUpload.ItemPreview` is a Thumbnail; its tiles draw videos with `Thumbnail.Video`)
@@ -1,6 +1,6 @@
1
1
  /* Layout of the Thumbnail scenarios: semantic tokens only. */
2
2
 
3
- /* ratios.tsx, ring.tsx: thumbnails with captions in one line. */
3
+ /* ratios.tsx, fit.tsx, ring.tsx: thumbnails with captions in one line. */
4
4
  .row {
5
5
  display: flex;
6
6
  flex-wrap: wrap;
@@ -20,7 +20,7 @@
20
20
  display: flex;
21
21
  align-items: center;
22
22
  gap: var(--prime-space-3);
23
- width: min(100%, var(--prime-modal-width-s));
23
+ width: min(100%, var(--prime-layout-form-width-s));
24
24
  min-width: 0;
25
25
  }
26
26
 
@@ -0,0 +1,24 @@
1
+ /** A supplier's wide banner in a square frame: cropped to fill or shown whole on the fill — `fit`. */
2
+ import { Thumbnail, Typography } from "prime-ui-kit";
3
+
4
+ import styles from "./examples.module.css";
5
+
6
+ const BANNER = "https://picsum.photos/seed/supplier-banner/480/160";
7
+ const FITS = ["cover", "contain"] as const;
8
+
9
+ export default function ThumbnailFitExample() {
10
+ return (
11
+ <div className={styles.row}>
12
+ {FITS.map((fit) => (
13
+ <div key={fit} className={styles.cell}>
14
+ <Thumbnail.Root size="xl" color="gray">
15
+ <Thumbnail.Image src={BANNER} fit={fit} alt="Ферма поставщика «Северное хозяйство»" />
16
+ </Thumbnail.Root>
17
+ <Typography as="span" variant="caption" tone="muted">
18
+ {fit}
19
+ </Typography>
20
+ </div>
21
+ ))}
22
+ </div>
23
+ );
24
+ }
@@ -1,4 +1,4 @@
1
- /** No image (an icon or a short label on the fill) and an image that fails and falls back by itself. */
1
+ /** No image (an icon or a short label on the fill) and an image that fails and falls back by itself — `Thumbnail.Fallback`, `Thumbnail.Image`. */
2
2
  import { Icon, Thumbnail, Typography } from "prime-ui-kit";
3
3
 
4
4
  export default function ThumbnailStatesExample() {
@@ -1,7 +1,18 @@
1
1
  /** The fallback fill: a soft tint or a solid hue, in a color that means something — `variant`, `color`. */
2
2
  import { Icon, Thumbnail, Typography } from "prime-ui-kit";
3
3
 
4
- const COLORS = ["gray", "blue", "green", "orange", "red"] as const;
4
+ const COLORS = [
5
+ "gray",
6
+ "blue",
7
+ "green",
8
+ "orange",
9
+ "red",
10
+ "yellow",
11
+ "purple",
12
+ "sky",
13
+ "pink",
14
+ "teal",
15
+ ] as const;
5
16
  const VARIANTS = ["soft", "solid"] as const;
6
17
 
7
18
  export default function ThumbnailVariantsExample() {
@@ -1,9 +1,12 @@
1
- /** Videos in the frame: a walkthrough without a poster shows its first frame, a play mark and the duration; a short clip loops muted like a GIF; a video message plays in place with its controls — `Thumbnail.Video`, `autoPlay`, `controls`. */
1
+ /** Videos in the frame: a walkthrough without a poster shows its first frame, a play mark and the duration; a briefing shows its poster and its own duration format; a short clip loops muted like a GIF; a video message plays in place with its controls — `Thumbnail.Video`, `poster`, `formatDuration`, `autoPlay`, `controls`. */
2
2
  import { Icon, Thumbnail, Typography } from "prime-ui-kit";
3
3
 
4
4
  import styles from "./examples.module.css";
5
5
 
6
6
  const CLIP = "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4";
7
+ const POSTER = "https://picsum.photos/seed/safety-briefing/640/360";
8
+
9
+ const formatSeconds = (seconds: number) => `${Math.round(seconds)} с`;
7
10
 
8
11
  export default function ThumbnailVideoExample() {
9
12
  return (
@@ -19,6 +22,22 @@ export default function ThumbnailVideoExample() {
19
22
  Обход склада · без обложки
20
23
  </Typography>
21
24
  </div>
25
+ <div className={styles.cardContent}>
26
+ <Thumbnail.Root fullWidth ratio="16:9">
27
+ <Thumbnail.Video
28
+ src={CLIP}
29
+ poster={POSTER}
30
+ formatDuration={formatSeconds}
31
+ aria-label="Инструктаж по технике безопасности"
32
+ />
33
+ <Thumbnail.Fallback>
34
+ <Icon name="action.play" />
35
+ </Thumbnail.Fallback>
36
+ </Thumbnail.Root>
37
+ <Typography variant="caption" tone="muted">
38
+ Инструктаж · обложка, длительность в секундах
39
+ </Typography>
40
+ </div>
22
41
  <div className={styles.cardContent}>
23
42
  <Thumbnail.Root fullWidth ratio="16:9">
24
43
  <Thumbnail.Video src={CLIP} autoPlay aria-label="Как собрать заказ, ролик" />
@@ -23,16 +23,15 @@ import { Timeline } from "prime-ui-kit";
23
23
 
24
24
  ## Anatomy
25
25
  ```
26
- Timeline.Root size container, sets the tier
27
- └─ Timeline.Group label labelled <ol>; the line runs from its first dot to its last
26
+ Timeline.Root size container, sets the tier (size, else the host tier)
27
+ └─ Timeline.Group label labelled <ol role="list">; the line runs from its first dot to its last
28
28
  ├─ Timeline.Item <li> + row (div | button | a | asChild element) with the dot
29
- │ ├─ Timeline.Title first line
30
- │ ├─ Timeline.Meta second line (date)
31
- │ │ └─ Timeline.MetaPrimary emphasized part
32
- │ └─ Timeline.Value trailing amount
33
- │ └─ Timeline.ValueMeta second line under the amount
29
+ │ ├─ Timeline.ItemTitle first line
30
+ │ ├─ Timeline.ItemMeta second line (date); <strong> emphasizes a part
31
+ │ └─ Timeline.ItemValue trailing amount
32
+ │ └─ Timeline.ItemMeta second line under the amount
34
33
  └─ Timeline.Gap <li>: interval between events (dashed segment, hollow dot)
35
- └─ Timeline.GapMeta caption on the right («сейчас»)
34
+ └─ Timeline.Description caption on the right («сейчас»)
36
35
  ```
37
36
 
38
37
  ## API
@@ -44,8 +43,10 @@ Timeline.Root size container, sets the tier
44
43
 
45
44
  | Prop | Type | Default | Description |
46
45
  |---|---|---|---|
47
- | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Text, dot and row rhythm: rows 40 · 52 · 64 · 68 · 76 px. |
48
- | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `children` (`Timeline.Group`), `className` and the other div attributes. |
46
+ | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | host tier, else `"m"` | Text, dot and row rhythm: rows 40 · 52 · 64 · 68 · 76 px, dot column → text 8 · 12 · 16 · 16 · 20 px. Without it the tier of its host, else `m`. |
47
+ | `children` | `ReactNode` | — (required) | The `Timeline.Group`s. |
48
+ | `className` | `string` | — | Class on the element. |
49
+ | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | The other div attributes. |
49
50
 
50
51
  ### Timeline.Group
51
52
  `ref` → `HTMLOListElement`. A labelled `<ol>` of events; the line runs from its first dot to its last.
@@ -53,10 +54,12 @@ Timeline.Root size container, sets the tier
53
54
  | Prop | Type | Default | Description |
54
55
  |---|---|---|---|
55
56
  | `label` | `ReactNode` | — | Group heading («Недавно»); names the list via `aria-labelledby`. |
56
- | `…rest` | `Omit<OlHTMLAttributes<HTMLOListElement>, "children">` | — | `children` (`Timeline.Item`, `Timeline.Gap`), `className` and the other ol attributes. |
57
+ | `children` | `ReactNode` | — (required) | `Timeline.Item` and `Timeline.Gap` rows. |
58
+ | `className` | `string` | — | Class on the element. |
59
+ | `…rest` | `Omit<OlHTMLAttributes<HTMLOListElement>, "children">` | — | The other ol attributes. |
57
60
 
58
61
  ### Timeline.Item
59
- `ref` → the row element. An `<li>` with a row: `<div>`, `<button>` (`onClick`), `<a>` (`href`) or your element (`asChild`); the dot is prepended. The row under the pointer or keyboard focus is highlighted (pill, accent title and dot).
62
+ `ref` → the row element. An `<li>` with a row: `<div>`, `<button>` (`onClick`), `<a>` (`href`) or your element (`asChild`); the dot is prepended. The row under the pointer or keyboard focus is highlighted (pill, accent title and dot); an interactive row gives under the press.
60
63
 
61
64
  | Prop | Type | Default | Description |
62
65
  |---|---|---|---|
@@ -65,22 +68,28 @@ Timeline.Root size container, sets the tier
65
68
  | `onClick` | `MouseEventHandler<HTMLElement>` | — | Renders the row as a `<button>`. |
66
69
  | `href` | `string` | — | Renders the row as a link (with `target`, `rel`, `download`). |
67
70
  | `asChild` | `boolean` | `false` | Renders the row as the single child element (a router link). |
68
- | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "children" \| "color" \| "onClick">` | — | `children` (Title, Meta, Value), `className` and the other row attributes. |
71
+ | `children` | `ReactNode` | — (required) | `Timeline.ItemTitle`, `Timeline.ItemMeta`, `Timeline.ItemValue`. |
72
+ | `className` | `string` | — | Class on the element. |
73
+ | `…rest` | `Omit<HTMLAttributes<HTMLElement>, "children" \| "color" \| "onClick">` | — | The other row attributes (`target`, `rel`, `download` with `href`). |
69
74
 
70
- ### Timeline.Title · Timeline.Meta · Timeline.MetaPrimary
71
- `ref` → `HTMLSpanElement`. `<span>` lines: the event (medium, accent on the highlighted row, wraps), the muted date line with tabular numbers, and its emphasized part.
75
+ ### Timeline.ItemTitle · Timeline.ItemMeta
76
+ `ref` → `HTMLSpanElement`. `<span>` lines: the event (medium, accent on the highlighted row, wraps) and the muted secondary line with tabular numbers — under the title the date (emphasize a part with `<strong>`), inside `Timeline.ItemValue` the value's second line.
72
77
 
73
78
  | Prop | Type | Default | Description |
74
79
  |---|---|---|---|
75
- | `…rest` | `HTMLAttributes<HTMLSpanElement>` | — | `children`, `className` and the other span attributes. |
80
+ | `children` | `ReactNode` | — (required) | The text of the line. |
81
+ | `className` | `string` | — | Class on the element. |
82
+ | `…rest` | `Omit<HTMLAttributes<HTMLSpanElement>, "children">` | — | The other span attributes. |
76
83
 
77
- ### Timeline.Value · Timeline.ValueMeta
78
- `ref` → `HTMLSpanElement`. `<span>`: the trailing amount (right-aligned, tabular) and a muted second line under it. Moves under the meta below 20rem.
84
+ ### Timeline.ItemValue
85
+ `ref` → `HTMLSpanElement`. A `<span>` with the trailing amount (right-aligned, tabular), a `Timeline.ItemMeta` inside under it. Moves under the meta below 20rem.
79
86
 
80
87
  | Prop | Type | Default | Description |
81
88
  |---|---|---|---|
82
- | `tone` | `"neutral" \| "accent" \| "success" \| "warning" \| "danger" \| "info"` | `"neutral"` | Value: text color (income `success`, refund `danger`). |
83
- | `…rest` | `HTMLAttributes<HTMLSpanElement>` | — | `children`, `className` and the other span attributes. |
89
+ | `tone` | `"neutral" \| "accent" \| "success" \| "warning" \| "danger" \| "info"` | `"neutral"` | Text color (income `success`, refund `danger`). |
90
+ | `children` | `ReactNode` | — (required) | The amount. |
91
+ | `className` | `string` | — | Class on the element. |
92
+ | `…rest` | `Omit<HTMLAttributes<HTMLSpanElement>, "children">` | — | The other span attributes. |
84
93
 
85
94
  ### Timeline.Gap
86
95
  `ref` → `HTMLDivElement`. An `<li>` interval between events: a shorter row with a hollow dot on a dashed segment and a muted caption.
@@ -88,10 +97,12 @@ Timeline.Root size container, sets the tier
88
97
  | Prop | Type | Default | Description |
89
98
  |---|---|---|---|
90
99
  | `tone` | `"neutral" \| "accent" \| "success" \| "warning" \| "danger" \| "info"` | `"neutral"` | Caption and dot color; `warning` / `danger` flag a long interval. |
91
- | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `children` (the interval caption and an optional `Timeline.GapMeta`), `className` and the other div attributes. |
100
+ | `children` | `ReactNode` | — (required) | The interval caption and an optional `Timeline.Description`. |
101
+ | `className` | `string` | — | Class on the element. |
102
+ | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | The other div attributes. |
92
103
 
93
- ### Timeline.GapMeta
94
- `ref` → `HTMLSpanElement`. A caption on the right of the gap («сейчас»), in the gap tone.
104
+ ### Timeline.Description
105
+ `ref` → `HTMLSpanElement`. The secondary caption of a gap, at its end («сейчас»), in the gap tone.
95
106
 
96
107
  | Prop | Type | Default | Description |
97
108
  |---|---|---|---|
@@ -102,10 +113,10 @@ Timeline.Root size container, sets the tier
102
113
  ### size
103
114
  | Value | Looks like | Use when | Default |
104
115
  |---|---|---|---|
105
- | `xs` | rows 40, title 12/16, dot 8 | very dense side panels | |
106
- | `s` | rows 52, title 13/20 | side panels, drawers | |
107
- | `m` | rows 64, title 14/20, dot 10 | page content and cards | yes |
108
- | `l` · `xl` | rows 68 / 76, title 16/24, dot 12 | spacious feeds, detail pages | |
116
+ | `xs` | rows 40, title 12/16, dot 8, dot column → text 8 | very dense side panels | |
117
+ | `s` | rows 52, title 13/20, dot column → text 12 | side panels, drawers | |
118
+ | `m` | rows 64, title 14/20, dot 10, dot column → text 16 | page content and cards | yes |
119
+ | `l` · `xl` | rows 68 / 76, title 16/24, dot 12, dot column → text 16 / 20 | spacious feeds, detail pages | |
109
120
 
110
121
  ### color (Item)
111
122
  | Value | Looks like | Use when | Default |
@@ -113,10 +124,10 @@ Timeline.Root size container, sets the tier
113
124
  | `blue` | blue dot at reduced emphasis | default category | yes |
114
125
  | `gray` · `green` · `orange` · `red` · `yellow` · `purple` · `sky` · `pink` · `teal` | dot in the hue | categories | |
115
126
 
116
- ### tone (Item · Value · Gap)
127
+ ### tone (Item · ItemValue · Gap)
117
128
  | Value | Looks like | Use when | Default |
118
129
  |---|---|---|---|
119
- | `neutral` | muted dot / primary value / muted gap caption | a status without meaning | Value, Gap |
130
+ | `neutral` | muted dot / primary value / muted gap caption | a status without meaning | ItemValue, Gap |
120
131
  | `accent` | accent | a pending action | |
121
132
  | `success` | success | paid, income | |
122
133
  | `warning` | warning | overdue, a too-long interval | |
@@ -131,26 +142,31 @@ On an Item `tone` wins over `color` and shows at full emphasis.
131
142
  | tier | `size` | `data-size` on the root |
132
143
  | highlighted | pointer over the row, keyboard focus | `:hover`, `:focus-visible`: `fill-subtle-active` pill, accent title and dot (a `tone` keeps its dot) |
133
144
  | dot color | `color` / `tone` | `data-color` (without a tone) or `data-tone` |
134
- | interactive | `onClick`, `href`, `asChild` | `data-interactive`; pointer cursor, inset focus ring |
145
+ | interactive | `onClick`, `href`, `asChild` | `data-interactive`; pointer cursor, inset focus ring, the touch row height (`touchTargetRowClass`) |
146
+ | pressed | pointer or key down on an interactive row | the row gives (`press`: scale over `fast`), back on release |
135
147
 
136
148
  Timeline keeps no state and has no persistent selection: every row is highlighted only while it is under the pointer or focused.
137
149
 
138
150
  ## Layout & spacing
139
151
  - The root is a size container: give it a definite width (`width: min(100%, 30rem)`).
140
- - Row grid: dot column · text · value; below 20rem of root width the value moves under the meta line.
152
+ - Row grid: dot column · text · value; the dot column and the text stand 8 · 12 · 16 · 16 · 20 apart by tier (`--tl-gap`); below 20rem of root width the value moves under the meta line.
141
153
  - Rows touch so the line is continuous; group → group `--prime-space-4`.
142
154
  - Inside a Card put it in `Card.Body`; the card owns the padding.
143
155
 
144
156
  ## Accessibility
145
157
 
146
158
  ### Keyboard
159
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
160
+
147
161
  | Key | Action |
148
162
  |---|---|
149
163
  | `Tab` | Interactive rows are one Tab stop each; the focus ring is drawn inside the row. |
150
164
  | `Enter` · `Space` | Activates a button row; Enter opens a link row. |
151
165
 
152
166
  ### ARIA
153
- - Each group is an `<ol>` labelled by its heading (`aria-labelledby`); events are `<li>`.
167
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
168
+
169
+ - Each group is an `<ol role="list">` labelled by its heading (`aria-labelledby`); events are `<li>`. The role keeps the list semantics that WebKit drops under `list-style: none`.
154
170
  - The dot is `aria-hidden`: put the status into the title or meta, not only the dot color.
155
171
 
156
172
  ### Labels
@@ -161,12 +177,12 @@ No `labels`.
161
177
  ## Examples
162
178
  | Example | Shows |
163
179
  |---|---|
164
- | [overview.tsx](examples/overview.tsx) | An operations feed: one labelled group, a line through the dots, the row under the pointer highlighted — `Timeline.Group`, `Timeline.Value`. |
180
+ | [overview.tsx](examples/overview.tsx) | An operations feed: one labelled group, a line through the dots, the row under the pointer highlighted — `Timeline.Group`, `Timeline.ItemValue`. |
165
181
  | [variants.tsx](examples/variants.tsx) | Dot hues for categories at reduced emphasis, and status tones on items, values and gaps at full emphasis — `color`, `tone`. |
166
182
  | [sizes.tsx](examples/sizes.tsx) | Every tier scales text, dot and row rhythm, rows 40 to 76 px — `size`. |
167
- | [structure.tsx](examples/structure.tsx) | A service history with intervals between events, a caption on the right of a gap and a second value line — `Timeline.Gap`, `Timeline.GapMeta`, `Timeline.ValueMeta`. |
168
- | [links.tsx](examples/links.tsx) | Rows that open an operation page become links, one Tab stop each with a focus ring — `href`. |
169
- | [narrow.tsx](examples/narrow.tsx) | At 375 px the title wraps and the amount stays right; below 20rem of its own width the amount moves under the meta line. |
183
+ | [structure.tsx](examples/structure.tsx) | A service history with intervals between events, a caption on the right of a gap and a second value line — `Timeline.Gap`, `Timeline.Description`, `Timeline.ItemMeta`. |
184
+ | [links.tsx](examples/links.tsx) | Rows that open something: an operation page by a link or by your router link through the slot, a receipt in place by a button; one Tab stop each with a focus ring — `href`, `asChild`, `onClick`. |
185
+ | [narrow.tsx](examples/narrow.tsx) | At 375 px the title wraps and the amount stays right; below 20rem of its own width the amount moves under the meta line — `Timeline.ItemValue`. |
170
186
 
171
187
  ## Mistakes
172
188
  - `Timeline.Item` outside `Timeline.Group` → items are `<li>`; always wrap them in a group.