prime-ui-kit 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1370) hide show
  1. package/README.md +114 -58
  2. package/bin/prime-ui-kit.js +52 -0
  3. package/dist/chunks/{chunk-EJ2ZVQYL.js → chunk-6TI4DSM5.js} +1904 -2040
  4. package/dist/chunks/chunk-CUH6DJ57.js +29335 -0
  5. package/dist/chunks/{chunk-T7CLQXGB.js → chunk-GKX3QAUC.js} +159 -6
  6. package/dist/chunks/chunk-Q3BFRQHZ.js +1729 -0
  7. package/dist/chunks/chunk-WDTSHOTD.js +6841 -0
  8. package/dist/color-picker.d.ts +5 -3
  9. package/dist/color-picker.js +7 -3
  10. package/dist/components/accordion/Accordion.d.ts +1 -1
  11. package/dist/components/avatar/Avatar.d.ts +2 -2
  12. package/dist/components/badge/Badge.d.ts +17 -5
  13. package/dist/components/badge/tier.d.ts +6 -2
  14. package/dist/components/banner/Banner.d.ts +1 -1
  15. package/dist/components/breadcrumb/Breadcrumb.d.ts +1 -1
  16. package/dist/components/button/Button.d.ts +42 -10
  17. package/dist/components/button-group/ButtonGroup.d.ts +22 -5
  18. package/dist/components/card/Card.d.ts +19 -3
  19. package/dist/components/chart-frame/ChartFrame.d.ts +229 -0
  20. package/dist/components/chat/Chat.d.ts +192 -0
  21. package/dist/components/chat/ChatPinned.d.ts +44 -0
  22. package/dist/components/chat/ChatRows.d.ts +30 -0
  23. package/dist/components/chat/MessageList.d.ts +95 -0
  24. package/dist/components/chat/chatContext.d.ts +54 -0
  25. package/dist/components/chat/groupMessages.d.ts +50 -0
  26. package/dist/components/chat/messageFlow.d.ts +42 -0
  27. package/dist/components/checkbox/Checkbox.d.ts +9 -4
  28. package/dist/components/code-block/CodeBlock.d.ts +1 -1
  29. package/dist/components/color-field/ColorField.d.ts +44 -0
  30. package/dist/components/color-picker/ColorPicker.d.ts +5 -4
  31. package/dist/components/color-picker/ColorPresets.d.ts +22 -14
  32. package/dist/components/color-swatches/ColorSwatches.d.ts +9 -4
  33. package/dist/components/command-menu/CommandMenu.d.ts +41 -11
  34. package/dist/components/composer/Composer.d.ts +234 -0
  35. package/dist/components/composer/format.d.ts +39 -0
  36. package/dist/components/composer/liveWave.d.ts +30 -0
  37. package/dist/components/composer/useRecorder.d.ts +72 -0
  38. package/dist/components/confirm-dialog/ConfirmDialog.d.ts +57 -0
  39. package/dist/components/crossfade/Crossfade.d.ts +8 -2
  40. package/dist/components/data-table/ColumnsMenu.d.ts +19 -0
  41. package/dist/components/data-table/DataTable.d.ts +72 -8
  42. package/dist/components/data-table/Footer.d.ts +1 -1
  43. package/dist/components/data-table/Head.d.ts +6 -2
  44. package/dist/components/data-table/Row.d.ts +33 -5
  45. package/dist/components/data-table/StateRows.d.ts +4 -2
  46. package/dist/components/data-table/context.d.ts +14 -0
  47. package/dist/components/data-table/reorder.d.ts +86 -0
  48. package/dist/components/data-table/rowEvents.d.ts +14 -0
  49. package/dist/components/data-table/rows.d.ts +17 -1
  50. package/dist/components/data-table/serverMode.d.ts +8 -0
  51. package/dist/components/data-table/types.d.ts +16 -0
  52. package/dist/components/data-table/useColumnHover.d.ts +2 -1
  53. package/dist/components/data-table/useInfiniteRows.d.ts +4 -1
  54. package/dist/components/data-table/useRowSelection.d.ts +5 -4
  55. package/dist/components/datepicker/Datepicker.d.ts +8 -3
  56. package/dist/components/datepicker/DatepickerPanel.d.ts +2 -2
  57. package/dist/components/datepicker/panelLayout.d.ts +2 -2
  58. package/dist/components/description-list/DescriptionList.d.ts +59 -0
  59. package/dist/components/digit-input/DigitInput.d.ts +12 -5
  60. package/dist/components/divider/Divider.d.ts +1 -1
  61. package/dist/components/dnd/Dnd.d.ts +48 -20
  62. package/dist/components/dnd/dragSession.d.ts +27 -2
  63. package/dist/components/dnd/geometry.d.ts +12 -4
  64. package/dist/components/dnd/labels.d.ts +12 -1
  65. package/dist/components/dnd/useDragSource.d.ts +2 -0
  66. package/dist/components/dnd/useDropTarget.d.ts +6 -3
  67. package/dist/components/dnd/useFlipList.d.ts +8 -2
  68. package/dist/components/dnd/useSortableList.d.ts +13 -10
  69. package/dist/components/drawer/Drawer.d.ts +14 -12
  70. package/dist/components/dropdown/Dropdown.d.ts +23 -4
  71. package/dist/components/empty-page/EmptyPage.d.ts +35 -5
  72. package/dist/components/fieldset/Fieldset.d.ts +24 -0
  73. package/dist/components/file-upload/FileUpload.d.ts +152 -14
  74. package/dist/components/gallery/Gallery.d.ts +79 -0
  75. package/dist/components/gallery/layout.d.ts +34 -0
  76. package/dist/components/gantt/Gantt.d.ts +102 -0
  77. package/dist/components/gantt/GanttBar.d.ts +51 -0
  78. package/dist/components/gantt/GanttRow.d.ts +75 -0
  79. package/dist/components/gantt/ganttModel.d.ts +133 -0
  80. package/dist/components/gantt/useEdgeAutoScroll.d.ts +12 -0
  81. package/dist/components/hint/Hint.d.ts +1 -1
  82. package/dist/components/index.d.ts +53 -22
  83. package/dist/components/input/Input.d.ts +58 -4
  84. package/dist/components/kanban/Kanban.d.ts +77 -12
  85. package/dist/components/kbd/Kbd.d.ts +1 -1
  86. package/dist/components/label/Label.d.ts +1 -1
  87. package/dist/components/link-button/LinkButton.d.ts +2 -2
  88. package/dist/components/login-form/LoginForm.d.ts +1 -1
  89. package/dist/components/media-viewer/MediaViewer.d.ts +55 -0
  90. package/dist/components/media-viewer/ViewerVideo.d.ts +53 -0
  91. package/dist/components/media-viewer/originShape.d.ts +17 -0
  92. package/dist/components/media-viewer/physics.d.ts +81 -0
  93. package/dist/components/media-viewer/types.d.ts +59 -0
  94. package/dist/components/media-viewer/viewerEngine.d.ts +202 -0
  95. package/dist/components/message/Message.d.ts +83 -0
  96. package/dist/components/message/MessageCards.d.ts +64 -0
  97. package/dist/components/message/MessageFile.d.ts +36 -0
  98. package/dist/components/message/MessageMedia.d.ts +12 -0
  99. package/dist/components/message/MessageParts.d.ts +206 -0
  100. package/dist/components/message/MessageReactionBar.d.ts +35 -0
  101. package/dist/components/message/MessageTyping.d.ts +25 -0
  102. package/dist/components/message/bubbleHug.d.ts +10 -0
  103. package/dist/components/message/bubbleMorph.d.ts +43 -0
  104. package/dist/components/message/formatMessageTime.d.ts +2 -0
  105. package/dist/components/message/types.d.ts +21 -0
  106. package/dist/components/modal/DialogGuard.d.ts +21 -0
  107. package/dist/components/modal/DialogParts.d.ts +90 -15
  108. package/dist/components/modal/Modal.d.ts +9 -47
  109. package/dist/components/modal/ModalDialog.d.ts +46 -0
  110. package/dist/components/native-select/NativeSelect.d.ts +3 -3
  111. package/dist/components/notification/Notification.d.ts +7 -1
  112. package/dist/components/page-content/PageContent.d.ts +58 -1
  113. package/dist/components/page-toolbar/PageToolbar.d.ts +8 -7
  114. package/dist/components/pagination/Pagination.d.ts +1 -1
  115. package/dist/components/popover/Popover.d.ts +12 -4
  116. package/dist/components/progress-bar/ProgressBar.d.ts +30 -10
  117. package/dist/components/progress-circle/ProgressCircle.d.ts +42 -7
  118. package/dist/components/radio/Radio.d.ts +4 -4
  119. package/dist/components/scroll-container/ScrollContainer.d.ts +27 -7
  120. package/dist/components/scroll-container/useFitFlag.d.ts +5 -0
  121. package/dist/components/scroll-container/useScrollEdges.d.ts +53 -0
  122. package/dist/components/scroll-container/useWheelToInline.d.ts +10 -0
  123. package/dist/components/segmented-control/SegmentedControl.d.ts +23 -6
  124. package/dist/components/select/Select.d.ts +38 -8
  125. package/dist/components/select/SelectItem.d.ts +7 -4
  126. package/dist/components/select/selectContext.d.ts +12 -3
  127. package/dist/components/sheet/Sheet.d.ts +49 -0
  128. package/dist/components/skeleton/Skeleton.d.ts +1 -1
  129. package/dist/components/slider/Slider.d.ts +17 -3
  130. package/dist/components/smart-filter/SmartFilter.d.ts +48 -6
  131. package/dist/components/smart-filter/model.d.ts +31 -11
  132. package/dist/components/sparkline/Sparkline.d.ts +19 -4
  133. package/dist/components/spinner/Spinner.d.ts +4 -3
  134. package/dist/components/stepper/Stepper.d.ts +2 -2
  135. package/dist/components/switch/Switch.d.ts +14 -4
  136. package/dist/components/tabs/Tabs.d.ts +5 -3
  137. package/dist/components/tag-select/TagOptionMenu.d.ts +6 -2
  138. package/dist/components/tag-select/TagSelect.d.ts +27 -9
  139. package/dist/components/tag-select/VirtualOptions.d.ts +24 -0
  140. package/dist/components/textarea/Textarea.d.ts +48 -2
  141. package/dist/components/thumbnail/Thumbnail.d.ts +48 -6
  142. package/dist/components/timeline/Timeline.d.ts +1 -1
  143. package/dist/components/tooltip/Tooltip.d.ts +9 -4
  144. package/dist/components/typography/Typography.d.ts +1 -1
  145. package/dist/components/video-note/VideoNote.d.ts +27 -0
  146. package/dist/components/voice-player/VoicePlayer.d.ts +33 -0
  147. package/dist/components/voice-player/getWaveform.d.ts +7 -0
  148. package/dist/hooks/useEdgeOverflow.d.ts +17 -8
  149. package/dist/hooks/useImageStatus.d.ts +10 -10
  150. package/dist/hooks/useModalLayer.d.ts +6 -4
  151. package/dist/hooks/usePosition.d.ts +16 -1
  152. package/dist/hooks/usePresence.d.ts +1 -1
  153. package/dist/hooks/useSwipeDismiss.d.ts +11 -19
  154. package/dist/hooks/useTokenValue.d.ts +10 -0
  155. package/dist/hooks/useUploadQueue.d.ts +60 -0
  156. package/dist/hooks/useVirtualRows.d.ts +74 -0
  157. package/dist/icon-set.d.ts +29 -0
  158. package/dist/{icons.js → icon-set.js} +75 -15
  159. package/dist/icons/Icon.d.ts +6 -5
  160. package/dist/icons/glyph.d.ts +18 -3
  161. package/dist/icons/glyphs/bike.d.ts +2 -0
  162. package/dist/icons/glyphs/captions.d.ts +2 -0
  163. package/dist/icons/glyphs/chart-gantt.d.ts +2 -0
  164. package/dist/icons/glyphs/circle-alert.d.ts +2 -0
  165. package/dist/icons/glyphs/code.d.ts +2 -0
  166. package/dist/icons/glyphs/columns-3.d.ts +2 -0
  167. package/dist/icons/glyphs/crown.d.ts +2 -0
  168. package/dist/icons/glyphs/disc.d.ts +2 -0
  169. package/dist/icons/glyphs/file.d.ts +2 -0
  170. package/dist/icons/glyphs/flag.d.ts +2 -0
  171. package/dist/icons/glyphs/forward.d.ts +2 -0
  172. package/dist/icons/glyphs/fuel.d.ts +2 -0
  173. package/dist/icons/glyphs/funnel.d.ts +2 -0
  174. package/dist/icons/glyphs/globe.d.ts +2 -0
  175. package/dist/icons/glyphs/headset.d.ts +2 -0
  176. package/dist/icons/glyphs/megaphone.d.ts +2 -0
  177. package/dist/icons/glyphs/motorbike.d.ts +2 -0
  178. package/dist/icons/glyphs/pin.d.ts +2 -0
  179. package/dist/icons/glyphs/reply.d.ts +2 -0
  180. package/dist/icons/glyphs/scale.d.ts +2 -0
  181. package/dist/icons/glyphs/star.d.ts +2 -0
  182. package/dist/icons/glyphs/strikethrough.d.ts +2 -0
  183. package/dist/icons/glyphs/text-quote.d.ts +2 -0
  184. package/dist/icons/glyphs/trophy.d.ts +2 -0
  185. package/dist/icons/glyphs/video.d.ts +2 -0
  186. package/dist/icons/glyphs/volume-2.d.ts +2 -0
  187. package/dist/icons/glyphs/volume-x.d.ts +2 -0
  188. package/dist/icons/glyphs/zoom-in.d.ts +2 -0
  189. package/dist/icons/glyphs/zoom-out.d.ts +2 -0
  190. package/dist/icons/index.d.ts +1 -1
  191. package/dist/icons/registry.d.ts +59 -0
  192. package/dist/index.css +1 -13089
  193. package/dist/index.d.ts +7 -2
  194. package/dist/index.js +57 -9
  195. package/dist/internal/AnchorRectContext.d.ts +9 -0
  196. package/dist/internal/ChoiceField.d.ts +2 -2
  197. package/dist/internal/ControlSizeContext.d.ts +1 -1
  198. package/dist/internal/Disclosure.d.ts +15 -0
  199. package/dist/internal/FieldAction.d.ts +38 -0
  200. package/dist/internal/FieldCommit.d.ts +46 -0
  201. package/dist/internal/FieldFrame.d.ts +1 -1
  202. package/dist/internal/HighlightMatch.d.ts +5 -3
  203. package/dist/internal/MorphText.d.ts +3 -2
  204. package/dist/internal/ProgressLegend.d.ts +18 -0
  205. package/dist/internal/VisuallyHidden.d.ts +5 -1
  206. package/dist/internal/attachmentTile.d.ts +64 -0
  207. package/dist/internal/attachmentTile.module.css.d.ts +2 -0
  208. package/dist/internal/disabledContext.d.ts +7 -0
  209. package/dist/internal/edgeAutoScroll.d.ts +30 -0
  210. package/dist/internal/fileFormat.d.ts +5 -0
  211. package/dist/internal/fileName.d.ts +9 -0
  212. package/dist/internal/fileSize.d.ts +2 -0
  213. package/dist/internal/formatClock.d.ts +2 -0
  214. package/dist/internal/glyphSwap.d.ts +19 -0
  215. package/dist/internal/iconBox.module.css.d.ts +2 -0
  216. package/dist/internal/imageSlot.d.ts +3 -1
  217. package/dist/internal/leaveInPlace.d.ts +9 -0
  218. package/dist/internal/listbox.d.ts +19 -0
  219. package/dist/internal/mediaDisk.d.ts +14 -0
  220. package/dist/internal/mediaFrame.d.ts +2 -0
  221. package/dist/internal/mediaKind.d.ts +7 -0
  222. package/dist/internal/mediaPlayer.d.ts +135 -0
  223. package/dist/internal/mediaSession.d.ts +13 -0
  224. package/dist/internal/messageList.d.ts +121 -0
  225. package/dist/internal/messagePart.d.ts +106 -0
  226. package/dist/internal/overlay/FloatingPanel.d.ts +1 -1
  227. package/dist/internal/overlay/focus.d.ts +23 -2
  228. package/dist/internal/overlay/useFloatingLayer.d.ts +2 -2
  229. package/dist/internal/palette.d.ts +7 -0
  230. package/dist/internal/progressSegments.d.ts +39 -2
  231. package/dist/internal/readReceipts.d.ts +11 -0
  232. package/dist/internal/richText.d.ts +40 -0
  233. package/dist/internal/ring.d.ts +64 -0
  234. package/dist/internal/sticky.d.ts +2 -0
  235. package/dist/internal/surfaceDepth.d.ts +2 -0
  236. package/dist/internal/transcript.d.ts +73 -0
  237. package/dist/internal/transfer.d.ts +79 -0
  238. package/dist/internal/transferDisk.d.ts +76 -0
  239. package/dist/internal/useNearView.d.ts +7 -0
  240. package/dist/internal/usePendingChanges.d.ts +18 -0
  241. package/dist/internal/useRangeSelection.d.ts +41 -0
  242. package/dist/layout/app-header/AppHeader.d.ts +21 -3
  243. package/dist/layout/bottom-nav/BottomNav.d.ts +27 -7
  244. package/dist/layout/index.d.ts +2 -2
  245. package/dist/layout/sidebar/Sidebar.d.ts +1 -1
  246. package/dist/skill/SKILL.md +130 -0
  247. package/dist/skill/anti-slop.md +224 -0
  248. package/dist/skill/api-contract.md +295 -0
  249. package/dist/skill/cheatsheet.md +317 -0
  250. package/dist/skill/checklist.md +91 -0
  251. package/dist/skill/choosing.md +164 -0
  252. package/dist/skill/components.md +177 -0
  253. package/dist/skill/composition.md +312 -0
  254. package/dist/skill/foundations.md +186 -0
  255. package/dist/skill/layouts.md +262 -0
  256. package/dist/skill/motion.md +211 -0
  257. package/dist/skill/patterns/chat.module.css +33 -0
  258. package/dist/skill/patterns/chat.tsx +838 -0
  259. package/dist/skill/patterns/dashboard.module.css +44 -0
  260. package/dist/skill/patterns/dashboard.tsx +326 -0
  261. package/dist/skill/patterns/detail-page.module.css +74 -0
  262. package/dist/skill/patterns/detail-page.tsx +209 -0
  263. package/dist/skill/patterns/form-drawer.module.css +14 -0
  264. package/dist/skill/patterns/form-drawer.tsx +240 -0
  265. package/dist/skill/patterns/list-page.module.css +19 -0
  266. package/dist/skill/patterns/list-page.tsx +334 -0
  267. package/dist/skill/patterns/screen-states.module.css +54 -0
  268. package/dist/skill/patterns/screen-states.tsx +186 -0
  269. package/dist/skill/patterns/settings-page.module.css +47 -0
  270. package/dist/skill/patterns/settings-page.tsx +217 -0
  271. package/dist/skill/reference/components/accordion/COMPONENT.md +175 -0
  272. package/dist/skill/reference/components/accordion/examples/collapsible.tsx +27 -0
  273. package/dist/skill/reference/components/accordion/examples/controlled.tsx +36 -0
  274. package/dist/skill/reference/components/accordion/examples/examples.module.css +10 -0
  275. package/dist/skill/reference/components/accordion/examples/multiple.tsx +31 -0
  276. package/dist/skill/reference/components/accordion/examples/overview.tsx +39 -0
  277. package/dist/skill/reference/components/accordion/examples/sizes.tsx +28 -0
  278. package/dist/skill/reference/components/accordion/examples/states.tsx +31 -0
  279. package/dist/skill/reference/components/accordion/examples/variants.tsx +35 -0
  280. package/dist/skill/reference/components/accordion/examples/with-icon.tsx +47 -0
  281. package/dist/skill/reference/components/avatar/COMPONENT.md +166 -0
  282. package/dist/skill/reference/components/avatar/examples/examples.module.css +25 -0
  283. package/dist/skill/reference/components/avatar/examples/overview.tsx +18 -0
  284. package/dist/skill/reference/components/avatar/examples/presence.tsx +47 -0
  285. package/dist/skill/reference/components/avatar/examples/sizes.tsx +21 -0
  286. package/dist/skill/reference/components/avatar/examples/src-from-state.tsx +30 -0
  287. package/dist/skill/reference/components/avatar/examples/states.tsx +39 -0
  288. package/dist/skill/reference/components/avatar/examples/team-group.tsx +41 -0
  289. package/dist/skill/reference/components/avatar/examples/variants.tsx +40 -0
  290. package/dist/skill/reference/components/badge/COMPONENT.md +193 -0
  291. package/dist/skill/reference/components/badge/examples/applied-filters.tsx +47 -0
  292. package/dist/skill/reference/components/badge/examples/examples.module.css +32 -0
  293. package/dist/skill/reference/components/badge/examples/filter-values.tsx +39 -0
  294. package/dist/skill/reference/components/badge/examples/in-controls.tsx +23 -0
  295. package/dist/skill/reference/components/badge/examples/overview.tsx +13 -0
  296. package/dist/skill/reference/components/badge/examples/server-tags.tsx +61 -0
  297. package/dist/skill/reference/components/badge/examples/sizes.tsx +21 -0
  298. package/dist/skill/reference/components/badge/examples/states.tsx +59 -0
  299. package/dist/skill/reference/components/badge/examples/variants.tsx +38 -0
  300. package/dist/skill/reference/components/badge/examples/with-icon.tsx +50 -0
  301. package/dist/skill/reference/components/banner/COMPONENT.md +165 -0
  302. package/dist/skill/reference/components/banner/examples/dismissible.tsx +38 -0
  303. package/dist/skill/reference/components/banner/examples/examples.module.css +32 -0
  304. package/dist/skill/reference/components/banner/examples/narrow.tsx +23 -0
  305. package/dist/skill/reference/components/banner/examples/overview.tsx +18 -0
  306. package/dist/skill/reference/components/banner/examples/page-strip.tsx +53 -0
  307. package/dist/skill/reference/components/banner/examples/sizes.tsx +29 -0
  308. package/dist/skill/reference/components/banner/examples/structure.tsx +45 -0
  309. package/dist/skill/reference/components/banner/examples/variants.tsx +43 -0
  310. package/dist/skill/reference/components/breadcrumb/COMPONENT.md +137 -0
  311. package/dist/skill/reference/components/breadcrumb/examples/ellipsis.tsx +12 -0
  312. package/dist/skill/reference/components/breadcrumb/examples/examples.module.css +11 -0
  313. package/dist/skill/reference/components/breadcrumb/examples/overflow.tsx +26 -0
  314. package/dist/skill/reference/components/breadcrumb/examples/overview.tsx +12 -0
  315. package/dist/skill/reference/components/breadcrumb/examples/sizes.tsx +24 -0
  316. package/dist/skill/reference/components/breadcrumb/examples/with-icon.tsx +14 -0
  317. package/dist/skill/reference/components/button/COMPONENT.md +211 -0
  318. package/dist/skill/reference/components/button/examples/as-child.tsx +15 -0
  319. package/dist/skill/reference/components/button/examples/circle.tsx +67 -0
  320. package/dist/skill/reference/components/button/examples/download.tsx +45 -0
  321. package/dist/skill/reference/components/button/examples/examples.module.css +54 -0
  322. package/dist/skill/reference/components/button/examples/hold-to-confirm.tsx +34 -0
  323. package/dist/skill/reference/components/button/examples/in-form.tsx +45 -0
  324. package/dist/skill/reference/components/button/examples/label-morph.tsx +38 -0
  325. package/dist/skill/reference/components/button/examples/on-colored-host.tsx +29 -0
  326. package/dist/skill/reference/components/button/examples/over-media.tsx +36 -0
  327. package/dist/skill/reference/components/button/examples/overview.tsx +13 -0
  328. package/dist/skill/reference/components/button/examples/sizes.tsx +19 -0
  329. package/dist/skill/reference/components/button/examples/states.tsx +38 -0
  330. package/dist/skill/reference/components/button/examples/toggle.tsx +21 -0
  331. package/dist/skill/reference/components/button/examples/variants.tsx +32 -0
  332. package/dist/skill/reference/components/button/examples/with-icon.tsx +41 -0
  333. package/dist/skill/reference/components/button-group/COMPONENT.md +172 -0
  334. package/dist/skill/reference/components/button-group/examples/controlled.tsx +29 -0
  335. package/dist/skill/reference/components/button-group/examples/examples.module.css +8 -0
  336. package/dist/skill/reference/components/button-group/examples/full-width.tsx +19 -0
  337. package/dist/skill/reference/components/button-group/examples/in-form.tsx +55 -0
  338. package/dist/skill/reference/components/button-group/examples/orientation.tsx +19 -0
  339. package/dist/skill/reference/components/button-group/examples/overview.tsx +12 -0
  340. package/dist/skill/reference/components/button-group/examples/sizes.tsx +22 -0
  341. package/dist/skill/reference/components/button-group/examples/states.tsx +33 -0
  342. package/dist/skill/reference/components/button-group/examples/with-icon.tsx +45 -0
  343. package/dist/skill/reference/components/card/COMPONENT.md +218 -0
  344. package/dist/skill/reference/components/card/examples/content-templates.tsx +67 -0
  345. package/dist/skill/reference/components/card/examples/examples.module.css +84 -0
  346. package/dist/skill/reference/components/card/examples/flat.tsx +25 -0
  347. package/dist/skill/reference/components/card/examples/interactive.tsx +28 -0
  348. package/dist/skill/reference/components/card/examples/kpi-media.tsx +42 -0
  349. package/dist/skill/reference/components/card/examples/narrow.tsx +47 -0
  350. package/dist/skill/reference/components/card/examples/overview.tsx +39 -0
  351. package/dist/skill/reference/components/card/examples/panel-chart.tsx +44 -0
  352. package/dist/skill/reference/components/card/examples/variants.tsx +40 -0
  353. package/dist/skill/reference/components/chart-frame/COMPONENT.md +265 -0
  354. package/dist/skill/reference/components/chart-frame/examples/controlled.tsx +92 -0
  355. package/dist/skill/reference/components/chart-frame/examples/examples.module.css +6 -0
  356. package/dist/skill/reference/components/chart-frame/examples/narrow.tsx +46 -0
  357. package/dist/skill/reference/components/chart-frame/examples/overview.tsx +127 -0
  358. package/dist/skill/reference/components/chart-frame/examples/states.tsx +78 -0
  359. package/dist/skill/reference/components/chart-frame/examples/tooltip.tsx +158 -0
  360. package/dist/skill/reference/components/chat/COMPONENT.md +336 -0
  361. package/dist/skill/reference/components/chat/examples/controlled.tsx +68 -0
  362. package/dist/skill/reference/components/chat/examples/examples.module.css +38 -0
  363. package/dist/skill/reference/components/chat/examples/group-chat.tsx +130 -0
  364. package/dist/skill/reference/components/chat/examples/live.tsx +89 -0
  365. package/dist/skill/reference/components/chat/examples/narrow.tsx +46 -0
  366. package/dist/skill/reference/components/chat/examples/overview.tsx +839 -0
  367. package/dist/skill/reference/components/chat/examples/search.tsx +61 -0
  368. package/dist/skill/reference/components/chat/examples/structure.tsx +28 -0
  369. package/dist/skill/reference/components/checkbox/COMPONENT.md +171 -0
  370. package/dist/skill/reference/components/checkbox/examples/controlled.tsx +41 -0
  371. package/dist/skill/reference/components/checkbox/examples/examples.module.css +69 -0
  372. package/dist/skill/reference/components/checkbox/examples/in-form.tsx +34 -0
  373. package/dist/skill/reference/components/checkbox/examples/indicator.tsx +54 -0
  374. package/dist/skill/reference/components/checkbox/examples/overview.tsx +10 -0
  375. package/dist/skill/reference/components/checkbox/examples/sizes.tsx +18 -0
  376. package/dist/skill/reference/components/checkbox/examples/states.tsx +48 -0
  377. package/dist/skill/reference/components/checkbox/examples/variants.tsx +30 -0
  378. package/dist/skill/reference/components/checkbox/examples/without-label.tsx +13 -0
  379. package/dist/skill/reference/components/code-block/COMPONENT.md +108 -0
  380. package/dist/skill/reference/components/code-block/examples/color-scheme.tsx +16 -0
  381. package/dist/skill/reference/components/code-block/examples/examples.module.css +21 -0
  382. package/dist/skill/reference/components/code-block/examples/narrow.tsx +14 -0
  383. package/dist/skill/reference/components/code-block/examples/overview.tsx +19 -0
  384. package/dist/skill/reference/components/code-block/examples/variants.tsx +21 -0
  385. package/dist/skill/reference/components/color-field/COMPONENT.md +163 -0
  386. package/dist/skill/reference/components/color-field/examples/controlled.tsx +33 -0
  387. package/dist/skill/reference/components/color-field/examples/examples.module.css +22 -0
  388. package/dist/skill/reference/components/color-field/examples/in-form.tsx +45 -0
  389. package/dist/skill/reference/components/color-field/examples/overview.tsx +6 -0
  390. package/dist/skill/reference/components/color-field/examples/presets.tsx +20 -0
  391. package/dist/skill/reference/components/color-field/examples/sizes.tsx +14 -0
  392. package/dist/skill/reference/components/color-field/examples/states.tsx +12 -0
  393. package/dist/skill/reference/components/color-field/examples/validation.tsx +29 -0
  394. package/dist/skill/reference/components/color-picker/COMPONENT.md +339 -0
  395. package/dist/skill/reference/components/color-picker/examples/controlled.tsx +37 -0
  396. package/dist/skill/reference/components/color-picker/examples/examples.module.css +48 -0
  397. package/dist/skill/reference/components/color-picker/examples/formats.tsx +26 -0
  398. package/dist/skill/reference/components/color-picker/examples/in-form.tsx +52 -0
  399. package/dist/skill/reference/components/color-picker/examples/overview.tsx +37 -0
  400. package/dist/skill/reference/components/color-picker/examples/panel.tsx +41 -0
  401. package/dist/skill/reference/components/color-picker/examples/presets-sizes.tsx +28 -0
  402. package/dist/skill/reference/components/color-picker/examples/presets.tsx +35 -0
  403. package/dist/skill/reference/components/color-picker/examples/sizes.tsx +26 -0
  404. package/dist/skill/reference/components/color-picker/examples/states.tsx +22 -0
  405. package/dist/skill/reference/components/color-picker/examples/validation.tsx +24 -0
  406. package/dist/skill/reference/components/color-swatches/COMPONENT.md +146 -0
  407. package/dist/skill/reference/components/color-swatches/examples/controlled.tsx +22 -0
  408. package/dist/skill/reference/components/color-swatches/examples/examples.module.css +19 -0
  409. package/dist/skill/reference/components/color-swatches/examples/in-form.tsx +41 -0
  410. package/dist/skill/reference/components/color-swatches/examples/overview.tsx +6 -0
  411. package/dist/skill/reference/components/color-swatches/examples/sizes.tsx +19 -0
  412. package/dist/skill/reference/components/color-swatches/examples/states.tsx +20 -0
  413. package/dist/skill/reference/components/color-swatches/examples/wrapping.tsx +12 -0
  414. package/dist/skill/reference/components/command-menu/COMPONENT.md +225 -0
  415. package/dist/skill/reference/components/command-menu/examples/controlled-open.tsx +29 -0
  416. package/dist/skill/reference/components/command-menu/examples/controlled.tsx +42 -0
  417. package/dist/skill/reference/components/command-menu/examples/dismiss.tsx +39 -0
  418. package/dist/skill/reference/components/command-menu/examples/load-error.tsx +65 -0
  419. package/dist/skill/reference/components/command-menu/examples/overview.tsx +61 -0
  420. package/dist/skill/reference/components/command-menu/examples/server-search.tsx +91 -0
  421. package/dist/skill/reference/components/command-menu/examples/sizes.tsx +53 -0
  422. package/dist/skill/reference/components/command-menu/examples/states.tsx +48 -0
  423. package/dist/skill/reference/components/command-menu/examples/structure.tsx +54 -0
  424. package/dist/skill/reference/components/composer/COMPONENT.md +310 -0
  425. package/dist/skill/reference/components/composer/examples/attachments.tsx +36 -0
  426. package/dist/skill/reference/components/composer/examples/controlled.tsx +46 -0
  427. package/dist/skill/reference/components/composer/examples/examples.module.css +30 -0
  428. package/dist/skill/reference/components/composer/examples/formatting.tsx +15 -0
  429. package/dist/skill/reference/components/composer/examples/narrow.tsx +22 -0
  430. package/dist/skill/reference/components/composer/examples/overview.tsx +39 -0
  431. package/dist/skill/reference/components/composer/examples/reply-edit.tsx +68 -0
  432. package/dist/skill/reference/components/composer/examples/sizes.tsx +23 -0
  433. package/dist/skill/reference/components/composer/examples/states.tsx +31 -0
  434. package/dist/skill/reference/components/composer/examples/typing.tsx +24 -0
  435. package/dist/skill/reference/components/composer/examples/voice.tsx +21 -0
  436. package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +124 -0
  437. package/dist/skill/reference/components/confirm-dialog/examples/controlled-open.tsx +35 -0
  438. package/dist/skill/reference/components/confirm-dialog/examples/failure.tsx +37 -0
  439. package/dist/skill/reference/components/confirm-dialog/examples/overview.tsx +24 -0
  440. package/dist/skill/reference/components/confirm-dialog/examples/variants.tsx +44 -0
  441. package/dist/skill/reference/components/crossfade/COMPONENT.md +118 -0
  442. package/dist/skill/reference/components/crossfade/examples/examples.module.css +93 -0
  443. package/dist/skill/reference/components/crossfade/examples/fill.tsx +79 -0
  444. package/dist/skill/reference/components/crossfade/examples/overview.tsx +102 -0
  445. package/dist/skill/reference/components/crossfade/examples/record-switch.tsx +67 -0
  446. package/dist/skill/reference/components/data-table/COMPONENT.md +366 -0
  447. package/dist/skill/reference/components/data-table/examples/appearance.tsx +62 -0
  448. package/dist/skill/reference/components/data-table/examples/columns-visibility.tsx +151 -0
  449. package/dist/skill/reference/components/data-table/examples/content-width.tsx +65 -0
  450. package/dist/skill/reference/components/data-table/examples/controlled.tsx +56 -0
  451. package/dist/skill/reference/components/data-table/examples/detail-panel.tsx +101 -0
  452. package/dist/skill/reference/components/data-table/examples/examples.module.css +86 -0
  453. package/dist/skill/reference/components/data-table/examples/fill-height.tsx +55 -0
  454. package/dist/skill/reference/components/data-table/examples/groups.tsx +73 -0
  455. package/dist/skill/reference/components/data-table/examples/heatmap.tsx +44 -0
  456. package/dist/skill/reference/components/data-table/examples/infinite-scroll.tsx +53 -0
  457. package/dist/skill/reference/components/data-table/examples/narrow.tsx +50 -0
  458. package/dist/skill/reference/components/data-table/examples/nested-rows.tsx +128 -0
  459. package/dist/skill/reference/components/data-table/examples/numeric.tsx +41 -0
  460. package/dist/skill/reference/components/data-table/examples/overview.tsx +54 -0
  461. package/dist/skill/reference/components/data-table/examples/reorder.tsx +61 -0
  462. package/dist/skill/reference/components/data-table/examples/row-link.tsx +100 -0
  463. package/dist/skill/reference/components/data-table/examples/row-open.tsx +129 -0
  464. package/dist/skill/reference/components/data-table/examples/selection.tsx +60 -0
  465. package/dist/skill/reference/components/data-table/examples/server.tsx +181 -0
  466. package/dist/skill/reference/components/data-table/examples/sizes.tsx +56 -0
  467. package/dist/skill/reference/components/data-table/examples/states.tsx +50 -0
  468. package/dist/skill/reference/components/data-table/examples/sticky.tsx +54 -0
  469. package/dist/skill/reference/components/data-table/examples/toolbar.tsx +124 -0
  470. package/dist/skill/reference/components/datepicker/COMPONENT.md +228 -0
  471. package/dist/skill/reference/components/datepicker/examples/controlled-open.tsx +32 -0
  472. package/dist/skill/reference/components/datepicker/examples/controlled.tsx +39 -0
  473. package/dist/skill/reference/components/datepicker/examples/examples.module.css +26 -0
  474. package/dist/skill/reference/components/datepicker/examples/in-form.tsx +74 -0
  475. package/dist/skill/reference/components/datepicker/examples/inline-panel.tsx +14 -0
  476. package/dist/skill/reference/components/datepicker/examples/narrow.tsx +14 -0
  477. package/dist/skill/reference/components/datepicker/examples/overview.tsx +6 -0
  478. package/dist/skill/reference/components/datepicker/examples/range-presets.tsx +22 -0
  479. package/dist/skill/reference/components/datepicker/examples/sizes.tsx +22 -0
  480. package/dist/skill/reference/components/datepicker/examples/states.tsx +20 -0
  481. package/dist/skill/reference/components/datepicker/examples/validation.tsx +36 -0
  482. package/dist/skill/reference/components/datepicker/examples/yearless.tsx +20 -0
  483. package/dist/skill/reference/components/description-list/COMPONENT.md +132 -0
  484. package/dist/skill/reference/components/description-list/examples/examples.module.css +41 -0
  485. package/dist/skill/reference/components/description-list/examples/narrow.tsx +20 -0
  486. package/dist/skill/reference/components/description-list/examples/overview.tsx +35 -0
  487. package/dist/skill/reference/components/description-list/examples/sizes.tsx +24 -0
  488. package/dist/skill/reference/components/description-list/examples/structure.tsx +29 -0
  489. package/dist/skill/reference/components/description-list/examples/vertical.tsx +21 -0
  490. package/dist/skill/reference/components/digit-input/COMPONENT.md +165 -0
  491. package/dist/skill/reference/components/digit-input/examples/controlled.tsx +23 -0
  492. package/dist/skill/reference/components/digit-input/examples/examples.module.css +25 -0
  493. package/dist/skill/reference/components/digit-input/examples/full-width.tsx +13 -0
  494. package/dist/skill/reference/components/digit-input/examples/grouped.tsx +11 -0
  495. package/dist/skill/reference/components/digit-input/examples/in-form.tsx +50 -0
  496. package/dist/skill/reference/components/digit-input/examples/on-complete.tsx +33 -0
  497. package/dist/skill/reference/components/digit-input/examples/overview.tsx +6 -0
  498. package/dist/skill/reference/components/digit-input/examples/sizes.tsx +14 -0
  499. package/dist/skill/reference/components/digit-input/examples/states.tsx +11 -0
  500. package/dist/skill/reference/components/digit-input/examples/validation.tsx +24 -0
  501. package/dist/skill/reference/components/divider/COMPONENT.md +113 -0
  502. package/dist/skill/reference/components/divider/examples/align.tsx +14 -0
  503. package/dist/skill/reference/components/divider/examples/examples.module.css +30 -0
  504. package/dist/skill/reference/components/divider/examples/or-separator.tsx +19 -0
  505. package/dist/skill/reference/components/divider/examples/overview.tsx +30 -0
  506. package/dist/skill/reference/components/divider/examples/sizes.tsx +19 -0
  507. package/dist/skill/reference/components/divider/examples/vertical.tsx +21 -0
  508. package/dist/skill/reference/components/divider/examples/with-icon.tsx +26 -0
  509. package/dist/skill/reference/components/dnd/COMPONENT.md +260 -0
  510. package/dist/skill/reference/components/dnd/examples/board.tsx +91 -0
  511. package/dist/skill/reference/components/dnd/examples/drop-zones.tsx +82 -0
  512. package/dist/skill/reference/components/dnd/examples/examples.module.css +112 -0
  513. package/dist/skill/reference/components/dnd/examples/grid.tsx +48 -0
  514. package/dist/skill/reference/components/dnd/examples/handle.tsx +58 -0
  515. package/dist/skill/reference/components/dnd/examples/locked.tsx +57 -0
  516. package/dist/skill/reference/components/dnd/examples/narrow.tsx +42 -0
  517. package/dist/skill/reference/components/dnd/examples/overview.tsx +45 -0
  518. package/dist/skill/reference/components/drawer/COMPONENT.md +229 -0
  519. package/dist/skill/reference/components/drawer/examples/controlled-open.tsx +40 -0
  520. package/dist/skill/reference/components/drawer/examples/dismiss.tsx +55 -0
  521. package/dist/skill/reference/components/drawer/examples/examples.module.css +21 -0
  522. package/dist/skill/reference/components/drawer/examples/guard.tsx +80 -0
  523. package/dist/skill/reference/components/drawer/examples/header-actions.tsx +63 -0
  524. package/dist/skill/reference/components/drawer/examples/in-form.tsx +87 -0
  525. package/dist/skill/reference/components/drawer/examples/long-content.tsx +40 -0
  526. package/dist/skill/reference/components/drawer/examples/overview.tsx +56 -0
  527. package/dist/skill/reference/components/drawer/examples/placement.tsx +40 -0
  528. package/dist/skill/reference/components/drawer/examples/sizes.tsx +43 -0
  529. package/dist/skill/reference/components/drawer/examples/structure.tsx +35 -0
  530. package/dist/skill/reference/components/dropdown/COMPONENT.md +235 -0
  531. package/dist/skill/reference/components/dropdown/examples/checkbox-items.tsx +48 -0
  532. package/dist/skill/reference/components/dropdown/examples/controlled-open.tsx +32 -0
  533. package/dist/skill/reference/components/dropdown/examples/dismiss.tsx +17 -0
  534. package/dist/skill/reference/components/dropdown/examples/examples.module.css +22 -0
  535. package/dist/skill/reference/components/dropdown/examples/item-description.tsx +30 -0
  536. package/dist/skill/reference/components/dropdown/examples/link-items.tsx +29 -0
  537. package/dist/skill/reference/components/dropdown/examples/long-list.tsx +42 -0
  538. package/dist/skill/reference/components/dropdown/examples/match-trigger-width.tsx +23 -0
  539. package/dist/skill/reference/components/dropdown/examples/overview.tsx +41 -0
  540. package/dist/skill/reference/components/dropdown/examples/placement.tsx +33 -0
  541. package/dist/skill/reference/components/dropdown/examples/sizes.tsx +43 -0
  542. package/dist/skill/reference/components/dropdown/examples/states.tsx +35 -0
  543. package/dist/skill/reference/components/dropdown/examples/structure.tsx +56 -0
  544. package/dist/skill/reference/components/empty-page/COMPONENT.md +167 -0
  545. package/dist/skill/reference/components/empty-page/examples/compact.tsx +23 -0
  546. package/dist/skill/reference/components/empty-page/examples/data-region.tsx +32 -0
  547. package/dist/skill/reference/components/empty-page/examples/examples.module.css +54 -0
  548. package/dist/skill/reference/components/empty-page/examples/narrow.tsx +26 -0
  549. package/dist/skill/reference/components/empty-page/examples/overview.tsx +22 -0
  550. package/dist/skill/reference/components/empty-page/examples/region-error.tsx +86 -0
  551. package/dist/skill/reference/components/empty-page/examples/sizes.tsx +25 -0
  552. package/{src/components/empty-page/examples/icon-tones.tsx → dist/skill/reference/components/empty-page/examples/variants.tsx} +10 -9
  553. package/dist/skill/reference/components/example-frame/COMPONENT.md +140 -0
  554. package/dist/skill/reference/components/example-frame/examples/controlled.tsx +42 -0
  555. package/dist/skill/reference/components/example-frame/examples/overview.tsx +16 -0
  556. package/dist/skill/reference/components/fieldset/COMPONENT.md +107 -0
  557. package/dist/skill/reference/components/fieldset/examples/examples.module.css +14 -0
  558. package/dist/skill/reference/components/fieldset/examples/in-form.tsx +59 -0
  559. package/dist/skill/reference/components/fieldset/examples/overview.tsx +22 -0
  560. package/dist/skill/reference/components/fieldset/examples/states.tsx +35 -0
  561. package/dist/skill/reference/components/file-upload/COMPONENT.md +407 -0
  562. package/dist/skill/reference/components/file-upload/examples/attachment-tray.tsx +99 -0
  563. package/dist/skill/reference/components/file-upload/examples/avatar-upload.tsx +56 -0
  564. package/dist/skill/reference/components/file-upload/examples/controlled.tsx +77 -0
  565. package/dist/skill/reference/components/file-upload/examples/custom-body.tsx +44 -0
  566. package/dist/skill/reference/components/file-upload/examples/examples.module.css +122 -0
  567. package/dist/skill/reference/components/file-upload/examples/file-cards.tsx +64 -0
  568. package/dist/skill/reference/components/file-upload/examples/gallery.tsx +104 -0
  569. package/dist/skill/reference/components/file-upload/examples/in-form.tsx +79 -0
  570. package/dist/skill/reference/components/file-upload/examples/narrow.tsx +73 -0
  571. package/dist/skill/reference/components/file-upload/examples/overview.tsx +49 -0
  572. package/dist/skill/reference/components/file-upload/examples/row-parts.tsx +41 -0
  573. package/dist/skill/reference/components/file-upload/examples/saving.tsx +71 -0
  574. package/dist/skill/reference/components/file-upload/examples/sizes.tsx +26 -0
  575. package/dist/skill/reference/components/file-upload/examples/states.tsx +23 -0
  576. package/dist/skill/reference/components/file-upload/examples/validation.tsx +42 -0
  577. package/dist/skill/reference/components/file-upload/examples/variants.tsx +32 -0
  578. package/dist/skill/reference/components/gallery/COMPONENT.md +151 -0
  579. package/dist/skill/reference/components/gallery/examples/controlled-open.tsx +39 -0
  580. package/dist/skill/reference/components/gallery/examples/examples.module.css +14 -0
  581. package/dist/skill/reference/components/gallery/examples/overview.tsx +52 -0
  582. package/dist/skill/reference/components/gallery/examples/transfer.tsx +45 -0
  583. package/dist/skill/reference/components/gantt/COMPONENT.md +224 -0
  584. package/dist/skill/reference/components/gantt/examples/controlled.tsx +72 -0
  585. package/dist/skill/reference/components/gantt/examples/examples.module.css +30 -0
  586. package/dist/skill/reference/components/gantt/examples/large.tsx +96 -0
  587. package/dist/skill/reference/components/gantt/examples/narrow.tsx +54 -0
  588. package/dist/skill/reference/components/gantt/examples/occupancy.tsx +149 -0
  589. package/dist/skill/reference/components/gantt/examples/overview.tsx +82 -0
  590. package/dist/skill/reference/components/gantt/examples/sizes.tsx +48 -0
  591. package/dist/skill/reference/components/gantt/examples/states.tsx +68 -0
  592. package/dist/skill/reference/components/gantt/examples/variants.tsx +82 -0
  593. package/dist/skill/reference/components/hint/COMPONENT.md +113 -0
  594. package/dist/skill/reference/components/hint/examples/examples.module.css +14 -0
  595. package/dist/skill/reference/components/hint/examples/hint-or-error.tsx +27 -0
  596. package/dist/skill/reference/components/hint/examples/overview.tsx +22 -0
  597. package/dist/skill/reference/components/hint/examples/sizes.tsx +19 -0
  598. package/dist/skill/reference/components/hint/examples/states.tsx +27 -0
  599. package/dist/skill/reference/components/hint/examples/with-icon.tsx +31 -0
  600. package/dist/skill/reference/components/input/COMPONENT.md +297 -0
  601. package/dist/skill/reference/components/input/examples/affixes.tsx +22 -0
  602. package/dist/skill/reference/components/input/examples/controlled.tsx +39 -0
  603. package/dist/skill/reference/components/input/examples/edge-actions.tsx +30 -0
  604. package/dist/skill/reference/components/input/examples/examples.module.css +38 -0
  605. package/dist/skill/reference/components/input/examples/in-form.tsx +107 -0
  606. package/dist/skill/reference/components/input/examples/inline-edit.tsx +52 -0
  607. package/dist/skill/reference/components/input/examples/overview.tsx +12 -0
  608. package/dist/skill/reference/components/input/examples/password-strength.tsx +13 -0
  609. package/dist/skill/reference/components/input/examples/sizes.tsx +18 -0
  610. package/dist/skill/reference/components/input/examples/states.tsx +27 -0
  611. package/dist/skill/reference/components/input/examples/validation.tsx +60 -0
  612. package/dist/skill/reference/components/input/examples/with-icon.tsx +25 -0
  613. package/dist/skill/reference/components/input/examples/without-focus-ring.tsx +25 -0
  614. package/dist/skill/reference/components/kanban/COMPONENT.md +239 -0
  615. package/dist/skill/reference/components/kanban/examples/cards.tsx +152 -0
  616. package/dist/skill/reference/components/kanban/examples/columns.tsx +182 -0
  617. package/dist/skill/reference/components/kanban/examples/controlled.tsx +78 -0
  618. package/dist/skill/reference/components/kanban/examples/examples.module.css +37 -0
  619. package/dist/skill/reference/components/kanban/examples/limits.tsx +60 -0
  620. package/dist/skill/reference/components/kanban/examples/narrow.tsx +76 -0
  621. package/dist/skill/reference/components/kanban/examples/overview.tsx +130 -0
  622. package/dist/skill/reference/components/kanban/examples/saving.tsx +83 -0
  623. package/dist/skill/reference/components/kanban/examples/states.tsx +75 -0
  624. package/dist/skill/reference/components/kanban/examples/structure.tsx +76 -0
  625. package/dist/skill/reference/components/kanban/examples/variants.tsx +57 -0
  626. package/dist/skill/reference/components/kbd/COMPONENT.md +99 -0
  627. package/dist/skill/reference/components/kbd/examples/examples.module.css +37 -0
  628. package/dist/skill/reference/components/kbd/examples/in-controls.tsx +34 -0
  629. package/dist/skill/reference/components/kbd/examples/overview.tsx +24 -0
  630. package/dist/skill/reference/components/kbd/examples/shortcut-list.tsx +49 -0
  631. package/dist/skill/reference/components/kbd/examples/sizes.tsx +19 -0
  632. package/dist/skill/reference/components/label/COMPONENT.md +126 -0
  633. package/dist/skill/reference/components/label/examples/examples.module.css +16 -0
  634. package/dist/skill/reference/components/label/examples/overview.tsx +20 -0
  635. package/dist/skill/reference/components/label/examples/sizes.tsx +19 -0
  636. package/dist/skill/reference/components/label/examples/states.tsx +23 -0
  637. package/dist/skill/reference/components/label/examples/structure.tsx +32 -0
  638. package/dist/skill/reference/components/label/examples/with-icon.tsx +31 -0
  639. package/dist/skill/reference/components/link-button/COMPONENT.md +128 -0
  640. package/dist/skill/reference/components/link-button/examples/as-child.tsx +18 -0
  641. package/dist/skill/reference/components/link-button/examples/external-link.tsx +14 -0
  642. package/dist/skill/reference/components/link-button/examples/overview.tsx +11 -0
  643. package/dist/skill/reference/components/link-button/examples/sizes.tsx +21 -0
  644. package/dist/skill/reference/components/link-button/examples/states.tsx +31 -0
  645. package/dist/skill/reference/components/link-button/examples/variants.tsx +21 -0
  646. package/dist/skill/reference/components/link-button/examples/with-icon.tsx +27 -0
  647. package/dist/skill/reference/components/login-form/COMPONENT.md +163 -0
  648. package/dist/skill/reference/components/login-form/examples/examples.module.css +39 -0
  649. package/dist/skill/reference/components/login-form/examples/forgot-password.tsx +39 -0
  650. package/dist/skill/reference/components/login-form/examples/narrow.tsx +32 -0
  651. package/dist/skill/reference/components/login-form/examples/overview.tsx +58 -0
  652. package/dist/skill/reference/components/login-form/examples/register.tsx +80 -0
  653. package/dist/skill/reference/components/login-form/examples/reset-password.tsx +60 -0
  654. package/dist/skill/reference/components/login-form/examples/sizes.tsx +38 -0
  655. package/dist/skill/reference/components/login-form/examples/states.tsx +71 -0
  656. package/dist/skill/reference/components/login-form/examples/structure.tsx +28 -0
  657. package/dist/skill/reference/components/login-form/examples/verification-code.tsx +57 -0
  658. package/dist/skill/reference/components/media-viewer/COMPONENT.md +207 -0
  659. package/dist/skill/reference/components/media-viewer/examples/actions.tsx +86 -0
  660. package/dist/skill/reference/components/media-viewer/examples/controlled-open.tsx +30 -0
  661. package/dist/skill/reference/components/media-viewer/examples/controlled.tsx +54 -0
  662. package/dist/skill/reference/components/media-viewer/examples/dismiss.tsx +34 -0
  663. package/dist/skill/reference/components/media-viewer/examples/examples.module.css +16 -0
  664. package/dist/skill/reference/components/media-viewer/examples/origin.tsx +60 -0
  665. package/dist/skill/reference/components/media-viewer/examples/overview.tsx +75 -0
  666. package/dist/skill/reference/components/media-viewer/examples/thumbnails.tsx +49 -0
  667. package/dist/skill/reference/components/media-viewer/examples/video.tsx +55 -0
  668. package/dist/skill/reference/components/message/COMPONENT.md +444 -0
  669. package/dist/skill/reference/components/message/examples/author.tsx +74 -0
  670. package/dist/skill/reference/components/message/examples/contact.tsx +24 -0
  671. package/dist/skill/reference/components/message/examples/context-menu.tsx +71 -0
  672. package/dist/skill/reference/components/message/examples/examples.module.css +18 -0
  673. package/dist/skill/reference/components/message/examples/file.tsx +79 -0
  674. package/dist/skill/reference/components/message/examples/kinds.tsx +93 -0
  675. package/dist/skill/reference/components/message/examples/link-preview.tsx +17 -0
  676. package/dist/skill/reference/components/message/examples/location.tsx +30 -0
  677. package/dist/skill/reference/components/message/examples/media.tsx +93 -0
  678. package/dist/skill/reference/components/message/examples/narrow.tsx +29 -0
  679. package/dist/skill/reference/components/message/examples/overview.tsx +52 -0
  680. package/dist/skill/reference/components/message/examples/reactions.tsx +73 -0
  681. package/dist/skill/reference/components/message/examples/status.tsx +45 -0
  682. package/dist/skill/reference/components/message/examples/structure.tsx +32 -0
  683. package/dist/skill/reference/components/message/examples/text-formatting.tsx +27 -0
  684. package/dist/skill/reference/components/message/examples/typing.tsx +22 -0
  685. package/dist/skill/reference/components/message/examples/voice.tsx +39 -0
  686. package/dist/skill/reference/components/modal/COMPONENT.md +247 -0
  687. package/dist/skill/reference/components/modal/examples/controlled-open.tsx +33 -0
  688. package/dist/skill/reference/components/modal/examples/custom-container.tsx +29 -0
  689. package/dist/skill/reference/components/modal/examples/dismiss.tsx +54 -0
  690. package/dist/skill/reference/components/modal/examples/examples.module.css +21 -0
  691. package/dist/skill/reference/components/modal/examples/guard.tsx +87 -0
  692. package/dist/skill/reference/components/modal/examples/in-form.tsx +83 -0
  693. package/dist/skill/reference/components/modal/examples/long-content.tsx +52 -0
  694. package/dist/skill/reference/components/modal/examples/overview.tsx +35 -0
  695. package/dist/skill/reference/components/modal/examples/sizes.tsx +48 -0
  696. package/dist/skill/reference/components/modal/examples/structure.tsx +53 -0
  697. package/dist/skill/reference/components/native-select/COMPONENT.md +132 -0
  698. package/dist/skill/reference/components/native-select/examples/controlled.tsx +26 -0
  699. package/dist/skill/reference/components/native-select/examples/examples.module.css +16 -0
  700. package/dist/skill/reference/components/native-select/examples/in-form.tsx +58 -0
  701. package/dist/skill/reference/components/native-select/examples/option-groups.tsx +17 -0
  702. package/dist/skill/reference/components/native-select/examples/overview.tsx +16 -0
  703. package/dist/skill/reference/components/native-select/examples/sizes.tsx +18 -0
  704. package/dist/skill/reference/components/native-select/examples/states.tsx +21 -0
  705. package/dist/skill/reference/components/native-select/examples/validation.tsx +31 -0
  706. package/dist/skill/reference/components/notification/COMPONENT.md +193 -0
  707. package/dist/skill/reference/components/notification/examples/dismiss.tsx +50 -0
  708. package/dist/skill/reference/components/notification/examples/examples.module.css +52 -0
  709. package/dist/skill/reference/components/notification/examples/in-form.tsx +64 -0
  710. package/dist/skill/reference/components/notification/examples/overview.tsx +24 -0
  711. package/dist/skill/reference/components/notification/examples/placement.tsx +66 -0
  712. package/dist/skill/reference/components/notification/examples/sizes.tsx +22 -0
  713. package/dist/skill/reference/components/notification/examples/stacking.tsx +45 -0
  714. package/dist/skill/reference/components/notification/examples/structure.tsx +20 -0
  715. package/dist/skill/reference/components/notification/examples/tones.tsx +25 -0
  716. package/dist/skill/reference/components/notification/examples/undo.tsx +61 -0
  717. package/dist/skill/reference/components/page-content/COMPONENT.md +215 -0
  718. package/dist/skill/reference/components/page-content/examples/examples.module.css +76 -0
  719. package/dist/skill/reference/components/page-content/examples/list-detail.tsx +114 -0
  720. package/dist/skill/reference/components/page-content/examples/narrow.tsx +25 -0
  721. package/dist/skill/reference/components/page-content/examples/overview.tsx +41 -0
  722. package/dist/skill/reference/components/page-content/examples/variants.tsx +39 -0
  723. package/dist/skill/reference/components/page-toolbar/COMPONENT.md +141 -0
  724. package/dist/skill/reference/components/page-toolbar/examples/examples.module.css +16 -0
  725. package/dist/skill/reference/components/page-toolbar/examples/narrow.tsx +103 -0
  726. package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +113 -0
  727. package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +40 -0
  728. package/dist/skill/reference/components/page-toolbar/examples/without-search.tsx +60 -0
  729. package/dist/skill/reference/components/pagination/COMPONENT.md +132 -0
  730. package/dist/skill/reference/components/pagination/examples/controlled.tsx +51 -0
  731. package/dist/skill/reference/components/pagination/examples/examples.module.css +24 -0
  732. package/dist/skill/reference/components/pagination/examples/narrow.tsx +25 -0
  733. package/dist/skill/reference/components/pagination/examples/overflow.tsx +23 -0
  734. package/dist/skill/reference/components/pagination/examples/overview.tsx +6 -0
  735. package/dist/skill/reference/components/pagination/examples/sizes.tsx +19 -0
  736. package/dist/skill/reference/components/popover/COMPONENT.md +183 -0
  737. package/dist/skill/reference/components/popover/examples/controlled-open.tsx +32 -0
  738. package/dist/skill/reference/components/popover/examples/dismiss.tsx +49 -0
  739. package/dist/skill/reference/components/popover/examples/examples.module.css +49 -0
  740. package/dist/skill/reference/components/popover/examples/flush.tsx +47 -0
  741. package/dist/skill/reference/components/popover/examples/from-menu.tsx +56 -0
  742. package/dist/skill/reference/components/popover/examples/in-form.tsx +76 -0
  743. package/dist/skill/reference/components/popover/examples/match-trigger-width.tsx +23 -0
  744. package/dist/skill/reference/components/popover/examples/overview.tsx +43 -0
  745. package/dist/skill/reference/components/popover/examples/placement.tsx +34 -0
  746. package/dist/skill/reference/components/popover/examples/sizes.tsx +36 -0
  747. package/dist/skill/reference/components/popover/examples/structure.tsx +50 -0
  748. package/dist/skill/reference/components/progress-bar/COMPONENT.md +199 -0
  749. package/dist/skill/reference/components/progress-bar/examples/custom-max.tsx +12 -0
  750. package/dist/skill/reference/components/progress-bar/examples/examples.module.css +17 -0
  751. package/dist/skill/reference/components/progress-bar/examples/legend.tsx +28 -0
  752. package/dist/skill/reference/components/progress-bar/examples/milestone.tsx +43 -0
  753. package/dist/skill/reference/components/progress-bar/examples/overview.tsx +12 -0
  754. package/dist/skill/reference/components/progress-bar/examples/ranking.tsx +28 -0
  755. package/dist/skill/reference/components/progress-bar/examples/segments.tsx +32 -0
  756. package/dist/skill/reference/components/progress-bar/examples/sizes.tsx +19 -0
  757. package/dist/skill/reference/components/progress-bar/examples/states.tsx +43 -0
  758. package/dist/skill/reference/components/progress-bar/examples/steps.tsx +35 -0
  759. package/dist/skill/reference/components/progress-bar/examples/variants.tsx +34 -0
  760. package/dist/skill/reference/components/progress-circle/COMPONENT.md +189 -0
  761. package/dist/skill/reference/components/progress-circle/examples/examples.module.css +22 -0
  762. package/dist/skill/reference/components/progress-circle/examples/inner-content.tsx +35 -0
  763. package/dist/skill/reference/components/progress-circle/examples/legend.tsx +33 -0
  764. package/dist/skill/reference/components/progress-circle/examples/overview.tsx +10 -0
  765. package/dist/skill/reference/components/progress-circle/examples/segments.tsx +64 -0
  766. package/dist/skill/reference/components/progress-circle/examples/sizes.tsx +21 -0
  767. package/dist/skill/reference/components/progress-circle/examples/states.tsx +25 -0
  768. package/dist/skill/reference/components/progress-circle/examples/under-way.tsx +54 -0
  769. package/dist/skill/reference/components/progress-circle/examples/variants.tsx +28 -0
  770. package/dist/skill/reference/components/radio/COMPONENT.md +165 -0
  771. package/dist/skill/reference/components/radio/examples/controlled.tsx +30 -0
  772. package/dist/skill/reference/components/radio/examples/group.tsx +23 -0
  773. package/dist/skill/reference/components/radio/examples/orientation.tsx +34 -0
  774. package/dist/skill/reference/components/radio/examples/overview.tsx +18 -0
  775. package/dist/skill/reference/components/radio/examples/sizes.tsx +20 -0
  776. package/dist/skill/reference/components/radio/examples/states.tsx +48 -0
  777. package/dist/skill/reference/components/scroll-container/COMPONENT.md +179 -0
  778. package/dist/skill/reference/components/scroll-container/examples/auto-scroll.tsx +52 -0
  779. package/dist/skill/reference/components/scroll-container/examples/chat.tsx +101 -0
  780. package/dist/skill/reference/components/scroll-container/examples/edges.tsx +43 -0
  781. package/dist/skill/reference/components/scroll-container/examples/examples.module.css +139 -0
  782. package/dist/skill/reference/components/scroll-container/examples/lock.tsx +49 -0
  783. package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +27 -0
  784. package/dist/skill/reference/components/scroll-container/examples/overview.tsx +27 -0
  785. package/dist/skill/reference/components/scroll-container/examples/scrollbar.tsx +52 -0
  786. package/dist/skill/reference/components/scroll-container/examples/snap.tsx +36 -0
  787. package/dist/skill/reference/components/scroll-container/examples/variants.tsx +54 -0
  788. package/dist/skill/reference/components/segmented-control/COMPONENT.md +214 -0
  789. package/dist/skill/reference/components/segmented-control/examples/colors.tsx +18 -0
  790. package/dist/skill/reference/components/segmented-control/examples/controlled.tsx +28 -0
  791. package/dist/skill/reference/components/segmented-control/examples/examples.module.css +20 -0
  792. package/dist/skill/reference/components/segmented-control/examples/full-width.tsx +12 -0
  793. package/dist/skill/reference/components/segmented-control/examples/in-form.tsx +42 -0
  794. package/dist/skill/reference/components/segmented-control/examples/overview.tsx +12 -0
  795. package/dist/skill/reference/components/segmented-control/examples/scroll.tsx +16 -0
  796. package/dist/skill/reference/components/segmented-control/examples/sizes.tsx +22 -0
  797. package/dist/skill/reference/components/segmented-control/examples/states.tsx +47 -0
  798. package/dist/skill/reference/components/segmented-control/examples/two-line.tsx +28 -0
  799. package/dist/skill/reference/components/segmented-control/examples/with-icon.tsx +52 -0
  800. package/dist/skill/reference/components/select/COMPONENT.md +300 -0
  801. package/dist/skill/reference/components/select/examples/clearable.tsx +23 -0
  802. package/dist/skill/reference/components/select/examples/controlled-open.tsx +30 -0
  803. package/dist/skill/reference/components/select/examples/controlled.tsx +34 -0
  804. package/dist/skill/reference/components/select/examples/examples.module.css +35 -0
  805. package/dist/skill/reference/components/select/examples/in-form.tsx +88 -0
  806. package/dist/skill/reference/components/select/examples/load-error.tsx +45 -0
  807. package/dist/skill/reference/components/select/examples/multiple.tsx +26 -0
  808. package/dist/skill/reference/components/select/examples/overview.tsx +17 -0
  809. package/dist/skill/reference/components/select/examples/people.tsx +53 -0
  810. package/dist/skill/reference/components/select/examples/rich-options.tsx +72 -0
  811. package/dist/skill/reference/components/select/examples/searchable.tsx +42 -0
  812. package/dist/skill/reference/components/select/examples/server-search.tsx +93 -0
  813. package/dist/skill/reference/components/select/examples/sizes.tsx +23 -0
  814. package/dist/skill/reference/components/select/examples/states.tsx +67 -0
  815. package/dist/skill/reference/components/select/examples/validation.tsx +46 -0
  816. package/dist/skill/reference/components/select/examples/with-icon.tsx +35 -0
  817. package/dist/skill/reference/components/sheet/COMPONENT.md +216 -0
  818. package/dist/skill/reference/components/sheet/examples/controlled-open.tsx +37 -0
  819. package/dist/skill/reference/components/sheet/examples/dismiss.tsx +42 -0
  820. package/dist/skill/reference/components/sheet/examples/examples.module.css +13 -0
  821. package/dist/skill/reference/components/sheet/examples/in-form.tsx +65 -0
  822. package/dist/skill/reference/components/sheet/examples/overview.tsx +50 -0
  823. package/{src/components/drawer/examples/date-sheet.tsx → dist/skill/reference/components/sheet/examples/structure.tsx} +11 -17
  824. package/dist/skill/reference/components/skeleton/COMPONENT.md +104 -0
  825. package/dist/skill/reference/components/skeleton/examples/examples.module.css +89 -0
  826. package/dist/skill/reference/components/skeleton/examples/form.tsx +20 -0
  827. package/dist/skill/reference/components/skeleton/examples/overview.tsx +21 -0
  828. package/dist/skill/reference/components/skeleton/examples/sizes.tsx +24 -0
  829. package/dist/skill/reference/components/skeleton/examples/with-crossfade.tsx +68 -0
  830. package/dist/skill/reference/components/slider/COMPONENT.md +186 -0
  831. package/dist/skill/reference/components/slider/examples/autosave.tsx +39 -0
  832. package/dist/skill/reference/components/slider/examples/controlled.tsx +39 -0
  833. package/dist/skill/reference/components/slider/examples/examples.module.css +24 -0
  834. package/dist/skill/reference/components/slider/examples/hint-and-error.tsx +33 -0
  835. package/dist/skill/reference/components/slider/examples/orientation.tsx +27 -0
  836. package/dist/skill/reference/components/slider/examples/overview.tsx +6 -0
  837. package/dist/skill/reference/components/slider/examples/range-step.tsx +19 -0
  838. package/dist/skill/reference/components/slider/examples/sizes.tsx +18 -0
  839. package/dist/skill/reference/components/slider/examples/states.tsx +18 -0
  840. package/dist/skill/reference/components/slider/examples/value-format.tsx +32 -0
  841. package/dist/skill/reference/components/slider/examples/variants.tsx +23 -0
  842. package/dist/skill/reference/components/smart-filter/COMPONENT.md +235 -0
  843. package/dist/skill/reference/components/smart-filter/examples/controlled.tsx +48 -0
  844. package/dist/skill/reference/components/smart-filter/examples/examples.module.css +56 -0
  845. package/dist/skill/reference/components/smart-filter/examples/many-values.tsx +53 -0
  846. package/dist/skill/reference/components/smart-filter/examples/narrow.tsx +38 -0
  847. package/dist/skill/reference/components/smart-filter/examples/option-groups.tsx +40 -0
  848. package/dist/skill/reference/components/smart-filter/examples/overview.tsx +109 -0
  849. package/dist/skill/reference/components/smart-filter/examples/ranges.tsx +89 -0
  850. package/dist/skill/reference/components/smart-filter/examples/single-value.tsx +41 -0
  851. package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +33 -0
  852. package/dist/skill/reference/components/sparkline/COMPONENT.md +127 -0
  853. package/dist/skill/reference/components/sparkline/examples/examples.module.css +13 -0
  854. package/dist/skill/reference/components/sparkline/examples/overview.tsx +27 -0
  855. package/dist/skill/reference/components/sparkline/examples/period.tsx +46 -0
  856. package/dist/skill/reference/components/sparkline/examples/signed-bars.tsx +41 -0
  857. package/dist/skill/reference/components/sparkline/examples/states.tsx +30 -0
  858. package/dist/skill/reference/components/sparkline/examples/variants.tsx +29 -0
  859. package/dist/skill/reference/components/spinner/COMPONENT.md +114 -0
  860. package/dist/skill/reference/components/spinner/examples/examples.module.css +20 -0
  861. package/dist/skill/reference/components/spinner/examples/loading-region.tsx +22 -0
  862. package/dist/skill/reference/components/spinner/examples/overview.tsx +15 -0
  863. package/dist/skill/reference/components/spinner/examples/sizes.tsx +19 -0
  864. package/dist/skill/reference/components/spinner/examples/variants.tsx +19 -0
  865. package/dist/skill/reference/components/stepper/COMPONENT.md +176 -0
  866. package/dist/skill/reference/components/stepper/examples/controlled.tsx +46 -0
  867. package/dist/skill/reference/components/stepper/examples/examples.module.css +24 -0
  868. package/dist/skill/reference/components/stepper/examples/narrow.tsx +23 -0
  869. package/dist/skill/reference/components/stepper/examples/orientation.tsx +35 -0
  870. package/dist/skill/reference/components/stepper/examples/overview.tsx +28 -0
  871. package/dist/skill/reference/components/stepper/examples/sizes.tsx +31 -0
  872. package/dist/skill/reference/components/stepper/examples/states.tsx +49 -0
  873. package/dist/skill/reference/components/stepper/examples/with-icon.tsx +29 -0
  874. package/dist/skill/reference/components/switch/COMPONENT.md +147 -0
  875. package/dist/skill/reference/components/switch/examples/controlled.tsx +17 -0
  876. package/dist/skill/reference/components/switch/examples/examples.module.css +30 -0
  877. package/dist/skill/reference/components/switch/examples/in-form.tsx +36 -0
  878. package/dist/skill/reference/components/switch/examples/overview.tsx +10 -0
  879. package/dist/skill/reference/components/switch/examples/saving.tsx +53 -0
  880. package/dist/skill/reference/components/switch/examples/settings-row.tsx +24 -0
  881. package/dist/skill/reference/components/switch/examples/sizes.tsx +18 -0
  882. package/dist/skill/reference/components/switch/examples/states.tsx +48 -0
  883. package/dist/skill/reference/components/tabs/COMPONENT.md +276 -0
  884. package/dist/skill/reference/components/tabs/examples/closable.tsx +48 -0
  885. package/dist/skill/reference/components/tabs/examples/controlled.tsx +33 -0
  886. package/dist/skill/reference/components/tabs/examples/examples.module.css +38 -0
  887. package/dist/skill/reference/components/tabs/examples/in-drawer.tsx +100 -0
  888. package/dist/skill/reference/components/tabs/examples/orientation.tsx +94 -0
  889. package/dist/skill/reference/components/tabs/examples/overflow.tsx +60 -0
  890. package/dist/skill/reference/components/tabs/examples/overview.tsx +30 -0
  891. package/dist/skill/reference/components/tabs/examples/sizes.tsx +30 -0
  892. package/dist/skill/reference/components/tabs/examples/states.tsx +26 -0
  893. package/dist/skill/reference/components/tabs/examples/two-line.tsx +56 -0
  894. package/dist/skill/reference/components/tabs/examples/variants.tsx +40 -0
  895. package/dist/skill/reference/components/tabs/examples/with-icon.tsx +44 -0
  896. package/dist/skill/reference/components/tag-select/COMPONENT.md +179 -0
  897. package/dist/skill/reference/components/tag-select/examples/confirm-delete.tsx +60 -0
  898. package/dist/skill/reference/components/tag-select/examples/controlled-open.tsx +29 -0
  899. package/dist/skill/reference/components/tag-select/examples/controlled.tsx +26 -0
  900. package/dist/skill/reference/components/tag-select/examples/creatable.tsx +49 -0
  901. package/dist/skill/reference/components/tag-select/examples/examples.module.css +16 -0
  902. package/dist/skill/reference/components/tag-select/examples/in-form.tsx +85 -0
  903. package/dist/skill/reference/components/tag-select/examples/manage-tags.tsx +38 -0
  904. package/dist/skill/reference/components/tag-select/examples/many-tags.tsx +20 -0
  905. package/dist/skill/reference/components/tag-select/examples/overview.tsx +21 -0
  906. package/dist/skill/reference/components/tag-select/examples/sizes.tsx +27 -0
  907. package/dist/skill/reference/components/tag-select/examples/states.tsx +24 -0
  908. package/dist/skill/reference/components/tag-select/examples/validation.tsx +40 -0
  909. package/dist/skill/reference/components/textarea/COMPONENT.md +206 -0
  910. package/dist/skill/reference/components/textarea/examples/auto-resize.tsx +28 -0
  911. package/dist/skill/reference/components/textarea/examples/controlled.tsx +21 -0
  912. package/dist/skill/reference/components/textarea/examples/edge-actions.tsx +24 -0
  913. package/dist/skill/reference/components/textarea/examples/examples.module.css +27 -0
  914. package/dist/skill/reference/components/textarea/examples/in-form.tsx +76 -0
  915. package/dist/skill/reference/components/textarea/examples/inline-edit.tsx +42 -0
  916. package/dist/skill/reference/components/textarea/examples/overview.tsx +12 -0
  917. package/dist/skill/reference/components/textarea/examples/sizes.tsx +20 -0
  918. package/dist/skill/reference/components/textarea/examples/states.tsx +21 -0
  919. package/dist/skill/reference/components/textarea/examples/validation.tsx +50 -0
  920. package/dist/skill/reference/components/textarea/examples/without-focus-ring.tsx +12 -0
  921. package/dist/skill/reference/components/thumbnail/COMPONENT.md +191 -0
  922. package/dist/skill/reference/components/thumbnail/examples/controlled.tsx +61 -0
  923. package/dist/skill/reference/components/thumbnail/examples/examples.module.css +76 -0
  924. package/dist/skill/reference/components/thumbnail/examples/full-width.tsx +45 -0
  925. package/dist/skill/reference/components/thumbnail/examples/overview.tsx +27 -0
  926. package/dist/skill/reference/components/thumbnail/examples/pressable.tsx +56 -0
  927. package/dist/skill/reference/components/thumbnail/examples/ratios.tsx +25 -0
  928. package/dist/skill/reference/components/thumbnail/examples/ring.tsx +29 -0
  929. package/dist/skill/reference/components/thumbnail/examples/sizes.tsx +23 -0
  930. package/dist/skill/reference/components/thumbnail/examples/states.tsx +38 -0
  931. package/dist/skill/reference/components/thumbnail/examples/variants.tsx +28 -0
  932. package/dist/skill/reference/components/thumbnail/examples/video.tsx +46 -0
  933. package/dist/skill/reference/components/timeline/COMPONENT.md +181 -0
  934. package/dist/skill/reference/components/timeline/examples/examples.module.css +25 -0
  935. package/dist/skill/reference/components/timeline/examples/links.tsx +28 -0
  936. package/dist/skill/reference/components/timeline/examples/narrow.tsx +41 -0
  937. package/dist/skill/reference/components/timeline/examples/overview.tsx +47 -0
  938. package/dist/skill/reference/components/timeline/examples/sizes.tsx +33 -0
  939. package/dist/skill/reference/components/timeline/examples/structure.tsx +56 -0
  940. package/dist/skill/reference/components/timeline/examples/variants.tsx +56 -0
  941. package/dist/skill/reference/components/tooltip/COMPONENT.md +167 -0
  942. package/dist/skill/reference/components/tooltip/examples/controlled-open.tsx +23 -0
  943. package/dist/skill/reference/components/tooltip/examples/delay.tsx +25 -0
  944. package/dist/skill/reference/components/tooltip/examples/disabled-trigger.tsx +13 -0
  945. package/dist/skill/reference/components/tooltip/examples/examples.module.css +20 -0
  946. package/dist/skill/reference/components/tooltip/examples/long-content.tsx +18 -0
  947. package/dist/skill/reference/components/tooltip/examples/non-interactive-trigger.tsx +31 -0
  948. package/dist/skill/reference/components/tooltip/examples/overview.tsx +17 -0
  949. package/dist/skill/reference/components/tooltip/examples/placement.tsx +30 -0
  950. package/dist/skill/reference/components/tooltip/examples/sizes.tsx +21 -0
  951. package/dist/skill/reference/components/tooltip/examples/toolbar.tsx +35 -0
  952. package/dist/skill/reference/components/typography/COMPONENT.md +126 -0
  953. package/dist/skill/reference/components/typography/examples/article.tsx +36 -0
  954. package/dist/skill/reference/components/typography/examples/examples.module.css +41 -0
  955. package/dist/skill/reference/components/typography/examples/inline-emphasis.tsx +20 -0
  956. package/dist/skill/reference/components/typography/examples/overview.tsx +20 -0
  957. package/dist/skill/reference/components/typography/examples/semantic-tag.tsx +17 -0
  958. package/dist/skill/reference/components/typography/examples/truncate.tsx +19 -0
  959. package/dist/skill/reference/components/typography/examples/variants.tsx +50 -0
  960. package/dist/skill/reference/components/typography/examples/weights.tsx +31 -0
  961. package/dist/skill/reference/components/video-note/COMPONENT.md +173 -0
  962. package/dist/skill/reference/components/video-note/examples/controlled.tsx +28 -0
  963. package/dist/skill/reference/components/video-note/examples/examples.module.css +4 -0
  964. package/dist/skill/reference/components/video-note/examples/in-message.tsx +22 -0
  965. package/dist/skill/reference/components/video-note/examples/overview.tsx +8 -0
  966. package/dist/skill/reference/components/video-note/examples/states.tsx +74 -0
  967. package/dist/skill/reference/components/video-note/examples/transcript.tsx +29 -0
  968. package/dist/skill/reference/components/video-note/examples/transfer.tsx +76 -0
  969. package/dist/skill/reference/components/visually-hidden/COMPONENT.md +81 -0
  970. package/dist/skill/reference/components/visually-hidden/examples/overview.tsx +22 -0
  971. package/dist/skill/reference/components/voice-player/COMPONENT.md +192 -0
  972. package/dist/skill/reference/components/voice-player/examples/call-recording.tsx +34 -0
  973. package/dist/skill/reference/components/voice-player/examples/controlled.tsx +38 -0
  974. package/dist/skill/reference/components/voice-player/examples/examples.module.css +23 -0
  975. package/dist/skill/reference/components/voice-player/examples/in-message.tsx +29 -0
  976. package/dist/skill/reference/components/voice-player/examples/overview.tsx +13 -0
  977. package/dist/skill/reference/components/voice-player/examples/states.tsx +81 -0
  978. package/dist/skill/reference/components/voice-player/examples/transcript.tsx +50 -0
  979. package/dist/skill/reference/components/voice-player/examples/transfer.tsx +88 -0
  980. package/dist/skill/reference/icon-set.ts +530 -0
  981. package/dist/skill/reference/layout/app-header/COMPONENT.md +203 -0
  982. package/dist/skill/reference/layout/app-header/examples/breadcrumbs.tsx +36 -0
  983. package/dist/skill/reference/layout/app-header/examples/examples.module.css +47 -0
  984. package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +70 -0
  985. package/dist/skill/reference/layout/app-header/examples/narrow.tsx +29 -0
  986. package/dist/skill/reference/layout/app-header/examples/overview.tsx +36 -0
  987. package/dist/skill/reference/layout/app-header/examples/page-title.tsx +85 -0
  988. package/dist/skill/reference/layout/app-shell/COMPONENT.md +156 -0
  989. package/dist/skill/reference/layout/app-shell/examples/contained.tsx +30 -0
  990. package/dist/skill/reference/layout/app-shell/examples/examples.module.css +44 -0
  991. package/dist/skill/reference/layout/app-shell/examples/footer.tsx +59 -0
  992. package/dist/skill/reference/layout/app-shell/examples/overview.tsx +83 -0
  993. package/dist/skill/reference/layout/app-shell/examples/template.tsx +54 -0
  994. package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +169 -0
  995. package/dist/skill/reference/layout/bottom-nav/examples/examples.module.css +46 -0
  996. package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +91 -0
  997. package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +89 -0
  998. package/dist/skill/reference/layout/bottom-nav/examples/icon-only.tsx +41 -0
  999. package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +64 -0
  1000. package/dist/skill/reference/layout/bottom-nav/examples/overview.tsx +44 -0
  1001. package/dist/skill/reference/layout/bottom-nav/examples/router.tsx +31 -0
  1002. package/dist/skill/reference/layout/bottom-nav/examples/structure.tsx +47 -0
  1003. package/dist/skill/reference/layout/sidebar/COMPONENT.md +402 -0
  1004. package/dist/skill/reference/layout/sidebar/examples/account.tsx +88 -0
  1005. package/dist/skill/reference/layout/sidebar/examples/brand-header.tsx +45 -0
  1006. package/dist/skill/reference/layout/sidebar/examples/collapsible-groups.tsx +77 -0
  1007. package/dist/skill/reference/layout/sidebar/examples/controlled-open.tsx +55 -0
  1008. package/dist/skill/reference/layout/sidebar/examples/controlled.tsx +68 -0
  1009. package/dist/skill/reference/layout/sidebar/examples/examples.module.css +64 -0
  1010. package/dist/skill/reference/layout/sidebar/examples/nested-items.tsx +74 -0
  1011. package/dist/skill/reference/layout/sidebar/examples/overview.tsx +126 -0
  1012. package/dist/skill/reference/layout/sidebar/examples/router.tsx +33 -0
  1013. package/dist/skill/reference/layout/sidebar/examples/sizes.tsx +39 -0
  1014. package/dist/skill/reference/layout/sidebar/examples/structure.tsx +81 -0
  1015. package/dist/skill/responsive.md +274 -0
  1016. package/dist/theme/chartColors.d.ts +20 -0
  1017. package/dist/tokens/primitives.d.ts +30 -0
  1018. package/dist/tokens/semantic.d.ts +188 -18
  1019. package/dist/tokens/themes/dark.d.ts +41 -2
  1020. package/package.json +14 -10
  1021. package/src/components/accordion/COMPONENT.md +1 -1
  1022. package/src/components/avatar/COMPONENT.md +5 -3
  1023. package/src/components/avatar/examples/presence.tsx +17 -2
  1024. package/src/components/avatar/examples/team-group.tsx +27 -7
  1025. package/src/components/badge/COMPONENT.md +17 -6
  1026. package/src/components/badge/examples/server-tags.tsx +61 -0
  1027. package/src/components/badge/examples/states.tsx +9 -1
  1028. package/src/components/banner/COMPONENT.md +1 -1
  1029. package/src/components/breadcrumb/COMPONENT.md +2 -2
  1030. package/src/components/button/COMPONENT.md +40 -14
  1031. package/src/components/button/examples/circle.tsx +67 -0
  1032. package/src/components/button/examples/examples.module.css +22 -0
  1033. package/src/components/button/examples/hold-to-confirm.tsx +13 -2
  1034. package/src/components/button/examples/over-media.tsx +36 -0
  1035. package/src/components/button/examples/toggle.tsx +21 -0
  1036. package/src/components/button-group/COMPONENT.md +30 -13
  1037. package/src/components/button-group/examples/in-form.tsx +42 -7
  1038. package/src/components/card/COMPONENT.md +37 -13
  1039. package/src/components/card/examples/interactive.tsx +28 -0
  1040. package/src/components/card/examples/panel-chart.tsx +2 -1
  1041. package/src/components/card/examples/variants.tsx +3 -1
  1042. package/src/components/chart-frame/COMPONENT.md +265 -0
  1043. package/src/components/chart-frame/examples/controlled.tsx +92 -0
  1044. package/src/components/chart-frame/examples/examples.module.css +6 -0
  1045. package/src/components/chart-frame/examples/narrow.tsx +46 -0
  1046. package/src/components/chart-frame/examples/overview.tsx +127 -0
  1047. package/src/components/chart-frame/examples/states.tsx +78 -0
  1048. package/src/components/chart-frame/examples/tooltip.tsx +158 -0
  1049. package/src/components/chat/COMPONENT.md +336 -0
  1050. package/src/components/chat/examples/controlled.tsx +68 -0
  1051. package/src/components/chat/examples/examples.module.css +38 -0
  1052. package/src/components/chat/examples/group-chat.tsx +130 -0
  1053. package/src/components/chat/examples/live.tsx +89 -0
  1054. package/src/components/chat/examples/narrow.tsx +46 -0
  1055. package/src/components/chat/examples/overview.tsx +839 -0
  1056. package/src/components/chat/examples/search.tsx +61 -0
  1057. package/src/components/chat/examples/structure.tsx +28 -0
  1058. package/src/components/checkbox/COMPONENT.md +14 -3
  1059. package/src/components/checkbox/examples/variants.tsx +30 -0
  1060. package/src/components/color-field/COMPONENT.md +163 -0
  1061. package/src/components/color-field/examples/controlled.tsx +33 -0
  1062. package/src/components/color-field/examples/examples.module.css +22 -0
  1063. package/src/components/color-field/examples/in-form.tsx +45 -0
  1064. package/src/components/color-field/examples/overview.tsx +6 -0
  1065. package/src/components/color-field/examples/presets.tsx +20 -0
  1066. package/src/components/color-field/examples/sizes.tsx +14 -0
  1067. package/src/components/color-field/examples/states.tsx +12 -0
  1068. package/src/components/color-field/examples/validation.tsx +29 -0
  1069. package/src/components/color-picker/COMPONENT.md +26 -16
  1070. package/src/components/color-picker/examples/overview.tsx +1 -1
  1071. package/src/components/color-picker/examples/presets-sizes.tsx +3 -1
  1072. package/src/components/color-picker/examples/presets.tsx +5 -3
  1073. package/src/components/color-swatches/COMPONENT.md +13 -12
  1074. package/src/components/color-swatches/examples/sizes.tsx +1 -1
  1075. package/src/components/color-swatches/examples/wrapping.tsx +1 -1
  1076. package/src/components/command-menu/COMPONENT.md +46 -17
  1077. package/src/components/command-menu/examples/controlled.tsx +3 -3
  1078. package/src/components/command-menu/examples/load-error.tsx +65 -0
  1079. package/src/components/command-menu/examples/server-search.tsx +91 -0
  1080. package/src/components/composer/COMPONENT.md +310 -0
  1081. package/src/components/composer/examples/attachments.tsx +36 -0
  1082. package/src/components/composer/examples/controlled.tsx +46 -0
  1083. package/src/components/composer/examples/examples.module.css +30 -0
  1084. package/src/components/composer/examples/formatting.tsx +15 -0
  1085. package/src/components/composer/examples/narrow.tsx +22 -0
  1086. package/src/components/composer/examples/overview.tsx +39 -0
  1087. package/src/components/composer/examples/reply-edit.tsx +68 -0
  1088. package/src/components/composer/examples/sizes.tsx +23 -0
  1089. package/src/components/composer/examples/states.tsx +31 -0
  1090. package/src/components/composer/examples/typing.tsx +24 -0
  1091. package/src/components/composer/examples/voice.tsx +21 -0
  1092. package/src/components/confirm-dialog/COMPONENT.md +124 -0
  1093. package/src/components/confirm-dialog/examples/controlled-open.tsx +35 -0
  1094. package/src/components/confirm-dialog/examples/failure.tsx +37 -0
  1095. package/src/components/confirm-dialog/examples/overview.tsx +24 -0
  1096. package/src/components/confirm-dialog/examples/variants.tsx +44 -0
  1097. package/src/components/crossfade/COMPONENT.md +16 -2
  1098. package/src/components/crossfade/examples/examples.module.css +28 -0
  1099. package/src/components/crossfade/examples/fill.tsx +79 -0
  1100. package/src/components/data-table/COMPONENT.md +136 -29
  1101. package/src/components/data-table/examples/columns-visibility.tsx +26 -42
  1102. package/src/components/data-table/examples/examples.module.css +9 -0
  1103. package/src/components/data-table/examples/fill-height.tsx +55 -0
  1104. package/src/components/data-table/examples/groups.tsx +73 -0
  1105. package/src/components/data-table/examples/heatmap.tsx +44 -0
  1106. package/src/components/data-table/examples/reorder.tsx +61 -0
  1107. package/src/components/data-table/examples/row-link.tsx +100 -0
  1108. package/src/components/data-table/examples/row-open.tsx +129 -0
  1109. package/src/components/data-table/examples/server.tsx +181 -0
  1110. package/src/components/datepicker/COMPONENT.md +14 -10
  1111. package/src/components/datepicker/examples/in-form.tsx +12 -3
  1112. package/src/components/datepicker/examples/inline-panel.tsx +9 -3
  1113. package/src/components/description-list/COMPONENT.md +132 -0
  1114. package/src/components/description-list/examples/examples.module.css +41 -0
  1115. package/src/components/description-list/examples/narrow.tsx +20 -0
  1116. package/src/components/description-list/examples/overview.tsx +35 -0
  1117. package/src/components/description-list/examples/sizes.tsx +24 -0
  1118. package/src/components/description-list/examples/structure.tsx +29 -0
  1119. package/src/components/description-list/examples/vertical.tsx +21 -0
  1120. package/src/components/digit-input/COMPONENT.md +12 -6
  1121. package/src/components/digit-input/examples/on-complete.tsx +19 -7
  1122. package/src/components/divider/COMPONENT.md +1 -1
  1123. package/src/components/dnd/COMPONENT.md +93 -30
  1124. package/src/components/dnd/examples/board.tsx +16 -8
  1125. package/src/components/dnd/examples/drop-zones.tsx +2 -2
  1126. package/src/components/dnd/examples/examples.module.css +23 -0
  1127. package/src/components/dnd/examples/grid.tsx +48 -0
  1128. package/src/components/dnd/examples/handle.tsx +7 -2
  1129. package/src/components/dnd/examples/locked.tsx +57 -0
  1130. package/src/components/dnd/examples/narrow.tsx +1 -1
  1131. package/src/components/drawer/COMPONENT.md +66 -33
  1132. package/src/components/drawer/examples/controlled-open.tsx +8 -1
  1133. package/src/components/drawer/examples/examples.module.css +0 -5
  1134. package/src/components/drawer/examples/guard.tsx +80 -0
  1135. package/src/components/drawer/examples/header-actions.tsx +63 -0
  1136. package/src/components/drawer/examples/overview.tsx +9 -1
  1137. package/src/components/drawer/examples/placement.tsx +9 -4
  1138. package/src/components/drawer/examples/sizes.tsx +7 -0
  1139. package/src/components/dropdown/COMPONENT.md +35 -17
  1140. package/src/components/dropdown/examples/item-description.tsx +30 -0
  1141. package/src/components/dropdown/examples/link-items.tsx +29 -0
  1142. package/src/components/dropdown/examples/overview.tsx +1 -1
  1143. package/src/components/dropdown/examples/structure.tsx +1 -1
  1144. package/src/components/empty-page/COMPONENT.md +44 -16
  1145. package/src/components/empty-page/examples/examples.module.css +19 -2
  1146. package/src/components/empty-page/examples/region-error.tsx +86 -0
  1147. package/src/components/empty-page/examples/variants.tsx +43 -0
  1148. package/src/components/example-frame/COMPONENT.md +3 -2
  1149. package/src/components/fieldset/COMPONENT.md +107 -0
  1150. package/src/components/fieldset/examples/examples.module.css +14 -0
  1151. package/src/components/fieldset/examples/in-form.tsx +59 -0
  1152. package/src/components/fieldset/examples/overview.tsx +22 -0
  1153. package/src/components/fieldset/examples/states.tsx +35 -0
  1154. package/src/components/file-upload/COMPONENT.md +254 -62
  1155. package/src/components/file-upload/examples/attachment-tray.tsx +99 -0
  1156. package/src/components/file-upload/examples/controlled.tsx +77 -0
  1157. package/src/components/file-upload/examples/examples.module.css +38 -7
  1158. package/src/components/file-upload/examples/file-cards.tsx +64 -0
  1159. package/src/components/file-upload/examples/gallery.tsx +104 -0
  1160. package/src/components/file-upload/examples/in-form.tsx +33 -54
  1161. package/src/components/file-upload/examples/narrow.tsx +64 -8
  1162. package/src/components/file-upload/examples/overview.tsx +34 -37
  1163. package/src/components/file-upload/examples/row-parts.tsx +41 -0
  1164. package/src/components/file-upload/examples/saving.tsx +71 -0
  1165. package/src/components/file-upload/examples/sizes.tsx +13 -14
  1166. package/src/components/file-upload/examples/states.tsx +12 -3
  1167. package/src/components/file-upload/examples/validation.tsx +17 -25
  1168. package/src/components/file-upload/examples/variants.tsx +21 -2
  1169. package/src/components/gallery/COMPONENT.md +151 -0
  1170. package/src/components/gallery/examples/controlled-open.tsx +39 -0
  1171. package/src/components/gallery/examples/examples.module.css +14 -0
  1172. package/src/components/gallery/examples/overview.tsx +52 -0
  1173. package/src/components/gallery/examples/transfer.tsx +45 -0
  1174. package/src/components/gantt/COMPONENT.md +224 -0
  1175. package/src/components/gantt/examples/controlled.tsx +72 -0
  1176. package/src/components/gantt/examples/examples.module.css +30 -0
  1177. package/src/components/gantt/examples/large.tsx +96 -0
  1178. package/src/components/gantt/examples/narrow.tsx +54 -0
  1179. package/src/components/gantt/examples/occupancy.tsx +149 -0
  1180. package/src/components/gantt/examples/overview.tsx +82 -0
  1181. package/src/components/gantt/examples/sizes.tsx +48 -0
  1182. package/src/components/gantt/examples/states.tsx +68 -0
  1183. package/src/components/gantt/examples/variants.tsx +82 -0
  1184. package/src/components/hint/COMPONENT.md +3 -3
  1185. package/src/components/hint/examples/overview.tsx +10 -22
  1186. package/src/components/input/COMPONENT.md +69 -13
  1187. package/src/components/input/examples/edge-actions.tsx +30 -0
  1188. package/src/components/input/examples/inline-edit.tsx +52 -0
  1189. package/src/components/input/examples/password-strength.tsx +2 -1
  1190. package/src/components/kanban/COMPONENT.md +94 -36
  1191. package/src/components/kanban/examples/cards.tsx +152 -0
  1192. package/src/components/kanban/examples/columns.tsx +182 -0
  1193. package/src/components/kanban/examples/examples.module.css +6 -0
  1194. package/src/components/kanban/examples/limits.tsx +5 -3
  1195. package/src/components/kanban/examples/saving.tsx +83 -0
  1196. package/src/components/kanban/examples/variants.tsx +57 -0
  1197. package/src/components/label/COMPONENT.md +4 -4
  1198. package/src/components/label/examples/overview.tsx +11 -8
  1199. package/src/components/link-button/COMPONENT.md +3 -1
  1200. package/src/components/login-form/COMPONENT.md +4 -3
  1201. package/src/components/login-form/examples/overview.tsx +2 -2
  1202. package/src/components/login-form/examples/register.tsx +2 -7
  1203. package/src/components/login-form/examples/states.tsx +18 -22
  1204. package/src/components/media-viewer/COMPONENT.md +207 -0
  1205. package/src/components/media-viewer/examples/actions.tsx +86 -0
  1206. package/src/components/media-viewer/examples/controlled-open.tsx +30 -0
  1207. package/src/components/media-viewer/examples/controlled.tsx +54 -0
  1208. package/src/components/media-viewer/examples/dismiss.tsx +34 -0
  1209. package/src/components/media-viewer/examples/examples.module.css +16 -0
  1210. package/src/components/media-viewer/examples/origin.tsx +60 -0
  1211. package/src/components/media-viewer/examples/overview.tsx +75 -0
  1212. package/src/components/media-viewer/examples/thumbnails.tsx +49 -0
  1213. package/src/components/media-viewer/examples/video.tsx +55 -0
  1214. package/src/components/message/COMPONENT.md +444 -0
  1215. package/src/components/message/examples/author.tsx +74 -0
  1216. package/src/components/message/examples/contact.tsx +24 -0
  1217. package/src/components/message/examples/context-menu.tsx +71 -0
  1218. package/src/components/message/examples/examples.module.css +18 -0
  1219. package/src/components/message/examples/file.tsx +79 -0
  1220. package/src/components/message/examples/kinds.tsx +93 -0
  1221. package/src/components/message/examples/link-preview.tsx +17 -0
  1222. package/src/components/message/examples/location.tsx +30 -0
  1223. package/src/components/message/examples/media.tsx +93 -0
  1224. package/src/components/message/examples/narrow.tsx +29 -0
  1225. package/src/components/message/examples/overview.tsx +52 -0
  1226. package/src/components/message/examples/reactions.tsx +73 -0
  1227. package/src/components/message/examples/status.tsx +45 -0
  1228. package/src/components/message/examples/structure.tsx +32 -0
  1229. package/src/components/message/examples/text-formatting.tsx +27 -0
  1230. package/src/components/message/examples/typing.tsx +22 -0
  1231. package/src/components/message/examples/voice.tsx +39 -0
  1232. package/src/components/modal/COMPONENT.md +51 -20
  1233. package/src/components/modal/examples/guard.tsx +87 -0
  1234. package/src/components/modal/examples/sizes.tsx +2 -1
  1235. package/src/components/native-select/COMPONENT.md +1 -1
  1236. package/src/components/notification/COMPONENT.md +4 -1
  1237. package/src/components/notification/examples/examples.module.css +11 -1
  1238. package/src/components/notification/examples/undo.tsx +61 -0
  1239. package/src/components/page-content/COMPONENT.md +78 -11
  1240. package/src/components/page-content/examples/examples.module.css +54 -0
  1241. package/src/components/page-content/examples/list-detail.tsx +114 -0
  1242. package/src/components/page-content/examples/variants.tsx +1 -1
  1243. package/src/components/page-toolbar/COMPONENT.md +21 -22
  1244. package/src/components/page-toolbar/examples/narrow.tsx +4 -4
  1245. package/src/components/page-toolbar/examples/overview.tsx +4 -4
  1246. package/src/components/pagination/COMPONENT.md +1 -1
  1247. package/src/components/popover/COMPONENT.md +15 -7
  1248. package/src/components/popover/examples/examples.module.css +5 -0
  1249. package/src/components/popover/examples/from-menu.tsx +56 -0
  1250. package/src/components/progress-bar/COMPONENT.md +57 -13
  1251. package/src/components/progress-bar/examples/legend.tsx +28 -0
  1252. package/src/components/progress-bar/examples/ranking.tsx +28 -0
  1253. package/src/components/progress-bar/examples/states.tsx +43 -0
  1254. package/src/components/progress-circle/COMPONENT.md +70 -27
  1255. package/src/components/progress-circle/examples/examples.module.css +5 -0
  1256. package/src/components/progress-circle/examples/legend.tsx +33 -0
  1257. package/src/components/progress-circle/examples/states.tsx +25 -0
  1258. package/src/components/progress-circle/examples/under-way.tsx +54 -0
  1259. package/src/components/radio/COMPONENT.md +3 -3
  1260. package/src/components/scroll-container/COMPONENT.md +85 -24
  1261. package/src/components/scroll-container/examples/auto-scroll.tsx +52 -0
  1262. package/src/components/scroll-container/examples/chat.tsx +101 -0
  1263. package/src/components/scroll-container/examples/edges.tsx +43 -0
  1264. package/src/components/scroll-container/examples/examples.module.css +73 -0
  1265. package/src/components/scroll-container/examples/lock.tsx +49 -0
  1266. package/src/components/scroll-container/examples/scrollbar.tsx +52 -0
  1267. package/src/components/scroll-container/examples/snap.tsx +36 -0
  1268. package/src/components/segmented-control/COMPONENT.md +32 -13
  1269. package/src/components/segmented-control/examples/examples.module.css +11 -0
  1270. package/src/components/segmented-control/examples/in-form.tsx +42 -0
  1271. package/src/components/select/COMPONENT.md +89 -21
  1272. package/src/components/select/examples/load-error.tsx +45 -0
  1273. package/src/components/select/examples/people.tsx +53 -0
  1274. package/src/components/select/examples/server-search.tsx +93 -0
  1275. package/src/components/sheet/COMPONENT.md +216 -0
  1276. package/src/components/sheet/examples/controlled-open.tsx +37 -0
  1277. package/src/components/sheet/examples/dismiss.tsx +42 -0
  1278. package/src/components/sheet/examples/examples.module.css +13 -0
  1279. package/src/components/sheet/examples/in-form.tsx +65 -0
  1280. package/src/components/sheet/examples/overview.tsx +50 -0
  1281. package/src/components/sheet/examples/structure.tsx +35 -0
  1282. package/src/components/skeleton/COMPONENT.md +1 -1
  1283. package/src/components/slider/COMPONENT.md +21 -4
  1284. package/src/components/slider/examples/autosave.tsx +39 -0
  1285. package/src/components/slider/examples/examples.module.css +6 -0
  1286. package/src/components/slider/examples/orientation.tsx +27 -0
  1287. package/src/components/smart-filter/COMPONENT.md +67 -16
  1288. package/src/components/smart-filter/examples/option-groups.tsx +40 -0
  1289. package/src/components/smart-filter/examples/ranges.tsx +89 -0
  1290. package/src/components/smart-filter/examples/single-value.tsx +41 -0
  1291. package/src/components/sparkline/COMPONENT.md +48 -19
  1292. package/src/components/sparkline/examples/signed-bars.tsx +41 -0
  1293. package/src/components/sparkline/examples/states.tsx +30 -0
  1294. package/src/components/sparkline/examples/variants.tsx +29 -0
  1295. package/src/components/spinner/COMPONENT.md +10 -8
  1296. package/src/components/stepper/COMPONENT.md +4 -0
  1297. package/src/components/switch/COMPONENT.md +11 -5
  1298. package/src/components/switch/examples/in-form.tsx +3 -1
  1299. package/src/components/switch/examples/saving.tsx +53 -0
  1300. package/src/components/switch/examples/states.tsx +6 -1
  1301. package/src/components/tabs/COMPONENT.md +46 -26
  1302. package/src/components/tabs/examples/examples.module.css +6 -0
  1303. package/src/components/tabs/examples/in-drawer.tsx +100 -0
  1304. package/src/components/tabs/examples/overview.tsx +1 -1
  1305. package/src/components/tag-select/COMPONENT.md +34 -21
  1306. package/src/components/tag-select/examples/confirm-delete.tsx +60 -0
  1307. package/src/components/tag-select/examples/creatable.tsx +23 -2
  1308. package/src/components/tag-select/examples/in-form.tsx +9 -2
  1309. package/src/components/tag-select/examples/manage-tags.tsx +10 -6
  1310. package/src/components/textarea/COMPONENT.md +57 -10
  1311. package/src/components/textarea/examples/auto-resize.tsx +8 -1
  1312. package/src/components/textarea/examples/edge-actions.tsx +24 -0
  1313. package/src/components/textarea/examples/inline-edit.tsx +42 -0
  1314. package/src/components/thumbnail/COMPONENT.md +51 -10
  1315. package/src/components/thumbnail/examples/controlled.tsx +61 -0
  1316. package/src/components/thumbnail/examples/examples.module.css +31 -0
  1317. package/src/components/thumbnail/examples/full-width.tsx +2 -5
  1318. package/src/components/thumbnail/examples/overview.tsx +2 -6
  1319. package/src/components/thumbnail/examples/pressable.tsx +56 -0
  1320. package/src/components/thumbnail/examples/video.tsx +46 -0
  1321. package/src/components/timeline/COMPONENT.md +2 -1
  1322. package/src/components/tooltip/COMPONENT.md +13 -7
  1323. package/src/components/tooltip/examples/disabled-trigger.tsx +2 -7
  1324. package/src/components/tooltip/examples/examples.module.css +6 -9
  1325. package/src/components/tooltip/examples/non-interactive-trigger.tsx +31 -0
  1326. package/src/components/typography/COMPONENT.md +2 -0
  1327. package/src/components/video-note/COMPONENT.md +173 -0
  1328. package/src/components/video-note/examples/controlled.tsx +28 -0
  1329. package/src/components/video-note/examples/examples.module.css +4 -0
  1330. package/src/components/video-note/examples/in-message.tsx +22 -0
  1331. package/src/components/video-note/examples/overview.tsx +8 -0
  1332. package/src/components/video-note/examples/states.tsx +74 -0
  1333. package/src/components/video-note/examples/transcript.tsx +29 -0
  1334. package/src/components/video-note/examples/transfer.tsx +76 -0
  1335. package/src/components/visually-hidden/COMPONENT.md +81 -0
  1336. package/src/components/visually-hidden/examples/overview.tsx +22 -0
  1337. package/src/components/voice-player/COMPONENT.md +192 -0
  1338. package/src/components/voice-player/examples/call-recording.tsx +34 -0
  1339. package/src/components/voice-player/examples/controlled.tsx +38 -0
  1340. package/src/components/voice-player/examples/examples.module.css +23 -0
  1341. package/src/components/voice-player/examples/in-message.tsx +29 -0
  1342. package/src/components/voice-player/examples/overview.tsx +13 -0
  1343. package/src/components/voice-player/examples/states.tsx +81 -0
  1344. package/src/components/voice-player/examples/transcript.tsx +50 -0
  1345. package/src/components/voice-player/examples/transfer.tsx +88 -0
  1346. package/src/layout/app-header/COMPONENT.md +35 -10
  1347. package/src/layout/app-header/examples/page-title.tsx +85 -0
  1348. package/src/layout/app-shell/COMPONENT.md +11 -5
  1349. package/src/layout/app-shell/examples/examples.module.css +1 -1
  1350. package/src/layout/app-shell/examples/footer.tsx +1 -1
  1351. package/src/layout/bottom-nav/COMPONENT.md +50 -34
  1352. package/src/layout/bottom-nav/examples/examples.module.css +8 -1
  1353. package/src/layout/bottom-nav/examples/floating-action.tsx +91 -0
  1354. package/src/layout/bottom-nav/examples/floating.tsx +6 -6
  1355. package/src/layout/bottom-nav/examples/in-app-shell.tsx +1 -1
  1356. package/src/layout/sidebar/COMPONENT.md +18 -13
  1357. package/src/layout/sidebar/examples/account.tsx +1 -1
  1358. package/src/layout/sidebar/examples/overview.tsx +1 -1
  1359. package/src/styles/controls.css +138 -0
  1360. package/src/styles/globals.css +8 -0
  1361. package/src/styles/reset.css +34 -30
  1362. package/src/styles/theme-dark.css +30 -2
  1363. package/src/styles/theme-light.css +72 -6
  1364. package/src/styles/tokens.css +17 -0
  1365. package/dist/chunks/chunk-4TRNUP45.js +0 -4052
  1366. package/dist/chunks/chunk-GFKDZFQR.js +0 -1208
  1367. package/dist/chunks/chunk-K4FACFQ2.js +0 -13552
  1368. package/dist/components/dnd/autoScroll.d.ts +0 -5
  1369. package/src/components/file-upload/examples/upload-progress.tsx +0 -39
  1370. package/src/components/scroll-container/examples/edge-fade.tsx +0 -53
