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
@@ -21,9 +21,11 @@ import { ExampleFrame } from "prime-ui-kit";
21
21
 
22
22
  ## Anatomy
23
23
  ```
24
- ExampleFrame frame: toolbar + preview stage or code pane
24
+ ExampleFrame frame: toolbar + the pane (a region swap between preview and code)
25
25
  ├─ (toolbar) SegmentedControl Preview / Code, theme Button, copy Button, device SegmentedControl
26
- └─ (stage) children, laid out by previewLayout
26
+ └─ (pane)
27
+ ├─ (stage) preview: a sideways ScrollContainer with children, laid out by previewLayout
28
+ └─ (code pane) code: a focusable ScrollContainer section with the CodeBlock
27
29
  ```
28
30
 
29
31
  ## API
@@ -36,7 +38,7 @@ ExampleFrame frame: toolbar + preview stage or code pane
36
38
  | Prop | Type | Default | Description |
37
39
  |---|---|---|---|
38
40
  | `code` | `string` | — (required) | Source shown on the code pane (TS / TSX highlighting via CodeBlock) and copied by the copy button. |
39
- | `previewLayout` | `"default" \| "stack" \| "stack-narrow" \| "full" \| "row" \| "matrix"` | `"default"` | How the preview lays out its children, so snippets need no wrapper divs (see Variants). |
41
+ | `previewLayout` | `"default" \| "stack" \| "stack-narrow" \| "full" \| "row" \| "matrix" \| "matrix-wide"` | `"default"` | How the preview lays out its children, so snippets need no wrapper divs (see Variants). |
40
42
  | `viewport` | `"desktop" \| "tablet" \| "mobile"` | — | Preview width (controlled). |
41
43
  | `defaultViewport` | `"desktop" \| "tablet" \| "mobile"` | `"desktop"` | Initial preview width (uncontrolled). |
42
44
  | `onViewportChange` | `(viewport: "desktop" \| "tablet" \| "mobile") => void` | — | Called with the new width from the device switch. |
@@ -55,11 +57,12 @@ ExampleFrame frame: toolbar + preview stage or code pane
55
57
  | Value | Looks like | Use when | Default |
56
58
  |---|---|---|---|
57
59
  | `default` | single block centered in the stage | one component | yes |
58
- | `stack` | centered column, gap 16, children capped at 640px (`10 × --prime-space-16`) so `width: 100%` blocks stay centered; a child with `fullWidth` or a table stretches | several blocks one under another | |
60
+ | `stack` | centered column, gap 16, children capped at the stack measure (`10 × --prime-space-16`) so `width: 100%` blocks stay centered; a child with `fullWidth` or a table stretches | several blocks one under another | |
59
61
  | `stack-narrow` | column, children capped at `7 × --prime-space-16` and centered | forms and narrow columns | |
60
62
  | `full` | column, gap 16, every child takes the whole stage width | page structure: app shells, page regions | |
61
63
  | `row` | centered wrapping row, gap 12, extra vertical padding | a few buttons or controls side by side | |
62
- | `matrix` | centered grid of labelled cells: each direct child is a row, its children are cells (specimen above its caption); columns (up to 12) line up across rows, are never narrower than their content and grow to 320 / 160 / 128px for 1 / 2 / 3+ columns, so width-less specimens (Slider, `width: 100%` blocks) get a real cell; scrolls when wider than the stage | variant, size and state matrices | |
64
+ | `matrix` | centered grid of labelled cells: each direct child is a row, its children are cells (specimen above its caption); columns (up to 12) line up across rows, are never narrower than their content and grow to 320 / 160 / 128px for 1 / 2 / 3+ columns, so width-less specimens (Slider, `width: 100%` blocks) get a real cell; centered vertically too; when the grid is wider than the stage (a phone frame) each row wraps its cells, centered (`data-matrix-wrap` on the stage) | variant, size and state matrices | |
65
+ | `matrix-wide` | the same rows of labelled cells, one cell under another, each as wide as the stage up to the stack measure (`10 × --prime-space-16`), the caption under the specimen | matrices of specimens as wide as their container: tabs, toolbars, tables | |
63
66
 
64
67
  ### viewport
65
68
  | Value | Looks like | Use when | Default |
@@ -74,12 +77,17 @@ ExampleFrame frame: toolbar + preview stage or code pane
74
77
  | `light` | stage and code pane in the light theme | default | yes |
75
78
  | `dark` | stage and code pane in the dark theme (`data-theme="dark"`), switched without color transitions | checking dark mode | |
76
79
 
