prime-ui-kit 0.3.2 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/components/accordion/examples/01-faq-marketing.d.ts.map +1 -1
- package/dist/components/accordion/examples/02-settings-panels.d.ts.map +1 -1
- package/dist/components/accordion/examples/03-checkout-order-summary.d.ts.map +1 -1
- package/dist/components/accordion/examples/04-api-docs-sections.d.ts.map +1 -1
- package/dist/components/accordion/examples/05-knowledge-base-categories.d.ts.map +1 -1
- 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/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/dismiss-close-button.d.ts +6 -0
- package/dist/components/banner/examples/dismiss-close-button.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/full-width.d.ts +5 -0
- package/dist/components/breadcrumb/examples/full-width.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/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/sizes-ladder.d.ts +5 -0
- package/dist/components/button/examples/sizes-ladder.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/card/examples/mini-kpi.d.ts +3 -0
- package/dist/components/card/examples/mini-kpi.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/code-block/examples/controlled.d.ts +3 -0
- package/dist/components/code-block/examples/controlled.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/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/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/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 +2 -2
- package/dist/components/command-menu/examples/disabled-items.d.ts.map +1 -1
- 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/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/examples/composition.d.ts +3 -0
- package/dist/components/data-table/examples/composition.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/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/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/features.d.ts +6 -0
- package/dist/components/digit-input/examples/features.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/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/inset.d.ts +3 -0
- package/dist/components/dropdown/examples/inset.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/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/full-width.d.ts +6 -0
- package/dist/components/file-upload/examples/full-width.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/field-states.d.ts +3 -0
- package/dist/components/hint/examples/field-states.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/variants.d.ts +3 -0
- package/dist/components/hint/examples/variants.d.ts.map +1 -0
- package/dist/components/index.css +39 -64
- package/dist/components/index.css.map +3 -3
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +94 -121
- package/dist/components/index.js.map +3 -3
- 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/search.d.ts.map +1 -1
- 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/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/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/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/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 +1 -0
- package/dist/components/link-button/examples/disabled.d.ts.map +1 -1
- package/dist/components/link-button/examples/external.d.ts +1 -1
- package/dist/components/link-button/examples/external.d.ts.map +1 -1
- 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/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/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/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 +4 -1
- package/dist/components/notification/examples/notification-store.d.ts.map +1 -1
- 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 +4 -1
- package/dist/components/notification/examples/toast-queue.d.ts.map +1 -1
- 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 +13 -0
- package/dist/components/page-content/PageContent.d.ts.map +1 -1
- package/dist/components/pagination/examples/controlled-page.d.ts +1 -1
- package/dist/components/pagination/examples/controlled-page.d.ts.map +1 -1
- 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 +1 -1
- package/dist/components/pagination/examples/full-width-list.d.ts.map +1 -1
- 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/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/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/features.d.ts +5 -0
- package/dist/components/popover/examples/features.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 +1 -1
- package/dist/components/popover/examples/placement.d.ts.map +1 -1
- 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/progress-bar/examples/labeled.d.ts +1 -1
- package/dist/components/progress-bar/examples/labeled.d.ts.map +1 -1
- 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/values.d.ts +3 -0
- package/dist/components/progress-bar/examples/values.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts +1 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/composition.d.ts +1 -1
- package/dist/components/progress-circle/examples/composition.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/controlled.d.ts +1 -1
- package/dist/components/progress-circle/examples/controlled.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts +1 -1
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/max-scale.d.ts +1 -1
- package/dist/components/progress-circle/examples/max-scale.d.ts.map +1 -1
- 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/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/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/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/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/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/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/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/examples/03-tab-triggers-with-icons.d.ts +3 -2
- package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts.map +1 -1
- 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/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/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/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/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/index.css +39 -64
- package/dist/index.css.map +3 -3
- package/dist/index.js +94 -121
- package/dist/index.js.map +3 -3
- package/dist/layout/app-shell/AppShell.d.ts +0 -4
- package/dist/layout/app-shell/AppShell.d.ts.map +1 -1
- package/dist/layout/sidebar/Sidebar.d.ts +10 -7
- package/dist/layout/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/layout/sidebar/SidebarRoot.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts +1 -0
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts +2 -2
- package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/03-controlled-state.d.ts +1 -1
- package/dist/layout/sidebar/examples/03-controlled-state.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/04-router-navigation.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts +1 -1
- package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/accordion/COMPONENT.md +31 -8
- package/src/components/accordion/examples/01-faq-marketing.tsx +2 -1
- package/src/components/accordion/examples/02-settings-panels.tsx +2 -1
- package/src/components/accordion/examples/03-checkout-order-summary.tsx +3 -1
- package/src/components/accordion/examples/04-api-docs-sections.tsx +5 -2
- package/src/components/accordion/examples/05-knowledge-base-categories.tsx +2 -1
- package/src/components/avatar/COMPONENT.md +11 -3
- 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 +35 -0
- package/src/components/avatar/examples/states.tsx +26 -0
- package/src/components/badge/COMPONENT.md +15 -1
- package/src/components/banner/COMPONENT.md +28 -1
- package/src/components/banner/examples/controlled-visibility.tsx +42 -0
- package/src/components/banner/examples/dismiss-close-button.tsx +26 -0
- package/src/components/breadcrumb/COMPONENT.md +15 -3
- package/src/components/breadcrumb/examples/composition.tsx +25 -0
- package/src/components/breadcrumb/examples/full-width.tsx +24 -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 +6 -1
- 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/sizes-ladder.tsx +30 -0
- package/src/components/button-group/COMPONENT.md +13 -1
- package/src/components/button-group/examples/full-width.tsx +22 -0
- package/src/components/card/COMPONENT.md +23 -3
- package/src/components/card/examples/mini-kpi.tsx +16 -0
- package/src/components/checkbox/COMPONENT.md +22 -12
- package/src/components/checkbox/examples/empty-label-form.tsx +24 -0
- package/src/components/code-block/COMPONENT.md +26 -11
- package/src/components/code-block/examples/controlled.tsx +43 -0
- package/src/components/color-picker/COMPONENT.md +36 -12
- 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/panel-placement.tsx +68 -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/command-menu/COMPONENT.md +30 -11
- package/src/components/command-menu/examples/composition-tags-footer.tsx +136 -0
- package/src/components/command-menu/examples/controlled-open-search.tsx +76 -0
- package/src/components/command-menu/examples/disabled-items.tsx +7 -3
- 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/variants-density-items.tsx +85 -0
- package/src/components/data-table/COMPONENT.md +25 -1
- package/src/components/data-table/examples/composition.tsx +91 -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/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/datepicker/COMPONENT.md +28 -5
- package/src/components/digit-input/COMPONENT.md +18 -2
- 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/features.tsx +30 -0
- package/src/components/digit-input/examples/sizes.tsx +23 -0
- package/src/components/digit-input/examples/states.tsx +22 -0
- package/src/components/divider/COMPONENT.md +6 -2
- package/src/components/drawer/COMPONENT.md +63 -22
- package/src/components/dropdown/COMPONENT.md +34 -10
- 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 +33 -0
- package/src/components/dropdown/examples/full-width.tsx +28 -0
- package/src/components/dropdown/examples/inset.tsx +51 -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/file-upload/COMPONENT.md +29 -8
- package/src/components/file-upload/examples/custom-children.tsx +21 -0
- package/src/components/file-upload/examples/full-width.tsx +32 -0
- package/src/components/hint/COMPONENT.md +21 -9
- package/src/components/hint/examples/a11y-describedby.tsx +23 -0
- package/src/components/hint/examples/controlled-variant.tsx +23 -0
- package/src/components/hint/examples/field-states.tsx +44 -0
- package/src/components/hint/examples/sizes.tsx +13 -0
- package/src/components/hint/examples/variants.tsx +18 -0
- package/src/components/input/COMPONENT.md +4 -3
- package/src/components/input/examples/affix-url-and-amount.tsx +24 -0
- package/src/components/input/examples/search.tsx +1 -0
- package/src/components/kbd/COMPONENT.md +6 -2
- 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/sizes-ladder.tsx +21 -0
- package/src/components/kbd/examples/states-title.tsx +19 -0
- package/src/components/label/COMPONENT.md +36 -6
- package/src/components/label/examples/mixed-required-optional.tsx +17 -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/link-button/COMPONENT.md +33 -4
- package/src/components/link-button/examples/composition.tsx +27 -0
- package/src/components/link-button/examples/disabled.tsx +1 -0
- package/src/components/link-button/examples/external.tsx +1 -1
- package/src/components/link-button/examples/sizes.tsx +21 -0
- package/src/components/modal/COMPONENT.md +21 -7
- package/src/components/modal/examples/pattern-close-behavior.tsx +52 -0
- package/src/components/modal/examples/pattern-controlled.tsx +39 -0
- package/src/components/modal/examples/pattern-full-width-footer.tsx +46 -0
- package/src/components/modal/examples/pattern-portal-and-scroll.tsx +82 -0
- package/src/components/notification/COMPONENT.md +12 -6
- package/src/components/notification/examples/composition.tsx +90 -0
- package/src/components/notification/examples/controlled.tsx +87 -0
- package/src/components/notification/examples/features.tsx +102 -0
- package/src/components/notification/examples/notification-store.tsx +4 -57
- 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 +4 -62
- package/src/components/notification/examples/variants.tsx +68 -0
- package/src/components/page-content/COMPONENT.md +123 -0
- package/src/components/pagination/COMPONENT.md +28 -6
- package/src/components/pagination/examples/controlled-page.tsx +1 -1
- package/src/components/pagination/examples/features.tsx +107 -0
- package/src/components/pagination/examples/full-width-list.tsx +1 -1
- 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/popover/COMPONENT.md +23 -34
- package/src/components/popover/examples/as-child.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/features.tsx +65 -0
- package/src/components/popover/examples/full-width.tsx +34 -0
- package/src/components/popover/examples/inset-variants.tsx +46 -0
- package/src/components/popover/examples/placement.tsx +10 -10
- package/src/components/popover/examples/popover-examples.module.css +104 -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 +25 -8
- package/src/components/progress-bar/examples/labeled.tsx +2 -2
- package/src/components/progress-bar/examples/sizes.tsx +13 -0
- package/src/components/progress-bar/examples/values.tsx +13 -0
- package/src/components/progress-circle/COMPONENT.md +9 -5
- package/src/components/progress-circle/examples/a11y-label.tsx +1 -0
- package/src/components/progress-circle/examples/composition.tsx +2 -2
- package/src/components/progress-circle/examples/controlled.tsx +2 -7
- package/src/components/progress-circle/examples/dashboard-ring.tsx +1 -1
- package/src/components/progress-circle/examples/max-scale.tsx +1 -1
- package/src/components/progress-circle/examples/sizes.tsx +77 -0
- package/src/components/progress-circle/examples/states.tsx +95 -0
- package/src/components/radio/COMPONENT.md +34 -20
- package/src/components/segmented-control/COMPONENT.md +20 -7
- 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/segmented-examples.module.css +29 -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-progress-bar/COMPONENT.md +23 -8
- package/src/components/select/COMPONENT.md +39 -9
- package/src/components/select/examples/examples.module.css +11 -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 +24 -16
- 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 +20 -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 +21 -11
- 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 +65 -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 +18 -6
- package/src/components/switch/examples/composition.tsx +24 -0
- package/src/components/switch/examples/controlled.tsx +18 -0
- package/src/components/switch/examples/examples.module.css +9 -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/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 +30 -24
- package/src/components/tabs/examples/03-tab-triggers-with-icons.tsx +30 -17
- 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 +21 -0
- package/src/components/tag/COMPONENT.md +21 -6
- 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 +31 -0
- package/src/components/tag/examples/disabled.tsx +15 -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 +20 -8
- package/src/components/textarea/examples/composition.tsx +21 -0
- package/src/components/textarea/examples/controlled.tsx +18 -0
- package/src/components/textarea/examples/examples.module.css +12 -0
- package/src/components/textarea/examples/features.tsx +65 -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 +16 -11
- package/src/components/tooltip/examples/composition.tsx +44 -0
- package/src/components/tooltip/examples/{scenario-controlled-programmatic.tsx → controlled.tsx} +6 -7
- package/src/components/tooltip/examples/delay.tsx +31 -0
- package/src/components/tooltip/examples/examples.module.css +64 -3
- 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 +22 -8
- 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 +65 -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/sidebar/COMPONENT.md +32 -10
- package/src/layout/sidebar/examples/01-app-shell-nav.tsx +26 -14
- package/src/layout/sidebar/examples/02-collapsible-desktop.tsx +15 -5
- package/src/layout/sidebar/examples/03-controlled-state.tsx +13 -3
- package/src/layout/sidebar/examples/04-router-navigation.tsx +12 -2
- package/src/layout/sidebar/examples/05-responsive-behavior.tsx +15 -5
- package/src/layout/sidebar/examples/examples.module.css +11 -1
- package/dist/components/slider/examples/01-volume.d.ts +0 -5
- package/dist/components/slider/examples/01-volume.d.ts.map +0 -1
- package/dist/components/slider/examples/02-price-range.d.ts +0 -5
- package/dist/components/slider/examples/02-price-range.d.ts.map +0 -1
- package/dist/components/slider/examples/03-controlled.d.ts +0 -5
- package/dist/components/slider/examples/03-controlled.d.ts.map +0 -1
- package/dist/components/slider/examples/04-disabled.d.ts +0 -5
- package/dist/components/slider/examples/04-disabled.d.ts.map +0 -1
- package/dist/components/tag/examples/04-tag-sizes.d.ts +0 -3
- package/dist/components/tag/examples/04-tag-sizes.d.ts.map +0 -1
- package/dist/components/textarea/examples/03-controlled.d.ts +0 -5
- package/dist/components/textarea/examples/03-controlled.d.ts.map +0 -1
- package/dist/components/textarea/examples/04-full-width.d.ts +0 -5
- package/dist/components/textarea/examples/04-full-width.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-delay-provider.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-delay-provider.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-long-content.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-long-content.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-side-bottom.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-side-bottom.d.ts.map +0 -1
- package/src/components/slider/examples/01-volume.tsx +0 -17
- package/src/components/slider/examples/02-price-range.tsx +0 -18
- package/src/components/slider/examples/03-controlled.tsx +0 -30
- package/src/components/slider/examples/04-disabled.tsx +0 -25
- package/src/components/tag/examples/04-tag-sizes.tsx +0 -18
- package/src/components/textarea/examples/03-controlled.tsx +0 -27
- package/src/components/textarea/examples/04-full-width.tsx +0 -23
- package/src/components/tooltip/examples/scenario-delay-provider.tsx +0 -19
- package/src/components/tooltip/examples/scenario-long-content.tsx +0 -22
- package/src/components/tooltip/examples/scenario-side-bottom.tsx +0 -21
|
@@ -46,12 +46,24 @@ export function Example() {
|
|
|
46
46
|
| Scenario | File |
|
|
47
47
|
|----------|------|
|
|
48
48
|
| Minimal trail | [`examples/canonical.tsx`](./examples/canonical.tsx) |
|
|
49
|
+
| Four `size` rows (`s`–`xl` on `Root`) | [`examples/sizes.tsx`](./examples/sizes.tsx) |
|
|
50
|
+
| Links + `current`; middle segment without `href` | [`examples/states.tsx`](./examples/states.tsx) |
|
|
51
|
+
| Icon-only first `Item` (`aria-label`) + custom `Separator` | [`examples/composition.tsx`](./examples/composition.tsx) |
|
|
52
|
+
| Narrow container; trail wraps (`flex-wrap`) | [`examples/full-width.tsx`](./examples/full-width.tsx) |
|
|
53
|
+
| Long path + `Ellipsis` | [`examples/long-path-ellipsis.tsx`](./examples/long-path-ellipsis.tsx) |
|
|
49
54
|
| Deep docs path | [`examples/deep-documentation.tsx`](./examples/deep-documentation.tsx) |
|
|
50
55
|
| E‑commerce PDP | [`examples/ecommerce-product.tsx`](./examples/ecommerce-product.tsx) |
|
|
51
56
|
| SaaS settings hierarchy | [`examples/saas-settings.tsx`](./examples/saas-settings.tsx) |
|
|
52
|
-
| Long path + ellipsis | [`examples/long-path-ellipsis.tsx`](./examples/long-path-ellipsis.tsx) |
|
|
53
57
|
|
|
54
|
-
Playground
|
|
58
|
+
**Playground snippets** (app alias `@/…`, same scenarios as the rows above where noted)
|
|
59
|
+
|
|
60
|
+
| File | Coverage |
|
|
61
|
+
|------|----------|
|
|
62
|
+
| [`playground/snippets/breadcrumb/sizes.tsx`](../../../playground/snippets/breadcrumb/sizes.tsx) | `size` `s`–`xl` |
|
|
63
|
+
| [`playground/snippets/breadcrumb/states.tsx`](../../../playground/snippets/breadcrumb/states.tsx) | Links + `current`; `Item` without `href` |
|
|
64
|
+
| [`playground/snippets/breadcrumb/composition.tsx`](../../../playground/snippets/breadcrumb/composition.tsx) | Home icon + `/` separators |
|
|
65
|
+
| [`playground/snippets/breadcrumb/full-width.tsx`](../../../playground/snippets/breadcrumb/full-width.tsx) | Narrow box; long labels wrap |
|
|
66
|
+
| [`playground/snippets/breadcrumb/long-ellipsis.tsx`](../../../playground/snippets/breadcrumb/long-ellipsis.tsx) | Same trail shape as `long-path-ellipsis.tsx` (Russian copy in playground) |
|
|
55
67
|
|
|
56
68
|
---
|
|
57
69
|
|
|
@@ -124,4 +136,4 @@ Playground demos (app alias `@/…`): `playground/snippets/breadcrumb/` — size
|
|
|
124
136
|
- Mark the active route with **`current`** and **no `href`** on that **`Item`**; otherwise **`aria-current="page"`** will not apply.
|
|
125
137
|
- Collapsing the path is **manual**: insert **`Breadcrumb.Ellipsis`** between **`Separator`** nodes; it is **not** a menu and does not expose hidden links to assistive tech.
|
|
126
138
|
- Icon-only links require **`aria-label`** on **`Item`**.
|
|
127
|
-
- For copy-paste recipes, prefer the
|
|
139
|
+
- For copy-paste recipes, prefer the files under **`src/components/breadcrumb/examples/`** (including **`sizes`**, **`states`**, **`composition`**, **`full-width`** aligned with playground); for interactive kit demos see **`playground/snippets/breadcrumb/`**.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Breadcrumb, Icon } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Icon-only first item (`aria-label`) and custom `Separator` children. Matches playground `snippets/breadcrumb/composition.tsx`. */
|
|
4
|
+
export default function BreadcrumbCompositionExample() {
|
|
5
|
+
return (
|
|
6
|
+
<Breadcrumb.Root>
|
|
7
|
+
<Breadcrumb.Item href="/help" aria-label="Help home">
|
|
8
|
+
<span
|
|
9
|
+
style={{
|
|
10
|
+
display: "inline-flex",
|
|
11
|
+
alignItems: "center",
|
|
12
|
+
justifyContent: "center",
|
|
13
|
+
lineHeight: 0,
|
|
14
|
+
}}
|
|
15
|
+
>
|
|
16
|
+
<Icon name="nav.home" tone="default" />
|
|
17
|
+
</span>
|
|
18
|
+
</Breadcrumb.Item>
|
|
19
|
+
<Breadcrumb.Separator>/</Breadcrumb.Separator>
|
|
20
|
+
<Breadcrumb.Item href="/help/billing">Billing</Breadcrumb.Item>
|
|
21
|
+
<Breadcrumb.Separator>/</Breadcrumb.Separator>
|
|
22
|
+
<Breadcrumb.Item current>Refunds</Breadcrumb.Item>
|
|
23
|
+
</Breadcrumb.Root>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Breadcrumb } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Narrow container so the inner `ol` wraps (`flex-wrap` in component styles). Matches playground `snippets/breadcrumb/full-width.tsx`.
|
|
5
|
+
*/
|
|
6
|
+
export default function BreadcrumbFullWidthExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div
|
|
9
|
+
style={{
|
|
10
|
+
maxWidth: 200,
|
|
11
|
+
padding: "8px",
|
|
12
|
+
border: "1px dashed var(--prime-sys-color-border-default)",
|
|
13
|
+
}}
|
|
14
|
+
>
|
|
15
|
+
<Breadcrumb.Root>
|
|
16
|
+
<Breadcrumb.Item href="/org">Transit LLC</Breadcrumb.Item>
|
|
17
|
+
<Breadcrumb.Separator />
|
|
18
|
+
<Breadcrumb.Item href="/org/hubs">Hubs</Breadcrumb.Item>
|
|
19
|
+
<Breadcrumb.Separator />
|
|
20
|
+
<Breadcrumb.Item current>East terminal</Breadcrumb.Item>
|
|
21
|
+
</Breadcrumb.Root>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Breadcrumb, type BreadcrumbSize } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
function BreadcrumbSizeRow({ size }: { size: BreadcrumbSize }) {
|
|
4
|
+
return (
|
|
5
|
+
<Breadcrumb.Root size={size}>
|
|
6
|
+
<Breadcrumb.Item href="/">Home</Breadcrumb.Item>
|
|
7
|
+
<Breadcrumb.Separator />
|
|
8
|
+
<Breadcrumb.Item href="/catalog">Catalog</Breadcrumb.Item>
|
|
9
|
+
<Breadcrumb.Separator />
|
|
10
|
+
<Breadcrumb.Item current>Page</Breadcrumb.Item>
|
|
11
|
+
</Breadcrumb.Root>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Four stacked trails: `size` `s` → `xl` on `Breadcrumb.Root` (matches playground `snippets/breadcrumb/sizes.tsx`). */
|
|
16
|
+
export default function BreadcrumbSizesExample() {
|
|
17
|
+
return (
|
|
18
|
+
<>
|
|
19
|
+
<BreadcrumbSizeRow size="s" />
|
|
20
|
+
<BreadcrumbSizeRow size="m" />
|
|
21
|
+
<BreadcrumbSizeRow size="l" />
|
|
22
|
+
<BreadcrumbSizeRow size="xl" />
|
|
23
|
+
</>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Breadcrumb } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Top: ancestors as links, leaf with `current`. Bottom: middle segment without `href` renders as plain text (`span`).
|
|
5
|
+
* Matches playground `snippets/breadcrumb/states.tsx`.
|
|
6
|
+
*/
|
|
7
|
+
export default function BreadcrumbStatesExample() {
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
<Breadcrumb.Root>
|
|
11
|
+
<Breadcrumb.Item href="/">Home</Breadcrumb.Item>
|
|
12
|
+
<Breadcrumb.Separator />
|
|
13
|
+
<Breadcrumb.Item href="/orders">Orders</Breadcrumb.Item>
|
|
14
|
+
<Breadcrumb.Separator />
|
|
15
|
+
<Breadcrumb.Item current>Order #1042</Breadcrumb.Item>
|
|
16
|
+
</Breadcrumb.Root>
|
|
17
|
+
<Breadcrumb.Root>
|
|
18
|
+
<Breadcrumb.Item href="/courses">Courses</Breadcrumb.Item>
|
|
19
|
+
<Breadcrumb.Separator />
|
|
20
|
+
<Breadcrumb.Item>Module 3</Breadcrumb.Item>
|
|
21
|
+
<Breadcrumb.Separator />
|
|
22
|
+
<Breadcrumb.Item current>Lesson: introduction</Breadcrumb.Item>
|
|
23
|
+
</Breadcrumb.Root>
|
|
24
|
+
</>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -33,15 +33,20 @@ export function Example() {
|
|
|
33
33
|
|
|
34
34
|
For **icon + label**, **several `variant` / `mode` pairs**, and **`loading` with `Button.Spinner`**, open **`examples/canonical-composition.tsx`** next to this file. Imports use **`"prime-ui-kit"`** so the same snippets work in an app after installing the package.
|
|
35
35
|
|
|
36
|
+
The playground Button section (`playground/sections/ButtonSection.tsx`) renders snippets from `playground/snippets/button/*.tsx`. The examples **`sizes-ladder`**, **`icon-composition`**, and **`full-width-stack`** mirror the **Размеры**, **Композиция**, and **Full width** demos there (same structure and labels; app-ready imports).
|
|
37
|
+
|
|
36
38
|
### Example files in `examples/`
|
|
37
39
|
|
|
38
40
|
| File | Scenario |
|
|
39
41
|
|------|----------|
|
|
42
|
+
| `sizes-ladder.tsx` | `size` `s`–`xl` at `variant="primary"` `mode="filled"` (playground: `snippets/button/sizes.tsx`) |
|
|
43
|
+
| `icon-composition.tsx` | `Button.Icon` left/right and icon-only with `aria-label`; primary filled + neutral stroke rows (`snippets/button/composition.tsx`) |
|
|
44
|
+
| `full-width-stack.tsx` | `fullWidth` primary filled and neutral stroke at `m` (`snippets/button/full-width.tsx`) |
|
|
40
45
|
| `canonical-composition.tsx` | Icon + text, variant/mode mix, loading + spinner |
|
|
41
46
|
| `form-submit-row.tsx` | English form footer: cancel vs submit, async loading |
|
|
42
47
|
| `destructive-confirm.tsx` | English confirm dialog: `error` + `Modal` |
|
|
43
48
|
| `toolbar.tsx` | English editor-style toolbar: ghost row + primary action |
|
|
44
|
-
| `marketing-cta.tsx` | English CTA column: `fancy` + `fullWidth` |
|
|
49
|
+
| `marketing-cta.tsx` | English CTA column: `fancy` + `xl` / `l` with `fullWidth` (marketing emphasis; see also `full-width-stack.tsx`) |
|
|
45
50
|
|
|
46
51
|
### Note for LLMs
|
|
47
52
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Button } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `fullWidth` primary filled and neutral stroke at `size="m"` (parity with `playground/snippets/button/full-width.tsx`).
|
|
5
|
+
*/
|
|
6
|
+
export default function FullWidthStackExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div
|
|
9
|
+
style={{
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
gap: "var(--prime-sys-spacing-m)",
|
|
13
|
+
}}
|
|
14
|
+
>
|
|
15
|
+
<Button.Root variant="primary" mode="filled" size="m" fullWidth>
|
|
16
|
+
Button full width primary
|
|
17
|
+
</Button.Root>
|
|
18
|
+
<Button.Root variant="neutral" mode="stroke" size="m" fullWidth>
|
|
19
|
+
Button full width neutral stroke
|
|
20
|
+
</Button.Root>
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Button, Icon } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `Button.Icon` left, right, and icon-only with `aria-label` on root; primary filled and neutral stroke rows
|
|
5
|
+
* (parity with `playground/snippets/button/composition.tsx`).
|
|
6
|
+
*/
|
|
7
|
+
export default function IconCompositionExample() {
|
|
8
|
+
const rowStyle = {
|
|
9
|
+
display: "flex" as const,
|
|
10
|
+
flexWrap: "wrap" as const,
|
|
11
|
+
gap: "var(--prime-sys-spacing-m)",
|
|
12
|
+
alignItems: "center" as const,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<div
|
|
17
|
+
style={{
|
|
18
|
+
display: "flex",
|
|
19
|
+
flexDirection: "column",
|
|
20
|
+
gap: "var(--prime-sys-spacing-m)",
|
|
21
|
+
}}
|
|
22
|
+
>
|
|
23
|
+
<div style={rowStyle}>
|
|
24
|
+
<Button.Root variant="primary" mode="filled" size="m">
|
|
25
|
+
<Button.Icon>
|
|
26
|
+
<Icon name="field.email" size="s" />
|
|
27
|
+
</Button.Icon>
|
|
28
|
+
Button primary icon left
|
|
29
|
+
</Button.Root>
|
|
30
|
+
<Button.Root variant="primary" mode="filled" size="m">
|
|
31
|
+
Button primary icon right
|
|
32
|
+
<Button.Icon>
|
|
33
|
+
<Icon name="action.close" size="s" />
|
|
34
|
+
</Button.Icon>
|
|
35
|
+
</Button.Root>
|
|
36
|
+
<Button.Root variant="primary" mode="filled" size="m" aria-label="Button primary icon only">
|
|
37
|
+
<Button.Icon>
|
|
38
|
+
<Icon name="action.close" size="s" />
|
|
39
|
+
</Button.Icon>
|
|
40
|
+
</Button.Root>
|
|
41
|
+
</div>
|
|
42
|
+
<div style={rowStyle}>
|
|
43
|
+
<Button.Root variant="neutral" mode="stroke" size="m">
|
|
44
|
+
<Button.Icon>
|
|
45
|
+
<Icon name="field.email" size="s" tone="subtle" />
|
|
46
|
+
</Button.Icon>
|
|
47
|
+
Button icon left
|
|
48
|
+
</Button.Root>
|
|
49
|
+
<Button.Root variant="neutral" mode="stroke" size="m">
|
|
50
|
+
Button icon right
|
|
51
|
+
<Button.Icon>
|
|
52
|
+
<Icon name="action.close" size="s" tone="subtle" />
|
|
53
|
+
</Button.Icon>
|
|
54
|
+
</Button.Root>
|
|
55
|
+
<Button.Root variant="neutral" mode="stroke" size="m" aria-label="Button icon only">
|
|
56
|
+
<Button.Icon>
|
|
57
|
+
<Icon name="action.close" size="s" tone="subtle" />
|
|
58
|
+
</Button.Icon>
|
|
59
|
+
</Button.Root>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Button } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Size ladder: `s`–`xl` at `variant="primary"` `mode="filled"` (parity with `playground/snippets/button/sizes.tsx`).
|
|
5
|
+
*/
|
|
6
|
+
export default function SizesLadderExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div
|
|
9
|
+
style={{
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
gap: "var(--prime-sys-spacing-m)",
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
}}
|
|
15
|
+
>
|
|
16
|
+
<Button.Root variant="primary" mode="filled" size="s">
|
|
17
|
+
Button s
|
|
18
|
+
</Button.Root>
|
|
19
|
+
<Button.Root variant="primary" mode="filled" size="m">
|
|
20
|
+
Button m
|
|
21
|
+
</Button.Root>
|
|
22
|
+
<Button.Root variant="primary" mode="filled" size="l">
|
|
23
|
+
Button l
|
|
24
|
+
</Button.Root>
|
|
25
|
+
<Button.Root variant="primary" mode="filled" size="xl">
|
|
26
|
+
Button xl
|
|
27
|
+
</Button.Root>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -34,8 +34,19 @@ Copy-ready demos live under **`examples/`** (same folder as this file):
|
|
|
34
34
|
| Form footer | [`examples/form-footer.tsx`](examples/form-footer.tsx) | **`type="submit"`** / **`type="reset"`** (or **`button`**) in one group; name **`Root`** with **`aria-label`**. |
|
|
35
35
|
| View switcher | [`examples/view-switcher.tsx`](examples/view-switcher.tsx) | Single choice in React state; exactly one **`pressed={true}`** at a time. |
|
|
36
36
|
| Wizard actions | [`examples/wizard-actions.tsx`](examples/wizard-actions.tsx) | Step **Back** / **Next** as a horizontal group; **`disabled`** on **Back** for the first step. |
|
|
37
|
+
| Full width | [`examples/full-width.tsx`](examples/full-width.tsx) | **`Root`** `className` for container width (e.g. **`w-full`**); **`flex-1`** / **`min-w-0`** on **`Item`** to split the row (no built-in **`fullWidth`** prop). |
|
|
37
38
|
|
|
38
|
-
Playground demos
|
|
39
|
+
Playground demos match `playground/sections/ButtonGroupSection.tsx` (order and `?raw` sources):
|
|
40
|
+
|
|
41
|
+
| Snippet | File | Idea |
|
|
42
|
+
|---------|------|------|
|
|
43
|
+
| Sizes | [`playground/snippets/button-group/sizes.tsx`](../../../playground/snippets/button-group/sizes.tsx) | Four rows **`s`**, **`m`**, **`l`**, **`xl`**; each row is a real three-segment group. |
|
|
44
|
+
| States | [`states.tsx`](../../../playground/snippets/button-group/states.tsx) | Default, **`pressed`**, **`disabled`** in one group. |
|
|
45
|
+
| Orientation | [`orientation.tsx`](../../../playground/snippets/button-group/orientation.tsx) | Default horizontal vs **`orientation="vertical"`**. |
|
|
46
|
+
| Controlled | [`controlled.tsx`](../../../playground/snippets/button-group/controlled.tsx) | Parent state; exactly one **`pressed={true}`** at a time (**day** / **week** / **month**). |
|
|
47
|
+
| Composition | [`composition.tsx`](../../../playground/snippets/button-group/composition.tsx) | **`ButtonGroup.Icon`**, **`aria-label`** on icon-only **`Item`**, text + chevron, two toolbar rows. |
|
|
48
|
+
| Full width | [`full-width.tsx`](../../../playground/snippets/button-group/full-width.tsx) | **`Root`** **`className="w-full"`**; items **`className="min-w-0 flex-1"`** inside a bounded container. |
|
|
49
|
+
| Form features | [`form-features.tsx`](../../../playground/snippets/button-group/form-features.tsx) | Form with **`type="submit"`** and **`type="reset"`** segments. |
|
|
39
50
|
|
|
40
51
|
### Composition
|
|
41
52
|
|
|
@@ -128,4 +139,5 @@ anti_patterns:
|
|
|
128
139
|
- Prefer SegmentedControl when that composable API is a better fit
|
|
129
140
|
doc_examples_dir: src/components/button-group/examples/
|
|
130
141
|
playground_snippets: playground/snippets/button-group/
|
|
142
|
+
playground_snippet_files: [sizes, states, orientation, controlled, composition, full-width, form-features]
|
|
131
143
|
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ButtonGroup } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Full width: no dedicated prop — width on Root, equal segments via flex-1 on Items.
|
|
5
|
+
*/
|
|
6
|
+
export default function FullWidthExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div className="w-full max-w-md">
|
|
9
|
+
<ButtonGroup.Root aria-label="Plan tier" className="w-full" size="m">
|
|
10
|
+
<ButtonGroup.Item className="min-w-0 flex-1" type="button">
|
|
11
|
+
Basic
|
|
12
|
+
</ButtonGroup.Item>
|
|
13
|
+
<ButtonGroup.Item className="min-w-0 flex-1" pressed type="button">
|
|
14
|
+
Pro
|
|
15
|
+
</ButtonGroup.Item>
|
|
16
|
+
<ButtonGroup.Item className="min-w-0 flex-1" type="button">
|
|
17
|
+
Business
|
|
18
|
+
</ButtonGroup.Item>
|
|
19
|
+
</ButtonGroup.Root>
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -50,20 +50,40 @@ export function RevenuePanelCard() {
|
|
|
50
50
|
}
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
## Playground snippets
|
|
54
|
+
|
|
55
|
+
Live demos use these files (same order as the **Card** section in the playground):
|
|
56
|
+
|
|
57
|
+
| Scenario | Snippet | Notes |
|
|
58
|
+
|----------|---------|-------|
|
|
59
|
+
| Mini | [`mini.tsx`](../../../playground/snippets/card/mini.tsx) | `variant="mini"`: **`IconBox`** + **`Stack`** (**`Label`**, **`Value`**) |
|
|
60
|
+
| Mini + media | [`mini-media.tsx`](../../../playground/snippets/card/mini-media.tsx) | `variant="mini-media"`: same as mini + bottom **`Media`** |
|
|
61
|
+
| Metric | [`metric.tsx`](../../../playground/snippets/card/metric.tsx) | `variant="metric"`: **`HeaderRow`** (**`Lead`**, **`Value`**) + **`Description`** |
|
|
62
|
+
| Stat + trend | [`stat-trend.tsx`](../../../playground/snippets/card/stat-trend.tsx) | `variant="stat-trend"`: **`Value`** + **`Delta`** (`trend`) |
|
|
63
|
+
| CTA | [`cta.tsx`](../../../playground/snippets/card/cta.tsx) | `variant="cta"`: **`Title`**, **`CtaBody`**, **`Actions`** |
|
|
64
|
+
| List | [`list.tsx`](../../../playground/snippets/card/list.tsx) | `variant="list"`: **`ListHeader`**, **`List`** / **`ListItem`** |
|
|
65
|
+
| Split | [`split.tsx`](../../../playground/snippets/card/split.tsx) | `variant="split"`: **`Split`** with two **`SplitCell`** blocks |
|
|
66
|
+
| Cover | [`cover.tsx`](../../../playground/snippets/card/cover.tsx) | `variant="cover"`: **`Cover`**, **`Stack`**, **`Actions`** |
|
|
67
|
+
| Panel (chart only) | [`panel.tsx`](../../../playground/snippets/card/panel.tsx) | `variant="panel"`: **`SectionHeader`** + edge-to-edge **`Chart`** |
|
|
68
|
+
| Panel (body + chart) | [`panel-content-chart.tsx`](../../../playground/snippets/card/panel-content-chart.tsx) | same **`panel`**: **`Body`** + **`Chart`** |
|
|
69
|
+
| Flat surface | [`flat.tsx`](../../../playground/snippets/card/flat.tsx) | **`flat`** prop: shadow vs no shadow on **`mini`** |
|
|
70
|
+
| KPI grid | [`row.tsx`](../../../playground/snippets/card/row.tsx) | several mini cards in playground `introFeatureGrid` |
|
|
71
|
+
|
|
72
|
+
Supporting CSS modules in that folder: `flat.module.css`, `mini-media.module.css`, `variants-stack.module.css`.
|
|
73
|
+
|
|
53
74
|
## Extended examples
|
|
54
75
|
|
|
55
|
-
Copy-oriented scenarios (English copy) live next to this file
|
|
76
|
+
Copy-oriented scenarios (English copy, `prime-ui-kit` imports) live next to this file. For single-variant demos, see **Playground snippets** above.
|
|
56
77
|
|
|
57
78
|
| File | Scenario |
|
|
58
79
|
|------|----------|
|
|
80
|
+
| [examples/mini-kpi.tsx](./examples/mini-kpi.tsx) | **`mini`**: компактный KPI с иконкой |
|
|
59
81
|
| [examples/metric-dashboard.tsx](./examples/metric-dashboard.tsx) | KPI row: **`stat-trend`**, **`metric`**, **`mini-media`** |
|
|
60
82
|
| [examples/list-card.tsx](./examples/list-card.tsx) | Activity list with header link |
|
|
61
83
|
| [examples/media-mini.tsx](./examples/media-mini.tsx) | **`mini-media`**: sparkline and **`ProgressBar`** |
|
|
62
84
|
| [examples/split-layout.tsx](./examples/split-layout.tsx) | **`split`**: two metrics in one tile |
|
|
63
85
|
| [examples/cta-cover.tsx](./examples/cta-cover.tsx) | **`cta`** tile and **`cover`** with gradient banner |
|
|
64
86
|
|
|
65
|
-
Playground: more live variants under `playground/snippets/card/` (e.g. **`flat`**, **`row`**, **`stat-trend`**, chart-only panel).
|
|
66
|
-
|
|
67
87
|
## Composition
|
|
68
88
|
|
|
69
89
|
- **`Card.Root`** — required **`variant`**: `"mini"` \| `"mini-media"` \| `"metric"` \| `"panel"` \| `"stat-trend"` \| `"cta"` \| `"list"` \| `"split"` \| `"cover"`. Optional **`flat`** removes the default surface shadow. Sets `data-variant` / `data-flat` for styling.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Card, Icon } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Compact KPI: icon + label/value (`variant="mini"`). */
|
|
4
|
+
export function MiniKpiExample() {
|
|
5
|
+
return (
|
|
6
|
+
<Card.Root variant="mini">
|
|
7
|
+
<Card.IconBox aria-hidden>
|
|
8
|
+
<Icon name="field.email" aria-hidden />
|
|
9
|
+
</Card.IconBox>
|
|
10
|
+
<Card.Stack>
|
|
11
|
+
<Card.Label>Active sessions</Card.Label>
|
|
12
|
+
<Card.Value>1,248</Card.Value>
|
|
13
|
+
</Card.Stack>
|
|
14
|
+
</Card.Root>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -19,24 +19,34 @@
|
|
|
19
19
|
|
|
20
20
|
A compound checkbox: a visually hidden native `input type="checkbox"`, a decorative box with check or indeterminate mark, and optional label, hint, and error text wired to `aria-describedby` and invalid state.
|
|
21
21
|
|
|
22
|
-
- **When to use** — explicit consent, terms, or other “yes/no” fields that submit with the form (`name`, `value`, `required`).
|
|
23
|
-
- **When to use** —
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
- **When to use** — explicit consent, terms, or other “yes/no” fields that submit with the form (`name`, `value`, `required`); row or “select all” patterns where the parent shows **indeterminate** when only some children are checked; independent toggles (feature flags, optional features, settings) rather than one-of-many choices; hint text or inline validation aligned under the label column.
|
|
23
|
+
- **When not to use** — exactly one option from a set of alternatives (prefer [Radio](../radio/COMPONENT.md)); a single binary setting where a switch fits the product language (prefer [Switch](../switch/COMPONENT.md)); you need `asChild` or fully custom markup; the control is a fixed [Label](../label/COMPONENT.md) row with a hidden input and SVG.
|
|
24
|
+
|
|
25
|
+
### Playground snippets
|
|
26
|
+
|
|
27
|
+
Demos match **`playground/sections/CheckboxSection.tsx`** (order and intent). Sources use `@/` imports under **`playground/snippets/checkbox/`**:
|
|
28
|
+
|
|
29
|
+
| Block | File | What it shows |
|
|
30
|
+
|-------|------|----------------|
|
|
31
|
+
| **Sizes** | [`sizes.tsx`](../../../playground/snippets/checkbox/sizes.tsx) | **`size`** **`s`**, **`m`**, **`l`**, **`xl`** — box, gap, and label scale from control tokens. |
|
|
32
|
+
| **Variants** | [`variants.tsx`](../../../playground/snippets/checkbox/variants.tsx) | **`variant="default"`** vs **`variant="error"`**; mounting **`Checkbox.Error`** also drives invalid (see **Composition** + recipes). |
|
|
33
|
+
| **States** | [`states.tsx`](../../../playground/snippets/checkbox/states.tsx) | Unchecked, **`defaultChecked`**, **`indeterminate`**, native **`required`**, **`disabled`** (off and on). |
|
|
34
|
+
| **Controlled** | [`controlled.tsx`](../../../playground/snippets/checkbox/controlled.tsx) | **`checked`** + **`onChange`**; **`indeterminate`** from parent state cleared on user change (table “select all” pattern). |
|
|
35
|
+
| **Composition** | [`composition.tsx`](../../../playground/snippets/checkbox/composition.tsx) | **`Hint`** only; **`Error`** without **`variant="error"`** on root; full **`Hint`** + **`Error`** with **`variant="error"`**. |
|
|
36
|
+
| **Full width** | [`full-width.tsx`](../../../playground/snippets/checkbox/full-width.tsx) (+ [`full-width.module.css`](../../../playground/snippets/checkbox/full-width.module.css)) | Narrow container: field root is **`width: 100%`**; long label wraps in the text column; hint aligned under label. |
|
|
37
|
+
| **Specific** | [`specific.tsx`](../../../playground/snippets/checkbox/specific.tsx) | Empty **`Checkbox.Label`** with **`aria-label`** on **`Root`**; **`name`** / **`value`** / **`defaultChecked`** for form submit. |
|
|
29
38
|
|
|
30
39
|
### Scenarios (recipes)
|
|
31
40
|
|
|
32
41
|
| Scenario | Approach |
|
|
33
42
|
|----------|----------|
|
|
34
|
-
| **Terms acceptance** | **`required`** on **`Root`**; optional **`Checkbox.Hint`** for legal context; show **`Checkbox.Error`** or **`variant="error"`** after validation when unchecked. |
|
|
35
|
-
| **Feature flags list** | One **`Checkbox.Root` per flag**; independent **controlled** booleans or a small state map; no indeterminate unless a parent “enable all” exists. |
|
|
36
|
-
| **Bulk select (row / table)** | **Header** checkbox: **`checked`** when all rows selected, **`indeterminate`** when some; **`onChange`** selects or clears all row ids. **Row** checkboxes toggle one id each. |
|
|
37
|
-
| **Settings panel** | Stack of **`Root` → `Label` → optional `Hint`** rows; same **`size`** across the panel for rhythm; **`disabled`** for plan-gated options. |
|
|
43
|
+
| **Terms acceptance** | **`required`** on **`Root`**; optional **`Checkbox.Hint`** for legal context; show **`Checkbox.Error`** or **`variant="error"`** after validation when unchecked. → [`examples/terms-acceptance.tsx`](examples/terms-acceptance.tsx) |
|
|
44
|
+
| **Feature flags list** | One **`Checkbox.Root` per flag**; independent **controlled** booleans or a small state map; no indeterminate unless a parent “enable all” exists. → [`examples/feature-flags-list.tsx`](examples/feature-flags-list.tsx) |
|
|
45
|
+
| **Bulk select (row / table)** | **Header** checkbox: **`checked`** when all rows selected, **`indeterminate`** when some; **`onChange`** selects or clears all row ids. **Row** checkboxes toggle one id each. → [`examples/bulk-select-rows.tsx`](examples/bulk-select-rows.tsx) |
|
|
46
|
+
| **Settings panel** | Stack of **`Root` → `Label` → optional `Hint`** rows; same **`size`** across the panel for rhythm; **`disabled`** for plan-gated options. → [`examples/settings-panel.tsx`](examples/settings-panel.tsx) |
|
|
47
|
+
| **Empty label + form attrs** | Icon-only / compact cell: **`aria-label`** (or **`aria-labelledby`**) on **`Root`**; optional **`name`** / **`value`** for submission. → [`examples/empty-label-form.tsx`](examples/empty-label-form.tsx) |
|
|
38
48
|
|
|
39
|
-
Runnable
|
|
49
|
+
Runnable recipe examples use **`prime-ui-kit`** imports under **`examples/`**. Snippet-level demos (internal imports) are listed in **Playground snippets** above.
|
|
40
50
|
|
|
41
51
|
### Composition
|
|
42
52
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Checkbox } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Matches playground `snippets/checkbox/specific.tsx`: no visible label text — set an accessible name on
|
|
5
|
+
* Root; optional name/value for form submission.
|
|
6
|
+
*/
|
|
7
|
+
export function EmptyLabelFormExample() {
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
<Checkbox.Root size="m" aria-label="Receive digest by email (no visible label)">
|
|
11
|
+
<Checkbox.Label />
|
|
12
|
+
</Checkbox.Root>
|
|
13
|
+
<Checkbox.Root
|
|
14
|
+
size="m"
|
|
15
|
+
name="newsletter"
|
|
16
|
+
value="weekly"
|
|
17
|
+
defaultChecked
|
|
18
|
+
aria-label="Subscribe to weekly newsletter"
|
|
19
|
+
>
|
|
20
|
+
<Checkbox.Label />
|
|
21
|
+
</Checkbox.Root>
|
|
22
|
+
</>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -27,17 +27,31 @@
|
|
|
27
27
|
- **`Root`** renders a **`pre`**; highlighted markup is a single inner **`code`** (do not supply **`children`**).
|
|
28
28
|
- Pass source as **`code`**. Optional **`colorScheme`** sets highlighting palette / **`data-theme`** on **`pre`**.
|
|
29
29
|
|
|
30
|
-
### Scenarios (
|
|
30
|
+
### Scenarios (playground)
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|----------|----------------|
|
|
34
|
-
| Minimal usage | [`examples/minimal.tsx`](./examples/minimal.tsx) |
|
|
35
|
-
| API response preview (JSON body) | [`examples/api-response-preview.tsx`](./examples/api-response-preview.tsx) |
|
|
36
|
-
| Config snippet (TS config) | [`examples/config-snippet.tsx`](./examples/config-snippet.tsx) |
|
|
37
|
-
| Error stack / log | [`examples/error-stack.tsx`](./examples/error-stack.tsx) |
|
|
38
|
-
| Tutorial step (copy + snippet) | [`examples/tutorial-step.tsx`](./examples/tutorial-step.tsx) |
|
|
32
|
+
Same order as `playground/sections/CodeBlockSection.tsx`. Snippets use the `@/` alias and may use `usePlaygroundTheme` for `colorScheme`.
|
|
39
33
|
|
|
40
|
-
|
|
34
|
+
| Scenario | Snippet |
|
|
35
|
+
|----------|---------|
|
|
36
|
+
| Sizes — wrapper `font-size` / `line-height`; no `size` prop | [`sizes.tsx`](../../../playground/snippets/code-block/sizes.tsx) |
|
|
37
|
+
| Variants — `colorScheme` light and dark side by side | [`variants.tsx`](../../../playground/snippets/code-block/variants.tsx) |
|
|
38
|
+
| Controlled — `code` from parent state; switch between snippets | [`controlled.tsx`](../../../playground/snippets/code-block/controlled.tsx) |
|
|
39
|
+
| Composition — documentation-style card (Typography + code) | [`composition.tsx`](../../../playground/snippets/code-block/composition.tsx) |
|
|
40
|
+
| Full width — narrow column, `codeBlockFullBleed`, horizontal scroll | [`full-width.tsx`](../../../playground/snippets/code-block/full-width.tsx) |
|
|
41
|
+
| Features — `id`, `aria-label`, `data-*`, trailing spaces + `trimEnd` | [`features.tsx`](../../../playground/snippets/code-block/features.tsx) |
|
|
42
|
+
|
|
43
|
+
### Package examples (`examples/`)
|
|
44
|
+
|
|
45
|
+
Recipes import **`prime-ui-kit`** (no playground path alias).
|
|
46
|
+
|
|
47
|
+
| Scenario | File |
|
|
48
|
+
|----------|------|
|
|
49
|
+
| Minimal usage | [`minimal.tsx`](./examples/minimal.tsx) |
|
|
50
|
+
| Controlled — `code` из состояния (рецепт на `ButtonGroup`) | [`controlled.tsx`](./examples/controlled.tsx) |
|
|
51
|
+
| API response preview (JSON body) | [`api-response-preview.tsx`](./examples/api-response-preview.tsx) |
|
|
52
|
+
| Config snippet (TS config) | [`config-snippet.tsx`](./examples/config-snippet.tsx) |
|
|
53
|
+
| Error stack / log | [`error-stack.tsx`](./examples/error-stack.tsx) |
|
|
54
|
+
| Tutorial step (copy + snippet) | [`tutorial-step.tsx`](./examples/tutorial-step.tsx) |
|
|
41
55
|
|
|
42
56
|
### Minimal example
|
|
43
57
|
|
|
@@ -74,8 +88,9 @@ The package also exports **`CodeBlockColorScheme`** and **`CodeBlockRootProps`**
|
|
|
74
88
|
### Related
|
|
75
89
|
|
|
76
90
|
- [Typography](../typography/COMPONENT.md) — headings and body around snippets.
|
|
77
|
-
- [Button](../button/COMPONENT.md) — switching
|
|
78
|
-
- [
|
|
91
|
+
- [Button](../button/COMPONENT.md) — switching the active snippet from parent state (playground `controlled.tsx`).
|
|
92
|
+
- [ButtonGroup](../button-group/COMPONENT.md) — segmented control for switching `code` ([`examples/controlled.tsx`](./examples/controlled.tsx)).
|
|
93
|
+
- [Segmented control](../segmented-control/COMPONENT.md) — compact scenario switching.
|
|
79
94
|
- [Kbd](../kbd/COMPONENT.md) — shortcut hints beside prose.
|
|
80
95
|
|
|
81
96
|
## Note for LLM assistants
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ButtonGroup, CodeBlock, Typography } from "prime-ui-kit";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
|
|
4
|
+
const SNIPPETS: [string, string][] = [
|
|
5
|
+
[
|
|
6
|
+
"Утилита",
|
|
7
|
+
`export function clamp(n: number, min: number, max: number) {
|
|
8
|
+
return Math.min(max, Math.max(min, n));
|
|
9
|
+
}
|
|
10
|
+
`,
|
|
11
|
+
],
|
|
12
|
+
[
|
|
13
|
+
"React",
|
|
14
|
+
`import { useMemo } from "react";
|
|
15
|
+
|
|
16
|
+
export function useStableId(prefix: string) {
|
|
17
|
+
return useMemo(() => \`\${prefix}-\${Math.random().toString(36).slice(2)}\`, [prefix]);
|
|
18
|
+
}
|
|
19
|
+
`,
|
|
20
|
+
],
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
/** Проп `code` из состояния родителя: сегменты переключают два разных фрагмента (как в playground `controlled.tsx`). */
|
|
24
|
+
export default function CodeBlockControlledExample() {
|
|
25
|
+
const [index, setIndex] = useState(0);
|
|
26
|
+
const [label, code] = SNIPPETS[index] ?? SNIPPETS[0];
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<div>
|
|
30
|
+
<Typography.Root variant="body-compact" tone="muted" as="p">
|
|
31
|
+
Активный фрагмент: <strong>{label}</strong> (проп <code>code</code> из состояния).
|
|
32
|
+
</Typography.Root>
|
|
33
|
+
<ButtonGroup.Root size="s" aria-label="Выбор фрагмента кода">
|
|
34
|
+
{SNIPPETS.map(([title], i) => (
|
|
35
|
+
<ButtonGroup.Item key={title} pressed={i === index} onClick={() => setIndex(i)}>
|
|
36
|
+
{title}
|
|
37
|
+
</ButtonGroup.Item>
|
|
38
|
+
))}
|
|
39
|
+
</ButtonGroup.Root>
|
|
40
|
+
<CodeBlock.Root code={code} colorScheme="light" />
|
|
41
|
+
</div>
|
|
42
|
+
);
|
|
43
|
+
}
|