@@ -0,0 +1,49 @@
1
+ /** While an order is opened for review, the queue behind it holds still: no wheel, touch, key or drag moves it — `lock`. */
2
+ import { Button, Card, ScrollContainer, Typography } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ import styles from "./examples.module.css";
6
+
7
+ const ORDERS = [
8
+ "Заказ № 1040 · ООО «Северный склад»",
9
+ "Заказ № 1041 · АО «Тепломонтаж»",
10
+ "Заказ № 1042 · ИП Кравцова",
11
+ "Заказ № 1043 · ООО «Логистик Плюс»",
12
+ "Заказ № 1044 · ООО «Альфа Ритейл»",
13
+ "Заказ № 1045 · АО «ПромСнаб»",
14
+ "Заказ № 1046 · ООО «Городские аптеки»",
15
+ "Заказ № 1047 · ООО «Вектор»",
16
+ ];
17
+
18
+ export default function ScrollContainerLockExample() {
19
+ const [reviewing, setReviewing] = React.useState(false);
20
+
21
+ return (
22
+ <Card.Root role="region" className={styles.card} aria-label="Очередь заказов">
23
+ <div className={styles.cardHeader}>
24
+ <Typography as="h3" variant="title-s">
25
+ Очередь заказов
26
+ </Typography>
27
+ <Button.Root
28
+ variant="soft"
29
+ tone="neutral"
30
+ pressed={reviewing}
31
+ onClick={() => setReviewing((current) => !current)}
32
+ >
33
+ {reviewing ? "Закрыть проверку" : "Проверить заказ"}
34
+ </Button.Root>
35
+ </div>
36
+ <ScrollContainer lock={reviewing}>
37
+ <ul className={styles.list}>
38
+ {ORDERS.map((order) => (
39
+ <li key={order}>
40
+ <Typography as="span" variant="body-m">
41
+ {order}
42
+ </Typography>
43
+ </li>
44
+ ))}
45
+ </ul>
46
+ </ScrollContainer>
47
+ </Card.Root>
48
+ );
49
+ }
@@ -0,0 +1,52 @@
1
+ /** The kit's quiet thin bar on a list and no bar on a strip of chips, where the faded edges show the overflow — `scrollbar`. */
2
+ import { Badge, Card, ScrollContainer, Typography } from "prime-ui-kit";
3
+
4
+ import styles from "./examples.module.css";
5
+
6
+ const CLIENTS = [
7
+ "ООО «Северный склад»",
8
+ "АО «Тепломонтаж»",
9
+ "ИП Кравцова",
10
+ "ООО «Логистик Плюс»",
11
+ "ООО «Альфа Ритейл»",
12
+ "АО «ПромСнаб»",
13
+ "ООО «Городские аптеки»",
14
+ "ООО «Вектор»",
15
+ "ИП Сафонов",
16
+ ];
17
+ const TAGS = ["Новые", "В работе", "Ждут оплаты", "Отгружены", "Возвраты", "Архив", "Черновики"];
18
+
19
+ export default function ScrollContainerScrollbarExample() {
20
+ return (
21
+ <div className={styles.layout}>
22
+ <Card.Root role="region" className={styles.card} aria-label="Клиенты">
23
+ <Typography as="h3" variant="title-s" className={styles.cardTitle}>
24
+ thin
25
+ </Typography>
26
+ <ScrollContainer>
27
+ <ul className={styles.list}>
28
+ {CLIENTS.map((client) => (
29
+ <li key={client}>
30
+ <Typography as="span" variant="body-m">
31
+ {client}
32
+ </Typography>
33
+ </li>
34
+ ))}
35
+ </ul>
36
+ </ScrollContainer>
37
+ </Card.Root>
38
+ <Card.Root role="region" className={styles.card} aria-label="Фильтры заказов">
39
+ <Typography as="h3" variant="title-s" className={styles.cardTitle}>
40
+ hidden
41
+ </Typography>
42
+ <ScrollContainer axis="horizontal" scrollbar="hidden">
43
+ <div className={styles.strip}>
44
+ {TAGS.map((tag) => (
45
+ <Badge.Root key={tag}>{tag}</Badge.Root>
46
+ ))}
47
+ </div>
48
+ </ScrollContainer>
49
+ </Card.Root>
50
+ </div>
51
+ );
52
+ }
@@ -0,0 +1,36 @@
1
+ /** A strip of warehouse cards that comes to rest on a card's start, scrolled by touch, a trackpad or the mouse wheel — `snap`, `axis`. */
2
+ import { Card, ScrollContainer, Typography } from "prime-ui-kit";
3
+
4
+ import styles from "./examples.module.css";
5
+
6
+ const WAREHOUSES = [
7
+ { id: "msk", city: "Москва", stock: "12 480 позиций" },
8
+ { id: "spb", city: "Санкт-Петербург", stock: "8 215 позиций" },
9
+ { id: "kzn", city: "Казань", stock: "4 030 позиций" },
10
+ { id: "ekb", city: "Екатеринбург", stock: "5 772 позиции" },
11
+ { id: "nsk", city: "Новосибирск", stock: "3 118 позиций" },
12
+ { id: "krd", city: "Краснодар", stock: "2 904 позиции" },
13
+ ];
14
+
15
+ export default function ScrollContainerSnapExample() {
16
+ return (
17
+ <ScrollContainer axis="horizontal" snap scrollbar="hidden" aria-label="Склады">
18
+ <ul className={styles.tiles}>
19
+ {WAREHOUSES.map((warehouse) => (
20
+ <li key={warehouse.id} className={styles.tile}>
21
+ <Card.Root>
22
+ <Card.Body>
23
+ <Typography as="h3" variant="title-s">
24
+ {warehouse.city}
25
+ </Typography>
26
+ <Typography as="p" variant="caption" tone="muted">
27
+ {warehouse.stock}
28
+ </Typography>
29
+ </Card.Body>
30
+ </Card.Root>
31
+ </li>
32
+ ))}
33
+ </ul>
34
+ </ScrollContainer>
35
+ );
36
+ }
@@ -24,20 +24,22 @@ import { SegmentedControl } from "prime-ui-kit";
24
24
 