80
+ ### Flags
81
+ | Value | Looks like | Use when | Default |
82
+ |---|---|---|---|
83
+ | `showThemeToggle` | the light / dark button in the toolbar; off, the frame keeps its `colorScheme` and shows no toggle | a page that owns the theme of its frames, or a demo that only reads in one scheme | on |
84
+
77
85
  Frame look: the chrome is a layer of the surface ladder (`data-depth`, one above its host) with a `border-subtle` hairline and `radius-xl`; the stage and code pane are wells with `radius-l` (16 − 4 padding = 12). Both wells carry `data-theme`, so each is a page of its own: layer 0 of its scheme, and surfaces in the example count from there.
78
86
 
79
87
  ## States
80
88
  | State | Driven by | DOM |
81
89
  |---|---|---|
82
- | pane | toolbar switch (internal, starts at Preview) | preview stage or code pane is rendered; the device switch shows only with the preview |
90
+ | pane | toolbar switch (internal, starts at Preview) | preview stage or code pane is rendered; the switch cross-fades the two and glides the height (`internal/RegionSwap`); the device switch shows only with the preview |
83
91
  | viewport | `viewport` / `defaultViewport` | `data-viewport` on the preview viewport |
84
92
  | theme | `colorScheme` / `defaultColorScheme` | `data-theme` on the stage and code pane |
85
93
  | layout | `previewLayout` | `data-preview-layout` on the stage |
