prime-ui-kit 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +8 -0
- 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 +76 -66
- 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 +8 -0
- package/dist/index.css.map +3 -3
- package/dist/index.js +76 -66
- package/dist/index.js.map +3 -3
- 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.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 +13 -2
- 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 +14 -4
- 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
|
@@ -28,15 +28,29 @@
|
|
|
28
28
|
|
|
29
29
|
- **`SegmentedProgressBar.Root`** — outer wrapper with **`data-size`**, **`data-segment-gap`**, optional visible **`label`**, optional visually hidden distribution **`span`** (when **`label`** is set), and a **`role="group"`** track with one **`div`** per segment (presentational fills).
|
|
30
30
|
|
|
31
|
-
###
|
|
31
|
+
### Playground (`playground/sections/SegmentedProgressBarSection.tsx`)
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
|
36
|
-
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
33
|
+
The section renders snippets from **`playground/snippets/progress/`** (segmented bar demos only):
|
|
34
|
+
|
|
35
|
+
| Demo (section) | Snippet | What it shows |
|
|
36
|
+
|----------------|---------|----------------|
|
|
37
|
+
| Распределение | [`segmented-distribution.tsx`](../../../playground/snippets/progress/segmented-distribution.tsx) | Weights as shares of the sum (like percentages when the total is 100); visible **`label`** and per-segment **`label`** / **`tone`** (Russian copy in the snippet; **`previewLayout="stack"`**). |
|
|
38
|
+
| Размеры | [`segmented-sizes.tsx`](../../../playground/snippets/progress/segmented-sizes.tsx) | **`size`** **`s`**, **`m`**, **`l`**, **`xl`** with the same weights (**`previewLayout="stack-center"`**). |
|
|
39
|
+
| Зазор между сегментами | [`segmented-gap.tsx`](../../../playground/snippets/progress/segmented-gap.tsx) | Default **`segmentGap="none"`** vs **`hairline`** (1px separators); **`previewLayout="stack"`**. |
|
|
40
|
+
|
|
41
|
+
`playground/snippets/segmented/*` is for **SegmentedControl**, not this component.
|
|
42
|
+
|
|
43
|
+
### Example files in `examples/`
|
|
44
|
+
|
|
45
|
+
Imports use **`"prime-ui-kit"`** so the same patterns work in an app. **`distribution-breakdown`**, **`size-ladder`**, and **`segment-gaps`** mirror the three playground frames above (same structure; English labels and copy where the snippets use Russian).
|
|
46
|
+
|
|
47
|
+
| File | Scenario |
|
|
48
|
+
|------|----------|
|
|
49
|
+
| [`distribution-breakdown.tsx`](examples/distribution-breakdown.tsx) | **`label`** + weighted segments + **`tone`** (`snippets/progress/segmented-distribution.tsx`). |
|
|
50
|
+
| [`size-ladder.tsx`](examples/size-ladder.tsx) | **`size`** ladder **`s`–`xl`** (`snippets/progress/segmented-sizes.tsx`; snippet wraps rows in **`stack`** + **`examplePreviewBleed`** for the playground). |
|
|
51
|
+
| [`segment-gaps.tsx`](examples/segment-gaps.tsx) | **`segmentGap`** **`none`** vs **`hairline`** (`snippets/progress/segmented-gap.tsx`). |
|
|
52
|
+
| [`multi-phase-rollout.tsx`](examples/multi-phase-rollout.tsx) | Phase mix (internal / beta / GA) with distinct **`tone`** values — not mounted in the section; extra recipe. |
|
|
53
|
+
| [`storage-mix.tsx`](examples/storage-mix.tsx) | Category-style breakdown with **`hairline`** — not mounted in the section; extra recipe. |
|
|
40
54
|
|
|
41
55
|
### Minimal example
|
|
42
56
|
|
|
@@ -94,6 +108,7 @@ export function Example() {
|
|
|
94
108
|
|
|
95
109
|
## LLM note
|
|
96
110
|
|
|
111
|
+
- Playground source of truth for live demos: **`playground/sections/SegmentedProgressBarSection.tsx`** → **`playground/snippets/progress/segmented-{distribution,sizes,gap}.tsx`** (not **`snippets/segmented/`**, which is SegmentedControl).
|
|
97
112
|
- Export: **`import { SegmentedProgressBar } from "prime-ui-kit"`** — public surface is **`SegmentedProgressBar.Root`** only (namespace object).
|
|
98
113
|
- **`SegmentedProgressBarRootProps`:** **`segments`** (required), **`label?`**, **`size?`**, **`segmentGap?`**, **`className?`**; **`ref`** → track **`div`** (**`role="group"`**).
|
|
99
114
|
- **`SegmentedProgressSegment`:** **`value`** (number), **`label?`**, **`tone?`** — **`tone`** literals: **`primary`**, **`success`**, **`warning`**, **`danger`**, **`neutral`**.
|
|
@@ -23,7 +23,7 @@ A single-select field: by default (**`native`** `false`) it is a combobox — a
|
|
|
23
23
|
- **`Select.Root`** — owns value (controlled or uncontrolled), `size`, `hasError`, `disabled`, **`placeholder`**, and **`native`**. When **`native`** is `false`, it also owns open state and highlight. Wrap everything else.
|
|
24
24
|
- **`Select.Trigger`** — (non-**`native`** only) the combobox `button` (fixed chevron on the right). Put **`Select.Value`** inside; optionally **`Select.TriggerIcon`** before **`Select.Value`**. The implementation sets the trigger **`id`**; you cannot override it — associate an external [Label](../label/COMPONENT.md) with **`aria-labelledby`** pointing at the label’s **`id`**.
|
|
25
25
|
- **`Select.Value`** — (non-**`native`** only) displays the selected item label, otherwise falls back to the raw value or **`placeholder`** (hint styling when empty).
|
|
26
|
-
- **`Select.Content`** — when **`native`** is `false`: portaled **`role="listbox"
|
|
26
|
+
- **`Select.Content`** — when **`native`** is `false`: portaled **`role="listbox"`** with **`display: none`** while closed (nodes stay mounted). Place **`Select.Item`** rows (and optional groups/separators) inside. Must come after the trigger in the document for a predictable structure. When **`native`** is `true`, **`Select.Content`** is optional as a structural wrapper; only **`Select.Item`** (and groups) contribute to the DOM **`<select>`**.
|
|
27
27
|
- **`Select.Item`** — one option per row; optional **`Select.ItemIcon`** children are recognized by component type and rendered before the text. Use **`label`** when the trigger should show different text than the row content.
|
|
28
28
|
- **`Select.Group`** / **`Select.GroupLabel`** / **`Select.Separator`** — optional structure inside **`Select.Content`**.
|
|
29
29
|
|
|
@@ -76,14 +76,44 @@ export function NativeExample() {
|
|
|
76
76
|
|
|
77
77
|
You can wrap items in **`Select.Content`** for parity with the composable tree; behavior is the same.
|
|
78
78
|
|
|
79
|
-
###
|
|
79
|
+
### Playground snippets (live demos)
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
- [`./examples/02-controlled.tsx`](./examples/02-controlled.tsx) — Controlled **`value`** / **`onChange`** with subscription tier options.
|
|
83
|
-
- [`./examples/03-groups.tsx`](./examples/03-groups.tsx) — **`Select.Group`**, **`Select.GroupLabel`**, and **`Select.Separator`** for regional time zones.
|
|
84
|
-
- [`./examples/04-full-width-form.tsx`](./examples/04-full-width-form.tsx) — Form column where the trigger spans the track (**`width: 100%`** via kit styles on the trigger; width the parent column).
|
|
81
|
+
These files power **`playground/sections/SelectSection.tsx`** (Russian copy in the playground UI). Order matches the section.
|
|
85
82
|
|
|
86
|
-
|
|
83
|
+
| File | Intent |
|
|
84
|
+
|------|--------|
|
|
85
|
+
| `playground/snippets/select/sizes.tsx` | Four **`size`** values **`s`–`xl`** in one column |
|
|
86
|
+
| `playground/snippets/select/states.tsx` | Placeholder only, **`defaultValue`**, root **`disabled`**, **`hasError`** |
|
|
87
|
+
| `playground/snippets/select/controlled.tsx` | **`value`** / **`onChange`** with caption showing parent state |
|
|
88
|
+
| `playground/snippets/select/composition.tsx` | **`Select.TriggerIcon`**, **`Select.ItemIcon`**, item **`label`** vs short row text |
|
|
89
|
+
| `playground/snippets/select/full-width.tsx` | Trigger fills a narrow shell (**`width: 100%`** from kit styles) |
|
|
90
|
+
| `playground/snippets/select/native.tsx` | **`Select.Root`** **`native`** with optional **`Select.Content`** wrapper |
|
|
91
|
+
| `playground/snippets/select/features.tsx` | **`Group`** / **`GroupLabel`** / **`Separator`**, disabled item, long list + scroll |
|
|
92
|
+
|
|
93
|
+
### Examples next to this file
|
|
94
|
+
|
|
95
|
+
Runnable examples use **`@/`** in the workspace; published consumers import **`prime-ui-kit`**. **`pattern-*`** files mirror the playground snippets above in English (same APIs).
|
|
96
|
+
|
|
97
|
+
| File | Intent |
|
|
98
|
+
|------|--------|
|
|
99
|
+
| `examples/pattern-sizes.tsx` | **`sizes.tsx`** snippet |
|
|
100
|
+
| `examples/pattern-states.tsx` | **`states.tsx`** snippet |
|
|
101
|
+
| `examples/pattern-controlled.tsx` | **`controlled.tsx`** snippet |
|
|
102
|
+
| `examples/pattern-composition.tsx` | **`composition.tsx`** snippet |
|
|
103
|
+
| `examples/pattern-full-width.tsx` | **`full-width.tsx`** snippet |
|
|
104
|
+
| `examples/pattern-native.tsx` | **`native.tsx`** snippet |
|
|
105
|
+
| `examples/pattern-features.tsx` | **`features.tsx`** snippet |
|
|
106
|
+
|
|
107
|
+
### Additional scenarios
|
|
108
|
+
|
|
109
|
+
| File | Intent |
|
|
110
|
+
|------|--------|
|
|
111
|
+
| [`./examples/01-country.tsx`](./examples/01-country.tsx) | Visible **`Label.Root`** + **`aria-labelledby`** on **`Select.Trigger`** and helper copy |
|
|
112
|
+
| [`./examples/02-controlled.tsx`](./examples/02-controlled.tsx) | Controlled **`value`** / **`onChange`** with **`Label.Root`** (same tier options as **`pattern-controlled.tsx`**) |
|
|
113
|
+
| [`./examples/03-groups.tsx`](./examples/03-groups.tsx) | Time zones with **`Select.Group`**, **`Select.GroupLabel`**, **`Select.Separator`** |
|
|
114
|
+
| [`./examples/04-full-width-form.tsx`](./examples/04-full-width-form.tsx) | Multi-field form column; triggers span the track |
|
|
115
|
+
|
|
116
|
+
**LLM note:** Prefer **`pattern-*`** and `playground/snippets/select/*.tsx` for parity with live demos; use **`01`–`04`** for labeled forms and richer scenarios. This page keeps the contract (rules + API tables) authoritative.
|
|
87
117
|
|
|
88
118
|
## Rules
|
|
89
119
|
|
|
@@ -106,7 +136,7 @@ You can wrap items in **`Select.Content`** for parity with the composable tree;
|
|
|
106
136
|
|
|
107
137
|
| Prop | Type | Default | Required | Description |
|
|
108
138
|
|------|------|---------|----------|-------------|
|
|
109
|
-
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No |
|
|
139
|
+
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Token tier: trigger height, type scale, padding, icon sizes in trigger and list |
|
|
110
140
|
| value | `string` | — | No | Controlled selected value |
|
|
111
141
|
| defaultValue | `string` | — | No | Initial value when uncontrolled |
|
|
112
142
|
| onChange | `(value: string) => void` | — | No | Fires after a new value is selected |
|
|
@@ -147,7 +177,7 @@ You can wrap items in **`Select.Content`** for parity with the composable tree;
|
|
|
147
177
|
| Prop | Type | Default | Required | Description |
|
|
148
178
|
|------|------|---------|----------|-------------|
|
|
149
179
|
| className | `string` | — | No | Class on the portaled listbox container |
|
|
150
|
-
| children | `React.ReactNode` | — | Yes | Items, groups, and separators |
|
|
180
|
+
| children | `React.ReactNode` | — | Yes | Items, groups, and separators (listbox portal stays mounted; hidden while closed) |
|
|
151
181
|
|
|
152
182
|
### Select.Item
|
|
153
183
|
|
|
@@ -4,6 +4,17 @@
|
|
|
4
4
|
gap: var(--prime-sys-spacing-s);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
.stackNarrow {
|
|
8
|
+
width: 100%;
|
|
9
|
+
max-width: calc(var(--prime-sys-unit-1rem) * 22);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.fullWidthShell {
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
width: 100%;
|
|
15
|
+
max-width: calc(var(--prime-sys-unit-1rem) * 20);
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
.field {
|
|
8
19
|
display: flex;
|
|
9
20
|
flex-direction: column;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Select } from "@/components/select/Select";
|
|
2
|
+
import { Icon } from "@/icons";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/** `TriggerIcon`, `ItemIcon`, and item `label` for trigger vs row text; mirrors `playground/snippets/select/composition.tsx`. */
|
|
7
|
+
export default function SelectPatternCompositionExample() {
|
|
8
|
+
return (
|
|
9
|
+
<div className={`${styles.stack} ${styles.stackNarrow}`}>
|
|
10
|
+
<Select.Root size="m" defaultValue="eur" placeholder="Report currency">
|
|
11
|
+
<Select.Trigger>
|
|
12
|
+
<Select.TriggerIcon>
|
|
13
|
+
<Icon name="nav.layoutGrid" size="s" tone="subtle" />
|
|
14
|
+
</Select.TriggerIcon>
|
|
15
|
+
<Select.Value />
|
|
16
|
+
</Select.Trigger>
|
|
17
|
+
<Select.Content>
|
|
18
|
+
<Select.Item value="rub" label="RUB — Russian ruble">
|
|
19
|
+
<Select.ItemIcon>
|
|
20
|
+
<Icon name="nav.layoutGrid" size="s" tone="subtle" />
|
|
21
|
+
</Select.ItemIcon>
|
|
22
|
+
₽ RUB
|
|
23
|
+
</Select.Item>
|
|
24
|
+
<Select.Item value="eur" label="EUR — Euro">
|
|
25
|
+
<Select.ItemIcon>
|
|
26
|
+
<Icon name="nav.layoutGrid" size="s" tone="subtle" />
|
|
27
|
+
</Select.ItemIcon>
|
|
28
|
+
€ EUR
|
|
29
|
+
</Select.Item>
|
|
30
|
+
<Select.Item value="usd" label="USD — US dollar">
|
|
31
|
+
<Select.ItemIcon>
|
|
32
|
+
<Icon name="nav.layoutGrid" size="s" tone="subtle" />
|
|
33
|
+
</Select.ItemIcon>
|
|
34
|
+
$ USD
|
|
35
|
+
</Select.Item>
|
|
36
|
+
</Select.Content>
|
|
37
|
+
</Select.Root>
|
|
38
|
+
</div>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
import { Select } from "@/components/select/Select";
|
|
4
|
+
import { Typography } from "@/components/typography/Typography";
|
|
5
|
+
|
|
6
|
+
import styles from "./examples.module.css";
|
|
7
|
+
|
|
8
|
+
/** Controlled `value` / `onChange`; mirrors `playground/snippets/select/controlled.tsx`. */
|
|
9
|
+
export default function SelectPatternControlledExample() {
|
|
10
|
+
const [tier, setTier] = React.useState("pro");
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div className={`${styles.stack} ${styles.stackNarrow}`}>
|
|
14
|
+
<Select.Root size="m" value={tier} onChange={setTier} placeholder="Tier">
|
|
15
|
+
<Select.Trigger aria-label="Subscription tier">
|
|
16
|
+
<Select.Value />
|
|
17
|
+
</Select.Trigger>
|
|
18
|
+
<Select.Content>
|
|
19
|
+
<Select.Item value="free">Free</Select.Item>
|
|
20
|
+
<Select.Item value="pro">Pro</Select.Item>
|
|
21
|
+
<Select.Item value="team">Team</Select.Item>
|
|
22
|
+
</Select.Content>
|
|
23
|
+
</Select.Root>
|
|
24
|
+
<Typography.Root as="p" variant="caption" tone="muted" className={styles.caption}>
|
|
25
|
+
Current value in parent state: <code>{tier}</code>
|
|
26
|
+
</Typography.Root>
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Select } from "@/components/select/Select";
|
|
2
|
+
|
|
3
|
+
const ZONES = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "K"] as const;
|
|
4
|
+
|
|
5
|
+
/** Groups, labels, separator, disabled item, long scrollable list; mirrors `playground/snippets/select/features.tsx`. */
|
|
6
|
+
export default function SelectPatternFeaturesExample() {
|
|
7
|
+
return (
|
|
8
|
+
<Select.Root size="m" placeholder="Zones and groups">
|
|
9
|
+
<Select.Trigger>
|
|
10
|
+
<Select.Value />
|
|
11
|
+
</Select.Trigger>
|
|
12
|
+
<Select.Content>
|
|
13
|
+
<Select.Group>
|
|
14
|
+
<Select.GroupLabel>Available now</Select.GroupLabel>
|
|
15
|
+
<Select.Item value="east-1">East — node 1</Select.Item>
|
|
16
|
+
<Select.Item value="east-2">East — node 2</Select.Item>
|
|
17
|
+
</Select.Group>
|
|
18
|
+
<Select.Separator />
|
|
19
|
+
<Select.Group>
|
|
20
|
+
<Select.GroupLabel>Planned</Select.GroupLabel>
|
|
21
|
+
<Select.Item value="west-1" disabled>
|
|
22
|
+
West — node 1 (reserved)
|
|
23
|
+
</Select.Item>
|
|
24
|
+
{ZONES.map((z, i) => (
|
|
25
|
+
<Select.Item key={z} value={`zone-${i}`}>
|
|
26
|
+
Reserve {z}
|
|
27
|
+
</Select.Item>
|
|
28
|
+
))}
|
|
29
|
+
</Select.Group>
|
|
30
|
+
</Select.Content>
|
|
31
|
+
</Select.Root>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Select } from "@/components/select/Select";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/** Narrow column shows trigger `width: 100%`; mirrors `playground/snippets/select/full-width.tsx`. */
|
|
6
|
+
export default function SelectPatternFullWidthExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div className={styles.fullWidthShell}>
|
|
9
|
+
<Select.Root size="m" defaultValue="ship" placeholder="Shipping method">
|
|
10
|
+
<Select.Trigger>
|
|
11
|
+
<Select.Value />
|
|
12
|
+
</Select.Trigger>
|
|
13
|
+
<Select.Content>
|
|
14
|
+
<Select.Item value="pickup">Pickup</Select.Item>
|
|
15
|
+
<Select.Item value="ship">Courier</Select.Item>
|
|
16
|
+
<Select.Item value="post">Post</Select.Item>
|
|
17
|
+
</Select.Content>
|
|
18
|
+
</Select.Root>
|
|
19
|
+
</div>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Select } from "@/components/select/Select";
|
|
2
|
+
|
|
3
|
+
/** Native `<select>` via `native`; optional `Select.Content` wrapper; mirrors `playground/snippets/select/native.tsx`. */
|
|
4
|
+
export default function SelectPatternNativeExample() {
|
|
5
|
+
return (
|
|
6
|
+
<Select.Root native size="m" placeholder="Mode">
|
|
7
|
+
<Select.Content>
|
|
8
|
+
<Select.Item value="auto">Auto</Select.Item>
|
|
9
|
+
<Select.Item value="light">Light</Select.Item>
|
|
10
|
+
<Select.Item value="dark">Dark</Select.Item>
|
|
11
|
+
</Select.Content>
|
|
12
|
+
</Select.Root>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Select } from "@/components/select/Select";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/** `size` ladder `s`–`xl`; mirrors `playground/snippets/select/sizes.tsx`. */
|
|
6
|
+
export default function SelectPatternSizesExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div className={`${styles.stack} ${styles.stackNarrow}`}>
|
|
9
|
+
<Select.Root size="s" placeholder="Size s">
|
|
10
|
+
<Select.Trigger>
|
|
11
|
+
<Select.Value />
|
|
12
|
+
</Select.Trigger>
|
|
13
|
+
<Select.Content>
|
|
14
|
+
<Select.Item value="a">A</Select.Item>
|
|
15
|
+
<Select.Item value="b">B</Select.Item>
|
|
16
|
+
<Select.Item value="c">C</Select.Item>
|
|
17
|
+
</Select.Content>
|
|
18
|
+
</Select.Root>
|
|
19
|
+
<Select.Root size="m" placeholder="Size m">
|
|
20
|
+
<Select.Trigger>
|
|
21
|
+
<Select.Value />
|
|
22
|
+
</Select.Trigger>
|
|
23
|
+
<Select.Content>
|
|
24
|
+
<Select.Item value="a">A</Select.Item>
|
|
25
|
+
<Select.Item value="b">B</Select.Item>
|
|
26
|
+
<Select.Item value="c">C</Select.Item>
|
|
27
|
+
</Select.Content>
|
|
28
|
+
</Select.Root>
|
|
29
|
+
<Select.Root size="l" placeholder="Size l">
|
|
30
|
+
<Select.Trigger>
|
|
31
|
+
<Select.Value />
|
|
32
|
+
</Select.Trigger>
|
|
33
|
+
<Select.Content>
|
|
34
|
+
<Select.Item value="a">A</Select.Item>
|
|
35
|
+
<Select.Item value="b">B</Select.Item>
|
|
36
|
+
<Select.Item value="c">C</Select.Item>
|
|
37
|
+
</Select.Content>
|
|
38
|
+
</Select.Root>
|
|
39
|
+
<Select.Root size="xl" placeholder="Size xl">
|
|
40
|
+
<Select.Trigger>
|
|
41
|
+
<Select.Value />
|
|
42
|
+
</Select.Trigger>
|
|
43
|
+
<Select.Content>
|
|
44
|
+
<Select.Item value="a">A</Select.Item>
|
|
45
|
+
<Select.Item value="b">B</Select.Item>
|
|
46
|
+
<Select.Item value="c">C</Select.Item>
|
|
47
|
+
</Select.Content>
|
|
48
|
+
</Select.Root>
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Select } from "@/components/select/Select";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/** Placeholder, `defaultValue`, root `disabled`, `hasError`; mirrors `playground/snippets/select/states.tsx`. */
|
|
6
|
+
export default function SelectPatternStatesExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div className={`${styles.stack} ${styles.stackNarrow}`}>
|
|
9
|
+
<Select.Root size="m" placeholder="Placeholder only">
|
|
10
|
+
<Select.Trigger>
|
|
11
|
+
<Select.Value />
|
|
12
|
+
</Select.Trigger>
|
|
13
|
+
<Select.Content>
|
|
14
|
+
<Select.Item value="a">Option A</Select.Item>
|
|
15
|
+
<Select.Item value="b">Option B</Select.Item>
|
|
16
|
+
</Select.Content>
|
|
17
|
+
</Select.Root>
|
|
18
|
+
<Select.Root size="m" defaultValue="b" placeholder="With default value">
|
|
19
|
+
<Select.Trigger>
|
|
20
|
+
<Select.Value />
|
|
21
|
+
</Select.Trigger>
|
|
22
|
+
<Select.Content>
|
|
23
|
+
<Select.Item value="a">Option A</Select.Item>
|
|
24
|
+
<Select.Item value="b">Option B</Select.Item>
|
|
25
|
+
</Select.Content>
|
|
26
|
+
</Select.Root>
|
|
27
|
+
<Select.Root size="m" defaultValue="on" disabled placeholder="Disabled">
|
|
28
|
+
<Select.Trigger>
|
|
29
|
+
<Select.Value />
|
|
30
|
+
</Select.Trigger>
|
|
31
|
+
<Select.Content>
|
|
32
|
+
<Select.Item value="off">Off</Select.Item>
|
|
33
|
+
<Select.Item value="on">On</Select.Item>
|
|
34
|
+
</Select.Content>
|
|
35
|
+
</Select.Root>
|
|
36
|
+
<Select.Root size="m" hasError placeholder="Validation error">
|
|
37
|
+
<Select.Trigger>
|
|
38
|
+
<Select.Value />
|
|
39
|
+
</Select.Trigger>
|
|
40
|
+
<Select.Content>
|
|
41
|
+
<Select.Item value="1">Item 1</Select.Item>
|
|
42
|
+
<Select.Item value="2">Item 2</Select.Item>
|
|
43
|
+
</Select.Content>
|
|
44
|
+
</Select.Root>
|
|
45
|
+
</div>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
@@ -35,14 +35,22 @@ export function Example() {
|
|
|
35
35
|
}
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
###
|
|
38
|
+
### Playground-aligned examples
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
- [`./examples/02-price-range.tsx`](./examples/02-price-range.tsx) — Stepped “maximum price” filter with a `Hint` for how results update.
|
|
42
|
-
- [`./examples/03-controlled.tsx`](./examples/03-controlled.tsx) — Controlled `value` / `onChange` with a live numeric readout.
|
|
43
|
-
- [`./examples/04-disabled.tsx`](./examples/04-disabled.tsx) — Disabled preset until a parent feature is available.
|
|
40
|
+
**`playground/sections/SliderSection.tsx`** and **`playground/snippets/slider/`** define the demo order and code shown in the playground (Russian UI copy in snippets). Matching runnable package examples (imports from **`"prime-ui-kit"`**) live next to this file:
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
| Playground block | Snippet | Example file |
|
|
43
|
+
|------------------|---------|--------------|
|
|
44
|
+
| Sizes | `sizes.tsx` | `sizes.tsx` |
|
|
45
|
+
| States | `states.tsx` | `states.tsx` |
|
|
46
|
+
| Controlled | `controlled.tsx` | `controlled.tsx` |
|
|
47
|
+
| Composition | `composition.tsx` | `composition.tsx` |
|
|
48
|
+
| Full width | `full-width.tsx` | `full-width.tsx` |
|
|
49
|
+
| Features (range / step) | `features.tsx` | `features.tsx` |
|
|
50
|
+
|
|
51
|
+
Shared layout for controlled and full-width demos: **`examples/examples.module.css`**.
|
|
52
|
+
|
|
53
|
+
**LLM note:** Prefer reading the runnable files under `./examples/*.tsx` for full scenarios and prop combinations; this page keeps the contract (rules + API tables) authoritative.
|
|
46
54
|
|
|
47
55
|
## Rules
|
|
48
56
|
|
|
@@ -59,17 +67,17 @@ export function Example() {
|
|
|
59
67
|
|
|
60
68
|
| Prop | Type | Default | Required | Description |
|
|
61
69
|
|------|------|---------|----------|-------------|
|
|
62
|
-
| value | `number` | — | No | Controlled value |
|
|
63
|
-
| defaultValue | `number` | — | No | Initial value when uncontrolled; if omitted, the internal initial value is
|
|
64
|
-
| min | `number` | `0` | No | Minimum
|
|
65
|
-
| max | `number` | `100` | No | Maximum
|
|
70
|
+
| value | `number` | — | No | Controlled value; use with **`onChange`** for external state |
|
|
71
|
+
| defaultValue | `number` | — | No | Initial value when uncontrolled; clamped to **`[min, max]`**; if omitted, the internal initial value is **`min`** |
|
|
72
|
+
| min | `number` | `0` | No | Minimum for the native `type="range"` |
|
|
73
|
+
| max | `number` | `100` | No | Maximum for the native `type="range"` |
|
|
66
74
|
| step | `number` | `1` | No | Step increment (may be fractional) |
|
|
67
|
-
| disabled | `boolean` | — | No |
|
|
68
|
-
| onChange | `(value: number) => void` | — | No |
|
|
69
|
-
| label | `string` | — | No |
|
|
70
|
-
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Track, thumb, and label scale |
|
|
71
|
-
| className | `string` | — | No |
|
|
72
|
-
| aria-label | `string` | — | No | Accessible name when there is no
|
|
75
|
+
| disabled | `boolean` | — | No | Blocks input and lowers track opacity |
|
|
76
|
+
| onChange | `(value: number) => void` | — | No | Fires when the value changes after user input (pointer, touch, or native range keys) |
|
|
77
|
+
| label | `string` | — | No | Text above the track; creates an associated **`label`** with **`htmlFor`** on the input |
|
|
78
|
+
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Track height, thumb, and label type scale from one control token tier |
|
|
79
|
+
| className | `string` | — | No | Extra class on the root container |
|
|
80
|
+
| aria-label | `string` | — | No | Accessible name when there is no visible **`label`** |
|
|
73
81
|
|
|
74
82
|
## Related
|
|
75
83
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Slider } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Visible `label` (linked `label` / `htmlFor` to the input) vs no visible label — then set `aria-label`
|
|
5
|
+
* for screen readers (fractional step for “layer opacity”).
|
|
6
|
+
*/
|
|
7
|
+
export default function SliderCompositionExample() {
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
<Slider.Root label="Screen brightness" defaultValue={55} />
|
|
11
|
+
<Slider.Root defaultValue={20} min={0} max={1} step={0.05} aria-label="Layer opacity" />
|
|
12
|
+
</>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Slider } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples.module.css";
|
|
5
|
+
|
|
6
|
+
/** Controlled pair `value` + `onChange`; mirror the current value in adjacent copy. */
|
|
7
|
+
export default function SliderControlledExample() {
|
|
8
|
+
const [level, setLevel] = React.useState(62);
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<div className={styles.controlledColumn}>
|
|
12
|
+
<Slider.Root
|
|
13
|
+
label="Reserve level"
|
|
14
|
+
value={level}
|
|
15
|
+
onChange={setLevel}
|
|
16
|
+
min={0}
|
|
17
|
+
max={100}
|
|
18
|
+
step={1}
|
|
19
|
+
/>
|
|
20
|
+
<span className={styles.valueHint}>Current value: {level}%</span>
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -15,3 +15,23 @@
|
|
|
15
15
|
margin: 0;
|
|
16
16
|
color: var(--prime-sys-color-content-secondary);
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
.controlledColumn {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
gap: var(--prime-sys-spacing-x2);
|
|
23
|
+
width: 100%;
|
|
24
|
+
max-width: 20rem;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.valueHint {
|
|
29
|
+
margin: 0;
|
|
30
|
+
font-size: var(--prime-sys-typography-sizeScale-xs);
|
|
31
|
+
line-height: var(--prime-sys-typography-lineHeightScale-xs);
|
|
32
|
+
color: var(--prime-sys-color-content-secondary);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.narrowColumn {
|
|
36
|
+
width: min(12rem, 100%);
|
|
37
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Slider } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Custom range and stepping: `min` / `max` / `step` — e.g. whole degrees or coarse percentage stops. */
|
|
4
|
+
export default function SliderFeaturesExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Slider.Root label="Temperature, °C" min={16} max={30} step={1} defaultValue={22} />
|
|
8
|
+
<Slider.Root
|
|
9
|
+
label="Position by quarters (step 25)"
|
|
10
|
+
min={0}
|
|
11
|
+
max={100}
|
|
12
|
+
step={25}
|
|
13
|
+
defaultValue={50}
|
|
14
|
+
/>
|
|
15
|
+
</>
|
|
16
|
+
);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Slider } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples.module.css";
|
|
4
|
+
|
|
5
|
+
/** Root stretches to the parent width — in a narrow column the track grows with the column. */
|
|
6
|
+
export default function SliderFullWidthExample() {
|
|
7
|
+
return (
|
|
8
|
+
<div className={styles.narrowColumn}>
|
|
9
|
+
<Slider.Root label="Width inside a narrow column" defaultValue={40} />
|
|
10
|
+
</div>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Slider } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Four `size` values (`s`–`xl`): track height, thumb, and label type ramp stay on one control token tier.
|
|
5
|
+
*/
|
|
6
|
+
export default function SliderSizesExample() {
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<Slider.Root size="s" label="Size s" defaultValue={30} />
|
|
10
|
+
<Slider.Root size="m" label="Size m" defaultValue={40} />
|
|
11
|
+
<Slider.Root size="l" label="Size l" defaultValue={50} />
|
|
12
|
+
<Slider.Root size="xl" label="Size xl" defaultValue={60} />
|
|
13
|
+
</>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Slider } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/** Default interaction vs `disabled`: lower opacity and no pointer/keyboard input on the range control. */
|
|
4
|
+
export default function SliderStatesExample() {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<Slider.Root label="Volume" defaultValue={45} />
|
|
8
|
+
<Slider.Root label="Disabled example" defaultValue={35} disabled />
|
|
9
|
+
</>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
@@ -29,6 +29,26 @@ Multi-step progress UI on a semantic ordered list (`<ol>` / `<li>`) for **`Stepp
|
|
|
29
29
|
- **`HorizontalStepper.Root`** — non-semantic **`div`** rail; children: **`SeparatorIcon`** and **`Item`** buttons, each with **`ItemIndicator`** inside.
|
|
30
30
|
- **`VerticalStepper.Root`** — non-semantic **`div`** column; children: **`Item`** rows with **`ItemIndicator`**, label text, and optional **`Arrow`**.
|
|
31
31
|
|
|
32
|
+
### Scenarios (playground + `examples/`)
|
|
33
|
+
|
|
34
|
+
Live demos use **`playground/snippets/stepper/*.tsx`** (see **`playground/sections/StepperSection.tsx`**). The table lists the same scenarios with package-oriented copies under **`examples/`** (aligned 1:1 with those snippets; order matches the playground section).
|
|
35
|
+
|
|
36
|
+
| Scenario | What it shows | `examples/` |
|
|
37
|
+
|----------|---------------|-------------|
|
|
38
|
+
| Sizes | Four **`size`** values on **`Stepper.Root`** (`s`–`xl`), same three steps per row. | [`examples/sizes.tsx`](examples/sizes.tsx) |
|
|
39
|
+
| Low-level API | **`HorizontalStepper`** and **`VerticalStepper`** with explicit per-row **`state`** (no **`currentStep`** / semantic **`<ol>`**). | [`examples/low-level-api.tsx`](examples/low-level-api.tsx) |
|
|
40
|
+
| States | **`disabled`** step and **`status="error"`** with custom **`Indicator`** content. | [`examples/states.tsx`](examples/states.tsx) |
|
|
41
|
+
| Orientation | **`orientation="horizontal"`** with **`SeparatorIcon`**; vertical default with **`Stepper.Arrow`** on steps. | [`examples/orientation.tsx`](examples/orientation.tsx) |
|
|
42
|
+
| Controlled | Parent **`currentStep`** plus **Back** / **Next** **`Button`** actions. | [`examples/controlled.tsx`](examples/controlled.tsx) |
|
|
43
|
+
| Composition | Custom **`Indicator`**, **`Content`**, and an extra icon beside the label (**`IconMail`**). | [`examples/composition.tsx`](examples/composition.tsx) |
|
|
44
|
+
| Full width | Horizontal rail spanning a wide card; root **`className`** spreads steps (**`width: 100%`**, **`justify-content: space-between`**). | [`examples/full-width.tsx`](examples/full-width.tsx) |
|
|
45
|
+
| Polymorphic **`as`** | **`HorizontalStepper.SeparatorIcon`** and **`VerticalStepper.Arrow`** with **`as={IconHouse}`** / **`as={IconMail}`**. | [`examples/polymorphic-as.tsx`](examples/polymorphic-as.tsx) |
|
|
46
|
+
| Features | **`Stepper.Item`** / **`ItemIndicator`** aliases, explicit **`index`**, **`SeparatorIcon`** as separate list items. | [`examples/features.tsx`](examples/features.tsx) |
|
|
47
|
+
|
|
48
|
+
**Additional narrative examples** (not duplicated as snippet files): checkout horizontal rail → [`examples/01-checkout-horizontal.tsx`](examples/01-checkout-horizontal.tsx); onboarding + back/next → [`examples/02-onboarding-vertical.tsx`](examples/02-onboarding-vertical.tsx); vertical primitive rail → [`examples/03-vertical-primitive-rail.tsx`](examples/03-vertical-primitive-rail.tsx); error step + **`currentStep`** on payment → [`examples/04-checkout-step-error.tsx`](examples/04-checkout-step-error.tsx); horizontal primitive only → [`examples/05-horizontal-primitive.tsx`](examples/05-horizontal-primitive.tsx).
|
|
49
|
+
|
|
50
|
+
**LLM note:** Prefer `./examples/*.tsx` for runnable scenarios; this page keeps rules and API tables authoritative.
|
|
51
|
+
|
|
32
52
|
### Canonical example
|
|
33
53
|
|
|
34
54
|
```tsx
|
|
@@ -56,16 +76,6 @@ export function Example() {
|
|
|
56
76
|
}
|
|
57
77
|
```
|
|
58
78
|
|
|
59
|
-
### Extended examples
|
|
60
|
-
|
|
61
|
-
- [`./examples/01-checkout-horizontal.tsx`](./examples/01-checkout-horizontal.tsx) — Checkout: **`orientation="horizontal"`**, **`Stepper.SeparatorIcon`** between steps, controlled index on click.
|
|
62
|
-
- [`./examples/02-onboarding-vertical.tsx`](./examples/02-onboarding-vertical.tsx) — Onboarding: vertical semantic **`Stepper`**, **`Stepper.Arrow`**, external **Back** / **Next** buttons.
|
|
63
|
-
- [`./examples/03-vertical-primitive-rail.tsx`](./examples/03-vertical-primitive-rail.tsx) — Vertical rail: **`VerticalStepper`** with app-owned **`state`** per row.
|
|
64
|
-
- [`./examples/04-checkout-step-error.tsx`](./examples/04-checkout-step-error.tsx) — Checkout: **`status="error"`** on a middle step while **`currentStep`** points at payment.
|
|
65
|
-
- [`./examples/05-horizontal-primitive.tsx`](./examples/05-horizontal-primitive.tsx) — Horizontal primitive: **`HorizontalStepper`** + **`SeparatorIcon`**, explicit **`state`**.
|
|
66
|
-
|
|
67
|
-
**LLM note:** Prefer reading the runnable files under `./examples/*.tsx` for full scenarios, prop combinations, and composition patterns; this page keeps the contract (rules + API tables) authoritative.
|
|
68
|
-
|
|
69
79
|
## Rules
|
|
70
80
|
|
|
71
81
|
- **`Stepper.Root`**: **`currentStep`** defaults to **`0`**; indices before it are **`completed`**, the equal index is **`active`**, after are **`pending`**. Override any step with **`status`** on **`Stepper.Step`** (e.g. **`error`**).
|
|
@@ -88,7 +98,7 @@ Exported types include **`StepStatus`**, **`StepperOrientation`**, **`StepperSiz
|
|
|
88
98
|
| currentStep | `number` | `0` | No | Active step index for default statuses |
|
|
89
99
|
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Control tier for the subtree |
|
|
90
100
|
| children | `React.ReactNode` | — | Yes | Steps and optional **`SeparatorIcon`** |
|
|
91
|
-
| className | `string` | — | No | Class on **`<ol>`** |
|
|
101
|
+
| className | `string` | — | No | Class on **`<ol>`** (e.g. full-width horizontal rail: **`width: 100%`** and **`justify-content: space-between`** to override the default centered flex layout) |
|
|
92
102
|
|
|
93
103
|
### Stepper.Step (Stepper.Item)
|
|
94
104
|
|