25
25
  ## Anatomy
26
26
  ```
27
- SegmentedControl.Root role="radiogroup"; track + sliding thumb, scrolling row, keyboard
28
- └─ SegmentedControl.Item role="radio" button, one option
29
- ├─ SegmentedControl.Icon icon slot (optional; icon-only → square segment)
30
- ├─ SegmentedControl.Label title, one line (optional; plain text is wrapped automatically)
31
- ├─ SegmentedControl.Count counter Badge after the label (optional)
32
- └─ SegmentedControl.Description second line; makes the segment two-line (optional)
27
+ SegmentedControl.Root field frame: label row · track · support row (hint | error)
28
+ └─ (track) role="radiogroup"; sliding thumb, scrolling row, keyboard
29
+ └─ SegmentedControl.Item role="radio" button, one option
30
+ ├─ SegmentedControl.Icon icon slot (optional; icon-only → square segment)
31
+ ├─ SegmentedControl.Label title, one line (optional; plain text is wrapped automatically)
32
+ ├─ SegmentedControl.Count counter Badge after the label (optional)
33
+ └─ SegmentedControl.Description second line; makes the segment two-line (optional)
33
34
  ```
35
+ The root is a field root: `className`, `ref` and the native attributes land on the frame, which hugs the track unless `fullWidth`; `id`, `onKeyDown` and the `aria-label*` / `aria-describedby` names land on the radiogroup. Without `label`, `hint` and `error` the frame shows only the track.
34
36
 