@@ -87,20 +95,24 @@ Frame look: the chrome is a layer of the surface ladder (`data-depth`, one above
87
95
 
88
96
  ## Layout & spacing
89
97
  - The frame is `max-width: 100%`; long code lines scroll inside the code pane instead of widening the page. The code pane is at most `min(512px, 70vh)` high and scrolls both ways.
90
- - The stage is at least 160 high with `--prime-space-6` / `--prime-space-4` padding; content wider than it is clipped (`matrix` scrolls instead).
91
- - The toolbar wraps below 40rem of frame width; below 25rem the visible device labels are hidden (icons stay, each option keeps a screen-reader name).
98
+ - The stage is at least 160 high with `--prime-space-6` / `--prime-space-4` padding; content wider than it scrolls inside it under edge shadows (`matrix` wraps its rows instead).
99
+ - The toolbar wraps when it does not fit on one line; narrower than 8 × `--prime-space-20` (measured on the toolbar) the two switches stack, each across the toolbar with `fullWidth` segments. When even then the device titles do not fit, the device switch drops them by itself (icons stay, each option keeps its name).
92
100
  - The device width switches at once: `max-width` is layout, so it does not animate.
93
101
  - Stack frames one per demo block; spacing between blocks comes from the page.
94
102
 
95
103
  ## Accessibility
96
104
 
97
105
  ### Keyboard
106
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
107
+
98
108
  | Key | Action |
99
109
  |---|---|
100
110
  | `Tab` | Moves through the switches, the theme and copy buttons and the code pane. |
101
111
  | `ArrowLeft` · `ArrowRight` | Choose the pane or the width inside a switch (SegmentedControl). |
102
112
 
103
113
  ### ARIA
114
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
115
+
104
116
  - The pane and device switches are radio groups named by `labels.paneSwitch` and `labels.viewportSwitch`.
105
117
  - The theme and copy buttons are icon-only Buttons with `aria-label`; after copying the label becomes `labels.copied`.
106
118
  - The code pane is a focusable `section` with `aria-label` from `labels.codeRegion`, so keyboard users can scroll it.
@@ -128,7 +140,8 @@ Frame look: the chrome is a layer of the surface ladder (`data-depth`, one above
128
140
  | Example | Shows |
129
141
  |---|---|
130
142
  | [overview.tsx](examples/overview.tsx) | A live example next to its source, with the pane, width, theme and copy controls — `code`, `previewLayout`. |
131
- | [controlled.tsx](examples/controlled.tsx) | Frames of one page share the preview width and theme: the parent owns both — `viewport`, `colorScheme`. |
143
+ | [initial-view.tsx](examples/initial-view.tsx) | A matrix frame that opens at phone width in the dark theme with no theme switch and counts code copies — `previewLayout`, `defaultViewport`, `defaultColorScheme`, `showThemeToggle`, `onCopy`. |
144
+ | [controlled.tsx](examples/controlled.tsx) | Frames of one page share the preview width and theme: the parent owns both — `viewport`, `onViewportChange`, `colorScheme`. |
132
145
 
133
146
  ## Mistakes
134
147
  - Wrapping several preview items in an extra `div` with flex styles → use `previewLayout="row"` or `"stack"`.
@@ -136,5 +149,5 @@ Frame look: the chrome is a layer of the surface ladder (`data-depth`, one above
136
149
  - Expecting `colorScheme` to change the page theme → it only themes the frame's stage and code pane.
137
150
 
138
151
  ## Related
139
- - **Built from:** [SegmentedControl](../segmented-control/COMPONENT.md), [Button](../button/COMPONENT.md), [CodeBlock](../code-block/COMPONENT.md), Icon (`view.*`, `viewport.*`, `theme.*`, `action.copy`, `action.check`)
152
+ - **Built from:** [SegmentedControl](../segmented-control/COMPONENT.md), [Button](../button/COMPONENT.md), [CodeBlock](../code-block/COMPONENT.md), [ScrollContainer](../scroll-container/COMPONENT.md) (the stage, the code pane), Icon (`view.*`, `viewport.*`, `theme.*`, `action.copy`, `action.check`), [AppShell](../../layout/app-shell/COMPONENT.md) (its boundary: a header or a Sidebar in the preview stays in it); `internal/RegionSwap` (the pane switch)
140
153
  - **See also:** [Card](../card/COMPONENT.md)
@@ -1,8 +1,8 @@
1
- /** Frames of one page share the preview width and theme: the parent owns both — `viewport`, `colorScheme`. */
1
+ /** Frames of one page share the preview width and theme: the parent owns both — `viewport`, `onViewportChange`, `colorScheme`. */
2
2
  import { Button, ExampleFrame, type ExampleFrameViewport, Input } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
5
- const BUTTON_CODE = "<Button.Root>Сохранить</Button.Root>";
5
+ const BUTTON_CODE = "<Button.Root>Создать счёт</Button.Root>";
6
6
  const INPUT_CODE = `<Input.Root label="Рабочая почта">
7
7
  <Input.Wrapper>
8
8
  <Input.Field placeholder="name@company.ru" />
@@ -22,7 +22,7 @@ export default function ExampleFrameControlledExample() {
22
22
  colorScheme={scheme}
23
23
  onColorSchemeChange={setScheme}
24
24
  >
25
- <Button.Root>Сохранить</Button.Root>
25
+ <Button.Root>Создать счёт</Button.Root>
26
26
  </ExampleFrame>
27
27
  <ExampleFrame
28
28
  code={INPUT_CODE}
@@ -0,0 +1,44 @@
1
+ /** A matrix frame that opens at phone width in the dark theme with no theme switch and counts code copies — `previewLayout`, `defaultViewport`, `defaultColorScheme`, `showThemeToggle`, `onCopy`. */
2
+ import { Badge, ExampleFrame, Typography } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ const STATUSES = [
6
+ { color: "gray", label: "Черновик" },
7
+ { color: "blue", label: "На ревью" },
8
+ { color: "green", label: "Опубликован" },
9
+ ] as const;
10
+
11
+ const CODE = STATUSES.map(
12
+ ({ color, label }) => `<Badge.Root color="${color}">${label}</Badge.Root>`,
13
+ ).join("\n");
14
+
15
+ export default function ExampleFrameInitialViewExample() {
16
+ const [copies, setCopies] = React.useState(0);
17
+
18
+ return (
19
+ <>
20
+ <ExampleFrame
21
+ code={CODE}
22
+ previewLayout="matrix"
23
+ defaultViewport="mobile"
24
+ defaultColorScheme="dark"
25
+ showThemeToggle={false}
26
+ onCopy={() => setCopies((count) => count + 1)}
27
+ >
28
+ <div>
29
+ {STATUSES.map(({ color, label }) => (
30
+ <div key={color}>
31
+ <Badge.Root color={color}>{label}</Badge.Root>
32
+ <Typography as="span" variant="caption" tone="muted">
33
+ {color}
34
+ </Typography>
35
+ </div>
36
+ ))}
37
+ </div>
38
+ </ExampleFrame>
39
+ <Typography variant="body-s" tone="secondary">
40
+ Код скопирован: {copies}
41
+ </Typography>
42
+ </>
43
+ );
44
+ }
@@ -39,7 +39,7 @@ A leaf: rows come from `value` through `renderItem`, which returns one element p
39
39
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
40
40
 
41
41
  ### FieldList
42
- Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editable list of records of one shape: column headings once, a row of fields per record (`<ol>`), remove per row, add under the rows; rows stack under 480 px.
42
+ Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editable list of records of one shape: column headings once, a row of fields per record (`<ol>`), remove per row, add under the rows; rows stack in a container under 30rem.
43
43
 
44
44
  | Prop | Type | Default | Description |
45
45
  |---|---|---|---|
@@ -61,7 +61,7 @@ Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editabl
61
61
  | `hint` | `ReactNode` | — | Help text under the list; hidden while `error` shows. |
62
62
  | `error` | `ReactNode` | — | A problem of the list as a whole («Добавьте хотя бы одну позицию»); a field's own error goes on that field. |
63
63
  | `disabled` | `boolean` | `false` | Disables every field, handle and button; a disabled `Fieldset` around it sets it too. |
64
- | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Tier of the headings, buttons and the kit fields that read the host tier. Without it the host tier, else `m`. |
64
+ | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | host tier, else `"m"` | Tier of the headings, buttons and the kit fields that read the host tier. Without it the host tier, else `m`. |
65
65
  | `labels` | `Partial<FieldListLabels>` | — | Built-in strings, see Labels. |
66
66
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "id" \| "children" \| "defaultValue" \| "defaultChecked" \| "onChange">` | — | `className`, `data-*` and the other attributes of the field frame `<div>` (field-root rule: `className`, `ref` and the rest → frame, `id` → control). |
67
67
 
@@ -98,18 +98,21 @@ Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editabl
98
98
  | pinned row | `getLocked(item)` | `data-locked="true"` on the `<li>`; a lock, no remove button |
99
99
  | invalid | `error` (the list), a field's own `error` | the list's message under the add row; a field's under the field in its row |
100
100
  | disabled | `disabled` (or a disabled Fieldset) | `data-disabled="true"` on the frame; fields, handles and buttons disabled through the kit's disabled context |
101
- | stacked | container narrower than 480 px | heading row hidden, each row's fields in one column with their labels shown |
101
+ | stacked | container narrower than 30rem | heading row hidden, each row's fields in one column with their labels shown |
102
+ | rows come and go | the add button, a remove button, a new `value` | a row the data adds rises in once (`enterMotion`), a removed one closes up in place and the rows below glide up (`listPresence`); the heading row rises in with the first row and closes up with the last (`partPresence`); the first render stays still |
102
103
 
103
104
  ## Layout & spacing
104
105
  - Rows 12 apart (`--prime-space-3`); columns 12 apart; the heading row sits at the tier's label gap above the first row.
105
- - Every row and the heading row share one track list: `[lead] [columns] [end]`; the lead fits the grip, the end fits a remove button of the tier.
106
+ - Every row and the heading row share one track list: `[lead] [columns] [end]`; the lead is one `xs` control wide (the grip or the lock), the end fits a remove button of the tier.
106
107
  - The handle, the lock and the remove button stand on the middle of the first line of fields, so a field's error under it grows the row downwards only.
107
108
  - The add button lines up with the first column of fields, 12 under the last row.
108
- - Under 480 px of its own width (a container query): rows stack, fields 16 apart inside a row, rows 24 apart.
109
+ - Under 30rem of its own width (a container query): rows stack, fields 16 apart inside a row, rows 24 apart.
109
110
 
110
111
  ## Accessibility
111
112
 
112
113
  ### Keyboard
114
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
115
+
113
116
  | Key | Action |
114
117
  |---|---|
115
118
  | `Tab` | Moves through the fields of a row, then to its remove button and on. |
@@ -117,11 +120,14 @@ Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editabl
117
120
  | `Alt + ↑` · `Alt + ↓` | With `reorderable`, moves the row up or down (from its handle). |
118
121
 
119
122
  ### ARIA
120
- - The rows are an `<ol>` named by the list `label` (`aria-labelledby`); the list gives each row its position.
123
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
124
+
125
+ - The rows are an `<ol role="list">` named by the list `label` (`aria-labelledby`); the list gives each row its position, and the role keeps it under `list-style: none` in WebKit.
121
126
  - The heading row is `aria-hidden`: each field in a cell carries its column heading as its own label, read but not shown on wide rows.
127
+ - The `<ol>` is described by the list's `hint` and `error` (`aria-describedby`), which speak for every row.
122
128
  - In a narrow container the heading row goes and each field's label shows above it.
123
129
  - The remove button is «Удалить {row}», the handle «Переместить {row}»: the row's name from `getLabel`, else its number.
124
- - A pinned row has a lock in place of the handle and no remove button; without `reorderable` the lock is an image named «Закреплена».
130
+ - A pinned row has a lock in place of the handle and no remove button; without `reorderable` the lock is Dnd's lock (an image named «Закреплена»).
125
131
 
126
132
  ### Labels
127
133
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
@@ -144,10 +150,11 @@ Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editabl
144
150
  | [locked.tsx](examples/locked.tsx) | Specs of a plan on one line each: an icon picker and a color swatch take compact columns, the first three specs are pinned with a lock and the rest reorder below them — `getLocked`, `width`, `reorderable`. |
145
151
  | [base-row.tsx](examples/base-row.tsx) | A plan price and its changes by month in one table: the base price is the first, pinned row, each change is a row with its month and its price, and the unit sits in the field, not in a heading — `getLocked`, `width`. |
146
152
  | [limits.tsx](examples/limits.tsx) | Recipients of invoice reminders, from one to three: the last row cannot be removed and the add button says why it is off once the list is full — `min`, `max`, `hint`. |
147
- | [errors.tsx](examples/errors.tsx) | Contacts of a client checked on save: a field's problem shows under that field in its row, a problem of the whole list under the list, and focus goes to the first wrong field — `error`. |
153
+ | [errors.tsx](examples/errors.tsx) | Contacts of a client checked on save: a field's problem shows under that field in its row, a problem of the whole list under the list, and focus goes to the first wrong field; a `*` after a heading marks a required column — `error`, `required`. |
148
154
  | [states.tsx](examples/states.tsx) | The same list editable and disabled while the request saves it: fields, handles and buttons turn off together — `disabled`. |
149
155
  | [controlled.tsx](examples/controlled.tsx) | The parent owns the lines: it sums them under the list and puts the saved lines back on reset — `value`, `onValueChange`. |
150
156
  | [narrow.tsx](examples/narrow.tsx) | The invoice lines in a 320 px column: the headings give way, each row stacks its fields with their own labels and rows stand a group apart — `columns`. |
157
+ | [screen.tsx](examples/screen.tsx) | A record editor as a document page, a long form whose title, description and save stand in the content header: a plan's name, its specs and prices in one form; repeating records as FieldList rows with the headings once, a base price pinned above its changes, one value in three currencies in one row — `getLocked`, `compact`. |
151
158
 
152
159
  ## Mistakes
153
160
  - A `label` above every field of every row («Иконка», «Параметр», «Значение» four times) → a FieldList: the headings stand once, the fields take them as hidden labels.
@@ -160,5 +167,5 @@ Generic `FieldList<T>`; `ref` → `HTMLDivElement` (the field frame). An editabl
160
167
  - A grip, a remove button and an add button drawn by hand around a `.map()` of fields → FieldList.
161
168
 
162
169
  ## Related
163
- - **Built from:** [Button](../button/COMPONENT.md) (add, remove), [Dnd](../dnd/COMPONENT.md) (`reorderable`: `Dnd.Sortable`, `Dnd.Handle`), [Label](../label/COMPONENT.md) (headings), `Icon` (lock), the field frame (label, hint, error)
170
+ - **Built from:** [Button](../button/COMPONENT.md) (add, remove), [Dnd](../dnd/COMPONENT.md) (`reorderable`: `Dnd.Sortable`, `Dnd.Handle`; the lock of a pinned row), [Label](../label/COMPONENT.md) (headings), the field frame (label, [Hint](../hint/COMPONENT.md) for the hint and error), [VisuallyHidden](../visually-hidden/COMPONENT.md)
164
171
  - **See also:** [Input](../input/COMPONENT.md), [Select](../select/COMPONENT.md) (icon-only trigger), [ColorPicker](../color-picker/COMPONENT.md) (`ColorPresets`), [Fieldset](../fieldset/COMPONENT.md), [DataTable](../data-table/COMPONENT.md)
@@ -1,4 +1,4 @@
1
- /** Contacts of a client checked on save: a field's problem shows under that field in its row, a problem of the whole list under the list, and focus goes to the first wrong field — `error`. */
1
+ /** Contacts of a client checked on save: a field's problem shows under that field in its row, a problem of the whole list under the list, and focus goes to the first wrong field; a `*` after a heading marks a required column — `error`, `required`. */
2
2
  import { Button, FieldList, type FieldListColumn, Input } from "prime-ui-kit";
3
3
  import * as React from "react";
4
4
 
@@ -6,7 +6,10 @@ import styles from "./examples.module.css";
6
6
 
7
7
  type Contact = { id: string; role: string; phone: string };
8
8
 
9
- const COLUMNS: FieldListColumn[] = [{ label: "Должность" }, { label: "Телефон", width: "m" }];
9
+ const COLUMNS: FieldListColumn[] = [
10
+ { label: "Должность", required: true },
11
+ { label: "Телефон", width: "m", required: true },
12
+ ];
10
13
 
11
14
  const CONTACTS: Contact[] = [
12
15
  { id: "buyer", role: "Закупщик", phone: "+7 912 404-18-20" },
@@ -1,4 +1,4 @@
1
- /** A record editor: a plan's name, its specs, selling points and prices in one form — repeating records as FieldList rows with the headings once, a base price pinned above its changes, one value in three currencies in one row. */
1
+ /** A record editor as a document page, a long form whose title, description and save stand in the content header: a plan's name, its specs and prices in one form; repeating records as FieldList rows with the headings once, a base price pinned above its changes, one value in three currencies in one row — `getLocked`, `compact`. */
2
2
  import {
3
3
  Button,
4
4
  Card,
@@ -15,7 +15,7 @@ import {
15
15
  } from "prime-ui-kit";
16
16
  import * as React from "react";
17
17
 
18
- import styles from "./record-editor.module.css";
18
+ import styles from "./screen.module.css";
19
19
 
20
20
  type Spec = {
21
21
  id: string;
@@ -25,7 +25,6 @@ type Spec = {
25
25
  color: string;
26
26
  pinned?: boolean;
27
27
  };
28
- type Point = { id: string; text: string };
29
28
  type Period = { id: string; from: string; price: string; base?: boolean };
30
29
 
31
30
  const SPEC_COLUMNS: FieldListColumn[] = [
@@ -73,14 +72,6 @@ const SPECS: Spec[] = [
73
72
  { id: "sso", icon: "object.key", name: "Вход через SSO", value: "SAML, OIDC", color: "#14b8a6" },
74
73
  ];
75
74
 
76
- const POINT_COLUMNS: FieldListColumn[] = [{ label: "Преимущество" }];
77
-
78
- const POINTS: Point[] = [
79
- { id: "space", text: "Вся команда в одном пространстве" },
80
- { id: "files", text: "Документы и вложения без ограничений по типу" },
81
- { id: "api", text: "API и вебхуки для своих интеграций" },
82
- ];
83
-
84
75
  const PRICE_COLUMNS: FieldListColumn[] = [{ label: "Действует" }, { label: "Цена", width: "m" }];
85
76
 
86
77
  const MONTHS = [
@@ -104,10 +95,9 @@ const SETUP_FEE = [
104
95
  const SAVE_MS = 900;
105
96
  const SAVED_MS = 2000;
106
97
 
107
- export default function RecordEditorPattern() {
98
+ export default function FieldListScreenExample() {
108
99
  const formId = React.useId();
109
100
  const [specs, setSpecs] = React.useState(SPECS);
110
- const [points, setPoints] = React.useState(POINTS);
111
101
  const [periods, setPeriods] = React.useState(PERIODS);
112
102
  const [nameError, setNameError] = React.useState<string>();
113
103
  const [saving, setSaving] = React.useState(false);
@@ -242,36 +232,6 @@ export default function RecordEditorPattern() {
242
232
  </Card.Root>
243
233
  </PageContent.Section>
244
234
 
245
- <PageContent.Section layout="aside" label="Преимущества">
246
- <Card.Root variant="panel">
247
- <Card.Body>
248
- <FieldList
249
- aria-label="Преимущества"
250
- disabled={saving}
251
- columns={POINT_COLUMNS}
252
- reorderable
253
- max={6}
254
- value={points}
255
- onValueChange={setPoints}
256
- getId={(point) => point.id}
257
- getLabel={(point) => point.text}
258
- createItem={() => ({ id: crypto.randomUUID(), text: "" })}
259
- addLabel="Добавить преимущество"
260
- renderItem={(point, row) => (
261
- <Input.Root>
262
- <Input.Wrapper>
263
- <Input.Field
264
- value={point.text}
265
- onChange={(event) => row.update({ text: event.target.value })}
266
- />
267
- </Input.Wrapper>
268
- </Input.Root>
269
- )}
270
- />
271
- </Card.Body>
272
- </Card.Root>
273
- </PageContent.Section>
274
-
275
235
  <PageContent.Section layout="aside" label="Стоимость">
276
236
  <Card.Root variant="panel">
277
237
  <Card.Body className={styles.groups}>
@@ -1,5 +1,5 @@
1
1
  /** Every tier: the headings, the fields, the handle and the buttons follow the list's size — `size`. */
2
- import { FieldList, type FieldListColumn, Input } from "prime-ui-kit";
2
+ import { FieldList, type FieldListColumn, Input, Typography } from "prime-ui-kit";
3
3
 
4
4
  type Contact = { id: string; name: string; phone: string };
5
5
 
@@ -11,32 +11,38 @@ const CONTACTS: Contact[] = [{ id: "buyer", name: "Анна Лебедева", p
11
11
 
12
12
  export default function FieldListSizesExample() {
13
13
  return (
14
- <>
14
+ <div>
15
15
  {SIZES.map((size) => (
16
- <FieldList
17
- key={size}
18
- size={size}
19
- label={size}
20
- columns={COLUMNS}
21
- defaultValue={CONTACTS}
22
- getId={(contact) => contact.id}
23
- getLabel={(contact) => contact.name}
24
- renderItem={(contact) => (
25
- <>
26
- <Input.Root>
27
- <Input.Wrapper>
28
- <Input.Field defaultValue={contact.name} />
29
- </Input.Wrapper>
30
- </Input.Root>
31
- <Input.Root>
32
- <Input.Wrapper>
33
- <Input.Field type="tel" defaultValue={contact.phone} />
34
- </Input.Wrapper>
35
- </Input.Root>
36
- </>
37
- )}
38
- />
16
+ <div key={size}>
17
+ <div>
18
+ <FieldList
19
+ size={size}
20
+ label="Контакты покупателя"
21
+ columns={COLUMNS}
22
+ defaultValue={CONTACTS}
23
+ getId={(contact) => contact.id}
24
+ getLabel={(contact) => contact.name}
25
+ renderItem={(contact) => (
26
+ <>
27
+ <Input.Root>
28
+ <Input.Wrapper>
29
+ <Input.Field defaultValue={contact.name} />
30
+ </Input.Wrapper>
31
+ </Input.Root>
32
+ <Input.Root>
33
+ <Input.Wrapper>
34
+ <Input.Field type="tel" defaultValue={contact.phone} />
35
+ </Input.Wrapper>
36
+ </Input.Root>
37
+ </>
38
+ )}
39
+ />
40
+ <Typography as="span" variant="caption" tone="muted">
41
+ {size}
42
+ </Typography>
43
+ </div>
44
+ </div>
39
45
  ))}
40
- </>
46
+ </div>
41
47
  );
42
48
  }
@@ -1,5 +1,5 @@
1
1
  /** The same list editable and disabled while the request saves it: fields, handles and buttons turn off together — `disabled`. */
2
- import { FieldList, type FieldListColumn, Input } from "prime-ui-kit";
2
+ import { FieldList, type FieldListColumn, Input, Typography } from "prime-ui-kit";
3
3
 
4
4
  type Stage = { id: string; name: string; days: string };
5
5
 
@@ -11,41 +11,47 @@ const STAGES: Stage[] = [
11
11
  ];
12
12
 
13
13
  const STATES = [
14
- { label: "Этапы проекта", disabled: false },
15
- { label: "disabled", disabled: true },
14
+ { caption: "default", disabled: false },
15
+ { caption: "disabled", disabled: true },
16
16
  ];
17
17
 
18
18
  export default function FieldListStatesExample() {
19
19
  return (
20
- <>
20
+ <div>
21
21
  {STATES.map((state) => (
22
- <FieldList
23
- key={state.label}
24
- label={state.label}
25
- disabled={state.disabled}
26
- reorderable
27
- columns={COLUMNS}
28
- defaultValue={STAGES}
29
- getId={(stage) => stage.id}
30
- getLabel={(stage) => stage.name}
31
- createItem={() => ({ id: crypto.randomUUID(), name: "", days: "" })}
32
- addLabel="Добавить этап"
33
- renderItem={(stage) => (
34
- <>
35
- <Input.Root>
36
- <Input.Wrapper>
37
- <Input.Field defaultValue={stage.name} />
38
- </Input.Wrapper>
39
- </Input.Root>
40
- <Input.Root>
41
- <Input.Wrapper>
42
- <Input.Field defaultValue={stage.days} inputMode="numeric" />
43
- </Input.Wrapper>
44
- </Input.Root>
45
- </>
46
- )}
47
- />
22
+ <div key={state.caption}>
23
+ <div>
24
+ <FieldList
25
+ label="Этапы проекта"
26
+ disabled={state.disabled}
27
+ reorderable
28
+ columns={COLUMNS}
29
+ defaultValue={STAGES}
30
+ getId={(stage) => stage.id}
31
+ getLabel={(stage) => stage.name}
32
+ createItem={() => ({ id: crypto.randomUUID(), name: "", days: "" })}
33
+ addLabel="Добавить этап"
34
+ renderItem={(stage) => (
35
+ <>
36
+ <Input.Root>
37
+ <Input.Wrapper>
38
+ <Input.Field defaultValue={stage.name} />
39
+ </Input.Wrapper>
40
+ </Input.Root>
41
+ <Input.Root>
42
+ <Input.Wrapper>
43
+ <Input.Field defaultValue={stage.days} inputMode="numeric" />
44
+ </Input.Wrapper>
45
+ </Input.Root>
46
+ </>
47
+ )}
48
+ />
49
+ <Typography as="span" variant="caption" tone="muted">
50
+ {state.caption}
51
+ </Typography>
52
+ </div>
53
+ </div>
48
54
  ))}
49
- </>
55
+ </div>
50
56
  );
51
57
  }
@@ -9,12 +9,13 @@
9
9
  - A long form split into groups («Реквизиты», «Контакты», «Уведомления»), each with a heading 16 above its fields.
10
10
  - Disabling every field of a form while its request runs: `disabled` on the group instead of `disabled` on each field.
11
11
  - A group that needs a native name for assistive tech (`<legend>`), e.g. a set of switches under one heading.
12
+ - Without `label`: the plain field column of a form — the fields 20 apart and one `disabled` for all of them, instead of a hand-made stack.
12
13
 
13
14
  ## When not to use
14
15
  - One choice among options with a heading → [Radio](../radio/COMPONENT.md) `Radio.Group label`, a [SegmentedControl](../segmented-control/COMPONENT.md) or [ButtonGroup](../button-group/COMPONENT.md) `label`.
15
16
  - A bounded block with a surface (a settings panel) → [Card](../card/COMPONENT.md) `Card.Root`; a Fieldset inside it groups the fields.
16
17
  - A page section with a title and actions → [PageContent](../page-content/COMPONENT.md) sections.
17
- - A group of settings with a title and a trailing control (a «Сбросить» button, a master switch) → `Card.Root variant="panel"` with `Card.Header` (`Card.Title` + the control) and the Fieldset in `Card.Body`, named by the title (`aria-labelledby`), as the settings page pattern names its Fieldset by the section heading.
18
+ - A group of settings with a title and a trailing control (a «Сбросить» button, a master switch) → `Card.Root variant="panel"` with `Card.Header` (`Card.Title` + the control) and the Fieldset in `Card.Body`, named by the title (`aria-labelledby`).
18
19
  - A single field's label → the field's own `label`.
19
20
 
20
21
  ## Import
@@ -40,7 +41,7 @@ A leaf: everything is a prop or a child. A row of two fields inside is the consu
40
41
 
41
42
  | Prop | Type | Default | Description |
42
43
  |---|---|---|---|
43
- | `label` | `ReactNode` | — | Group heading in the native `<legend>` (`title-s`); it names the group for assistive tech. Without it give the fieldset an `aria-label` when the group needs a name. |
44
+ | `label` | `ReactNode` | — | Group heading in the native `<legend>` (`title-s`), the group name. Without it the fieldset is the plain field column of a form; give it an `aria-label` when the group needs a name. |
44
45
  | `description` | `ReactNode` | — | Secondary text under the heading (`body-s`, secondary), linked through `aria-describedby`. |
45
46
  | `disabled` | `boolean` | `false` | Disables every control inside, native and kit (they take their own disabled look, ARIA and keyboard); nested groups inherit it. Use it while the form's request runs. |
46
47
  | `children` | `ReactNode` | — (required) | The fields, stacked 20 apart; a row of two fields is the consumer's grid. |
@@ -56,7 +57,7 @@ Fieldset has no `variant`, `tone` or `size`: fields keep their own tier (or the
56
57
 
57
58
  **Combinations**
58
59
  - Recommended: groups 32 apart in the form, a `label` on each; `disabled={saving}` on every group and `loading` on the submit button outside them.
59
- - Allowed but rare: no `label` — a group only for `disabled`; give it an `aria-label` when the group itself needs a name.
60
+ - Allowed: no `label` — the plain field column of a form (the rhythm and `disabled` without a heading); give it an `aria-label` when the group itself needs a name.
60
61
  - Pointless: a description without a heading.
61
62
  - Forbidden: a border, padding or fill added to the group — the group is made by proximity; use a Card when it needs a surface.
62
63
 
@@ -69,17 +70,21 @@ A Button inside a disabled group is disabled too (it reads the same context), so
69
70
 
70
71
  ## Layout & spacing
71
72
  - Heading → fields `--prime-space-4` (16); heading → description `--prime-space-1` (4); description → fields `--prime-space-4`; field → field `--prime-space-5` (20).
72
- - Group → group `--prime-space-8` (32) — set by the form around the groups.
73
+ - Group → group 32 — set by the form around the groups.
73
74
  - `width: 100%`, `min-width: 0` (the native fieldset's `min-content` minimum is reset), so long values never widen the form.
74
75
 
75
76
  ## Accessibility
76
77
 
77
78
  ### Keyboard
79
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
80
+
78
81
  | Key | Action |
79
82
  |---|---|
80
83
  | `Tab` | Moves through the group's fields; the fields of a disabled group are skipped. |
81
84
 
82
85
  ### ARIA
86
+ <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
87
+
83
88
  - The native `<fieldset>` is a group (`role="group"`) named by the `<legend>` text from `label`; without a heading give it `aria-label`.
84
89
  - `description` is linked to the group through `aria-describedby`.
85
90
  - `disabled` disables the native controls inside and passes a context to kit controls: they set their own `disabled` / `aria-disabled` and drop out of the Tab order.
@@ -105,4 +110,4 @@ No `labels`.
105
110
 
106
111
  ## Related
107
112
  - **Built from:** —
108
- - **See also:** [Card](../card/COMPONENT.md) (a surface around the groups), [Input](../input/COMPONENT.md) (takes its disabled look from the group), [Button](../button/COMPONENT.md) (the submit with `loading`, outside the group), [LoginForm](../login-form/COMPONENT.md) (its fields wrapped in `Fieldset disabled` while signing in), [Radio](../radio/COMPONENT.md)
113
+ - **See also:** [Card](../card/COMPONENT.md) (a surface around the groups), [Input](../input/COMPONENT.md) (takes its disabled look from the group), [Button](../button/COMPONENT.md) (the submit with `loading`, outside the group), [Radio](../radio/COMPONENT.md)
@@ -5,7 +5,7 @@
5
5
  display: flex;
6
6
  flex-direction: column;
7
7
  gap: var(--prime-space-8);
8
- width: min(100%, var(--prime-modal-width-s));
8
+ width: min(100%, var(--prime-layout-form-width-s));
9
9
  }
10
10
 
11
11
  .actions {