prime-ui-kit 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -71
- package/dist/chunks/{chunk-WXKRUVSE.js → chunk-4PSQ64S4.js} +3145 -1800
- package/dist/chunks/{chunk-SYEX7OVT.js → chunk-6TPHKCUJ.js} +9424 -9244
- package/dist/chunks/{chunk-6TI4DSM5.js → chunk-A7OQWH6R.js} +1 -1
- package/dist/chunks/{chunk-P6ZO37JM.js → chunk-HDBQICPW.js} +170 -138
- package/dist/chunks/{chunk-Q3BFRQHZ.js → chunk-U3Q2I3MY.js} +169 -10
- package/dist/color-picker.js +3 -3
- package/dist/components/accordion/Accordion.d.ts +52 -5
- package/dist/components/avatar/Avatar.d.ts +31 -8
- package/dist/components/badge/Badge.d.ts +93 -25
- package/dist/components/banner/Banner.d.ts +17 -10
- package/dist/components/breadcrumb/Breadcrumb.d.ts +18 -5
- package/dist/components/button/Button.d.ts +102 -43
- package/dist/components/button-group/ButtonGroup.d.ts +32 -8
- package/dist/components/card/Card.d.ts +15 -9
- package/dist/components/chart-frame/ChartFrame.d.ts +58 -51
- package/dist/components/chat/Chat.d.ts +77 -38
- package/dist/components/chat/ChatPinned.d.ts +20 -8
- package/dist/components/chat/ChatRows.d.ts +3 -0
- package/dist/components/chat/MessageList.d.ts +14 -19
- package/dist/components/chat/chatContext.d.ts +3 -3
- package/dist/components/chat/messageFlow.d.ts +1 -1
- package/dist/components/chat-list/ChatList.d.ts +88 -34
- package/dist/components/checkbox/Checkbox.d.ts +61 -12
- package/dist/components/code-block/CodeBlock.d.ts +11 -5
- package/dist/components/color-field/ColorField.d.ts +54 -14
- package/dist/components/color-picker/ColorPicker.d.ts +64 -30
- package/dist/components/color-picker/ColorPresets.d.ts +68 -13
- package/dist/components/color-swatches/ColorSwatches.d.ts +90 -18
- package/dist/components/command-menu/CommandMenu.d.ts +86 -27
- package/dist/components/composer/Composer.d.ts +82 -41
- package/dist/components/composer/useRecorder.d.ts +0 -2
- package/dist/components/confirm-dialog/ConfirmDialog.d.ts +40 -16
- package/dist/components/crossfade/Crossfade.d.ts +5 -8
- package/dist/components/data-table/ColumnsMenu.d.ts +6 -2
- package/dist/components/data-table/DataTable.d.ts +157 -58
- package/dist/components/data-table/Footer.d.ts +2 -4
- package/dist/components/data-table/Row.d.ts +1 -1
- package/dist/components/data-table/StateRows.d.ts +2 -2
- package/dist/components/data-table/reorder.d.ts +10 -10
- package/dist/components/data-table/types.d.ts +5 -0
- package/dist/components/data-table/useInfiniteRows.d.ts +3 -3
- package/dist/components/datepicker/Datepicker.d.ts +61 -12
- package/dist/components/datepicker/DatepickerPanel.d.ts +76 -16
- package/dist/components/datepicker/panelLayout.d.ts +6 -11
- package/dist/components/description-list/DescriptionList.d.ts +40 -11
- package/dist/components/digit-input/DigitInput.d.ts +50 -19
- package/dist/components/divider/Divider.d.ts +15 -5
- package/dist/components/dnd/Dnd.d.ts +153 -42
- package/dist/components/dnd/geometry.d.ts +0 -8
- package/dist/components/dnd/labels.d.ts +1 -1
- package/dist/components/dnd/useDropTarget.d.ts +0 -2
- package/dist/components/dnd/useSortableList.d.ts +6 -1
- package/dist/components/drawer/Drawer.d.ts +39 -18
- package/dist/components/dropdown/Dropdown.d.ts +90 -19
- package/dist/components/empty-page/EmptyPage.d.ts +14 -15
- package/dist/components/example-frame/ExampleFrame.d.ts +38 -8
- package/dist/components/field-list/FieldList.d.ts +57 -19
- package/dist/components/fieldset/Fieldset.d.ts +12 -7
- package/dist/components/file-upload/FileUpload.d.ts +119 -42
- package/dist/components/gallery/Gallery.d.ts +44 -16
- package/dist/components/gallery/layout.d.ts +4 -1
- package/dist/components/gantt/Gantt.d.ts +69 -34
- package/dist/components/gantt/GanttRow.d.ts +2 -2
- package/dist/components/hint/Hint.d.ts +10 -4
- package/dist/components/index.d.ts +19 -18
- package/dist/components/input/Input.d.ts +78 -25
- package/dist/components/kanban/Kanban.d.ts +64 -36
- package/dist/components/kbd/Kbd.d.ts +3 -1
- package/dist/components/label/Label.d.ts +33 -4
- package/dist/components/link-button/LinkButton.d.ts +40 -10
- package/dist/components/list/List.d.ts +48 -26
- package/dist/components/login-form/LoginForm.d.ts +71 -8
- package/dist/components/media-viewer/MediaViewer.d.ts +46 -18
- package/dist/components/media-viewer/physics.d.ts +0 -2
- package/dist/components/media-viewer/viewerEngine.d.ts +0 -1
- package/dist/components/message/Message.d.ts +27 -16
- package/dist/components/message/MessageCards.d.ts +49 -10
- package/dist/components/message/MessageFile.d.ts +19 -5
- package/dist/components/message/MessageParts.d.ts +44 -18
- package/dist/components/message/MessageReactionBar.d.ts +3 -1
- package/dist/components/message/MessageTyping.d.ts +10 -6
- package/dist/components/message/bubbleMorph.d.ts +2 -0
- package/dist/components/modal/Modal.d.ts +6 -6
- package/dist/components/native-select/NativeSelect.d.ts +22 -7
- package/dist/components/notification/Notification.d.ts +35 -11
- package/dist/components/notification/NotificationStore.d.ts +12 -3
- package/dist/components/page-content/PageContent.d.ts +56 -37
- package/dist/components/page-toolbar/PageToolbar.d.ts +7 -6
- package/dist/components/pagination/Pagination.d.ts +25 -6
- package/dist/components/popover/Popover.d.ts +54 -31
- package/dist/components/progress-bar/ProgressBar.d.ts +37 -12
- package/dist/components/progress-circle/ProgressCircle.d.ts +32 -13
- package/dist/components/radio/Radio.d.ts +58 -15
- package/dist/components/scroll-container/ScrollContainer.d.ts +28 -14
- package/dist/components/scroll-container/useScrollEdges.d.ts +1 -24
- package/dist/components/segmented-control/SegmentedControl.d.ts +73 -15
- package/dist/components/select/Select.d.ts +104 -30
- package/dist/components/select/SelectItem.d.ts +35 -8
- package/dist/components/select/selectContext.d.ts +7 -19
- package/dist/components/sheet/Sheet.d.ts +32 -15
- package/dist/components/skeleton/Skeleton.d.ts +9 -3
- package/dist/components/slider/Slider.d.ts +55 -15
- package/dist/components/smart-filter/SmartFilter.d.ts +39 -12
- package/dist/components/sparkline/Sparkline.d.ts +42 -19
- package/dist/components/spinner/Spinner.d.ts +11 -5
- package/dist/components/stepper/Stepper.d.ts +41 -19
- package/dist/components/switch/Switch.d.ts +37 -12
- package/dist/components/tabs/Tabs.d.ts +61 -18
- package/dist/components/tag-select/TagSelect.d.ts +74 -20
- package/dist/components/textarea/Textarea.d.ts +52 -25
- package/dist/components/thumbnail/Thumbnail.d.ts +50 -20
- package/dist/components/timeline/Timeline.d.ts +85 -66
- package/dist/components/tooltip/Tooltip.d.ts +47 -17
- package/dist/components/typography/Typography.d.ts +32 -6
- package/dist/components/video-note/VideoNote.d.ts +7 -1
- package/dist/{internal → components/visually-hidden}/VisuallyHidden.d.ts +5 -5
- package/dist/components/voice-player/VoicePlayer.d.ts +16 -3
- package/dist/hooks/breakpoints.d.ts +10 -0
- package/dist/hooks/floatingPosition.d.ts +42 -0
- package/dist/hooks/useDraft.d.ts +12 -0
- package/dist/hooks/useEdgeOverflow.d.ts +5 -3
- package/dist/hooks/useElementSize.d.ts +31 -0
- package/dist/hooks/useEnterConfirm.d.ts +2 -1
- package/dist/hooks/useImageStatus.d.ts +12 -5
- package/dist/hooks/useLoadMore.d.ts +28 -0
- package/dist/hooks/useMediaQuery.d.ts +1 -3
- package/dist/hooks/useMergedRefs.d.ts +10 -4
- package/dist/hooks/useModalLayer.d.ts +13 -7
- package/dist/hooks/usePosition.d.ts +4 -42
- package/dist/hooks/usePresence.d.ts +4 -7
- package/dist/hooks/useScrollRegion.d.ts +28 -0
- package/dist/hooks/useStableValue.d.ts +6 -0
- package/dist/hooks/useSwipeDismiss.d.ts +38 -17
- package/dist/hooks/useVirtualRows.d.ts +9 -3
- package/dist/icon-set.js +2 -2
- package/dist/icons/Icon.d.ts +1 -1
- package/dist/icons/glyph.d.ts +9 -2
- package/dist/index.css +1 -1
- package/dist/index.js +13 -3
- package/dist/internal/AnchorRectContext.d.ts +2 -1
- package/dist/internal/ChartTooltip.d.ts +1 -1
- package/dist/internal/CheckMark.d.ts +2 -2
- package/dist/internal/ChoiceField.d.ts +29 -10
- package/dist/internal/ControlSizeContext.d.ts +16 -0
- package/dist/internal/Disclosure.d.ts +38 -9
- package/dist/internal/FieldAction.d.ts +20 -12
- package/dist/internal/FieldCommit.d.ts +8 -11
- package/dist/internal/FieldFrame.d.ts +100 -21
- package/dist/internal/MenuGroup.d.ts +3 -1
- package/dist/internal/MorphText.d.ts +2 -1
- package/dist/internal/ProgressLegend.d.ts +3 -2
- package/dist/internal/RegionSwap.d.ts +41 -0
- package/dist/internal/RollingNumber.d.ts +10 -1
- package/dist/internal/RowAction.d.ts +26 -0
- package/dist/internal/SwitcherScroller.d.ts +11 -0
- package/dist/internal/attachmentTile.d.ts +1 -1
- package/dist/internal/audio.d.ts +13 -0
- package/dist/{components/badge/tier.d.ts → internal/chipTier.d.ts} +7 -5
- package/dist/internal/context.d.ts +10 -1
- package/dist/internal/controlValue.d.ts +7 -0
- package/dist/internal/edgeAutoScroll.d.ts +43 -25
- package/dist/internal/fieldCell.d.ts +4 -3
- package/dist/internal/fieldClasses.d.ts +15 -2
- package/dist/internal/fileSize.d.ts +5 -1
- package/dist/internal/formatClock.d.ts +2 -0
- package/dist/internal/formatNumber.d.ts +6 -0
- package/dist/internal/glyphSwap.d.ts +5 -9
- package/dist/internal/hasContent.d.ts +6 -0
- package/dist/internal/highlightTsx.d.ts +12 -0
- package/dist/internal/iconBox.d.ts +6 -0
- package/dist/internal/iconLayout.d.ts +2 -1
- package/dist/internal/imageSlot.d.ts +6 -1
- package/dist/internal/interactiveElement.d.ts +41 -0
- package/dist/internal/labels.d.ts +6 -0
- package/dist/internal/leaveInPlace.d.ts +6 -5
- package/dist/internal/listPresence.d.ts +32 -0
- package/dist/internal/listbox.d.ts +71 -31
- package/dist/internal/longPress.d.ts +42 -0
- package/dist/internal/mediaDisk.d.ts +7 -4
- package/dist/internal/mediaPlayer.d.ts +91 -27
- package/dist/internal/mediaSession.d.ts +0 -6
- package/dist/internal/messageList.d.ts +4 -3
- package/dist/internal/motionTiming.d.ts +34 -0
- package/dist/internal/namedRole.d.ts +13 -0
- package/dist/internal/nodeText.d.ts +6 -0
- package/dist/{components/modal → internal/overlay}/DialogGuard.d.ts +3 -5
- package/dist/{components/modal → internal/overlay}/DialogParts.d.ts +86 -89
- package/dist/internal/overlay/FloatingPanel.d.ts +27 -5
- package/dist/internal/overlay/ModalDialog.d.ts +59 -0
- package/dist/internal/overlay/focus.d.ts +29 -5
- package/dist/internal/overlay/layerStack.d.ts +8 -5
- package/dist/internal/overlay/useAnchorName.d.ts +14 -0
- package/dist/internal/overlay/useContainScroll.d.ts +7 -0
- package/dist/internal/overlay/useFloatingLayer.d.ts +43 -14
- package/dist/internal/overlay/useOpenState.d.ts +22 -0
- package/dist/internal/partPresence.d.ts +31 -0
- package/dist/internal/parts.d.ts +39 -0
- package/dist/internal/progressSegments.d.ts +52 -12
- package/dist/internal/richText.d.ts +6 -34
- package/dist/internal/ring.d.ts +18 -8
- package/dist/internal/rovingFocus.d.ts +10 -5
- package/dist/{components/data-table/rowEvents.d.ts → internal/rowLink.d.ts} +0 -5
- package/dist/internal/scrollAncestors.d.ts +14 -0
- package/dist/internal/selectionIndicator.d.ts +27 -0
- package/dist/internal/slot.d.ts +53 -5
- package/dist/internal/states.d.ts +61 -0
- package/dist/internal/sticky.d.ts +5 -1
- package/dist/internal/swallowNextClick.d.ts +9 -0
- package/dist/internal/swatch.d.ts +63 -15
- package/dist/internal/textFormatting.d.ts +2 -1
- package/dist/internal/textFormattingToolbar.d.ts +3 -2
- package/dist/internal/tokenDefaults.d.ts +21 -0
- package/dist/internal/touchTarget.d.ts +5 -0
- package/dist/internal/transcript.d.ts +19 -18
- package/dist/internal/transfer.d.ts +22 -8
- package/dist/internal/transferDisk.d.ts +2 -3
- package/dist/internal/useFlipList.d.ts +44 -0
- package/dist/internal/useNearView.d.ts +4 -3
- package/dist/internal/usePendingChanges.d.ts +23 -0
- package/dist/internal/useRangeSelection.d.ts +2 -1
- package/dist/layout/app-header/AppHeader.d.ts +34 -44
- package/dist/layout/app-shell/AppShell.d.ts +72 -8
- package/dist/layout/bottom-nav/BottomNav.d.ts +58 -22
- package/dist/layout/index.d.ts +3 -3
- package/dist/layout/sidebar/Sidebar.d.ts +232 -101
- package/dist/skill/SKILL.md +17 -15
- package/dist/skill/anti-slop.md +105 -24
- package/dist/skill/api-contract.md +117 -37
- package/dist/skill/cheatsheet.md +45 -38
- package/dist/skill/checklist.md +57 -85
- package/dist/skill/choosing.md +24 -28
- package/dist/skill/components.md +52 -57
- package/dist/skill/composition.md +321 -84
- package/dist/skill/foundations.md +32 -25
- package/dist/skill/layouts.md +104 -73
- package/dist/skill/motion.md +26 -31
- package/dist/skill/reference/components/accordion/COMPONENT.md +16 -9
- package/dist/skill/reference/components/accordion/examples/overview.tsx +2 -2
- package/dist/skill/reference/components/accordion/examples/sizes.tsx +6 -8
- package/dist/skill/reference/components/accordion/examples/states.tsx +27 -24
- package/dist/skill/reference/components/accordion/examples/variants.tsx +6 -8
- package/dist/skill/reference/components/accordion/examples/with-icon.tsx +22 -19
- package/dist/skill/reference/components/avatar/COMPONENT.md +23 -16
- package/dist/skill/reference/components/avatar/examples/examples.module.css +1 -4
- package/dist/skill/reference/components/avatar/examples/overview.tsx +3 -3
- package/dist/skill/reference/components/avatar/examples/presence.tsx +4 -4
- package/dist/skill/reference/components/avatar/examples/src-from-state.tsx +3 -3
- package/dist/skill/reference/components/avatar/examples/states.tsx +6 -6
- package/dist/skill/reference/components/avatar/examples/team-group.tsx +2 -2
- package/dist/skill/reference/components/badge/COMPONENT.md +66 -34
- package/dist/skill/reference/components/badge/examples/applied-filters.tsx +13 -19
- package/dist/skill/reference/components/badge/examples/controlled.tsx +32 -0
- package/dist/skill/reference/components/badge/examples/examples.module.css +3 -10
- package/dist/skill/reference/components/badge/examples/filter-values.tsx +4 -6
- package/dist/skill/reference/components/badge/examples/in-controls.tsx +1 -1
- package/dist/skill/reference/components/badge/examples/overview.tsx +6 -5
- package/dist/skill/reference/components/badge/examples/server-tags.tsx +2 -6
- package/dist/skill/reference/components/badge/examples/square.tsx +21 -0
- package/dist/skill/reference/components/badge/examples/states.tsx +4 -4
- package/dist/skill/reference/components/badge/examples/with-icon.tsx +10 -1
- package/dist/skill/reference/components/banner/COMPONENT.md +9 -5
- package/dist/skill/reference/components/banner/examples/dismissible.tsx +3 -19
- package/dist/skill/reference/components/banner/examples/examples.module.css +1 -5
- package/dist/skill/reference/components/banner/examples/overview.tsx +1 -1
- package/dist/skill/reference/components/banner/examples/page-strip.tsx +16 -22
- package/dist/skill/reference/components/breadcrumb/COMPONENT.md +21 -14
- package/dist/skill/reference/components/breadcrumb/examples/ellipsis.tsx +2 -2
- package/dist/skill/reference/components/breadcrumb/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/breadcrumb/examples/overflow.tsx +1 -1
- package/dist/skill/reference/components/breadcrumb/examples/sizes.tsx +6 -8
- package/dist/skill/reference/components/breadcrumb/examples/with-icon.tsx +15 -8
- package/dist/skill/reference/components/button/COMPONENT.md +66 -30
- package/dist/skill/reference/components/button/examples/align.tsx +25 -0
- package/dist/skill/reference/components/button/examples/controlled.tsx +21 -0
- package/dist/skill/reference/components/button/examples/density.tsx +45 -0
- package/dist/skill/reference/components/button/examples/examples.module.css +14 -25
- package/dist/skill/reference/components/button/examples/label-morph.tsx +1 -1
- package/dist/skill/reference/components/button/examples/on-colored-host.tsx +19 -19
- package/dist/skill/reference/components/button/examples/over-media.tsx +7 -1
- package/dist/skill/reference/components/button/examples/toggle.tsx +2 -10
- package/dist/skill/reference/components/button-group/COMPONENT.md +23 -17
- package/dist/skill/reference/components/button-group/examples/controlled.tsx +1 -1
- package/dist/skill/reference/components/button-group/examples/in-form.tsx +22 -2
- package/dist/skill/reference/components/button-group/examples/states.tsx +10 -1
- package/dist/skill/reference/components/card/COMPONENT.md +18 -6
- package/dist/skill/reference/components/card/examples/content-templates.tsx +8 -2
- package/dist/skill/reference/components/card/examples/examples.module.css +4 -16
- package/dist/skill/reference/components/card/examples/overview.tsx +11 -11
- package/dist/skill/reference/components/card/examples/screen.tsx +363 -0
- package/dist/skill/reference/components/card/examples/variants.tsx +75 -34
- package/dist/skill/reference/components/chart-frame/COMPONENT.md +25 -28
- package/dist/skill/reference/components/chart-frame/examples/controlled.tsx +9 -7
- package/dist/skill/reference/components/chart-frame/examples/fill-height.tsx +117 -0
- package/dist/skill/reference/components/chart-frame/examples/narrow.tsx +24 -5
- package/dist/skill/reference/components/chart-frame/examples/overview.tsx +5 -2
- package/dist/skill/reference/components/chart-frame/examples/states.tsx +72 -62
- package/dist/skill/reference/components/chart-frame/examples/tooltip.tsx +27 -26
- package/dist/skill/reference/components/chat/COMPONENT.md +37 -22
- package/dist/skill/reference/components/chat/examples/group-chat.tsx +16 -3
- package/dist/skill/reference/components/chat/examples/overview.tsx +119 -130
- package/dist/skill/reference/components/chat/examples/reactions.tsx +116 -0
- package/dist/skill/reference/components/chat/examples/screen.module.css +9 -0
- package/dist/skill/reference/components/chat/examples/screen.tsx +695 -0
- package/dist/skill/reference/components/chat/examples/states.tsx +23 -22
- package/dist/skill/reference/components/chat-list/COMPONENT.md +11 -5
- package/dist/skill/reference/components/chat-list/examples/examples.module.css +0 -8
- package/dist/skill/reference/components/chat-list/examples/links.tsx +72 -0
- package/dist/skill/reference/components/chat-list/examples/live.tsx +29 -22
- package/dist/skill/reference/components/chat-list/examples/sizes.tsx +6 -8
- package/dist/skill/reference/components/chat-list/examples/states.tsx +42 -38
- package/dist/skill/reference/components/checkbox/COMPONENT.md +27 -14
- package/dist/skill/reference/components/checkbox/examples/controlled.tsx +18 -16
- package/dist/skill/reference/components/checkbox/examples/examples.module.css +14 -52
- package/dist/skill/reference/components/checkbox/examples/in-form.tsx +16 -16
- package/dist/skill/reference/components/checkbox/examples/indicator.tsx +17 -56
- package/dist/skill/reference/components/checkbox/examples/overview.tsx +1 -1
- package/dist/skill/reference/components/checkbox/examples/states.tsx +6 -1
- package/dist/skill/reference/components/checkbox/examples/without-label.tsx +1 -1
- package/dist/skill/reference/components/code-block/COMPONENT.md +16 -12
- package/dist/skill/reference/components/code-block/examples/examples.module.css +5 -2
- package/dist/skill/reference/components/code-block/examples/narrow.tsx +1 -1
- package/dist/skill/reference/components/color-field/COMPONENT.md +16 -10
- package/dist/skill/reference/components/color-field/examples/examples.module.css +4 -5
- package/dist/skill/reference/components/color-field/examples/in-form.tsx +15 -13
- package/dist/skill/reference/components/color-field/examples/sizes.tsx +5 -1
- package/dist/skill/reference/components/color-field/examples/states.tsx +15 -3
- package/dist/skill/reference/components/color-picker/COMPONENT.md +58 -21
- package/dist/skill/reference/components/color-picker/examples/controlled-open.tsx +37 -0
- package/dist/skill/reference/components/color-picker/examples/controlled.tsx +16 -5
- package/dist/skill/reference/components/color-picker/examples/examples.module.css +6 -7
- package/dist/skill/reference/components/color-picker/examples/in-form.tsx +24 -22
- package/dist/skill/reference/components/color-picker/examples/overview.tsx +1 -1
- package/dist/skill/reference/components/color-picker/examples/panel.tsx +1 -1
- package/dist/skill/reference/components/color-picker/examples/presets.tsx +2 -2
- package/dist/skill/reference/components/color-picker/examples/sizes.tsx +9 -11
- package/dist/skill/reference/components/color-picker/examples/states.tsx +30 -16
- package/dist/skill/reference/components/color-swatches/COMPONENT.md +22 -8
- package/dist/skill/reference/components/color-swatches/examples/examples.module.css +3 -4
- package/dist/skill/reference/components/color-swatches/examples/in-form.tsx +19 -17
- package/dist/skill/reference/components/color-swatches/examples/palette.tsx +24 -0
- package/dist/skill/reference/components/color-swatches/examples/wrapping.tsx +17 -2
- package/dist/skill/reference/components/command-menu/COMPONENT.md +60 -20
- package/dist/skill/reference/components/command-menu/examples/sizes.tsx +20 -15
- package/dist/skill/reference/components/command-menu/examples/states.tsx +46 -24
- package/dist/skill/reference/components/composer/COMPONENT.md +44 -25
- package/dist/skill/reference/components/composer/examples/attach-menu.tsx +78 -0
- package/dist/skill/reference/components/composer/examples/attachments.tsx +2 -2
- package/dist/skill/reference/components/composer/examples/examples.module.css +0 -9
- package/dist/skill/reference/components/composer/examples/narrow.tsx +1 -1
- package/dist/skill/reference/components/composer/examples/reply-edit.tsx +3 -3
- package/dist/skill/reference/components/composer/examples/sizes.tsx +3 -5
- package/dist/skill/reference/components/composer/examples/states.tsx +4 -6
- package/dist/skill/reference/components/confirm-dialog/COMPONENT.md +26 -13
- package/dist/skill/reference/components/confirm-dialog/examples/dismiss.tsx +27 -0
- package/dist/skill/reference/components/confirm-dialog/examples/failure.tsx +9 -16
- package/dist/skill/reference/components/crossfade/COMPONENT.md +12 -5
- package/dist/skill/reference/components/crossfade/examples/examples.module.css +1 -40
- package/dist/skill/reference/components/crossfade/examples/fill.tsx +16 -19
- package/dist/skill/reference/components/crossfade/examples/overview.tsx +14 -16
- package/dist/skill/reference/components/crossfade/examples/record-switch.tsx +6 -11
- package/dist/skill/{patterns/screen-states.module.css → reference/components/crossfade/examples/screen.module.css} +1 -24
- package/dist/skill/reference/components/crossfade/examples/screen.tsx +186 -0
- package/dist/skill/reference/components/data-table/COMPONENT.md +34 -23
- package/dist/skill/reference/components/data-table/examples/controlled.tsx +14 -2
- package/dist/skill/reference/components/data-table/examples/detail-panel.tsx +36 -37
- package/dist/skill/reference/components/data-table/examples/examples.module.css +1 -21
- package/dist/skill/reference/components/data-table/examples/narrow.tsx +5 -1
- package/dist/skill/reference/components/data-table/examples/numeric.tsx +36 -4
- package/dist/skill/reference/components/data-table/examples/overview.tsx +1 -0
- package/dist/skill/reference/components/data-table/examples/row-link.tsx +2 -1
- package/dist/skill/reference/components/data-table/examples/row-open.tsx +7 -36
- package/dist/skill/reference/components/data-table/examples/screen.module.css +13 -0
- package/dist/skill/{patterns/list-page.tsx → reference/components/data-table/examples/screen.tsx} +95 -74
- package/dist/skill/reference/components/data-table/examples/sizes.tsx +17 -17
- package/dist/skill/reference/components/data-table/examples/states.tsx +37 -29
- package/dist/skill/reference/components/datepicker/COMPONENT.md +57 -25
- package/dist/skill/reference/components/datepicker/examples/dismiss.tsx +15 -0
- package/dist/skill/reference/components/datepicker/examples/examples.module.css +4 -7
- package/dist/skill/reference/components/datepicker/examples/in-form.tsx +29 -29
- package/dist/skill/reference/components/datepicker/examples/locale.tsx +35 -0
- package/dist/skill/reference/components/datepicker/examples/range-presets.tsx +11 -2
- package/dist/skill/reference/components/datepicker/examples/sizes.tsx +2 -2
- package/dist/skill/reference/components/datepicker/examples/states.tsx +11 -3
- package/dist/skill/reference/components/datepicker/examples/validation.tsx +3 -3
- package/dist/skill/reference/components/description-list/COMPONENT.md +24 -8
- package/dist/skill/reference/components/description-list/examples/examples.module.css +4 -24
- package/dist/skill/reference/components/description-list/examples/narrow.tsx +1 -1
- package/dist/skill/{patterns/detail-page.module.css → reference/components/description-list/examples/screen.module.css} +2 -27
- package/dist/skill/reference/components/description-list/examples/screen.tsx +206 -0
- package/dist/skill/reference/components/description-list/examples/sizes.tsx +2 -4
- package/dist/skill/reference/components/description-list/examples/structure.tsx +7 -8
- package/dist/skill/reference/components/description-list/examples/totals.tsx +40 -0
- package/dist/skill/reference/components/digit-input/COMPONENT.md +15 -7
- package/dist/skill/reference/components/digit-input/examples/examples.module.css +2 -2
- package/dist/skill/reference/components/digit-input/examples/in-form.tsx +1 -1
- package/dist/skill/reference/components/digit-input/examples/sizes.tsx +5 -3
- package/dist/skill/reference/components/digit-input/examples/states.tsx +15 -5
- package/dist/skill/reference/components/digit-input/examples/without-focus-ring.tsx +13 -0
- package/dist/skill/reference/components/divider/COMPONENT.md +26 -12
- package/dist/skill/reference/components/divider/examples/align.tsx +2 -4
- package/dist/skill/reference/components/divider/examples/examples.module.css +13 -17
- package/dist/skill/reference/components/divider/examples/or-separator.tsx +3 -5
- package/dist/skill/reference/components/divider/examples/overview.tsx +18 -16
- package/dist/skill/reference/components/divider/examples/vertical.tsx +5 -1
- package/dist/skill/reference/components/divider/examples/with-icon.tsx +3 -3
- package/dist/skill/reference/components/dnd/COMPONENT.md +56 -36
- package/dist/skill/reference/components/dnd/examples/drop-zones.tsx +82 -49
- package/dist/skill/reference/components/dnd/examples/examples.module.css +54 -6
- package/dist/skill/reference/components/dnd/examples/states.tsx +60 -0
- package/dist/skill/reference/components/dnd/examples/table.tsx +113 -0
- package/dist/skill/reference/components/drawer/COMPONENT.md +38 -14
- package/dist/skill/reference/components/drawer/examples/dismiss.tsx +5 -3
- package/dist/skill/reference/components/drawer/examples/guard.tsx +1 -3
- package/dist/skill/reference/components/drawer/examples/header-actions.tsx +6 -10
- package/dist/skill/reference/components/drawer/examples/in-form.tsx +31 -31
- package/dist/skill/reference/components/drawer/examples/overview.tsx +6 -18
- package/dist/skill/reference/components/drawer/examples/placement.tsx +31 -26
- package/dist/skill/reference/components/drawer/examples/screen.tsx +298 -0
- package/dist/skill/reference/components/drawer/examples/sizes.tsx +32 -27
- package/dist/skill/reference/components/dropdown/COMPONENT.md +58 -23
- package/dist/skill/reference/components/dropdown/examples/context-menu.tsx +75 -0
- package/dist/skill/reference/components/dropdown/examples/examples.module.css +2 -6
- package/dist/skill/reference/components/dropdown/examples/sizes.tsx +39 -34
- package/dist/skill/reference/components/dropdown/examples/states.tsx +37 -29
- package/dist/skill/reference/components/empty-page/COMPONENT.md +21 -10
- package/dist/skill/reference/components/empty-page/examples/compact.tsx +28 -18
- package/dist/skill/reference/components/empty-page/examples/examples.module.css +0 -43
- package/dist/skill/reference/components/empty-page/examples/narrow.tsx +3 -3
- package/dist/skill/reference/components/empty-page/examples/region-error.tsx +14 -13
- package/dist/skill/reference/components/empty-page/examples/sizes.tsx +13 -13
- package/dist/skill/reference/components/empty-page/examples/variants.tsx +34 -30
- package/dist/skill/reference/components/example-frame/COMPONENT.md +23 -10
- package/dist/skill/reference/components/example-frame/examples/controlled.tsx +3 -3
- package/dist/skill/reference/components/example-frame/examples/initial-view.tsx +44 -0
- package/dist/skill/reference/components/field-list/COMPONENT.md +16 -9
- package/dist/skill/reference/components/field-list/examples/errors.tsx +5 -2
- package/dist/skill/{patterns/record-editor.tsx → reference/components/field-list/examples/screen.tsx} +3 -43
- package/dist/skill/reference/components/field-list/examples/sizes.tsx +32 -26
- package/dist/skill/reference/components/field-list/examples/states.tsx +37 -31
- package/dist/skill/reference/components/fieldset/COMPONENT.md +10 -5
- package/dist/skill/reference/components/fieldset/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/file-upload/COMPONENT.md +73 -34
- package/dist/skill/reference/components/file-upload/examples/avatar-upload.tsx +5 -5
- package/dist/skill/reference/components/file-upload/examples/custom-body.tsx +13 -7
- package/dist/skill/reference/components/file-upload/examples/examples.module.css +5 -11
- package/dist/skill/reference/components/file-upload/examples/file-cards.tsx +10 -1
- package/dist/skill/reference/components/file-upload/examples/gallery.tsx +2 -2
- package/dist/skill/reference/components/file-upload/examples/in-form.tsx +4 -9
- package/dist/skill/reference/components/file-upload/examples/narrow.tsx +1 -1
- package/dist/skill/reference/components/file-upload/examples/overview.tsx +5 -1
- package/dist/skill/reference/components/file-upload/examples/row-parts.tsx +27 -4
- package/dist/skill/{patterns/media-library.module.css → reference/components/file-upload/examples/screen.module.css} +4 -3
- package/dist/skill/reference/components/file-upload/examples/screen.tsx +648 -0
- package/dist/skill/reference/components/file-upload/examples/sizes.tsx +1 -3
- package/dist/skill/reference/components/file-upload/examples/states.tsx +6 -4
- package/dist/skill/reference/components/file-upload/examples/validation.tsx +11 -2
- package/dist/skill/reference/components/file-upload/examples/variants.tsx +15 -26
- package/dist/skill/reference/components/gallery/COMPONENT.md +16 -7
- package/dist/skill/reference/components/gallery/examples/album-sizes.tsx +52 -0
- package/dist/skill/reference/components/gallery/examples/controlled.tsx +40 -0
- package/dist/skill/reference/components/gallery/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/gallery/examples/overview.tsx +15 -43
- package/dist/skill/reference/components/gallery/examples/transfer.tsx +22 -13
- package/dist/skill/reference/components/gantt/COMPONENT.md +22 -15
- package/dist/skill/reference/components/gantt/examples/examples.module.css +0 -16
- package/dist/skill/reference/components/gantt/examples/occupancy.tsx +2 -2
- package/dist/skill/reference/components/gantt/examples/screen.module.css +14 -0
- package/dist/skill/{patterns/schedule.tsx → reference/components/gantt/examples/screen.tsx} +175 -171
- package/dist/skill/reference/components/gantt/examples/sizes.tsx +16 -16
- package/dist/skill/reference/components/gantt/examples/states.tsx +38 -30
- package/dist/skill/reference/components/gantt/examples/variants.tsx +27 -25
- package/dist/skill/reference/components/hint/COMPONENT.md +24 -14
- package/dist/skill/reference/components/hint/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/hint/examples/hint-or-error.tsx +2 -2
- package/dist/skill/reference/components/hint/examples/overview.tsx +9 -10
- package/dist/skill/reference/components/hint/examples/sizes.tsx +1 -1
- package/dist/skill/reference/components/input/COMPONENT.md +12 -8
- package/dist/skill/reference/components/input/examples/affixes.tsx +2 -2
- package/dist/skill/reference/components/input/examples/examples.module.css +1 -7
- package/dist/skill/reference/components/input/examples/in-form.tsx +1 -9
- package/dist/skill/reference/components/input/examples/password-strength.tsx +34 -8
- package/dist/skill/reference/components/input/examples/sizes.tsx +9 -5
- package/dist/skill/reference/components/input/examples/states.tsx +40 -19
- package/dist/skill/reference/components/input/examples/with-icon.tsx +24 -16
- package/dist/skill/reference/components/kanban/COMPONENT.md +31 -24
- package/dist/skill/reference/components/kanban/examples/columns.tsx +22 -24
- package/dist/skill/reference/components/kanban/examples/item-link.tsx +2 -2
- package/dist/skill/reference/components/kanban/examples/limits.tsx +1 -1
- package/dist/skill/reference/components/kanban/examples/narrow.tsx +1 -1
- package/dist/skill/reference/components/kanban/examples/screen.module.css +15 -0
- package/dist/skill/{patterns/kanban-board.tsx → reference/components/kanban/examples/screen.tsx} +133 -173
- package/dist/skill/reference/components/kanban/examples/states.tsx +46 -56
- package/dist/skill/reference/components/kanban/examples/variants.tsx +0 -3
- package/dist/skill/reference/components/kbd/COMPONENT.md +10 -6
- package/dist/skill/reference/components/kbd/examples/examples.module.css +1 -20
- package/dist/skill/reference/components/kbd/examples/in-controls.tsx +2 -2
- package/dist/skill/reference/components/kbd/examples/shortcut-list.tsx +14 -26
- package/dist/skill/reference/components/label/COMPONENT.md +26 -11
- package/dist/skill/reference/components/label/examples/examples.module.css +3 -11
- package/dist/skill/reference/components/label/examples/overview.tsx +5 -9
- package/dist/skill/reference/components/label/examples/structure.tsx +2 -2
- package/dist/skill/reference/components/link-button/COMPONENT.md +33 -20
- package/dist/skill/reference/components/link-button/examples/as-child.tsx +1 -1
- package/dist/skill/reference/components/link-button/examples/external-link.tsx +1 -1
- package/dist/skill/reference/components/link-button/examples/overview.tsx +4 -2
- package/dist/skill/reference/components/link-button/examples/variants.tsx +2 -2
- package/dist/skill/reference/components/list/COMPONENT.md +24 -16
- package/dist/skill/reference/components/list/examples/examples.module.css +0 -8
- package/dist/skill/reference/components/list/examples/overflow.tsx +1 -1
- package/dist/skill/reference/components/list/examples/overview.tsx +31 -30
- package/dist/skill/reference/components/list/examples/sizes.tsx +23 -23
- package/dist/skill/reference/components/list/examples/states.tsx +38 -21
- package/dist/skill/reference/components/list/examples/with-icon.tsx +16 -14
- package/dist/skill/reference/components/login-form/COMPONENT.md +74 -20
- package/dist/skill/reference/components/login-form/examples/examples.module.css +2 -21
- package/dist/skill/reference/components/login-form/examples/forgot-password.tsx +28 -32
- package/dist/skill/reference/components/login-form/examples/narrow.tsx +2 -2
- package/dist/skill/reference/components/login-form/examples/overview.tsx +45 -47
- package/dist/skill/reference/components/login-form/examples/register.tsx +65 -69
- package/dist/skill/reference/components/login-form/examples/reset-password.tsx +50 -47
- package/dist/skill/reference/components/login-form/examples/sizes.tsx +4 -6
- package/dist/skill/reference/components/login-form/examples/states.tsx +53 -57
- package/dist/skill/reference/components/login-form/examples/structure.tsx +18 -22
- package/dist/skill/reference/components/login-form/examples/verification-code.tsx +41 -45
- package/dist/skill/reference/components/media-viewer/COMPONENT.md +13 -9
- package/dist/skill/reference/components/media-viewer/examples/dismiss.tsx +5 -1
- package/dist/skill/reference/components/media-viewer/examples/examples.module.css +2 -2
- package/dist/skill/reference/components/media-viewer/examples/video.tsx +1 -1
- package/dist/skill/reference/components/message/COMPONENT.md +106 -49
- package/dist/skill/reference/components/message/examples/file.tsx +5 -1
- package/dist/skill/reference/components/message/examples/media-open.tsx +48 -0
- package/dist/skill/reference/components/message/examples/status.tsx +21 -3
- package/dist/skill/reference/components/message/examples/text-formatting.tsx +7 -1
- package/dist/skill/reference/components/message/examples/typing.tsx +5 -5
- package/dist/skill/reference/components/modal/COMPONENT.md +71 -36
- package/dist/skill/reference/components/modal/examples/custom-container.tsx +20 -20
- package/dist/skill/reference/components/modal/examples/dismiss.tsx +38 -28
- package/dist/skill/reference/components/modal/examples/enter-key.tsx +113 -0
- package/dist/skill/reference/components/modal/examples/examples.module.css +4 -17
- package/dist/skill/reference/components/modal/examples/guard.tsx +2 -4
- package/dist/skill/reference/components/modal/examples/in-form.tsx +28 -28
- package/dist/skill/reference/components/modal/examples/long-content.tsx +6 -4
- package/dist/skill/reference/components/modal/examples/sizes.tsx +36 -31
- package/dist/skill/reference/components/modal/examples/structure.tsx +5 -2
- package/dist/skill/reference/components/native-select/COMPONENT.md +8 -4
- package/dist/skill/reference/components/native-select/examples/examples.module.css +3 -3
- package/dist/skill/reference/components/native-select/examples/in-form.tsx +28 -29
- package/dist/skill/reference/components/native-select/examples/sizes.tsx +2 -2
- package/dist/skill/reference/components/native-select/examples/states.tsx +7 -3
- package/dist/skill/reference/components/notification/COMPONENT.md +37 -32
- package/dist/skill/reference/components/notification/examples/dismiss.tsx +2 -2
- package/dist/skill/reference/components/notification/examples/examples.module.css +1 -2
- package/dist/skill/reference/components/notification/examples/in-form.tsx +28 -20
- package/dist/skill/reference/components/notification/examples/sizes.tsx +16 -12
- package/dist/skill/reference/components/notification/examples/undo.tsx +7 -15
- package/dist/skill/reference/components/page-content/COMPONENT.md +22 -29
- package/dist/skill/reference/components/page-content/examples/examples.module.css +3 -16
- package/dist/skill/reference/components/page-content/examples/grid.tsx +3 -1
- package/dist/skill/reference/components/page-content/examples/list-detail.tsx +55 -52
- package/dist/skill/reference/components/page-content/examples/narrow.tsx +1 -1
- package/dist/skill/reference/components/page-content/examples/overview.tsx +2 -2
- package/dist/skill/{patterns/settings-page.tsx → reference/components/page-content/examples/screen.tsx} +3 -3
- package/dist/skill/reference/components/page-content/examples/variants.tsx +10 -17
- package/dist/skill/reference/components/page-toolbar/COMPONENT.md +27 -21
- package/dist/skill/reference/components/page-toolbar/examples/narrow.tsx +6 -3
- package/dist/skill/reference/components/page-toolbar/examples/overview.tsx +1 -1
- package/dist/skill/reference/components/page-toolbar/examples/save-changes.tsx +25 -22
- package/dist/skill/reference/components/pagination/COMPONENT.md +20 -17
- package/dist/skill/reference/components/pagination/examples/controlled.tsx +29 -29
- package/dist/skill/reference/components/pagination/examples/examples.module.css +0 -2
- package/dist/skill/reference/components/pagination/examples/narrow.tsx +5 -5
- package/dist/skill/reference/components/popover/COMPONENT.md +43 -20
- package/dist/skill/reference/components/popover/examples/controlled-open.tsx +6 -4
- package/dist/skill/reference/components/popover/examples/dismiss.tsx +37 -28
- package/dist/skill/reference/components/popover/examples/examples.module.css +2 -2
- package/dist/skill/reference/components/popover/examples/sizes.tsx +32 -27
- package/dist/skill/reference/components/popover/examples/width.tsx +45 -0
- package/dist/skill/reference/components/progress-bar/COMPONENT.md +22 -30
- package/dist/skill/reference/components/progress-bar/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/progress-bar/examples/segments.tsx +2 -2
- package/dist/skill/reference/components/progress-circle/COMPONENT.md +22 -30
- package/dist/skill/reference/components/progress-circle/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/progress-circle/examples/on-color.tsx +16 -0
- package/dist/skill/reference/components/progress-circle/examples/segments.tsx +8 -3
- package/dist/skill/reference/components/progress-circle/examples/variants.tsx +1 -0
- package/dist/skill/reference/components/radio/COMPONENT.md +14 -4
- package/dist/skill/reference/components/radio/examples/examples.module.css +14 -0
- package/dist/skill/reference/components/radio/examples/in-form.tsx +45 -0
- package/dist/skill/reference/components/scroll-container/COMPONENT.md +19 -12
- package/dist/skill/reference/components/scroll-container/examples/auto-scroll.tsx +11 -7
- package/dist/skill/reference/components/scroll-container/examples/edges.tsx +10 -7
- package/dist/skill/reference/components/scroll-container/examples/examples.module.css +10 -67
- package/dist/skill/reference/components/scroll-container/examples/load-more.tsx +51 -0
- package/dist/skill/reference/components/scroll-container/examples/lock.tsx +7 -9
- package/dist/skill/reference/components/scroll-container/examples/log.tsx +97 -0
- package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +7 -7
- package/dist/skill/reference/components/scroll-container/examples/overview.tsx +8 -8
- package/dist/skill/reference/components/scroll-container/examples/scrollbar.tsx +17 -11
- package/dist/skill/reference/components/scroll-container/examples/snap.tsx +2 -2
- package/dist/skill/reference/components/scroll-container/examples/variants.tsx +14 -7
- package/dist/skill/reference/components/segmented-control/COMPONENT.md +26 -14
- package/dist/skill/reference/components/segmented-control/examples/controlled.tsx +2 -4
- package/dist/skill/reference/components/segmented-control/examples/examples.module.css +0 -8
- package/dist/skill/reference/components/segmented-control/examples/in-form.tsx +5 -1
- package/dist/skill/reference/components/segmented-control/examples/scroll.tsx +1 -1
- package/dist/skill/reference/components/segmented-control/examples/states.tsx +10 -1
- package/dist/skill/reference/components/select/COMPONENT.md +34 -10
- package/dist/skill/reference/components/select/examples/dismiss.tsx +26 -0
- package/dist/skill/reference/components/select/examples/examples.module.css +3 -8
- package/dist/skill/reference/components/select/examples/server-search.tsx +6 -2
- package/dist/skill/reference/components/select/examples/sizes.tsx +2 -2
- package/dist/skill/reference/components/select/examples/states.tsx +15 -3
- package/dist/skill/reference/components/select/examples/with-icon.tsx +20 -18
- package/dist/skill/reference/components/sheet/COMPONENT.md +46 -21
- package/dist/skill/reference/components/sheet/examples/guard.tsx +72 -0
- package/dist/skill/reference/components/sheet/examples/header-actions.tsx +75 -0
- package/dist/skill/reference/components/sheet/examples/overview.tsx +25 -10
- package/dist/skill/reference/components/skeleton/COMPONENT.md +8 -4
- package/dist/skill/reference/components/skeleton/examples/examples.module.css +1 -13
- package/dist/skill/reference/components/skeleton/examples/with-crossfade.tsx +7 -7
- package/dist/skill/reference/components/slider/COMPONENT.md +12 -6
- package/dist/skill/reference/components/slider/examples/examples.module.css +14 -7
- package/dist/skill/reference/components/slider/examples/hint-and-error.tsx +3 -5
- package/dist/skill/reference/components/slider/examples/in-form.tsx +49 -0
- package/dist/skill/reference/components/slider/examples/states.tsx +4 -1
- package/dist/skill/reference/components/smart-filter/COMPONENT.md +33 -13
- package/dist/skill/reference/components/smart-filter/examples/controlled.tsx +3 -3
- package/dist/skill/reference/components/smart-filter/examples/examples.module.css +0 -21
- package/dist/skill/reference/components/smart-filter/examples/ranges.tsx +45 -10
- package/dist/skill/reference/components/smart-filter/examples/sizes.tsx +2 -4
- package/dist/skill/reference/components/sparkline/COMPONENT.md +8 -4
- package/dist/skill/reference/components/sparkline/examples/examples.module.css +1 -1
- package/dist/skill/reference/components/sparkline/examples/reference.tsx +2 -1
- package/dist/skill/reference/components/sparkline/examples/signed-bars.tsx +2 -2
- package/dist/skill/reference/components/spinner/COMPONENT.md +15 -9
- package/dist/skill/reference/components/spinner/examples/examples.module.css +2 -14
- package/dist/skill/reference/components/spinner/examples/overview.tsx +1 -1
- package/dist/skill/reference/components/stepper/COMPONENT.md +50 -41
- package/dist/skill/reference/components/stepper/examples/examples.module.css +1 -6
- package/dist/skill/reference/components/stepper/examples/narrow.tsx +1 -1
- package/dist/skill/reference/components/stepper/examples/sizes.tsx +6 -8
- package/dist/skill/reference/components/stepper/examples/states.tsx +44 -43
- package/dist/skill/reference/components/stepper/examples/with-icon.tsx +19 -17
- package/dist/skill/reference/components/switch/COMPONENT.md +21 -8
- package/dist/skill/reference/components/switch/examples/examples.module.css +2 -2
- package/dist/skill/reference/components/switch/examples/states.tsx +3 -3
- package/dist/skill/reference/components/tabs/COMPONENT.md +22 -17
- package/dist/skill/reference/components/tabs/examples/in-drawer.tsx +1 -1
- package/dist/skill/reference/components/tabs/examples/sizes.tsx +6 -11
- package/dist/skill/reference/components/tabs/examples/variants.tsx +19 -23
- package/dist/skill/reference/components/tag-select/COMPONENT.md +20 -7
- package/dist/skill/reference/components/tag-select/examples/creatable.tsx +2 -2
- package/dist/skill/reference/components/tag-select/examples/dismiss.tsx +23 -0
- package/dist/skill/reference/components/tag-select/examples/examples.module.css +3 -3
- package/dist/skill/reference/components/tag-select/examples/in-form.tsx +31 -32
- package/dist/skill/reference/components/tag-select/examples/sizes.tsx +2 -2
- package/dist/skill/reference/components/tag-select/examples/states.tsx +10 -3
- package/dist/skill/reference/components/textarea/COMPONENT.md +11 -7
- package/dist/skill/reference/components/textarea/examples/examples.module.css +3 -16
- package/dist/skill/reference/components/textarea/examples/in-form.tsx +3 -11
- package/dist/skill/reference/components/textarea/examples/sizes.tsx +10 -7
- package/dist/skill/reference/components/textarea/examples/states.tsx +30 -13
- package/dist/skill/reference/components/textarea/examples/validation.tsx +45 -36
- package/dist/skill/reference/components/thumbnail/COMPONENT.md +19 -14
- package/dist/skill/reference/components/thumbnail/examples/examples.module.css +2 -2
- package/dist/skill/reference/components/thumbnail/examples/fit.tsx +24 -0
- package/dist/skill/reference/components/thumbnail/examples/states.tsx +1 -1
- package/dist/skill/reference/components/thumbnail/examples/variants.tsx +12 -1
- package/dist/skill/reference/components/thumbnail/examples/video.tsx +20 -1
- package/dist/skill/reference/components/timeline/COMPONENT.md +52 -36
- package/dist/skill/reference/components/timeline/examples/links.tsx +57 -16
- package/dist/skill/reference/components/timeline/examples/narrow.tsx +6 -6
- package/dist/skill/reference/components/timeline/examples/overview.tsx +6 -6
- package/dist/skill/reference/components/timeline/examples/sizes.tsx +28 -23
- package/dist/skill/reference/components/timeline/examples/structure.tsx +30 -30
- package/dist/skill/reference/components/timeline/examples/variants.tsx +40 -28
- package/dist/skill/reference/components/tooltip/COMPONENT.md +11 -7
- package/dist/skill/reference/components/tooltip/examples/examples.module.css +1 -5
- package/dist/skill/reference/components/tooltip/examples/non-interactive-trigger.tsx +1 -1
- package/dist/skill/reference/components/tooltip/examples/sizes.tsx +17 -10
- package/dist/skill/reference/components/tooltip/examples/toolbar.tsx +2 -2
- package/dist/skill/reference/components/typography/COMPONENT.md +17 -2
- package/dist/skill/reference/components/typography/examples/examples.module.css +3 -6
- package/dist/skill/reference/components/typography/examples/numeric.tsx +16 -0
- package/dist/skill/reference/components/typography/examples/weights.tsx +3 -0
- package/dist/skill/reference/components/video-note/COMPONENT.md +13 -9
- package/dist/skill/reference/components/video-note/examples/controlled.tsx +19 -2
- package/dist/skill/reference/components/video-note/examples/in-message.tsx +5 -2
- package/dist/skill/reference/components/visually-hidden/COMPONENT.md +10 -5
- package/dist/skill/reference/components/visually-hidden/examples/assertive.tsx +39 -0
- package/dist/skill/reference/components/visually-hidden/examples/overview.tsx +17 -7
- package/dist/skill/reference/components/voice-player/COMPONENT.md +17 -9
- package/dist/skill/reference/components/voice-player/examples/call-recording.tsx +19 -9
- package/dist/skill/reference/components/voice-player/examples/controlled.tsx +20 -3
- package/dist/skill/reference/foundation.md +564 -0
- package/dist/skill/reference/layout/app-header/COMPONENT.md +65 -81
- package/dist/skill/reference/layout/app-header/examples/breadcrumbs.tsx +10 -9
- package/dist/skill/reference/layout/app-header/examples/examples.module.css +4 -23
- package/dist/skill/reference/layout/app-header/examples/in-app-shell.tsx +3 -6
- package/dist/skill/reference/layout/app-header/examples/narrow.tsx +58 -21
- package/dist/skill/reference/layout/app-header/examples/overview.tsx +8 -10
- package/dist/skill/reference/layout/app-header/examples/page-title.tsx +3 -10
- package/dist/skill/reference/layout/app-shell/COMPONENT.md +41 -10
- package/dist/skill/reference/layout/app-shell/examples/examples.module.css +2 -22
- package/dist/skill/reference/layout/app-shell/examples/footer.tsx +2 -2
- package/dist/skill/reference/layout/app-shell/examples/overview.tsx +18 -35
- package/dist/skill/reference/layout/app-shell/examples/screen.tsx +268 -0
- package/dist/skill/reference/layout/app-shell/examples/template.tsx +32 -12
- package/dist/skill/reference/layout/bottom-nav/COMPONENT.md +27 -17
- package/dist/skill/reference/layout/bottom-nav/examples/examples.module.css +2 -7
- package/dist/skill/reference/layout/bottom-nav/examples/floating-action.tsx +2 -2
- package/dist/skill/reference/layout/bottom-nav/examples/floating.tsx +2 -2
- package/dist/skill/reference/layout/bottom-nav/examples/in-app-shell.tsx +2 -2
- package/dist/skill/reference/layout/bottom-nav/examples/router.tsx +6 -5
- package/dist/skill/reference/layout/sidebar/COMPONENT.md +55 -42
- package/dist/skill/reference/layout/sidebar/examples/account.tsx +3 -5
- package/dist/skill/reference/layout/sidebar/examples/brand-header.tsx +1 -3
- package/dist/skill/reference/layout/sidebar/examples/collapsible-groups.tsx +13 -7
- package/dist/skill/reference/layout/sidebar/examples/controlled-open.tsx +1 -3
- package/dist/skill/reference/layout/sidebar/examples/controlled.tsx +1 -3
- package/dist/skill/reference/layout/sidebar/examples/custom-part.tsx +51 -0
- package/dist/skill/reference/layout/sidebar/examples/dismiss.tsx +47 -0
- package/dist/skill/reference/layout/sidebar/examples/examples.module.css +10 -30
- package/dist/skill/reference/layout/sidebar/examples/narrow.tsx +55 -0
- package/dist/skill/reference/layout/sidebar/examples/nested-items.tsx +1 -3
- package/dist/skill/reference/layout/sidebar/examples/overview.tsx +1 -3
- package/dist/skill/reference/layout/sidebar/examples/persist.tsx +55 -0
- package/dist/skill/reference/layout/sidebar/examples/router.tsx +20 -9
- package/dist/skill/reference/layout/sidebar/examples/sizes.tsx +6 -6
- package/dist/skill/reference/layout/sidebar/examples/structure.tsx +7 -2
- package/dist/skill/responsive.md +49 -52
- package/dist/skill/ux.md +21 -9
- package/dist/theme/applyTheme.d.ts +7 -6
- package/dist/tokens/hues.d.ts +8 -0
- package/dist/tokens/layers.d.ts +3 -16
- package/dist/tokens/offGrid.d.ts +7 -0
- package/dist/tokens/primitives.d.ts +22 -7
- package/dist/tokens/semantic.d.ts +201 -51
- package/dist/tokens/themes/dark.d.ts +32 -31
- package/package.json +5 -3
- package/src/components/accordion/COMPONENT.md +16 -9
- package/src/components/accordion/examples/overview.tsx +2 -2
- package/src/components/accordion/examples/sizes.tsx +6 -8
- package/src/components/accordion/examples/states.tsx +27 -24
- package/src/components/accordion/examples/variants.tsx +6 -8
- package/src/components/accordion/examples/with-icon.tsx +22 -19
- package/src/components/avatar/COMPONENT.md +23 -16
- package/src/components/avatar/examples/examples.module.css +1 -4
- package/src/components/avatar/examples/overview.tsx +3 -3
- package/src/components/avatar/examples/presence.tsx +4 -4
- package/src/components/avatar/examples/src-from-state.tsx +3 -3
- package/src/components/avatar/examples/states.tsx +6 -6
- package/src/components/avatar/examples/team-group.tsx +2 -2
- package/src/components/badge/COMPONENT.md +66 -34
- package/src/components/badge/examples/applied-filters.tsx +13 -19
- package/src/components/badge/examples/controlled.tsx +32 -0
- package/src/components/badge/examples/examples.module.css +3 -10
- package/src/components/badge/examples/filter-values.tsx +4 -6
- package/src/components/badge/examples/in-controls.tsx +1 -1
- package/src/components/badge/examples/overview.tsx +6 -5
- package/src/components/badge/examples/server-tags.tsx +2 -6
- package/src/components/badge/examples/square.tsx +21 -0
- package/src/components/badge/examples/states.tsx +4 -4
- package/src/components/badge/examples/with-icon.tsx +10 -1
- package/src/components/banner/COMPONENT.md +9 -5
- package/src/components/banner/examples/dismissible.tsx +3 -19
- package/src/components/banner/examples/examples.module.css +1 -5
- package/src/components/banner/examples/overview.tsx +1 -1
- package/src/components/banner/examples/page-strip.tsx +16 -22
- package/src/components/breadcrumb/COMPONENT.md +21 -14
- package/src/components/breadcrumb/examples/ellipsis.tsx +2 -2
- package/src/components/breadcrumb/examples/examples.module.css +1 -1
- package/src/components/breadcrumb/examples/overflow.tsx +1 -1
- package/src/components/breadcrumb/examples/sizes.tsx +6 -8
- package/src/components/breadcrumb/examples/with-icon.tsx +15 -8
- package/src/components/button/COMPONENT.md +66 -30
- package/src/components/button/examples/align.tsx +25 -0
- package/src/components/button/examples/controlled.tsx +21 -0
- package/src/components/button/examples/density.tsx +45 -0
- package/src/components/button/examples/examples.module.css +14 -25
- package/src/components/button/examples/label-morph.tsx +1 -1
- package/src/components/button/examples/on-colored-host.tsx +19 -19
- package/src/components/button/examples/over-media.tsx +7 -1
- package/src/components/button/examples/toggle.tsx +2 -10
- package/src/components/button-group/COMPONENT.md +23 -17
- package/src/components/button-group/examples/controlled.tsx +1 -1
- package/src/components/button-group/examples/in-form.tsx +22 -2
- package/src/components/button-group/examples/states.tsx +10 -1
- package/src/components/card/COMPONENT.md +18 -6
- package/src/components/card/examples/content-templates.tsx +8 -2
- package/src/components/card/examples/examples.module.css +4 -16
- package/src/components/card/examples/overview.tsx +11 -11
- package/src/components/card/examples/screen.module.css +14 -0
- package/src/components/card/examples/screen.tsx +363 -0
- package/src/components/card/examples/variants.tsx +75 -34
- package/src/components/chart-frame/COMPONENT.md +25 -28
- package/src/components/chart-frame/examples/controlled.tsx +9 -7
- package/src/components/chart-frame/examples/fill-height.tsx +117 -0
- package/src/components/chart-frame/examples/narrow.tsx +24 -5
- package/src/components/chart-frame/examples/overview.tsx +5 -2
- package/src/components/chart-frame/examples/states.tsx +72 -62
- package/src/components/chart-frame/examples/tooltip.tsx +27 -26
- package/src/components/chat/COMPONENT.md +37 -22
- package/src/components/chat/examples/group-chat.tsx +16 -3
- package/src/components/chat/examples/overview.tsx +119 -130
- package/src/components/chat/examples/reactions.tsx +116 -0
- package/src/components/chat/examples/screen.module.css +9 -0
- package/src/components/chat/examples/screen.tsx +695 -0
- package/src/components/chat/examples/states.tsx +23 -22
- package/src/components/chat-list/COMPONENT.md +11 -5
- package/src/components/chat-list/examples/examples.module.css +0 -8
- package/src/components/chat-list/examples/links.tsx +72 -0
- package/src/components/chat-list/examples/live.tsx +29 -22
- package/src/components/chat-list/examples/sizes.tsx +6 -8
- package/src/components/chat-list/examples/states.tsx +42 -38
- package/src/components/checkbox/COMPONENT.md +27 -14
- package/src/components/checkbox/examples/controlled.tsx +18 -16
- package/src/components/checkbox/examples/examples.module.css +14 -52
- package/src/components/checkbox/examples/in-form.tsx +16 -16
- package/src/components/checkbox/examples/indicator.tsx +17 -56
- package/src/components/checkbox/examples/overview.tsx +1 -1
- package/src/components/checkbox/examples/states.tsx +6 -1
- package/src/components/checkbox/examples/without-label.tsx +1 -1
- package/src/components/code-block/COMPONENT.md +16 -12
- package/src/components/code-block/examples/examples.module.css +5 -2
- package/src/components/code-block/examples/narrow.tsx +1 -1
- package/src/components/color-field/COMPONENT.md +16 -10
- package/src/components/color-field/examples/examples.module.css +4 -5
- package/src/components/color-field/examples/in-form.tsx +15 -13
- package/src/components/color-field/examples/sizes.tsx +5 -1
- package/src/components/color-field/examples/states.tsx +15 -3
- package/src/components/color-picker/COMPONENT.md +58 -21
- package/src/components/color-picker/examples/controlled-open.tsx +37 -0
- package/src/components/color-picker/examples/controlled.tsx +16 -5
- package/src/components/color-picker/examples/examples.module.css +6 -7
- package/src/components/color-picker/examples/in-form.tsx +24 -22
- package/src/components/color-picker/examples/overview.tsx +1 -1
- package/src/components/color-picker/examples/panel.tsx +1 -1
- package/src/components/color-picker/examples/presets.tsx +2 -2
- package/src/components/color-picker/examples/sizes.tsx +9 -11
- package/src/components/color-picker/examples/states.tsx +30 -16
- package/src/components/color-swatches/COMPONENT.md +22 -8
- package/src/components/color-swatches/examples/examples.module.css +3 -4
- package/src/components/color-swatches/examples/in-form.tsx +19 -17
- package/src/components/color-swatches/examples/palette.tsx +24 -0
- package/src/components/color-swatches/examples/wrapping.tsx +17 -2
- package/src/components/command-menu/COMPONENT.md +60 -20
- package/src/components/command-menu/examples/sizes.tsx +20 -15
- package/src/components/command-menu/examples/states.tsx +46 -24
- package/src/components/composer/COMPONENT.md +44 -25
- package/src/components/composer/examples/attach-menu.tsx +78 -0
- package/src/components/composer/examples/attachments.tsx +2 -2
- package/src/components/composer/examples/examples.module.css +0 -9
- package/src/components/composer/examples/narrow.tsx +1 -1
- package/src/components/composer/examples/reply-edit.tsx +3 -3
- package/src/components/composer/examples/sizes.tsx +3 -5
- package/src/components/composer/examples/states.tsx +4 -6
- package/src/components/confirm-dialog/COMPONENT.md +26 -13
- package/src/components/confirm-dialog/examples/dismiss.tsx +27 -0
- package/src/components/confirm-dialog/examples/failure.tsx +9 -16
- package/src/components/crossfade/COMPONENT.md +12 -5
- package/src/components/crossfade/examples/examples.module.css +1 -40
- package/src/components/crossfade/examples/fill.tsx +16 -19
- package/src/components/crossfade/examples/overview.tsx +14 -16
- package/src/components/crossfade/examples/record-switch.tsx +6 -11
- package/src/components/crossfade/examples/screen.module.css +17 -0
- package/src/components/crossfade/examples/screen.tsx +186 -0
- package/src/components/data-table/COMPONENT.md +34 -23
- package/src/components/data-table/examples/controlled.tsx +14 -2
- package/src/components/data-table/examples/detail-panel.tsx +36 -37
- package/src/components/data-table/examples/examples.module.css +1 -21
- package/src/components/data-table/examples/narrow.tsx +5 -1
- package/src/components/data-table/examples/numeric.tsx +36 -4
- package/src/components/data-table/examples/overview.tsx +1 -0
- package/src/components/data-table/examples/row-link.tsx +2 -1
- package/src/components/data-table/examples/row-open.tsx +7 -36
- package/src/components/data-table/examples/screen.module.css +13 -0
- package/src/components/data-table/examples/screen.tsx +355 -0
- package/src/components/data-table/examples/sizes.tsx +17 -17
- package/src/components/data-table/examples/states.tsx +37 -29
- package/src/components/datepicker/COMPONENT.md +57 -25
- package/src/components/datepicker/examples/dismiss.tsx +15 -0
- package/src/components/datepicker/examples/examples.module.css +4 -7
- package/src/components/datepicker/examples/in-form.tsx +29 -29
- package/src/components/datepicker/examples/locale.tsx +35 -0
- package/src/components/datepicker/examples/range-presets.tsx +11 -2
- package/src/components/datepicker/examples/sizes.tsx +2 -2
- package/src/components/datepicker/examples/states.tsx +11 -3
- package/src/components/datepicker/examples/validation.tsx +3 -3
- package/src/components/description-list/COMPONENT.md +24 -8
- package/src/components/description-list/examples/examples.module.css +4 -24
- package/src/components/description-list/examples/narrow.tsx +1 -1
- package/src/components/description-list/examples/screen.module.css +46 -0
- package/src/components/description-list/examples/screen.tsx +206 -0
- package/src/components/description-list/examples/sizes.tsx +2 -4
- package/src/components/description-list/examples/structure.tsx +7 -8
- package/src/components/description-list/examples/totals.tsx +40 -0
- package/src/components/digit-input/COMPONENT.md +15 -7
- package/src/components/digit-input/examples/examples.module.css +2 -2
- package/src/components/digit-input/examples/in-form.tsx +1 -1
- package/src/components/digit-input/examples/sizes.tsx +5 -3
- package/src/components/digit-input/examples/states.tsx +15 -5
- package/src/components/digit-input/examples/without-focus-ring.tsx +13 -0
- package/src/components/divider/COMPONENT.md +26 -12
- package/src/components/divider/examples/align.tsx +2 -4
- package/src/components/divider/examples/examples.module.css +13 -17
- package/src/components/divider/examples/or-separator.tsx +3 -5
- package/src/components/divider/examples/overview.tsx +18 -16
- package/src/components/divider/examples/vertical.tsx +5 -1
- package/src/components/divider/examples/with-icon.tsx +3 -3
- package/src/components/dnd/COMPONENT.md +56 -36
- package/src/components/dnd/examples/drop-zones.tsx +82 -49
- package/src/components/dnd/examples/examples.module.css +54 -6
- package/src/components/dnd/examples/states.tsx +60 -0
- package/src/components/dnd/examples/table.tsx +113 -0
- package/src/components/drawer/COMPONENT.md +38 -14
- package/src/components/drawer/examples/dismiss.tsx +5 -3
- package/src/components/drawer/examples/guard.tsx +1 -3
- package/src/components/drawer/examples/header-actions.tsx +6 -10
- package/src/components/drawer/examples/in-form.tsx +31 -31
- package/src/components/drawer/examples/overview.tsx +6 -18
- package/src/components/drawer/examples/placement.tsx +31 -26
- package/src/components/drawer/examples/screen.module.css +14 -0
- package/src/components/drawer/examples/screen.tsx +298 -0
- package/src/components/drawer/examples/sizes.tsx +32 -27
- package/src/components/dropdown/COMPONENT.md +58 -23
- package/src/components/dropdown/examples/context-menu.tsx +75 -0
- package/src/components/dropdown/examples/examples.module.css +2 -6
- package/src/components/dropdown/examples/sizes.tsx +39 -34
- package/src/components/dropdown/examples/states.tsx +37 -29
- package/src/components/empty-page/COMPONENT.md +21 -10
- package/src/components/empty-page/examples/compact.tsx +28 -18
- package/src/components/empty-page/examples/examples.module.css +0 -43
- package/src/components/empty-page/examples/narrow.tsx +3 -3
- package/src/components/empty-page/examples/region-error.tsx +14 -13
- package/src/components/empty-page/examples/sizes.tsx +13 -13
- package/src/components/empty-page/examples/variants.tsx +34 -30
- package/src/components/example-frame/COMPONENT.md +23 -10
- package/src/components/example-frame/examples/controlled.tsx +3 -3
- package/src/components/example-frame/examples/initial-view.tsx +44 -0
- package/src/components/field-list/COMPONENT.md +16 -9
- package/src/components/field-list/examples/errors.tsx +5 -2
- package/src/components/field-list/examples/screen.module.css +18 -0
- package/src/components/field-list/examples/screen.tsx +316 -0
- package/src/components/field-list/examples/sizes.tsx +32 -26
- package/src/components/field-list/examples/states.tsx +37 -31
- package/src/components/fieldset/COMPONENT.md +10 -5
- package/src/components/fieldset/examples/examples.module.css +1 -1
- package/src/components/file-upload/COMPONENT.md +73 -34
- package/src/components/file-upload/examples/avatar-upload.tsx +5 -5
- package/src/components/file-upload/examples/custom-body.tsx +13 -7
- package/src/components/file-upload/examples/examples.module.css +5 -11
- package/src/components/file-upload/examples/file-cards.tsx +10 -1
- package/src/components/file-upload/examples/gallery.tsx +2 -2
- package/src/components/file-upload/examples/in-form.tsx +4 -9
- package/src/components/file-upload/examples/narrow.tsx +1 -1
- package/src/components/file-upload/examples/overview.tsx +5 -1
- package/src/components/file-upload/examples/row-parts.tsx +27 -4
- package/src/components/file-upload/examples/screen.module.css +45 -0
- package/src/components/file-upload/examples/screen.tsx +648 -0
- package/src/components/file-upload/examples/sizes.tsx +1 -3
- package/src/components/file-upload/examples/states.tsx +6 -4
- package/src/components/file-upload/examples/validation.tsx +11 -2
- package/src/components/file-upload/examples/variants.tsx +15 -26
- package/src/components/gallery/COMPONENT.md +16 -7
- package/src/components/gallery/examples/album-sizes.tsx +52 -0
- package/src/components/gallery/examples/controlled.tsx +40 -0
- package/src/components/gallery/examples/examples.module.css +1 -1
- package/src/components/gallery/examples/overview.tsx +15 -43
- package/src/components/gallery/examples/transfer.tsx +22 -13
- package/src/components/gantt/COMPONENT.md +22 -15
- package/src/components/gantt/examples/examples.module.css +0 -16
- package/src/components/gantt/examples/occupancy.tsx +2 -2
- package/src/components/gantt/examples/screen.module.css +14 -0
- package/src/components/gantt/examples/screen.tsx +726 -0
- package/src/components/gantt/examples/sizes.tsx +16 -16
- package/src/components/gantt/examples/states.tsx +38 -30
- package/src/components/gantt/examples/variants.tsx +27 -25
- package/src/components/hint/COMPONENT.md +24 -14
- package/src/components/hint/examples/examples.module.css +1 -1
- package/src/components/hint/examples/hint-or-error.tsx +2 -2
- package/src/components/hint/examples/overview.tsx +9 -10
- package/src/components/hint/examples/sizes.tsx +1 -1
- package/src/components/input/COMPONENT.md +12 -8
- package/src/components/input/examples/affixes.tsx +2 -2
- package/src/components/input/examples/examples.module.css +1 -7
- package/src/components/input/examples/in-form.tsx +1 -9
- package/src/components/input/examples/password-strength.tsx +34 -8
- package/src/components/input/examples/sizes.tsx +9 -5
- package/src/components/input/examples/states.tsx +40 -19
- package/src/components/input/examples/with-icon.tsx +24 -16
- package/src/components/kanban/COMPONENT.md +31 -24
- package/src/components/kanban/examples/columns.tsx +22 -24
- package/src/components/kanban/examples/item-link.tsx +2 -2
- package/src/components/kanban/examples/limits.tsx +1 -1
- package/src/components/kanban/examples/narrow.tsx +1 -1
- package/src/components/kanban/examples/screen.module.css +15 -0
- package/src/components/kanban/examples/screen.tsx +574 -0
- package/src/components/kanban/examples/states.tsx +46 -56
- package/src/components/kanban/examples/variants.tsx +0 -3
- package/src/components/kbd/COMPONENT.md +10 -6
- package/src/components/kbd/examples/examples.module.css +1 -20
- package/src/components/kbd/examples/in-controls.tsx +2 -2
- package/src/components/kbd/examples/shortcut-list.tsx +14 -26
- package/src/components/label/COMPONENT.md +26 -11
- package/src/components/label/examples/examples.module.css +3 -11
- package/src/components/label/examples/overview.tsx +5 -9
- package/src/components/label/examples/structure.tsx +2 -2
- package/src/components/link-button/COMPONENT.md +33 -20
- package/src/components/link-button/examples/as-child.tsx +1 -1
- package/src/components/link-button/examples/external-link.tsx +1 -1
- package/src/components/link-button/examples/overview.tsx +4 -2
- package/src/components/link-button/examples/variants.tsx +2 -2
- package/src/components/list/COMPONENT.md +24 -16
- package/src/components/list/examples/examples.module.css +0 -8
- package/src/components/list/examples/overflow.tsx +1 -1
- package/src/components/list/examples/overview.tsx +31 -30
- package/src/components/list/examples/sizes.tsx +23 -23
- package/src/components/list/examples/states.tsx +38 -21
- package/src/components/list/examples/with-icon.tsx +16 -14
- package/src/components/login-form/COMPONENT.md +74 -20
- package/src/components/login-form/examples/examples.module.css +2 -21
- package/src/components/login-form/examples/forgot-password.tsx +28 -32
- package/src/components/login-form/examples/narrow.tsx +2 -2
- package/src/components/login-form/examples/overview.tsx +45 -47
- package/src/components/login-form/examples/register.tsx +65 -69
- package/src/components/login-form/examples/reset-password.tsx +50 -47
- package/src/components/login-form/examples/sizes.tsx +4 -6
- package/src/components/login-form/examples/states.tsx +53 -57
- package/src/components/login-form/examples/structure.tsx +18 -22
- package/src/components/login-form/examples/verification-code.tsx +41 -45
- package/src/components/media-viewer/COMPONENT.md +13 -9
- package/src/components/media-viewer/examples/dismiss.tsx +5 -1
- package/src/components/media-viewer/examples/examples.module.css +2 -2
- package/src/components/media-viewer/examples/video.tsx +1 -1
- package/src/components/message/COMPONENT.md +106 -49
- package/src/components/message/examples/file.tsx +5 -1
- package/src/components/message/examples/media-open.tsx +48 -0
- package/src/components/message/examples/status.tsx +21 -3
- package/src/components/message/examples/text-formatting.tsx +7 -1
- package/src/components/message/examples/typing.tsx +5 -5
- package/src/components/modal/COMPONENT.md +71 -36
- package/src/components/modal/examples/custom-container.tsx +20 -20
- package/src/components/modal/examples/dismiss.tsx +38 -28
- package/src/components/modal/examples/enter-key.tsx +113 -0
- package/src/components/modal/examples/examples.module.css +4 -17
- package/src/components/modal/examples/guard.tsx +2 -4
- package/src/components/modal/examples/in-form.tsx +28 -28
- package/src/components/modal/examples/long-content.tsx +6 -4
- package/src/components/modal/examples/sizes.tsx +36 -31
- package/src/components/modal/examples/structure.tsx +5 -2
- package/src/components/native-select/COMPONENT.md +8 -4
- package/src/components/native-select/examples/examples.module.css +3 -3
- package/src/components/native-select/examples/in-form.tsx +28 -29
- package/src/components/native-select/examples/sizes.tsx +2 -2
- package/src/components/native-select/examples/states.tsx +7 -3
- package/src/components/notification/COMPONENT.md +37 -32
- package/src/components/notification/examples/dismiss.tsx +2 -2
- package/src/components/notification/examples/examples.module.css +1 -2
- package/src/components/notification/examples/in-form.tsx +28 -20
- package/src/components/notification/examples/sizes.tsx +16 -12
- package/src/components/notification/examples/undo.tsx +7 -15
- package/src/components/page-content/COMPONENT.md +22 -29
- package/src/components/page-content/examples/examples.module.css +3 -16
- package/src/components/page-content/examples/grid.tsx +3 -1
- package/src/components/page-content/examples/list-detail.tsx +55 -52
- package/src/components/page-content/examples/narrow.tsx +1 -1
- package/src/components/page-content/examples/overview.tsx +2 -2
- package/src/components/page-content/examples/screen.module.css +27 -0
- package/src/components/page-content/examples/screen.tsx +196 -0
- package/src/components/page-content/examples/variants.tsx +10 -17
- package/src/components/page-toolbar/COMPONENT.md +27 -21
- package/src/components/page-toolbar/examples/narrow.tsx +6 -3
- package/src/components/page-toolbar/examples/overview.tsx +1 -1
- package/src/components/page-toolbar/examples/save-changes.tsx +25 -22
- package/src/components/pagination/COMPONENT.md +20 -17
- package/src/components/pagination/examples/controlled.tsx +29 -29
- package/src/components/pagination/examples/examples.module.css +0 -2
- package/src/components/pagination/examples/narrow.tsx +5 -5
- package/src/components/popover/COMPONENT.md +43 -20
- package/src/components/popover/examples/controlled-open.tsx +6 -4
- package/src/components/popover/examples/dismiss.tsx +37 -28
- package/src/components/popover/examples/examples.module.css +2 -2
- package/src/components/popover/examples/sizes.tsx +32 -27
- package/src/components/popover/examples/width.tsx +45 -0
- package/src/components/progress-bar/COMPONENT.md +22 -30
- package/src/components/progress-bar/examples/examples.module.css +1 -1
- package/src/components/progress-bar/examples/segments.tsx +2 -2
- package/src/components/progress-circle/COMPONENT.md +22 -30
- package/src/components/progress-circle/examples/examples.module.css +1 -1
- package/src/components/progress-circle/examples/on-color.tsx +16 -0
- package/src/components/progress-circle/examples/segments.tsx +8 -3
- package/src/components/progress-circle/examples/variants.tsx +1 -0
- package/src/components/radio/COMPONENT.md +14 -4
- package/src/components/radio/examples/examples.module.css +14 -0
- package/src/components/radio/examples/in-form.tsx +45 -0
- package/src/components/scroll-container/COMPONENT.md +19 -12
- package/src/components/scroll-container/examples/auto-scroll.tsx +11 -7
- package/src/components/scroll-container/examples/edges.tsx +10 -7
- package/src/components/scroll-container/examples/examples.module.css +10 -67
- package/src/components/scroll-container/examples/load-more.tsx +51 -0
- package/src/components/scroll-container/examples/lock.tsx +7 -9
- package/src/components/scroll-container/examples/log.tsx +97 -0
- package/src/components/scroll-container/examples/overscroll.tsx +7 -7
- package/src/components/scroll-container/examples/overview.tsx +8 -8
- package/src/components/scroll-container/examples/scrollbar.tsx +17 -11
- package/src/components/scroll-container/examples/snap.tsx +2 -2
- package/src/components/scroll-container/examples/variants.tsx +14 -7
- package/src/components/segmented-control/COMPONENT.md +26 -14
- package/src/components/segmented-control/examples/controlled.tsx +2 -4
- package/src/components/segmented-control/examples/examples.module.css +0 -8
- package/src/components/segmented-control/examples/in-form.tsx +5 -1
- package/src/components/segmented-control/examples/scroll.tsx +1 -1
- package/src/components/segmented-control/examples/states.tsx +10 -1
- package/src/components/select/COMPONENT.md +34 -10
- package/src/components/select/examples/dismiss.tsx +26 -0
- package/src/components/select/examples/examples.module.css +3 -8
- package/src/components/select/examples/server-search.tsx +6 -2
- package/src/components/select/examples/sizes.tsx +2 -2
- package/src/components/select/examples/states.tsx +15 -3
- package/src/components/select/examples/with-icon.tsx +20 -18
- package/src/components/sheet/COMPONENT.md +46 -21
- package/src/components/sheet/examples/guard.tsx +72 -0
- package/src/components/sheet/examples/header-actions.tsx +75 -0
- package/src/components/sheet/examples/overview.tsx +25 -10
- package/src/components/skeleton/COMPONENT.md +8 -4
- package/src/components/skeleton/examples/examples.module.css +1 -13
- package/src/components/skeleton/examples/with-crossfade.tsx +7 -7
- package/src/components/slider/COMPONENT.md +12 -6
- package/src/components/slider/examples/examples.module.css +14 -7
- package/src/components/slider/examples/hint-and-error.tsx +3 -5
- package/src/components/slider/examples/in-form.tsx +49 -0
- package/src/components/slider/examples/states.tsx +4 -1
- package/src/components/smart-filter/COMPONENT.md +33 -13
- package/src/components/smart-filter/examples/controlled.tsx +3 -3
- package/src/components/smart-filter/examples/examples.module.css +0 -21
- package/src/components/smart-filter/examples/ranges.tsx +45 -10
- package/src/components/smart-filter/examples/sizes.tsx +2 -4
- package/src/components/sparkline/COMPONENT.md +8 -4
- package/src/components/sparkline/examples/examples.module.css +1 -1
- package/src/components/sparkline/examples/reference.tsx +2 -1
- package/src/components/sparkline/examples/signed-bars.tsx +2 -2
- package/src/components/spinner/COMPONENT.md +15 -9
- package/src/components/spinner/examples/examples.module.css +2 -14
- package/src/components/spinner/examples/overview.tsx +1 -1
- package/src/components/stepper/COMPONENT.md +50 -41
- package/src/components/stepper/examples/examples.module.css +1 -6
- package/src/components/stepper/examples/narrow.tsx +1 -1
- package/src/components/stepper/examples/sizes.tsx +6 -8
- package/src/components/stepper/examples/states.tsx +44 -43
- package/src/components/stepper/examples/with-icon.tsx +19 -17
- package/src/components/switch/COMPONENT.md +21 -8
- package/src/components/switch/examples/examples.module.css +2 -2
- package/src/components/switch/examples/states.tsx +3 -3
- package/src/components/tabs/COMPONENT.md +22 -17
- package/src/components/tabs/examples/in-drawer.tsx +1 -1
- package/src/components/tabs/examples/sizes.tsx +6 -11
- package/src/components/tabs/examples/variants.tsx +19 -23
- package/src/components/tag-select/COMPONENT.md +20 -7
- package/src/components/tag-select/examples/creatable.tsx +2 -2
- package/src/components/tag-select/examples/dismiss.tsx +23 -0
- package/src/components/tag-select/examples/examples.module.css +3 -3
- package/src/components/tag-select/examples/in-form.tsx +31 -32
- package/src/components/tag-select/examples/sizes.tsx +2 -2
- package/src/components/tag-select/examples/states.tsx +10 -3
- package/src/components/textarea/COMPONENT.md +11 -7
- package/src/components/textarea/examples/examples.module.css +3 -16
- package/src/components/textarea/examples/in-form.tsx +3 -11
- package/src/components/textarea/examples/sizes.tsx +10 -7
- package/src/components/textarea/examples/states.tsx +30 -13
- package/src/components/textarea/examples/validation.tsx +45 -36
- package/src/components/thumbnail/COMPONENT.md +19 -14
- package/src/components/thumbnail/examples/examples.module.css +2 -2
- package/src/components/thumbnail/examples/fit.tsx +24 -0
- package/src/components/thumbnail/examples/states.tsx +1 -1
- package/src/components/thumbnail/examples/variants.tsx +12 -1
- package/src/components/thumbnail/examples/video.tsx +20 -1
- package/src/components/timeline/COMPONENT.md +52 -36
- package/src/components/timeline/examples/links.tsx +57 -16
- package/src/components/timeline/examples/narrow.tsx +6 -6
- package/src/components/timeline/examples/overview.tsx +6 -6
- package/src/components/timeline/examples/sizes.tsx +28 -23
- package/src/components/timeline/examples/structure.tsx +30 -30
- package/src/components/timeline/examples/variants.tsx +40 -28
- package/src/components/tooltip/COMPONENT.md +11 -7
- package/src/components/tooltip/examples/examples.module.css +1 -5
- package/src/components/tooltip/examples/non-interactive-trigger.tsx +1 -1
- package/src/components/tooltip/examples/sizes.tsx +17 -10
- package/src/components/tooltip/examples/toolbar.tsx +2 -2
- package/src/components/typography/COMPONENT.md +17 -2
- package/src/components/typography/examples/examples.module.css +3 -6
- package/src/components/typography/examples/numeric.tsx +16 -0
- package/src/components/typography/examples/weights.tsx +3 -0
- package/src/components/video-note/COMPONENT.md +13 -9
- package/src/components/video-note/examples/controlled.tsx +19 -2
- package/src/components/video-note/examples/in-message.tsx +5 -2
- package/src/components/visually-hidden/COMPONENT.md +10 -5
- package/src/components/visually-hidden/examples/assertive.tsx +39 -0
- package/src/components/visually-hidden/examples/overview.tsx +17 -7
- package/src/components/voice-player/COMPONENT.md +17 -9
- package/src/components/voice-player/examples/call-recording.tsx +19 -9
- package/src/components/voice-player/examples/controlled.tsx +20 -3
- package/src/layout/app-header/COMPONENT.md +65 -81
- package/src/layout/app-header/examples/breadcrumbs.tsx +10 -9
- package/src/layout/app-header/examples/examples.module.css +4 -23
- package/src/layout/app-header/examples/in-app-shell.tsx +3 -6
- package/src/layout/app-header/examples/narrow.tsx +58 -21
- package/src/layout/app-header/examples/overview.tsx +8 -10
- package/src/layout/app-header/examples/page-title.tsx +3 -10
- package/src/layout/app-shell/COMPONENT.md +41 -10
- package/src/layout/app-shell/examples/examples.module.css +2 -22
- package/src/layout/app-shell/examples/footer.tsx +2 -2
- package/src/layout/app-shell/examples/overview.tsx +18 -35
- package/src/layout/app-shell/examples/screen.module.css +11 -0
- package/src/layout/app-shell/examples/screen.tsx +268 -0
- package/src/layout/app-shell/examples/template.tsx +32 -12
- package/src/layout/bottom-nav/COMPONENT.md +27 -17
- package/src/layout/bottom-nav/examples/examples.module.css +2 -7
- package/src/layout/bottom-nav/examples/floating-action.tsx +2 -2
- package/src/layout/bottom-nav/examples/floating.tsx +2 -2
- package/src/layout/bottom-nav/examples/in-app-shell.tsx +2 -2
- package/src/layout/bottom-nav/examples/router.tsx +6 -5
- package/src/layout/sidebar/COMPONENT.md +55 -42
- package/src/layout/sidebar/examples/account.tsx +3 -5
- package/src/layout/sidebar/examples/brand-header.tsx +1 -3
- package/src/layout/sidebar/examples/collapsible-groups.tsx +13 -7
- package/src/layout/sidebar/examples/controlled-open.tsx +1 -3
- package/src/layout/sidebar/examples/controlled.tsx +1 -3
- package/src/layout/sidebar/examples/custom-part.tsx +51 -0
- package/src/layout/sidebar/examples/dismiss.tsx +47 -0
- package/src/layout/sidebar/examples/examples.module.css +10 -30
- package/src/layout/sidebar/examples/narrow.tsx +55 -0
- package/src/layout/sidebar/examples/nested-items.tsx +1 -3
- package/src/layout/sidebar/examples/overview.tsx +1 -3
- package/src/layout/sidebar/examples/persist.tsx +55 -0
- package/src/layout/sidebar/examples/router.tsx +20 -9
- package/src/layout/sidebar/examples/sizes.tsx +6 -6
- package/src/layout/sidebar/examples/structure.tsx +7 -2
- package/src/styles/controls.css +2 -2
- package/src/styles/fonts.css +22 -0
- package/src/styles/globals.css +89 -12
- package/src/styles/theme-dark.css +13 -14
- package/src/styles/theme-light.css +67 -23
- package/src/styles/tokens.css +14 -4
- package/dist/components/dnd/useFlipList.d.ts +0 -17
- package/dist/components/gantt/useEdgeAutoScroll.d.ts +0 -12
- package/dist/components/modal/ModalDialog.d.ts +0 -46
- package/dist/hooks/useStateSwap.d.ts +0 -8
- package/dist/internal/highlightTsxHtml.d.ts +0 -2
- package/dist/internal/layoutPxFromPrimitives.d.ts +0 -6
- package/dist/internal/mergeRefs.d.ts +0 -6
- package/dist/skill/patterns/app-shell.tsx +0 -303
- package/dist/skill/patterns/chat.module.css +0 -8
- package/dist/skill/patterns/chat.tsx +0 -899
- package/dist/skill/patterns/dashboard.tsx +0 -340
- package/dist/skill/patterns/detail-page.tsx +0 -206
- package/dist/skill/patterns/form-drawer.tsx +0 -240
- package/dist/skill/patterns/kanban-board.module.css +0 -28
- package/dist/skill/patterns/list-page.module.css +0 -19
- package/dist/skill/patterns/media-library.tsx +0 -637
- package/dist/skill/patterns/schedule.module.css +0 -22
- package/dist/skill/patterns/screen-states.tsx +0 -187
- package/dist/skill/reference/components/drawer/examples/examples.module.css +0 -21
- package/dist/skill/reference/components/popover/examples/match-trigger-width.tsx +0 -23
- package/dist/skill/reference/components/scroll-container/examples/chat.tsx +0 -101
- package/dist/skill/reference/components/spinner/examples/loading-region.tsx +0 -22
- package/src/components/drawer/examples/examples.module.css +0 -21
- package/src/components/popover/examples/match-trigger-width.tsx +0 -23
- package/src/components/scroll-container/examples/chat.tsx +0 -101
- package/src/components/spinner/examples/loading-region.tsx +0 -22
- /package/dist/skill/{patterns/dashboard.module.css → reference/components/card/examples/screen.module.css} +0 -0
- /package/dist/skill/{patterns/form-drawer.module.css → reference/components/drawer/examples/screen.module.css} +0 -0
- /package/dist/skill/{patterns/record-editor.module.css → reference/components/field-list/examples/screen.module.css} +0 -0
- /package/dist/skill/{patterns/settings-page.module.css → reference/components/page-content/examples/screen.module.css} +0 -0
- /package/dist/skill/{patterns/app-shell.module.css → reference/layout/app-shell/examples/screen.module.css} +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
/** Deals narrowed by an amount from–to and a period from the calendar; each range is one readable chip — `kind`, `formatValue`, `matchesSmartFilter`. */
|
|
1
|
+
/** Deals narrowed by an amount from–to and a period from the calendar; each range is one readable chip, and the bounds go to the server as from / to parameters — `kind`, `formatValue`, `matchesSmartFilter`, `isSmartFilterRange`. */
|
|
2
2
|
import {
|
|
3
|
+
Card,
|
|
4
|
+
formatDateValue,
|
|
5
|
+
isSmartFilterRange,
|
|
3
6
|
matchesSmartFilter,
|
|
4
7
|
SmartFilter,
|
|
5
8
|
type SmartFilterField,
|
|
@@ -59,6 +62,23 @@ const DEALS = [
|
|
|
59
62
|
|
|
60
63
|
const INITIAL: SmartFilterValue = { amount: { from: 50_000, to: 500_000 } };
|
|
61
64
|
|
|
65
|
+
const asParam = (bound: number | Date) =>
|
|
66
|
+
bound instanceof Date ? formatDateValue(bound) : String(bound);
|
|
67
|
+
|
|
68
|
+
/** The query a server gets: a range becomes `key_from` / `key_to`, a selection its included values. */
|
|
69
|
+
function toQuery(value: SmartFilterValue) {
|
|
70
|
+
const params = new URLSearchParams();
|
|
71
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
72
|
+
if (isSmartFilterRange(entry)) {
|
|
73
|
+
if (entry.from !== null) params.set(`${key}_from`, asParam(entry.from));
|
|
74
|
+
if (entry.to !== null) params.set(`${key}_to`, asParam(entry.to));
|
|
75
|
+
} else if (entry.include.length > 0) {
|
|
76
|
+
params.set(key, entry.include.join(","));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return params.toString();
|
|
80
|
+
}
|
|
81
|
+
|
|
62
82
|
export default function SmartFilterRangesExample() {
|
|
63
83
|
const [value, setValue] = React.useState<SmartFilterValue>(INITIAL);
|
|
64
84
|
const rows = DEALS.filter(
|
|
@@ -74,16 +94,31 @@ export default function SmartFilterRangesExample() {
|
|
|
74
94
|
<SmartFilter.Toolbar />
|
|
75
95
|
<SmartFilter.Chips />
|
|
76
96
|
</SmartFilter.Root>
|
|
77
|
-
|
|
78
|
-
<
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
<Typography as="span" variant="body-m" tone="secondary">
|
|
83
|
-
{formatRubles(deal.amount)}
|
|
97
|
+
<Card.Root variant="list">
|
|
98
|
+
<Card.Header>
|
|
99
|
+
<Card.Title>Сделки</Card.Title>
|
|
100
|
+
<Typography as="span" variant="caption" tone="muted">
|
|
101
|
+
{rows.length} из {DEALS.length}
|
|
84
102
|
</Typography>
|
|
85
|
-
</
|
|
86
|
-
|
|
103
|
+
</Card.Header>
|
|
104
|
+
<Card.List>
|
|
105
|
+
{rows.map((deal) => (
|
|
106
|
+
<Card.ListItem key={deal.id}>
|
|
107
|
+
<span className={styles.request}>
|
|
108
|
+
<Typography as="span" variant="body-m" truncate className={styles.route}>
|
|
109
|
+
{deal.client}
|
|
110
|
+
</Typography>
|
|
111
|
+
<Typography as="span" variant="body-m" tone="secondary">
|
|
112
|
+
{formatRubles(deal.amount)}
|
|
113
|
+
</Typography>
|
|
114
|
+
</span>
|
|
115
|
+
</Card.ListItem>
|
|
116
|
+
))}
|
|
117
|
+
</Card.List>
|
|
118
|
+
</Card.Root>
|
|
119
|
+
<Typography as="span" variant="code" tone="secondary">
|
|
120
|
+
{`GET /deals?${toQuery(value)}`}
|
|
121
|
+
</Typography>
|
|
87
122
|
</div>
|
|
88
123
|
);
|
|
89
124
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/** Every size tier: the filter button, the search, the tags and the panel follow one tier — `size`. */
|
|
2
2
|
import { SmartFilter, type SmartFilterField, Typography } from "prime-ui-kit";
|
|
3
3
|
|
|
4
|
-
import styles from "./examples.module.css";
|
|
5
|
-
|
|
6
4
|
const FIELDS: SmartFilterField[] = [
|
|
7
5
|
{
|
|
8
6
|
key: "method",
|
|
@@ -16,9 +14,9 @@ const SIZES = ["xs", "s", "m", "l", "xl"] as const;
|
|
|
16
14
|
|
|
17
15
|
export default function SmartFilterSizesExample() {
|
|
18
16
|
return (
|
|
19
|
-
<div
|
|
17
|
+
<div>
|
|
20
18
|
{SIZES.map((size) => (
|
|
21
|
-
<div key={size}
|
|
19
|
+
<div key={size}>
|
|
22
20
|
<SmartFilter.Root fields={FIELDS} size={size} defaultValue={ONLY_GET}>
|
|
23
21
|
<SmartFilter.Toolbar />
|
|
24
22
|
<SmartFilter.Chips />
|
|
@@ -57,13 +57,13 @@ compact: the plot alone (no head, no value row); loading — the p
|
|
|
57
57
|
| `layout` | `"default" \| "compact"` | `"default"` | `default` — the headline over an 80 px plot; `compact` — the plot alone at an `xs` control height with the dot at rest, for a DataTable cell; the scrubbed point shows in the tooltip and `aria-valuetext`. |
|
|
58
58
|
| `change` | `"previous" \| "first" \| "none"` | `"previous"` | What the change badge of a shown point compares it with: `previous` — the point before it; `first` — the first point with a value (the change over the period); `none` — no badge. |
|
|
59
59
|
| `summary` | `"latest" \| "sum" \| "average"` | `"latest"` | What the headline shows at rest: `latest` — the latest point (or `highlight`), for a level (MRR, conversion); `sum` — the period total, for a flow (revenue per day); `average` — the period mean. |
|
|
60
|
-
| `highlight` | `number` |
|
|
60
|
+
| `highlight` | `number` | the latest point with a value | Index of the point at rest with `summary="latest"` (the current month): the headline returns to it; `bars` draw the other bars quieter. Not allowed with `sum` / `average`. |
|
|
61
61
|
| `compareTo` | `number` | — | The same summary for the previous period («прошлые 30 дней»): the badge at rest compares the headline with it. Without it a `sum` / `average` headline shows no change at rest. |
|
|
62
62
|
| `min` | `number` | — | The value axis reaches down to at least this value: a floor of zero, or one scale for several sparklines (a table column). Data below widens the scale, never gets cut. |
|
|
63
63
|
| `max` | `number` | — | The value axis reaches up to at least this value; data above widens the scale. |
|
|
64
64
|
| `reference` | `number` | — | A dashed horizontal line at this value — a plan, a target, an average; the scale holds it and the chart is described by `labels.reference`. |
|
|
65
65
|
| `loading` | `boolean` | `false` | The series is on its way: Skeletons of the date, the value and the plot that cross-fade into the data; the title stays, the root is `aria-busy` and the chart is not focusable yet. |
|
|
66
|
-
| `formatValue` | `(value: number) => string` |
|
|
66
|
+
| `formatValue` | `(value: number) => string` | Russian digit groups | Display of a value in the headline, the tooltip, the reference description and the spoken point («312 400 ₽»). |
|
|
67
67
|
| `labels` | `Partial<SparklineLabels>` | — | Built-in strings, see Labels. |
|
|
68
68
|
| `…rest` | `Omit<HTMLAttributes<HTMLDivElement>, "children">` | — | `className`, `data-*` and the other div attributes on the root. |
|
|
69
69
|
|
|
@@ -139,6 +139,8 @@ Put it in a `Card` for a dashboard tile.
|
|
|
139
139
|
## Accessibility
|
|
140
140
|
|
|
141
141
|
### Keyboard
|
|
142
|
+
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
143
|
+
|
|
142
144
|
| Key | Action |
|
|
143
145
|
|---|---|
|
|
144
146
|
| `←` · `→` · `↓` · `↑` | Previous or next point: `←` / `↓` back, `→` / `↑` forward, as on a slider. |
|
|
@@ -147,6 +149,8 @@ Put it in a `Card` for a dashboard tile.
|
|
|
147
149
|
| `Escape` | Hides the tooltip and returns the headline to rest. |
|
|
148
150
|
|
|
149
151
|
### ARIA
|
|
152
|
+
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
153
|
+
|
|
150
154
|
- The plot is `role="slider"` named by `label`; `aria-valuetext` speaks the point («8 окт: 312 400 ₽», `labels.point`); a point with no data speaks `labels.empty` («8 окт: Нет данных»). At rest with `sum` / `average` it speaks the period and the summary («9 сен – 8 окт: 8 914 000 ₽»). With `reference` the slider is described by `labels.reference` («Ориентир: 3%», `aria-describedby`). The headline follows the point under the pointer or the arrows, in text.
|
|
151
155
|
- The headline with the value and change reads as plain text.
|
|
152
156
|
- The change carries a sign and an arrow, never color alone; a negative bar goes down, not only red.
|
|
@@ -173,7 +177,7 @@ Put it in a `Card` for a dashboard tile.
|
|
|
173
177
|
| [compact.tsx](examples/compact.tsx) | Revenue by month per client in a list: the plot alone at a row's height with the dot on the current month, scrubbing shows the month in a tooltip, the label is the chart's accessible name — `layout`, `label`. |
|
|
174
178
|
| [signed-bars.tsx](examples/signed-bars.tsx) | Monthly profit with a sign: losses go below the zero line, the current month rests highlighted and any bar shows its value under the pointer or the arrows — `variant`, `highlight`. |
|
|
175
179
|
| [curve.tsx](examples/curve.tsx) | The same month of active users as a smooth curve, straight segments and steps — `curve`. |
|
|
176
|
-
| [reference.tsx](examples/reference.tsx) | Checkout conversion against its plan: a dashed reference line, the scale from zero and the change over the whole period — `reference`, `min`, `change`. |
|
|
180
|
+
| [reference.tsx](examples/reference.tsx) | Checkout conversion against its plan: a dashed reference line, the scale from zero to 5% and the change over the whole period — `reference`, `min`, `max`, `change`. |
|
|
177
181
|
| [gaps.tsx](examples/gaps.tsx) | Daily API requests with days the collector was down: the line breaks over a missing day and the headline says there is no data — `data`, `labels`. |
|
|
178
182
|
| [period.tsx](examples/period.tsx) | Another period swaps the series: the line cross-fades in and the headline digits roll to the new total — `data`, `summary`. |
|
|
179
183
|
|
|
@@ -190,5 +194,5 @@ Put it in a `Card` for a dashboard tile.
|
|
|
190
194
|
- A full Sparkline squeezed into a table cell, or its headline hidden with CSS → `layout="compact"`.
|
|
191
195
|
|
|
192
196
|
## Related
|
|
193
|
-
- **Built from:** [Badge](../badge/COMPONENT.md) (change), [Skeleton](../skeleton/COMPONENT.md) (loading), `Icon` (trend arrow), `ChartTooltip` (the chart tooltip shared with ChartFrame)
|
|
197
|
+
- **Built from:** [Badge](../badge/COMPONENT.md) (change), [Skeleton](../skeleton/COMPONENT.md) (loading), `Icon` (trend arrow), `ChartTooltip` (the chart tooltip shared with ChartFrame), [ScrollContainer](../scroll-container/COMPONENT.md) (the tooltip's floating panel)
|
|
194
198
|
- **See also:** [ChartFrame](../chart-frame/COMPONENT.md), [DataTable](../data-table/COMPONENT.md) (a compact Sparkline per row), [Card](../card/COMPONENT.md), [ProgressBar](../progress-bar/COMPONENT.md), [SegmentedControl](../segmented-control/COMPONENT.md)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Checkout conversion against its plan: a dashed reference line, the scale from zero and the change over the whole period — `reference`, `min`, `change`. */
|
|
1
|
+
/** Checkout conversion against its plan: a dashed reference line, the scale from zero to 5% and the change over the whole period — `reference`, `min`, `max`, `change`. */
|
|
2
2
|
import { Card, Sparkline, type SparklinePoint } from "prime-ui-kit";
|
|
3
3
|
|
|
4
4
|
import styles from "./examples.module.css";
|
|
@@ -27,6 +27,7 @@ export default function SparklineReferenceExample() {
|
|
|
27
27
|
label="Конверсия оформления заказа"
|
|
28
28
|
reference={PLAN}
|
|
29
29
|
min={0}
|
|
30
|
+
max={5}
|
|
30
31
|
change="first"
|
|
31
32
|
formatValue={formatPercent}
|
|
32
33
|
labels={{ reference: "План: {value}" }}
|
|
@@ -14,8 +14,8 @@ const PROFIT: SparklinePoint[] = [
|
|
|
14
14
|
{ label: "авг", value: 280_000 },
|
|
15
15
|
{ label: "сен", value: 470_000 },
|
|
16
16
|
{ label: "окт", value: 390_000 },
|
|
17
|
-
{ label: "ноя", value:
|
|
18
|
-
{ label: "дек", value:
|
|
17
|
+
{ label: "ноя", value: null },
|
|
18
|
+
{ label: "дек", value: null },
|
|
19
19
|
];
|
|
20
20
|
|
|
21
21
|
/** October is the current month: November and December are still empty. */
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
> An indeterminate loading indicator: the kit ring with the share unknown — a quarter arc turning on a faint track while a request runs.
|
|
7
7
|
|
|
8
8
|
## When to use
|
|
9
|
-
-
|
|
9
|
+
- Something is busy and has no content shape to hold (a running job on a status line, a request with no layout yet).
|
|
10
10
|
- A status line next to text («Загружаем счета…»).
|
|
11
11
|
- Inside a kit component that shows loading (it is the kit's one spinner).
|
|
12
12
|
|
|
@@ -51,7 +51,7 @@ Spinner <span role="status">; size and tone
|
|
|
51
51
|
|---|---|---|---|
|
|
52
52
|
| `default` | the color of the surrounding text | inside text, buttons, rows | yes |
|
|
53
53
|
| `secondary` | `text-secondary` | a status line in secondary text | |
|
|
54
|
-
| `muted` | `text-muted` | a
|
|
54
|
+
| `muted` | `text-muted` | a quiet status line under content | |
|
|
55
55
|
| `accent` | `accent-text` | the one loading spot that should draw the eye | |
|
|
56
56
|
| `success` · `warning` · `danger` | the status `*-text` color | loading inside a status block of that tone | |
|
|
57
57
|
|
|
@@ -61,29 +61,34 @@ Spinner <span role="status">; size and tone
|
|
|
61
61
|
| `xs` | 14px | dense rows, inside `xs` controls | |
|
|
62
62
|
| `s` | 16px | next to `body-s` text | |
|
|
63
63
|
| `m` | 20px | standalone next to `body-m` text | |
|
|
64
|
-
| `l` | 24px |
|
|
65
|
-
| `xl` | 32px | a
|
|
64
|
+
| `l` | 24px | next to `body-l` or a title | |
|
|
65
|
+
| `xl` | 32px | a running job with nothing to show yet, next to its explanation | |
|
|
66
66
|
| — (omitted) | the host's icon size, else the control tier (16 on `m`) | inside a kit control or next to its text | yes |
|
|
67
67
|
|
|
68
68
|
## States
|
|
69
69
|
| State | Driven by | DOM |
|
|
70
70
|
|---|---|---|
|
|
71
|
+
| appearing | mounted | fades in over `fast` (`internal/enterMotion`), so a spinner that comes and goes never blinks |
|
|
71
72
|
| spinning | mounted | the ring turns at a constant speed (`--prime-motion-loop × 3` per turn, linear) |
|
|
72
73
|
| reduced motion | `prefers-reduced-motion` | the ring keeps turning, twice as slow (`--prime-motion-loop × 6` per turn) and linear: a loading cue is information, so the token is not zeroed |
|
|
73
74
|
| size / tone | `size`, `tone` | `data-size` (the explicit size, else the host control tier, else `m`), `data-tone` (only for a non-default tone) |
|
|
74
75
|
|
|
75
76
|
## Layout & spacing
|
|
76
77
|
- The ring fills the icon box: a stroke of two border widths (the line weight, an icon's stroke) — a round-capped quarter arc in the tone color over an 18% track of it; `inline-flex`, `vertical-align: middle`. The svg turns as a whole (a compositor transform).
|
|
77
|
-
- Next to text: one row, `align-items: center`,
|
|
78
|
-
-
|
|
78
|
+
- Next to text: one row, `align-items: center`, 8px apart (the `m` tier gap).
|
|
79
|
+
- A region whose content has a shape (a card, a list) shows a `Skeleton` of that shape, not a spinner.
|
|
79
80
|
- Render the real layout around it; never a full-screen overlay of spinners.
|
|
80
81
|
|
|
81
82
|
## Accessibility
|
|
82
83
|
|
|
83
84
|
### Keyboard
|
|
85
|
+
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
86
|
+
|
|
84
87
|
No keyboard interaction.
|
|
85
88
|
|
|
86
89
|
### ARIA
|
|
90
|
+
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
91
|
+
|
|
87
92
|
- `role="status"` with a visually hidden `labels.loading`, so screen readers learn that something is loading.
|
|
88
93
|
- When the host already announces it is busy (`aria-busy` on a button or a region), pass `aria-hidden="true"`.
|
|
89
94
|
- Under `prefers-reduced-motion` the ring keeps turning, slower and linear, so the loading cue stays readable.
|
|
@@ -98,17 +103,18 @@ No keyboard interaction.
|
|
|
98
103
|
## Examples
|
|
99
104
|
| Example | Shows |
|
|
100
105
|
|---|---|
|
|
101
|
-
| [overview.tsx](examples/overview.tsx) | A loading status next to a short explanation; the spinner takes the text color
|
|
106
|
+
| [overview.tsx](examples/overview.tsx) | A loading status next to a short explanation; the spinner takes the text color and names the wait — `labels`. |
|
|
102
107
|
| [variants.tsx](examples/variants.tsx) | Every ring color; `default` follows the surrounding text — `tone`. |
|
|
103
108
|
| [sizes.tsx](examples/sizes.tsx) | Every size on the icon scale, 14 to 32 px — `size`. |
|
|
104
|
-
| [loading-region.tsx](examples/loading-region.tsx) | A card that loads its content: the region says it is busy and the spinner stays hidden from screen readers — `aria-hidden`. |
|
|
105
109
|
|
|
106
110
|
## Mistakes
|
|
107
111
|
- A hand-made spinner (`@keyframes spin` on a bordered circle) → use `Spinner`.
|
|
108
112
|
- A `Spinner` next to a `loading` Button → the button already shows one.
|
|
109
113
|
- Both `aria-busy` on the region and a spoken spinner inside → add `aria-hidden="true"` to the spinner.
|
|
110
114
|
- A spinner for a known progress → ProgressBar / ProgressCircle.
|
|
115
|
+
- A spinner in a card or a list while its content loads → a `Skeleton` in the content's shape.
|
|
116
|
+
- Fading a conditional spinner in by hand → the spinner fades itself in.
|
|
111
117
|
|
|
112
118
|
## Related
|
|
113
|
-
- **Built from:** `internal/ring` (the ring drawing, shared with ProgressCircle and the circle Button)
|
|
119
|
+
- **Built from:** `internal/ring` (the ring drawing, shared with ProgressCircle and the circle Button), `internal/enterMotion` (the fade-in), [VisuallyHidden](../visually-hidden/COMPONENT.md)
|
|
114
120
|
- **See also:** [Skeleton](../skeleton/COMPONENT.md), [ProgressBar](../progress-bar/COMPONENT.md), [ProgressCircle](../progress-circle/COMPONENT.md), [Button](../button/COMPONENT.md), [EmptyPage](../empty-page/COMPONENT.md)
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
/* Layout of the Spinner scenarios: semantic tokens only. */
|
|
2
2
|
|
|
3
|
-
/* overview.tsx: spinner and text in one line,
|
|
3
|
+
/* overview.tsx: spinner and text in one line, 8px apart (the m tier gap). */
|
|
4
4
|
.status {
|
|
5
5
|
display: inline-flex;
|
|
6
6
|
align-items: center;
|
|
7
|
-
gap: var(--prime-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* loading-region.tsx: the Card's size and its centered body. */
|
|
11
|
-
.region {
|
|
12
|
-
width: min(100%, var(--prime-modal-width-s));
|
|
13
|
-
min-height: calc(var(--prime-space-24) * 2);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.loading {
|
|
17
|
-
align-items: center;
|
|
18
|
-
justify-content: center;
|
|
19
|
-
gap: var(--prime-space-3);
|
|
7
|
+
gap: var(--prime-space-2);
|
|
20
8
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** A loading status next to a short explanation; the spinner takes the text color
|
|
1
|
+
/** A loading status next to a short explanation; the spinner takes the text color and names the wait — `labels`. */
|
|
2
2
|
import { Spinner, Typography } from "prime-ui-kit";
|
|
3
3
|
|
|
4
4
|
import styles from "./examples.module.css";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Category:** navigation
|
|
4
4
|
**Kind:** navigation
|
|
5
5
|
|
|
6
|
-
> Steps of a multi-step process with pending,
|
|
6
|
+
> Steps of a multi-step process with pending, current, completed and danger statuses.
|
|
7
7
|
|
|
8
8
|
## When to use
|
|
9
9
|
- Checkout, onboarding and setup wizards where the user moves through ordered steps.
|
|
@@ -23,13 +23,12 @@ import { Stepper } from "prime-ui-kit";
|
|
|
23
23
|
|
|
24
24
|
## Anatomy
|
|
25
25
|
```
|
|
26
|
-
Stepper.Root <ol>; current step; chevrons between horizontal items
|
|
26
|
+
Stepper.Root <ol>; current step; chevrons between horizontal items, at the end of vertical rows with `arrows`
|
|
27
27
|
└─ Stepper.Item <li> with a <button>; a direct child of Root (index = order)
|
|
28
|
-
├─ Stepper.Indicator circle: number, check when completed, or custom content
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
└─ Stepper.Arrow trailing chevron for vertical rows that open a page or panel
|
|
28
|
+
├─ Stepper.Indicator circle: number, check when completed, danger mark, or custom content
|
|
29
|
+
└─ Stepper.Content text column
|
|
30
|
+
├─ Stepper.Title step name
|
|
31
|
+
└─ Stepper.Description muted support text
|
|
33
32
|
```
|
|
34
33
|
|
|
35
34
|
## API
|
|
@@ -37,34 +36,36 @@ Stepper.Root <ol>; current step; chevrons between horizontal ite
|
|
|
37
36
|
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
38
37
|
|
|
39
38
|
### Stepper.Root
|
|
40
|
-
`ref` → `HTMLOListElement`. `<ol>` of items; owns the current step, numbers the items and
|
|
39
|
+
`ref` → `HTMLOListElement`. `<ol>` of items; owns the current step, numbers the items and draws the chevrons between horizontal ones and, with `arrows`, at the end of vertical rows.
|
|
41
40
|
|
|
42
41
|
| Prop | Type | Default | Description |
|
|
43
42
|
|---|---|---|---|
|
|
44
43
|
| `value` | `number` | — | Current step, 0-based (controlled). |
|
|
45
44
|
| `defaultValue` | `number` | `0` | Initial step (uncontrolled). |
|
|
46
45
|
| `onValueChange` | `(index: number) => void` | — | Called with the index of the clicked item. |
|
|
47
|
-
| `orientation` | `"horizontal" \| "vertical"` | `"vertical"` | Column of rows, or
|
|
48
|
-
| `
|
|
46
|
+
| `orientation` | `"horizontal" \| "vertical"` | `"vertical"` | Column of rows, or one row with chevrons (steps shrink and wrap their titles) that stacks below a 480px container. |
|
|
47
|
+
| `arrows` | `boolean` | `false` | Every vertical row ends with a chevron: each step opens a page or panel. Horizontal steps already have their chevrons. |
|
|
48
|
+
| `size` | `"xs" \| "s" \| "m" \| "l" \| "xl"` | host tier, else `"m"` | Indicator 20 · 24 · 28 · 32 · 36, title in the control text of the tier. Without it the tier of its host, else `m`. |
|
|
49
|
+
| `labels` | `Partial<StepperLabels>` | — | Built-in strings, see Labels. |
|
|
49
50
|
| `children` | `ReactNode` | — | `Stepper.Item`s as direct children (an array from `map` is fine). |
|
|
50
51
|
| `…rest` | `Omit<OlHTMLAttributes<HTMLOListElement>, "defaultValue" \| "onChange">` | — | `aria-label`, `className` and the other list attributes. |
|
|
51
52
|
|
|
52
53
|
### Stepper.Item
|
|
53
|
-
`ref` → `HTMLButtonElement`. One step: an `<li>` with a `<button>` (and, between horizontal steps, the decorative chevron in front of it); `aria-current="step"`
|
|
54
|
+
`ref` → `HTMLButtonElement`. One step: an `<li>` with a `<button>` (and, between horizontal steps, the decorative chevron in front of it); `aria-current="step"` on the current one; a completed or danger step adds its status to its name.
|
|
54
55
|
|
|
55
56
|
| Prop | Type | Default | Description |
|
|
56
57
|
|---|---|---|---|
|
|
57
|
-
| `status` | `"pending" \| "
|
|
58
|
+
| `status` | `"pending" \| "current" \| "completed" \| "danger"` | — | Overrides the status derived from `value` (before → `completed`, equal → `current`, after → `pending`). |
|
|
58
59
|
| `disabled` | `boolean` | — | The item cannot be selected. |
|
|
59
|
-
| `children` | `ReactNode` | — | `Stepper.Indicator
|
|
60
|
+
| `children` | `ReactNode` | — | `Stepper.Indicator` and `Stepper.Content`. |
|
|
60
61
|
| `…rest` | `Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type">` | — | `onClick` (runs first; `preventDefault()` stops the selection), `className` and the other button attributes. |
|
|
61
62
|
|
|
62
63
|
### Stepper.Indicator
|
|
63
|
-
`ref` → `HTMLSpanElement`. The circle (`aria-hidden`): the item number,
|
|
64
|
+
`ref` → `HTMLSpanElement`. The circle (`aria-hidden`): the item number, a check when completed, the danger mark on a danger step; a status change cross-fades the glyph.
|
|
64
65
|
|
|
65
66
|
| Prop | Type | Default | Description |
|
|
66
67
|
|---|---|---|---|
|
|
67
|
-
| `children` | `ReactNode` | — | Replaces the default content, e.g. `<Icon name="status.
|
|
68
|
+
| `children` | `ReactNode` | — | Replaces the default content, e.g. `<Icon name="status.info" />`. |
|
|
68
69
|
| `…rest` | `HTMLAttributes<HTMLSpanElement>` | — | `className` and the other span attributes. |
|
|
69
70
|
|
|
70
71
|
### Stepper.Content
|
|
@@ -81,20 +82,18 @@ Stepper.Root <ol>; current step; chevrons between horizontal ite
|
|
|
81
82
|
|---|---|---|---|
|
|
82
83
|
| `…rest` | `HTMLAttributes<HTMLSpanElement>` | — | `className` and the other span attributes. |
|
|
83
84
|
|
|
84
|
-
### Stepper.Arrow
|
|
85
|
-
`ref` → `SVGSVGElement`. Trailing chevron (`aria-hidden`) for vertical items that open a page or panel.
|
|
86
|
-
|
|
87
|
-
| Prop | Type | Default | Description |
|
|
88
|
-
|---|---|---|---|
|
|
89
|
-
| `…rest` | `Omit<SVGAttributes<SVGSVGElement>, "children">` | — | `className` and the other svg attributes. |
|
|
90
|
-
|
|
91
85
|
## Variants
|
|
92
86
|
|
|
93
87
|
### orientation
|
|
94
88
|
| Value | Looks like | Use when | Default |
|
|
95
89
|
|---|---|---|---|
|
|
96
|
-
| `vertical` | full-width rows (indicator · text ·
|
|
97
|
-
| `horizontal` |
|
|
90
|
+
| `vertical` | full-width rows (indicator · text · the chevron with `arrows`); hover `fill-subtle`, the current row on `fill-subtle`, danger row on `danger-soft` | side columns of wizards, step lists with descriptions | yes |
|
|
91
|
+
| `horizontal` | one row of items with placeholder-colored chevrons between them; a cramped step wraps its title, the row never wraps; hover → primary text; below a 30rem container the items stack one per row and chevrons hide | checkout headers with short step names | |
|
|
92
|
+
|
|
93
|
+
### Flags
|
|
94
|
+
| Value | Looks like | Use when | Default |
|
|
95
|
+
|---|---|---|---|
|
|
96
|
+
| `arrows` | every vertical row ends with a placeholder-colored chevron (`aria-hidden`); horizontal steps keep their separators only | each vertical step opens a page or panel | off |
|
|
98
97
|
|
|
99
98
|
### size
|
|
100
99
|
| Value | Looks like | Use when | Default |
|
|
@@ -111,66 +110,76 @@ Title uses the control text of the tier, Description the hint text of the tier.
|
|
|
111
110
|
| Value | Looks like | Use when | Default |
|
|
112
111
|
|---|---|---|---|
|
|
113
112
|
| `pending` | `fill-muted` circle with secondary number, secondary text | steps after the current one | derived |
|
|
114
|
-
| `
|
|
115
|
-
| `completed` | `accent-soft` circle with an accent check (`Icon action.check`), primary text | finished steps | derived |
|
|
116
|
-
| `danger` | horizontal: `danger-soft` circle; vertical: solid danger circle
|
|
113
|
+
| `current` | accent circle with a `space-1` `accent-soft` halo, primary text | the current step | derived |
|
|
114
|
+
| `completed` | `accent-soft` circle with an accent check (`Icon action.check`), primary text; `labels.completed` added to the name | finished steps | derived |
|
|
115
|
+
| `danger` | the danger mark (`Icon status.danger`) — horizontal: on a `danger-soft` circle; vertical: on a solid danger circle in a `danger-soft` row; danger text; `labels.danger` added to the name | a step that needs attention | |
|
|
117
116
|
|
|
118
|
-
Derive statuses from `value`; set `status="danger"` only on the failing step
|
|
117
|
+
Derive statuses from `value`; set `status="danger"` only on the failing step; disable steps the user cannot reach yet. Never mark several steps `current`.
|
|
119
118
|
|
|
120
119
|
## States
|
|
121
120
|
| State | Driven by | DOM |
|
|
122
121
|
|---|---|---|
|
|
123
|
-
| status | `value` or `status` | `data-status` on the button and the indicator; `aria-current="step"` on the
|
|
122
|
+
| status | `value` or `status` | `data-status` on the button and the indicator; `aria-current="step"` on the current item; a visually hidden status after the name of a completed or danger step |
|
|
124
123
|
| disabled | `disabled` | native `disabled`, `data-disabled="true"`, `text-disabled`, muted indicator without halo |
|
|
125
|
-
| hover /
|
|
124
|
+
| hover / press | pointer | vertical `fill-subtle` / `fill-subtle-active`; horizontal text → primary; press scale |
|
|
126
125
|
| focus-visible | keyboard | outer focus ring |
|
|
127
126
|
|
|
128
127
|
Root attributes: `data-orientation`, `data-size`. Uncontrolled (`defaultValue`) clicks still select items.
|
|
129
128
|
|
|
130
|
-
Motion: a status change
|
|
129
|
+
Motion: a status change fades the indicator's fill, color and halo over `base` and cross-fades its glyph (number ⇄ check ⇄ danger mark); the row fill and text color change over `fast`; press scales the step to `--prime-motion-press-scale` (the kit press). Under reduced motion the press does not scale and the glyph only fades.
|
|
131
130
|
|
|
132
131
|
## Layout & spacing
|
|
133
132
|
- The root is a size container (`inline-size: 100%`): give it a definite width, a shrink-wrapped parent collapses it.
|
|
134
|
-
- Wizard: stepper column and form side by side with
|
|
135
|
-
- Vertical rows are separated by `var(--prime-space-1)` (`var(--prime-space-2)` at `size="xl"`); the same value is the row gap of a
|
|
133
|
+
- Wizard: stepper column and form side by side with the page gap between groups, stacking on narrow widths.
|
|
134
|
+
- Vertical rows are separated by `var(--prime-space-1)` (`var(--prime-space-2)` at `size="xl"`); the same value is the row gap of a horizontal stepper stacked in a narrow container.
|
|
135
|
+
- On a coarse pointer a step is at least the touch target high.
|
|
136
136
|
- Horizontal steps and their chevrons sit 8 · 12 · 16 · 20 · 24 apart (xs → xl); below a 30rem (480px) container each step takes its own full-width row with the vertical row padding.
|
|
137
137
|
- Indicator → text gap 8 (xs, s) · 12 (m, l) · 16 (xl); titles are medium weight and wrap long words.
|
|
138
138
|
|
|
139
139
|
## Accessibility
|
|
140
140
|
|
|
141
141
|
### Keyboard
|
|
142
|
+
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
143
|
+
|
|
142
144
|
| Key | Action |
|
|
143
145
|
|---|---|
|
|
144
146
|
| `Tab` | Moves focus between items; a disabled one is skipped. |
|
|
145
147
|
| `Enter` · `Space` | Selects the item. |
|
|
146
148
|
|
|
147
149
|
### ARIA
|
|
148
|
-
|
|
149
|
-
|
|
150
|
+
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
151
|
+
|
|
152
|
+
- Semantic `<ol>`; each item is a `<button>` inside an `<li>`; the current one has `aria-current="step"`.
|
|
153
|
+
- Separators, indicator and arrows are `aria-hidden`; the name comes from Title and Description, and a completed or danger step adds `labels.completed` or `labels.danger` to it.
|
|
150
154
|
- Give the `<ol>` an `aria-label` when there are several steppers on a page.
|
|
151
155
|
|
|
152
156
|
### Labels
|
|
153
157
|
<!-- Generated from api.ts by `bun run docs:build`. Edit api.ts, not this section. -->
|
|
154
158
|
|
|
155
|
-
|
|
159
|
+
| Key | Default | Used for |
|
|
160
|
+
|---|---|---|
|
|
161
|
+
| `completed` | `"пройден"` | Spoken after the name of a completed step; the check is only seen. |
|
|
162
|
+
| `danger` | `"требует внимания"` | Spoken after the name of a step that needs attention; its colour and glyph are only seen. |
|
|
156
163
|
|
|
157
164
|
## Examples
|
|
158
165
|
| Example | Shows |
|
|
159
166
|
|---|---|
|
|
160
167
|
| [overview.tsx](examples/overview.tsx) | Steps of a process: done ones get a check, the current one is highlighted — `defaultValue`. |
|
|
161
168
|
| [sizes.tsx](examples/sizes.tsx) | Every size tier: indicator 20 to 36 px, title in the control text of the tier — `size`. |
|
|
162
|
-
| [states.tsx](examples/states.tsx) | Statuses that come from the server, a failed step
|
|
163
|
-
| [with-icon.tsx](examples/with-icon.tsx) | Vertical rows that open a page or panel end with a chevron — `
|
|
169
|
+
| [states.tsx](examples/states.tsx) | Statuses that come from the server, a failed step marked by a glyph and a locked step — `status`, `disabled`. |
|
|
170
|
+
| [with-icon.tsx](examples/with-icon.tsx) | Vertical rows that open a page or panel end with a chevron — `arrows`. |
|
|
164
171
|
| [orientation.tsx](examples/orientation.tsx) | A row of steps with chevrons between them above the content, and a column for a side panel — `orientation`. |
|
|
165
172
|
| [controlled.tsx](examples/controlled.tsx) | The parent owns the current step: Back and Next move it, far steps stay locked until reached — `value`, `onValueChange`. |
|
|
166
|
-
| [narrow.tsx](examples/narrow.tsx) | A horizontal stepper in a phone-width container stacks one step per row and hides the chevrons
|
|
173
|
+
| [narrow.tsx](examples/narrow.tsx) | A horizontal stepper in a phone-width container stacks one step per row and hides the chevrons — `orientation`. |
|
|
167
174
|
|
|
168
175
|
## Mistakes
|
|
169
176
|
- Wrapping `Stepper.Item` in another component or element → it must be a direct child of Root (it throws otherwise).
|
|
170
177
|
- 1-based `value` → steps are 0-based.
|
|
171
178
|
- Adding separators by hand in horizontal mode → every step already draws its chevron.
|
|
172
|
-
- `status="error"` → the status is `danger`;
|
|
179
|
+
- `status="error"` → the status is `danger`; its indicator shows the danger mark and its name says it, so it never reads by color only.
|
|
180
|
+
- A chevron added by hand at the end of a vertical row → set `arrows` on the root.
|
|
181
|
+
- `status="active"` → the step a person is on is `current`.
|
|
173
182
|
|
|
174
183
|
## Related
|
|
175
|
-
- **Built from:** Icon (`action.check`, `nav.chevronRight`)
|
|
184
|
+
- **Built from:** Icon (`action.check`, `status.danger`, `nav.chevronRight`), `internal/glyphSwap` (the indicator glyph), [VisuallyHidden](../visually-hidden/COMPONENT.md)
|
|
176
185
|
- **See also:** [Tabs](../tabs/COMPONENT.md), [Pagination](../pagination/COMPONENT.md), [Timeline](../timeline/COMPONENT.md), [ProgressBar](../progress-bar/COMPONENT.md)
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
/* Layout of the Stepper scenarios: semantic tokens only. */
|
|
2
2
|
|
|
3
|
-
/* The stepper measures its own width (container query), so its wrapper needs one. */
|
|
4
|
-
.wide {
|
|
5
|
-
width: 100%;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
3
|
/* A side column for a vertical stepper (288px), with anything under it a group gap away. */
|
|
9
4
|
.column {
|
|
10
5
|
display: grid;
|
|
@@ -14,7 +9,7 @@
|
|
|
14
9
|
|
|
15
10
|
/* A phone-width container (320px). */
|
|
16
11
|
.narrow {
|
|
17
|
-
width: min(100%,
|
|
12
|
+
width: min(100%, var(--prime-layout-min-width));
|
|
18
13
|
}
|
|
19
14
|
|
|
20
15
|
/* Back / Next under the stepper. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** A horizontal stepper in a phone-width container stacks one step per row and hides the chevrons
|
|
1
|
+
/** A horizontal stepper in a phone-width container stacks one step per row and hides the chevrons — `orientation`. */
|
|
2
2
|
import { Stepper } from "prime-ui-kit";
|
|
3
3
|
|
|
4
4
|
import styles from "./examples.module.css";
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
/** Every size tier: indicator 20 to 36 px, title in the control text of the tier — `size`. */
|
|
2
2
|
import { Stepper, Typography } from "prime-ui-kit";
|
|
3
3
|
|
|
4
|
-
import styles from "./examples.module.css";
|
|
5
|
-
|
|
6
4
|
const SIZES = ["xs", "s", "m", "l", "xl"] as const;
|
|
7
5
|
const STEPS = ["Аккаунт", "Команда", "Готово"];
|
|
8
6
|
|
|
9
7
|
export default function StepperSizesExample() {
|
|
10
8
|
return (
|
|
11
|
-
|
|
9
|
+
<div>
|
|
12
10
|
{SIZES.map((size) => (
|
|
13
|
-
<div key={size}
|
|
14
|
-
<Typography as="span" variant="caption" tone="muted">
|
|
15
|
-
{size}
|
|
16
|
-
</Typography>
|
|
11
|
+
<div key={size}>
|
|
17
12
|
<Stepper.Root orientation="horizontal" size={size} defaultValue={1}>
|
|
18
13
|
{STEPS.map((title) => (
|
|
19
14
|
<Stepper.Item key={title}>
|
|
@@ -24,8 +19,11 @@ export default function StepperSizesExample() {
|
|
|
24
19
|
</Stepper.Item>
|
|
25
20
|
))}
|
|
26
21
|
</Stepper.Root>
|
|
22
|
+
<Typography as="span" variant="caption" tone="muted">
|
|
23
|
+
{size}
|
|
24
|
+
</Typography>
|
|
27
25
|
</div>
|
|
28
26
|
))}
|
|
29
|
-
|
|
27
|
+
</div>
|
|
30
28
|
);
|
|
31
29
|
}
|