35
37
  ## API
36
38
 
37
39
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
38
40
 
39
41
  ### SegmentedControl.Root
40
- `ref` → `HTMLDivElement`. `<div role="radiogroup">`: the track with the sliding thumb, keyboard handling and a horizontally scrolling `ScrollContainer` row.
42
+ `ref` → `HTMLDivElement` (the field frame). The field: label · `<div role="radiogroup">` track with the sliding thumb, keyboard handling and a horizontally scrolling `ScrollContainer` row · support row. The frame hugs the track unless `fullWidth`.
41
43
 
42
44
  | Prop | Type | Default | Description |
43
45
  |---|---|---|---|
@@ -47,8 +49,17 @@ SegmentedControl.Root role="radiogroup"; track + sliding thumb,
47
49
  | `disabled` | `boolean` | `false` | Disables the whole group. |
48
50
  | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `host tier, else "m"` | Control tier; the outer height equals the control height 28 · 32 · 36 · 40 · 48. Without it the tier of its host (a toolbar, a panel with a size), else `m`. |
49
51
  | `fullWidth` | `boolean` | `false` | Fills the container; single-line segments tend to equal widths but never get narrower than their label — when they do not fit, the row scrolls. |
52
+ | `label` | `ReactNode` | — | Heading above the control; names the `radiogroup` (`aria-labelledby`). Without it give the root an `aria-label`. |
53
+ | `required` | `boolean` | `false` | Red `*` after the label and `aria-required` on the `radiogroup`. |
54
+ | `optional` | `boolean` | `false` | Muted marker after the label (`labels.optional`). |
55
+ | `hint` | `ReactNode` | — | Help text under the control (`aria-describedby`). Hidden while `error` is shown. |
56
+ | `error` | `ReactNode` | — | Error message in the hint slot; implies `invalid`. |
57
+ | `invalid` | `boolean` | `false` | Danger inset ring, `aria-invalid` and `data-invalid` on the `radiogroup`; the control shakes once when an error arrives. |
58
+ | `reserveSupportRow` | `boolean` | `false` | Always render the support row, so an appearing error does not shift the layout. |
59
+ | `id` | `string` | — | Id of the `radiogroup` element (generated when omitted); hint id is `<id>-hint`, error id `<id>-error`. |
60
+ | `labels` | `Partial<SegmentedControlLabels>` | — | Built-in strings, see Labels. |
50
61
  | `children` | `ReactNode` | — | `SegmentedControl.Item`s (may be wrapped, e.g. in `Tooltip.Trigger`). |
