prime-ui-kit 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +270 -0
- package/dist/components/accordion/Accordion.d.ts +70 -0
- package/dist/components/accordion/Accordion.d.ts.map +1 -0
- 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/Avatar.d.ts +58 -0
- package/dist/components/avatar/Avatar.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/group-three.d.ts +5 -0
- package/dist/components/avatar/examples/group-three.d.ts.map +1 -0
- package/dist/components/avatar/examples/sizes.d.ts +5 -0
- package/dist/components/avatar/examples/sizes.d.ts.map +1 -0
- package/dist/components/avatar/examples/src-from-state.d.ts +5 -0
- package/dist/components/avatar/examples/src-from-state.d.ts.map +1 -0
- package/dist/components/avatar/examples/states.d.ts +5 -0
- package/dist/components/avatar/examples/states.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/Badge.d.ts +51 -0
- package/dist/components/badge/Badge.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/Banner.d.ts +78 -0
- package/dist/components/banner/Banner.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/controlled-visibility.d.ts +3 -0
- package/dist/components/banner/examples/controlled-visibility.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/dismiss-close-button.d.ts +6 -0
- package/dist/components/banner/examples/dismiss-close-button.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/Breadcrumb.d.ts +47 -0
- package/dist/components/breadcrumb/Breadcrumb.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/composition.d.ts +3 -0
- package/dist/components/breadcrumb/examples/composition.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/full-width.d.ts +5 -0
- package/dist/components/breadcrumb/examples/full-width.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/breadcrumb/examples/sizes.d.ts +3 -0
- package/dist/components/breadcrumb/examples/sizes.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/states.d.ts +6 -0
- package/dist/components/breadcrumb/examples/states.d.ts.map +1 -0
- package/dist/components/button/Button.d.ts +57 -0
- package/dist/components/button/Button.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/full-width-stack.d.ts +5 -0
- package/dist/components/button/examples/full-width-stack.d.ts.map +1 -0
- package/dist/components/button/examples/icon-composition.d.ts +6 -0
- package/dist/components/button/examples/icon-composition.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/sizes-ladder.d.ts +5 -0
- package/dist/components/button/examples/sizes-ladder.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/ButtonGroup.d.ts +34 -0
- package/dist/components/button-group/ButtonGroup.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/full-width.d.ts +5 -0
- package/dist/components/button-group/examples/full-width.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/Card.d.ts +234 -0
- package/dist/components/card/Card.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/mini-kpi.d.ts +3 -0
- package/dist/components/card/examples/mini-kpi.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/Checkbox.d.ts +42 -0
- package/dist/components/checkbox/Checkbox.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/empty-label-form.d.ts +6 -0
- package/dist/components/checkbox/examples/empty-label-form.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/CodeBlock.d.ts +17 -0
- package/dist/components/code-block/CodeBlock.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/controlled.d.ts +3 -0
- package/dist/components/code-block/examples/controlled.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/ColorPicker.d.ts +76 -0
- package/dist/components/color-picker/ColorPicker.d.ts.map +1 -0
- package/dist/components/color-picker/ColorPickerRac.d.ts +76 -0
- package/dist/components/color-picker/ColorPickerRac.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/field-eyedropper.d.ts +3 -0
- package/dist/components/color-picker/examples/field-eyedropper.d.ts.map +1 -0
- package/dist/components/color-picker/examples/format-variants.d.ts +3 -0
- package/dist/components/color-picker/examples/format-variants.d.ts.map +1 -0
- package/dist/components/color-picker/examples/full-width.d.ts +3 -0
- package/dist/components/color-picker/examples/full-width.d.ts.map +1 -0
- package/dist/components/color-picker/examples/hex-input-sizes.d.ts +3 -0
- package/dist/components/color-picker/examples/hex-input-sizes.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/panel-placement.d.ts +3 -0
- package/dist/components/color-picker/examples/panel-placement.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/readout-trigger.d.ts +6 -0
- package/dist/components/color-picker/examples/readout-trigger.d.ts.map +1 -0
- package/dist/components/color-picker/examples/states.d.ts +3 -0
- package/dist/components/color-picker/examples/states.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/CommandMenu.d.ts +74 -0
- package/dist/components/command-menu/CommandMenu.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/composition-tags-footer.d.ts +5 -0
- package/dist/components/command-menu/examples/composition-tags-footer.d.ts.map +1 -0
- package/dist/components/command-menu/examples/controlled-open-search.d.ts +5 -0
- package/dist/components/command-menu/examples/controlled-open-search.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/full-width-panel.d.ts +6 -0
- package/dist/components/command-menu/examples/full-width-panel.d.ts.map +1 -0
- package/dist/components/command-menu/examples/item-icon-as.d.ts +5 -0
- package/dist/components/command-menu/examples/item-icon-as.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/command-menu/examples/variants-density-items.d.ts +5 -0
- package/dist/components/command-menu/examples/variants-density-items.d.ts.map +1 -0
- package/dist/components/data-table/DataTable.d.ts +78 -0
- package/dist/components/data-table/DataTable.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/composition.d.ts +3 -0
- package/dist/components/data-table/examples/composition.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/divider-styles.d.ts +3 -0
- package/dist/components/data-table/examples/divider-styles.d.ts.map +1 -0
- package/dist/components/data-table/examples/full-width.d.ts +3 -0
- package/dist/components/data-table/examples/full-width.d.ts.map +1 -0
- package/dist/components/data-table/examples/highlight-and-striped.d.ts +3 -0
- package/dist/components/data-table/examples/highlight-and-striped.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/sizes.d.ts +3 -0
- package/dist/components/data-table/examples/sizes.d.ts.map +1 -0
- package/dist/components/data-table/examples/sorting-pagination.d.ts +3 -0
- package/dist/components/data-table/examples/sorting-pagination.d.ts.map +1 -0
- package/dist/components/data-table/examples/states.d.ts +3 -0
- package/dist/components/data-table/examples/states.d.ts.map +1 -0
- package/dist/components/data-table/examples/sticky-and-headers.d.ts +3 -0
- package/dist/components/data-table/examples/sticky-and-headers.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/Datepicker.d.ts +104 -0
- package/dist/components/datepicker/Datepicker.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/DigitInput.d.ts +21 -0
- package/dist/components/digit-input/DigitInput.d.ts.map +1 -0
- package/dist/components/digit-input/examples/composition.d.ts +6 -0
- package/dist/components/digit-input/examples/composition.d.ts.map +1 -0
- package/dist/components/digit-input/examples/controlled.d.ts +6 -0
- package/dist/components/digit-input/examples/controlled.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/features.d.ts +6 -0
- package/dist/components/digit-input/examples/features.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/sizes.d.ts +6 -0
- package/dist/components/digit-input/examples/sizes.d.ts.map +1 -0
- package/dist/components/digit-input/examples/states.d.ts +6 -0
- package/dist/components/digit-input/examples/states.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/Divider.d.ts +26 -0
- package/dist/components/divider/Divider.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/Drawer.d.ts +16 -0
- package/dist/components/drawer/Drawer.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/Dropdown.d.ts +133 -0
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/dropdownGeometry.d.ts +10 -0
- package/dist/components/dropdown/dropdownGeometry.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/as-child.d.ts +3 -0
- package/dist/components/dropdown/examples/as-child.d.ts.map +1 -0
- package/dist/components/dropdown/examples/composition.d.ts +3 -0
- package/dist/components/dropdown/examples/composition.d.ts.map +1 -0
- package/dist/components/dropdown/examples/controlled.d.ts +3 -0
- package/dist/components/dropdown/examples/controlled.d.ts.map +1 -0
- package/dist/components/dropdown/examples/full-width.d.ts +3 -0
- package/dist/components/dropdown/examples/full-width.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/dropdown/examples/sizes.d.ts +3 -0
- package/dist/components/dropdown/examples/sizes.d.ts.map +1 -0
- package/dist/components/dropdown/examples/states.d.ts +3 -0
- package/dist/components/dropdown/examples/states.d.ts.map +1 -0
- package/dist/components/dropdown/examples/variants.d.ts +3 -0
- package/dist/components/dropdown/examples/variants.d.ts.map +1 -0
- package/dist/components/dropdown/menuKeyboard.d.ts +4 -0
- package/dist/components/dropdown/menuKeyboard.d.ts.map +1 -0
- package/dist/components/dropdown/useDropdownPosition.d.ts +18 -0
- package/dist/components/dropdown/useDropdownPosition.d.ts.map +1 -0
- package/dist/components/empty-page/EmptyPage.d.ts +63 -0
- package/dist/components/empty-page/EmptyPage.d.ts.map +1 -0
- package/dist/components/empty-page/examples/canonical.d.ts +3 -0
- package/dist/components/empty-page/examples/canonical.d.ts.map +1 -0
- package/dist/components/empty-page/examples/sizes.d.ts +3 -0
- package/dist/components/empty-page/examples/sizes.d.ts.map +1 -0
- package/dist/components/empty-page/examples/table-region.d.ts +6 -0
- package/dist/components/empty-page/examples/table-region.d.ts.map +1 -0
- package/dist/components/example-frame/ExampleFrame.d.ts +53 -0
- package/dist/components/example-frame/ExampleFrame.d.ts.map +1 -0
- package/dist/components/file-upload/FileUpload.d.ts +176 -0
- package/dist/components/file-upload/FileUpload.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/custom-children.d.ts +6 -0
- package/dist/components/file-upload/examples/custom-children.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/file-upload/examples/full-width.d.ts +6 -0
- package/dist/components/file-upload/examples/full-width.d.ts.map +1 -0
- package/dist/components/hint/Hint.d.ts +27 -0
- package/dist/components/hint/Hint.d.ts.map +1 -0
- package/dist/components/hint/examples/a11y-describedby.d.ts +3 -0
- package/dist/components/hint/examples/a11y-describedby.d.ts.map +1 -0
- package/dist/components/hint/examples/controlled-variant.d.ts +3 -0
- package/dist/components/hint/examples/controlled-variant.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/field-states.d.ts +3 -0
- package/dist/components/hint/examples/field-states.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/sizes.d.ts +3 -0
- package/dist/components/hint/examples/sizes.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/variants.d.ts +3 -0
- package/dist/components/hint/examples/variants.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/index.css +8680 -0
- package/dist/components/index.css.map +7 -0
- package/dist/components/index.d.ts +97 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +10361 -0
- package/dist/components/index.js.map +7 -0
- package/dist/components/input/Input.d.ts +73 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/examples/affix-url-and-amount.d.ts +5 -0
- package/dist/components/input/examples/affix-url-and-amount.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/Kbd.d.ts +15 -0
- package/dist/components/kbd/Kbd.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/composition-chord-icon.d.ts +3 -0
- package/dist/components/kbd/examples/composition-chord-icon.d.ts.map +1 -0
- package/dist/components/kbd/examples/context-inherit-size.d.ts +6 -0
- package/dist/components/kbd/examples/context-inherit-size.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/sizes-ladder.d.ts +3 -0
- package/dist/components/kbd/examples/sizes-ladder.d.ts.map +1 -0
- package/dist/components/kbd/examples/states-title.d.ts +3 -0
- package/dist/components/kbd/examples/states-title.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/Label.d.ts +29 -0
- package/dist/components/label/Label.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/mixed-required-optional.d.ts +3 -0
- package/dist/components/label/examples/mixed-required-optional.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/sizes.d.ts +3 -0
- package/dist/components/label/examples/sizes.d.ts.map +1 -0
- package/dist/components/label/examples/states.d.ts +3 -0
- package/dist/components/label/examples/states.d.ts.map +1 -0
- package/dist/components/label/examples/sub-line.d.ts +3 -0
- package/dist/components/label/examples/sub-line.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/LinkButton.d.ts +18 -0
- package/dist/components/link-button/LinkButton.d.ts.map +1 -0
- package/dist/components/link-button/examples/composition.d.ts +3 -0
- package/dist/components/link-button/examples/composition.d.ts.map +1 -0
- package/dist/components/link-button/examples/disabled.d.ts +7 -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/link-button/examples/sizes.d.ts +3 -0
- package/dist/components/link-button/examples/sizes.d.ts.map +1 -0
- package/dist/components/modal/Modal.d.ts +79 -0
- package/dist/components/modal/Modal.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/pattern-close-behavior.d.ts +3 -0
- package/dist/components/modal/examples/pattern-close-behavior.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-controlled.d.ts +3 -0
- package/dist/components/modal/examples/pattern-controlled.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-full-width-footer.d.ts +3 -0
- package/dist/components/modal/examples/pattern-full-width-footer.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts +3 -0
- package/dist/components/modal/examples/pattern-portal-and-scroll.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/Notification.d.ts +42 -0
- package/dist/components/notification/Notification.d.ts.map +1 -0
- package/dist/components/notification/NotificationStore.d.ts +18 -0
- package/dist/components/notification/NotificationStore.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/composition.d.ts +2 -0
- package/dist/components/notification/examples/composition.d.ts.map +1 -0
- package/dist/components/notification/examples/controlled.d.ts +2 -0
- package/dist/components/notification/examples/controlled.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/features.d.ts +2 -0
- package/dist/components/notification/examples/features.d.ts.map +1 -0
- package/dist/components/notification/examples/notification-store.d.ts +5 -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/sizes.d.ts +2 -0
- package/dist/components/notification/examples/sizes.d.ts.map +1 -0
- package/dist/components/notification/examples/states.d.ts +2 -0
- package/dist/components/notification/examples/states.d.ts.map +1 -0
- package/dist/components/notification/examples/toast-queue.d.ts +5 -0
- package/dist/components/notification/examples/toast-queue.d.ts.map +1 -0
- package/dist/components/notification/examples/variants.d.ts +2 -0
- package/dist/components/notification/examples/variants.d.ts.map +1 -0
- package/dist/components/page-content/PageContent.d.ts +64 -0
- package/dist/components/page-content/PageContent.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.d.ts +19 -0
- package/dist/components/pagination/Pagination.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/features.d.ts +6 -0
- package/dist/components/pagination/examples/features.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/range-modes.d.ts +6 -0
- package/dist/components/pagination/examples/range-modes.d.ts.map +1 -0
- package/dist/components/pagination/examples/sizes.d.ts +6 -0
- package/dist/components/pagination/examples/sizes.d.ts.map +1 -0
- package/dist/components/pagination/examples/states.d.ts +6 -0
- package/dist/components/pagination/examples/states.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/Popover.d.ts +48 -0
- package/dist/components/popover/Popover.d.ts.map +1 -0
- package/dist/components/popover/examples/as-child.d.ts +5 -0
- package/dist/components/popover/examples/as-child.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/composition.d.ts +5 -0
- package/dist/components/popover/examples/composition.d.ts.map +1 -0
- package/dist/components/popover/examples/controlled.d.ts +5 -0
- package/dist/components/popover/examples/controlled.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/features.d.ts +5 -0
- package/dist/components/popover/examples/features.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/full-width.d.ts +5 -0
- package/dist/components/popover/examples/full-width.d.ts.map +1 -0
- package/dist/components/popover/examples/inset-variants.d.ts +5 -0
- package/dist/components/popover/examples/inset-variants.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/popover/examples/sizes.d.ts +5 -0
- package/dist/components/popover/examples/sizes.d.ts.map +1 -0
- package/dist/components/popover/examples/states.d.ts +5 -0
- package/dist/components/popover/examples/states.d.ts.map +1 -0
- package/dist/components/popover/popoverGeometry.d.ts +6 -0
- package/dist/components/popover/popoverGeometry.d.ts.map +1 -0
- package/dist/components/popover/usePopoverPosition.d.ts +18 -0
- package/dist/components/popover/usePopoverPosition.d.ts.map +1 -0
- package/dist/components/progress-bar/ProgressBar.d.ts +14 -0
- package/dist/components/progress-bar/ProgressBar.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/sizes.d.ts +3 -0
- package/dist/components/progress-bar/examples/sizes.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/values.d.ts +3 -0
- package/dist/components/progress-bar/examples/values.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/ProgressCircle.d.ts +33 -0
- package/dist/components/progress-circle/ProgressCircle.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts +7 -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/progress-circle/examples/sizes.d.ts +3 -0
- package/dist/components/progress-circle/examples/sizes.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/states.d.ts +6 -0
- package/dist/components/progress-circle/examples/states.d.ts.map +1 -0
- package/dist/components/radio/Radio.d.ts +40 -0
- package/dist/components/radio/Radio.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/scroll-container/ScrollContainer.d.ts +42 -0
- package/dist/components/scroll-container/ScrollContainer.d.ts.map +1 -0
- package/dist/components/segmented-control/SegmentedControl.d.ts +40 -0
- package/dist/components/segmented-control/SegmentedControl.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/composition.d.ts +3 -0
- package/dist/components/segmented-control/examples/composition.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/controlled.d.ts +3 -0
- package/dist/components/segmented-control/examples/controlled.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/features.d.ts +3 -0
- package/dist/components/segmented-control/examples/features.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/full-width.d.ts +3 -0
- package/dist/components/segmented-control/examples/full-width.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/sizes.d.ts +3 -0
- package/dist/components/segmented-control/examples/sizes.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/states.d.ts +3 -0
- package/dist/components/segmented-control/examples/states.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/SegmentedProgressBar.d.ts +22 -0
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.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/Select.d.ts +84 -0
- package/dist/components/select/Select.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/select/examples/pattern-composition.d.ts +3 -0
- package/dist/components/select/examples/pattern-composition.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-controlled.d.ts +3 -0
- package/dist/components/select/examples/pattern-controlled.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-features.d.ts +3 -0
- package/dist/components/select/examples/pattern-features.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-full-width.d.ts +3 -0
- package/dist/components/select/examples/pattern-full-width.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-native.d.ts +3 -0
- package/dist/components/select/examples/pattern-native.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-sizes.d.ts +3 -0
- package/dist/components/select/examples/pattern-sizes.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-states.d.ts +3 -0
- package/dist/components/select/examples/pattern-states.d.ts.map +1 -0
- package/dist/components/select/selectListbox.d.ts +13 -0
- package/dist/components/select/selectListbox.d.ts.map +1 -0
- package/dist/components/slider/Slider.d.ts +23 -0
- package/dist/components/slider/Slider.d.ts.map +1 -0
- package/dist/components/slider/examples/composition.d.ts +6 -0
- package/dist/components/slider/examples/composition.d.ts.map +1 -0
- package/dist/components/slider/examples/controlled.d.ts +3 -0
- package/dist/components/slider/examples/controlled.d.ts.map +1 -0
- package/dist/components/slider/examples/features.d.ts +3 -0
- package/dist/components/slider/examples/features.d.ts.map +1 -0
- package/dist/components/slider/examples/full-width.d.ts +3 -0
- package/dist/components/slider/examples/full-width.d.ts.map +1 -0
- package/dist/components/slider/examples/sizes.d.ts +5 -0
- package/dist/components/slider/examples/sizes.d.ts.map +1 -0
- package/dist/components/slider/examples/states.d.ts +3 -0
- package/dist/components/slider/examples/states.d.ts.map +1 -0
- package/dist/components/stepper/HorizontalStepper.d.ts +41 -0
- package/dist/components/stepper/HorizontalStepper.d.ts.map +1 -0
- package/dist/components/stepper/Stepper.d.ts +77 -0
- package/dist/components/stepper/Stepper.d.ts.map +1 -0
- package/dist/components/stepper/VerticalStepper.d.ts +41 -0
- package/dist/components/stepper/VerticalStepper.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/stepper/examples/composition.d.ts +3 -0
- package/dist/components/stepper/examples/composition.d.ts.map +1 -0
- package/dist/components/stepper/examples/controlled.d.ts +3 -0
- package/dist/components/stepper/examples/controlled.d.ts.map +1 -0
- package/dist/components/stepper/examples/features.d.ts +3 -0
- package/dist/components/stepper/examples/features.d.ts.map +1 -0
- package/dist/components/stepper/examples/full-width.d.ts +3 -0
- package/dist/components/stepper/examples/full-width.d.ts.map +1 -0
- package/dist/components/stepper/examples/low-level-api.d.ts +3 -0
- package/dist/components/stepper/examples/low-level-api.d.ts.map +1 -0
- package/dist/components/stepper/examples/orientation.d.ts +3 -0
- package/dist/components/stepper/examples/orientation.d.ts.map +1 -0
- package/dist/components/stepper/examples/polymorphic-as.d.ts +3 -0
- package/dist/components/stepper/examples/polymorphic-as.d.ts.map +1 -0
- package/dist/components/stepper/examples/sizes.d.ts +3 -0
- package/dist/components/stepper/examples/sizes.d.ts.map +1 -0
- package/dist/components/stepper/examples/states.d.ts +3 -0
- package/dist/components/stepper/examples/states.d.ts.map +1 -0
- package/dist/components/stepper/stepperAlignContext.d.ts +11 -0
- package/dist/components/stepper/stepperAlignContext.d.ts.map +1 -0
- package/dist/components/switch/Switch.d.ts +48 -0
- package/dist/components/switch/Switch.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/composition.d.ts +3 -0
- package/dist/components/switch/examples/composition.d.ts.map +1 -0
- package/dist/components/switch/examples/controlled.d.ts +3 -0
- package/dist/components/switch/examples/controlled.d.ts.map +1 -0
- package/dist/components/switch/examples/form-features.d.ts +3 -0
- package/dist/components/switch/examples/form-features.d.ts.map +1 -0
- package/dist/components/switch/examples/full-width.d.ts +3 -0
- package/dist/components/switch/examples/full-width.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/switch/examples/sizes.d.ts +3 -0
- package/dist/components/switch/examples/sizes.d.ts.map +1 -0
- package/dist/components/switch/examples/states.d.ts +3 -0
- package/dist/components/switch/examples/states.d.ts.map +1 -0
- package/dist/components/switch/examples/variants.d.ts +3 -0
- package/dist/components/switch/examples/variants.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.d.ts +69 -0
- package/dist/components/tabs/Tabs.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 +7 -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/tabs/examples/06-sizes-s-m-l-xl.d.ts +6 -0
- package/dist/components/tabs/examples/06-sizes-s-m-l-xl.d.ts.map +1 -0
- package/dist/components/tabs/examples/07-horizontal-disabled.d.ts +6 -0
- package/dist/components/tabs/examples/07-horizontal-disabled.d.ts.map +1 -0
- package/dist/components/tag/Tag.d.ts +29 -0
- package/dist/components/tag/Tag.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/basic.d.ts +3 -0
- package/dist/components/tag/examples/basic.d.ts.map +1 -0
- package/dist/components/tag/examples/composition.d.ts +3 -0
- package/dist/components/tag/examples/composition.d.ts.map +1 -0
- package/dist/components/tag/examples/context-size.d.ts +3 -0
- package/dist/components/tag/examples/context-size.d.ts.map +1 -0
- package/dist/components/tag/examples/controlled.d.ts +3 -0
- package/dist/components/tag/examples/controlled.d.ts.map +1 -0
- package/dist/components/tag/examples/disabled.d.ts +3 -0
- package/dist/components/tag/examples/disabled.d.ts.map +1 -0
- package/dist/components/tag/examples/removable.d.ts +3 -0
- package/dist/components/tag/examples/removable.d.ts.map +1 -0
- package/dist/components/tag/examples/sizes.d.ts +3 -0
- package/dist/components/tag/examples/sizes.d.ts.map +1 -0
- package/dist/components/tag/examples/states.d.ts +3 -0
- package/dist/components/tag/examples/states.d.ts.map +1 -0
- package/dist/components/tag/examples/with-icon.d.ts +3 -0
- package/dist/components/tag/examples/with-icon.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.d.ts +43 -0
- package/dist/components/textarea/Textarea.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/composition.d.ts +3 -0
- package/dist/components/textarea/examples/composition.d.ts.map +1 -0
- package/dist/components/textarea/examples/controlled.d.ts +3 -0
- package/dist/components/textarea/examples/controlled.d.ts.map +1 -0
- package/dist/components/textarea/examples/features.d.ts +3 -0
- package/dist/components/textarea/examples/features.d.ts.map +1 -0
- package/dist/components/textarea/examples/full-width.d.ts +3 -0
- package/dist/components/textarea/examples/full-width.d.ts.map +1 -0
- package/dist/components/textarea/examples/sizes.d.ts +3 -0
- package/dist/components/textarea/examples/sizes.d.ts.map +1 -0
- package/dist/components/textarea/examples/states.d.ts +3 -0
- package/dist/components/textarea/examples/states.d.ts.map +1 -0
- package/dist/components/textarea/examples/variants.d.ts +3 -0
- package/dist/components/textarea/examples/variants.d.ts.map +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +47 -0
- package/dist/components/tooltip/Tooltip.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/composition.d.ts +3 -0
- package/dist/components/tooltip/examples/composition.d.ts.map +1 -0
- package/dist/components/tooltip/examples/controlled.d.ts +3 -0
- package/dist/components/tooltip/examples/controlled.d.ts.map +1 -0
- package/dist/components/tooltip/examples/delay.d.ts +3 -0
- package/dist/components/tooltip/examples/delay.d.ts.map +1 -0
- package/dist/components/tooltip/examples/long-content.d.ts +3 -0
- package/dist/components/tooltip/examples/long-content.d.ts.map +1 -0
- package/dist/components/tooltip/examples/side.d.ts +3 -0
- package/dist/components/tooltip/examples/side.d.ts.map +1 -0
- package/dist/components/tooltip/examples/sizes.d.ts +3 -0
- package/dist/components/tooltip/examples/sizes.d.ts.map +1 -0
- package/dist/components/tooltip/examples/states.d.ts +3 -0
- package/dist/components/tooltip/examples/states.d.ts.map +1 -0
- package/dist/components/tooltip/examples/surfaces.d.ts +3 -0
- package/dist/components/tooltip/examples/surfaces.d.ts.map +1 -0
- package/dist/components/typography/Typography.d.ts +30 -0
- package/dist/components/typography/Typography.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/components/typography/examples/as-prop.d.ts +3 -0
- package/dist/components/typography/examples/as-prop.d.ts.map +1 -0
- package/dist/components/typography/examples/composition.d.ts +6 -0
- package/dist/components/typography/examples/composition.d.ts.map +1 -0
- package/dist/components/typography/examples/full-width.d.ts +6 -0
- package/dist/components/typography/examples/full-width.d.ts.map +1 -0
- package/dist/components/typography/examples/reading-and-form.d.ts +6 -0
- package/dist/components/typography/examples/reading-and-form.d.ts.map +1 -0
- package/dist/components/typography/examples/states.d.ts +3 -0
- package/dist/components/typography/examples/states.d.ts.map +1 -0
- package/dist/components/typography/examples/variant-catalog.d.ts +3 -0
- package/dist/components/typography/examples/variant-catalog.d.ts.map +1 -0
- package/dist/components/typography/examples/variants.d.ts +3 -0
- package/dist/components/typography/examples/variants.d.ts.map +1 -0
- package/dist/hooks/useControllableState.d.ts +8 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useEscapeKey.d.ts +7 -0
- package/dist/hooks/useEscapeKey.d.ts.map +1 -0
- package/dist/hooks/useFieldIds.d.ts +17 -0
- package/dist/hooks/useFieldIds.d.ts.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +16 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.d.ts +3 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useModalKeyboard.d.ts +14 -0
- package/dist/hooks/useModalKeyboard.d.ts.map +1 -0
- package/dist/hooks/useOutsideClick.d.ts +16 -0
- package/dist/hooks/useOutsideClick.d.ts.map +1 -0
- package/dist/hooks/useOverlayModal.d.ts +7 -0
- package/dist/hooks/useOverlayModal.d.ts.map +1 -0
- package/dist/hooks/usePosition.d.ts +41 -0
- package/dist/hooks/usePosition.d.ts.map +1 -0
- package/dist/hooks/useResponsiveMonths.d.ts +18 -0
- package/dist/hooks/useResponsiveMonths.d.ts.map +1 -0
- package/dist/hooks/useScrollLock.d.ts +8 -0
- package/dist/hooks/useScrollLock.d.ts.map +1 -0
- package/dist/icons/Icon.d.ts +13 -0
- package/dist/icons/Icon.d.ts.map +1 -0
- package/dist/icons/index.d.ts +40 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/index.css +10101 -0
- package/dist/index.css.map +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10442 -0
- package/dist/index.js.map +7 -0
- package/dist/internal/ControlSizeContext.d.ts +17 -0
- package/dist/internal/ControlSizeContext.d.ts.map +1 -0
- package/dist/internal/DividerContentContext.d.ts +4 -0
- package/dist/internal/DividerContentContext.d.ts.map +1 -0
- package/dist/internal/OverlayPortalLayerContext.d.ts +13 -0
- package/dist/internal/OverlayPortalLayerContext.d.ts.map +1 -0
- package/dist/internal/Portal.d.ts +8 -0
- package/dist/internal/Portal.d.ts.map +1 -0
- package/dist/internal/context.d.ts +11 -0
- package/dist/internal/context.d.ts.map +1 -0
- package/dist/internal/cx.d.ts +2 -0
- package/dist/internal/cx.d.ts.map +1 -0
- package/dist/internal/data-attributes.d.ts +6 -0
- package/dist/internal/data-attributes.d.ts.map +1 -0
- package/dist/internal/highlightTsxHtml.d.ts +3 -0
- package/dist/internal/highlightTsxHtml.d.ts.map +1 -0
- package/dist/internal/layoutPxFromPrimitives.d.ts +13 -0
- package/dist/internal/layoutPxFromPrimitives.d.ts.map +1 -0
- package/dist/internal/mergeRefs.d.ts +4 -0
- package/dist/internal/mergeRefs.d.ts.map +1 -0
- package/dist/internal/runtimeUnits.d.ts +3 -0
- package/dist/internal/runtimeUnits.d.ts.map +1 -0
- package/dist/internal/scrollAncestors.d.ts +3 -0
- package/dist/internal/scrollAncestors.d.ts.map +1 -0
- package/dist/internal/slot.d.ts +19 -0
- package/dist/internal/slot.d.ts.map +1 -0
- package/dist/internal/states.d.ts +89 -0
- package/dist/internal/states.d.ts.map +1 -0
- package/dist/layout/app-shell/AppShell.d.ts +50 -0
- package/dist/layout/app-shell/AppShell.d.ts.map +1 -0
- package/dist/layout/index.d.ts +7 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/sidebar/Sidebar.d.ts +244 -0
- package/dist/layout/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/layout/sidebar/SidebarRoot.d.ts +51 -0
- package/dist/layout/sidebar/SidebarRoot.d.ts.map +1 -0
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts +6 -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/dist/layout/sidebar/sidebar-context.d.ts +19 -0
- package/dist/layout/sidebar/sidebar-context.d.ts.map +1 -0
- package/dist/layout/sidebar/sidebarLayout.d.ts +12 -0
- package/dist/layout/sidebar/sidebarLayout.d.ts.map +1 -0
- package/dist/tokens/primitives.d.ts +390 -0
- package/dist/tokens/primitives.d.ts.map +1 -0
- package/dist/tokens/semantic.d.ts +732 -0
- package/dist/tokens/semantic.d.ts.map +1 -0
- package/dist/tokens/themes/dark.d.ts +143 -0
- package/dist/tokens/themes/dark.d.ts.map +1 -0
- package/dist/tokens/themes/light.d.ts +16 -0
- package/dist/tokens/themes/light.d.ts.map +1 -0
- package/package.json +143 -0
- package/src/components/accordion/COMPONENT.md +213 -0
- package/src/components/accordion/examples/01-faq-marketing.tsx +63 -0
- package/src/components/accordion/examples/02-settings-panels.tsx +63 -0
- package/src/components/accordion/examples/03-checkout-order-summary.tsx +89 -0
- package/src/components/accordion/examples/04-api-docs-sections.tsx +88 -0
- package/src/components/accordion/examples/05-knowledge-base-categories.tsx +60 -0
- package/src/components/accordion/examples/examples.module.css +30 -0
- package/src/components/avatar/COMPONENT.md +160 -0
- package/src/components/avatar/examples/app-header-nav.tsx +33 -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/group-three.tsx +28 -0
- package/src/components/avatar/examples/sizes.tsx +24 -0
- package/src/components/avatar/examples/src-from-state.tsx +34 -0
- package/src/components/avatar/examples/states.tsx +26 -0
- package/src/components/avatar/examples/team-list.tsx +45 -0
- package/src/components/badge/COMPONENT.md +115 -0
- 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 +172 -0
- package/src/components/banner/examples/billing-alert.tsx +35 -0
- package/src/components/banner/examples/controlled-visibility.tsx +42 -0
- package/src/components/banner/examples/cookie-consent-row.tsx +35 -0
- package/src/components/banner/examples/dismiss-close-button.tsx +26 -0
- package/src/components/banner/examples/feature-promo.tsx +35 -0
- package/src/components/banner/examples/maintenance.tsx +23 -0
- package/src/components/breadcrumb/COMPONENT.md +139 -0
- package/src/components/breadcrumb/examples/canonical.tsx +12 -0
- package/src/components/breadcrumb/examples/composition.tsx +25 -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/full-width.tsx +24 -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/breadcrumb/examples/sizes.tsx +25 -0
- package/src/components/breadcrumb/examples/states.tsx +26 -0
- package/src/components/button/COMPONENT.md +106 -0
- package/src/components/button/examples/canonical-composition.tsx +46 -0
- package/src/components/button/examples/destructive-confirm.tsx +40 -0
- package/src/components/button/examples/form-submit-row.tsx +33 -0
- package/src/components/button/examples/full-width-stack.tsx +23 -0
- package/src/components/button/examples/icon-composition.tsx +63 -0
- package/src/components/button/examples/marketing-cta.tsx +26 -0
- package/src/components/button/examples/sizes-ladder.tsx +30 -0
- package/src/components/button/examples/toolbar.tsx +38 -0
- package/src/components/button-group/COMPONENT.md +143 -0
- 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/full-width.tsx +22 -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 +327 -0
- 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/mini-kpi.tsx +16 -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 +139 -0
- package/src/components/checkbox/examples/bulk-select-rows.tsx +52 -0
- package/src/components/checkbox/examples/empty-label-form.tsx +23 -0
- package/src/components/checkbox/examples/feature-flags-list.tsx +42 -0
- package/src/components/checkbox/examples/settings-panel.tsx +47 -0
- package/src/components/checkbox/examples/terms-acceptance.tsx +42 -0
- package/src/components/code-block/COMPONENT.md +103 -0
- 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/controlled.tsx +43 -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 +195 -0
- package/src/components/color-picker/examples/brand-kit.tsx +48 -0
- package/src/components/color-picker/examples/controlled-form-field.tsx +38 -0
- package/src/components/color-picker/examples/field-eyedropper.tsx +58 -0
- package/src/components/color-picker/examples/format-variants.tsx +58 -0
- package/src/components/color-picker/examples/full-width.tsx +49 -0
- package/src/components/color-picker/examples/hex-input-sizes.tsx +34 -0
- package/src/components/color-picker/examples/minimal-popover.tsx +26 -0
- package/src/components/color-picker/examples/panel-placement.tsx +68 -0
- package/src/components/color-picker/examples/product-variant-swatch.tsx +42 -0
- package/src/components/color-picker/examples/readout-trigger.tsx +70 -0
- package/src/components/color-picker/examples/states.tsx +79 -0
- package/src/components/color-picker/examples/theme-accent.tsx +41 -0
- package/src/components/command-menu/COMPONENT.md +214 -0
- package/src/components/command-menu/examples/app-palette.tsx +129 -0
- package/src/components/command-menu/examples/composition-tags-footer.tsx +131 -0
- package/src/components/command-menu/examples/controlled-open-search.tsx +76 -0
- package/src/components/command-menu/examples/disabled-items.tsx +77 -0
- package/src/components/command-menu/examples/file-search.tsx +98 -0
- package/src/components/command-menu/examples/full-width-panel.tsx +52 -0
- package/src/components/command-menu/examples/item-icon-as.tsx +48 -0
- package/src/components/command-menu/examples/quick-actions.tsx +74 -0
- package/src/components/command-menu/examples/variants-density-items.tsx +83 -0
- package/src/components/data-table/COMPONENT.md +140 -0
- package/src/components/data-table/examples/canonical-orders.tsx +107 -0
- package/src/components/data-table/examples/composition.tsx +91 -0
- package/src/components/data-table/examples/controlled-sort-and-page.tsx +66 -0
- package/src/components/data-table/examples/divider-styles.tsx +67 -0
- package/src/components/data-table/examples/examples-demos.module.css +78 -0
- package/src/components/data-table/examples/full-width.tsx +39 -0
- package/src/components/data-table/examples/highlight-and-striped.tsx +71 -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/sizes.tsx +85 -0
- package/src/components/data-table/examples/sorting-pagination.tsx +76 -0
- package/src/components/data-table/examples/states.tsx +44 -0
- package/src/components/data-table/examples/sticky-and-headers.tsx +113 -0
- package/src/components/data-table/examples/sticky-header-first-column.tsx +55 -0
- package/src/components/datepicker/COMPONENT.md +192 -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 +52 -0
- package/src/components/datepicker/examples/range-report.tsx +54 -0
- package/src/components/digit-input/COMPONENT.md +116 -0
- package/src/components/digit-input/examples/composition.tsx +24 -0
- package/src/components/digit-input/examples/controlled.tsx +26 -0
- package/src/components/digit-input/examples/error-state.tsx +12 -0
- package/src/components/digit-input/examples/features.tsx +30 -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 +17 -0
- package/src/components/digit-input/examples/sizes.tsx +23 -0
- package/src/components/digit-input/examples/states.tsx +22 -0
- package/src/components/digit-input/examples/verification-step.tsx +21 -0
- package/src/components/divider/COMPONENT.md +102 -0
- 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 +23 -0
- package/src/components/drawer/COMPONENT.md +130 -0
- package/src/components/drawer/examples/cart-preview.tsx +60 -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 +58 -0
- package/src/components/drawer/examples/mobile-nav-sheet.tsx +48 -0
- package/src/components/drawer/examples/settings-side.tsx +59 -0
- package/src/components/dropdown/COMPONENT.md +242 -0
- package/src/components/dropdown/examples/account-menu.tsx +50 -0
- package/src/components/dropdown/examples/actions-menu.tsx +36 -0
- package/src/components/dropdown/examples/as-child.tsx +26 -0
- package/src/components/dropdown/examples/composition.tsx +93 -0
- package/src/components/dropdown/examples/controlled.tsx +31 -0
- package/src/components/dropdown/examples/dropdown-examples.module.css +29 -0
- package/src/components/dropdown/examples/full-width.tsx +27 -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/dropdown/examples/sizes.tsx +99 -0
- package/src/components/dropdown/examples/states.tsx +20 -0
- package/src/components/dropdown/examples/variants.tsx +21 -0
- package/src/components/empty-page/COMPONENT.md +143 -0
- package/src/components/empty-page/examples/canonical.tsx +22 -0
- package/src/components/empty-page/examples/examples-demos.module.css +25 -0
- package/src/components/empty-page/examples/sizes.tsx +23 -0
- package/src/components/empty-page/examples/table-region.tsx +35 -0
- package/src/components/file-upload/COMPONENT.md +250 -0
- 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/custom-children.tsx +21 -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/file-upload/examples/full-width.tsx +32 -0
- package/src/components/hint/COMPONENT.md +111 -0
- package/src/components/hint/examples/a11y-describedby.tsx +21 -0
- package/src/components/hint/examples/controlled-variant.tsx +23 -0
- package/src/components/hint/examples/error-hint.tsx +20 -0
- package/src/components/hint/examples/field-help.tsx +25 -0
- package/src/components/hint/examples/field-states.tsx +34 -0
- package/src/components/hint/examples/inline-tip-form.tsx +40 -0
- package/src/components/hint/examples/sizes.tsx +13 -0
- package/src/components/hint/examples/success-confirmation.tsx +28 -0
- package/src/components/hint/examples/variants.tsx +12 -0
- package/src/components/hint/examples/with-icon.tsx +13 -0
- package/src/components/input/COMPONENT.md +140 -0
- package/src/components/input/examples/affix-url-and-amount.tsx +24 -0
- 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 +29 -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 +91 -0
- package/src/components/kbd/examples/combination-keys.tsx +22 -0
- package/src/components/kbd/examples/composition-chord-icon.tsx +34 -0
- package/src/components/kbd/examples/context-inherit-size.tsx +46 -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/sizes-ladder.tsx +21 -0
- package/src/components/kbd/examples/states-title.tsx +19 -0
- package/src/components/kbd/examples/toolbar-hints.tsx +31 -0
- package/src/components/label/COMPONENT.md +155 -0
- 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/mixed-required-optional.tsx +17 -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/sizes.tsx +37 -0
- package/src/components/label/examples/states.tsx +17 -0
- package/src/components/label/examples/sub-line.tsx +11 -0
- package/src/components/label/examples/with-icon.tsx +16 -0
- package/src/components/link-button/COMPONENT.md +108 -0
- package/src/components/link-button/examples/composition.tsx +27 -0
- package/src/components/link-button/examples/disabled.tsx +17 -0
- package/src/components/link-button/examples/external.tsx +13 -0
- package/src/components/link-button/examples/footer-legal.tsx +22 -0
- package/src/components/link-button/examples/inline-text-link.tsx +12 -0
- package/src/components/link-button/examples/navigation-cluster.tsx +16 -0
- package/src/components/link-button/examples/sizes.tsx +21 -0
- package/src/components/modal/COMPONENT.md +208 -0
- package/src/components/modal/examples/canonical-maximal.tsx +47 -0
- package/src/components/modal/examples/examples.module.css +13 -0
- package/src/components/modal/examples/pattern-close-behavior.tsx +56 -0
- package/src/components/modal/examples/pattern-controlled.tsx +41 -0
- package/src/components/modal/examples/pattern-full-width-footer.tsx +46 -0
- package/src/components/modal/examples/pattern-portal-and-scroll.tsx +84 -0
- package/src/components/modal/examples/scenario-confirm-delete.tsx +42 -0
- package/src/components/modal/examples/scenario-edit-entity.tsx +54 -0
- package/src/components/modal/examples/scenario-legal-consent.tsx +40 -0
- package/src/components/modal/examples/scenario-multi-field-form.tsx +73 -0
- package/src/components/notification/COMPONENT.md +156 -0
- package/src/components/notification/examples/action-toast.tsx +82 -0
- package/src/components/notification/examples/composition.tsx +90 -0
- package/src/components/notification/examples/controlled.tsx +87 -0
- package/src/components/notification/examples/error-success.tsx +68 -0
- package/src/components/notification/examples/features.tsx +102 -0
- package/src/components/notification/examples/notification-store.tsx +5 -0
- package/src/components/notification/examples/positions.tsx +73 -0
- package/src/components/notification/examples/sizes.tsx +53 -0
- package/src/components/notification/examples/states.tsx +143 -0
- package/src/components/notification/examples/toast-queue.tsx +5 -0
- package/src/components/notification/examples/variants.tsx +68 -0
- package/src/components/page-content/COMPONENT.md +128 -0
- package/src/components/pagination/COMPONENT.md +123 -0
- 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/features.tsx +107 -0
- package/src/components/pagination/examples/full-width-list.tsx +37 -0
- package/src/components/pagination/examples/range-modes.tsx +60 -0
- package/src/components/pagination/examples/sizes.tsx +50 -0
- package/src/components/pagination/examples/states.tsx +80 -0
- package/src/components/pagination/examples/table-footer.tsx +74 -0
- package/src/components/popover/COMPONENT.md +146 -0
- package/src/components/popover/examples/as-child.tsx +24 -0
- package/src/components/popover/examples/canonical-panel.tsx +24 -0
- package/src/components/popover/examples/composition.tsx +42 -0
- package/src/components/popover/examples/controlled.tsx +40 -0
- package/src/components/popover/examples/date-trigger.tsx +26 -0
- package/src/components/popover/examples/features.tsx +58 -0
- package/src/components/popover/examples/form-in-popover.tsx +71 -0
- package/src/components/popover/examples/full-width.tsx +27 -0
- package/src/components/popover/examples/inset-variants.tsx +46 -0
- package/src/components/popover/examples/placement.tsx +37 -0
- package/src/components/popover/examples/popover-examples.module.css +104 -0
- package/src/components/popover/examples/rich-content.tsx +37 -0
- package/src/components/popover/examples/sizes.tsx +30 -0
- package/src/components/popover/examples/states.tsx +36 -0
- package/src/components/progress-bar/COMPONENT.md +101 -0
- 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/sizes.tsx +13 -0
- package/src/components/progress-bar/examples/step-progress.tsx +22 -0
- package/src/components/progress-bar/examples/upload-progress.tsx +27 -0
- package/src/components/progress-bar/examples/values.tsx +13 -0
- package/src/components/progress-bar/examples/wizard-composition.tsx +18 -0
- package/src/components/progress-circle/COMPONENT.md +97 -0
- package/src/components/progress-circle/examples/a11y-label.tsx +33 -0
- package/src/components/progress-circle/examples/composition.tsx +66 -0
- package/src/components/progress-circle/examples/controlled.tsx +53 -0
- package/src/components/progress-circle/examples/dashboard-ring.tsx +31 -0
- package/src/components/progress-circle/examples/max-scale.tsx +61 -0
- package/src/components/progress-circle/examples/sizes.tsx +77 -0
- package/src/components/progress-circle/examples/states.tsx +87 -0
- package/src/components/radio/COMPONENT.md +137 -0
- package/src/components/radio/examples/notification-channel.tsx +29 -0
- package/src/components/radio/examples/plan-picker.tsx +50 -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 +121 -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/composition.tsx +55 -0
- package/src/components/segmented-control/examples/controlled.tsx +23 -0
- package/src/components/segmented-control/examples/features.tsx +45 -0
- package/src/components/segmented-control/examples/full-width.tsx +16 -0
- package/src/components/segmented-control/examples/pricing-toggle.tsx +39 -0
- package/src/components/segmented-control/examples/segmented-examples.module.css +41 -0
- package/src/components/segmented-control/examples/sizes.tsx +51 -0
- package/src/components/segmented-control/examples/states.tsx +43 -0
- package/src/components/segmented-control/examples/view-mode.tsx +52 -0
- package/src/components/segmented-progress-bar/COMPONENT.md +119 -0
- 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 +232 -0
- package/src/components/select/examples/01-country.tsx +35 -0
- package/src/components/select/examples/02-controlled.tsx +33 -0
- package/src/components/select/examples/03-groups.tsx +43 -0
- package/src/components/select/examples/04-full-width-form.tsx +47 -0
- package/src/components/select/examples/examples.module.css +48 -0
- package/src/components/select/examples/pattern-composition.tsx +40 -0
- package/src/components/select/examples/pattern-controlled.tsx +29 -0
- package/src/components/select/examples/pattern-features.tsx +33 -0
- package/src/components/select/examples/pattern-full-width.tsx +21 -0
- package/src/components/select/examples/pattern-native.tsx +14 -0
- package/src/components/select/examples/pattern-sizes.tsx +51 -0
- package/src/components/select/examples/pattern-states.tsx +47 -0
- package/src/components/slider/COMPONENT.md +86 -0
- package/src/components/slider/examples/composition.tsx +14 -0
- package/src/components/slider/examples/controlled.tsx +23 -0
- package/src/components/slider/examples/examples.module.css +37 -0
- package/src/components/slider/examples/features.tsx +17 -0
- package/src/components/slider/examples/full-width.tsx +12 -0
- package/src/components/slider/examples/sizes.tsx +15 -0
- package/src/components/slider/examples/states.tsx +11 -0
- package/src/components/stepper/COMPONENT.md +221 -0
- 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/composition.tsx +31 -0
- package/src/components/stepper/examples/controlled.tsx +49 -0
- package/src/components/stepper/examples/examples.module.css +81 -0
- package/src/components/stepper/examples/features.tsx +29 -0
- package/src/components/stepper/examples/full-width.tsx +34 -0
- package/src/components/stepper/examples/low-level-api.tsx +58 -0
- package/src/components/stepper/examples/orientation.tsx +52 -0
- package/src/components/stepper/examples/polymorphic-as.tsx +51 -0
- package/src/components/stepper/examples/sizes.tsx +71 -0
- package/src/components/stepper/examples/states.tsx +44 -0
- package/src/components/switch/COMPONENT.md +156 -0
- package/src/components/switch/examples/canonical-maximal.tsx +19 -0
- package/src/components/switch/examples/composition.tsx +23 -0
- package/src/components/switch/examples/controlled.tsx +18 -0
- package/src/components/switch/examples/examples.module.css +65 -0
- package/src/components/switch/examples/form-features.tsx +31 -0
- package/src/components/switch/examples/full-width.tsx +15 -0
- package/src/components/switch/examples/scenario-billing-annual.tsx +27 -0
- package/src/components/switch/examples/scenario-feature-flag.tsx +25 -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/switch/examples/sizes.tsx +23 -0
- package/src/components/switch/examples/states.tsx +32 -0
- package/src/components/switch/examples/variants.tsx +19 -0
- package/src/components/tabs/COMPONENT.md +147 -0
- package/src/components/tabs/examples/01-settings-vertical-rail.tsx +44 -0
- package/src/components/tabs/examples/02-dashboard-subviews.tsx +42 -0
- package/src/components/tabs/examples/03-tab-triggers-with-icons.tsx +62 -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/06-sizes-s-m-l-xl.tsx +58 -0
- package/src/components/tabs/examples/07-horizontal-disabled.tsx +40 -0
- package/src/components/tabs/examples/examples.module.css +79 -0
- package/src/components/tag/COMPONENT.md +97 -0
- 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/basic.tsx +14 -0
- package/src/components/tag/examples/composition.tsx +19 -0
- package/src/components/tag/examples/context-size.tsx +17 -0
- package/src/components/tag/examples/controlled.tsx +26 -0
- package/src/components/tag/examples/disabled.tsx +15 -0
- package/src/components/tag/examples/examples.module.css +20 -0
- package/src/components/tag/examples/removable.tsx +22 -0
- package/src/components/tag/examples/sizes.tsx +15 -0
- package/src/components/tag/examples/states.tsx +17 -0
- package/src/components/tag/examples/with-icon.tsx +23 -0
- package/src/components/textarea/COMPONENT.md +132 -0
- package/src/components/textarea/examples/01-support-ticket.tsx +34 -0
- package/src/components/textarea/examples/02-comment.tsx +34 -0
- package/src/components/textarea/examples/composition.tsx +21 -0
- package/src/components/textarea/examples/controlled.tsx +17 -0
- package/src/components/textarea/examples/examples.module.css +33 -0
- package/src/components/textarea/examples/features.tsx +56 -0
- package/src/components/textarea/examples/full-width.tsx +14 -0
- package/src/components/textarea/examples/sizes.tsx +21 -0
- package/src/components/textarea/examples/states.tsx +19 -0
- package/src/components/textarea/examples/variants.tsx +15 -0
- package/src/components/tooltip/COMPONENT.md +148 -0
- package/src/components/tooltip/examples/canonical-icon-hint.tsx +19 -0
- package/src/components/tooltip/examples/composition.tsx +38 -0
- package/src/components/tooltip/examples/controlled.tsx +31 -0
- package/src/components/tooltip/examples/delay.tsx +31 -0
- package/src/components/tooltip/examples/examples.module.css +67 -0
- package/src/components/tooltip/examples/long-content.tsx +34 -0
- package/src/components/tooltip/examples/side.tsx +69 -0
- package/src/components/tooltip/examples/sizes.tsx +69 -0
- package/src/components/tooltip/examples/states.tsx +57 -0
- package/src/components/tooltip/examples/surfaces.tsx +54 -0
- package/src/components/typography/COMPONENT.md +127 -0
- 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/as-prop.tsx +25 -0
- package/src/components/typography/examples/composition.tsx +29 -0
- package/src/components/typography/examples/examples.module.css +95 -0
- package/src/components/typography/examples/full-width.tsx +32 -0
- package/src/components/typography/examples/reading-and-form.tsx +40 -0
- package/src/components/typography/examples/states.tsx +27 -0
- package/src/components/typography/examples/variant-catalog.tsx +107 -0
- package/src/components/typography/examples/variants.tsx +61 -0
- package/src/layout/app-shell/COMPONENT.md +140 -0
- package/src/layout/sidebar/COMPONENT.md +160 -0
- package/src/layout/sidebar/examples/01-app-shell-nav.tsx +89 -0
- package/src/layout/sidebar/examples/02-collapsible-desktop.tsx +74 -0
- package/src/layout/sidebar/examples/03-controlled-state.tsx +82 -0
- package/src/layout/sidebar/examples/04-router-navigation.tsx +80 -0
- package/src/layout/sidebar/examples/05-responsive-behavior.tsx +56 -0
- package/src/layout/sidebar/examples/examples.module.css +67 -0
- package/src/styles/globals.css +91 -0
- package/src/styles/reset.css +35 -0
- package/src/styles/theme-dark.css +465 -0
- package/src/styles/theme-light.css +466 -0
- package/src/styles/tokens.css +267 -0
- package/src/styles/units.css +106 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Mirrors `playground/snippets/label/mixed-required-optional.tsx`: asterisk vs optional `Label.Sub`. */
|
|
4
|
+
export function LabelMixedRequiredOptionalExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Label.Root htmlFor="example-label-mx-1">
|
|
8
|
+
Contract number
|
|
9
|
+
<Label.Asterisk />
|
|
10
|
+
</Label.Root>
|
|
11
|
+
<Label.Root htmlFor="example-label-mx-2">
|
|
12
|
+
Order note
|
|
13
|
+
<Label.Sub>optional</Label.Sub>
|
|
14
|
+
</Label.Root>
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Optional field: clarify in `Label.Sub` without a required marker on the control. */
|
|
4
|
+
export function OptionalFieldExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Label.Root htmlFor="example-label-optional-note">
|
|
8
|
+
Internal comment
|
|
9
|
+
<Label.Sub>optional</Label.Sub>
|
|
10
|
+
</Label.Root>
|
|
11
|
+
<input id="example-label-optional-note" type="text" name="note" />
|
|
12
|
+
</>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Required field: visual marker via `Label.Asterisk`; semantics via `required` on the control. */
|
|
4
|
+
export function RequiredFieldExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Label.Root htmlFor="example-label-required-email">
|
|
8
|
+
Work email
|
|
9
|
+
<Label.Asterisk />
|
|
10
|
+
</Label.Root>
|
|
11
|
+
<input
|
|
12
|
+
id="example-label-required-email"
|
|
13
|
+
type="email"
|
|
14
|
+
name="email"
|
|
15
|
+
required
|
|
16
|
+
autoComplete="email"
|
|
17
|
+
/>
|
|
18
|
+
</>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Icon, Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Mirrors `playground/snippets/label/sizes.tsx`: plain text and `Label.Icon` rows for `s`–`xl`. */
|
|
4
|
+
export function LabelSizesExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Label.Root size="s">Label s</Label.Root>
|
|
8
|
+
<Label.Root size="m">Label m</Label.Root>
|
|
9
|
+
<Label.Root size="l">Label l</Label.Root>
|
|
10
|
+
<Label.Root size="xl">Label xl</Label.Root>
|
|
11
|
+
<Label.Root size="s">
|
|
12
|
+
<Label.Icon>
|
|
13
|
+
<Icon aria-hidden name="nav.home" />
|
|
14
|
+
</Label.Icon>
|
|
15
|
+
Label s
|
|
16
|
+
</Label.Root>
|
|
17
|
+
<Label.Root size="m">
|
|
18
|
+
<Label.Icon>
|
|
19
|
+
<Icon aria-hidden name="nav.home" />
|
|
20
|
+
</Label.Icon>
|
|
21
|
+
Label m
|
|
22
|
+
</Label.Root>
|
|
23
|
+
<Label.Root size="l">
|
|
24
|
+
<Label.Icon>
|
|
25
|
+
<Icon aria-hidden name="nav.home" />
|
|
26
|
+
</Label.Icon>
|
|
27
|
+
Label l
|
|
28
|
+
</Label.Root>
|
|
29
|
+
<Label.Root size="xl">
|
|
30
|
+
<Label.Icon>
|
|
31
|
+
<Icon aria-hidden name="nav.home" />
|
|
32
|
+
</Label.Icon>
|
|
33
|
+
Label xl
|
|
34
|
+
</Label.Root>
|
|
35
|
+
</>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Mirrors `playground/snippets/label/states.tsx`: default, `disabled`, and `Label.Asterisk`. */
|
|
4
|
+
export function LabelStatesExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Label.Root htmlFor="example-label-st-1">Profile display name</Label.Root>
|
|
8
|
+
<Label.Root htmlFor="example-label-st-2" disabled>
|
|
9
|
+
Read-only field
|
|
10
|
+
</Label.Root>
|
|
11
|
+
<Label.Root htmlFor="example-label-st-3">
|
|
12
|
+
Phone
|
|
13
|
+
<Label.Asterisk />
|
|
14
|
+
</Label.Root>
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Mirrors `playground/snippets/label/sub-line.tsx`: short secondary line via `Label.Sub`. */
|
|
4
|
+
export function LabelSubLineExample() {
|
|
5
|
+
return (
|
|
6
|
+
<Label.Root htmlFor="example-label-sub-budget">
|
|
7
|
+
Campaign budget
|
|
8
|
+
<Label.Sub>in RUB, excluding VAT</Label.Sub>
|
|
9
|
+
</Label.Root>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Icon, Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Icon slot: size follows `Label.Root`; hide decorative glyphs from assistive tech. */
|
|
4
|
+
export function WithIconExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Label.Root htmlFor="example-label-icon-upload">
|
|
8
|
+
<Label.Icon>
|
|
9
|
+
<Icon aria-hidden name="action.upload" />
|
|
10
|
+
</Label.Icon>
|
|
11
|
+
Attachment
|
|
12
|
+
</Label.Root>
|
|
13
|
+
<input id="example-label-icon-upload" type="file" name="attachment" />
|
|
14
|
+
</>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# LinkButton
|
|
2
|
+
|
|
3
|
+
**Проектирование по умолчанию:** при проектировании экранов и примеров изначально выбирай **`m`** для `size` (где есть ось размера), если явно не оговорено иное.
|
|
4
|
+
|
|
5
|
+
## Canonical
|
|
6
|
+
|
|
7
|
+
Text-style **navigation** control: **`LinkButton.Root`** only — control typography, inline-flex, underline on hover / `:focus-visible`, sizes **`s`–`xl`**. Import **`LinkButton`** from **`prime-ui-kit`**.
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { LinkButton } from "prime-ui-kit";
|
|
11
|
+
|
|
12
|
+
<LinkButton.Root href="/settings">
|
|
13
|
+
Settings
|
|
14
|
+
</LinkButton.Root>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| Piece | Role |
|
|
18
|
+
|--------|------|
|
|
19
|
+
| `LinkButton.Root` | `<a>` with anchor props, or `<span role="link">` when `disabled` |
|
|
20
|
+
|
|
21
|
+
### Playground demos
|
|
22
|
+
|
|
23
|
+
Порядок и смысл совпадают с **`playground/sections/LinkButtonSection.tsx`**. Исходники с импортами **`@/`** — в **`playground/snippets/link-button/`**:
|
|
24
|
+
|
|
25
|
+
| Блок в секции | Сниппет | Содержание |
|
|
26
|
+
|---------------|---------|------------|
|
|
27
|
+
| Размеры | [`sizes.tsx`](../../../playground/snippets/link-button/sizes.tsx) | **`size`** **`s`**–**`xl`**, подписи **LinkButton s** … **xl** |
|
|
28
|
+
| Состояния | [`states.tsx`](../../../playground/snippets/link-button/states.tsx) | Активная с **`href`** и **`disabled`** (span, без перехода) |
|
|
29
|
+
| Композиция с иконками | [`composition.tsx`](../../../playground/snippets/link-button/composition.tsx) | **`Icon`** слева/справа, только иконка + **`aria-label`** |
|
|
30
|
+
| Внешняя ссылка | [`external-link.tsx`](../../../playground/snippets/link-button/external-link.tsx) | **`target="_blank"`** и **`rel="noopener noreferrer"`** |
|
|
31
|
+
|
|
32
|
+
### Примеры в `examples/`
|
|
33
|
+
|
|
34
|
+
Импорт **`"prime-ui-kit"`** — для копипаста в приложение. Зеркала сниппетов (та же структура и сценарий):
|
|
35
|
+
|
|
36
|
+
| Файл | Сниппет playground |
|
|
37
|
+
|------|-------------------|
|
|
38
|
+
| [`sizes.tsx`](examples/sizes.tsx) | [`sizes.tsx`](../../../playground/snippets/link-button/sizes.tsx) |
|
|
39
|
+
| [`disabled.tsx`](examples/disabled.tsx) | [`states.tsx`](../../../playground/snippets/link-button/states.tsx) |
|
|
40
|
+
| [`composition.tsx`](examples/composition.tsx) | [`composition.tsx`](../../../playground/snippets/link-button/composition.tsx) |
|
|
41
|
+
| [`external.tsx`](examples/external.tsx) | [`external-link.tsx`](../../../playground/snippets/link-button/external-link.tsx) |
|
|
42
|
+
|
|
43
|
+
Дополнительные сценарии (отдельного фрейма в playground нет):
|
|
44
|
+
|
|
45
|
+
| Файл | Сценарий |
|
|
46
|
+
|------|----------|
|
|
47
|
+
| [`inline-text-link.tsx`](examples/inline-text-link.tsx) | Встроенная ссылка в абзаце, **`size="m"`** |
|
|
48
|
+
| [`footer-legal.tsx`](examples/footer-legal.tsx) | Плотный ряд legal, **`size="s"`** |
|
|
49
|
+
| [`navigation-cluster.tsx`](examples/navigation-cluster.tsx) | Горизонтальная навигация с разделителями |
|
|
50
|
+
|
|
51
|
+
## Extended
|
|
52
|
+
|
|
53
|
+
### About
|
|
54
|
+
|
|
55
|
+
- **Use** for in-app routes and sections when the UI should read as a **link**, not a filled button.
|
|
56
|
+
- **Use** inline in copy (help, legal, helper text) where a compact or scaled text link fits the layout; smaller tiers often use **`size="s"`** in footers and dense chrome.
|
|
57
|
+
- **Use** when nested icons should follow **control** size tokens — **`size`** sets **`ControlSizeProvider`** for children.
|
|
58
|
+
- **Do not use** for actions that do not navigate (submit, toggle, open dialogs); use **Button** or another control.
|
|
59
|
+
- **Do not use** expecting **`asChild`** or polymorphic roots; you cannot attach these styles to a child router **`Link`** via one prop.
|
|
60
|
+
- **Do not use** **`disabled`** to mean “still in tab order with full link semantics”; disabled mode removes focus and drops anchor attributes (see Rules).
|
|
61
|
+
|
|
62
|
+
### Composition
|
|
63
|
+
|
|
64
|
+
- **`LinkButton`** — namespace object with **`LinkButton.Root`** only.
|
|
65
|
+
- **`LinkButton.Root`** — when **`disabled`** is false (default), renders **`<a>`** with anchor attributes from props and wraps **`children`** in **`ControlSizeProvider`** for **`size`**.
|
|
66
|
+
- When **`disabled`** is true, renders **`<span role="link">`** with **`aria-disabled="true"`**, **`tabIndex={-1}`**, and the same size context — no **`href`** or other spread anchor props on the DOM node.
|
|
67
|
+
|
|
68
|
+
### Rules
|
|
69
|
+
|
|
70
|
+
- **`size`** defaults to **`m`**; valid values are **`"s"`**, **`"m"`**, **`"l"`**, **`"xl"`** (control token tier).
|
|
71
|
+
- With **`disabled={true}`**, anchor props (including **`href`**, **`target`**, **`onClick`**) are **not** applied — the root is a **`span`**; do not rely on them for accessibility or behavior in that mode.
|
|
72
|
+
- Active link: native **`<a>`** with your **`href`**; keyboard **Enter** activates like a normal link.
|
|
73
|
+
- Disabled presentation: **`role="link"`**, **`aria-disabled="true"`**, **`tabIndex={-1}`** — not in tab order by default; avoid if the item should remain focusable as a link.
|
|
74
|
+
- For **icon-only** links, provide a name (**`aria-label`** or visible text).
|
|
75
|
+
- For **`target="_blank"`**, set **`rel="noopener noreferrer"`** (and warn in UI if policy requires it).
|
|
76
|
+
- There is no loading or error variant; for async work without navigation, prefer **Button** (or another pattern).
|
|
77
|
+
- One visual style only (no **`variant`**); hierarchy comes from **`size`** and surrounding layout. No built-in **`fullWidth`** — use layout or **`className`** on the root if you need block-level stretch.
|
|
78
|
+
- **`ref`** is forwarded to the DOM root (**`<a>`** or the disabled **`<span>`**); the public ref type is **`HTMLAnchorElement`** even though the disabled node is a **`span`**.
|
|
79
|
+
|
|
80
|
+
### API
|
|
81
|
+
|
|
82
|
+
#### LinkButton.Root
|
|
83
|
+
|
|
84
|
+
| Prop | Type | Default | Required | Description |
|
|
85
|
+
|------|------|---------|----------|-------------|
|
|
86
|
+
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Control height / type scale; size context for nested icons via `ControlSizeProvider`. |
|
|
87
|
+
| disabled | `boolean` | `false` | No | Renders `span` with `role="link"` instead of `a`; no navigation. |
|
|
88
|
+
| children | `React.ReactNode` | — | No | Link content (text, icons, etc.). |
|
|
89
|
+
| className | `string` | — | No | Additional class on the root element. |
|
|
90
|
+
| href | `string` | — | No | Navigation target on the active `<a>`; ignored when `disabled` (no `href` on the span). |
|
|
91
|
+
| …anchorProps | `React.AnchorHTMLAttributes<HTMLAnchorElement>` | — | No | Other anchor attributes forwarded to `<a>` only when `disabled` is false (`target`, `rel`, `download`, `onClick`, `aria-*`, `tabIndex`, etc.); `ref` targets `<a>` or the disabled `<span>`. |
|
|
92
|
+
|
|
93
|
+
### Related
|
|
94
|
+
|
|
95
|
+
- [Button](../button/COMPONENT.md) — actions, forms, loading/disabled without link semantics.
|
|
96
|
+
- [Breadcrumb](../breadcrumb/COMPONENT.md) — trail navigation; items may use `LinkButton` internally.
|
|
97
|
+
- [Typography](../typography/COMPONENT.md) — body text and inline links without control padding; `LinkButton` matches control alignment and scale.
|
|
98
|
+
|
|
99
|
+
## LLM note
|
|
100
|
+
|
|
101
|
+
- **Import:** `import { LinkButton } from "prime-ui-kit"` — render **`LinkButton.Root`**; there is no flat **`LinkButton`** element export.
|
|
102
|
+
- **Semantics:** Prefer **`LinkButton`** over **`Button`** when the primary affordance is **navigation** (URL change), not a command.
|
|
103
|
+
- **`disabled`:** Forces **`span`** + **`aria-disabled`**; **`href` / `onClick` / `target`** from props are **ignored** — do not pass them expecting behavior.
|
|
104
|
+
- **External / new tab:** Always pair **`target="_blank"`** with **`rel="noopener noreferrer"`**.
|
|
105
|
+
- **Router:** No **`asChild`** — wrap router **`Link`** by styling it separately or use plain **`<a href>`** from the kit; do not invent a polymorphic API.
|
|
106
|
+
- **Density:** Footer and legal rows → often **`size="s"`**; primary in-sentence link in body copy → usually **`m`** unless the surrounding control tier dictates otherwise.
|
|
107
|
+
- **Icons:** Children can include **`Icon`**; size context flows from **`LinkButton.Root`** — keep icon tier consistent with **`size`** on the root.
|
|
108
|
+
- **Verification:** Таблицы **Playground demos** и **Примеры в `examples/`** выше; исходники сниппетов — `playground/snippets/link-button/*.tsx`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Icon, LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Icons inside root pick up control size context — mirrors [`playground/snippets/link-button/composition.tsx`](../../../../playground/snippets/link-button/composition.tsx). */
|
|
4
|
+
export default function LinkButtonCompositionExample() {
|
|
5
|
+
const rowStyle = {
|
|
6
|
+
display: "flex" as const,
|
|
7
|
+
flexWrap: "wrap" as const,
|
|
8
|
+
gap: "var(--prime-sys-spacing-m)",
|
|
9
|
+
alignItems: "center" as const,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div style={rowStyle}>
|
|
14
|
+
<LinkButton.Root href="#">
|
|
15
|
+
<Icon name="field.email" size="s" />
|
|
16
|
+
Link with icon on the left
|
|
17
|
+
</LinkButton.Root>
|
|
18
|
+
<LinkButton.Root href="#">
|
|
19
|
+
Icon on the right
|
|
20
|
+
<Icon name="action.close" size="s" />
|
|
21
|
+
</LinkButton.Root>
|
|
22
|
+
<LinkButton.Root href="#" aria-label="Open profile">
|
|
23
|
+
<Icon name="field.email" size="s" />
|
|
24
|
+
</LinkButton.Root>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Active vs <code>disabled</code> — same intent as [`playground/snippets/link-button/states.tsx`](../../../../playground/snippets/link-button/states.tsx).
|
|
5
|
+
* Disabled link is a <code>span</code> with <code>role="link"</code> — no <code>href</code>, anchor props are not applied.
|
|
6
|
+
* Do not use for “still focusable”; use <code>aria-disabled</code> on a real control pattern if that is required.
|
|
7
|
+
*/
|
|
8
|
+
export default function LinkButtonDisabledExample() {
|
|
9
|
+
return (
|
|
10
|
+
<div>
|
|
11
|
+
<LinkButton.Root href="/available">Available route</LinkButton.Root>
|
|
12
|
+
<LinkButton.Root href="/ignored-when-disabled" disabled>
|
|
13
|
+
Coming soon
|
|
14
|
+
</LinkButton.Root>
|
|
15
|
+
</div>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** External URL in a new tab — mirrors [`playground/snippets/link-button/external-link.tsx`](../../../../playground/snippets/link-button/external-link.tsx); always set <code>rel="noopener noreferrer"</code> with <code>target="_blank"</code>. */
|
|
4
|
+
export default function LinkButtonExternalExample() {
|
|
5
|
+
return (
|
|
6
|
+
<p>
|
|
7
|
+
Documentation in a separate tab:{" "}
|
|
8
|
+
<LinkButton.Root href="https://example.com/docs" target="_blank" rel="noopener noreferrer">
|
|
9
|
+
Open help
|
|
10
|
+
</LinkButton.Root>
|
|
11
|
+
</p>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Dense footer legal row: smaller control tier keeps the strip compact. */
|
|
4
|
+
export default function LinkButtonFooterLegalExample() {
|
|
5
|
+
return (
|
|
6
|
+
<footer>
|
|
7
|
+
<nav aria-label="Legal">
|
|
8
|
+
<LinkButton.Root href="/privacy" size="s">
|
|
9
|
+
Privacy
|
|
10
|
+
</LinkButton.Root>
|
|
11
|
+
<span aria-hidden> · </span>
|
|
12
|
+
<LinkButton.Root href="/terms" size="s">
|
|
13
|
+
Terms
|
|
14
|
+
</LinkButton.Root>
|
|
15
|
+
<span aria-hidden> · </span>
|
|
16
|
+
<LinkButton.Root href="/cookies" size="s">
|
|
17
|
+
Cookie policy
|
|
18
|
+
</LinkButton.Root>
|
|
19
|
+
</nav>
|
|
20
|
+
</footer>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Inline link inside body copy: same line as surrounding text, default control tier. */
|
|
4
|
+
export default function LinkButtonInlineTextLinkExample() {
|
|
5
|
+
return (
|
|
6
|
+
<p>
|
|
7
|
+
Need more detail? See{" "}
|
|
8
|
+
<LinkButton.Root href="/docs/billing">billing documentation</LinkButton.Root> for proration
|
|
9
|
+
rules.
|
|
10
|
+
</p>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Horizontal cluster of primary nav targets; named <code>nav</code> + text separators (layout can move to page grid/flex). */
|
|
4
|
+
export default function LinkButtonNavigationClusterExample() {
|
|
5
|
+
return (
|
|
6
|
+
<nav aria-label="Product sections">
|
|
7
|
+
<LinkButton.Root href="/product/overview">Overview</LinkButton.Root>
|
|
8
|
+
<span aria-hidden> · </span>
|
|
9
|
+
<LinkButton.Root href="/product/pricing">Pricing</LinkButton.Root>
|
|
10
|
+
<span aria-hidden> · </span>
|
|
11
|
+
<LinkButton.Root href="/product/security">Security</LinkButton.Root>
|
|
12
|
+
<span aria-hidden> · </span>
|
|
13
|
+
<LinkButton.Root href="/product/changelog">Changelog</LinkButton.Root>
|
|
14
|
+
</nav>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LinkButton } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** `size` ladder `s`–`xl` — mirrors [`playground/snippets/link-button/sizes.tsx`](../../../../playground/snippets/link-button/sizes.tsx). */
|
|
4
|
+
export default function LinkButtonSizesExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<LinkButton.Root href="#" size="s">
|
|
8
|
+
LinkButton s
|
|
9
|
+
</LinkButton.Root>
|
|
10
|
+
<LinkButton.Root href="#" size="m">
|
|
11
|
+
LinkButton m
|
|
12
|
+
</LinkButton.Root>
|
|
13
|
+
<LinkButton.Root href="#" size="l">
|
|
14
|
+
LinkButton l
|
|
15
|
+
</LinkButton.Root>
|
|
16
|
+
<LinkButton.Root href="#" size="xl">
|
|
17
|
+
LinkButton xl
|
|
18
|
+
</LinkButton.Root>
|
|
19
|
+
</>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Modal
|
|
2
|
+
|
|
3
|
+
## About
|
|
4
|
+
|
|
5
|
+
Centered overlay dialog with a portal, backdrop, focus trap, scroll lock, and optional built-in header, body, and footer. `Modal.Panel` composes these pieces so consumers rarely touch internal layers.
|
|
6
|
+
|
|
7
|
+
- **Use** for blocking confirmation, forms, or disclosures that need full attention and clear dismiss semantics.
|
|
8
|
+
- **Use** when Escape, overlay click, and an explicit close control should all be able to dismiss the dialog (configurable on `Modal.Root`).
|
|
9
|
+
- **Do not use** for non-blocking hints or menus; prefer lighter overlays (for example [Popover](../popover/COMPONENT.md)).
|
|
10
|
+
- **Do not use** for edge-docked sheets; prefer [Drawer](../drawer/COMPONENT.md) when the pattern is a side panel.
|
|
11
|
+
- **Do not use** nested modal stacks without extra focus and stacking discipline; the kit does not add a second modal layer API.
|
|
12
|
+
|
|
13
|
+
## Composition
|
|
14
|
+
|
|
15
|
+
- **`Modal.Root`** — holds open state (controlled via **`open`** / **`onOpenChange`** or uncontrolled via **`defaultOpen`**), and options **`closeOnEscape`** / **`closeOnOverlayClick`**, **`confirmOnEnter`** / **`onEnterConfirm`** (подтверждение по Enter). Renders **`children`** only (no DOM wrapper).
|
|
16
|
+
- **`Modal.Trigger`** — optional; **`React.Children.only`**: pass **exactly one** React element; its **`onClick`** is merged to call **`onOpen`** when the event is not **`defaultPrevented`**.
|
|
17
|
+
- **`Modal.Panel`** — when open: **`createPortal`** (default container `document.body`), fullscreen **`role="presentation"`** overlay, then **`role="dialog"`** with **`aria-modal="true"`**. If **`title`** is set, renders an internal header (**`h2`**, optional description, optional built-in close icon button), wraps **`children`** in an internal body, and optional **`footer`**. Without **`title`**, **`children`** render directly inside the dialog surface—supply **`aria-label`** or **`aria-labelledby`** (and **`aria-describedby`** when needed).
|
|
18
|
+
- **`Modal.Close`** — same single-child contract as **`Trigger`**; merges **`onClick`** and **`ref`** to the child so **`Modal.Footer`** **`primary`** can register the DOM node for Enter. Typical placement: a control inside **`Modal.Footer`** (for example **Cancel** or **Save** when saving should dismiss the dialog).
|
|
19
|
+
- **`Modal.Footer`** — **`footer`** prop on **`Modal.Panel`**: предпочтительно **`Modal.Footer`** со слотами **`secondary`** (отмена, слева/раньше в разметке), **`extra`** (дополнительные кнопки между отменой и подтверждением), **`primary`** (основное действие и цель **Enter** при **`confirmOnEnter`**). Порядок в DOM: **`secondary` → `extra` → `primary`** (в LTR с **`justify-content: flex-end`** основная кнопка справа). **`primary`** — один **`React.ReactElement`** (например **`Button.Root`** или **`Modal.Close`** с кнопкой). Произвольная разметка без **`Modal.Footer`** — допустима как **`footer`**, но подтверждение по Enter к целевой кнопке не привязывается.
|
|
20
|
+
- **Order:** **`Modal.Root`** → **`Modal.Trigger`** (if any) and **`Modal.Panel`** as siblings (or only **`Modal.Panel`** in controlled flows).
|
|
21
|
+
|
|
22
|
+
### Minimal example
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
import { Button, Modal } from "prime-ui-kit";
|
|
26
|
+
|
|
27
|
+
export function Example() {
|
|
28
|
+
return (
|
|
29
|
+
<Modal.Root>
|
|
30
|
+
<Modal.Trigger>
|
|
31
|
+
<Button.Root>Open</Button.Root>
|
|
32
|
+
</Modal.Trigger>
|
|
33
|
+
<Modal.Panel title="Title">
|
|
34
|
+
<p>Content</p>
|
|
35
|
+
</Modal.Panel>
|
|
36
|
+
</Modal.Root>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Canonical example (full shell)
|
|
42
|
+
|
|
43
|
+
Use this when you want the complete header row (**`title`**, **`description`**, **`icon`**), a form field in the body, and a **`Modal.Footer`** with **`secondary`** (**Cancel** via **`Modal.Close`**) and **`primary`**. The header still shows the built-in icon close button by default (`showClose`).
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
import { Button, Icon, Input, Modal } from "prime-ui-kit";
|
|
47
|
+
|
|
48
|
+
export function InviteTeammateModal() {
|
|
49
|
+
return (
|
|
50
|
+
<Modal.Root>
|
|
51
|
+
<Modal.Trigger>
|
|
52
|
+
<Button.Root variant="neutral" mode="stroke">
|
|
53
|
+
Open workspace invite
|
|
54
|
+
</Button.Root>
|
|
55
|
+
</Modal.Trigger>
|
|
56
|
+
<Modal.Panel
|
|
57
|
+
title="Invite teammate"
|
|
58
|
+
description="We will send one invitation email. The recipient can accept or decline."
|
|
59
|
+
icon={<Icon name="field.email" tone="subtle" />}
|
|
60
|
+
footer={
|
|
61
|
+
<Modal.Footer
|
|
62
|
+
primary={
|
|
63
|
+
<Button.Root variant="primary" type="button">
|
|
64
|
+
Send invite
|
|
65
|
+
</Button.Root>
|
|
66
|
+
}
|
|
67
|
+
secondary={
|
|
68
|
+
<Modal.Close>
|
|
69
|
+
<Button.Root variant="neutral" mode="stroke">
|
|
70
|
+
Cancel
|
|
71
|
+
</Button.Root>
|
|
72
|
+
</Modal.Close>
|
|
73
|
+
}
|
|
74
|
+
/>
|
|
75
|
+
}
|
|
76
|
+
>
|
|
77
|
+
<Input.Root label="Email address" hint="Work email preferred">
|
|
78
|
+
<Input.Wrapper>
|
|
79
|
+
<Input.Field autoComplete="email" placeholder="name@company.com" type="email" />
|
|
80
|
+
</Input.Wrapper>
|
|
81
|
+
</Input.Root>
|
|
82
|
+
</Modal.Panel>
|
|
83
|
+
</Modal.Root>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Source of truth (stays in sync with the block above): `examples/canonical-maximal.tsx`.
|
|
89
|
+
|
|
90
|
+
### Playground snippets (live demos)
|
|
91
|
+
|
|
92
|
+
These files power **`playground/sections/ModalSection.tsx`** (Russian copy in UI strings). Order matches the section.
|
|
93
|
+
|
|
94
|
+
| File | Intent |
|
|
95
|
+
|------|--------|
|
|
96
|
+
| `playground/snippets/modal/composition.tsx` | Several **`Modal.Root`** demos: header-only, header+body, form, **`LinkButton`** trigger, legal-style copy |
|
|
97
|
+
| `playground/snippets/modal/states.tsx` | Default Escape/overlay dismiss vs **`closeOnEscape={false}`** **`closeOnOverlayClick={false}`** + **`showClose={false}`** |
|
|
98
|
+
| `playground/snippets/modal/controlled.tsx` | **`open`** / **`onOpenChange`** without **`Modal.Trigger`** |
|
|
99
|
+
| `playground/snippets/modal/full-width.tsx` | Footer stack with **`Button.Root`** **`fullWidth`** (uses playground **`previewBannerColumn`**) |
|
|
100
|
+
| `playground/snippets/modal/features.tsx` | **`container`** portal host + long body with **`bodyStyle`** scroll |
|
|
101
|
+
|
|
102
|
+
### Examples next to this file
|
|
103
|
+
|
|
104
|
+
Runnable examples use `@/` in the workspace; published consumers import **`prime-ui-kit`**. **`pattern-*`** files mirror the playground snippets above in English (same APIs).
|
|
105
|
+
|
|
106
|
+
| File | Intent |
|
|
107
|
+
|------|--------|
|
|
108
|
+
| `examples/canonical-maximal.tsx` | Full shell: title, description, icon, one field, footer with **`Modal.Close`** + primary |
|
|
109
|
+
| `examples/pattern-controlled.tsx` | Controlled open state (pairs with **`controlled.tsx`** snippet) |
|
|
110
|
+
| `examples/pattern-close-behavior.tsx` | Default vs strict dismiss (pairs with **`states.tsx`** snippet) |
|
|
111
|
+
| `examples/pattern-full-width-footer.tsx` | Full-width footer actions (pairs with **`full-width.tsx`** snippet) |
|
|
112
|
+
| `examples/pattern-portal-and-scroll.tsx` | **`container`** + **`bodyStyle`** scroll (pairs with **`features.tsx`** snippet) |
|
|
113
|
+
| `examples/scenario-confirm-delete.tsx` | Destructive confirmation; **`variant="error"`** on primary action |
|
|
114
|
+
| `examples/scenario-edit-entity.tsx` | Rename / edit field; **Save** wrapped in **`Modal.Close`** to dismiss after save |
|
|
115
|
+
| `examples/scenario-legal-consent.tsx` | Terms-style copy; **`closeOnOverlayClick={false}`**; single **I agree** closes via **`Modal.Close`** |
|
|
116
|
+
| `examples/scenario-multi-field-form.tsx` | **`Input`**, **`Select`**, **`Textarea`** in the body; submit button uses **`form`** |
|
|
117
|
+
|
|
118
|
+
### Extended usage
|
|
119
|
+
|
|
120
|
+
- **Controlled dialogs:** omit **`Modal.Trigger`**; pass **`open`** and **`onOpenChange`** to **`Modal.Root`**. Keep **`Modal.Panel`** as a sibling; it portals only when **`open`** is true.
|
|
121
|
+
- **Dismiss on primary action:** wrap the confirming button in **`Modal.Close`** when the action should close the dialog immediately (see **edit entity** example). If you must await an API call, keep the dialog open until success, then call **`onOpenChange(false)`** from the parent.
|
|
122
|
+
- **Consent / wizard steps:** set **`closeOnOverlayClick={false}`** (and optionally **`closeOnEscape={false}`**) when accidental dismiss would lose legal or multi-step state; still provide an explicit **`Modal.Close`** (or header close) path where appropriate.
|
|
123
|
+
- **Long body content:** constrain scroll to the body via **`bodyStyle`** / **`bodyClassName`** (see `playground/snippets/modal/features.tsx`); overlay scroll lock remains active.
|
|
124
|
+
- **Enter to confirm:** при **`confirmOnEnter={true}`** (по умолчанию) **Enter** внутри диалога имитирует **`click()`** по элементу из слота **`Modal.Footer`** **`primary`** (логика в **`useModalKeyboard`** вместе с Escape). В шапке (**`header`**) нативное поведение **Enter** на кнопке закрытия сохраняется; в **`textarea`** / **`select`** и ряде типов **`input`** подтверждение по Enter не срабатывает. Полностью своё поведение — **`onEnterConfirm`** на **`Modal.Root`**; отключить — **`confirmOnEnter={false}`**.
|
|
125
|
+
- **Headless dialog surface:** omit **`title`** on **`Modal.Panel`** and supply **`aria-label`** or **`aria-labelledby`** / **`aria-describedby`** yourself; inner body wrapper is not used, so **`bodyClassName`** / **`bodyStyle`** do not apply.
|
|
126
|
+
|
|
127
|
+
### Note for LLMs
|
|
128
|
+
|
|
129
|
+
When generating **Modal** markup for this library: (1) **`Modal.Trigger`** and **`Modal.Close`** each require **exactly one** child element—no fragments or multiple nodes. (2) Prefer **`Modal.Panel`** with **`title`** (and usually **`description`**) so **`aria-labelledby`** / **`aria-describedby`** are wired automatically. (3) Use **`Modal.Footer`** with **`secondary`** (**`Modal.Close`** + cancel) and **`primary`** (main action) unless the design relies only on the header icon. (4) Do not wrap kit components to restyle them; use **`size`**, **`variant`**, **`mode`**, and documented props only. (5) For copy-paste starting points, mirror **`examples/canonical-maximal.tsx`** first, then **`examples/pattern-*`** or scenario files; playground **`playground/snippets/modal/*.tsx`** are the live-demo source of truth.
|
|
130
|
+
|
|
131
|
+
## Rules
|
|
132
|
+
|
|
133
|
+
- **Shell tokens:** overlay padding, panel padding, gaps between header/body/footer, and max width use **`--prime-sys-size-modal-*`** (semantic `size.modal` in `tokens/semantic.ts`). Title/description text tiers may still follow control typography tokens where the chrome matches **`size`** `m`.
|
|
134
|
+
- **Controlled:** omit **`Modal.Trigger`** and drive **`open`** / **`onOpenChange`** on **`Modal.Root`**; **`Modal.Panel`** still portals when **`open`** is true.
|
|
135
|
+
- **Uncontrolled:** use **`defaultOpen`** or rely on **`Modal.Trigger`**; **`onOpenChange`** fires for any transition.
|
|
136
|
+
- **`Modal.Trigger`** and **`Modal.Close`** require **exactly one** child element (**`cloneElement`**); fragments or multiple nodes are invalid.
|
|
137
|
+
- **Accessibility:** with **`title`** / **`description`**, **`aria-labelledby`** / **`aria-describedby`** on the dialog are wired from the internal header. Without a visible title, set **`aria-label`** on **`Modal.Panel`** or valid **`aria-labelledby`** / **`aria-describedby`** yourself.
|
|
138
|
+
- While open, siblings of the portal subtree on **`document.body`** get **`inert`** and **`aria-hidden="true"`** to hide background from assistive tech; restore runs on close.
|
|
139
|
+
- **Focus:** focus is trapped inside the dialog while open; initial focus follows browser / trap behavior—ensure a focusable control or manage focus if the first paint is static text only.
|
|
140
|
+
- **`showClose`** (default **`true`** when a header is shown) controls the header icon button; **`closeAriaLabel`** defaults to **`"Close"`**.
|
|
141
|
+
- **`container`** on **`Modal.Panel`** overrides the portal target (for tests or custom stacking); default is **`document.body`**.
|
|
142
|
+
- **`overlayClassName`**, **`footerClassName`**, **`bodyClassName`**, and **`bodyStyle`** target the overlay, the **`footer`** element (merged into **`Modal.Footer`** when **`footer`** is **`Modal.Footer`**, else a wrapper **`<footer>`** for arbitrary content), and body wrapper respectively; without **`title`**, **`bodyClassName`** / **`bodyStyle`** do not apply (no inner body wrapper).
|
|
143
|
+
|
|
144
|
+
## API
|
|
145
|
+
|
|
146
|
+
### Modal.Root
|
|
147
|
+
|
|
148
|
+
| Prop | Type | Default | Required | Description |
|
|
149
|
+
|------|------|---------|----------|-------------|
|
|
150
|
+
| open | `boolean` | — | No | Controlled open state |
|
|
151
|
+
| defaultOpen | `boolean` | `false` | No | Initial open when uncontrolled |
|
|
152
|
+
| onOpenChange | `(open: boolean) => void` | — | No | Fires when open state changes |
|
|
153
|
+
| closeOnEscape | `boolean` | `true` | No | Whether Escape closes the dialog |
|
|
154
|
+
| closeOnOverlayClick | `boolean` | `true` | No | Whether a direct backdrop click closes |
|
|
155
|
+
| confirmOnEnter | `boolean` | `true` | No | Whether Enter triggers the default confirmation action (primary button) |
|
|
156
|
+
| onEnterConfirm | `(event: KeyboardEvent) => void` | — | No | Replaces default Enter confirmation; call `event.preventDefault()` if needed to suppress native control behavior |
|
|
157
|
+
| children | `React.ReactNode` | — | No | e.g. `Modal.Trigger` and `Modal.Panel` |
|
|
158
|
+
|
|
159
|
+
### Modal.Trigger
|
|
160
|
+
|
|
161
|
+
| Prop | Type | Default | Required | Description |
|
|
162
|
+
|------|------|---------|----------|-------------|
|
|
163
|
+
| children | `React.ReactElement<{ onClick?: React.MouseEventHandler }>` | — | Yes | Single element whose `onClick` is composed with open |
|
|
164
|
+
|
|
165
|
+
### Modal.Close
|
|
166
|
+
|
|
167
|
+
| Prop | Type | Default | Required | Description |
|
|
168
|
+
|------|------|---------|----------|-------------|
|
|
169
|
+
| children | `React.ReactElement<{ onClick?: React.MouseEventHandler; ref?: React.Ref<HTMLElement>; className?: string; size?: "s" \| "m" \| "l" \| "xl" }>` | — | Yes | Single element whose `onClick` and `ref` are composed with close |
|
|
170
|
+
|
|
171
|
+
### Modal.Footer
|
|
172
|
+
|
|
173
|
+
| Prop | Type | Default | Required | Description |
|
|
174
|
+
|------|------|---------|----------|-------------|
|
|
175
|
+
| primary | `React.ReactElement` (e.g. `Button.Root`) | — | No | Main action; target for Enter when `confirmOnEnter` and no `onEnterConfirm` |
|
|
176
|
+
| secondary | `React.ReactNode` | — | No | Usually cancel / `Modal.Close` |
|
|
177
|
+
| extra | `React.ReactNode` | — | No | Additional buttons between `secondary` and `primary` |
|
|
178
|
+
| className | `string` | — | No | Class on the `<footer>` |
|
|
179
|
+
| …rest | `Omit<React.HTMLAttributes<HTMLElement>, "children">` | — | No | Other attributes on `<footer>` |
|
|
180
|
+
|
|
181
|
+
### Modal.Panel
|
|
182
|
+
|
|
183
|
+
| Prop | Type | Default | Required | Description |
|
|
184
|
+
|------|------|---------|----------|-------------|
|
|
185
|
+
| title | `React.ReactNode` | — | No | If set, builds header with `h2` and optional description |
|
|
186
|
+
| description | `React.ReactNode` | — | No | Shown under the title when `title` is set |
|
|
187
|
+
| icon | `React.ReactNode` | — | No | Icon slot in the header row |
|
|
188
|
+
| showClose | `boolean` | `true` | No | Header close icon button when `title` is set |
|
|
189
|
+
| closeAriaLabel | `string` | `"Close"` | No | `aria-label` for the header close control |
|
|
190
|
+
| children | `React.ReactNode` | — | No | Main content; wrapped in internal body when `title` is set |
|
|
191
|
+
| footer | `React.ReactNode` | — | No | Prefer **`Modal.Footer`**; arbitrary nodes are wrapped in **`<footer>`** without Enter binding |
|
|
192
|
+
| container | `HTMLElement \| null` | `document.body` | No | Portal mount node |
|
|
193
|
+
| overlayClassName | `string` | — | No | Class on the fullscreen backdrop |
|
|
194
|
+
| footerClassName | `string` | — | No | Merged into **`Modal.Footer`** `className` when **`footer`** is **`Modal.Footer`**; else on wrapper **`<footer>`** |
|
|
195
|
+
| bodyClassName | `string` | — | No | Class on the internal body when `title` is set |
|
|
196
|
+
| bodyStyle | `React.CSSProperties` | — | No | Inline style on the internal body when `title` is set |
|
|
197
|
+
| aria-label | `string` | — | No | Dialog name when there is no `title`-driven label |
|
|
198
|
+
| aria-labelledby | `string` | — | No | Overrides auto wiring from the built-in header |
|
|
199
|
+
| aria-describedby | `string` | — | No | Overrides auto wiring from the built-in description |
|
|
200
|
+
| className | `string` | — | No | Class on the `role="dialog"` root |
|
|
201
|
+
| style | `React.CSSProperties` | — | No | Style on the `role="dialog"` root |
|
|
202
|
+
| …rest | `Omit<React.HTMLAttributes<HTMLDivElement>, "title">` | — | No | Other attributes forwarded to the dialog root |
|
|
203
|
+
|
|
204
|
+
## Related
|
|
205
|
+
|
|
206
|
+
- [Button](../button/COMPONENT.md)
|
|
207
|
+
- [Drawer](../drawer/COMPONENT.md)
|
|
208
|
+
- [Popover](../popover/COMPONENT.md)
|