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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# PageContent
|
|
2
|
+
|
|
3
|
+
## About
|
|
4
|
+
|
|
5
|
+
Semantic **page column** primitives: **`PageContent.Section`** (a **`<section>`** page region without its own outer padding), **`PageContent.Root`** (full padded column with optional **`maxWidth`**), **`PageContent.Title`** → **`<h1>`**, **`PageContent.Description`** with **`measure`**, and **`PageContent.Body`**. Typography uses kit tokens.
|
|
6
|
+
|
|
7
|
+
- **Use `PageContent.Section`** when the shell (e.g. **`AppShell.Main`** with `variant="page"`) already applies padding — same pattern as playground routes, without wrapping in **`Root`**.
|
|
8
|
+
- **Use `PageContent.Root`** when you need that outer padding and optional **`maxWidth`** (`full` | `readable` | `wide`; default **`full`**).
|
|
9
|
+
- **Use `Description` `measure="full"`** when the parent column is already inset; default **`measure="readable"`** keeps the lead ~65ch for reading.
|
|
10
|
+
|
|
11
|
+
## Composition
|
|
12
|
+
|
|
13
|
+
- **`PageContent.Root`** — outer wrapper: padding + optional max-width (`data-max-width`).
|
|
14
|
+
- **`PageContent.Section`** — **`<section>`** without extra outer padding; pair with **`aria-labelledby`** pointing at **`PageContent.Title`** `id`.
|
|
15
|
+
- **`PageContent.Header`** — stacks title + description with spacing.
|
|
16
|
+
- **`PageContent.Title`** — **`<h1>`** (one per route).
|
|
17
|
+
- **`PageContent.Description`** — **`<p>`** lead; **`measure`** controls max width.
|
|
18
|
+
- **`PageContent.Body`** — main blocks below the header (demos, forms, tables).
|
|
19
|
+
|
|
20
|
+
### Canonical example (inside padded `main`)
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
import { PageContent } from "prime-ui-kit";
|
|
24
|
+
|
|
25
|
+
export function DocRouteBody() {
|
|
26
|
+
return (
|
|
27
|
+
<PageContent.Section aria-labelledby="page-heading">
|
|
28
|
+
<PageContent.Header>
|
|
29
|
+
<PageContent.Title id="page-heading">Settings</PageContent.Title>
|
|
30
|
+
<PageContent.Description measure="full">
|
|
31
|
+
Manage your workspace profile and notifications.
|
|
32
|
+
</PageContent.Description>
|
|
33
|
+
</PageContent.Header>
|
|
34
|
+
<PageContent.Body>{/* page blocks */}</PageContent.Body>
|
|
35
|
+
</PageContent.Section>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Canonical example (standalone column)
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
import { PageContent } from "prime-ui-kit";
|
|
44
|
+
|
|
45
|
+
export function StandalonePage() {
|
|
46
|
+
return (
|
|
47
|
+
<PageContent.Root maxWidth="readable">
|
|
48
|
+
<PageContent.Header>
|
|
49
|
+
<PageContent.Title>Account</PageContent.Title>
|
|
50
|
+
<PageContent.Description>Billing and security.</PageContent.Description>
|
|
51
|
+
</PageContent.Header>
|
|
52
|
+
<PageContent.Body>{/* … */}</PageContent.Body>
|
|
53
|
+
</PageContent.Root>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Playground
|
|
59
|
+
|
|
60
|
+
Live demo and API tables: **`playground/sections/PageContentSection.tsx`** — **`Section`** → **`Header`** (**`Title`**, **`Description measure="full"`**) → **`Body`**. There is no **`playground/snippets/page-content/`** tree; the section is the single demo surface.
|
|
61
|
+
|
|
62
|
+
## Rules
|
|
63
|
+
|
|
64
|
+
- Prefer **one** `h1` per view — **`PageContent.Title`**.
|
|
65
|
+
- Do not nest **`PageContent.Root`** inside a **`main`** that already applies page padding unless you intentionally want double padding; use **`Section`** instead.
|
|
66
|
+
- **`Description`** defaults to a readable measure; use **`measure="full"`** when the layout already constrains width.
|
|
67
|
+
|
|
68
|
+
## API
|
|
69
|
+
|
|
70
|
+
### PageContent.Root
|
|
71
|
+
|
|
72
|
+
| Prop | Type | Default | Required | Description |
|
|
73
|
+
|------|------|---------|----------|-------------|
|
|
74
|
+
| maxWidth | `full` \| `readable` \| `wide` | `full` | No | Limits the content column; drives `data-max-width` when not `full`. |
|
|
75
|
+
| className | `string` | — | No | Class on the root wrapper. |
|
|
76
|
+
| children | `React.ReactNode` | — | No | Header, body, nested sections. |
|
|
77
|
+
| …rest | `React.HTMLAttributes<HTMLDivElement>` | — | No | Native `div` attributes, including `ref` (`forwardRef`). |
|
|
78
|
+
|
|
79
|
+
### PageContent.Section
|
|
80
|
+
|
|
81
|
+
| Prop | Type | Default | Required | Description |
|
|
82
|
+
|------|------|---------|----------|-------------|
|
|
83
|
+
| className | `string` | — | No | Class on **`<section>`** (page region without outer padding—typical inside padded `main`). |
|
|
84
|
+
| children | `React.ReactNode` | — | No | Usually **`Header`** + **`Body`** (playground routes follow this). |
|
|
85
|
+
| …rest | `React.HTMLAttributes<HTMLElement>` | — | No | Native **`<section>`** attributes, including `ref` (`forwardRef`). |
|
|
86
|
+
|
|
87
|
+
### PageContent.Header
|
|
88
|
+
|
|
89
|
+
| Prop | Type | Default | Required | Description |
|
|
90
|
+
|------|------|---------|----------|-------------|
|
|
91
|
+
| className | `string` | — | No | Class on the header block (title + description). |
|
|
92
|
+
| children | `React.ReactNode` | — | No | Usually **`PageContent.Title`** and **`PageContent.Description`** (`measure` as needed). |
|
|
93
|
+
| …rest | `React.HTMLAttributes<HTMLDivElement>` | — | No | Native `div` attributes. |
|
|
94
|
+
|
|
95
|
+
### PageContent.Title
|
|
96
|
+
|
|
97
|
+
| Prop | Type | Default | Required | Description |
|
|
98
|
+
|------|------|---------|----------|-------------|
|
|
99
|
+
| className | `string` | — | No | Class on **`<h1>`**. |
|
|
100
|
+
| children | `React.ReactNode` | — | No | Page heading. |
|
|
101
|
+
| …rest | `React.HTMLAttributes<HTMLHeadingElement>` | — | No | Native **`h1`** attributes, including `ref` (`forwardRef`). |
|
|
102
|
+
|
|
103
|
+
### PageContent.Description
|
|
104
|
+
|
|
105
|
+
| Prop | Type | Default | Required | Description |
|
|
106
|
+
|------|------|---------|----------|-------------|
|
|
107
|
+
| measure | `readable` \| `full` | `readable` | No | `readable` — ~65ch; `full` — parent width (e.g. when **`AppShell.Main`** already insets). |
|
|
108
|
+
| className | `string` | — | No | Class on the lead **`<p>`**. |
|
|
109
|
+
| children | `React.ReactNode` | — | No | Intro text under the title. |
|
|
110
|
+
| …rest | `React.HTMLAttributes<HTMLParagraphElement>` | — | No | Native **`p`** attributes, including `ref` (`forwardRef`). |
|
|
111
|
+
|
|
112
|
+
### PageContent.Body
|
|
113
|
+
|
|
114
|
+
| Prop | Type | Default | Required | Description |
|
|
115
|
+
|------|------|---------|----------|-------------|
|
|
116
|
+
| className | `string` | — | No | Class on the main content wrapper below the header. |
|
|
117
|
+
| children | `React.ReactNode` | — | No | Page content under the header. |
|
|
118
|
+
| …rest | `React.HTMLAttributes<HTMLDivElement>` | — | No | Native `div` attributes. |
|
|
119
|
+
|
|
120
|
+
## Related
|
|
121
|
+
|
|
122
|
+
- [Typography](../typography/COMPONENT.md) — inline roles elsewhere on the page.
|
|
123
|
+
- [AppShell](../../layout/app-shell/AppShell.tsx) — grid + main padding (`variant="page"`).
|
|
@@ -28,15 +28,32 @@ Chunked navigation for lists and tables: chevron previous/next, numbered pages,
|
|
|
28
28
|
- **`Pagination.Root`** — the only public part. Renders the **`nav`** row; **`className`** merges onto that **`nav`** only.
|
|
29
29
|
- Full-width or “meta left / pager right” layouts are parent responsibility (flex or grid around **`Pagination.Root`**)—there is no **`fullWidth`** prop on **`Pagination`**.
|
|
30
30
|
|
|
31
|
+
### Playground snippets
|
|
32
|
+
|
|
33
|
+
Demos match **`playground/sections/PaginationSection.tsx`** (order and intent). Sources use **`@/`** under **`playground/snippets/pagination/`**; section descriptions and some labels are Russian in the playground UI.
|
|
34
|
+
|
|
35
|
+
| Playground block | Snippet | Intent |
|
|
36
|
+
|------------------|---------|--------|
|
|
37
|
+
| Размеры | [`sizes.tsx`](../../../playground/snippets/pagination/sizes.tsx) (+ [`sizes.module.css`](../../../playground/snippets/pagination/sizes.module.css)) | **`size`** **`s`–`xl`**, long range (**`totalPages={20}`**), local state per row |
|
|
38
|
+
| Диапазон номеров | [`range-modes.tsx`](../../../playground/snippets/pagination/range-modes.tsx) (+ [`rows.module.css`](../../../playground/snippets/pagination/rows.module.css)) | All indices when **`totalPages ≤ 7`** vs ellipsis row when larger |
|
|
39
|
+
| Состояния | [`states.tsx`](../../../playground/snippets/pagination/states.tsx) | First / last / single-page arrow **`disabled`** semantics |
|
|
40
|
+
| Контролируемый режим | [`controlled.tsx`](../../../playground/snippets/pagination/controlled.tsx) (+ [`controlled.module.css`](../../../playground/snippets/pagination/controlled.module.css)) | Shared **`page`** with external jump buttons |
|
|
41
|
+
| Full width | [`full-width.tsx`](../../../playground/snippets/pagination/full-width.tsx) (+ [`full-width.module.css`](../../../playground/snippets/pagination/full-width.module.css)) | Flex toolbar: meta left, pager right (no **`fullWidth`** prop) |
|
|
42
|
+
| Специфичные фичи | [`features.tsx`](../../../playground/snippets/pagination/features.tsx) | **`siblingCount`** **`0`** / **`2`**; **`totalPages=0`** → **`null`** |
|
|
43
|
+
|
|
31
44
|
### Scenarios (see `examples/`)
|
|
32
45
|
|
|
33
46
|
| Scenario | Approach |
|
|
34
47
|
|----------|----------|
|
|
48
|
+
| Size ladder | Same as playground **Размеры**; package copy in English. → [`examples/sizes.tsx`](examples/sizes.tsx) |
|
|
49
|
+
| Range modes | Same as playground **Диапазон номеров**. → [`examples/range-modes.tsx`](examples/range-modes.tsx) |
|
|
50
|
+
| Disabled arrows / single page | Same as playground **Состояния**. → [`examples/states.tsx`](examples/states.tsx) |
|
|
51
|
+
| Sibling window + empty data | Same as playground **Специфичные фичи** (`siblingCount`, `totalPages=0`). → [`examples/features.tsx`](examples/features.tsx) |
|
|
35
52
|
| Table footer | Pair a range summary with **`Pagination.Root`** in a footer row; keep **`page`** in sync with fetched rows. → [`examples/table-footer.tsx`](examples/table-footer.tsx) |
|
|
36
53
|
| Compact toolbar | Set **`size="s"`** for denser toolbars or mobile-adjacent rows. → [`examples/compact.tsx`](examples/compact.tsx) |
|
|
37
54
|
| Full-width list bar | **`display: flex`**, **`justify-content: space-between`**, **`flex-wrap`**: meta text + pager. → [`examples/full-width-list.tsx`](examples/full-width-list.tsx) |
|
|
38
55
|
| Controlled page index | Store **`page`** in React state (or router); update from **`onPageChange`** and any other controls (e.g. jump to first/last). → [`examples/controlled-page.tsx`](examples/controlled-page.tsx) |
|
|
39
|
-
| Canonical wiring | Minimal **`Pagination.Root`** with required props;
|
|
56
|
+
| Canonical wiring | Minimal **`Pagination.Root`** with required props; short row + long row with **`siblingCount`**. → [`examples/canonical-composition.tsx`](examples/canonical-composition.tsx) |
|
|
40
57
|
|
|
41
58
|
### Minimal example
|
|
42
59
|
|
|
@@ -58,11 +75,15 @@ For **default wiring**, **long ranges**, and **`siblingCount`**, open **`example
|
|
|
58
75
|
|
|
59
76
|
| File | Scenario |
|
|
60
77
|
|------|----------|
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
78
|
+
| `sizes.tsx` | **`size`** ladder + long range (mirror [`sizes.tsx`](../../../playground/snippets/pagination/sizes.tsx)) |
|
|
79
|
+
| `range-modes.tsx` | Short vs long `totalPages` (mirror [`range-modes.tsx`](../../../playground/snippets/pagination/range-modes.tsx)) |
|
|
80
|
+
| `states.tsx` | First / last / single page (mirror [`states.tsx`](../../../playground/snippets/pagination/states.tsx)) |
|
|
81
|
+
| `controlled-page.tsx` | Controlled `page` + jump buttons (mirror [`controlled.tsx`](../../../playground/snippets/pagination/controlled.tsx)) |
|
|
82
|
+
| `full-width-list.tsx` | Full-width bar (mirror [`full-width.tsx`](../../../playground/snippets/pagination/full-width.tsx)) |
|
|
83
|
+
| `features.tsx` | `siblingCount` and `totalPages=0` (mirror [`features.tsx`](../../../playground/snippets/pagination/features.tsx)) |
|
|
84
|
+
| `canonical-composition.tsx` | Required props, default size, short row + long row with `siblingCount` |
|
|
85
|
+
| `table-footer.tsx` | Table footer: row range + pager |
|
|
86
|
+
| `compact.tsx` | Compact row: `size="s"` |
|
|
66
87
|
|
|
67
88
|
### Rules
|
|
68
89
|
|
|
@@ -92,6 +113,7 @@ For **default wiring**, **long ranges**, and **`siblingCount`**, open **`example
|
|
|
92
113
|
|
|
93
114
|
## LLM note
|
|
94
115
|
|
|
116
|
+
- **Playground:** demos and order — **`playground/sections/PaginationSection.tsx`** + **`playground/snippets/pagination/*.tsx`**; **`examples/`** files in the table above mirror those snippets with **`prime-ui-kit`** imports where noted.
|
|
95
117
|
- **Imports:** **`import { Pagination } from "prime-ui-kit"`** — use **`Pagination.Root`** only; there is no flat **`Pagination`** element.
|
|
96
118
|
- **Props:** **`page`**, **`totalPages`**, **`onPageChange`** required; optional **`siblingCount`**, **`size`**, **`className`**.
|
|
97
119
|
- **`size`** literals: **`s`**, **`m`**, **`l`**, **`xl`** — default **`m`**; maps to **`data-size`** on the root **`nav`**.
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
|
|
4
4
|
const TOTAL = 12;
|
|
5
5
|
|
|
6
|
-
/** Page index lives in parent state; Pagination.Root and buttons share the same setter. */
|
|
6
|
+
/** Page index lives in parent state; Pagination.Root and buttons share the same setter. Parity with `playground/snippets/pagination/controlled.tsx` (English copy). */
|
|
7
7
|
export default function ControlledPageExample() {
|
|
8
8
|
const [page, setPage] = React.useState(4);
|
|
9
9
|
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Pagination } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `siblingCount` widens or narrows the numeric window; `totalPages < 1` renders nothing.
|
|
6
|
+
* Parity with `playground/snippets/pagination/features.tsx`.
|
|
7
|
+
*/
|
|
8
|
+
export default function PaginationFeaturesExample() {
|
|
9
|
+
const [pageNarrow, setPageNarrow] = React.useState(8);
|
|
10
|
+
const [pageWide, setPageWide] = React.useState(8);
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div
|
|
14
|
+
style={{
|
|
15
|
+
display: "flex",
|
|
16
|
+
flexDirection: "column",
|
|
17
|
+
gap: "var(--prime-sys-spacing-x4)",
|
|
18
|
+
}}
|
|
19
|
+
>
|
|
20
|
+
<div
|
|
21
|
+
style={{
|
|
22
|
+
display: "flex",
|
|
23
|
+
flexDirection: "column",
|
|
24
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
25
|
+
alignItems: "flex-start",
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<p
|
|
29
|
+
style={{
|
|
30
|
+
margin: 0,
|
|
31
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
32
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
33
|
+
}}
|
|
34
|
+
>
|
|
35
|
+
<code>siblingCount=0</code>
|
|
36
|
+
</p>
|
|
37
|
+
<Pagination.Root
|
|
38
|
+
page={pageNarrow}
|
|
39
|
+
totalPages={20}
|
|
40
|
+
onPageChange={setPageNarrow}
|
|
41
|
+
siblingCount={0}
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
<div
|
|
45
|
+
style={{
|
|
46
|
+
display: "flex",
|
|
47
|
+
flexDirection: "column",
|
|
48
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
49
|
+
alignItems: "flex-start",
|
|
50
|
+
}}
|
|
51
|
+
>
|
|
52
|
+
<p
|
|
53
|
+
style={{
|
|
54
|
+
margin: 0,
|
|
55
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
56
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
57
|
+
}}
|
|
58
|
+
>
|
|
59
|
+
<code>siblingCount=2</code>
|
|
60
|
+
</p>
|
|
61
|
+
<Pagination.Root
|
|
62
|
+
page={pageWide}
|
|
63
|
+
totalPages={20}
|
|
64
|
+
onPageChange={setPageWide}
|
|
65
|
+
siblingCount={2}
|
|
66
|
+
/>
|
|
67
|
+
</div>
|
|
68
|
+
<div
|
|
69
|
+
style={{
|
|
70
|
+
display: "flex",
|
|
71
|
+
flexDirection: "column",
|
|
72
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
73
|
+
alignItems: "flex-start",
|
|
74
|
+
}}
|
|
75
|
+
>
|
|
76
|
+
<p
|
|
77
|
+
style={{
|
|
78
|
+
margin: 0,
|
|
79
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
80
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
81
|
+
}}
|
|
82
|
+
>
|
|
83
|
+
<code>totalPages=0</code>
|
|
84
|
+
</p>
|
|
85
|
+
<div
|
|
86
|
+
style={{
|
|
87
|
+
display: "flex",
|
|
88
|
+
flexWrap: "wrap",
|
|
89
|
+
alignItems: "center",
|
|
90
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
91
|
+
minHeight: "var(--prime-sys-size-control-m-height)",
|
|
92
|
+
}}
|
|
93
|
+
>
|
|
94
|
+
<Pagination.Root page={1} totalPages={0} onPageChange={() => {}} />
|
|
95
|
+
<span
|
|
96
|
+
style={{
|
|
97
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
98
|
+
color: "var(--prime-sys-color-content-muted)",
|
|
99
|
+
}}
|
|
100
|
+
>
|
|
101
|
+
empty output
|
|
102
|
+
</span>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
);
|
|
107
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Pagination } from "prime-ui-kit";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
|
-
/** Full-width bar: meta on the left, Pagination.Root on the right (parent layout). */
|
|
4
|
+
/** Full-width bar: meta on the left, Pagination.Root on the right (parent layout). Parity with `playground/snippets/pagination/full-width.tsx` (English copy). */
|
|
5
5
|
export default function FullWidthListExample() {
|
|
6
6
|
const [page, setPage] = React.useState(2);
|
|
7
7
|
const totalPages = 21;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Pagination } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Up to seven pages: all indices shown; more pages: shortened row with ellipses (`totalPages` drives logic).
|
|
6
|
+
* Parity with `playground/snippets/pagination/range-modes.tsx`.
|
|
7
|
+
*/
|
|
8
|
+
export default function PaginationRangeModesExample() {
|
|
9
|
+
const [shortPage, setShortPage] = React.useState(3);
|
|
10
|
+
const [longPage, setLongPage] = React.useState(8);
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<div
|
|
14
|
+
style={{
|
|
15
|
+
display: "flex",
|
|
16
|
+
flexDirection: "column",
|
|
17
|
+
gap: "var(--prime-sys-spacing-x4)",
|
|
18
|
+
}}
|
|
19
|
+
>
|
|
20
|
+
<div
|
|
21
|
+
style={{
|
|
22
|
+
display: "flex",
|
|
23
|
+
flexDirection: "column",
|
|
24
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
25
|
+
alignItems: "flex-start",
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<p
|
|
29
|
+
style={{
|
|
30
|
+
margin: 0,
|
|
31
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
32
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
33
|
+
}}
|
|
34
|
+
>
|
|
35
|
+
Five pages — all numbers
|
|
36
|
+
</p>
|
|
37
|
+
<Pagination.Root page={shortPage} totalPages={5} onPageChange={setShortPage} />
|
|
38
|
+
</div>
|
|
39
|
+
<div
|
|
40
|
+
style={{
|
|
41
|
+
display: "flex",
|
|
42
|
+
flexDirection: "column",
|
|
43
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
44
|
+
alignItems: "flex-start",
|
|
45
|
+
}}
|
|
46
|
+
>
|
|
47
|
+
<p
|
|
48
|
+
style={{
|
|
49
|
+
margin: 0,
|
|
50
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
51
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
52
|
+
}}
|
|
53
|
+
>
|
|
54
|
+
Twenty pages — ellipsis
|
|
55
|
+
</p>
|
|
56
|
+
<Pagination.Root page={longPage} totalPages={20} onPageChange={setLongPage} />
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Pagination, type PaginationSize } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
function PaginationSizeRow({ size }: { size: PaginationSize }) {
|
|
5
|
+
const [page, setPage] = React.useState(8);
|
|
6
|
+
|
|
7
|
+
return (
|
|
8
|
+
<div
|
|
9
|
+
style={{
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
13
|
+
alignItems: "flex-start",
|
|
14
|
+
}}
|
|
15
|
+
>
|
|
16
|
+
<p
|
|
17
|
+
style={{
|
|
18
|
+
margin: 0,
|
|
19
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
20
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
21
|
+
}}
|
|
22
|
+
>
|
|
23
|
+
{size}
|
|
24
|
+
</p>
|
|
25
|
+
<Pagination.Root page={page} totalPages={20} onPageChange={setPage} size={size} />
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Four control tiers on a long page row (arrows, numbers, ellipsis share one scale per `size`).
|
|
32
|
+
* Parity with `playground/snippets/pagination/sizes.tsx`.
|
|
33
|
+
*/
|
|
34
|
+
export default function PaginationSizesExample() {
|
|
35
|
+
return (
|
|
36
|
+
<div
|
|
37
|
+
style={{
|
|
38
|
+
display: "flex",
|
|
39
|
+
flexDirection: "column",
|
|
40
|
+
gap: "var(--prime-sys-spacing-x4)",
|
|
41
|
+
alignItems: "center",
|
|
42
|
+
}}
|
|
43
|
+
>
|
|
44
|
+
<PaginationSizeRow size="s" />
|
|
45
|
+
<PaginationSizeRow size="m" />
|
|
46
|
+
<PaginationSizeRow size="l" />
|
|
47
|
+
<PaginationSizeRow size="xl" />
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Pagination } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Previous disabled on first page, next on last; both disabled when `totalPages` is 1.
|
|
6
|
+
* Parity with `playground/snippets/pagination/states.tsx`.
|
|
7
|
+
*/
|
|
8
|
+
export default function PaginationStatesExample() {
|
|
9
|
+
const [first, setFirst] = React.useState(1);
|
|
10
|
+
const [last, setLast] = React.useState(10);
|
|
11
|
+
const [single, setSingle] = React.useState(1);
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div
|
|
15
|
+
style={{
|
|
16
|
+
display: "flex",
|
|
17
|
+
flexDirection: "column",
|
|
18
|
+
gap: "var(--prime-sys-spacing-x4)",
|
|
19
|
+
}}
|
|
20
|
+
>
|
|
21
|
+
<div
|
|
22
|
+
style={{
|
|
23
|
+
display: "flex",
|
|
24
|
+
flexDirection: "column",
|
|
25
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
26
|
+
alignItems: "flex-start",
|
|
27
|
+
}}
|
|
28
|
+
>
|
|
29
|
+
<p
|
|
30
|
+
style={{
|
|
31
|
+
margin: 0,
|
|
32
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
33
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
34
|
+
}}
|
|
35
|
+
>
|
|
36
|
+
First of ten
|
|
37
|
+
</p>
|
|
38
|
+
<Pagination.Root page={first} totalPages={10} onPageChange={setFirst} />
|
|
39
|
+
</div>
|
|
40
|
+
<div
|
|
41
|
+
style={{
|
|
42
|
+
display: "flex",
|
|
43
|
+
flexDirection: "column",
|
|
44
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
45
|
+
alignItems: "flex-start",
|
|
46
|
+
}}
|
|
47
|
+
>
|
|
48
|
+
<p
|
|
49
|
+
style={{
|
|
50
|
+
margin: 0,
|
|
51
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
52
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
53
|
+
}}
|
|
54
|
+
>
|
|
55
|
+
Last of ten
|
|
56
|
+
</p>
|
|
57
|
+
<Pagination.Root page={last} totalPages={10} onPageChange={setLast} />
|
|
58
|
+
</div>
|
|
59
|
+
<div
|
|
60
|
+
style={{
|
|
61
|
+
display: "flex",
|
|
62
|
+
flexDirection: "column",
|
|
63
|
+
gap: "var(--prime-sys-spacing-x2)",
|
|
64
|
+
alignItems: "flex-start",
|
|
65
|
+
}}
|
|
66
|
+
>
|
|
67
|
+
<p
|
|
68
|
+
style={{
|
|
69
|
+
margin: 0,
|
|
70
|
+
fontSize: "var(--prime-sys-size-control-s-supportText)",
|
|
71
|
+
color: "var(--prime-sys-color-content-secondary)",
|
|
72
|
+
}}
|
|
73
|
+
>
|
|
74
|
+
Single page
|
|
75
|
+
</p>
|
|
76
|
+
<Pagination.Root page={single} totalPages={1} onPageChange={setSingle} />
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
@@ -40,57 +40,46 @@ export function Example() {
|
|
|
40
40
|
|
|
41
41
|
### Canonical panel (reference)
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Short English recipe (stroke trigger, **`insetPadding` / `insetGap`**, body copy): **`examples/canonical-panel.tsx`**.
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
import { Button, Popover, Typography } from "prime-ui-kit";
|
|
45
|
+
### Playground-aligned examples
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
Arrives Tuesday–Thursday for metro addresses. Rural routes may add one business day.
|
|
62
|
-
</Typography.Root>
|
|
63
|
-
</Popover.Content>
|
|
64
|
-
</Popover.Root>
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
```
|
|
47
|
+
**`playground/sections/PopoverSection.tsx`** and **`playground/snippets/popover/`** define the demo order and code shown in the playground (Russian UI copy). Matching runnable package examples (imports from **`"prime-ui-kit"`**) live next to this file:
|
|
48
|
+
|
|
49
|
+
| Playground block | Snippet | Example file |
|
|
50
|
+
|------------------|---------|--------------|
|
|
51
|
+
| Sizes | `sizes.tsx` | `sizes.tsx` |
|
|
52
|
+
| Inset variants | `inset-variants.tsx` | `inset-variants.tsx` |
|
|
53
|
+
| States | `states.tsx` | `states.tsx` |
|
|
54
|
+
| Placement | `placement.tsx` | `placement.tsx` |
|
|
55
|
+
| Controlled | `controlled.tsx` | `controlled.tsx` |
|
|
56
|
+
| Composition | `composition.tsx` | `composition.tsx` |
|
|
57
|
+
| Full width (trigger) | `full-width.tsx` | `full-width.tsx` |
|
|
58
|
+
| Custom trigger | `as-child.tsx` | `as-child.tsx` |
|
|
59
|
+
| Focus + nested Select | `features.tsx` | `features.tsx` |
|
|
68
60
|
|
|
69
|
-
|
|
61
|
+
Shared layout for these examples: **`examples/popover-examples.module.css`**.
|
|
70
62
|
|
|
71
|
-
|
|
63
|
+
### Additional examples in `examples/`
|
|
72
64
|
|
|
73
65
|
| File | Intent |
|
|
74
66
|
|------|--------|
|
|
75
|
-
| `canonical-panel.tsx` | Default composition: stroke trigger, inset spacing, short copy |
|
|
67
|
+
| `canonical-panel.tsx` | Default English composition: stroke trigger, inset spacing, short copy |
|
|
76
68
|
| `date-trigger.tsx` | Date-style trigger label; native **`type="date"`** field; **`trapFocus`** |
|
|
77
69
|
| `rich-content.tsx` | Badges, **`Divider`**, **`Hint`** — denser non-modal panel |
|
|
78
|
-
| `placement.tsx` | **`side`** and **`align`** grid; flip behavior called out in copy |
|
|
79
70
|
| `form-in-popover.tsx` | Controlled root, small form, **`trapFocus`**, submit closes |
|
|
80
71
|
|
|
81
|
-
Broader Russian demos and layout variants: **`playground/snippets/popover/`** (for example `composition.tsx`, `placement.tsx`, `controlled.tsx`).
|
|
82
|
-
|
|
83
72
|
### Extended usage
|
|
84
73
|
|
|
85
74
|
- **Controlled popovers:** pass **`open`** and **`onOpenChange`** on **`Popover.Root`**; keep **`Popover.Trigger`** and **`Popover.Content`** as siblings. Close from inside the panel by calling the same setter or relying on outside click / Escape.
|
|
86
|
-
- **Forms and focus:** set **`trapFocus={true}`** on **`Popover.Content`** when several controls should keep Tab cycles inside the panel (see **`examples/form-in-popover.tsx
|
|
87
|
-
- **Match trigger width:** use **`sameMinWidthAsTrigger`** when the panel should
|
|
88
|
-
- **Nested Select:** portaled Select listbox clicks owned by the panel are not treated as outside closes (see `isPortaledSelectListboxOwnedByContainer` in implementation).
|
|
75
|
+
- **Forms and focus:** set **`trapFocus={true}`** on **`Popover.Content`** when several controls should keep Tab cycles inside the panel (see **`examples/form-in-popover.tsx`**, **`examples/date-trigger.tsx`**, and **`examples/features.tsx`**).
|
|
76
|
+
- **Match trigger width:** use **`sameMinWidthAsTrigger`** when the panel should match the trigger’s **`width`** and **`minWidth`** (`border-box`, text wraps; still bounded by panel max width and viewport). See **`examples/full-width.tsx`**.
|
|
77
|
+
- **Nested Select:** portaled Select listbox clicks owned by the panel are not treated as outside closes (see `isPortaledSelectListboxOwnedByContainer` in implementation; **`examples/features.tsx`**).
|
|
89
78
|
- **Density:** tune **`size`** on **`Popover.Content`** for nested controls and **`insetPadding` / `insetGap`** for internal vertical rhythm; optional **`className`** on **`Content`** for scoped layout hooks.
|
|
90
79
|
|
|
91
80
|
### Note for LLMs
|
|
92
81
|
|
|
93
|
-
When generating **Popover** markup for this library: (1) **`Popover.Trigger`** accepts **exactly one** child element—no fragments or multiple nodes. (2) Prefer **`Button.Root`**, **`LinkButton.Root`**, or another kit control as the trigger so sizing and focus styles stay on the design-system tier. (3) Only **`side="top"`** and **`side="bottom"`** are valid; do not assume left/right anchoring. (4)
|
|
82
|
+
When generating **Popover** markup for this library: (1) **`Popover.Trigger`** accepts **exactly one** child element—no fragments or multiple nodes. (2) Prefer **`Button.Root`**, **`LinkButton.Root`**, or another kit control as the trigger so sizing and focus styles stay on the design-system tier. (3) Only **`side="top"`** and **`side="bottom"`** are valid; do not assume left/right anchoring. (4) Align scenarios with **`playground/snippets/popover/`** and the matching **`examples/*.tsx`** files in the table above; add **`canonical-panel.tsx`**, **`date-trigger.tsx`**, **`rich-content.tsx`**, or **`form-in-popover.tsx`** when you need those extra recipes. (5) Do not wrap kit components to restyle them; use **`size`**, **`variant`**, **`mode`**, **`insetPadding`**, **`insetGap`**, and documented props only.
|
|
94
83
|
|
|
95
84
|
## Rules
|
|
96
85
|
|
|
@@ -129,7 +118,7 @@ When generating **Popover** markup for this library: (1) **`Popover.Trigger`** a
|
|
|
129
118
|
|------|------|---------|----------|-------------|
|
|
130
119
|
| align | `"start" \| "center" \| "end"` | `"start"` | No | Horizontal alignment of the panel relative to the trigger. |
|
|
131
120
|
| side | `"bottom" \| "top"` | `"bottom"` | No | Preferred side; layout may flip at the viewport edge. |
|
|
132
|
-
| sameMinWidthAsTrigger | `boolean` | `false` | No |
|
|
121
|
+
| sameMinWidthAsTrigger | `boolean` | `false` | No | When `true`, panel `width` and `minWidth` match the trigger (`border-box`); text wraps; still subject to panel max width and viewport. |
|
|
133
122
|
| size | `"s" \| "m" \| "l" \| "xl"` | `"m"` | No | Control density tier for nested controls via `ControlSizeProvider`. |
|
|
134
123
|
| trapFocus | `boolean` | `false` | No | Trap focus inside the panel while open. |
|
|
135
124
|
| insetPadding | `"none" \| "x1" \| "x2" \| "x3"` | `"none"` | No | Extra inset padding relative to the panel tier (`data-inset-padding`). |
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Popover } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./popover-examples.module.css";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Single custom child under `Popover.Trigger` (native `<button>` styled as a text link): ref and ARIA merge on that element.
|
|
7
|
+
*/
|
|
8
|
+
export default function PopoverAsChildExample() {
|
|
9
|
+
return (
|
|
10
|
+
<Popover.Root>
|
|
11
|
+
<Popover.Trigger asChild>
|
|
12
|
+
<button className={styles.textLinkTrigger} type="button">
|
|
13
|
+
Text button trigger
|
|
14
|
+
</button>
|
|
15
|
+
</Popover.Trigger>
|
|
16
|
+
<Popover.Content align="start" insetGap="x3" insetPadding="x2" side="bottom" size="m">
|
|
17
|
+
<p className={styles.panelTextMuted}>
|
|
18
|
+
One arbitrary element as the anchor; the kit merges <code>ref</code>,{" "}
|
|
19
|
+
<code>aria-expanded</code>, <code>aria-controls</code>, and the click toggle handler.
|
|
20
|
+
</p>
|
|
21
|
+
</Popover.Content>
|
|
22
|
+
</Popover.Root>
|
|
23
|
+
);
|
|
24
|
+
}
|