51
- | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" \| "onChange">` | — | `aria-label` / `aria-labelledby` (name the group), `className` and the other div attributes. |
62
+ | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "id" \| "children" \| "defaultValue" \| "defaultChecked" \| "onChange" \| "dir">` | — | `aria-label` / `aria-labelledby` / `aria-describedby` and `onKeyDown` go to the radiogroup (a prevented key skips the kit's handling); `className`, `data-*` and the other attributes to the field frame `<div>`. |
52
63
 
53
64
  ### SegmentedControl.Item
54
65
  `ref` → `HTMLButtonElement`. One option, a `<button role="radio">` with roving `tabIndex`; plain text is wrapped in a `SegmentedControl.Label`.
@@ -136,13 +147,16 @@ Colour all items or none; do not give an item and its Count the same hue; prefer
136
147
  | unselected | — | `aria-checked="false"`, `data-state="unchecked"`; `text-secondary`, hover → `text-primary` (no fill) |
137
148
  | no selection | `value` / `defaultValue` = `""` | thumb hidden; the first enabled segment takes Tab focus |
138
149
  | item disabled | item `disabled` | `data-disabled="true"`, native `disabled`, `text-disabled`, skipped by arrows |
139
- | group disabled | root `disabled` | root `data-disabled="true"`, `aria-disabled`; every segment disabled |
150
+ | group disabled | root `disabled` | track `data-disabled="true"`, `aria-disabled`; every segment disabled; label and hint dimmed |
151
+ | invalid | `invalid` or non-empty `error` | track `data-invalid="true"` + `aria-invalid="true"`, inset danger ring on the track; the error replaces the hint; the track shakes once when an error arrives |
152
+ | required | `required` | red `*` after the label, `aria-required="true"` on the radiogroup |
140
153
  | focus-visible | keyboard | focus ring inside the segment |
141
154
  | overflow | row wider than the container | root `data-overflow-start` / `data-overflow-end`: edge fades in the track color |
142
155
 
143
156
  Item DOM: `data-state`, `data-disabled`, `data-icon-only`, `data-two-line`, `data-value`, `data-color`. The thumb glides (`emphasized` + `base`, `data-animate`) only into a user's choice (click, arrows); a value set from outside and layout changes snap it; it stays still under `prefers-reduced-motion`. It sits inside the segment track, which clips it, so moving the selection never changes the row's scroll area. When the row scrolls, the selected segment is kept in view on mount and on every value change: only the row scrolls, never the page, and the scroll glides only after a user's choice.
144
157
 
145
158
  ## Layout & spacing
159
+ - In a form it is a field: label → track `label-gap`, track → support row `hint-gap`, field → field `--prime-space-5` like every field.
146
160
  - Width is content-based by default; segments never wrap. In a narrow container the row scrolls horizontally with fading edges.
147
161
  - In a toolbar: gap `--prime-space-3` between controls; keep every control at one size.
148
162
  - Caption under a group: gap `--prime-space-2`.
@@ -159,7 +173,8 @@ Item DOM: `data-state`, `data-disabled`, `data-icon-only`, `data-two-line`, `dat
159
173
  | `Tab` | Enters the group on the selected option (or the first enabled one) and leaves it. |
