prime-ui-kit 0.3.1 → 0.3.2
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 +6 -2
- package/dist/components/accordion/examples/01-faq-marketing.d.ts +5 -0
- package/dist/components/accordion/examples/01-faq-marketing.d.ts.map +1 -0
- package/dist/components/accordion/examples/02-settings-panels.d.ts +6 -0
- package/dist/components/accordion/examples/02-settings-panels.d.ts.map +1 -0
- package/dist/components/accordion/examples/03-checkout-order-summary.d.ts +5 -0
- package/dist/components/accordion/examples/03-checkout-order-summary.d.ts.map +1 -0
- package/dist/components/accordion/examples/04-api-docs-sections.d.ts +6 -0
- package/dist/components/accordion/examples/04-api-docs-sections.d.ts.map +1 -0
- package/dist/components/accordion/examples/05-knowledge-base-categories.d.ts +6 -0
- package/dist/components/accordion/examples/05-knowledge-base-categories.d.ts.map +1 -0
- package/dist/components/avatar/examples/app-header-nav.d.ts +5 -0
- package/dist/components/avatar/examples/app-header-nav.d.ts.map +1 -0
- package/dist/components/avatar/examples/comment-thread.d.ts +5 -0
- package/dist/components/avatar/examples/comment-thread.d.ts.map +1 -0
- package/dist/components/avatar/examples/fallback-variants.d.ts +5 -0
- package/dist/components/avatar/examples/fallback-variants.d.ts.map +1 -0
- package/dist/components/avatar/examples/group-overflow.d.ts +5 -0
- package/dist/components/avatar/examples/group-overflow.d.ts.map +1 -0
- package/dist/components/avatar/examples/team-list.d.ts +5 -0
- package/dist/components/avatar/examples/team-list.d.ts.map +1 -0
- package/dist/components/badge/examples/admin-tags.d.ts +3 -0
- package/dist/components/badge/examples/admin-tags.d.ts.map +1 -0
- package/dist/components/badge/examples/canonical.d.ts +3 -0
- package/dist/components/badge/examples/canonical.d.ts.map +1 -0
- package/dist/components/badge/examples/ecommerce-inventory.d.ts +3 -0
- package/dist/components/badge/examples/ecommerce-inventory.d.ts.map +1 -0
- package/dist/components/badge/examples/inbox-labels.d.ts +3 -0
- package/dist/components/badge/examples/inbox-labels.d.ts.map +1 -0
- package/dist/components/badge/examples/status-presence.d.ts +6 -0
- package/dist/components/badge/examples/status-presence.d.ts.map +1 -0
- package/dist/components/banner/examples/billing-alert.d.ts +3 -0
- package/dist/components/banner/examples/billing-alert.d.ts.map +1 -0
- package/dist/components/banner/examples/cookie-consent-row.d.ts +3 -0
- package/dist/components/banner/examples/cookie-consent-row.d.ts.map +1 -0
- package/dist/components/banner/examples/feature-promo.d.ts +3 -0
- package/dist/components/banner/examples/feature-promo.d.ts.map +1 -0
- package/dist/components/banner/examples/maintenance.d.ts +3 -0
- package/dist/components/banner/examples/maintenance.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/canonical.d.ts +3 -0
- package/dist/components/breadcrumb/examples/canonical.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/deep-documentation.d.ts +3 -0
- package/dist/components/breadcrumb/examples/deep-documentation.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/ecommerce-product.d.ts +3 -0
- package/dist/components/breadcrumb/examples/ecommerce-product.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/long-path-ellipsis.d.ts +6 -0
- package/dist/components/breadcrumb/examples/long-path-ellipsis.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/saas-settings.d.ts +3 -0
- package/dist/components/breadcrumb/examples/saas-settings.d.ts.map +1 -0
- package/dist/components/button/examples/canonical-composition.d.ts +5 -0
- package/dist/components/button/examples/canonical-composition.d.ts.map +1 -0
- package/dist/components/button/examples/destructive-confirm.d.ts +5 -0
- package/dist/components/button/examples/destructive-confirm.d.ts.map +1 -0
- package/dist/components/button/examples/form-submit-row.d.ts +5 -0
- package/dist/components/button/examples/form-submit-row.d.ts.map +1 -0
- package/dist/components/button/examples/marketing-cta.d.ts +5 -0
- package/dist/components/button/examples/marketing-cta.d.ts.map +1 -0
- package/dist/components/button/examples/toolbar.d.ts +5 -0
- package/dist/components/button/examples/toolbar.d.ts.map +1 -0
- package/dist/components/button-group/examples/editor-toolbar.d.ts +6 -0
- package/dist/components/button-group/examples/editor-toolbar.d.ts.map +1 -0
- package/dist/components/button-group/examples/form-footer.d.ts +5 -0
- package/dist/components/button-group/examples/form-footer.d.ts.map +1 -0
- package/dist/components/button-group/examples/view-switcher.d.ts +5 -0
- package/dist/components/button-group/examples/view-switcher.d.ts.map +1 -0
- package/dist/components/button-group/examples/wizard-actions.d.ts +5 -0
- package/dist/components/button-group/examples/wizard-actions.d.ts.map +1 -0
- package/dist/components/card/examples/cta-cover.d.ts +5 -0
- package/dist/components/card/examples/cta-cover.d.ts.map +1 -0
- package/dist/components/card/examples/list-card.d.ts +3 -0
- package/dist/components/card/examples/list-card.d.ts.map +1 -0
- package/dist/components/card/examples/media-mini.d.ts +3 -0
- package/dist/components/card/examples/media-mini.d.ts.map +1 -0
- package/dist/components/card/examples/metric-dashboard.d.ts +3 -0
- package/dist/components/card/examples/metric-dashboard.d.ts.map +1 -0
- package/dist/components/card/examples/split-layout.d.ts +3 -0
- package/dist/components/card/examples/split-layout.d.ts.map +1 -0
- package/dist/components/checkbox/examples/bulk-select-rows.d.ts +5 -0
- package/dist/components/checkbox/examples/bulk-select-rows.d.ts.map +1 -0
- package/dist/components/checkbox/examples/feature-flags-list.d.ts +5 -0
- package/dist/components/checkbox/examples/feature-flags-list.d.ts.map +1 -0
- package/dist/components/checkbox/examples/settings-panel.d.ts +5 -0
- package/dist/components/checkbox/examples/settings-panel.d.ts.map +1 -0
- package/dist/components/checkbox/examples/terms-acceptance.d.ts +5 -0
- package/dist/components/checkbox/examples/terms-acceptance.d.ts.map +1 -0
- package/dist/components/code-block/examples/api-response-preview.d.ts +3 -0
- package/dist/components/code-block/examples/api-response-preview.d.ts.map +1 -0
- package/dist/components/code-block/examples/config-snippet.d.ts +3 -0
- package/dist/components/code-block/examples/config-snippet.d.ts.map +1 -0
- package/dist/components/code-block/examples/error-stack.d.ts +3 -0
- package/dist/components/code-block/examples/error-stack.d.ts.map +1 -0
- package/dist/components/code-block/examples/minimal.d.ts +3 -0
- package/dist/components/code-block/examples/minimal.d.ts.map +1 -0
- package/dist/components/code-block/examples/tutorial-step.d.ts +3 -0
- package/dist/components/code-block/examples/tutorial-step.d.ts.map +1 -0
- package/dist/components/color-picker/examples/brand-kit.d.ts +3 -0
- package/dist/components/color-picker/examples/brand-kit.d.ts.map +1 -0
- package/dist/components/color-picker/examples/controlled-form-field.d.ts +3 -0
- package/dist/components/color-picker/examples/controlled-form-field.d.ts.map +1 -0
- package/dist/components/color-picker/examples/minimal-popover.d.ts +3 -0
- package/dist/components/color-picker/examples/minimal-popover.d.ts.map +1 -0
- package/dist/components/color-picker/examples/product-variant-swatch.d.ts +3 -0
- package/dist/components/color-picker/examples/product-variant-swatch.d.ts.map +1 -0
- package/dist/components/color-picker/examples/theme-accent.d.ts +3 -0
- package/dist/components/color-picker/examples/theme-accent.d.ts.map +1 -0
- package/dist/components/command-menu/examples/app-palette.d.ts +5 -0
- package/dist/components/command-menu/examples/app-palette.d.ts.map +1 -0
- package/dist/components/command-menu/examples/disabled-items.d.ts +6 -0
- package/dist/components/command-menu/examples/disabled-items.d.ts.map +1 -0
- package/dist/components/command-menu/examples/file-search.d.ts +5 -0
- package/dist/components/command-menu/examples/file-search.d.ts.map +1 -0
- package/dist/components/command-menu/examples/quick-actions.d.ts +5 -0
- package/dist/components/command-menu/examples/quick-actions.d.ts.map +1 -0
- package/dist/components/data-table/examples/canonical-orders.d.ts +6 -0
- package/dist/components/data-table/examples/canonical-orders.d.ts.map +1 -0
- package/dist/components/data-table/examples/controlled-sort-and-page.d.ts +5 -0
- package/dist/components/data-table/examples/controlled-sort-and-page.d.ts.map +1 -0
- package/dist/components/data-table/examples/infinite-scroll-load-more.d.ts +6 -0
- package/dist/components/data-table/examples/infinite-scroll-load-more.d.ts.map +1 -0
- package/dist/components/data-table/examples/row-selection.d.ts +6 -0
- package/dist/components/data-table/examples/row-selection.d.ts.map +1 -0
- package/dist/components/data-table/examples/sticky-header-first-column.d.ts +6 -0
- package/dist/components/data-table/examples/sticky-header-first-column.d.ts.map +1 -0
- package/dist/components/datepicker/examples/birthdate.d.ts +5 -0
- package/dist/components/datepicker/examples/birthdate.d.ts.map +1 -0
- package/dist/components/datepicker/examples/booking.d.ts +5 -0
- package/dist/components/datepicker/examples/booking.d.ts.map +1 -0
- package/dist/components/datepicker/examples/full-width-form.d.ts +5 -0
- package/dist/components/datepicker/examples/full-width-form.d.ts.map +1 -0
- package/dist/components/datepicker/examples/range-report.d.ts +5 -0
- package/dist/components/datepicker/examples/range-report.d.ts.map +1 -0
- package/dist/components/digit-input/examples/error-state.d.ts +3 -0
- package/dist/components/digit-input/examples/error-state.d.ts.map +1 -0
- package/dist/components/digit-input/examples/otp-login.d.ts +3 -0
- package/dist/components/digit-input/examples/otp-login.d.ts.map +1 -0
- package/dist/components/digit-input/examples/pin.d.ts +3 -0
- package/dist/components/digit-input/examples/pin.d.ts.map +1 -0
- package/dist/components/digit-input/examples/resend-and-clear.d.ts +3 -0
- package/dist/components/digit-input/examples/resend-and-clear.d.ts.map +1 -0
- package/dist/components/digit-input/examples/verification-step.d.ts +3 -0
- package/dist/components/digit-input/examples/verification-step.d.ts.map +1 -0
- package/dist/components/divider/examples/card-splits.d.ts +3 -0
- package/dist/components/divider/examples/card-splits.d.ts.map +1 -0
- package/dist/components/divider/examples/inset-stack.d.ts +6 -0
- package/dist/components/divider/examples/inset-stack.d.ts.map +1 -0
- package/dist/components/divider/examples/line-spacing-column.d.ts +6 -0
- package/dist/components/divider/examples/line-spacing-column.d.ts.map +1 -0
- package/dist/components/divider/examples/list-separators.d.ts +3 -0
- package/dist/components/divider/examples/list-separators.d.ts.map +1 -0
- package/dist/components/divider/examples/section-breaks.d.ts +3 -0
- package/dist/components/divider/examples/section-breaks.d.ts.map +1 -0
- package/dist/components/drawer/examples/cart-preview.d.ts +5 -0
- package/dist/components/drawer/examples/cart-preview.d.ts.map +1 -0
- package/dist/components/drawer/examples/explicit-panel.d.ts +5 -0
- package/dist/components/drawer/examples/explicit-panel.d.ts.map +1 -0
- package/dist/components/drawer/examples/filters-panel.d.ts +5 -0
- package/dist/components/drawer/examples/filters-panel.d.ts.map +1 -0
- package/dist/components/drawer/examples/mobile-nav-sheet.d.ts +5 -0
- package/dist/components/drawer/examples/mobile-nav-sheet.d.ts.map +1 -0
- package/dist/components/drawer/examples/settings-side.d.ts +5 -0
- package/dist/components/drawer/examples/settings-side.d.ts.map +1 -0
- package/dist/components/dropdown/examples/account-menu.d.ts +3 -0
- package/dist/components/dropdown/examples/account-menu.d.ts.map +1 -0
- package/dist/components/dropdown/examples/actions-menu.d.ts +3 -0
- package/dist/components/dropdown/examples/actions-menu.d.ts.map +1 -0
- package/dist/components/dropdown/examples/placement-demo.d.ts +3 -0
- package/dist/components/dropdown/examples/placement-demo.d.ts.map +1 -0
- package/dist/components/dropdown/examples/select-like-list.d.ts +7 -0
- package/dist/components/dropdown/examples/select-like-list.d.ts.map +1 -0
- package/dist/components/file-upload/examples/avatar-upload.d.ts +6 -0
- package/dist/components/file-upload/examples/avatar-upload.d.ts.map +1 -0
- package/dist/components/file-upload/examples/controlled-list.d.ts +5 -0
- package/dist/components/file-upload/examples/controlled-list.d.ts.map +1 -0
- package/dist/components/file-upload/examples/document-attach.d.ts +5 -0
- package/dist/components/file-upload/examples/document-attach.d.ts.map +1 -0
- package/dist/components/file-upload/examples/drag-area.d.ts +5 -0
- package/dist/components/file-upload/examples/drag-area.d.ts.map +1 -0
- package/dist/components/hint/examples/error-hint.d.ts +3 -0
- package/dist/components/hint/examples/error-hint.d.ts.map +1 -0
- package/dist/components/hint/examples/field-help.d.ts +3 -0
- package/dist/components/hint/examples/field-help.d.ts.map +1 -0
- package/dist/components/hint/examples/inline-tip-form.d.ts +3 -0
- package/dist/components/hint/examples/inline-tip-form.d.ts.map +1 -0
- package/dist/components/hint/examples/success-confirmation.d.ts +6 -0
- package/dist/components/hint/examples/success-confirmation.d.ts.map +1 -0
- package/dist/components/hint/examples/with-icon.d.ts +3 -0
- package/dist/components/hint/examples/with-icon.d.ts.map +1 -0
- package/dist/components/input/examples/checkout-full-width.d.ts +5 -0
- package/dist/components/input/examples/checkout-full-width.d.ts.map +1 -0
- package/dist/components/input/examples/login-email.d.ts +5 -0
- package/dist/components/input/examples/login-email.d.ts.map +1 -0
- package/dist/components/input/examples/password-with-hint.d.ts +5 -0
- package/dist/components/input/examples/password-with-hint.d.ts.map +1 -0
- package/dist/components/input/examples/search.d.ts +5 -0
- package/dist/components/input/examples/search.d.ts.map +1 -0
- package/dist/components/kbd/examples/combination-keys.d.ts +3 -0
- package/dist/components/kbd/examples/combination-keys.d.ts.map +1 -0
- package/dist/components/kbd/examples/docs-legend.d.ts +3 -0
- package/dist/components/kbd/examples/docs-legend.d.ts.map +1 -0
- package/dist/components/kbd/examples/inline-doc-hint.d.ts +3 -0
- package/dist/components/kbd/examples/inline-doc-hint.d.ts.map +1 -0
- package/dist/components/kbd/examples/shortcut-row.d.ts +3 -0
- package/dist/components/kbd/examples/shortcut-row.d.ts.map +1 -0
- package/dist/components/kbd/examples/toolbar-hints.d.ts +3 -0
- package/dist/components/kbd/examples/toolbar-hints.d.ts.map +1 -0
- package/dist/components/label/examples/accessibility-pattern.d.ts +6 -0
- package/dist/components/label/examples/accessibility-pattern.d.ts.map +1 -0
- package/dist/components/label/examples/grouped-labels.d.ts +6 -0
- package/dist/components/label/examples/grouped-labels.d.ts.map +1 -0
- package/dist/components/label/examples/optional-field.d.ts +3 -0
- package/dist/components/label/examples/optional-field.d.ts.map +1 -0
- package/dist/components/label/examples/required-field.d.ts +3 -0
- package/dist/components/label/examples/required-field.d.ts.map +1 -0
- package/dist/components/label/examples/with-icon.d.ts +3 -0
- package/dist/components/label/examples/with-icon.d.ts.map +1 -0
- package/dist/components/link-button/examples/disabled.d.ts +6 -0
- package/dist/components/link-button/examples/disabled.d.ts.map +1 -0
- package/dist/components/link-button/examples/external.d.ts +3 -0
- package/dist/components/link-button/examples/external.d.ts.map +1 -0
- package/dist/components/link-button/examples/footer-legal.d.ts +3 -0
- package/dist/components/link-button/examples/footer-legal.d.ts.map +1 -0
- package/dist/components/link-button/examples/inline-text-link.d.ts +3 -0
- package/dist/components/link-button/examples/inline-text-link.d.ts.map +1 -0
- package/dist/components/link-button/examples/navigation-cluster.d.ts +3 -0
- package/dist/components/link-button/examples/navigation-cluster.d.ts.map +1 -0
- package/dist/components/modal/examples/canonical-maximal.d.ts +6 -0
- package/dist/components/modal/examples/canonical-maximal.d.ts.map +1 -0
- package/dist/components/modal/examples/scenario-confirm-delete.d.ts +3 -0
- package/dist/components/modal/examples/scenario-confirm-delete.d.ts.map +1 -0
- package/dist/components/modal/examples/scenario-edit-entity.d.ts +3 -0
- package/dist/components/modal/examples/scenario-edit-entity.d.ts.map +1 -0
- package/dist/components/modal/examples/scenario-legal-consent.d.ts +3 -0
- package/dist/components/modal/examples/scenario-legal-consent.d.ts.map +1 -0
- package/dist/components/modal/examples/scenario-multi-field-form.d.ts +3 -0
- package/dist/components/modal/examples/scenario-multi-field-form.d.ts.map +1 -0
- package/dist/components/notification/examples/action-toast.d.ts +2 -0
- package/dist/components/notification/examples/action-toast.d.ts.map +1 -0
- package/dist/components/notification/examples/error-success.d.ts +2 -0
- package/dist/components/notification/examples/error-success.d.ts.map +1 -0
- package/dist/components/notification/examples/notification-store.d.ts +2 -0
- package/dist/components/notification/examples/notification-store.d.ts.map +1 -0
- package/dist/components/notification/examples/positions.d.ts +2 -0
- package/dist/components/notification/examples/positions.d.ts.map +1 -0
- package/dist/components/notification/examples/toast-queue.d.ts +2 -0
- package/dist/components/notification/examples/toast-queue.d.ts.map +1 -0
- package/dist/components/pagination/examples/canonical-composition.d.ts +5 -0
- package/dist/components/pagination/examples/canonical-composition.d.ts.map +1 -0
- package/dist/components/pagination/examples/compact.d.ts +3 -0
- package/dist/components/pagination/examples/compact.d.ts.map +1 -0
- package/dist/components/pagination/examples/controlled-page.d.ts +3 -0
- package/dist/components/pagination/examples/controlled-page.d.ts.map +1 -0
- package/dist/components/pagination/examples/full-width-list.d.ts +3 -0
- package/dist/components/pagination/examples/full-width-list.d.ts.map +1 -0
- package/dist/components/pagination/examples/table-footer.d.ts +3 -0
- package/dist/components/pagination/examples/table-footer.d.ts.map +1 -0
- package/dist/components/popover/examples/canonical-panel.d.ts +5 -0
- package/dist/components/popover/examples/canonical-panel.d.ts.map +1 -0
- package/dist/components/popover/examples/date-trigger.d.ts +5 -0
- package/dist/components/popover/examples/date-trigger.d.ts.map +1 -0
- package/dist/components/popover/examples/form-in-popover.d.ts +5 -0
- package/dist/components/popover/examples/form-in-popover.d.ts.map +1 -0
- package/dist/components/popover/examples/placement.d.ts +5 -0
- package/dist/components/popover/examples/placement.d.ts.map +1 -0
- package/dist/components/popover/examples/rich-content.d.ts +5 -0
- package/dist/components/popover/examples/rich-content.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/indeterminate-busy-state.d.ts +6 -0
- package/dist/components/progress-bar/examples/indeterminate-busy-state.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/labeled.d.ts +3 -0
- package/dist/components/progress-bar/examples/labeled.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/step-progress.d.ts +3 -0
- package/dist/components/progress-bar/examples/step-progress.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/upload-progress.d.ts +3 -0
- package/dist/components/progress-bar/examples/upload-progress.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/wizard-composition.d.ts +3 -0
- package/dist/components/progress-bar/examples/wizard-composition.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts +6 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/composition.d.ts +3 -0
- package/dist/components/progress-circle/examples/composition.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/controlled.d.ts +3 -0
- package/dist/components/progress-circle/examples/controlled.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts +3 -0
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/max-scale.d.ts +3 -0
- package/dist/components/progress-circle/examples/max-scale.d.ts.map +1 -0
- package/dist/components/radio/examples/notification-channel.d.ts +3 -0
- package/dist/components/radio/examples/notification-channel.d.ts.map +1 -0
- package/dist/components/radio/examples/plan-picker.d.ts +3 -0
- package/dist/components/radio/examples/plan-picker.d.ts.map +1 -0
- package/dist/components/radio/examples/settings-group.d.ts +3 -0
- package/dist/components/radio/examples/settings-group.d.ts.map +1 -0
- package/dist/components/radio/examples/shipping-method.d.ts +3 -0
- package/dist/components/radio/examples/shipping-method.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/canonical-composition.d.ts +5 -0
- package/dist/components/segmented-control/examples/canonical-composition.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/catalog-filters.d.ts +5 -0
- package/dist/components/segmented-control/examples/catalog-filters.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/pricing-toggle.d.ts +5 -0
- package/dist/components/segmented-control/examples/pricing-toggle.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/view-mode.d.ts +5 -0
- package/dist/components/segmented-control/examples/view-mode.d.ts.map +1 -0
- package/dist/components/segmented-progress-bar/examples/distribution-breakdown.d.ts +3 -0
- package/dist/components/segmented-progress-bar/examples/distribution-breakdown.d.ts.map +1 -0
- package/dist/components/segmented-progress-bar/examples/multi-phase-rollout.d.ts +3 -0
- package/dist/components/segmented-progress-bar/examples/multi-phase-rollout.d.ts.map +1 -0
- package/dist/components/segmented-progress-bar/examples/segment-gaps.d.ts +3 -0
- package/dist/components/segmented-progress-bar/examples/segment-gaps.d.ts.map +1 -0
- package/dist/components/segmented-progress-bar/examples/size-ladder.d.ts +3 -0
- package/dist/components/segmented-progress-bar/examples/size-ladder.d.ts.map +1 -0
- package/dist/components/segmented-progress-bar/examples/storage-mix.d.ts +3 -0
- package/dist/components/segmented-progress-bar/examples/storage-mix.d.ts.map +1 -0
- package/dist/components/select/examples/01-country.d.ts +6 -0
- package/dist/components/select/examples/01-country.d.ts.map +1 -0
- package/dist/components/select/examples/02-controlled.d.ts +5 -0
- package/dist/components/select/examples/02-controlled.d.ts.map +1 -0
- package/dist/components/select/examples/03-groups.d.ts +5 -0
- package/dist/components/select/examples/03-groups.d.ts.map +1 -0
- package/dist/components/select/examples/04-full-width-form.d.ts +6 -0
- package/dist/components/select/examples/04-full-width-form.d.ts.map +1 -0
- package/dist/components/slider/examples/01-volume.d.ts +5 -0
- package/dist/components/slider/examples/01-volume.d.ts.map +1 -0
- package/dist/components/slider/examples/02-price-range.d.ts +5 -0
- package/dist/components/slider/examples/02-price-range.d.ts.map +1 -0
- package/dist/components/slider/examples/03-controlled.d.ts +5 -0
- package/dist/components/slider/examples/03-controlled.d.ts.map +1 -0
- package/dist/components/slider/examples/04-disabled.d.ts +5 -0
- package/dist/components/slider/examples/04-disabled.d.ts.map +1 -0
- package/dist/components/stepper/examples/01-checkout-horizontal.d.ts +5 -0
- package/dist/components/stepper/examples/01-checkout-horizontal.d.ts.map +1 -0
- package/dist/components/stepper/examples/02-onboarding-vertical.d.ts +5 -0
- package/dist/components/stepper/examples/02-onboarding-vertical.d.ts.map +1 -0
- package/dist/components/stepper/examples/03-vertical-primitive-rail.d.ts +5 -0
- package/dist/components/stepper/examples/03-vertical-primitive-rail.d.ts.map +1 -0
- package/dist/components/stepper/examples/04-checkout-step-error.d.ts +6 -0
- package/dist/components/stepper/examples/04-checkout-step-error.d.ts.map +1 -0
- package/dist/components/stepper/examples/05-horizontal-primitive.d.ts +5 -0
- package/dist/components/stepper/examples/05-horizontal-primitive.d.ts.map +1 -0
- package/dist/components/switch/examples/canonical-maximal.d.ts +5 -0
- package/dist/components/switch/examples/canonical-maximal.d.ts.map +1 -0
- package/dist/components/switch/examples/scenario-billing-annual.d.ts +5 -0
- package/dist/components/switch/examples/scenario-billing-annual.d.ts.map +1 -0
- package/dist/components/switch/examples/scenario-feature-flag.d.ts +5 -0
- package/dist/components/switch/examples/scenario-feature-flag.d.ts.map +1 -0
- package/dist/components/switch/examples/scenario-form-consent.d.ts +5 -0
- package/dist/components/switch/examples/scenario-form-consent.d.ts.map +1 -0
- package/dist/components/switch/examples/scenario-settings-toggle.d.ts +5 -0
- package/dist/components/switch/examples/scenario-settings-toggle.d.ts.map +1 -0
- package/dist/components/tabs/examples/01-settings-vertical-rail.d.ts +6 -0
- package/dist/components/tabs/examples/01-settings-vertical-rail.d.ts.map +1 -0
- package/dist/components/tabs/examples/02-dashboard-subviews.d.ts +6 -0
- package/dist/components/tabs/examples/02-dashboard-subviews.d.ts.map +1 -0
- package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts +6 -0
- package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts.map +1 -0
- package/dist/components/tabs/examples/04-long-labels-narrow.d.ts +6 -0
- package/dist/components/tabs/examples/04-long-labels-narrow.d.ts.map +1 -0
- package/dist/components/tabs/examples/05-controlled-active-tab.d.ts +6 -0
- package/dist/components/tabs/examples/05-controlled-active-tab.d.ts.map +1 -0
- package/dist/components/tag/examples/01-filter-chips.d.ts +5 -0
- package/dist/components/tag/examples/01-filter-chips.d.ts.map +1 -0
- package/dist/components/tag/examples/02-removable-selected-values.d.ts +6 -0
- package/dist/components/tag/examples/02-removable-selected-values.d.ts.map +1 -0
- package/dist/components/tag/examples/03-status-metadata.d.ts +5 -0
- package/dist/components/tag/examples/03-status-metadata.d.ts.map +1 -0
- package/dist/components/tag/examples/04-tag-sizes.d.ts +3 -0
- package/dist/components/tag/examples/04-tag-sizes.d.ts.map +1 -0
- package/dist/components/textarea/examples/01-support-ticket.d.ts +5 -0
- package/dist/components/textarea/examples/01-support-ticket.d.ts.map +1 -0
- package/dist/components/textarea/examples/02-comment.d.ts +5 -0
- package/dist/components/textarea/examples/02-comment.d.ts.map +1 -0
- package/dist/components/textarea/examples/03-controlled.d.ts +5 -0
- package/dist/components/textarea/examples/03-controlled.d.ts.map +1 -0
- package/dist/components/textarea/examples/04-full-width.d.ts +5 -0
- package/dist/components/textarea/examples/04-full-width.d.ts.map +1 -0
- package/dist/components/tooltip/examples/canonical-icon-hint.d.ts +5 -0
- package/dist/components/tooltip/examples/canonical-icon-hint.d.ts.map +1 -0
- package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts +5 -0
- package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts.map +1 -0
- package/dist/components/tooltip/examples/scenario-delay-provider.d.ts +5 -0
- package/dist/components/tooltip/examples/scenario-delay-provider.d.ts.map +1 -0
- package/dist/components/tooltip/examples/scenario-long-content.d.ts +5 -0
- package/dist/components/tooltip/examples/scenario-long-content.d.ts.map +1 -0
- package/dist/components/tooltip/examples/scenario-side-bottom.d.ts +5 -0
- package/dist/components/tooltip/examples/scenario-side-bottom.d.ts.map +1 -0
- package/dist/components/typography/examples/01-article.d.ts +5 -0
- package/dist/components/typography/examples/01-article.d.ts.map +1 -0
- package/dist/components/typography/examples/02-form-labels-contrast.d.ts +6 -0
- package/dist/components/typography/examples/02-form-labels-contrast.d.ts.map +1 -0
- package/dist/components/typography/examples/03-marketing-hero.d.ts +3 -0
- package/dist/components/typography/examples/03-marketing-hero.d.ts.map +1 -0
- package/dist/components/typography/examples/04-reading-scale.d.ts +3 -0
- package/dist/components/typography/examples/04-reading-scale.d.ts.map +1 -0
- package/dist/components/typography/examples/05-inline-emphasis.d.ts +3 -0
- package/dist/components/typography/examples/05-inline-emphasis.d.ts.map +1 -0
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts +5 -0
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts.map +1 -0
- package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts +6 -0
- package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts.map +1 -0
- package/dist/layout/sidebar/examples/03-controlled-state.d.ts +5 -0
- package/dist/layout/sidebar/examples/03-controlled-state.d.ts.map +1 -0
- package/dist/layout/sidebar/examples/04-router-navigation.d.ts +6 -0
- package/dist/layout/sidebar/examples/04-router-navigation.d.ts.map +1 -0
- package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts +7 -0
- package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts.map +1 -0
- package/package.json +4 -1
- package/src/components/accordion/COMPONENT.md +60 -7
- package/src/components/accordion/examples/01-faq-marketing.tsx +62 -0
- package/src/components/accordion/examples/02-settings-panels.tsx +67 -0
- package/src/components/accordion/examples/03-checkout-order-summary.tsx +87 -0
- package/src/components/accordion/examples/04-api-docs-sections.tsx +86 -0
- package/src/components/accordion/examples/05-knowledge-base-categories.tsx +65 -0
- package/src/components/accordion/examples/examples.module.css +30 -0
- package/src/components/avatar/COMPONENT.md +59 -7
- package/src/components/avatar/examples/app-header-nav.tsx +41 -0
- package/src/components/avatar/examples/comment-thread.tsx +57 -0
- package/src/components/avatar/examples/examples.module.css +72 -0
- package/src/components/avatar/examples/fallback-variants.tsx +33 -0
- package/src/components/avatar/examples/group-overflow.tsx +32 -0
- package/src/components/avatar/examples/team-list.tsx +45 -0
- package/src/components/badge/COMPONENT.md +35 -12
- package/src/components/badge/examples/admin-tags.tsx +35 -0
- package/src/components/badge/examples/canonical.tsx +6 -0
- package/src/components/badge/examples/ecommerce-inventory.tsx +35 -0
- package/src/components/badge/examples/inbox-labels.tsx +36 -0
- package/src/components/badge/examples/status-presence.tsx +32 -0
- package/src/components/banner/COMPONENT.md +56 -29
- package/src/components/banner/examples/billing-alert.tsx +35 -0
- package/src/components/banner/examples/cookie-consent-row.tsx +36 -0
- package/src/components/banner/examples/feature-promo.tsx +36 -0
- package/src/components/banner/examples/maintenance.tsx +23 -0
- package/src/components/breadcrumb/COMPONENT.md +71 -38
- package/src/components/breadcrumb/examples/canonical.tsx +12 -0
- package/src/components/breadcrumb/examples/deep-documentation.tsx +16 -0
- package/src/components/breadcrumb/examples/ecommerce-product.tsx +18 -0
- package/src/components/breadcrumb/examples/long-path-ellipsis.tsx +21 -0
- package/src/components/breadcrumb/examples/saas-settings.tsx +16 -0
- package/src/components/button/COMPONENT.md +33 -12
- package/src/components/button/examples/canonical-composition.tsx +46 -0
- package/src/components/button/examples/destructive-confirm.tsx +36 -0
- package/src/components/button/examples/form-submit-row.tsx +33 -0
- package/src/components/button/examples/marketing-cta.tsx +26 -0
- package/src/components/button/examples/toolbar.tsx +38 -0
- package/src/components/button-group/COMPONENT.md +56 -8
- package/src/components/button-group/examples/editor-toolbar.tsx +46 -0
- package/src/components/button-group/examples/form-footer.tsx +19 -0
- package/src/components/button-group/examples/view-switcher.tsx +25 -0
- package/src/components/button-group/examples/wizard-actions.tsx +30 -0
- package/src/components/card/COMPONENT.md +61 -243
- package/src/components/card/examples/cover-banner.module.css +8 -0
- package/src/components/card/examples/cta-cover.tsx +44 -0
- package/src/components/card/examples/layout.module.css +7 -0
- package/src/components/card/examples/list-card.tsx +20 -0
- package/src/components/card/examples/media-mini.tsx +55 -0
- package/src/components/card/examples/metric-dashboard.tsx +60 -0
- package/src/components/card/examples/sparkline.module.css +10 -0
- package/src/components/card/examples/split-layout.tsx +29 -0
- package/src/components/checkbox/COMPONENT.md +41 -10
- package/src/components/checkbox/examples/bulk-select-rows.tsx +54 -0
- package/src/components/checkbox/examples/feature-flags-list.tsx +43 -0
- package/src/components/checkbox/examples/settings-panel.tsx +50 -0
- package/src/components/checkbox/examples/terms-acceptance.tsx +42 -0
- package/src/components/code-block/COMPONENT.md +60 -30
- package/src/components/code-block/examples/api-response-preview.tsx +21 -0
- package/src/components/code-block/examples/config-snippet.tsx +17 -0
- package/src/components/code-block/examples/error-stack.tsx +19 -0
- package/src/components/code-block/examples/minimal.tsx +6 -0
- package/src/components/code-block/examples/tutorial-step.tsx +28 -0
- package/src/components/color-picker/COMPONENT.md +74 -52
- package/src/components/color-picker/examples/brand-kit.tsx +48 -0
- package/src/components/color-picker/examples/controlled-form-field.tsx +40 -0
- package/src/components/color-picker/examples/minimal-popover.tsx +26 -0
- package/src/components/color-picker/examples/product-variant-swatch.tsx +42 -0
- package/src/components/color-picker/examples/theme-accent.tsx +46 -0
- package/src/components/command-menu/COMPONENT.md +33 -5
- package/src/components/command-menu/examples/app-palette.tsx +129 -0
- package/src/components/command-menu/examples/disabled-items.tsx +73 -0
- package/src/components/command-menu/examples/file-search.tsx +98 -0
- package/src/components/command-menu/examples/quick-actions.tsx +74 -0
- package/src/components/data-table/COMPONENT.md +1 -0
- package/src/components/data-table/examples/canonical-orders.tsx +107 -0
- package/src/components/data-table/examples/controlled-sort-and-page.tsx +66 -0
- package/src/components/data-table/examples/infinite-scroll-load-more.tsx +63 -0
- package/src/components/data-table/examples/row-selection.tsx +90 -0
- package/src/components/data-table/examples/sticky-header-first-column.tsx +55 -0
- package/src/components/datepicker/COMPONENT.md +32 -0
- package/src/components/datepicker/examples/birthdate.tsx +43 -0
- package/src/components/datepicker/examples/booking.tsx +71 -0
- package/src/components/datepicker/examples/full-width-form.tsx +59 -0
- package/src/components/datepicker/examples/range-report.tsx +54 -0
- package/src/components/digit-input/COMPONENT.md +36 -4
- package/src/components/digit-input/examples/error-state.tsx +14 -0
- package/src/components/digit-input/examples/otp-login.tsx +17 -0
- package/src/components/digit-input/examples/pin.tsx +11 -0
- package/src/components/digit-input/examples/resend-and-clear.tsx +23 -0
- package/src/components/digit-input/examples/verification-step.tsx +21 -0
- package/src/components/divider/COMPONENT.md +74 -46
- package/src/components/divider/examples/card-splits.tsx +27 -0
- package/src/components/divider/examples/divider-examples.module.css +137 -0
- package/src/components/divider/examples/inset-stack.tsx +33 -0
- package/src/components/divider/examples/line-spacing-column.tsx +27 -0
- package/src/components/divider/examples/list-separators.tsx +20 -0
- package/src/components/divider/examples/section-breaks.tsx +27 -0
- package/src/components/drawer/examples/cart-preview.tsx +55 -0
- package/src/components/drawer/examples/examples-scenarios.module.css +79 -0
- package/src/components/drawer/examples/explicit-panel.tsx +40 -0
- package/src/components/drawer/examples/filters-panel.tsx +53 -0
- package/src/components/drawer/examples/mobile-nav-sheet.tsx +43 -0
- package/src/components/drawer/examples/settings-side.tsx +54 -0
- package/src/components/dropdown/COMPONENT.md +77 -38
- package/src/components/dropdown/examples/account-menu.tsx +52 -0
- package/src/components/dropdown/examples/actions-menu.tsx +37 -0
- package/src/components/dropdown/examples/placement-demo.tsx +59 -0
- package/src/components/dropdown/examples/select-like-list.tsx +31 -0
- package/src/components/file-upload/COMPONENT.md +32 -3
- package/src/components/file-upload/examples/avatar-upload.tsx +54 -0
- package/src/components/file-upload/examples/controlled-list.tsx +103 -0
- package/src/components/file-upload/examples/document-attach.tsx +70 -0
- package/src/components/file-upload/examples/drag-area.tsx +49 -0
- package/src/components/hint/COMPONENT.md +54 -22
- package/src/components/hint/examples/error-hint.tsx +22 -0
- package/src/components/hint/examples/field-help.tsx +27 -0
- package/src/components/hint/examples/inline-tip-form.tsx +44 -0
- package/src/components/hint/examples/success-confirmation.tsx +30 -0
- package/src/components/hint/examples/with-icon.tsx +13 -0
- package/src/components/input/COMPONENT.md +48 -28
- package/src/components/input/examples/checkout-full-width.module.css +8 -0
- package/src/components/input/examples/checkout-full-width.tsx +39 -0
- package/src/components/input/examples/login-email.tsx +33 -0
- package/src/components/input/examples/password-with-hint.tsx +28 -0
- package/src/components/input/examples/search.tsx +30 -0
- package/src/components/kbd/COMPONENT.md +61 -33
- package/src/components/kbd/examples/combination-keys.tsx +22 -0
- package/src/components/kbd/examples/docs-legend.tsx +44 -0
- package/src/components/kbd/examples/inline-doc-hint.tsx +18 -0
- package/src/components/kbd/examples/shortcut-row.tsx +21 -0
- package/src/components/kbd/examples/toolbar-hints.tsx +31 -0
- package/src/components/label/COMPONENT.md +40 -9
- package/src/components/label/examples/accessibility-pattern.tsx +28 -0
- package/src/components/label/examples/grouped-labels.tsx +30 -0
- package/src/components/label/examples/optional-field.tsx +14 -0
- package/src/components/label/examples/required-field.tsx +20 -0
- package/src/components/label/examples/with-icon.tsx +16 -0
- package/src/components/link-button/COMPONENT.md +43 -24
- package/src/components/link-button/examples/disabled.tsx +18 -0
- package/src/components/link-button/examples/external.tsx +18 -0
- package/src/components/link-button/examples/footer-legal.tsx +22 -0
- package/src/components/link-button/examples/inline-text-link.tsx +14 -0
- package/src/components/link-button/examples/navigation-cluster.tsx +24 -0
- package/src/components/modal/COMPONENT.md +72 -1
- package/src/components/modal/examples/canonical-maximal.tsx +43 -0
- package/src/components/modal/examples/examples.module.css +13 -0
- package/src/components/modal/examples/scenario-confirm-delete.tsx +38 -0
- package/src/components/modal/examples/scenario-edit-entity.tsx +50 -0
- package/src/components/modal/examples/scenario-legal-consent.tsx +36 -0
- package/src/components/modal/examples/scenario-multi-field-form.tsx +75 -0
- package/src/components/notification/COMPONENT.md +45 -15
- package/src/components/notification/examples/action-toast.tsx +84 -0
- package/src/components/notification/examples/error-success.tsx +70 -0
- package/src/components/notification/examples/notification-store.tsx +58 -0
- package/src/components/notification/examples/positions.tsx +73 -0
- package/src/components/notification/examples/toast-queue.tsx +63 -0
- package/src/components/pagination/COMPONENT.md +63 -23
- package/src/components/pagination/examples/canonical-composition.tsx +20 -0
- package/src/components/pagination/examples/compact.tsx +32 -0
- package/src/components/pagination/examples/controlled-page.tsx +57 -0
- package/src/components/pagination/examples/full-width-list.tsx +37 -0
- package/src/components/pagination/examples/table-footer.tsx +74 -0
- package/src/components/popover/COMPONENT.md +67 -3
- package/src/components/popover/examples/canonical-panel.tsx +24 -0
- package/src/components/popover/examples/date-trigger.tsx +33 -0
- package/src/components/popover/examples/form-in-popover.tsx +79 -0
- package/src/components/popover/examples/placement.tsx +42 -0
- package/src/components/popover/examples/rich-content.tsx +39 -0
- package/src/components/progress-bar/COMPONENT.md +49 -24
- package/src/components/progress-bar/examples/indeterminate-busy-state.tsx +21 -0
- package/src/components/progress-bar/examples/labeled.tsx +6 -0
- package/src/components/progress-bar/examples/progress-bar-examples.module.css +22 -0
- package/src/components/progress-bar/examples/step-progress.tsx +23 -0
- package/src/components/progress-bar/examples/upload-progress.tsx +27 -0
- package/src/components/progress-bar/examples/wizard-composition.tsx +18 -0
- package/src/components/progress-circle/COMPONENT.md +58 -28
- package/src/components/progress-circle/examples/a11y-label.tsx +32 -0
- package/src/components/progress-circle/examples/composition.tsx +66 -0
- package/src/components/progress-circle/examples/controlled.tsx +58 -0
- package/src/components/progress-circle/examples/dashboard-ring.tsx +36 -0
- package/src/components/progress-circle/examples/max-scale.tsx +61 -0
- package/src/components/radio/COMPONENT.md +49 -21
- package/src/components/radio/examples/notification-channel.tsx +29 -0
- package/src/components/radio/examples/plan-picker.tsx +53 -0
- package/src/components/radio/examples/radio-examples.module.css +31 -0
- package/src/components/radio/examples/settings-group.tsx +30 -0
- package/src/components/radio/examples/shipping-method.tsx +26 -0
- package/src/components/segmented-control/COMPONENT.md +22 -0
- package/src/components/segmented-control/examples/canonical-composition.tsx +70 -0
- package/src/components/segmented-control/examples/catalog-filters.tsx +41 -0
- package/src/components/segmented-control/examples/pricing-toggle.tsx +40 -0
- package/src/components/segmented-control/examples/segmented-examples.module.css +12 -0
- package/src/components/segmented-control/examples/view-mode.tsx +53 -0
- package/src/components/segmented-progress-bar/COMPONENT.md +54 -25
- package/src/components/segmented-progress-bar/examples/distribution-breakdown.tsx +16 -0
- package/src/components/segmented-progress-bar/examples/multi-phase-rollout.tsx +15 -0
- package/src/components/segmented-progress-bar/examples/segment-gaps.tsx +23 -0
- package/src/components/segmented-progress-bar/examples/size-ladder.tsx +19 -0
- package/src/components/segmented-progress-bar/examples/storage-mix.tsx +16 -0
- package/src/components/select/COMPONENT.md +46 -19
- package/src/components/select/examples/01-country.tsx +37 -0
- package/src/components/select/examples/02-controlled.tsx +35 -0
- package/src/components/select/examples/03-groups.tsx +45 -0
- package/src/components/select/examples/04-full-width-form.tsx +51 -0
- package/src/components/select/examples/examples.module.css +37 -0
- package/src/components/slider/COMPONENT.md +30 -14
- package/src/components/slider/examples/01-volume.tsx +17 -0
- package/src/components/slider/examples/02-price-range.tsx +18 -0
- package/src/components/slider/examples/03-controlled.tsx +30 -0
- package/src/components/slider/examples/04-disabled.tsx +25 -0
- package/src/components/slider/examples/examples.module.css +17 -0
- package/src/components/stepper/COMPONENT.md +40 -15
- package/src/components/stepper/examples/01-checkout-horizontal.tsx +32 -0
- package/src/components/stepper/examples/02-onboarding-vertical.tsx +51 -0
- package/src/components/stepper/examples/03-vertical-primitive-rail.tsx +36 -0
- package/src/components/stepper/examples/04-checkout-step-error.tsx +30 -0
- package/src/components/stepper/examples/05-horizontal-primitive.tsx +37 -0
- package/src/components/stepper/examples/examples.module.css +16 -0
- package/src/components/switch/COMPONENT.md +61 -15
- package/src/components/switch/examples/canonical-maximal.tsx +19 -0
- package/src/components/switch/examples/examples.module.css +56 -0
- package/src/components/switch/examples/scenario-billing-annual.tsx +27 -0
- package/src/components/switch/examples/scenario-feature-flag.tsx +30 -0
- package/src/components/switch/examples/scenario-form-consent.tsx +34 -0
- package/src/components/switch/examples/scenario-settings-toggle.tsx +26 -0
- package/src/components/tabs/COMPONENT.md +44 -17
- package/src/components/tabs/examples/01-settings-vertical-rail.tsx +49 -0
- package/src/components/tabs/examples/02-dashboard-subviews.tsx +42 -0
- package/src/components/tabs/examples/03-tab-triggers-with-icons.tsx +49 -0
- package/src/components/tabs/examples/04-long-labels-narrow.tsx +35 -0
- package/src/components/tabs/examples/05-controlled-active-tab.tsx +48 -0
- package/src/components/tabs/examples/examples.module.css +58 -0
- package/src/components/tag/COMPONENT.md +25 -10
- package/src/components/tag/examples/01-filter-chips.tsx +36 -0
- package/src/components/tag/examples/02-removable-selected-values.tsx +33 -0
- package/src/components/tag/examples/03-status-metadata.tsx +24 -0
- package/src/components/tag/examples/04-tag-sizes.tsx +18 -0
- package/src/components/tag/examples/examples.module.css +20 -0
- package/src/components/textarea/COMPONENT.md +41 -19
- package/src/components/textarea/examples/01-support-ticket.tsx +35 -0
- package/src/components/textarea/examples/02-comment.tsx +35 -0
- package/src/components/textarea/examples/03-controlled.tsx +27 -0
- package/src/components/textarea/examples/04-full-width.tsx +23 -0
- package/src/components/textarea/examples/examples.module.css +21 -0
- package/src/components/tooltip/COMPONENT.md +57 -0
- package/src/components/tooltip/examples/canonical-icon-hint.tsx +19 -0
- package/src/components/tooltip/examples/examples.module.css +6 -0
- package/src/components/tooltip/examples/scenario-controlled-programmatic.tsx +32 -0
- package/src/components/tooltip/examples/scenario-delay-provider.tsx +19 -0
- package/src/components/tooltip/examples/scenario-long-content.tsx +22 -0
- package/src/components/tooltip/examples/scenario-side-bottom.tsx +21 -0
- package/src/components/typography/COMPONENT.md +63 -39
- package/src/components/typography/examples/01-article.tsx +45 -0
- package/src/components/typography/examples/02-form-labels-contrast.tsx +61 -0
- package/src/components/typography/examples/03-marketing-hero.tsx +25 -0
- package/src/components/typography/examples/04-reading-scale.tsx +47 -0
- package/src/components/typography/examples/05-inline-emphasis.tsx +30 -0
- package/src/components/typography/examples/examples.module.css +30 -0
- package/src/layout/sidebar/COMPONENT.md +138 -0
- package/src/layout/sidebar/examples/01-app-shell-nav.tsx +79 -0
- package/src/layout/sidebar/examples/02-collapsible-desktop.tsx +64 -0
- package/src/layout/sidebar/examples/03-controlled-state.tsx +72 -0
- package/src/layout/sidebar/examples/04-router-navigation.tsx +70 -0
- package/src/layout/sidebar/examples/05-responsive-behavior.tsx +46 -0
- package/src/layout/sidebar/examples/examples.module.css +67 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Label, Select, Typography } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Controlled `value` / `onChange`: parent owns the string; map enums or numbers yourself.
|
|
8
|
+
*/
|
|
9
|
+
export default function SelectExampleControlled() {
|
|
10
|
+
const [tier, setTier] = React.useState("pro");
|
|
11
|
+
const tierLabelId = React.useId();
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div className={styles.stack}>
|
|
15
|
+
<div className={styles.field}>
|
|
16
|
+
<Label.Root id={tierLabelId} size="m">
|
|
17
|
+
Subscription tier
|
|
18
|
+
</Label.Root>
|
|
19
|
+
<Select.Root size="m" value={tier} onChange={setTier} placeholder="Choose a tier">
|
|
20
|
+
<Select.Trigger aria-labelledby={tierLabelId}>
|
|
21
|
+
<Select.Value />
|
|
22
|
+
</Select.Trigger>
|
|
23
|
+
<Select.Content>
|
|
24
|
+
<Select.Item value="free">Free</Select.Item>
|
|
25
|
+
<Select.Item value="pro">Pro</Select.Item>
|
|
26
|
+
<Select.Item value="team">Team</Select.Item>
|
|
27
|
+
</Select.Content>
|
|
28
|
+
</Select.Root>
|
|
29
|
+
</div>
|
|
30
|
+
<Typography.Root as="p" variant="caption" tone="muted" className={styles.caption}>
|
|
31
|
+
Current value in React state: <span>{tier}</span>
|
|
32
|
+
</Typography.Root>
|
|
33
|
+
</div>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Label, Select } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Long lists: `Select.Group`, `Select.GroupLabel`, and `Select.Separator` inside `Select.Content`.
|
|
8
|
+
*/
|
|
9
|
+
export default function SelectExampleGroups() {
|
|
10
|
+
const timezoneLabelId = React.useId();
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div className={styles.field}>
|
|
14
|
+
<Label.Root id={timezoneLabelId} size="m">
|
|
15
|
+
Time zone
|
|
16
|
+
</Label.Root>
|
|
17
|
+
<Select.Root size="m" defaultValue="utc" placeholder="Select time zone">
|
|
18
|
+
<Select.Trigger aria-labelledby={timezoneLabelId}>
|
|
19
|
+
<Select.Value />
|
|
20
|
+
</Select.Trigger>
|
|
21
|
+
<Select.Content>
|
|
22
|
+
<Select.Group>
|
|
23
|
+
<Select.GroupLabel>Americas</Select.GroupLabel>
|
|
24
|
+
<Select.Item value="et">Eastern Time</Select.Item>
|
|
25
|
+
<Select.Item value="ct">Central Time</Select.Item>
|
|
26
|
+
<Select.Item value="pt">Pacific Time</Select.Item>
|
|
27
|
+
</Select.Group>
|
|
28
|
+
<Select.Separator />
|
|
29
|
+
<Select.Group>
|
|
30
|
+
<Select.GroupLabel>Europe</Select.GroupLabel>
|
|
31
|
+
<Select.Item value="utc">UTC</Select.Item>
|
|
32
|
+
<Select.Item value="cet">Central European Time</Select.Item>
|
|
33
|
+
<Select.Item value="gmt">GMT (London)</Select.Item>
|
|
34
|
+
</Select.Group>
|
|
35
|
+
<Select.Separator />
|
|
36
|
+
<Select.Group>
|
|
37
|
+
<Select.GroupLabel>Asia Pacific</Select.GroupLabel>
|
|
38
|
+
<Select.Item value="jst">Japan (JST)</Select.Item>
|
|
39
|
+
<Select.Item value="aest">Sydney (AEST)</Select.Item>
|
|
40
|
+
</Select.Group>
|
|
41
|
+
</Select.Content>
|
|
42
|
+
</Select.Root>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Label, Select, Typography } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Trigger is `width: 100%` in kit styles — put the field in a full-width column; no `fullWidth` prop on
|
|
8
|
+
* `Select.Root`.
|
|
9
|
+
*/
|
|
10
|
+
export default function SelectExampleFullWidthForm() {
|
|
11
|
+
const nameLabelId = React.useId();
|
|
12
|
+
const methodLabelId = React.useId();
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<div className={styles.form}>
|
|
16
|
+
<Typography.Root as="h3" variant="heading-subsection">
|
|
17
|
+
Delivery details
|
|
18
|
+
</Typography.Root>
|
|
19
|
+
<div className={styles.fieldFullBleed}>
|
|
20
|
+
<Label.Root id={nameLabelId} size="m">
|
|
21
|
+
Full name
|
|
22
|
+
</Label.Root>
|
|
23
|
+
<Select.Root size="m" placeholder="How should we address the package?">
|
|
24
|
+
<Select.Trigger aria-labelledby={nameLabelId}>
|
|
25
|
+
<Select.Value />
|
|
26
|
+
</Select.Trigger>
|
|
27
|
+
<Select.Content>
|
|
28
|
+
<Select.Item value="home">Alex Morgan (home)</Select.Item>
|
|
29
|
+
<Select.Item value="work">Alex Morgan (office)</Select.Item>
|
|
30
|
+
<Select.Item value="gift">Gift recipient — leave at desk</Select.Item>
|
|
31
|
+
</Select.Content>
|
|
32
|
+
</Select.Root>
|
|
33
|
+
</div>
|
|
34
|
+
<div className={styles.fieldFullBleed}>
|
|
35
|
+
<Label.Root id={methodLabelId} size="m">
|
|
36
|
+
Shipping method
|
|
37
|
+
</Label.Root>
|
|
38
|
+
<Select.Root size="m" defaultValue="standard" placeholder="Choose shipping">
|
|
39
|
+
<Select.Trigger aria-labelledby={methodLabelId}>
|
|
40
|
+
<Select.Value />
|
|
41
|
+
</Select.Trigger>
|
|
42
|
+
<Select.Content>
|
|
43
|
+
<Select.Item value="standard">Standard (5–7 days)</Select.Item>
|
|
44
|
+
<Select.Item value="express">Express (2–3 days)</Select.Item>
|
|
45
|
+
<Select.Item value="overnight">Overnight</Select.Item>
|
|
46
|
+
</Select.Content>
|
|
47
|
+
</Select.Root>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
.stack {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: var(--prime-sys-spacing-s);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.field {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: var(--prime-sys-spacing-xs);
|
|
11
|
+
width: 100%;
|
|
12
|
+
max-width: calc(var(--prime-sys-unit-1rem) * 22);
|
|
13
|
+
min-width: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.fieldFullBleed {
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
gap: var(--prime-sys-spacing-xs);
|
|
20
|
+
width: 100%;
|
|
21
|
+
min-width: 0;
|
|
22
|
+
max-width: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.form {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
gap: var(--prime-sys-spacing-m);
|
|
29
|
+
width: 100%;
|
|
30
|
+
max-width: calc(var(--prime-sys-unit-1rem) * 28);
|
|
31
|
+
min-width: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.caption {
|
|
35
|
+
margin: 0;
|
|
36
|
+
color: var(--prime-sys-color-content-secondary);
|
|
37
|
+
}
|
|
@@ -1,39 +1,55 @@
|
|
|
1
1
|
# Slider
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Default sizing:** when designing screens and examples, start with **`m`** for `size` wherever a size axis exists unless the scenario explicitly needs another value.
|
|
4
4
|
|
|
5
5
|
## About
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
A horizontal range control built on the native `input type="range"`, with optional text label and kit sizing (`s`–`xl`).
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
**When to use**
|
|
10
|
+
|
|
11
|
+
- Picking a number along a continuous or stepped interval: volume, brightness, percentages, temperature bands, or filter caps (for example a maximum price).
|
|
12
|
+
- When native range keyboard and pointer behavior is enough and you want minimal custom logic.
|
|
13
|
+
|
|
14
|
+
**When not to use**
|
|
15
|
+
|
|
16
|
+
- Vertical sliders — the implementation is horizontal only.
|
|
17
|
+
- When you need thumb labels, icons, or other slots on the track — compose with surrounding layout and text.
|
|
18
|
+
- Built-in error, required, loading, or read-only modes — use form primitives and hints around the control.
|
|
19
|
+
- A small set of fixed choices — prefer radio or segmented controls instead of a continuous range.
|
|
15
20
|
|
|
16
21
|
## Composition
|
|
17
22
|
|
|
18
|
-
- **`Slider`** is a single-part API: **`Slider.Root`** wraps **`ControlSizeProvider`**, an optional **`label`** (
|
|
23
|
+
- **`Slider`** is a single-part API: **`Slider.Root`** wraps **`ControlSizeProvider`**, an optional **`label`** (linked to the input with `htmlFor` / `id`), and one styled **`input type="range"`**.
|
|
19
24
|
- The root `div` carries **`data-size`** from **`size`**; there are no other exported subcomponents.
|
|
20
25
|
|
|
21
|
-
###
|
|
26
|
+
### Canonical example
|
|
22
27
|
|
|
23
28
|
```tsx
|
|
24
29
|
import { Slider } from "prime-ui-kit";
|
|
25
30
|
|
|
26
31
|
export function Example() {
|
|
27
|
-
return
|
|
32
|
+
return (
|
|
33
|
+
<Slider.Root label="Output level" min={0} max={100} step={1} defaultValue={50} size="m" />
|
|
34
|
+
);
|
|
28
35
|
}
|
|
29
36
|
```
|
|
30
37
|
|
|
38
|
+
### Extended examples
|
|
39
|
+
|
|
40
|
+
- [`./examples/01-volume.tsx`](./examples/01-volume.tsx) — Volume on a 0–100 scale with helper copy under the track.
|
|
41
|
+
- [`./examples/02-price-range.tsx`](./examples/02-price-range.tsx) — Stepped “maximum price” filter with a `Hint` for how results update.
|
|
42
|
+
- [`./examples/03-controlled.tsx`](./examples/03-controlled.tsx) — Controlled `value` / `onChange` with a live numeric readout.
|
|
43
|
+
- [`./examples/04-disabled.tsx`](./examples/04-disabled.tsx) — Disabled preset until a parent feature is available.
|
|
44
|
+
|
|
45
|
+
**LLM note:** Prefer reading the runnable files under `./examples/*.tsx` for full scenarios, prop combinations, and composition with `Typography` / `Hint`; this page keeps the contract (rules + API tables) authoritative.
|
|
46
|
+
|
|
31
47
|
## Rules
|
|
32
48
|
|
|
33
|
-
- **Controlled:** pass **`value`** and **`onChange
|
|
49
|
+
- **Controlled:** pass **`value`** and **`onChange`**. **Uncontrolled:** pass **`defaultValue`**, or omit both value props — the effective initial value is **`min`**, clamped to **`[min, max]`**.
|
|
34
50
|
- **`min`**, **`max`**, and **`step`** default to **`0`**, **`100`**, and **`1`**; fractional **`step`** values are allowed.
|
|
35
|
-
- Displayed value is **clamped** to **`[min, max]`**;
|
|
36
|
-
- With **`label`**, the visible label is associated
|
|
51
|
+
- Displayed value is **clamped** to **`[min, max]`**; non-numeric input updates are ignored.
|
|
52
|
+
- With **`label`**, the visible label is associated via **`id`** / **`htmlFor`**. Without **`label`**, set **`aria-label`** (or an external accessible name) so assistive technologies get a proper name.
|
|
37
53
|
- **`disabled`** sets the native **`disabled`** state on the range input.
|
|
38
54
|
- There is no **`asChild`** or portal behavior; focus and **`focus-visible`** styling follow the native control and theme.
|
|
39
55
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Slider, Typography } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Media or system volume: native range, default scale 0–100, optional readout beside the track.
|
|
7
|
+
*/
|
|
8
|
+
export default function SliderExampleVolume() {
|
|
9
|
+
return (
|
|
10
|
+
<div className={styles.stack}>
|
|
11
|
+
<Slider.Root label="Volume" min={0} max={100} step={1} defaultValue={72} size="m" />
|
|
12
|
+
<Typography.Root as="p" variant="body-small" className={styles.muted}>
|
|
13
|
+
Drag to adjust loudness. Arrow keys step by one unit.
|
|
14
|
+
</Typography.Root>
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Hint, Slider } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Catalog filter: single-thumb “up to” price on a stepped currency scale (one dimension of a range UI).
|
|
7
|
+
*/
|
|
8
|
+
export default function SliderExamplePriceRange() {
|
|
9
|
+
return (
|
|
10
|
+
<div className={styles.stack}>
|
|
11
|
+
<Slider.Root label="Maximum price" min={0} max={500} step={5} defaultValue={250} size="m" />
|
|
12
|
+
<Hint.Root size="s" variant="default">
|
|
13
|
+
Results update when you release the thumb or finish keyboard adjustment. Pair with a second
|
|
14
|
+
control if you need an explicit minimum.
|
|
15
|
+
</Hint.Root>
|
|
16
|
+
</div>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Slider, Typography } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Controlled value: drive `value` / `onChange` from React state and mirror the number in UI copy.
|
|
8
|
+
*/
|
|
9
|
+
export default function SliderExampleControlled() {
|
|
10
|
+
const [brightness, setBrightness] = React.useState(48);
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div className={styles.stack}>
|
|
14
|
+
<div className={styles.row}>
|
|
15
|
+
<Slider.Root
|
|
16
|
+
label="Brightness"
|
|
17
|
+
value={brightness}
|
|
18
|
+
onChange={setBrightness}
|
|
19
|
+
min={0}
|
|
20
|
+
max={100}
|
|
21
|
+
step={1}
|
|
22
|
+
size="m"
|
|
23
|
+
/>
|
|
24
|
+
<Typography.Root as="span" variant="body-default" className={styles.muted}>
|
|
25
|
+
{brightness}%
|
|
26
|
+
</Typography.Root>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Slider, Typography } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Disabled track: preset cannot be changed until the parent feature is unlocked or loading finishes.
|
|
7
|
+
*/
|
|
8
|
+
export default function SliderExampleDisabled() {
|
|
9
|
+
return (
|
|
10
|
+
<div className={styles.stack}>
|
|
11
|
+
<Slider.Root
|
|
12
|
+
label="Night mode dimming"
|
|
13
|
+
min={0}
|
|
14
|
+
max={100}
|
|
15
|
+
step={5}
|
|
16
|
+
defaultValue={40}
|
|
17
|
+
disabled
|
|
18
|
+
size="m"
|
|
19
|
+
/>
|
|
20
|
+
<Typography.Root as="p" variant="body-small" className={styles.muted}>
|
|
21
|
+
Available after you enable scheduled dark mode in settings.
|
|
22
|
+
</Typography.Root>
|
|
23
|
+
</div>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.stack {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: var(--prime-sys-spacing-m);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.row {
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: space-between;
|
|
10
|
+
align-items: baseline;
|
|
11
|
+
gap: var(--prime-sys-spacing-m);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.muted {
|
|
15
|
+
margin: 0;
|
|
16
|
+
color: var(--prime-sys-color-content-secondary);
|
|
17
|
+
}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
# Stepper
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Default sizing:** when designing screens and examples, start with **`m`** for `size` wherever a size axis exists unless the scenario explicitly needs another value.
|
|
4
4
|
|
|
5
5
|
## About
|
|
6
6
|
|
|
7
|
-
Multi-step progress UI
|
|
7
|
+
Multi-step progress UI on a semantic ordered list (`<ol>` / `<li>`) for **`Stepper`**, plus **`HorizontalStepper`** and **`VerticalStepper`** layouts where each row uses an explicit visual **`state`**.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
|
|
9
|
+
**When to use**
|
|
10
|
+
|
|
11
|
+
- Wizards, checkout or form stages, and any flow where discrete ordered steps should read clearly.
|
|
12
|
+
- **`Stepper`** when **`currentStep`** (and optional per-step **`status`**) should drive numbering and completed / active / pending / error visuals.
|
|
13
|
+
- **`HorizontalStepper`** / **`VerticalStepper`** when step logic lives in the app (store, router, API) and you set **`state`** on each **`Item`** yourself.
|
|
14
|
+
|
|
15
|
+
**When not to use**
|
|
16
|
+
|
|
17
|
+
- Site hierarchy or drill-down navigation — prefer [Breadcrumb](../breadcrumb/COMPONENT.md).
|
|
18
|
+
- When a single continuous fraction matters more than discrete steps — consider [Progress bar](../progress-bar/COMPONENT.md).
|
|
19
|
+
- Primitive rails alone when you need native **ordered list** semantics — use **`Stepper.Root`** or add appropriate roles / markup around primitives.
|
|
15
20
|
|
|
16
21
|
## Composition
|
|
17
22
|
|
|
@@ -24,30 +29,50 @@ Multi-step progress UI: a high-level **`Stepper`** on a semantic ordered list (`
|
|
|
24
29
|
- **`HorizontalStepper.Root`** — non-semantic **`div`** rail; children: **`SeparatorIcon`** and **`Item`** buttons, each with **`ItemIndicator`** inside.
|
|
25
30
|
- **`VerticalStepper.Root`** — non-semantic **`div`** column; children: **`Item`** rows with **`ItemIndicator`**, label text, and optional **`Arrow`**.
|
|
26
31
|
|
|
27
|
-
###
|
|
32
|
+
### Canonical example
|
|
28
33
|
|
|
29
34
|
```tsx
|
|
30
35
|
import { Stepper } from "prime-ui-kit";
|
|
31
36
|
|
|
32
37
|
export function Example() {
|
|
33
38
|
return (
|
|
34
|
-
<Stepper.Root>
|
|
35
|
-
<Stepper.Step>
|
|
39
|
+
<Stepper.Root size="m" orientation="vertical">
|
|
40
|
+
<Stepper.Step type="button">
|
|
41
|
+
<Stepper.Indicator />
|
|
42
|
+
<Stepper.Content title="Account" description="Sign in or create a profile" />
|
|
43
|
+
<Stepper.Arrow />
|
|
44
|
+
</Stepper.Step>
|
|
45
|
+
<Stepper.Step type="button">
|
|
36
46
|
<Stepper.Indicator />
|
|
37
|
-
<Stepper.Content title="
|
|
47
|
+
<Stepper.Content title="Workspace" description="Name and region" />
|
|
48
|
+
<Stepper.Arrow />
|
|
49
|
+
</Stepper.Step>
|
|
50
|
+
<Stepper.Step type="button">
|
|
51
|
+
<Stepper.Indicator />
|
|
52
|
+
<Stepper.Content title="Finish" />
|
|
38
53
|
</Stepper.Step>
|
|
39
54
|
</Stepper.Root>
|
|
40
55
|
);
|
|
41
56
|
}
|
|
42
57
|
```
|
|
43
58
|
|
|
59
|
+
### Extended examples
|
|
60
|
+
|
|
61
|
+
- [`./examples/01-checkout-horizontal.tsx`](./examples/01-checkout-horizontal.tsx) — Checkout: **`orientation="horizontal"`**, **`Stepper.SeparatorIcon`** between steps, controlled index on click.
|
|
62
|
+
- [`./examples/02-onboarding-vertical.tsx`](./examples/02-onboarding-vertical.tsx) — Onboarding: vertical semantic **`Stepper`**, **`Stepper.Arrow`**, external **Back** / **Next** buttons.
|
|
63
|
+
- [`./examples/03-vertical-primitive-rail.tsx`](./examples/03-vertical-primitive-rail.tsx) — Vertical rail: **`VerticalStepper`** with app-owned **`state`** per row.
|
|
64
|
+
- [`./examples/04-checkout-step-error.tsx`](./examples/04-checkout-step-error.tsx) — Checkout: **`status="error"`** on a middle step while **`currentStep`** points at payment.
|
|
65
|
+
- [`./examples/05-horizontal-primitive.tsx`](./examples/05-horizontal-primitive.tsx) — Horizontal primitive: **`HorizontalStepper`** + **`SeparatorIcon`**, explicit **`state`**.
|
|
66
|
+
|
|
67
|
+
**LLM note:** Prefer reading the runnable files under `./examples/*.tsx` for full scenarios, prop combinations, and composition patterns; this page keeps the contract (rules + API tables) authoritative.
|
|
68
|
+
|
|
44
69
|
## Rules
|
|
45
70
|
|
|
46
|
-
- **`Stepper.Root`**: **`currentStep`** defaults to **`0`**; indices before it are **`completed`**, equal index is **`active`**, after are **`pending`**. Override any step with **`status`** on **`Stepper.Step`** (e.g. **`error`**).
|
|
71
|
+
- **`Stepper.Root`**: **`currentStep`** defaults to **`0`**; indices before it are **`completed`**, the equal index is **`active`**, after are **`pending`**. Override any step with **`status`** on **`Stepper.Step`** (e.g. **`error`**).
|
|
47
72
|
- **`Stepper.Step`** without **`index`** consumes the next auto index in child order; mixing explicit **`index`** and auto indices requires careful ordering.
|
|
48
73
|
- **`SeparatorIcon`** is intended for **`orientation="horizontal"`**; it is not the vertical connector pattern.
|
|
49
74
|
- Primitives use **`StepperAlignItemState`**: **`default`** \| **`active`** \| **`completed`** only—no built-in **`error`**; use **`Stepper`** for **`error`** or custom indicator content.
|
|
50
|
-
- Active step sets **`aria-current="step"`** on the **`Stepper`** step button; indicators and separators use **`aria-hidden`** where the label carries meaning—keep titles
|
|
75
|
+
- Active step sets **`aria-current="step"`** on the **`Stepper`** step button; indicators and separators use **`aria-hidden`** where the label carries meaning—keep titles and descriptions meaningful for assistive tech.
|
|
51
76
|
- **`HorizontalStepper`** / **`VerticalStepper`** do not emit **`<ol>`** / **`<li>`**; add list semantics externally if required.
|
|
52
77
|
- Step transitions, validation, and routing are **app-owned**; the kit handles presentation and button interactions only.
|
|
53
78
|
|
|
@@ -180,7 +205,7 @@ Exported types include **`StepStatus`**, **`StepperOrientation`**, **`StepperSiz
|
|
|
180
205
|
|
|
181
206
|
## Related
|
|
182
207
|
|
|
183
|
-
- [Button](../button/COMPONENT.md) — next/back actions next to a controlled stepper
|
|
208
|
+
- [Button](../button/COMPONENT.md) — next / back actions next to a controlled stepper
|
|
184
209
|
- [Modal](../modal/COMPONENT.md) and [Drawer](../drawer/COMPONENT.md) — wizard shells
|
|
185
210
|
- [Breadcrumb](../breadcrumb/COMPONENT.md) — hierarchy, not linear stages
|
|
186
211
|
- [Progress bar](../progress-bar/COMPONENT.md) — continuous progress instead of discrete steps
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Stepper } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Checkout: horizontal ordered list with chevron separators; steps jump when clicked.
|
|
8
|
+
*/
|
|
9
|
+
export default function StepperExampleCheckoutHorizontal() {
|
|
10
|
+
const [step, setStep] = React.useState(1);
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div className={styles.stack}>
|
|
14
|
+
<Stepper.Root orientation="horizontal" currentStep={step} size="m" className={styles.rail}>
|
|
15
|
+
<Stepper.Step type="button" onClick={() => setStep(0)}>
|
|
16
|
+
<Stepper.Indicator />
|
|
17
|
+
<Stepper.Content title="Cart" description="Review items" />
|
|
18
|
+
</Stepper.Step>
|
|
19
|
+
<Stepper.SeparatorIcon />
|
|
20
|
+
<Stepper.Step type="button" onClick={() => setStep(1)}>
|
|
21
|
+
<Stepper.Indicator />
|
|
22
|
+
<Stepper.Content title="Shipping" description="Address & delivery" />
|
|
23
|
+
</Stepper.Step>
|
|
24
|
+
<Stepper.SeparatorIcon />
|
|
25
|
+
<Stepper.Step type="button" onClick={() => setStep(2)}>
|
|
26
|
+
<Stepper.Indicator />
|
|
27
|
+
<Stepper.Content title="Payment" description="Card or wallet" />
|
|
28
|
+
</Stepper.Step>
|
|
29
|
+
</Stepper.Root>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Button, Stepper } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Onboarding wizard: vertical semantic stepper, controlled index, back / next actions.
|
|
8
|
+
*/
|
|
9
|
+
export default function StepperExampleOnboardingVertical() {
|
|
10
|
+
const [step, setStep] = React.useState(0);
|
|
11
|
+
const last = 2;
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div className={styles.stack}>
|
|
15
|
+
<Stepper.Root currentStep={step} orientation="vertical" size="m" className={styles.rail}>
|
|
16
|
+
<Stepper.Step type="button" onClick={() => setStep(0)}>
|
|
17
|
+
<Stepper.Indicator />
|
|
18
|
+
<Stepper.Content title="Welcome" description="Product tour and goals" />
|
|
19
|
+
<Stepper.Arrow />
|
|
20
|
+
</Stepper.Step>
|
|
21
|
+
<Stepper.Step type="button" onClick={() => setStep(1)}>
|
|
22
|
+
<Stepper.Indicator />
|
|
23
|
+
<Stepper.Content title="Team" description="Invite collaborators" />
|
|
24
|
+
<Stepper.Arrow />
|
|
25
|
+
</Stepper.Step>
|
|
26
|
+
<Stepper.Step type="button" onClick={() => setStep(2)}>
|
|
27
|
+
<Stepper.Indicator />
|
|
28
|
+
<Stepper.Content title="Done" description="You are ready to build" />
|
|
29
|
+
</Stepper.Step>
|
|
30
|
+
</Stepper.Root>
|
|
31
|
+
<div className={styles.actions}>
|
|
32
|
+
<Button.Root
|
|
33
|
+
mode="stroke"
|
|
34
|
+
variant="neutral"
|
|
35
|
+
disabled={step <= 0}
|
|
36
|
+
onClick={() => setStep((s) => s - 1)}
|
|
37
|
+
>
|
|
38
|
+
Back
|
|
39
|
+
</Button.Root>
|
|
40
|
+
<Button.Root
|
|
41
|
+
mode="filled"
|
|
42
|
+
variant="primary"
|
|
43
|
+
disabled={step >= last}
|
|
44
|
+
onClick={() => setStep((s) => s + 1)}
|
|
45
|
+
>
|
|
46
|
+
Next
|
|
47
|
+
</Button.Root>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { VerticalStepper } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
const STEPS = ["Basics", "Security", "Billing"] as const;
|
|
7
|
+
|
|
8
|
+
function rowState(idx: number, active: number): "default" | "active" | "completed" {
|
|
9
|
+
if (idx < active) return "completed";
|
|
10
|
+
if (idx === active) return "active";
|
|
11
|
+
return "default";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Vertical rail without `<ol>` semantics: app-owned `state` per row (e.g. store or router).
|
|
16
|
+
*/
|
|
17
|
+
export default function StepperExampleVerticalPrimitiveRail() {
|
|
18
|
+
const [active, setActive] = React.useState(1);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<VerticalStepper.Root size="m" className={styles.rail}>
|
|
22
|
+
{STEPS.map((label, idx) => (
|
|
23
|
+
<VerticalStepper.Item
|
|
24
|
+
key={label}
|
|
25
|
+
type="button"
|
|
26
|
+
state={rowState(idx, active)}
|
|
27
|
+
onClick={() => setActive(idx)}
|
|
28
|
+
>
|
|
29
|
+
<VerticalStepper.ItemIndicator>{String(idx + 1)}</VerticalStepper.ItemIndicator>
|
|
30
|
+
{label}
|
|
31
|
+
{rowState(idx, active) === "active" ? <VerticalStepper.Arrow /> : null}
|
|
32
|
+
</VerticalStepper.Item>
|
|
33
|
+
))}
|
|
34
|
+
</VerticalStepper.Root>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Stepper } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Checkout with a prior step flagged `error` while a later step stays active (e.g. fix shipping
|
|
7
|
+
* from the payment screen).
|
|
8
|
+
*/
|
|
9
|
+
export default function StepperExampleCheckoutStepError() {
|
|
10
|
+
return (
|
|
11
|
+
<div className={styles.stack}>
|
|
12
|
+
<Stepper.Root orientation="horizontal" currentStep={2} size="m" className={styles.rail}>
|
|
13
|
+
<Stepper.Step type="button">
|
|
14
|
+
<Stepper.Indicator />
|
|
15
|
+
<Stepper.Content title="Cart" />
|
|
16
|
+
</Stepper.Step>
|
|
17
|
+
<Stepper.SeparatorIcon />
|
|
18
|
+
<Stepper.Step type="button" status="error">
|
|
19
|
+
<Stepper.Indicator />
|
|
20
|
+
<Stepper.Content title="Shipping" description="Address could not be verified" />
|
|
21
|
+
</Stepper.Step>
|
|
22
|
+
<Stepper.SeparatorIcon />
|
|
23
|
+
<Stepper.Step type="button">
|
|
24
|
+
<Stepper.Indicator />
|
|
25
|
+
<Stepper.Content title="Payment" />
|
|
26
|
+
</Stepper.Step>
|
|
27
|
+
</Stepper.Root>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { HorizontalStepper } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
const STEPS = ["Draft", "Review", "Publish"] as const;
|
|
7
|
+
|
|
8
|
+
function rowState(idx: number, active: number): "default" | "active" | "completed" {
|
|
9
|
+
if (idx < active) return "completed";
|
|
10
|
+
if (idx === active) return "active";
|
|
11
|
+
return "default";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Horizontal primitive rail: non-semantic `div` + buttons; you supply each `state`.
|
|
16
|
+
*/
|
|
17
|
+
export default function StepperExampleHorizontalPrimitive() {
|
|
18
|
+
const [active, setActive] = React.useState(0);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<HorizontalStepper.Root size="m" className={styles.rail}>
|
|
22
|
+
{STEPS.map((label, idx) => (
|
|
23
|
+
<React.Fragment key={label}>
|
|
24
|
+
{idx > 0 ? <HorizontalStepper.SeparatorIcon /> : null}
|
|
25
|
+
<HorizontalStepper.Item
|
|
26
|
+
type="button"
|
|
27
|
+
state={rowState(idx, active)}
|
|
28
|
+
onClick={() => setActive(idx)}
|
|
29
|
+
>
|
|
30
|
+
<HorizontalStepper.ItemIndicator>{String(idx + 1)}</HorizontalStepper.ItemIndicator>
|
|
31
|
+
{label}
|
|
32
|
+
</HorizontalStepper.Item>
|
|
33
|
+
</React.Fragment>
|
|
34
|
+
))}
|
|
35
|
+
</HorizontalStepper.Root>
|
|
36
|
+
);
|
|
37
|
+
}
|