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.
- package/README.md +114 -58
- package/bin/prime-ui-kit.js +52 -0
- package/dist/chunks/{chunk-EJ2ZVQYL.js → chunk-6TI4DSM5.js} +1904 -2040
- package/dist/chunks/chunk-CUH6DJ57.js +29335 -0
- package/dist/chunks/{chunk-T7CLQXGB.js → chunk-GKX3QAUC.js} +159 -6
- package/dist/chunks/chunk-Q3BFRQHZ.js +1729 -0
- package/dist/chunks/chunk-WDTSHOTD.js +6841 -0
- package/dist/color-picker.d.ts +5 -3
- package/dist/color-picker.js +7 -3
- package/dist/components/accordion/Accordion.d.ts +1 -1
- package/dist/components/avatar/Avatar.d.ts +2 -2
- package/dist/components/badge/Badge.d.ts +17 -5
- package/dist/components/badge/tier.d.ts +6 -2
- package/dist/components/banner/Banner.d.ts +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/components/button/Button.d.ts +42 -10
- package/dist/components/button-group/ButtonGroup.d.ts +22 -5
- package/dist/components/card/Card.d.ts +19 -3
- package/dist/components/chart-frame/ChartFrame.d.ts +229 -0
- package/dist/components/chat/Chat.d.ts +192 -0
- package/dist/components/chat/ChatPinned.d.ts +44 -0
- package/dist/components/chat/ChatRows.d.ts +30 -0
- package/dist/components/chat/MessageList.d.ts +95 -0
- package/dist/components/chat/chatContext.d.ts +54 -0
- package/dist/components/chat/groupMessages.d.ts +50 -0
- package/dist/components/chat/messageFlow.d.ts +42 -0
- package/dist/components/checkbox/Checkbox.d.ts +9 -4
- package/dist/components/code-block/CodeBlock.d.ts +1 -1
- package/dist/components/color-field/ColorField.d.ts +44 -0
- package/dist/components/color-picker/ColorPicker.d.ts +5 -4
- package/dist/components/color-picker/ColorPresets.d.ts +22 -14
- package/dist/components/color-swatches/ColorSwatches.d.ts +9 -4
- package/dist/components/command-menu/CommandMenu.d.ts +41 -11
- package/dist/components/composer/Composer.d.ts +234 -0
- package/dist/components/composer/format.d.ts +39 -0
- package/dist/components/composer/liveWave.d.ts +30 -0
- package/dist/components/composer/useRecorder.d.ts +72 -0
- package/dist/components/confirm-dialog/ConfirmDialog.d.ts +57 -0
- package/dist/components/crossfade/Crossfade.d.ts +8 -2
- package/dist/components/data-table/ColumnsMenu.d.ts +19 -0
- package/dist/components/data-table/DataTable.d.ts +72 -8
- package/dist/components/data-table/Footer.d.ts +1 -1
- package/dist/components/data-table/Head.d.ts +6 -2
- package/dist/components/data-table/Row.d.ts +33 -5
- package/dist/components/data-table/StateRows.d.ts +4 -2
- package/dist/components/data-table/context.d.ts +14 -0
- package/dist/components/data-table/reorder.d.ts +86 -0
- package/dist/components/data-table/rowEvents.d.ts +14 -0
- package/dist/components/data-table/rows.d.ts +17 -1
- package/dist/components/data-table/serverMode.d.ts +8 -0
- package/dist/components/data-table/types.d.ts +16 -0
- package/dist/components/data-table/useColumnHover.d.ts +2 -1
- package/dist/components/data-table/useInfiniteRows.d.ts +4 -1
- package/dist/components/data-table/useRowSelection.d.ts +5 -4
- package/dist/components/datepicker/Datepicker.d.ts +8 -3
- package/dist/components/datepicker/DatepickerPanel.d.ts +2 -2
- package/dist/components/datepicker/panelLayout.d.ts +2 -2
- package/dist/components/description-list/DescriptionList.d.ts +59 -0
- package/dist/components/digit-input/DigitInput.d.ts +12 -5
- package/dist/components/divider/Divider.d.ts +1 -1
- package/dist/components/dnd/Dnd.d.ts +48 -20
- package/dist/components/dnd/dragSession.d.ts +27 -2
- package/dist/components/dnd/geometry.d.ts +12 -4
- package/dist/components/dnd/labels.d.ts +12 -1
- package/dist/components/dnd/useDragSource.d.ts +2 -0
- package/dist/components/dnd/useDropTarget.d.ts +6 -3
- package/dist/components/dnd/useFlipList.d.ts +8 -2
- package/dist/components/dnd/useSortableList.d.ts +13 -10
- package/dist/components/drawer/Drawer.d.ts +14 -12
- package/dist/components/dropdown/Dropdown.d.ts +23 -4
- package/dist/components/empty-page/EmptyPage.d.ts +35 -5
- package/dist/components/fieldset/Fieldset.d.ts +24 -0
- package/dist/components/file-upload/FileUpload.d.ts +152 -14
- package/dist/components/gallery/Gallery.d.ts +79 -0
- package/dist/components/gallery/layout.d.ts +34 -0
- package/dist/components/gantt/Gantt.d.ts +102 -0
- package/dist/components/gantt/GanttBar.d.ts +51 -0
- package/dist/components/gantt/GanttRow.d.ts +75 -0
- package/dist/components/gantt/ganttModel.d.ts +133 -0
- package/dist/components/gantt/useEdgeAutoScroll.d.ts +12 -0
- package/dist/components/hint/Hint.d.ts +1 -1
- package/dist/components/index.d.ts +53 -22
- package/dist/components/input/Input.d.ts +58 -4
- package/dist/components/kanban/Kanban.d.ts +77 -12
- package/dist/components/kbd/Kbd.d.ts +1 -1
- package/dist/components/label/Label.d.ts +1 -1
- package/dist/components/link-button/LinkButton.d.ts +2 -2
- package/dist/components/login-form/LoginForm.d.ts +1 -1
- package/dist/components/media-viewer/MediaViewer.d.ts +55 -0
- package/dist/components/media-viewer/ViewerVideo.d.ts +53 -0
- package/dist/components/media-viewer/originShape.d.ts +17 -0
- package/dist/components/media-viewer/physics.d.ts +81 -0
- package/dist/components/media-viewer/types.d.ts +59 -0
- package/dist/components/media-viewer/viewerEngine.d.ts +202 -0
- package/dist/components/message/Message.d.ts +83 -0
- package/dist/components/message/MessageCards.d.ts +64 -0
- package/dist/components/message/MessageFile.d.ts +36 -0
- package/dist/components/message/MessageMedia.d.ts +12 -0
- package/dist/components/message/MessageParts.d.ts +206 -0
- package/dist/components/message/MessageReactionBar.d.ts +35 -0
- package/dist/components/message/MessageTyping.d.ts +25 -0
- package/dist/components/message/bubbleHug.d.ts +10 -0
- package/dist/components/message/bubbleMorph.d.ts +43 -0
- package/dist/components/message/formatMessageTime.d.ts +2 -0
- package/dist/components/message/types.d.ts +21 -0
- package/dist/components/modal/DialogGuard.d.ts +21 -0
- package/dist/components/modal/DialogParts.d.ts +90 -15
- package/dist/components/modal/Modal.d.ts +9 -47
- package/dist/components/modal/ModalDialog.d.ts +46 -0
- package/dist/components/native-select/NativeSelect.d.ts +3 -3
- package/dist/components/notification/Notification.d.ts +7 -1
- package/dist/components/page-content/PageContent.d.ts +58 -1
- package/dist/components/page-toolbar/PageToolbar.d.ts +8 -7
- package/dist/components/pagination/Pagination.d.ts +1 -1
- package/dist/components/popover/Popover.d.ts +12 -4
- package/dist/components/progress-bar/ProgressBar.d.ts +30 -10
- package/dist/components/progress-circle/ProgressCircle.d.ts +42 -7
- package/dist/components/radio/Radio.d.ts +4 -4
- package/dist/components/scroll-container/ScrollContainer.d.ts +27 -7
- package/dist/components/scroll-container/useFitFlag.d.ts +5 -0
- package/dist/components/scroll-container/useScrollEdges.d.ts +53 -0
- package/dist/components/scroll-container/useWheelToInline.d.ts +10 -0
- package/dist/components/segmented-control/SegmentedControl.d.ts +23 -6
- package/dist/components/select/Select.d.ts +38 -8
- package/dist/components/select/SelectItem.d.ts +7 -4
- package/dist/components/select/selectContext.d.ts +12 -3
- package/dist/components/sheet/Sheet.d.ts +49 -0
- package/dist/components/skeleton/Skeleton.d.ts +1 -1
- package/dist/components/slider/Slider.d.ts +17 -3
- package/dist/components/smart-filter/SmartFilter.d.ts +48 -6
- package/dist/components/smart-filter/model.d.ts +31 -11
- package/dist/components/sparkline/Sparkline.d.ts +19 -4
- package/dist/components/spinner/Spinner.d.ts +4 -3
- package/dist/components/stepper/Stepper.d.ts +2 -2
- package/dist/components/switch/Switch.d.ts +14 -4
- package/dist/components/tabs/Tabs.d.ts +5 -3
- package/dist/components/tag-select/TagOptionMenu.d.ts +6 -2
- package/dist/components/tag-select/TagSelect.d.ts +27 -9
- package/dist/components/tag-select/VirtualOptions.d.ts +24 -0
- package/dist/components/textarea/Textarea.d.ts +48 -2
- package/dist/components/thumbnail/Thumbnail.d.ts +48 -6
- package/dist/components/timeline/Timeline.d.ts +1 -1
- package/dist/components/tooltip/Tooltip.d.ts +9 -4
- package/dist/components/typography/Typography.d.ts +1 -1
- package/dist/components/video-note/VideoNote.d.ts +27 -0
- package/dist/components/voice-player/VoicePlayer.d.ts +33 -0
- package/dist/components/voice-player/getWaveform.d.ts +7 -0
- package/dist/hooks/useEdgeOverflow.d.ts +17 -8
- package/dist/hooks/useImageStatus.d.ts +10 -10
- package/dist/hooks/useModalLayer.d.ts +6 -4
- package/dist/hooks/usePosition.d.ts +16 -1
- package/dist/hooks/usePresence.d.ts +1 -1
- package/dist/hooks/useSwipeDismiss.d.ts +11 -19
- package/dist/hooks/useTokenValue.d.ts +10 -0
- package/dist/hooks/useUploadQueue.d.ts +60 -0
- package/dist/hooks/useVirtualRows.d.ts +74 -0
- package/dist/icon-set.d.ts +29 -0
- package/dist/{icons.js → icon-set.js} +75 -15
- package/dist/icons/Icon.d.ts +6 -5
- package/dist/icons/glyph.d.ts +18 -3
- package/dist/icons/glyphs/bike.d.ts +2 -0
- package/dist/icons/glyphs/captions.d.ts +2 -0
- package/dist/icons/glyphs/chart-gantt.d.ts +2 -0
- package/dist/icons/glyphs/circle-alert.d.ts +2 -0
- package/dist/icons/glyphs/code.d.ts +2 -0
- package/dist/icons/glyphs/columns-3.d.ts +2 -0
- package/dist/icons/glyphs/crown.d.ts +2 -0
- package/dist/icons/glyphs/disc.d.ts +2 -0
- package/dist/icons/glyphs/file.d.ts +2 -0
- package/dist/icons/glyphs/flag.d.ts +2 -0
- package/dist/icons/glyphs/forward.d.ts +2 -0
- package/dist/icons/glyphs/fuel.d.ts +2 -0
- package/dist/icons/glyphs/funnel.d.ts +2 -0
- package/dist/icons/glyphs/globe.d.ts +2 -0
- package/dist/icons/glyphs/headset.d.ts +2 -0
- package/dist/icons/glyphs/megaphone.d.ts +2 -0
- package/dist/icons/glyphs/motorbike.d.ts +2 -0
- package/dist/icons/glyphs/pin.d.ts +2 -0
- package/dist/icons/glyphs/reply.d.ts +2 -0
- package/dist/icons/glyphs/scale.d.ts +2 -0
- package/dist/icons/glyphs/star.d.ts +2 -0
- package/dist/icons/glyphs/strikethrough.d.ts +2 -0
- package/dist/icons/glyphs/text-quote.d.ts +2 -0
- package/dist/icons/glyphs/trophy.d.ts +2 -0
- package/dist/icons/glyphs/video.d.ts +2 -0
- package/dist/icons/glyphs/volume-2.d.ts +2 -0
- package/dist/icons/glyphs/volume-x.d.ts +2 -0
- package/dist/icons/glyphs/zoom-in.d.ts +2 -0
- package/dist/icons/glyphs/zoom-out.d.ts +2 -0
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/registry.d.ts +59 -0
- package/dist/index.css +1 -13089
- package/dist/index.d.ts +7 -2
- package/dist/index.js +57 -9
- package/dist/internal/AnchorRectContext.d.ts +9 -0
- package/dist/internal/ChoiceField.d.ts +2 -2
- package/dist/internal/ControlSizeContext.d.ts +1 -1
- package/dist/internal/Disclosure.d.ts +15 -0
- package/dist/internal/FieldAction.d.ts +38 -0
- package/dist/internal/FieldCommit.d.ts +46 -0
- package/dist/internal/FieldFrame.d.ts +1 -1
- package/dist/internal/HighlightMatch.d.ts +5 -3
- package/dist/internal/MorphText.d.ts +3 -2
- package/dist/internal/ProgressLegend.d.ts +18 -0
- package/dist/internal/VisuallyHidden.d.ts +5 -1
- package/dist/internal/attachmentTile.d.ts +64 -0
- package/dist/internal/attachmentTile.module.css.d.ts +2 -0
- package/dist/internal/disabledContext.d.ts +7 -0
- package/dist/internal/edgeAutoScroll.d.ts +30 -0
- package/dist/internal/fileFormat.d.ts +5 -0
- package/dist/internal/fileName.d.ts +9 -0
- package/dist/internal/fileSize.d.ts +2 -0
- package/dist/internal/formatClock.d.ts +2 -0
- package/dist/internal/glyphSwap.d.ts +19 -0
- package/dist/internal/iconBox.module.css.d.ts +2 -0
- package/dist/internal/imageSlot.d.ts +3 -1
- package/dist/internal/leaveInPlace.d.ts +9 -0
- package/dist/internal/listbox.d.ts +19 -0
- package/dist/internal/mediaDisk.d.ts +14 -0
- package/dist/internal/mediaFrame.d.ts +2 -0
- package/dist/internal/mediaKind.d.ts +7 -0
- package/dist/internal/mediaPlayer.d.ts +135 -0
- package/dist/internal/mediaSession.d.ts +13 -0
- package/dist/internal/messageList.d.ts +121 -0
- package/dist/internal/messagePart.d.ts +106 -0
- package/dist/internal/overlay/FloatingPanel.d.ts +1 -1
- package/dist/internal/overlay/focus.d.ts +23 -2
- package/dist/internal/overlay/useFloatingLayer.d.ts +2 -2
- package/dist/internal/palette.d.ts +7 -0
- package/dist/internal/progressSegments.d.ts +39 -2
- package/dist/internal/readReceipts.d.ts +11 -0
- package/dist/internal/richText.d.ts +40 -0
- package/dist/internal/ring.d.ts +64 -0
- package/dist/internal/sticky.d.ts +2 -0
- package/dist/internal/surfaceDepth.d.ts +2 -0
- package/dist/internal/transcript.d.ts +73 -0
- package/dist/internal/transfer.d.ts +79 -0
- package/dist/internal/transferDisk.d.ts +76 -0
- package/dist/internal/useNearView.d.ts +7 -0
- package/dist/internal/usePendingChanges.d.ts +18 -0
- package/dist/internal/useRangeSelection.d.ts +41 -0
- package/dist/layout/app-header/AppHeader.d.ts +21 -3
- package/dist/layout/bottom-nav/BottomNav.d.ts +27 -7
- package/dist/layout/index.d.ts +2 -2
- package/dist/layout/sidebar/Sidebar.d.ts +1 -1
- package/dist/skill/SKILL.md +130 -0
- package/dist/skill/anti-slop.md +224 -0
- package/dist/skill/api-contract.md +295 -0
- package/dist/skill/cheatsheet.md +317 -0
- package/dist/skill/checklist.md +91 -0
- package/dist/skill/choosing.md +164 -0
- package/dist/skill/components.md +177 -0
- package/dist/skill/composition.md +312 -0
- package/dist/skill/foundations.md +186 -0
- package/dist/skill/layouts.md +262 -0
- package/dist/skill/motion.md +211 -0
- package/dist/skill/patterns/chat.module.css +33 -0
- package/dist/skill/patterns/chat.tsx +838 -0
- package/dist/skill/patterns/dashboard.module.css +44 -0
- package/dist/skill/patterns/dashboard.tsx +326 -0
- package/dist/skill/patterns/detail-page.module.css +74 -0
- package/dist/skill/patterns/detail-page.tsx +209 -0
- package/dist/skill/patterns/form-drawer.module.css +14 -0
- package/dist/skill/patterns/form-drawer.tsx +240 -0
- package/dist/skill/patterns/list-page.module.css +19 -0
- package/dist/skill/patterns/list-page.tsx +334 -0
- package/dist/skill/patterns/screen-states.module.css +54 -0
- package/dist/skill/patterns/screen-states.tsx +186 -0
- package/dist/skill/patterns/settings-page.module.css +47 -0
- package/dist/skill/patterns/settings-page.tsx +217 -0
- package/dist/skill/reference/components/accordion/COMPONENT.md +175 -0
- package/dist/skill/reference/components/accordion/examples/collapsible.tsx +27 -0
- package/dist/skill/reference/components/accordion/examples/controlled.tsx +36 -0
- package/dist/skill/reference/components/accordion/examples/examples.module.css +10 -0
- package/dist/skill/reference/components/accordion/examples/multiple.tsx +31 -0
- package/dist/skill/reference/components/accordion/examples/overview.tsx +39 -0
- package/dist/skill/reference/components/accordion/examples/sizes.tsx +28 -0
- package/dist/skill/reference/components/accordion/examples/states.tsx +31 -0
- package/dist/skill/reference/components/accordion/examples/variants.tsx +35 -0
- package/dist/skill/reference/components/accordion/examples/with-icon.tsx +47 -0
- package/dist/skill/reference/components/avatar/COMPONENT.md +166 -0
- package/dist/skill/reference/components/avatar/examples/examples.module.css +25 -0
- package/dist/skill/reference/components/avatar/examples/overview.tsx +18 -0
- package/dist/skill/reference/components/avatar/examples/presence.tsx +47 -0
- package/dist/skill/reference/components/avatar/examples/sizes.tsx +21 -0
- package/dist/skill/reference/components/avatar/examples/src-from-state.tsx +30 -0
- package/dist/skill/reference/components/avatar/examples/states.tsx +39 -0
- package/dist/skill/reference/components/avatar/examples/team-group.tsx +41 -0
- package/dist/skill/reference/components/avatar/examples/variants.tsx +40 -0
- package/dist/skill/reference/components/badge/COMPONENT.md +193 -0
- package/dist/skill/reference/components/badge/examples/applied-filters.tsx +47 -0
- package/dist/skill/reference/components/badge/examples/examples.module.css +32 -0
- package/dist/skill/reference/components/badge/examples/filter-values.tsx +39 -0
- package/dist/skill/reference/components/badge/examples/in-controls.tsx +23 -0
- package/dist/skill/reference/components/badge/examples/overview.tsx +13 -0
- package/dist/skill/reference/components/badge/examples/server-tags.tsx +61 -0
- package/dist/skill/reference/components/badge/examples/sizes.tsx +21 -0
- package/dist/skill/reference/components/badge/examples/states.tsx +59 -0
- package/dist/skill/reference/components/badge/examples/variants.tsx +38 -0
- package/dist/skill/reference/components/badge/examples/with-icon.tsx +50 -0
- package/dist/skill/reference/components/banner/COMPONENT.md +165 -0
- package/dist/skill/reference/components/banner/examples/dismissible.tsx +38 -0
- package/dist/skill/reference/components/banner/examples/examples.module.css +32 -0
- package/dist/skill/reference/components/banner/examples/narrow.tsx +23 -0
- package/dist/skill/reference/components/banner/examples/overview.tsx +18 -0
- package/dist/skill/reference/components/banner/examples/page-strip.tsx +53 -0
- package/dist/skill/reference/components/banner/examples/sizes.tsx +29 -0
- package/dist/skill/reference/components/banner/examples/structure.tsx +45 -0
- package/dist/skill/reference/components/banner/examples/variants.tsx +43 -0
- package/dist/skill/reference/components/breadcrumb/COMPONENT.md +137 -0
- package/dist/skill/reference/components/breadcrumb/examples/ellipsis.tsx +12 -0
- package/dist/skill/reference/components/breadcrumb/examples/examples.module.css +11 -0
- package/dist/skill/reference/components/breadcrumb/examples/overflow.tsx +26 -0
- package/dist/skill/reference/components/breadcrumb/examples/overview.tsx +12 -0
- package/dist/skill/reference/components/breadcrumb/examples/sizes.tsx +24 -0
- package/dist/skill/reference/components/breadcrumb/examples/with-icon.tsx +14 -0
- package/dist/skill/reference/components/button/COMPONENT.md +211 -0
- package/dist/skill/reference/components/button/examples/as-child.tsx +15 -0
- package/dist/skill/reference/components/button/examples/circle.tsx +67 -0
- package/dist/skill/reference/components/button/examples/download.tsx +45 -0
- package/dist/skill/reference/components/button/examples/examples.module.css +54 -0
- package/dist/skill/reference/components/button/examples/hold-to-confirm.tsx +34 -0
- package/dist/skill/reference/components/button/examples/in-form.tsx +45 -0
- package/dist/skill/reference/components/button/examples/label-morph.tsx +38 -0
- package/dist/skill/reference/components/button/examples/on-colored-host.tsx +29 -0
- package/dist/skill/reference/components/button/examples/over-media.tsx +36 -0
- package/dist/skill/reference/components/button/examples/overview.tsx +13 -0
- package/dist/skill/reference/components/button/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/button/examples/states.tsx +38 -0
- package/dist/skill/reference/components/button/examples/toggle.tsx +21 -0
- package/dist/skill/reference/components/button/examples/variants.tsx +32 -0
- package/dist/skill/reference/components/button/examples/with-icon.tsx +41 -0
- package/dist/skill/reference/components/button-group/COMPONENT.md +172 -0
- package/dist/skill/reference/components/button-group/examples/controlled.tsx +29 -0
- package/dist/skill/reference/components/button-group/examples/examples.module.css +8 -0
- package/dist/skill/reference/components/button-group/examples/full-width.tsx +19 -0
- package/dist/skill/reference/components/button-group/examples/in-form.tsx +55 -0
- package/dist/skill/reference/components/button-group/examples/orientation.tsx +19 -0
- package/dist/skill/reference/components/button-group/examples/overview.tsx +12 -0
- package/dist/skill/reference/components/button-group/examples/sizes.tsx +22 -0
- package/dist/skill/reference/components/button-group/examples/states.tsx +33 -0
- package/dist/skill/reference/components/button-group/examples/with-icon.tsx +45 -0
- package/dist/skill/reference/components/card/COMPONENT.md +218 -0
- package/dist/skill/reference/components/card/examples/content-templates.tsx +67 -0
- package/dist/skill/reference/components/card/examples/examples.module.css +84 -0
- package/dist/skill/reference/components/card/examples/flat.tsx +25 -0
- package/dist/skill/reference/components/card/examples/interactive.tsx +28 -0
- package/dist/skill/reference/components/card/examples/kpi-media.tsx +42 -0
- package/dist/skill/reference/components/card/examples/narrow.tsx +47 -0
- package/dist/skill/reference/components/card/examples/overview.tsx +39 -0
- package/dist/skill/reference/components/card/examples/panel-chart.tsx +44 -0
- package/dist/skill/reference/components/card/examples/variants.tsx +40 -0
- package/dist/skill/reference/components/chart-frame/COMPONENT.md +265 -0
- package/dist/skill/reference/components/chart-frame/examples/controlled.tsx +92 -0
- package/dist/skill/reference/components/chart-frame/examples/examples.module.css +6 -0
- package/dist/skill/reference/components/chart-frame/examples/narrow.tsx +46 -0
- package/dist/skill/reference/components/chart-frame/examples/overview.tsx +127 -0
- package/dist/skill/reference/components/chart-frame/examples/states.tsx +78 -0
- package/dist/skill/reference/components/chart-frame/examples/tooltip.tsx +158 -0
- package/dist/skill/reference/components/chat/COMPONENT.md +336 -0
- package/dist/skill/reference/components/chat/examples/controlled.tsx +68 -0
- package/dist/skill/reference/components/chat/examples/examples.module.css +38 -0
- package/dist/skill/reference/components/chat/examples/group-chat.tsx +130 -0
- package/dist/skill/reference/components/chat/examples/live.tsx +89 -0
- package/dist/skill/reference/components/chat/examples/narrow.tsx +46 -0
- package/dist/skill/reference/components/chat/examples/overview.tsx +839 -0
- package/dist/skill/reference/components/chat/examples/search.tsx +61 -0
- package/dist/skill/reference/components/chat/examples/structure.tsx +28 -0
- package/dist/skill/reference/components/checkbox/COMPONENT.md +171 -0
- package/dist/skill/reference/components/checkbox/examples/controlled.tsx +41 -0
- package/dist/skill/reference/components/checkbox/examples/examples.module.css +69 -0
- package/dist/skill/reference/components/checkbox/examples/in-form.tsx +34 -0
- package/dist/skill/reference/components/checkbox/examples/indicator.tsx +54 -0
- package/dist/skill/reference/components/checkbox/examples/overview.tsx +10 -0
- package/dist/skill/reference/components/checkbox/examples/sizes.tsx +18 -0
- package/dist/skill/reference/components/checkbox/examples/states.tsx +48 -0
- package/dist/skill/reference/components/checkbox/examples/variants.tsx +30 -0
- package/dist/skill/reference/components/checkbox/examples/without-label.tsx +13 -0
- package/dist/skill/reference/components/code-block/COMPONENT.md +108 -0
- package/dist/skill/reference/components/code-block/examples/color-scheme.tsx +16 -0
- package/dist/skill/reference/components/code-block/examples/examples.module.css +21 -0
- package/dist/skill/reference/components/code-block/examples/narrow.tsx +14 -0
- package/dist/skill/reference/components/code-block/examples/overview.tsx +19 -0
- package/dist/skill/reference/components/code-block/examples/variants.tsx +21 -0
- package/dist/skill/reference/components/color-field/COMPONENT.md +163 -0
- package/dist/skill/reference/components/color-field/examples/controlled.tsx +33 -0
- package/dist/skill/reference/components/color-field/examples/examples.module.css +22 -0
- package/dist/skill/reference/components/color-field/examples/in-form.tsx +45 -0
- package/dist/skill/reference/components/color-field/examples/overview.tsx +6 -0
- package/dist/skill/reference/components/color-field/examples/presets.tsx +20 -0
- package/dist/skill/reference/components/color-field/examples/sizes.tsx +14 -0
- package/dist/skill/reference/components/color-field/examples/states.tsx +12 -0
- package/dist/skill/reference/components/color-field/examples/validation.tsx +29 -0
- package/dist/skill/reference/components/color-picker/COMPONENT.md +339 -0
- package/dist/skill/reference/components/color-picker/examples/controlled.tsx +37 -0
- package/dist/skill/reference/components/color-picker/examples/examples.module.css +48 -0
- package/dist/skill/reference/components/color-picker/examples/formats.tsx +26 -0
- package/dist/skill/reference/components/color-picker/examples/in-form.tsx +52 -0
- package/dist/skill/reference/components/color-picker/examples/overview.tsx +37 -0
- package/dist/skill/reference/components/color-picker/examples/panel.tsx +41 -0
- package/dist/skill/reference/components/color-picker/examples/presets-sizes.tsx +28 -0
- package/dist/skill/reference/components/color-picker/examples/presets.tsx +35 -0
- package/dist/skill/reference/components/color-picker/examples/sizes.tsx +26 -0
- package/dist/skill/reference/components/color-picker/examples/states.tsx +22 -0
- package/dist/skill/reference/components/color-picker/examples/validation.tsx +24 -0
- package/dist/skill/reference/components/color-swatches/COMPONENT.md +146 -0
- package/dist/skill/reference/components/color-swatches/examples/controlled.tsx +22 -0
- package/dist/skill/reference/components/color-swatches/examples/examples.module.css +19 -0
- package/dist/skill/reference/components/color-swatches/examples/in-form.tsx +41 -0
- package/dist/skill/reference/components/color-swatches/examples/overview.tsx +6 -0
- package/dist/skill/reference/components/color-swatches/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/color-swatches/examples/states.tsx +20 -0
- package/dist/skill/reference/components/color-swatches/examples/wrapping.tsx +12 -0
- package/dist/skill/reference/components/command-menu/COMPONENT.md +225 -0
- package/dist/skill/reference/components/command-menu/examples/controlled-open.tsx +29 -0
- package/dist/skill/reference/components/command-menu/examples/controlled.tsx +42 -0
- package/dist/skill/reference/components/command-menu/examples/dismiss.tsx +39 -0
- package/dist/skill/reference/components/command-menu/examples/load-error.tsx +65 -0
- package/dist/skill/reference/components/command-menu/examples/overview.tsx +61 -0
- package/dist/skill/reference/components/command-menu/examples/server-search.tsx +91 -0
- package/dist/skill/reference/components/command-menu/examples/sizes.tsx +53 -0
- package/dist/skill/reference/components/command-menu/examples/states.tsx +48 -0
- package/dist/skill/reference/components/command-menu/examples/structure.tsx +54 -0
- package/dist/skill/reference/components/composer/COMPONENT.md +310 -0
- package/dist/skill/reference/components/composer/examples/attachments.tsx +36 -0
- package/dist/skill/reference/components/composer/examples/controlled.tsx +46 -0
- package/dist/skill/reference/components/composer/examples/examples.module.css +30 -0
- package/dist/skill/reference/components/composer/examples/formatting.tsx +15 -0
- package/dist/skill/reference/components/composer/examples/narrow.tsx +22 -0
- package/dist/skill/reference/components/composer/examples/overview.tsx +39 -0
- package/dist/skill/reference/components/composer/examples/reply-edit.tsx +68 -0
- package/dist/skill/reference/components/composer/examples/sizes.tsx +23 -0
- package/dist/skill/reference/components/composer/examples/states.tsx +31 -0
- package/dist/skill/reference/components/composer/examples/typing.tsx +24 -0
- package/dist/skill/reference/components/composer/examples/voice.tsx +21 -0
- package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +124 -0
- package/dist/skill/reference/components/confirm-dialog/examples/controlled-open.tsx +35 -0
- package/dist/skill/reference/components/confirm-dialog/examples/failure.tsx +37 -0
- package/dist/skill/reference/components/confirm-dialog/examples/overview.tsx +24 -0
- package/dist/skill/reference/components/confirm-dialog/examples/variants.tsx +44 -0
- package/dist/skill/reference/components/crossfade/COMPONENT.md +118 -0
- package/dist/skill/reference/components/crossfade/examples/examples.module.css +93 -0
- package/dist/skill/reference/components/crossfade/examples/fill.tsx +79 -0
- package/dist/skill/reference/components/crossfade/examples/overview.tsx +102 -0
- package/dist/skill/reference/components/crossfade/examples/record-switch.tsx +67 -0
- package/dist/skill/reference/components/data-table/COMPONENT.md +366 -0
- package/dist/skill/reference/components/data-table/examples/appearance.tsx +62 -0
- package/dist/skill/reference/components/data-table/examples/columns-visibility.tsx +151 -0
- package/dist/skill/reference/components/data-table/examples/content-width.tsx +65 -0
- package/dist/skill/reference/components/data-table/examples/controlled.tsx +56 -0
- package/dist/skill/reference/components/data-table/examples/detail-panel.tsx +101 -0
- package/dist/skill/reference/components/data-table/examples/examples.module.css +86 -0
- package/dist/skill/reference/components/data-table/examples/fill-height.tsx +55 -0
- package/dist/skill/reference/components/data-table/examples/groups.tsx +73 -0
- package/dist/skill/reference/components/data-table/examples/heatmap.tsx +44 -0
- package/dist/skill/reference/components/data-table/examples/infinite-scroll.tsx +53 -0
- package/dist/skill/reference/components/data-table/examples/narrow.tsx +50 -0
- package/dist/skill/reference/components/data-table/examples/nested-rows.tsx +128 -0
- package/dist/skill/reference/components/data-table/examples/numeric.tsx +41 -0
- package/dist/skill/reference/components/data-table/examples/overview.tsx +54 -0
- package/dist/skill/reference/components/data-table/examples/reorder.tsx +61 -0
- package/dist/skill/reference/components/data-table/examples/row-link.tsx +100 -0
- package/dist/skill/reference/components/data-table/examples/row-open.tsx +129 -0
- package/dist/skill/reference/components/data-table/examples/selection.tsx +60 -0
- package/dist/skill/reference/components/data-table/examples/server.tsx +181 -0
- package/dist/skill/reference/components/data-table/examples/sizes.tsx +56 -0
- package/dist/skill/reference/components/data-table/examples/states.tsx +50 -0
- package/dist/skill/reference/components/data-table/examples/sticky.tsx +54 -0
- package/dist/skill/reference/components/data-table/examples/toolbar.tsx +124 -0
- package/dist/skill/reference/components/datepicker/COMPONENT.md +228 -0
- package/dist/skill/reference/components/datepicker/examples/controlled-open.tsx +32 -0
- package/dist/skill/reference/components/datepicker/examples/controlled.tsx +39 -0
- package/dist/skill/reference/components/datepicker/examples/examples.module.css +26 -0
- package/dist/skill/reference/components/datepicker/examples/in-form.tsx +74 -0
- package/dist/skill/reference/components/datepicker/examples/inline-panel.tsx +14 -0
- package/dist/skill/reference/components/datepicker/examples/narrow.tsx +14 -0
- package/dist/skill/reference/components/datepicker/examples/overview.tsx +6 -0
- package/dist/skill/reference/components/datepicker/examples/range-presets.tsx +22 -0
- package/dist/skill/reference/components/datepicker/examples/sizes.tsx +22 -0
- package/dist/skill/reference/components/datepicker/examples/states.tsx +20 -0
- package/dist/skill/reference/components/datepicker/examples/validation.tsx +36 -0
- package/dist/skill/reference/components/datepicker/examples/yearless.tsx +20 -0
- package/dist/skill/reference/components/description-list/COMPONENT.md +132 -0
- package/dist/skill/reference/components/description-list/examples/examples.module.css +41 -0
- package/dist/skill/reference/components/description-list/examples/narrow.tsx +20 -0
- package/dist/skill/reference/components/description-list/examples/overview.tsx +35 -0
- package/dist/skill/reference/components/description-list/examples/sizes.tsx +24 -0
- package/dist/skill/reference/components/description-list/examples/structure.tsx +29 -0
- package/dist/skill/reference/components/description-list/examples/vertical.tsx +21 -0
- package/dist/skill/reference/components/digit-input/COMPONENT.md +165 -0
- package/dist/skill/reference/components/digit-input/examples/controlled.tsx +23 -0
- package/dist/skill/reference/components/digit-input/examples/examples.module.css +25 -0
- package/dist/skill/reference/components/digit-input/examples/full-width.tsx +13 -0
- package/dist/skill/reference/components/digit-input/examples/grouped.tsx +11 -0
- package/dist/skill/reference/components/digit-input/examples/in-form.tsx +50 -0
- package/dist/skill/reference/components/digit-input/examples/on-complete.tsx +33 -0
- package/dist/skill/reference/components/digit-input/examples/overview.tsx +6 -0
- package/dist/skill/reference/components/digit-input/examples/sizes.tsx +14 -0
- package/dist/skill/reference/components/digit-input/examples/states.tsx +11 -0
- package/dist/skill/reference/components/digit-input/examples/validation.tsx +24 -0
- package/dist/skill/reference/components/divider/COMPONENT.md +113 -0
- package/dist/skill/reference/components/divider/examples/align.tsx +14 -0
- package/dist/skill/reference/components/divider/examples/examples.module.css +30 -0
- package/dist/skill/reference/components/divider/examples/or-separator.tsx +19 -0
- package/dist/skill/reference/components/divider/examples/overview.tsx +30 -0
- package/dist/skill/reference/components/divider/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/divider/examples/vertical.tsx +21 -0
- package/dist/skill/reference/components/divider/examples/with-icon.tsx +26 -0
- package/dist/skill/reference/components/dnd/COMPONENT.md +260 -0
- package/dist/skill/reference/components/dnd/examples/board.tsx +91 -0
- package/dist/skill/reference/components/dnd/examples/drop-zones.tsx +82 -0
- package/dist/skill/reference/components/dnd/examples/examples.module.css +112 -0
- package/dist/skill/reference/components/dnd/examples/grid.tsx +48 -0
- package/dist/skill/reference/components/dnd/examples/handle.tsx +58 -0
- package/dist/skill/reference/components/dnd/examples/locked.tsx +57 -0
- package/dist/skill/reference/components/dnd/examples/narrow.tsx +42 -0
- package/dist/skill/reference/components/dnd/examples/overview.tsx +45 -0
- package/dist/skill/reference/components/drawer/COMPONENT.md +229 -0
- package/dist/skill/reference/components/drawer/examples/controlled-open.tsx +40 -0
- package/dist/skill/reference/components/drawer/examples/dismiss.tsx +55 -0
- package/dist/skill/reference/components/drawer/examples/examples.module.css +21 -0
- package/dist/skill/reference/components/drawer/examples/guard.tsx +80 -0
- package/dist/skill/reference/components/drawer/examples/header-actions.tsx +63 -0
- package/dist/skill/reference/components/drawer/examples/in-form.tsx +87 -0
- package/dist/skill/reference/components/drawer/examples/long-content.tsx +40 -0
- package/dist/skill/reference/components/drawer/examples/overview.tsx +56 -0
- package/dist/skill/reference/components/drawer/examples/placement.tsx +40 -0
- package/dist/skill/reference/components/drawer/examples/sizes.tsx +43 -0
- package/dist/skill/reference/components/drawer/examples/structure.tsx +35 -0
- package/dist/skill/reference/components/dropdown/COMPONENT.md +235 -0
- package/dist/skill/reference/components/dropdown/examples/checkbox-items.tsx +48 -0
- package/dist/skill/reference/components/dropdown/examples/controlled-open.tsx +32 -0
- package/dist/skill/reference/components/dropdown/examples/dismiss.tsx +17 -0
- package/dist/skill/reference/components/dropdown/examples/examples.module.css +22 -0
- package/dist/skill/reference/components/dropdown/examples/item-description.tsx +30 -0
- package/dist/skill/reference/components/dropdown/examples/link-items.tsx +29 -0
- package/dist/skill/reference/components/dropdown/examples/long-list.tsx +42 -0
- package/dist/skill/reference/components/dropdown/examples/match-trigger-width.tsx +23 -0
- package/dist/skill/reference/components/dropdown/examples/overview.tsx +41 -0
- package/dist/skill/reference/components/dropdown/examples/placement.tsx +33 -0
- package/dist/skill/reference/components/dropdown/examples/sizes.tsx +43 -0
- package/dist/skill/reference/components/dropdown/examples/states.tsx +35 -0
- package/dist/skill/reference/components/dropdown/examples/structure.tsx +56 -0
- package/dist/skill/reference/components/empty-page/COMPONENT.md +167 -0
- package/dist/skill/reference/components/empty-page/examples/compact.tsx +23 -0
- package/dist/skill/reference/components/empty-page/examples/data-region.tsx +32 -0
- package/dist/skill/reference/components/empty-page/examples/examples.module.css +54 -0
- package/dist/skill/reference/components/empty-page/examples/narrow.tsx +26 -0
- package/dist/skill/reference/components/empty-page/examples/overview.tsx +22 -0
- package/dist/skill/reference/components/empty-page/examples/region-error.tsx +86 -0
- package/dist/skill/reference/components/empty-page/examples/sizes.tsx +25 -0
- package/{src/components/empty-page/examples/icon-tones.tsx → dist/skill/reference/components/empty-page/examples/variants.tsx} +10 -9
- package/dist/skill/reference/components/example-frame/COMPONENT.md +140 -0
- package/dist/skill/reference/components/example-frame/examples/controlled.tsx +42 -0
- package/dist/skill/reference/components/example-frame/examples/overview.tsx +16 -0
- package/dist/skill/reference/components/fieldset/COMPONENT.md +107 -0
- package/dist/skill/reference/components/fieldset/examples/examples.module.css +14 -0
- package/dist/skill/reference/components/fieldset/examples/in-form.tsx +59 -0
- package/dist/skill/reference/components/fieldset/examples/overview.tsx +22 -0
- package/dist/skill/reference/components/fieldset/examples/states.tsx +35 -0
- package/dist/skill/reference/components/file-upload/COMPONENT.md +407 -0
- package/dist/skill/reference/components/file-upload/examples/attachment-tray.tsx +99 -0
- package/dist/skill/reference/components/file-upload/examples/avatar-upload.tsx +56 -0
- package/dist/skill/reference/components/file-upload/examples/controlled.tsx +77 -0
- package/dist/skill/reference/components/file-upload/examples/custom-body.tsx +44 -0
- package/dist/skill/reference/components/file-upload/examples/examples.module.css +122 -0
- package/dist/skill/reference/components/file-upload/examples/file-cards.tsx +64 -0
- package/dist/skill/reference/components/file-upload/examples/gallery.tsx +104 -0
- package/dist/skill/reference/components/file-upload/examples/in-form.tsx +79 -0
- package/dist/skill/reference/components/file-upload/examples/narrow.tsx +73 -0
- package/dist/skill/reference/components/file-upload/examples/overview.tsx +49 -0
- package/dist/skill/reference/components/file-upload/examples/row-parts.tsx +41 -0
- package/dist/skill/reference/components/file-upload/examples/saving.tsx +71 -0
- package/dist/skill/reference/components/file-upload/examples/sizes.tsx +26 -0
- package/dist/skill/reference/components/file-upload/examples/states.tsx +23 -0
- package/dist/skill/reference/components/file-upload/examples/validation.tsx +42 -0
- package/dist/skill/reference/components/file-upload/examples/variants.tsx +32 -0
- package/dist/skill/reference/components/gallery/COMPONENT.md +151 -0
- package/dist/skill/reference/components/gallery/examples/controlled-open.tsx +39 -0
- package/dist/skill/reference/components/gallery/examples/examples.module.css +14 -0
- package/dist/skill/reference/components/gallery/examples/overview.tsx +52 -0
- package/dist/skill/reference/components/gallery/examples/transfer.tsx +45 -0
- package/dist/skill/reference/components/gantt/COMPONENT.md +224 -0
- package/dist/skill/reference/components/gantt/examples/controlled.tsx +72 -0
- package/dist/skill/reference/components/gantt/examples/examples.module.css +30 -0
- package/dist/skill/reference/components/gantt/examples/large.tsx +96 -0
- package/dist/skill/reference/components/gantt/examples/narrow.tsx +54 -0
- package/dist/skill/reference/components/gantt/examples/occupancy.tsx +149 -0
- package/dist/skill/reference/components/gantt/examples/overview.tsx +82 -0
- package/dist/skill/reference/components/gantt/examples/sizes.tsx +48 -0
- package/dist/skill/reference/components/gantt/examples/states.tsx +68 -0
- package/dist/skill/reference/components/gantt/examples/variants.tsx +82 -0
- package/dist/skill/reference/components/hint/COMPONENT.md +113 -0
- package/dist/skill/reference/components/hint/examples/examples.module.css +14 -0
- package/dist/skill/reference/components/hint/examples/hint-or-error.tsx +27 -0
- package/dist/skill/reference/components/hint/examples/overview.tsx +22 -0
- package/dist/skill/reference/components/hint/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/hint/examples/states.tsx +27 -0
- package/dist/skill/reference/components/hint/examples/with-icon.tsx +31 -0
- package/dist/skill/reference/components/input/COMPONENT.md +297 -0
- package/dist/skill/reference/components/input/examples/affixes.tsx +22 -0
- package/dist/skill/reference/components/input/examples/controlled.tsx +39 -0
- package/dist/skill/reference/components/input/examples/edge-actions.tsx +30 -0
- package/dist/skill/reference/components/input/examples/examples.module.css +38 -0
- package/dist/skill/reference/components/input/examples/in-form.tsx +107 -0
- package/dist/skill/reference/components/input/examples/inline-edit.tsx +52 -0
- package/dist/skill/reference/components/input/examples/overview.tsx +12 -0
- package/dist/skill/reference/components/input/examples/password-strength.tsx +13 -0
- package/dist/skill/reference/components/input/examples/sizes.tsx +18 -0
- package/dist/skill/reference/components/input/examples/states.tsx +27 -0
- package/dist/skill/reference/components/input/examples/validation.tsx +60 -0
- package/dist/skill/reference/components/input/examples/with-icon.tsx +25 -0
- package/dist/skill/reference/components/input/examples/without-focus-ring.tsx +25 -0
- package/dist/skill/reference/components/kanban/COMPONENT.md +239 -0
- package/dist/skill/reference/components/kanban/examples/cards.tsx +152 -0
- package/dist/skill/reference/components/kanban/examples/columns.tsx +182 -0
- package/dist/skill/reference/components/kanban/examples/controlled.tsx +78 -0
- package/dist/skill/reference/components/kanban/examples/examples.module.css +37 -0
- package/dist/skill/reference/components/kanban/examples/limits.tsx +60 -0
- package/dist/skill/reference/components/kanban/examples/narrow.tsx +76 -0
- package/dist/skill/reference/components/kanban/examples/overview.tsx +130 -0
- package/dist/skill/reference/components/kanban/examples/saving.tsx +83 -0
- package/dist/skill/reference/components/kanban/examples/states.tsx +75 -0
- package/dist/skill/reference/components/kanban/examples/structure.tsx +76 -0
- package/dist/skill/reference/components/kanban/examples/variants.tsx +57 -0
- package/dist/skill/reference/components/kbd/COMPONENT.md +99 -0
- package/dist/skill/reference/components/kbd/examples/examples.module.css +37 -0
- package/dist/skill/reference/components/kbd/examples/in-controls.tsx +34 -0
- package/dist/skill/reference/components/kbd/examples/overview.tsx +24 -0
- package/dist/skill/reference/components/kbd/examples/shortcut-list.tsx +49 -0
- package/dist/skill/reference/components/kbd/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/label/COMPONENT.md +126 -0
- package/dist/skill/reference/components/label/examples/examples.module.css +16 -0
- package/dist/skill/reference/components/label/examples/overview.tsx +20 -0
- package/dist/skill/reference/components/label/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/label/examples/states.tsx +23 -0
- package/dist/skill/reference/components/label/examples/structure.tsx +32 -0
- package/dist/skill/reference/components/label/examples/with-icon.tsx +31 -0
- package/dist/skill/reference/components/link-button/COMPONENT.md +128 -0
- package/dist/skill/reference/components/link-button/examples/as-child.tsx +18 -0
- package/dist/skill/reference/components/link-button/examples/external-link.tsx +14 -0
- package/dist/skill/reference/components/link-button/examples/overview.tsx +11 -0
- package/dist/skill/reference/components/link-button/examples/sizes.tsx +21 -0
- package/dist/skill/reference/components/link-button/examples/states.tsx +31 -0
- package/dist/skill/reference/components/link-button/examples/variants.tsx +21 -0
- package/dist/skill/reference/components/link-button/examples/with-icon.tsx +27 -0
- package/dist/skill/reference/components/login-form/COMPONENT.md +163 -0
- package/dist/skill/reference/components/login-form/examples/examples.module.css +39 -0
- package/dist/skill/reference/components/login-form/examples/forgot-password.tsx +39 -0
- package/dist/skill/reference/components/login-form/examples/narrow.tsx +32 -0
- package/dist/skill/reference/components/login-form/examples/overview.tsx +58 -0
- package/dist/skill/reference/components/login-form/examples/register.tsx +80 -0
- package/dist/skill/reference/components/login-form/examples/reset-password.tsx +60 -0
- package/dist/skill/reference/components/login-form/examples/sizes.tsx +38 -0
- package/dist/skill/reference/components/login-form/examples/states.tsx +71 -0
- package/dist/skill/reference/components/login-form/examples/structure.tsx +28 -0
- package/dist/skill/reference/components/login-form/examples/verification-code.tsx +57 -0
- package/dist/skill/reference/components/media-viewer/COMPONENT.md +207 -0
- package/dist/skill/reference/components/media-viewer/examples/actions.tsx +86 -0
- package/dist/skill/reference/components/media-viewer/examples/controlled-open.tsx +30 -0
- package/dist/skill/reference/components/media-viewer/examples/controlled.tsx +54 -0
- package/dist/skill/reference/components/media-viewer/examples/dismiss.tsx +34 -0
- package/dist/skill/reference/components/media-viewer/examples/examples.module.css +16 -0
- package/dist/skill/reference/components/media-viewer/examples/origin.tsx +60 -0
- package/dist/skill/reference/components/media-viewer/examples/overview.tsx +75 -0
- package/dist/skill/reference/components/media-viewer/examples/thumbnails.tsx +49 -0
- package/dist/skill/reference/components/media-viewer/examples/video.tsx +55 -0
- package/dist/skill/reference/components/message/COMPONENT.md +444 -0
- package/dist/skill/reference/components/message/examples/author.tsx +74 -0
- package/dist/skill/reference/components/message/examples/contact.tsx +24 -0
- package/dist/skill/reference/components/message/examples/context-menu.tsx +71 -0
- package/dist/skill/reference/components/message/examples/examples.module.css +18 -0
- package/dist/skill/reference/components/message/examples/file.tsx +79 -0
- package/dist/skill/reference/components/message/examples/kinds.tsx +93 -0
- package/dist/skill/reference/components/message/examples/link-preview.tsx +17 -0
- package/dist/skill/reference/components/message/examples/location.tsx +30 -0
- package/dist/skill/reference/components/message/examples/media.tsx +93 -0
- package/dist/skill/reference/components/message/examples/narrow.tsx +29 -0
- package/dist/skill/reference/components/message/examples/overview.tsx +52 -0
- package/dist/skill/reference/components/message/examples/reactions.tsx +73 -0
- package/dist/skill/reference/components/message/examples/status.tsx +45 -0
- package/dist/skill/reference/components/message/examples/structure.tsx +32 -0
- package/dist/skill/reference/components/message/examples/text-formatting.tsx +27 -0
- package/dist/skill/reference/components/message/examples/typing.tsx +22 -0
- package/dist/skill/reference/components/message/examples/voice.tsx +39 -0
- package/dist/skill/reference/components/modal/COMPONENT.md +247 -0
- package/dist/skill/reference/components/modal/examples/controlled-open.tsx +33 -0
- package/dist/skill/reference/components/modal/examples/custom-container.tsx +29 -0
- package/dist/skill/reference/components/modal/examples/dismiss.tsx +54 -0
- package/dist/skill/reference/components/modal/examples/examples.module.css +21 -0
- package/dist/skill/reference/components/modal/examples/guard.tsx +87 -0
- package/dist/skill/reference/components/modal/examples/in-form.tsx +83 -0
- package/dist/skill/reference/components/modal/examples/long-content.tsx +52 -0
- package/dist/skill/reference/components/modal/examples/overview.tsx +35 -0
- package/dist/skill/reference/components/modal/examples/sizes.tsx +48 -0
- package/dist/skill/reference/components/modal/examples/structure.tsx +53 -0
- package/dist/skill/reference/components/native-select/COMPONENT.md +132 -0
- package/dist/skill/reference/components/native-select/examples/controlled.tsx +26 -0
- package/dist/skill/reference/components/native-select/examples/examples.module.css +16 -0
- package/dist/skill/reference/components/native-select/examples/in-form.tsx +58 -0
- package/dist/skill/reference/components/native-select/examples/option-groups.tsx +17 -0
- package/dist/skill/reference/components/native-select/examples/overview.tsx +16 -0
- package/dist/skill/reference/components/native-select/examples/sizes.tsx +18 -0
- package/dist/skill/reference/components/native-select/examples/states.tsx +21 -0
- package/dist/skill/reference/components/native-select/examples/validation.tsx +31 -0
- package/dist/skill/reference/components/notification/COMPONENT.md +193 -0
- package/dist/skill/reference/components/notification/examples/dismiss.tsx +50 -0
- package/dist/skill/reference/components/notification/examples/examples.module.css +52 -0
- package/dist/skill/reference/components/notification/examples/in-form.tsx +64 -0
- package/dist/skill/reference/components/notification/examples/overview.tsx +24 -0
- package/dist/skill/reference/components/notification/examples/placement.tsx +66 -0
- package/dist/skill/reference/components/notification/examples/sizes.tsx +22 -0
- package/dist/skill/reference/components/notification/examples/stacking.tsx +45 -0
- package/dist/skill/reference/components/notification/examples/structure.tsx +20 -0
- package/dist/skill/reference/components/notification/examples/tones.tsx +25 -0
- package/dist/skill/reference/components/notification/examples/undo.tsx +61 -0
- package/dist/skill/reference/components/page-content/COMPONENT.md +215 -0
- package/dist/skill/reference/components/page-content/examples/examples.module.css +76 -0
- package/dist/skill/reference/components/page-content/examples/list-detail.tsx +114 -0
- package/dist/skill/reference/components/page-content/examples/narrow.tsx +25 -0
- package/dist/skill/reference/components/page-content/examples/overview.tsx +41 -0
- package/dist/skill/reference/components/page-content/examples/variants.tsx +39 -0
- package/dist/skill/reference/components/page-toolbar/COMPONENT.md +141 -0
- package/dist/skill/reference/components/page-toolbar/examples/examples.module.css +16 -0
- package/dist/skill/reference/components/page-toolbar/examples/narrow.tsx +103 -0
- package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +113 -0
- package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +40 -0
- package/dist/skill/reference/components/page-toolbar/examples/without-search.tsx +60 -0
- package/dist/skill/reference/components/pagination/COMPONENT.md +132 -0
- package/dist/skill/reference/components/pagination/examples/controlled.tsx +51 -0
- package/dist/skill/reference/components/pagination/examples/examples.module.css +24 -0
- package/dist/skill/reference/components/pagination/examples/narrow.tsx +25 -0
- package/dist/skill/reference/components/pagination/examples/overflow.tsx +23 -0
- package/dist/skill/reference/components/pagination/examples/overview.tsx +6 -0
- package/dist/skill/reference/components/pagination/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/popover/COMPONENT.md +183 -0
- package/dist/skill/reference/components/popover/examples/controlled-open.tsx +32 -0
- package/dist/skill/reference/components/popover/examples/dismiss.tsx +49 -0
- package/dist/skill/reference/components/popover/examples/examples.module.css +49 -0
- package/dist/skill/reference/components/popover/examples/flush.tsx +47 -0
- package/dist/skill/reference/components/popover/examples/from-menu.tsx +56 -0
- package/dist/skill/reference/components/popover/examples/in-form.tsx +76 -0
- package/dist/skill/reference/components/popover/examples/match-trigger-width.tsx +23 -0
- package/dist/skill/reference/components/popover/examples/overview.tsx +43 -0
- package/dist/skill/reference/components/popover/examples/placement.tsx +34 -0
- package/dist/skill/reference/components/popover/examples/sizes.tsx +36 -0
- package/dist/skill/reference/components/popover/examples/structure.tsx +50 -0
- package/dist/skill/reference/components/progress-bar/COMPONENT.md +199 -0
- package/dist/skill/reference/components/progress-bar/examples/custom-max.tsx +12 -0
- package/dist/skill/reference/components/progress-bar/examples/examples.module.css +17 -0
- package/dist/skill/reference/components/progress-bar/examples/legend.tsx +28 -0
- package/dist/skill/reference/components/progress-bar/examples/milestone.tsx +43 -0
- package/dist/skill/reference/components/progress-bar/examples/overview.tsx +12 -0
- package/dist/skill/reference/components/progress-bar/examples/ranking.tsx +28 -0
- package/dist/skill/reference/components/progress-bar/examples/segments.tsx +32 -0
- package/dist/skill/reference/components/progress-bar/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/progress-bar/examples/states.tsx +43 -0
- package/dist/skill/reference/components/progress-bar/examples/steps.tsx +35 -0
- package/dist/skill/reference/components/progress-bar/examples/variants.tsx +34 -0
- package/dist/skill/reference/components/progress-circle/COMPONENT.md +189 -0
- package/dist/skill/reference/components/progress-circle/examples/examples.module.css +22 -0
- package/dist/skill/reference/components/progress-circle/examples/inner-content.tsx +35 -0
- package/dist/skill/reference/components/progress-circle/examples/legend.tsx +33 -0
- package/dist/skill/reference/components/progress-circle/examples/overview.tsx +10 -0
- package/dist/skill/reference/components/progress-circle/examples/segments.tsx +64 -0
- package/dist/skill/reference/components/progress-circle/examples/sizes.tsx +21 -0
- package/dist/skill/reference/components/progress-circle/examples/states.tsx +25 -0
- package/dist/skill/reference/components/progress-circle/examples/under-way.tsx +54 -0
- package/dist/skill/reference/components/progress-circle/examples/variants.tsx +28 -0
- package/dist/skill/reference/components/radio/COMPONENT.md +165 -0
- package/dist/skill/reference/components/radio/examples/controlled.tsx +30 -0
- package/dist/skill/reference/components/radio/examples/group.tsx +23 -0
- package/dist/skill/reference/components/radio/examples/orientation.tsx +34 -0
- package/dist/skill/reference/components/radio/examples/overview.tsx +18 -0
- package/dist/skill/reference/components/radio/examples/sizes.tsx +20 -0
- package/dist/skill/reference/components/radio/examples/states.tsx +48 -0
- package/dist/skill/reference/components/scroll-container/COMPONENT.md +179 -0
- package/dist/skill/reference/components/scroll-container/examples/auto-scroll.tsx +52 -0
- package/dist/skill/reference/components/scroll-container/examples/chat.tsx +101 -0
- package/dist/skill/reference/components/scroll-container/examples/edges.tsx +43 -0
- package/dist/skill/reference/components/scroll-container/examples/examples.module.css +139 -0
- package/dist/skill/reference/components/scroll-container/examples/lock.tsx +49 -0
- package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +27 -0
- package/dist/skill/reference/components/scroll-container/examples/overview.tsx +27 -0
- package/dist/skill/reference/components/scroll-container/examples/scrollbar.tsx +52 -0
- package/dist/skill/reference/components/scroll-container/examples/snap.tsx +36 -0
- package/dist/skill/reference/components/scroll-container/examples/variants.tsx +54 -0
- package/dist/skill/reference/components/segmented-control/COMPONENT.md +214 -0
- package/dist/skill/reference/components/segmented-control/examples/colors.tsx +18 -0
- package/dist/skill/reference/components/segmented-control/examples/controlled.tsx +28 -0
- package/dist/skill/reference/components/segmented-control/examples/examples.module.css +20 -0
- package/dist/skill/reference/components/segmented-control/examples/full-width.tsx +12 -0
- package/dist/skill/reference/components/segmented-control/examples/in-form.tsx +42 -0
- package/dist/skill/reference/components/segmented-control/examples/overview.tsx +12 -0
- package/dist/skill/reference/components/segmented-control/examples/scroll.tsx +16 -0
- package/dist/skill/reference/components/segmented-control/examples/sizes.tsx +22 -0
- package/dist/skill/reference/components/segmented-control/examples/states.tsx +47 -0
- package/dist/skill/reference/components/segmented-control/examples/two-line.tsx +28 -0
- package/dist/skill/reference/components/segmented-control/examples/with-icon.tsx +52 -0
- package/dist/skill/reference/components/select/COMPONENT.md +300 -0
- package/dist/skill/reference/components/select/examples/clearable.tsx +23 -0
- package/dist/skill/reference/components/select/examples/controlled-open.tsx +30 -0
- package/dist/skill/reference/components/select/examples/controlled.tsx +34 -0
- package/dist/skill/reference/components/select/examples/examples.module.css +35 -0
- package/dist/skill/reference/components/select/examples/in-form.tsx +88 -0
- package/dist/skill/reference/components/select/examples/load-error.tsx +45 -0
- package/dist/skill/reference/components/select/examples/multiple.tsx +26 -0
- package/dist/skill/reference/components/select/examples/overview.tsx +17 -0
- package/dist/skill/reference/components/select/examples/people.tsx +53 -0
- package/dist/skill/reference/components/select/examples/rich-options.tsx +72 -0
- package/dist/skill/reference/components/select/examples/searchable.tsx +42 -0
- package/dist/skill/reference/components/select/examples/server-search.tsx +93 -0
- package/dist/skill/reference/components/select/examples/sizes.tsx +23 -0
- package/dist/skill/reference/components/select/examples/states.tsx +67 -0
- package/dist/skill/reference/components/select/examples/validation.tsx +46 -0
- package/dist/skill/reference/components/select/examples/with-icon.tsx +35 -0
- package/dist/skill/reference/components/sheet/COMPONENT.md +216 -0
- package/dist/skill/reference/components/sheet/examples/controlled-open.tsx +37 -0
- package/dist/skill/reference/components/sheet/examples/dismiss.tsx +42 -0
- package/dist/skill/reference/components/sheet/examples/examples.module.css +13 -0
- package/dist/skill/reference/components/sheet/examples/in-form.tsx +65 -0
- package/dist/skill/reference/components/sheet/examples/overview.tsx +50 -0
- package/{src/components/drawer/examples/date-sheet.tsx → dist/skill/reference/components/sheet/examples/structure.tsx} +11 -17
- package/dist/skill/reference/components/skeleton/COMPONENT.md +104 -0
- package/dist/skill/reference/components/skeleton/examples/examples.module.css +89 -0
- package/dist/skill/reference/components/skeleton/examples/form.tsx +20 -0
- package/dist/skill/reference/components/skeleton/examples/overview.tsx +21 -0
- package/dist/skill/reference/components/skeleton/examples/sizes.tsx +24 -0
- package/dist/skill/reference/components/skeleton/examples/with-crossfade.tsx +68 -0
- package/dist/skill/reference/components/slider/COMPONENT.md +186 -0
- package/dist/skill/reference/components/slider/examples/autosave.tsx +39 -0
- package/dist/skill/reference/components/slider/examples/controlled.tsx +39 -0
- package/dist/skill/reference/components/slider/examples/examples.module.css +24 -0
- package/dist/skill/reference/components/slider/examples/hint-and-error.tsx +33 -0
- package/dist/skill/reference/components/slider/examples/orientation.tsx +27 -0
- package/dist/skill/reference/components/slider/examples/overview.tsx +6 -0
- package/dist/skill/reference/components/slider/examples/range-step.tsx +19 -0
- package/dist/skill/reference/components/slider/examples/sizes.tsx +18 -0
- package/dist/skill/reference/components/slider/examples/states.tsx +18 -0
- package/dist/skill/reference/components/slider/examples/value-format.tsx +32 -0
- package/dist/skill/reference/components/slider/examples/variants.tsx +23 -0
- package/dist/skill/reference/components/smart-filter/COMPONENT.md +235 -0
- package/dist/skill/reference/components/smart-filter/examples/controlled.tsx +48 -0
- package/dist/skill/reference/components/smart-filter/examples/examples.module.css +56 -0
- package/dist/skill/reference/components/smart-filter/examples/many-values.tsx +53 -0
- package/dist/skill/reference/components/smart-filter/examples/narrow.tsx +38 -0
- package/dist/skill/reference/components/smart-filter/examples/option-groups.tsx +40 -0
- package/dist/skill/reference/components/smart-filter/examples/overview.tsx +109 -0
- package/dist/skill/reference/components/smart-filter/examples/ranges.tsx +89 -0
- package/dist/skill/reference/components/smart-filter/examples/single-value.tsx +41 -0
- package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +33 -0
- package/dist/skill/reference/components/sparkline/COMPONENT.md +127 -0
- package/dist/skill/reference/components/sparkline/examples/examples.module.css +13 -0
- package/dist/skill/reference/components/sparkline/examples/overview.tsx +27 -0
- package/dist/skill/reference/components/sparkline/examples/period.tsx +46 -0
- package/dist/skill/reference/components/sparkline/examples/signed-bars.tsx +41 -0
- package/dist/skill/reference/components/sparkline/examples/states.tsx +30 -0
- package/dist/skill/reference/components/sparkline/examples/variants.tsx +29 -0
- package/dist/skill/reference/components/spinner/COMPONENT.md +114 -0
- package/dist/skill/reference/components/spinner/examples/examples.module.css +20 -0
- package/dist/skill/reference/components/spinner/examples/loading-region.tsx +22 -0
- package/dist/skill/reference/components/spinner/examples/overview.tsx +15 -0
- package/dist/skill/reference/components/spinner/examples/sizes.tsx +19 -0
- package/dist/skill/reference/components/spinner/examples/variants.tsx +19 -0
- package/dist/skill/reference/components/stepper/COMPONENT.md +176 -0
- package/dist/skill/reference/components/stepper/examples/controlled.tsx +46 -0
- package/dist/skill/reference/components/stepper/examples/examples.module.css +24 -0
- package/dist/skill/reference/components/stepper/examples/narrow.tsx +23 -0
- package/dist/skill/reference/components/stepper/examples/orientation.tsx +35 -0
- package/dist/skill/reference/components/stepper/examples/overview.tsx +28 -0
- package/dist/skill/reference/components/stepper/examples/sizes.tsx +31 -0
- package/dist/skill/reference/components/stepper/examples/states.tsx +49 -0
- package/dist/skill/reference/components/stepper/examples/with-icon.tsx +29 -0
- package/dist/skill/reference/components/switch/COMPONENT.md +147 -0
- package/dist/skill/reference/components/switch/examples/controlled.tsx +17 -0
- package/dist/skill/reference/components/switch/examples/examples.module.css +30 -0
- package/dist/skill/reference/components/switch/examples/in-form.tsx +36 -0
- package/dist/skill/reference/components/switch/examples/overview.tsx +10 -0
- package/dist/skill/reference/components/switch/examples/saving.tsx +53 -0
- package/dist/skill/reference/components/switch/examples/settings-row.tsx +24 -0
- package/dist/skill/reference/components/switch/examples/sizes.tsx +18 -0
- package/dist/skill/reference/components/switch/examples/states.tsx +48 -0
- package/dist/skill/reference/components/tabs/COMPONENT.md +276 -0
- package/dist/skill/reference/components/tabs/examples/closable.tsx +48 -0
- package/dist/skill/reference/components/tabs/examples/controlled.tsx +33 -0
- package/dist/skill/reference/components/tabs/examples/examples.module.css +38 -0
- package/dist/skill/reference/components/tabs/examples/in-drawer.tsx +100 -0
- package/dist/skill/reference/components/tabs/examples/orientation.tsx +94 -0
- package/dist/skill/reference/components/tabs/examples/overflow.tsx +60 -0
- package/dist/skill/reference/components/tabs/examples/overview.tsx +30 -0
- package/dist/skill/reference/components/tabs/examples/sizes.tsx +30 -0
- package/dist/skill/reference/components/tabs/examples/states.tsx +26 -0
- package/dist/skill/reference/components/tabs/examples/two-line.tsx +56 -0
- package/dist/skill/reference/components/tabs/examples/variants.tsx +40 -0
- package/dist/skill/reference/components/tabs/examples/with-icon.tsx +44 -0
- package/dist/skill/reference/components/tag-select/COMPONENT.md +179 -0
- package/dist/skill/reference/components/tag-select/examples/confirm-delete.tsx +60 -0
- package/dist/skill/reference/components/tag-select/examples/controlled-open.tsx +29 -0
- package/dist/skill/reference/components/tag-select/examples/controlled.tsx +26 -0
- package/dist/skill/reference/components/tag-select/examples/creatable.tsx +49 -0
- package/dist/skill/reference/components/tag-select/examples/examples.module.css +16 -0
- package/dist/skill/reference/components/tag-select/examples/in-form.tsx +85 -0
- package/dist/skill/reference/components/tag-select/examples/manage-tags.tsx +38 -0
- package/dist/skill/reference/components/tag-select/examples/many-tags.tsx +20 -0
- package/dist/skill/reference/components/tag-select/examples/overview.tsx +21 -0
- package/dist/skill/reference/components/tag-select/examples/sizes.tsx +27 -0
- package/dist/skill/reference/components/tag-select/examples/states.tsx +24 -0
- package/dist/skill/reference/components/tag-select/examples/validation.tsx +40 -0
- package/dist/skill/reference/components/textarea/COMPONENT.md +206 -0
- package/dist/skill/reference/components/textarea/examples/auto-resize.tsx +28 -0
- package/dist/skill/reference/components/textarea/examples/controlled.tsx +21 -0
- package/dist/skill/reference/components/textarea/examples/edge-actions.tsx +24 -0
- package/dist/skill/reference/components/textarea/examples/examples.module.css +27 -0
- package/dist/skill/reference/components/textarea/examples/in-form.tsx +76 -0
- package/dist/skill/reference/components/textarea/examples/inline-edit.tsx +42 -0
- package/dist/skill/reference/components/textarea/examples/overview.tsx +12 -0
- package/dist/skill/reference/components/textarea/examples/sizes.tsx +20 -0
- package/dist/skill/reference/components/textarea/examples/states.tsx +21 -0
- package/dist/skill/reference/components/textarea/examples/validation.tsx +50 -0
- package/dist/skill/reference/components/textarea/examples/without-focus-ring.tsx +12 -0
- package/dist/skill/reference/components/thumbnail/COMPONENT.md +191 -0
- package/dist/skill/reference/components/thumbnail/examples/controlled.tsx +61 -0
- package/dist/skill/reference/components/thumbnail/examples/examples.module.css +76 -0
- package/dist/skill/reference/components/thumbnail/examples/full-width.tsx +45 -0
- package/dist/skill/reference/components/thumbnail/examples/overview.tsx +27 -0
- package/dist/skill/reference/components/thumbnail/examples/pressable.tsx +56 -0
- package/dist/skill/reference/components/thumbnail/examples/ratios.tsx +25 -0
- package/dist/skill/reference/components/thumbnail/examples/ring.tsx +29 -0
- package/dist/skill/reference/components/thumbnail/examples/sizes.tsx +23 -0
- package/dist/skill/reference/components/thumbnail/examples/states.tsx +38 -0
- package/dist/skill/reference/components/thumbnail/examples/variants.tsx +28 -0
- package/dist/skill/reference/components/thumbnail/examples/video.tsx +46 -0
- package/dist/skill/reference/components/timeline/COMPONENT.md +181 -0
- package/dist/skill/reference/components/timeline/examples/examples.module.css +25 -0
- package/dist/skill/reference/components/timeline/examples/links.tsx +28 -0
- package/dist/skill/reference/components/timeline/examples/narrow.tsx +41 -0
- package/dist/skill/reference/components/timeline/examples/overview.tsx +47 -0
- package/dist/skill/reference/components/timeline/examples/sizes.tsx +33 -0
- package/dist/skill/reference/components/timeline/examples/structure.tsx +56 -0
- package/dist/skill/reference/components/timeline/examples/variants.tsx +56 -0
- package/dist/skill/reference/components/tooltip/COMPONENT.md +167 -0
- package/dist/skill/reference/components/tooltip/examples/controlled-open.tsx +23 -0
- package/dist/skill/reference/components/tooltip/examples/delay.tsx +25 -0
- package/dist/skill/reference/components/tooltip/examples/disabled-trigger.tsx +13 -0
- package/dist/skill/reference/components/tooltip/examples/examples.module.css +20 -0
- package/dist/skill/reference/components/tooltip/examples/long-content.tsx +18 -0
- package/dist/skill/reference/components/tooltip/examples/non-interactive-trigger.tsx +31 -0
- package/dist/skill/reference/components/tooltip/examples/overview.tsx +17 -0
- package/dist/skill/reference/components/tooltip/examples/placement.tsx +30 -0
- package/dist/skill/reference/components/tooltip/examples/sizes.tsx +21 -0
- package/dist/skill/reference/components/tooltip/examples/toolbar.tsx +35 -0
- package/dist/skill/reference/components/typography/COMPONENT.md +126 -0
- package/dist/skill/reference/components/typography/examples/article.tsx +36 -0
- package/dist/skill/reference/components/typography/examples/examples.module.css +41 -0
- package/dist/skill/reference/components/typography/examples/inline-emphasis.tsx +20 -0
- package/dist/skill/reference/components/typography/examples/overview.tsx +20 -0
- package/dist/skill/reference/components/typography/examples/semantic-tag.tsx +17 -0
- package/dist/skill/reference/components/typography/examples/truncate.tsx +19 -0
- package/dist/skill/reference/components/typography/examples/variants.tsx +50 -0
- package/dist/skill/reference/components/typography/examples/weights.tsx +31 -0
- package/dist/skill/reference/components/video-note/COMPONENT.md +173 -0
- package/dist/skill/reference/components/video-note/examples/controlled.tsx +28 -0
- package/dist/skill/reference/components/video-note/examples/examples.module.css +4 -0
- package/dist/skill/reference/components/video-note/examples/in-message.tsx +22 -0
- package/dist/skill/reference/components/video-note/examples/overview.tsx +8 -0
- package/dist/skill/reference/components/video-note/examples/states.tsx +74 -0
- package/dist/skill/reference/components/video-note/examples/transcript.tsx +29 -0
- package/dist/skill/reference/components/video-note/examples/transfer.tsx +76 -0
- package/dist/skill/reference/components/visually-hidden/COMPONENT.md +81 -0
- package/dist/skill/reference/components/visually-hidden/examples/overview.tsx +22 -0
- package/dist/skill/reference/components/voice-player/COMPONENT.md +192 -0
- package/dist/skill/reference/components/voice-player/examples/call-recording.tsx +34 -0
- package/dist/skill/reference/components/voice-player/examples/controlled.tsx +38 -0
- package/dist/skill/reference/components/voice-player/examples/examples.module.css +23 -0
- package/dist/skill/reference/components/voice-player/examples/in-message.tsx +29 -0
- package/dist/skill/reference/components/voice-player/examples/overview.tsx +13 -0
- package/dist/skill/reference/components/voice-player/examples/states.tsx +81 -0
- package/dist/skill/reference/components/voice-player/examples/transcript.tsx +50 -0
- package/dist/skill/reference/components/voice-player/examples/transfer.tsx +88 -0
- package/dist/skill/reference/icon-set.ts +530 -0
- package/dist/skill/reference/layout/app-header/COMPONENT.md +203 -0
- package/dist/skill/reference/layout/app-header/examples/breadcrumbs.tsx +36 -0
- package/dist/skill/reference/layout/app-header/examples/examples.module.css +47 -0
- package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +70 -0
- package/dist/skill/reference/layout/app-header/examples/narrow.tsx +29 -0
- package/dist/skill/reference/layout/app-header/examples/overview.tsx +36 -0
- package/dist/skill/reference/layout/app-header/examples/page-title.tsx +85 -0
- package/dist/skill/reference/layout/app-shell/COMPONENT.md +156 -0
- package/dist/skill/reference/layout/app-shell/examples/contained.tsx +30 -0
- package/dist/skill/reference/layout/app-shell/examples/examples.module.css +44 -0
- package/dist/skill/reference/layout/app-shell/examples/footer.tsx +59 -0
- package/dist/skill/reference/layout/app-shell/examples/overview.tsx +83 -0
- package/dist/skill/reference/layout/app-shell/examples/template.tsx +54 -0
- package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +169 -0
- package/dist/skill/reference/layout/bottom-nav/examples/examples.module.css +46 -0
- package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +91 -0
- package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +89 -0
- package/dist/skill/reference/layout/bottom-nav/examples/icon-only.tsx +41 -0
- package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +64 -0
- package/dist/skill/reference/layout/bottom-nav/examples/overview.tsx +44 -0
- package/dist/skill/reference/layout/bottom-nav/examples/router.tsx +31 -0
- package/dist/skill/reference/layout/bottom-nav/examples/structure.tsx +47 -0
- package/dist/skill/reference/layout/sidebar/COMPONENT.md +402 -0
- package/dist/skill/reference/layout/sidebar/examples/account.tsx +88 -0
- package/dist/skill/reference/layout/sidebar/examples/brand-header.tsx +45 -0
- package/dist/skill/reference/layout/sidebar/examples/collapsible-groups.tsx +77 -0
- package/dist/skill/reference/layout/sidebar/examples/controlled-open.tsx +55 -0
- package/dist/skill/reference/layout/sidebar/examples/controlled.tsx +68 -0
- package/dist/skill/reference/layout/sidebar/examples/examples.module.css +64 -0
- package/dist/skill/reference/layout/sidebar/examples/nested-items.tsx +74 -0
- package/dist/skill/reference/layout/sidebar/examples/overview.tsx +126 -0
- package/dist/skill/reference/layout/sidebar/examples/router.tsx +33 -0
- package/dist/skill/reference/layout/sidebar/examples/sizes.tsx +39 -0
- package/dist/skill/reference/layout/sidebar/examples/structure.tsx +81 -0
- package/dist/skill/responsive.md +274 -0
- package/dist/theme/chartColors.d.ts +20 -0
- package/dist/tokens/primitives.d.ts +30 -0
- package/dist/tokens/semantic.d.ts +188 -18
- package/dist/tokens/themes/dark.d.ts +41 -2
- package/package.json +14 -10
- package/src/components/accordion/COMPONENT.md +1 -1
- package/src/components/avatar/COMPONENT.md +5 -3
- package/src/components/avatar/examples/presence.tsx +17 -2
- package/src/components/avatar/examples/team-group.tsx +27 -7
- package/src/components/badge/COMPONENT.md +17 -6
- package/src/components/badge/examples/server-tags.tsx +61 -0
- package/src/components/badge/examples/states.tsx +9 -1
- package/src/components/banner/COMPONENT.md +1 -1
- package/src/components/breadcrumb/COMPONENT.md +2 -2
- package/src/components/button/COMPONENT.md +40 -14
- package/src/components/button/examples/circle.tsx +67 -0
- package/src/components/button/examples/examples.module.css +22 -0
- package/src/components/button/examples/hold-to-confirm.tsx +13 -2
- package/src/components/button/examples/over-media.tsx +36 -0
- package/src/components/button/examples/toggle.tsx +21 -0
- package/src/components/button-group/COMPONENT.md +30 -13
- package/src/components/button-group/examples/in-form.tsx +42 -7
- package/src/components/card/COMPONENT.md +37 -13
- package/src/components/card/examples/interactive.tsx +28 -0
- package/src/components/card/examples/panel-chart.tsx +2 -1
- package/src/components/card/examples/variants.tsx +3 -1
- package/src/components/chart-frame/COMPONENT.md +265 -0
- package/src/components/chart-frame/examples/controlled.tsx +92 -0
- package/src/components/chart-frame/examples/examples.module.css +6 -0
- package/src/components/chart-frame/examples/narrow.tsx +46 -0
- package/src/components/chart-frame/examples/overview.tsx +127 -0
- package/src/components/chart-frame/examples/states.tsx +78 -0
- package/src/components/chart-frame/examples/tooltip.tsx +158 -0
- package/src/components/chat/COMPONENT.md +336 -0
- package/src/components/chat/examples/controlled.tsx +68 -0
- package/src/components/chat/examples/examples.module.css +38 -0
- package/src/components/chat/examples/group-chat.tsx +130 -0
- package/src/components/chat/examples/live.tsx +89 -0
- package/src/components/chat/examples/narrow.tsx +46 -0
- package/src/components/chat/examples/overview.tsx +839 -0
- package/src/components/chat/examples/search.tsx +61 -0
- package/src/components/chat/examples/structure.tsx +28 -0
- package/src/components/checkbox/COMPONENT.md +14 -3
- package/src/components/checkbox/examples/variants.tsx +30 -0
- package/src/components/color-field/COMPONENT.md +163 -0
- package/src/components/color-field/examples/controlled.tsx +33 -0
- package/src/components/color-field/examples/examples.module.css +22 -0
- package/src/components/color-field/examples/in-form.tsx +45 -0
- package/src/components/color-field/examples/overview.tsx +6 -0
- package/src/components/color-field/examples/presets.tsx +20 -0
- package/src/components/color-field/examples/sizes.tsx +14 -0
- package/src/components/color-field/examples/states.tsx +12 -0
- package/src/components/color-field/examples/validation.tsx +29 -0
- package/src/components/color-picker/COMPONENT.md +26 -16
- package/src/components/color-picker/examples/overview.tsx +1 -1
- package/src/components/color-picker/examples/presets-sizes.tsx +3 -1
- package/src/components/color-picker/examples/presets.tsx +5 -3
- package/src/components/color-swatches/COMPONENT.md +13 -12
- package/src/components/color-swatches/examples/sizes.tsx +1 -1
- package/src/components/color-swatches/examples/wrapping.tsx +1 -1
- package/src/components/command-menu/COMPONENT.md +46 -17
- package/src/components/command-menu/examples/controlled.tsx +3 -3
- package/src/components/command-menu/examples/load-error.tsx +65 -0
- package/src/components/command-menu/examples/server-search.tsx +91 -0
- package/src/components/composer/COMPONENT.md +310 -0
- package/src/components/composer/examples/attachments.tsx +36 -0
- package/src/components/composer/examples/controlled.tsx +46 -0
- package/src/components/composer/examples/examples.module.css +30 -0
- package/src/components/composer/examples/formatting.tsx +15 -0
- package/src/components/composer/examples/narrow.tsx +22 -0
- package/src/components/composer/examples/overview.tsx +39 -0
- package/src/components/composer/examples/reply-edit.tsx +68 -0
- package/src/components/composer/examples/sizes.tsx +23 -0
- package/src/components/composer/examples/states.tsx +31 -0
- package/src/components/composer/examples/typing.tsx +24 -0
- package/src/components/composer/examples/voice.tsx +21 -0
- package/src/components/confirm-dialog/COMPONENT.md +124 -0
- package/src/components/confirm-dialog/examples/controlled-open.tsx +35 -0
- package/src/components/confirm-dialog/examples/failure.tsx +37 -0
- package/src/components/confirm-dialog/examples/overview.tsx +24 -0
- package/src/components/confirm-dialog/examples/variants.tsx +44 -0
- package/src/components/crossfade/COMPONENT.md +16 -2
- package/src/components/crossfade/examples/examples.module.css +28 -0
- package/src/components/crossfade/examples/fill.tsx +79 -0
- package/src/components/data-table/COMPONENT.md +136 -29
- package/src/components/data-table/examples/columns-visibility.tsx +26 -42
- package/src/components/data-table/examples/examples.module.css +9 -0
- package/src/components/data-table/examples/fill-height.tsx +55 -0
- package/src/components/data-table/examples/groups.tsx +73 -0
- package/src/components/data-table/examples/heatmap.tsx +44 -0
- package/src/components/data-table/examples/reorder.tsx +61 -0
- package/src/components/data-table/examples/row-link.tsx +100 -0
- package/src/components/data-table/examples/row-open.tsx +129 -0
- package/src/components/data-table/examples/server.tsx +181 -0
- package/src/components/datepicker/COMPONENT.md +14 -10
- package/src/components/datepicker/examples/in-form.tsx +12 -3
- package/src/components/datepicker/examples/inline-panel.tsx +9 -3
- package/src/components/description-list/COMPONENT.md +132 -0
- package/src/components/description-list/examples/examples.module.css +41 -0
- package/src/components/description-list/examples/narrow.tsx +20 -0
- package/src/components/description-list/examples/overview.tsx +35 -0
- package/src/components/description-list/examples/sizes.tsx +24 -0
- package/src/components/description-list/examples/structure.tsx +29 -0
- package/src/components/description-list/examples/vertical.tsx +21 -0
- package/src/components/digit-input/COMPONENT.md +12 -6
- package/src/components/digit-input/examples/on-complete.tsx +19 -7
- package/src/components/divider/COMPONENT.md +1 -1
- package/src/components/dnd/COMPONENT.md +93 -30
- package/src/components/dnd/examples/board.tsx +16 -8
- package/src/components/dnd/examples/drop-zones.tsx +2 -2
- package/src/components/dnd/examples/examples.module.css +23 -0
- package/src/components/dnd/examples/grid.tsx +48 -0
- package/src/components/dnd/examples/handle.tsx +7 -2
- package/src/components/dnd/examples/locked.tsx +57 -0
- package/src/components/dnd/examples/narrow.tsx +1 -1
- package/src/components/drawer/COMPONENT.md +66 -33
- package/src/components/drawer/examples/controlled-open.tsx +8 -1
- package/src/components/drawer/examples/examples.module.css +0 -5
- package/src/components/drawer/examples/guard.tsx +80 -0
- package/src/components/drawer/examples/header-actions.tsx +63 -0
- package/src/components/drawer/examples/overview.tsx +9 -1
- package/src/components/drawer/examples/placement.tsx +9 -4
- package/src/components/drawer/examples/sizes.tsx +7 -0
- package/src/components/dropdown/COMPONENT.md +35 -17
- package/src/components/dropdown/examples/item-description.tsx +30 -0
- package/src/components/dropdown/examples/link-items.tsx +29 -0
- package/src/components/dropdown/examples/overview.tsx +1 -1
- package/src/components/dropdown/examples/structure.tsx +1 -1
- package/src/components/empty-page/COMPONENT.md +44 -16
- package/src/components/empty-page/examples/examples.module.css +19 -2
- package/src/components/empty-page/examples/region-error.tsx +86 -0
- package/src/components/empty-page/examples/variants.tsx +43 -0
- package/src/components/example-frame/COMPONENT.md +3 -2
- package/src/components/fieldset/COMPONENT.md +107 -0
- package/src/components/fieldset/examples/examples.module.css +14 -0
- package/src/components/fieldset/examples/in-form.tsx +59 -0
- package/src/components/fieldset/examples/overview.tsx +22 -0
- package/src/components/fieldset/examples/states.tsx +35 -0
- package/src/components/file-upload/COMPONENT.md +254 -62
- package/src/components/file-upload/examples/attachment-tray.tsx +99 -0
- package/src/components/file-upload/examples/controlled.tsx +77 -0
- package/src/components/file-upload/examples/examples.module.css +38 -7
- package/src/components/file-upload/examples/file-cards.tsx +64 -0
- package/src/components/file-upload/examples/gallery.tsx +104 -0
- package/src/components/file-upload/examples/in-form.tsx +33 -54
- package/src/components/file-upload/examples/narrow.tsx +64 -8
- package/src/components/file-upload/examples/overview.tsx +34 -37
- package/src/components/file-upload/examples/row-parts.tsx +41 -0
- package/src/components/file-upload/examples/saving.tsx +71 -0
- package/src/components/file-upload/examples/sizes.tsx +13 -14
- package/src/components/file-upload/examples/states.tsx +12 -3
- package/src/components/file-upload/examples/validation.tsx +17 -25
- package/src/components/file-upload/examples/variants.tsx +21 -2
- package/src/components/gallery/COMPONENT.md +151 -0
- package/src/components/gallery/examples/controlled-open.tsx +39 -0
- package/src/components/gallery/examples/examples.module.css +14 -0
- package/src/components/gallery/examples/overview.tsx +52 -0
- package/src/components/gallery/examples/transfer.tsx +45 -0
- package/src/components/gantt/COMPONENT.md +224 -0
- package/src/components/gantt/examples/controlled.tsx +72 -0
- package/src/components/gantt/examples/examples.module.css +30 -0
- package/src/components/gantt/examples/large.tsx +96 -0
- package/src/components/gantt/examples/narrow.tsx +54 -0
- package/src/components/gantt/examples/occupancy.tsx +149 -0
- package/src/components/gantt/examples/overview.tsx +82 -0
- package/src/components/gantt/examples/sizes.tsx +48 -0
- package/src/components/gantt/examples/states.tsx +68 -0
- package/src/components/gantt/examples/variants.tsx +82 -0
- package/src/components/hint/COMPONENT.md +3 -3
- package/src/components/hint/examples/overview.tsx +10 -22
- package/src/components/input/COMPONENT.md +69 -13
- package/src/components/input/examples/edge-actions.tsx +30 -0
- package/src/components/input/examples/inline-edit.tsx +52 -0
- package/src/components/input/examples/password-strength.tsx +2 -1
- package/src/components/kanban/COMPONENT.md +94 -36
- package/src/components/kanban/examples/cards.tsx +152 -0
- package/src/components/kanban/examples/columns.tsx +182 -0
- package/src/components/kanban/examples/examples.module.css +6 -0
- package/src/components/kanban/examples/limits.tsx +5 -3
- package/src/components/kanban/examples/saving.tsx +83 -0
- package/src/components/kanban/examples/variants.tsx +57 -0
- package/src/components/label/COMPONENT.md +4 -4
- package/src/components/label/examples/overview.tsx +11 -8
- package/src/components/link-button/COMPONENT.md +3 -1
- package/src/components/login-form/COMPONENT.md +4 -3
- package/src/components/login-form/examples/overview.tsx +2 -2
- package/src/components/login-form/examples/register.tsx +2 -7
- package/src/components/login-form/examples/states.tsx +18 -22
- package/src/components/media-viewer/COMPONENT.md +207 -0
- package/src/components/media-viewer/examples/actions.tsx +86 -0
- package/src/components/media-viewer/examples/controlled-open.tsx +30 -0
- package/src/components/media-viewer/examples/controlled.tsx +54 -0
- package/src/components/media-viewer/examples/dismiss.tsx +34 -0
- package/src/components/media-viewer/examples/examples.module.css +16 -0
- package/src/components/media-viewer/examples/origin.tsx +60 -0
- package/src/components/media-viewer/examples/overview.tsx +75 -0
- package/src/components/media-viewer/examples/thumbnails.tsx +49 -0
- package/src/components/media-viewer/examples/video.tsx +55 -0
- package/src/components/message/COMPONENT.md +444 -0
- package/src/components/message/examples/author.tsx +74 -0
- package/src/components/message/examples/contact.tsx +24 -0
- package/src/components/message/examples/context-menu.tsx +71 -0
- package/src/components/message/examples/examples.module.css +18 -0
- package/src/components/message/examples/file.tsx +79 -0
- package/src/components/message/examples/kinds.tsx +93 -0
- package/src/components/message/examples/link-preview.tsx +17 -0
- package/src/components/message/examples/location.tsx +30 -0
- package/src/components/message/examples/media.tsx +93 -0
- package/src/components/message/examples/narrow.tsx +29 -0
- package/src/components/message/examples/overview.tsx +52 -0
- package/src/components/message/examples/reactions.tsx +73 -0
- package/src/components/message/examples/status.tsx +45 -0
- package/src/components/message/examples/structure.tsx +32 -0
- package/src/components/message/examples/text-formatting.tsx +27 -0
- package/src/components/message/examples/typing.tsx +22 -0
- package/src/components/message/examples/voice.tsx +39 -0
- package/src/components/modal/COMPONENT.md +51 -20
- package/src/components/modal/examples/guard.tsx +87 -0
- package/src/components/modal/examples/sizes.tsx +2 -1
- package/src/components/native-select/COMPONENT.md +1 -1
- package/src/components/notification/COMPONENT.md +4 -1
- package/src/components/notification/examples/examples.module.css +11 -1
- package/src/components/notification/examples/undo.tsx +61 -0
- package/src/components/page-content/COMPONENT.md +78 -11
- package/src/components/page-content/examples/examples.module.css +54 -0
- package/src/components/page-content/examples/list-detail.tsx +114 -0
- package/src/components/page-content/examples/variants.tsx +1 -1
- package/src/components/page-toolbar/COMPONENT.md +21 -22
- package/src/components/page-toolbar/examples/narrow.tsx +4 -4
- package/src/components/page-toolbar/examples/overview.tsx +4 -4
- package/src/components/pagination/COMPONENT.md +1 -1
- package/src/components/popover/COMPONENT.md +15 -7
- package/src/components/popover/examples/examples.module.css +5 -0
- package/src/components/popover/examples/from-menu.tsx +56 -0
- package/src/components/progress-bar/COMPONENT.md +57 -13
- package/src/components/progress-bar/examples/legend.tsx +28 -0
- package/src/components/progress-bar/examples/ranking.tsx +28 -0
- package/src/components/progress-bar/examples/states.tsx +43 -0
- package/src/components/progress-circle/COMPONENT.md +70 -27
- package/src/components/progress-circle/examples/examples.module.css +5 -0
- package/src/components/progress-circle/examples/legend.tsx +33 -0
- package/src/components/progress-circle/examples/states.tsx +25 -0
- package/src/components/progress-circle/examples/under-way.tsx +54 -0
- package/src/components/radio/COMPONENT.md +3 -3
- package/src/components/scroll-container/COMPONENT.md +85 -24
- package/src/components/scroll-container/examples/auto-scroll.tsx +52 -0
- package/src/components/scroll-container/examples/chat.tsx +101 -0
- package/src/components/scroll-container/examples/edges.tsx +43 -0
- package/src/components/scroll-container/examples/examples.module.css +73 -0
- package/src/components/scroll-container/examples/lock.tsx +49 -0
- package/src/components/scroll-container/examples/scrollbar.tsx +52 -0
- package/src/components/scroll-container/examples/snap.tsx +36 -0
- package/src/components/segmented-control/COMPONENT.md +32 -13
- package/src/components/segmented-control/examples/examples.module.css +11 -0
- package/src/components/segmented-control/examples/in-form.tsx +42 -0
- package/src/components/select/COMPONENT.md +89 -21
- package/src/components/select/examples/load-error.tsx +45 -0
- package/src/components/select/examples/people.tsx +53 -0
- package/src/components/select/examples/server-search.tsx +93 -0
- package/src/components/sheet/COMPONENT.md +216 -0
- package/src/components/sheet/examples/controlled-open.tsx +37 -0
- package/src/components/sheet/examples/dismiss.tsx +42 -0
- package/src/components/sheet/examples/examples.module.css +13 -0
- package/src/components/sheet/examples/in-form.tsx +65 -0
- package/src/components/sheet/examples/overview.tsx +50 -0
- package/src/components/sheet/examples/structure.tsx +35 -0
- package/src/components/skeleton/COMPONENT.md +1 -1
- package/src/components/slider/COMPONENT.md +21 -4
- package/src/components/slider/examples/autosave.tsx +39 -0
- package/src/components/slider/examples/examples.module.css +6 -0
- package/src/components/slider/examples/orientation.tsx +27 -0
- package/src/components/smart-filter/COMPONENT.md +67 -16
- package/src/components/smart-filter/examples/option-groups.tsx +40 -0
- package/src/components/smart-filter/examples/ranges.tsx +89 -0
- package/src/components/smart-filter/examples/single-value.tsx +41 -0
- package/src/components/sparkline/COMPONENT.md +48 -19
- package/src/components/sparkline/examples/signed-bars.tsx +41 -0
- package/src/components/sparkline/examples/states.tsx +30 -0
- package/src/components/sparkline/examples/variants.tsx +29 -0
- package/src/components/spinner/COMPONENT.md +10 -8
- package/src/components/stepper/COMPONENT.md +4 -0
- package/src/components/switch/COMPONENT.md +11 -5
- package/src/components/switch/examples/in-form.tsx +3 -1
- package/src/components/switch/examples/saving.tsx +53 -0
- package/src/components/switch/examples/states.tsx +6 -1
- package/src/components/tabs/COMPONENT.md +46 -26
- package/src/components/tabs/examples/examples.module.css +6 -0
- package/src/components/tabs/examples/in-drawer.tsx +100 -0
- package/src/components/tabs/examples/overview.tsx +1 -1
- package/src/components/tag-select/COMPONENT.md +34 -21
- package/src/components/tag-select/examples/confirm-delete.tsx +60 -0
- package/src/components/tag-select/examples/creatable.tsx +23 -2
- package/src/components/tag-select/examples/in-form.tsx +9 -2
- package/src/components/tag-select/examples/manage-tags.tsx +10 -6
- package/src/components/textarea/COMPONENT.md +57 -10
- package/src/components/textarea/examples/auto-resize.tsx +8 -1
- package/src/components/textarea/examples/edge-actions.tsx +24 -0
- package/src/components/textarea/examples/inline-edit.tsx +42 -0
- package/src/components/thumbnail/COMPONENT.md +51 -10
- package/src/components/thumbnail/examples/controlled.tsx +61 -0
- package/src/components/thumbnail/examples/examples.module.css +31 -0
- package/src/components/thumbnail/examples/full-width.tsx +2 -5
- package/src/components/thumbnail/examples/overview.tsx +2 -6
- package/src/components/thumbnail/examples/pressable.tsx +56 -0
- package/src/components/thumbnail/examples/video.tsx +46 -0
- package/src/components/timeline/COMPONENT.md +2 -1
- package/src/components/tooltip/COMPONENT.md +13 -7
- package/src/components/tooltip/examples/disabled-trigger.tsx +2 -7
- package/src/components/tooltip/examples/examples.module.css +6 -9
- package/src/components/tooltip/examples/non-interactive-trigger.tsx +31 -0
- package/src/components/typography/COMPONENT.md +2 -0
- package/src/components/video-note/COMPONENT.md +173 -0
- package/src/components/video-note/examples/controlled.tsx +28 -0
- package/src/components/video-note/examples/examples.module.css +4 -0
- package/src/components/video-note/examples/in-message.tsx +22 -0
- package/src/components/video-note/examples/overview.tsx +8 -0
- package/src/components/video-note/examples/states.tsx +74 -0
- package/src/components/video-note/examples/transcript.tsx +29 -0
- package/src/components/video-note/examples/transfer.tsx +76 -0
- package/src/components/visually-hidden/COMPONENT.md +81 -0
- package/src/components/visually-hidden/examples/overview.tsx +22 -0
- package/src/components/voice-player/COMPONENT.md +192 -0
- package/src/components/voice-player/examples/call-recording.tsx +34 -0
- package/src/components/voice-player/examples/controlled.tsx +38 -0
- package/src/components/voice-player/examples/examples.module.css +23 -0
- package/src/components/voice-player/examples/in-message.tsx +29 -0
- package/src/components/voice-player/examples/overview.tsx +13 -0
- package/src/components/voice-player/examples/states.tsx +81 -0
- package/src/components/voice-player/examples/transcript.tsx +50 -0
- package/src/components/voice-player/examples/transfer.tsx +88 -0
- package/src/layout/app-header/COMPONENT.md +35 -10
- package/src/layout/app-header/examples/page-title.tsx +85 -0
- package/src/layout/app-shell/COMPONENT.md +11 -5
- package/src/layout/app-shell/examples/examples.module.css +1 -1
- package/src/layout/app-shell/examples/footer.tsx +1 -1
- package/src/layout/bottom-nav/COMPONENT.md +50 -34
- package/src/layout/bottom-nav/examples/examples.module.css +8 -1
- package/src/layout/bottom-nav/examples/floating-action.tsx +91 -0
- package/src/layout/bottom-nav/examples/floating.tsx +6 -6
- package/src/layout/bottom-nav/examples/in-app-shell.tsx +1 -1
- package/src/layout/sidebar/COMPONENT.md +18 -13
- package/src/layout/sidebar/examples/account.tsx +1 -1
- package/src/layout/sidebar/examples/overview.tsx +1 -1
- package/src/styles/controls.css +138 -0
- package/src/styles/globals.css +8 -0
- package/src/styles/reset.css +34 -30
- package/src/styles/theme-dark.css +30 -2
- package/src/styles/theme-light.css +72 -6
- package/src/styles/tokens.css +17 -0
- package/dist/chunks/chunk-4TRNUP45.js +0 -4052
- package/dist/chunks/chunk-GFKDZFQR.js +0 -1208
- package/dist/chunks/chunk-K4FACFQ2.js +0 -13552
- package/dist/components/dnd/autoScroll.d.ts +0 -5
- package/src/components/file-upload/examples/upload-progress.tsx +0 -39
- 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
|
|
28
|
-
└─
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
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` (
|
|
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` |
|
|
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
|
-
-
|
|
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
|
-
|
|
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 `
|
|
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,
|
|
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
|
-
│
|
|
43
|
-
└──
|
|
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
|
-
| `
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
165
|
-
|
|
|
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` | `"Загрузка…"` |
|
|
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) (
|
|
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
|
+
}
|