160
174
 
161
175
  ### ARIA
162
- - Root `role="radiogroup"` — always name it with `aria-label` / `aria-labelledby`; `aria-disabled` when disabled.
176
+ - The track is `role="radiogroup"`, named by `label` (`aria-labelledby`); without a label give the root `aria-label`. `aria-disabled` when disabled.
177
+ - Hint and error are linked through `aria-describedby`; an error sets `aria-invalid="true"`, `required` sets `aria-required="true"`.
163
178
  - Items are `<button role="radio" aria-checked>` with roving `tabIndex`.
164
179
  - Two-line items: `aria-labelledby` = label (+ count), `aria-describedby` = description.
165
180
  - Icons are `aria-hidden`; icon-only items need `aria-label` (and a Tooltip for sighted users).
@@ -167,7 +182,9 @@ Item DOM: `data-state`, `data-disabled`, `data-icon-only`, `data-two-line`, `dat
167
182
  ### Labels
168
183
  <!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
169
184
 
170
- No `labels`.
185
+ | Key | Default | Used for |
186
+ |---|---|---|
187
+ | `optional` | `"необязательно"` | Marker after the label when `optional`. |
171
188
 
172
189
  ## Examples
173
190
  | Example | Shows |
@@ -181,15 +198,17 @@ No `labels`.
181
198
  | [scroll.tsx](examples/scroll.tsx) | Segments never wrap: in a column narrower than the row it scrolls with edge fades and brings the chosen segment into view. |
182
199
  | [two-line.tsx](examples/two-line.tsx) | A label and a counter on the first line, a metric on the second — `SegmentedControl.Label`, `SegmentedControl.Count`, `SegmentedControl.Description`. |
183
200
  | [controlled.tsx](examples/controlled.tsx) | The parent owns the choice and updates other content from it — `value`, `onValueChange`. |
201
+ | [in-form.tsx](examples/in-form.tsx) | An expense form: the choice is a labelled field with a hint, checked on submit, its error leaves as soon as a segment is chosen — `label`, `hint`, `required`, `error`. |
184
202
 
185
203
  ## Mistakes
186
204
  - Using it as tabs that show different panels → use `Tabs`.
187
- - No `aria-label` on the root → the radiogroup has no name.
205
+ - No `label` and no `aria-label` → the radiogroup has no name.
206
+ - A `Label` + `Hint` pair wired by hand with `aria-labelledby` in a form → `label`, `hint`, `error` on the root.
188
207
  - Icon-only item without `aria-label` → add `aria-label` and wrap in `Tooltip`.
189
208
  - `variant="…"` or `tone="…"` on the root → there is none; use `color` on items for hue.
190
209
  - Different `size` than neighbouring controls in a toolbar → use the same tier so heights match.
191
210
  - Expecting segments to wrap on narrow screens → they scroll; use `fullWidth` or fewer options.
192
211
 
193
212
  ## Related
194
- - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md), [Badge](../badge/COMPONENT.md)
213
+ - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md), [Badge](../badge/COMPONENT.md), [Label](../label/COMPONENT.md) (`label`), [Hint](../hint/COMPONENT.md) (`hint`, `error`)
195
214
  - **See also:** [Tabs](../tabs/COMPONENT.md), [Radio](../radio/COMPONENT.md), [Switch](../switch/COMPONENT.md), [ButtonGroup](../button-group/COMPONENT.md), [Tooltip](../tooltip/COMPONENT.md)
@@ -7,3 +7,14 @@
7
7
  align-items: flex-start;
8
8
  gap: var(--prime-space-3);
9
9
  }
10
+
11
+ /* in-form.tsx: field → field and fields → action at the form rhythm; controls keep their width. */
12
+ .form {
13
+ display: grid;
14
+ justify-items: start;
15
+ gap: var(--prime-space-5);
16
+ }
17
+
18
+ .form > :last-child {
19
+ margin-block-start: var(--prime-space-3);
20
+ }
@@ -0,0 +1,42 @@
1
+ /** An expense form: the choice is a labelled field with a hint, checked on submit, its error leaves as soon as a segment is chosen — `label`, `hint`, `required`, `error`. */
2
+ import { Button, Input, SegmentedControl } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ import styles from "./examples.module.css";
6
+
7
+ export default function SegmentedControlInFormExample() {
8
+ const [owner, setOwner] = React.useState("");
9
+ const [error, setError] = React.useState<string>();
10
+
11
+ const submit = (event: React.FormEvent<HTMLFormElement>) => {
12
+ event.preventDefault();
13
+ setError(owner ? undefined : "Выберите, чей это расход");
14
+ };
15
+
16
+ return (
17
+ <form className={styles.form} noValidate onSubmit={submit}>
18
+ <Input.Root label="Сумма, ₽" required>
19
+ <Input.Wrapper>
20
+ <Input.Field name="amount" inputMode="decimal" defaultValue="12 400" />
21
+ <Input.InlineAffix side="end">₽</Input.InlineAffix>
22
+ </Input.Wrapper>
23
+ </Input.Root>
24
+ <SegmentedControl.Root
25
+ label="Чей расход"
26
+ hint="Личные расходы не попадают в отчёт компании"
27
+ required
28
+ error={error}
29
+ value={owner}
30
+ onValueChange={(next) => {
31
+ setOwner(next);
32
+ setError(undefined);
33
+ }}
34
+ >
35
+ <SegmentedControl.Item value="company">Компании</SegmentedControl.Item>
36
+ <SegmentedControl.Item value="project">Проекта</SegmentedControl.Item>
37
+ <SegmentedControl.Item value="personal">Личный</SegmentedControl.Item>
38
+ </SegmentedControl.Root>
39
+ <Button.Root type="submit">Сохранить расход</Button.Root>
40
+ </form>
41
+ );
42
+ }
@@ -8,8 +8,9 @@
8
8
  ## When to use
9
9
  - One value from a closed list of 5+ options in forms, filters and settings: country, role, time zone.
10
10
  - A long list where search helps (`Select.Content searchable`, `keywords`).
11
+ - A value out of thousands of records searched on the server (`search`, `onSearchChange`, `filter={false}`, `hasMore` + `onLoadMore`).
11
12
  - A few values from a short list shown as comma-separated text (`multiple`).
12
- - Options that need a picture, a second line or a trailing value (rich options).
13
+ - Options that need a picture, an avatar, a second line, a badge or a trailing value (rich options).
13
14
 
14
15
  ## When not to use
15
16
  - 2–5 options that should all be visible → use [Radio](../radio/COMPONENT.md) or [SegmentedControl](../segmented-control/COMPONENT.md).
@@ -31,16 +32,18 @@ Select.Root field frame: label · control · hint/error; v
31
32
  ├── Select.Trigger <button role="combobox">: [icon] [value] [clear] [chevron]
32
33
  │ ├── Select.TriggerIcon optional leading glyph
33
34
  │ └── Select.Value picked label or placeholder (renderValue for a rich trigger)
34
- └── Select.Content portaled panel, mounted while open
35
+ └── Select.Content portaled panel while open; closed, the items render hidden in place so the trigger knows their labels
35
36
  ├── search row with `searchable`
36
37
  ├── role="listbox"
37
38
  │ ├── Select.Group role="group", named by `label`
38
- │ │ └── Select.Item role="option": [checkbox] [icon / Thumbnail] [text] [meta] [check]
39
- │ │ ├── Select.ItemIcon
39
+ │ │ └── Select.Item role="option": [checkbox] [icon / Avatar / Thumbnail] [text] [meta / Badge] [check]
40
+ │ │ ├── Select.ItemIcon · Avatar.Root · Thumbnail.Root
40
41
  │ │ ├── Select.ItemText · Select.ItemDescription
41
- │ │ └── Select.ItemMeta
42
- │ └── Select.Separator full-bleed Divider
43
- └── empty state compact EmptyPage
42
+ │ │ └── Select.ItemMeta · Badge.Root
43
+ │ ├── Select.Separator full-bleed Divider
44
+ │ └── skeleton rows `loading` with no items, `loadingMore` at the end
45
+ ├── empty state compact EmptyPage
46
+ └── load error compact EmptyPage, role="alert", retry Button (`loadError`, `onRetry`)
44
47
  ```
45
48
 
46
49
  ## API
@@ -66,8 +69,18 @@ Select.Root field frame: label · control · hint/error; v
66
69
  | `optional` | `boolean` | — | Muted `labels.optional` after the label. |
67
70
  | `invalid` | `boolean` | `false` | Danger inset ring and `aria-invalid`. |
68
71
  | `disabled` | `boolean` | `false` | Disabled field; the list never opens. |
69
- | `loading` | `boolean` | `false` | Spinner instead of the chevron, `aria-busy`, a status row in the list. |
72
+ | `search` | `string` | — | Controlled search query (`Select.Content searchable`); together with `onSearchChange`. Cleared when the list closes. |
73
+ | `defaultSearch` | `string` | `""` | Initial query, uncontrolled. |
74
+ | `onSearchChange` | `(search: string) => void` | — | Called with the new query: typing, and `""` when the list closes. Load the matching options here for a server search. |
75
+ | `filter` | `boolean` | `true` | The list filters its items by the query. `false` when the options come from a server: every item shows, the query is still marked in the labels. |
76
+ | `loading` | `boolean` | `false` | Options are loading: a Spinner instead of the chevron, `aria-busy`, skeleton rows in the list while no item matches; items already on screen stay. |
77
+ | `loadingMore` | `boolean` | `false` | More options are loading at the end: skeleton rows after the items. |
78
+ | `hasMore` | `boolean` | `false` | More options exist: reaching the end of the list calls `onLoadMore`. |
79
+ | `onLoadMore` | `() => void \| Promise<void>` | — | Called once per round with `hasMore` when the end of the list scrolls into view or the highlight reaches the last option; set `loadingMore` while it runs. |
80
+ | `loadError` | `ReactNode` | — | The options failed to load: the message replaces the list in `role="alert"`. Not the field `error` (validation). |
81
+ | `onRetry` | `() => void` | — | A retry button (`labels.retry`) under `loadError`; Enter in the open list runs it too. |
70
82
  | `clearable` | `boolean` | `false` | A clear segment before the chevron while a value is set; `Delete` / `Backspace` on the trigger clear too. |
83
+ | `name` | `string` | — | Form field name: hidden inputs submit the value (`""` while empty; one input per value with `multiple`). |
71
84
  | `placeholder` | `string` | — | Text in the trigger while nothing is picked. |
72
85
  | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | `"m"` | Field tier: trigger height, padding, text; the list rows, the label and the hint follow it. |
73
86
  | `focusRing` | `boolean` | `true` | `false` hides the visual focus ring (`data-focus-ring="false"`), never focus or the error ring. |
@@ -77,7 +90,7 @@ Select.Root field frame: label · control · hint/error; v
77
90
  | `…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). |
78
91
 
79
92
  ### Select.Trigger
80
- `ref` → `HTMLButtonElement`. `<button role="combobox">` with the value, the clear segment and the chevron (a Spinner while `loading`). + native button props.
93
+ `ref` → `HTMLButtonElement`. `<button role="combobox">` with the value, the clear segment and the chevron (a Spinner while `loading`). + native button props (`onFocus`, `onBlur`, `onKeyDown`… reach the button).
81
94
 
82
95
  | Prop | Type | Default | Description |
83
96
  |---|---|---|---|
@@ -88,18 +101,18 @@ Select.Root field frame: label · control · hint/error; v
88
101
 
89
102
  | Prop | Type | Default | Description |
90
103
  |---|---|---|---|
91
- | `renderValue` | `(item: { value: string; label: string }) => ReactNode` | — | Single mode: draws the picked option in the trigger with the row parts (Thumbnail, ItemText, ItemDescription); not called while empty. |
104
+ | `renderValue` | `(item: { value: string; label: string }) => ReactNode` | — | Single mode: draws the picked option in the trigger with the same parts as the row (Avatar, ItemText, Badge…); not called while empty. |
92
105
  | `…rest` | `Omit<HTMLAttributes<HTMLSpanElement>, "children">` | — | `className` and the other span attributes. |
93
106
 
94
107
  ### Select.TriggerIcon · Select.ItemIcon
95
108
  `ref` → `HTMLSpanElement`. An `aria-hidden` `<span>` with a leading glyph at the tier icon size: before the value / before the option label. + native `<span>` props.
96
109
 
97
110
  ### Select.Content
98
- `ref` → `HTMLDivElement` (the panel). Portal + the floating list panel, mounted while open and during its exit animation (closed, the items render hidden in place so the trigger knows their labels), shown with the overlay motion. Holds the search row, the `role="listbox"` and the empty state. Below 640px of viewport the panel is a bottom sheet: a scrim, a grab handle, swipe down to close, page scroll locked.
111
+ `ref` → `HTMLDivElement` (the panel). Portal + the floating list panel with the search row, the `role="listbox"`, the empty and load states. Closed, the items render hidden so the trigger knows their labels. Below 640px it is a bottom sheet.
99
112
 
100
113
  | Prop | Type | Default | Description |
101
114
  |---|---|---|---|
102
- | `searchable` | `boolean` | `false` | A search field on top; items filter by label, description and `keywords`. |
115
+ | `searchable` | `boolean` | `false` | A search field on top; items filter by label, description and `keywords` — or the owner loads them by the query (`search`, `filter={false}` on Root). |
103
116
  | `children` | `ReactNode` | — (required) | Items, groups, separators. |
104
117
  | `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children" \| "hidden" \| "onKeyDown" \| "onAnimationEnd">` | — | `className` and the other attributes of the panel. |
105
118
 
@@ -112,10 +125,10 @@ Select.Root field frame: label · control · hint/error; v
112
125
  | `label` | `string` | — | Text in the trigger and for typeahead; defaults to `Select.ItemText`, then the plain text. |
113
126
  | `keywords` | `string` | — | Extra words for the search. |
114
127
  | `disabled` | `boolean` | `false` | Muted, skipped by the keyboard, not selectable. |
115
- | `children` | `ReactNode` | — (required) | Text, or `Select.ItemIcon`, `Thumbnail.Root`, `Select.ItemText`, `Select.ItemDescription`, `Select.ItemMeta` as direct children. |
128
+ | `children` | `ReactNode` | — (required) | Text, or `Select.ItemIcon`, `Avatar.Root`, `Thumbnail.Root`, `Select.ItemText`, `Select.ItemDescription`, `Select.ItemMeta`, `Badge.Root` as direct children. |
116
129
 
117
130
  ### Select.ItemText · Select.ItemDescription · Select.ItemMeta
118
- `ref` → `HTMLSpanElement`. Rich option parts: the title (its text is the label) / a muted second line (searchable; makes the row two-line) / a trailing muted value before the check. A `Thumbnail.Root` child is the leading media, sized to the tier unless it sets `size`. + native `<span>` props.
131
+ `ref` → `HTMLSpanElement`. Rich option parts: the title (its text is the label) / a muted second line / a trailing muted value. Leading media is an `Avatar.Root` or `Thumbnail.Root` child, a trailing status a `Badge.Root`.
119
132
 
120
133
  ### Select.Group
121
134
  `ref` → `HTMLDivElement`. `<div role="group">` named by its `label`; hidden while the search leaves none of its options. + native `<div>` props.
@@ -148,11 +161,13 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
148
161
  |---|---|---|---|
149
162
  | `multiple` | checkbox on the left of every row, the list stays open, labels joined in the trigger | A few values from a short list | `false` |
150
163
  | `clearable` | × segment before the chevron while a value is set (full height, one hover wash) | The field is optional and can be reset | `false` |
151
- | `loading` | spinner instead of the chevron, a «Загрузка…» row in the list | Options load asynchronously | `false` |
164
+ | `loading` | spinner instead of the chevron; skeleton rows in the option geometry while no item is on screen | Options load asynchronously | `false` |
165
+ | `loadingMore` | skeleton rows after the items | The next page is loading (`hasMore` + `onLoadMore`) | `false` |
166
+ | `filter={false}` | every item shows whatever the query; the query is still marked in the labels | The owner searches on the server (`search`, `onSearchChange`) | `true` |
152
167
  | `searchable` (Content) | search row with a faint hairline at the top of the list | More than ~10 options | `false` |
153
- | rich options | `Thumbnail.Root` or `Select.ItemDescription` in an item: a two-line row; the trigger the same with `renderValue` | Products, people, delivery tariffs | |
168
+ | rich options | `Thumbnail.Root` or `Select.ItemDescription` in an item: a two-line row; `Avatar.Root` before the text and `Badge.Root` after it keep one line; the trigger the same with `renderValue` | Products, people, delivery tariffs | |
154
169
 
155
- **Combinations** — `renderValue` is single-mode only; with `multiple` the trigger shows the joined labels. `error` implies `invalid`. A status Badge can follow `Select.Value` inside the trigger; it takes the tier one step down by itself.
170
+ **Combinations** — `renderValue` is single-mode only; with `multiple` the trigger shows the joined labels. `error` implies `invalid`; `loadError` is a different thing — the options failed to load — and never marks the field invalid. `Select.ItemDescription` is searchable. A status Badge can follow `Select.Value` inside the trigger; it takes the tier one step down by itself. An `Avatar.Root` or `Thumbnail.Root` in a row or `renderValue` takes the tier media size (`xs` · `xs` · `s` · `s` · `m` for `xs`–`xl`) unless it sets `size`. A server search: `searchable` + `search` / `onSearchChange` + `filter={false}` + `loading`; paging adds `hasMore`, `loadingMore`, `onLoadMore`; keep the selected option among the items (or draw it with `renderValue`) so the trigger knows its label.
156
171
 
157
172
  ## States
158
173
  | State | Driven by | DOM |
@@ -161,8 +176,12 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
161
176
  | open | `open` / click / arrows | trigger `data-state="open"`, `aria-expanded`; panel `data-state`, `data-side`; chevron turns 180° |
162
177
  | invalid | `invalid` or `error` | `data-invalid="true"`, `aria-invalid` on the trigger; error text below; the control shakes once when an error arrives (`data-shake` on the frame) |
163
178
  | disabled | `disabled` | native `disabled`, `data-disabled="true"` |
164
- | loading | `loading` | `data-loading="true"`, `aria-busy`; status row in the list |
165
- | searching | typing in the search | panel `data-searching="true"`; groups without matches and separators hide; the match in an option's title, description and plain text is a `<mark>` in `accent-text` (not in the trigger) |
179
+ | loading | `loading` | `data-loading="true"`, `aria-busy` on the trigger and the list; with no item on screen, `aria-hidden` skeleton rows (`data-skeleton`) in the list; `labels.loading` in a polite live region |
180
+ | loading more | `loadingMore` | skeleton rows after the items; the end of the list is watched while `hasMore` (`onLoadMore` once per batch) |
181
+ | load error | `loadError` | the list is `hidden`; a compact EmptyPage with `role="alert"` and a retry Button (`onRetry`) |
182
+ | state swap | loading ↔ items ↔ load error | the new content fades in (`swapMotion`), the first render stays still |
183
+ | searching | typing in the search | panel `data-searching="true"`; groups without matches and separators hide; the match in an option's title, description and plain text is a `<mark>` in `accent-text` (not in the trigger); the query clears when the list closes (`onSearchChange("")`) |
184
+ | nothing to show | no option matches (and not loading) | a compact EmptyPage with `role="status"`: `labels.empty`, plus `labels.emptyHint` while a query is typed |
166
185
  | sheet | viewport below 640px | a scrim and a full-width bottom sheet with an `aria-hidden` grab handle around the panel; the sheet carries `data-state`, the panel keeps its role and ref; page scroll locked; a swipe down from the handle closes it |
167
186
  | option highlighted / selected / disabled | keyboard and pointer / value / `disabled` | `data-highlighted`, `data-selected` + `aria-selected`, `data-disabled` + `aria-disabled`; highlight is a fill only |
168
187
 
@@ -171,6 +190,43 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
171
190
  - Label → field: tier `label-gap`; field → hint: tier `hint-gap`; field → field in a form: `--prime-space-5`.
172
191
  - Panel: at least the trigger width and `--prime-panel-min-width`, at most twice that; max height `--prime-panel-max-height` (scrolls); flips near the viewport edge.
173
192
  - Long values truncate with an ellipsis in the trigger.
193
+ - A rich row and its trigger use the same parts in the same order: leading media (`Avatar.Root`,
194
+ `Thumbnail.Root`) → `Select.ItemText` (+ `Select.ItemDescription`) → trailing `Badge.Root` /
195
+ `Select.ItemMeta`. In a row the trailing part sits before the check; in the trigger, at the end
196
+ before the chevron. Draw the trigger with `renderValue` returning the row's parts, so the picked
197
+ person keeps their avatar and role badge when the list is closed:
198
+
199
+ ```tsx
200
+ <Select.Root label="Ответственный" defaultValue="lebedeva">
201
+ <Select.Trigger>
202
+ <Select.Value
203
+ renderValue={({ value, label }) => {
204
+ const member = BY_VALUE.get(value);
205
+ return (
206
+ <>
207
+ <Avatar.Root color={member?.color}>
208
+ <Avatar.Fallback>{member?.initials}</Avatar.Fallback>
209
+ </Avatar.Root>
210
+ <Select.ItemText>{label}</Select.ItemText>
211
+ {member?.role ? <Badge.Root color={member.color}>{member.role}</Badge.Root> : null}
212
+ </>
213
+ );
214
+ }}
215
+ />
216
+ </Select.Trigger>
217
+ <Select.Content>
218
+ {TEAM.map((member) => (
219
+ <Select.Item key={member.value} value={member.value}>
220
+ <Avatar.Root color={member.color}>
221
+ <Avatar.Fallback>{member.initials}</Avatar.Fallback>
222
+ </Avatar.Root>
223
+ <Select.ItemText>{member.name}</Select.ItemText>
224
+ {member.role ? <Badge.Root color={member.color}>{member.role}</Badge.Root> : null}
225
+ </Select.Item>
226
+ ))}
227
+ </Select.Content>
228
+ </Select.Root>
229
+ ```
174
230
 
175
231
  ## Accessibility
176
232
 
@@ -182,6 +238,7 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
182
238
  | `Enter` · `Space` | Pick the highlighted option; a single pick closes the list and returns focus to the trigger. |
183
239
  | `A–Я` | Typeahead: the highlight jumps to the option starting with the letter or the typed prefix. |
184
240
  | `Delete` · `Backspace` | On the trigger with `clearable` clear the value. |
241
+ | `Enter` | With a load error in the open list, retries (`onRetry`). |
185
242
  | `Escape` | Closes the list; focus returns to the trigger. |
186
243
  | `Tab` | Returns focus to the trigger, closes the list and moves on from the trigger. |
187
244
 
@@ -189,6 +246,9 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
189
246
  - The trigger is `role="combobox"` with `aria-expanded`, `aria-haspopup="listbox"`, `aria-controls`; `label` names it.
190
247
  - The list is `role="listbox"` (`aria-multiselectable` with `multiple`); options are `role="option"` with `aria-selected`; the highlight goes through `aria-activedescendant`.
191
248
  - The hint and the error are linked by `aria-describedby`; the error sets `aria-invalid`; loading sets `aria-busy`.
249
+ - While loading the list is `aria-busy` and `labels.loading` is announced politely; skeleton rows are hidden from screen readers; a load error is `role="alert"`.
250
+ - The highlight reaching the last option asks for the next batch the same way scrolling does.
251
+ - With `name`, hidden inputs carry the value into a native form submit; native trigger events (`onFocus`, `onBlur`, `onKeyDown`) reach the button.
192
252
  - An outside press closes the list without moving focus back: focus follows the pointer (foundation §8).
193
253
 
194
254
  ### Labels
@@ -199,7 +259,8 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
199
259
  | `search` | `"Поиск"` | Placeholder and accessible name of the search field. |
200
260
  | `empty` | `"Ничего не найдено"` | Empty state: no items or nothing matches. |
201
261
  | `emptyHint` | `"Попробуйте изменить запрос"` | Second line of the empty state while searching; `""` hides it. |
202
- | `loading` | `"Загрузка…"` | Status row while `loading`. |
262
+ | `loading` | `"Загрузка…"` | Announced while `loading` or `loadingMore`. |
263
+ | `retry` | `"Повторить"` | The retry button under `loadError` (`onRetry`). |
203
264
  | `clear` | `"Очистить"` | Tooltip of the clear segment. |
204
265
  | `optional` | `"необязательно"` | Muted marker after the label when `optional`. |
205
266
 
@@ -213,8 +274,11 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
213
274
  | [with-icon.tsx](examples/with-icon.tsx) | A leading icon in the trigger and an icon before every option label — `Select.TriggerIcon`, `Select.ItemIcon`. |
214
275
  | [multiple.tsx](examples/multiple.tsx) | Several values: checkboxes in the list, the list stays open on a pick, labels joined in the trigger — `multiple`. |
215
276
  | [searchable.tsx](examples/searchable.tsx) | A long list with a search field: options match their label and keywords, groups and the separator hide while searching — `searchable`, `keywords`, `Select.Group`. |
277
+ | [server-search.tsx](examples/server-search.tsx) | A client out of thousands: the parent searches on the server as the query changes and loads the next page at the end of the list — `search`, `onSearchChange`, `filter`, `loading`, `hasMore`, `loadingMore`, `onLoadMore`. |
278
+ | [load-error.tsx](examples/load-error.tsx) | The options failed to load: the list says so in place and a retry loads them again — `loadError`, `onRetry`, `loading`. |
216
279
  | [clearable.tsx](examples/clearable.tsx) | An optional field that can be reset: a clear segment before the chevron, Delete or Backspace on the trigger — `clearable`. |
217
280
  | [rich-options.tsx](examples/rich-options.tsx) | Options with a picture, a second line and a price; the trigger draws the picked option with the same parts — `renderValue`, `Select.ItemText`, `Select.ItemDescription`, `Select.ItemMeta`. |
281
+ | [people.tsx](examples/people.tsx) | People in the rows and the trigger: an avatar sized to the tier before the name, a role badge after it — `Avatar.Root`, `Badge.Root`, `renderValue`. |
218
282
  | [controlled.tsx](examples/controlled.tsx) | The parent owns the value: the plan drives the price under the field and a button resets it — `value`, `onValueChange`. |
219
283
  | [controlled-open.tsx](examples/controlled-open.tsx) | The parent owns the list: a button opens it from code, a pick or Escape closes it — `open`, `onOpenChange`. |
220
284
  | [in-form.tsx](examples/in-form.tsx) | Regional settings form: the required country is checked on submit, the error shakes the field and leaves once a country is picked, a calm note confirms the save — `required`, `error`, `hint`. |
@@ -226,7 +290,11 @@ No `variant` or `tone`. The trigger is the field look (fill, inset control borde
226
290
  - Rich parts wrapped in your own `<div>` → put them as direct children of the item.
227
291
  - A system select via a prop → use [NativeSelect](../native-select/COMPONENT.md).
228
292
  - Mixing sizes in one form → keep every field of a form at one `size`.
293
+ - Results from a server passed as items with the kit filter still on → set `filter={false}`, or the kit hides results that do not contain the query literally.
294
+ - A spinner or «Загрузка…» item drawn by hand while options load → set `loading` (skeleton rows) and `loadingMore`.
295
+ - A failed load shown through the field `error` → use `loadError` + `onRetry`; `error` is for validation.
296
+ - An Avatar wrapped in `Select.ItemIcon` → put `Avatar.Root` as a direct child of the item; it takes the tier size.
229
297
 
230
298
  ## Related
231
- - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md) (list), [Checkbox](../checkbox/COMPONENT.md) (`Checkbox.Indicator` in `multiple`), [Spinner](../spinner/COMPONENT.md) (`loading`), [EmptyPage](../empty-page/COMPONENT.md) (empty state), [Divider](../divider/COMPONENT.md) (`Separator`), [Thumbnail](../thumbnail/COMPONENT.md) (rich media), [Label](../label/COMPONENT.md) and [Hint](../hint/COMPONENT.md) (field frame)
299
+ - **Built from:** [ScrollContainer](../scroll-container/COMPONENT.md) (list), [Checkbox](../checkbox/COMPONENT.md) (`Checkbox.Indicator` in `multiple`), [Spinner](../spinner/COMPONENT.md) (`loading` in the trigger), [Skeleton](../skeleton/COMPONENT.md) (loading rows), [EmptyPage](../empty-page/COMPONENT.md) (empty state, load error), [Button](../button/COMPONENT.md) (retry), [Divider](../divider/COMPONENT.md) (`Separator`), [Thumbnail](../thumbnail/COMPONENT.md) and [Avatar](../avatar/COMPONENT.md) (row media), [Badge](../badge/COMPONENT.md) (row badge), [VisuallyHidden](../visually-hidden/COMPONENT.md) (loading announcement), `Icon` (chevron, clear, check, search, retry), [Label](../label/COMPONENT.md) and [Hint](../hint/COMPONENT.md) (field frame)
232
300
  - **See also:** [NativeSelect](../native-select/COMPONENT.md), [TagSelect](../tag-select/COMPONENT.md), [Dropdown](../dropdown/COMPONENT.md), [Radio](../radio/COMPONENT.md), [SegmentedControl](../segmented-control/COMPONENT.md)
@@ -0,0 +1,45 @@
1
+ /** The options failed to load: the list says so in place and a retry loads them again — `loadError`, `onRetry`, `loading`. */
2
+ import { Select } from "prime-ui-kit";
3
+ import * as React from "react";
4
+
5
+ type LoadState = "error" | "loading" | "ready";
6
+
7
+ const WAREHOUSES = [
8
+ { value: "msk-1", label: "Москва, Южный порт" },
9
+ { value: "spb-1", label: "Санкт-Петербург, Шушары" },
10
+ { value: "ekb-1", label: "Екатеринбург, Кольцово" },
11
+ { value: "kzn-1", label: "Казань, Зеленодольск" },
12
+ ];
13
+ const LATENCY_MS = 800;
14
+
15
+ export default function SelectLoadErrorExample() {
16
+ const [state, setState] = React.useState<LoadState>("error");
17
+
18
+ const retry = () => {
19
+ setState("loading");
20
+ window.setTimeout(() => setState("ready"), LATENCY_MS);
21
+ };
22
+
23
+ return (
24
+ <Select.Root
25
+ label="Склад отгрузки"
26
+ placeholder="Выберите склад"
27
+ loading={state === "loading"}
28
+ loadError={state === "error" ? "Не удалось загрузить склады" : undefined}
29
+ onRetry={retry}
30
+ >
31
+ <Select.Trigger>
32
+ <Select.Value />
33
+ </Select.Trigger>
34
+ <Select.Content>
35
+ {state === "ready"
36
+ ? WAREHOUSES.map((warehouse) => (
37
+ <Select.Item key={warehouse.value} value={warehouse.value}>
38
+ {warehouse.label}
39
+ </Select.Item>
40
+ ))
41
+ : null}
42
+ </Select.Content>
43
+ </Select.Root>
44
+ );
45
+ }