prime-ui-kit 0.3.2 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/components/accordion/examples/01-faq-marketing.d.ts.map +1 -1
- package/dist/components/accordion/examples/02-settings-panels.d.ts.map +1 -1
- package/dist/components/accordion/examples/03-checkout-order-summary.d.ts.map +1 -1
- package/dist/components/accordion/examples/04-api-docs-sections.d.ts.map +1 -1
- package/dist/components/accordion/examples/05-knowledge-base-categories.d.ts.map +1 -1
- package/dist/components/avatar/examples/group-three.d.ts +5 -0
- package/dist/components/avatar/examples/group-three.d.ts.map +1 -0
- package/dist/components/avatar/examples/sizes.d.ts +5 -0
- package/dist/components/avatar/examples/sizes.d.ts.map +1 -0
- package/dist/components/avatar/examples/src-from-state.d.ts +5 -0
- package/dist/components/avatar/examples/src-from-state.d.ts.map +1 -0
- package/dist/components/avatar/examples/states.d.ts +5 -0
- package/dist/components/avatar/examples/states.d.ts.map +1 -0
- package/dist/components/banner/examples/controlled-visibility.d.ts +3 -0
- package/dist/components/banner/examples/controlled-visibility.d.ts.map +1 -0
- package/dist/components/banner/examples/dismiss-close-button.d.ts +6 -0
- package/dist/components/banner/examples/dismiss-close-button.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/composition.d.ts +3 -0
- package/dist/components/breadcrumb/examples/composition.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/full-width.d.ts +5 -0
- package/dist/components/breadcrumb/examples/full-width.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/sizes.d.ts +3 -0
- package/dist/components/breadcrumb/examples/sizes.d.ts.map +1 -0
- package/dist/components/breadcrumb/examples/states.d.ts +6 -0
- package/dist/components/breadcrumb/examples/states.d.ts.map +1 -0
- package/dist/components/button/examples/full-width-stack.d.ts +5 -0
- package/dist/components/button/examples/full-width-stack.d.ts.map +1 -0
- package/dist/components/button/examples/icon-composition.d.ts +6 -0
- package/dist/components/button/examples/icon-composition.d.ts.map +1 -0
- package/dist/components/button/examples/sizes-ladder.d.ts +5 -0
- package/dist/components/button/examples/sizes-ladder.d.ts.map +1 -0
- package/dist/components/button-group/examples/full-width.d.ts +5 -0
- package/dist/components/button-group/examples/full-width.d.ts.map +1 -0
- package/dist/components/card/examples/mini-kpi.d.ts +3 -0
- package/dist/components/card/examples/mini-kpi.d.ts.map +1 -0
- package/dist/components/checkbox/examples/empty-label-form.d.ts +6 -0
- package/dist/components/checkbox/examples/empty-label-form.d.ts.map +1 -0
- package/dist/components/code-block/examples/controlled.d.ts +3 -0
- package/dist/components/code-block/examples/controlled.d.ts.map +1 -0
- package/dist/components/color-picker/examples/field-eyedropper.d.ts +3 -0
- package/dist/components/color-picker/examples/field-eyedropper.d.ts.map +1 -0
- package/dist/components/color-picker/examples/format-variants.d.ts +3 -0
- package/dist/components/color-picker/examples/format-variants.d.ts.map +1 -0
- package/dist/components/color-picker/examples/full-width.d.ts +3 -0
- package/dist/components/color-picker/examples/full-width.d.ts.map +1 -0
- package/dist/components/color-picker/examples/hex-input-sizes.d.ts +3 -0
- package/dist/components/color-picker/examples/hex-input-sizes.d.ts.map +1 -0
- package/dist/components/color-picker/examples/panel-placement.d.ts +3 -0
- package/dist/components/color-picker/examples/panel-placement.d.ts.map +1 -0
- package/dist/components/color-picker/examples/readout-trigger.d.ts +6 -0
- package/dist/components/color-picker/examples/readout-trigger.d.ts.map +1 -0
- package/dist/components/color-picker/examples/states.d.ts +3 -0
- package/dist/components/color-picker/examples/states.d.ts.map +1 -0
- package/dist/components/command-menu/examples/composition-tags-footer.d.ts +5 -0
- package/dist/components/command-menu/examples/composition-tags-footer.d.ts.map +1 -0
- package/dist/components/command-menu/examples/controlled-open-search.d.ts +5 -0
- package/dist/components/command-menu/examples/controlled-open-search.d.ts.map +1 -0
- package/dist/components/command-menu/examples/disabled-items.d.ts +2 -2
- package/dist/components/command-menu/examples/disabled-items.d.ts.map +1 -1
- package/dist/components/command-menu/examples/full-width-panel.d.ts +6 -0
- package/dist/components/command-menu/examples/full-width-panel.d.ts.map +1 -0
- package/dist/components/command-menu/examples/item-icon-as.d.ts +5 -0
- package/dist/components/command-menu/examples/item-icon-as.d.ts.map +1 -0
- package/dist/components/command-menu/examples/variants-density-items.d.ts +5 -0
- package/dist/components/command-menu/examples/variants-density-items.d.ts.map +1 -0
- package/dist/components/data-table/examples/composition.d.ts +3 -0
- package/dist/components/data-table/examples/composition.d.ts.map +1 -0
- package/dist/components/data-table/examples/divider-styles.d.ts +3 -0
- package/dist/components/data-table/examples/divider-styles.d.ts.map +1 -0
- package/dist/components/data-table/examples/full-width.d.ts +3 -0
- package/dist/components/data-table/examples/full-width.d.ts.map +1 -0
- package/dist/components/data-table/examples/highlight-and-striped.d.ts +3 -0
- package/dist/components/data-table/examples/highlight-and-striped.d.ts.map +1 -0
- package/dist/components/data-table/examples/sizes.d.ts +3 -0
- package/dist/components/data-table/examples/sizes.d.ts.map +1 -0
- package/dist/components/data-table/examples/sorting-pagination.d.ts +3 -0
- package/dist/components/data-table/examples/sorting-pagination.d.ts.map +1 -0
- package/dist/components/data-table/examples/states.d.ts +3 -0
- package/dist/components/data-table/examples/states.d.ts.map +1 -0
- package/dist/components/data-table/examples/sticky-and-headers.d.ts +3 -0
- package/dist/components/data-table/examples/sticky-and-headers.d.ts.map +1 -0
- package/dist/components/digit-input/examples/composition.d.ts +6 -0
- package/dist/components/digit-input/examples/composition.d.ts.map +1 -0
- package/dist/components/digit-input/examples/controlled.d.ts +6 -0
- package/dist/components/digit-input/examples/controlled.d.ts.map +1 -0
- package/dist/components/digit-input/examples/features.d.ts +6 -0
- package/dist/components/digit-input/examples/features.d.ts.map +1 -0
- package/dist/components/digit-input/examples/sizes.d.ts +6 -0
- package/dist/components/digit-input/examples/sizes.d.ts.map +1 -0
- package/dist/components/digit-input/examples/states.d.ts +6 -0
- package/dist/components/digit-input/examples/states.d.ts.map +1 -0
- package/dist/components/dropdown/examples/as-child.d.ts +3 -0
- package/dist/components/dropdown/examples/as-child.d.ts.map +1 -0
- package/dist/components/dropdown/examples/composition.d.ts +3 -0
- package/dist/components/dropdown/examples/composition.d.ts.map +1 -0
- package/dist/components/dropdown/examples/controlled.d.ts +3 -0
- package/dist/components/dropdown/examples/controlled.d.ts.map +1 -0
- package/dist/components/dropdown/examples/full-width.d.ts +3 -0
- package/dist/components/dropdown/examples/full-width.d.ts.map +1 -0
- package/dist/components/dropdown/examples/inset.d.ts +3 -0
- package/dist/components/dropdown/examples/inset.d.ts.map +1 -0
- package/dist/components/dropdown/examples/sizes.d.ts +3 -0
- package/dist/components/dropdown/examples/sizes.d.ts.map +1 -0
- package/dist/components/dropdown/examples/states.d.ts +3 -0
- package/dist/components/dropdown/examples/states.d.ts.map +1 -0
- package/dist/components/dropdown/examples/variants.d.ts +3 -0
- package/dist/components/dropdown/examples/variants.d.ts.map +1 -0
- package/dist/components/file-upload/examples/custom-children.d.ts +6 -0
- package/dist/components/file-upload/examples/custom-children.d.ts.map +1 -0
- package/dist/components/file-upload/examples/full-width.d.ts +6 -0
- package/dist/components/file-upload/examples/full-width.d.ts.map +1 -0
- package/dist/components/hint/examples/a11y-describedby.d.ts +3 -0
- package/dist/components/hint/examples/a11y-describedby.d.ts.map +1 -0
- package/dist/components/hint/examples/controlled-variant.d.ts +3 -0
- package/dist/components/hint/examples/controlled-variant.d.ts.map +1 -0
- package/dist/components/hint/examples/field-states.d.ts +3 -0
- package/dist/components/hint/examples/field-states.d.ts.map +1 -0
- package/dist/components/hint/examples/sizes.d.ts +3 -0
- package/dist/components/hint/examples/sizes.d.ts.map +1 -0
- package/dist/components/hint/examples/variants.d.ts +3 -0
- package/dist/components/hint/examples/variants.d.ts.map +1 -0
- package/dist/components/index.css +39 -64
- package/dist/components/index.css.map +3 -3
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +94 -121
- package/dist/components/index.js.map +3 -3
- package/dist/components/input/examples/affix-url-and-amount.d.ts +5 -0
- package/dist/components/input/examples/affix-url-and-amount.d.ts.map +1 -0
- package/dist/components/input/examples/search.d.ts.map +1 -1
- package/dist/components/kbd/examples/composition-chord-icon.d.ts +3 -0
- package/dist/components/kbd/examples/composition-chord-icon.d.ts.map +1 -0
- package/dist/components/kbd/examples/context-inherit-size.d.ts +6 -0
- package/dist/components/kbd/examples/context-inherit-size.d.ts.map +1 -0
- package/dist/components/kbd/examples/sizes-ladder.d.ts +3 -0
- package/dist/components/kbd/examples/sizes-ladder.d.ts.map +1 -0
- package/dist/components/kbd/examples/states-title.d.ts +3 -0
- package/dist/components/kbd/examples/states-title.d.ts.map +1 -0
- package/dist/components/label/examples/mixed-required-optional.d.ts +3 -0
- package/dist/components/label/examples/mixed-required-optional.d.ts.map +1 -0
- package/dist/components/label/examples/sizes.d.ts +3 -0
- package/dist/components/label/examples/sizes.d.ts.map +1 -0
- package/dist/components/label/examples/states.d.ts +3 -0
- package/dist/components/label/examples/states.d.ts.map +1 -0
- package/dist/components/label/examples/sub-line.d.ts +3 -0
- package/dist/components/label/examples/sub-line.d.ts.map +1 -0
- package/dist/components/link-button/examples/composition.d.ts +3 -0
- package/dist/components/link-button/examples/composition.d.ts.map +1 -0
- package/dist/components/link-button/examples/disabled.d.ts +1 -0
- package/dist/components/link-button/examples/disabled.d.ts.map +1 -1
- package/dist/components/link-button/examples/external.d.ts +1 -1
- package/dist/components/link-button/examples/external.d.ts.map +1 -1
- package/dist/components/link-button/examples/sizes.d.ts +3 -0
- package/dist/components/link-button/examples/sizes.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-close-behavior.d.ts +3 -0
- package/dist/components/modal/examples/pattern-close-behavior.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-controlled.d.ts +3 -0
- package/dist/components/modal/examples/pattern-controlled.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-full-width-footer.d.ts +3 -0
- package/dist/components/modal/examples/pattern-full-width-footer.d.ts.map +1 -0
- package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts +3 -0
- package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts.map +1 -0
- package/dist/components/notification/examples/composition.d.ts +2 -0
- package/dist/components/notification/examples/composition.d.ts.map +1 -0
- package/dist/components/notification/examples/controlled.d.ts +2 -0
- package/dist/components/notification/examples/controlled.d.ts.map +1 -0
- package/dist/components/notification/examples/features.d.ts +2 -0
- package/dist/components/notification/examples/features.d.ts.map +1 -0
- package/dist/components/notification/examples/notification-store.d.ts +4 -1
- package/dist/components/notification/examples/notification-store.d.ts.map +1 -1
- package/dist/components/notification/examples/sizes.d.ts +2 -0
- package/dist/components/notification/examples/sizes.d.ts.map +1 -0
- package/dist/components/notification/examples/states.d.ts +2 -0
- package/dist/components/notification/examples/states.d.ts.map +1 -0
- package/dist/components/notification/examples/toast-queue.d.ts +4 -1
- package/dist/components/notification/examples/toast-queue.d.ts.map +1 -1
- package/dist/components/notification/examples/variants.d.ts +2 -0
- package/dist/components/notification/examples/variants.d.ts.map +1 -0
- package/dist/components/page-content/PageContent.d.ts +13 -0
- package/dist/components/page-content/PageContent.d.ts.map +1 -1
- package/dist/components/pagination/examples/controlled-page.d.ts +1 -1
- package/dist/components/pagination/examples/controlled-page.d.ts.map +1 -1
- package/dist/components/pagination/examples/features.d.ts +6 -0
- package/dist/components/pagination/examples/features.d.ts.map +1 -0
- package/dist/components/pagination/examples/full-width-list.d.ts +1 -1
- package/dist/components/pagination/examples/full-width-list.d.ts.map +1 -1
- package/dist/components/pagination/examples/range-modes.d.ts +6 -0
- package/dist/components/pagination/examples/range-modes.d.ts.map +1 -0
- package/dist/components/pagination/examples/sizes.d.ts +6 -0
- package/dist/components/pagination/examples/sizes.d.ts.map +1 -0
- package/dist/components/pagination/examples/states.d.ts +6 -0
- package/dist/components/pagination/examples/states.d.ts.map +1 -0
- package/dist/components/popover/examples/as-child.d.ts +5 -0
- package/dist/components/popover/examples/as-child.d.ts.map +1 -0
- package/dist/components/popover/examples/composition.d.ts +5 -0
- package/dist/components/popover/examples/composition.d.ts.map +1 -0
- package/dist/components/popover/examples/controlled.d.ts +5 -0
- package/dist/components/popover/examples/controlled.d.ts.map +1 -0
- package/dist/components/popover/examples/features.d.ts +5 -0
- package/dist/components/popover/examples/features.d.ts.map +1 -0
- package/dist/components/popover/examples/full-width.d.ts +5 -0
- package/dist/components/popover/examples/full-width.d.ts.map +1 -0
- package/dist/components/popover/examples/inset-variants.d.ts +5 -0
- package/dist/components/popover/examples/inset-variants.d.ts.map +1 -0
- package/dist/components/popover/examples/placement.d.ts +1 -1
- package/dist/components/popover/examples/placement.d.ts.map +1 -1
- package/dist/components/popover/examples/sizes.d.ts +5 -0
- package/dist/components/popover/examples/sizes.d.ts.map +1 -0
- package/dist/components/popover/examples/states.d.ts +5 -0
- package/dist/components/popover/examples/states.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/labeled.d.ts +1 -1
- package/dist/components/progress-bar/examples/labeled.d.ts.map +1 -1
- package/dist/components/progress-bar/examples/sizes.d.ts +3 -0
- package/dist/components/progress-bar/examples/sizes.d.ts.map +1 -0
- package/dist/components/progress-bar/examples/values.d.ts +3 -0
- package/dist/components/progress-bar/examples/values.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts +1 -0
- package/dist/components/progress-circle/examples/a11y-label.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/composition.d.ts +1 -1
- package/dist/components/progress-circle/examples/composition.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/controlled.d.ts +1 -1
- package/dist/components/progress-circle/examples/controlled.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts +1 -1
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/max-scale.d.ts +1 -1
- package/dist/components/progress-circle/examples/max-scale.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/sizes.d.ts +3 -0
- package/dist/components/progress-circle/examples/sizes.d.ts.map +1 -0
- package/dist/components/progress-circle/examples/states.d.ts +6 -0
- package/dist/components/progress-circle/examples/states.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/composition.d.ts +3 -0
- package/dist/components/segmented-control/examples/composition.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/controlled.d.ts +3 -0
- package/dist/components/segmented-control/examples/controlled.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/features.d.ts +3 -0
- package/dist/components/segmented-control/examples/features.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/full-width.d.ts +3 -0
- package/dist/components/segmented-control/examples/full-width.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/sizes.d.ts +3 -0
- package/dist/components/segmented-control/examples/sizes.d.ts.map +1 -0
- package/dist/components/segmented-control/examples/states.d.ts +3 -0
- package/dist/components/segmented-control/examples/states.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-composition.d.ts +3 -0
- package/dist/components/select/examples/pattern-composition.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-controlled.d.ts +3 -0
- package/dist/components/select/examples/pattern-controlled.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-features.d.ts +3 -0
- package/dist/components/select/examples/pattern-features.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-full-width.d.ts +3 -0
- package/dist/components/select/examples/pattern-full-width.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-native.d.ts +3 -0
- package/dist/components/select/examples/pattern-native.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-sizes.d.ts +3 -0
- package/dist/components/select/examples/pattern-sizes.d.ts.map +1 -0
- package/dist/components/select/examples/pattern-states.d.ts +3 -0
- package/dist/components/select/examples/pattern-states.d.ts.map +1 -0
- package/dist/components/slider/examples/composition.d.ts +6 -0
- package/dist/components/slider/examples/composition.d.ts.map +1 -0
- package/dist/components/slider/examples/controlled.d.ts +3 -0
- package/dist/components/slider/examples/controlled.d.ts.map +1 -0
- package/dist/components/slider/examples/features.d.ts +3 -0
- package/dist/components/slider/examples/features.d.ts.map +1 -0
- package/dist/components/slider/examples/full-width.d.ts +3 -0
- package/dist/components/slider/examples/full-width.d.ts.map +1 -0
- package/dist/components/slider/examples/sizes.d.ts +5 -0
- package/dist/components/slider/examples/sizes.d.ts.map +1 -0
- package/dist/components/slider/examples/states.d.ts +3 -0
- package/dist/components/slider/examples/states.d.ts.map +1 -0
- package/dist/components/stepper/examples/composition.d.ts +3 -0
- package/dist/components/stepper/examples/composition.d.ts.map +1 -0
- package/dist/components/stepper/examples/controlled.d.ts +3 -0
- package/dist/components/stepper/examples/controlled.d.ts.map +1 -0
- package/dist/components/stepper/examples/features.d.ts +3 -0
- package/dist/components/stepper/examples/features.d.ts.map +1 -0
- package/dist/components/stepper/examples/full-width.d.ts +3 -0
- package/dist/components/stepper/examples/full-width.d.ts.map +1 -0
- package/dist/components/stepper/examples/low-level-api.d.ts +3 -0
- package/dist/components/stepper/examples/low-level-api.d.ts.map +1 -0
- package/dist/components/stepper/examples/orientation.d.ts +3 -0
- package/dist/components/stepper/examples/orientation.d.ts.map +1 -0
- package/dist/components/stepper/examples/polymorphic-as.d.ts +3 -0
- package/dist/components/stepper/examples/polymorphic-as.d.ts.map +1 -0
- package/dist/components/stepper/examples/sizes.d.ts +3 -0
- package/dist/components/stepper/examples/sizes.d.ts.map +1 -0
- package/dist/components/stepper/examples/states.d.ts +3 -0
- package/dist/components/stepper/examples/states.d.ts.map +1 -0
- package/dist/components/switch/examples/composition.d.ts +3 -0
- package/dist/components/switch/examples/composition.d.ts.map +1 -0
- package/dist/components/switch/examples/controlled.d.ts +3 -0
- package/dist/components/switch/examples/controlled.d.ts.map +1 -0
- package/dist/components/switch/examples/form-features.d.ts +3 -0
- package/dist/components/switch/examples/form-features.d.ts.map +1 -0
- package/dist/components/switch/examples/full-width.d.ts +3 -0
- package/dist/components/switch/examples/full-width.d.ts.map +1 -0
- package/dist/components/switch/examples/sizes.d.ts +3 -0
- package/dist/components/switch/examples/sizes.d.ts.map +1 -0
- package/dist/components/switch/examples/states.d.ts +3 -0
- package/dist/components/switch/examples/states.d.ts.map +1 -0
- package/dist/components/switch/examples/variants.d.ts +3 -0
- package/dist/components/switch/examples/variants.d.ts.map +1 -0
- package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts +3 -2
- package/dist/components/tabs/examples/03-tab-triggers-with-icons.d.ts.map +1 -1
- package/dist/components/tabs/examples/06-sizes-s-m-l-xl.d.ts +6 -0
- package/dist/components/tabs/examples/06-sizes-s-m-l-xl.d.ts.map +1 -0
- package/dist/components/tabs/examples/07-horizontal-disabled.d.ts +6 -0
- package/dist/components/tabs/examples/07-horizontal-disabled.d.ts.map +1 -0
- package/dist/components/tag/examples/basic.d.ts +3 -0
- package/dist/components/tag/examples/basic.d.ts.map +1 -0
- package/dist/components/tag/examples/composition.d.ts +3 -0
- package/dist/components/tag/examples/composition.d.ts.map +1 -0
- package/dist/components/tag/examples/context-size.d.ts +3 -0
- package/dist/components/tag/examples/context-size.d.ts.map +1 -0
- package/dist/components/tag/examples/controlled.d.ts +3 -0
- package/dist/components/tag/examples/controlled.d.ts.map +1 -0
- package/dist/components/tag/examples/disabled.d.ts +3 -0
- package/dist/components/tag/examples/disabled.d.ts.map +1 -0
- package/dist/components/tag/examples/removable.d.ts +3 -0
- package/dist/components/tag/examples/removable.d.ts.map +1 -0
- package/dist/components/tag/examples/sizes.d.ts +3 -0
- package/dist/components/tag/examples/sizes.d.ts.map +1 -0
- package/dist/components/tag/examples/states.d.ts +3 -0
- package/dist/components/tag/examples/states.d.ts.map +1 -0
- package/dist/components/tag/examples/with-icon.d.ts +3 -0
- package/dist/components/tag/examples/with-icon.d.ts.map +1 -0
- package/dist/components/textarea/examples/composition.d.ts +3 -0
- package/dist/components/textarea/examples/composition.d.ts.map +1 -0
- package/dist/components/textarea/examples/controlled.d.ts +3 -0
- package/dist/components/textarea/examples/controlled.d.ts.map +1 -0
- package/dist/components/textarea/examples/features.d.ts +3 -0
- package/dist/components/textarea/examples/features.d.ts.map +1 -0
- package/dist/components/textarea/examples/full-width.d.ts +3 -0
- package/dist/components/textarea/examples/full-width.d.ts.map +1 -0
- package/dist/components/textarea/examples/sizes.d.ts +3 -0
- package/dist/components/textarea/examples/sizes.d.ts.map +1 -0
- package/dist/components/textarea/examples/states.d.ts +3 -0
- package/dist/components/textarea/examples/states.d.ts.map +1 -0
- package/dist/components/textarea/examples/variants.d.ts +3 -0
- package/dist/components/textarea/examples/variants.d.ts.map +1 -0
- package/dist/components/tooltip/examples/composition.d.ts +3 -0
- package/dist/components/tooltip/examples/composition.d.ts.map +1 -0
- package/dist/components/tooltip/examples/controlled.d.ts +3 -0
- package/dist/components/tooltip/examples/controlled.d.ts.map +1 -0
- package/dist/components/tooltip/examples/delay.d.ts +3 -0
- package/dist/components/tooltip/examples/delay.d.ts.map +1 -0
- package/dist/components/tooltip/examples/long-content.d.ts +3 -0
- package/dist/components/tooltip/examples/long-content.d.ts.map +1 -0
- package/dist/components/tooltip/examples/side.d.ts +3 -0
- package/dist/components/tooltip/examples/side.d.ts.map +1 -0
- package/dist/components/tooltip/examples/sizes.d.ts +3 -0
- package/dist/components/tooltip/examples/sizes.d.ts.map +1 -0
- package/dist/components/tooltip/examples/states.d.ts +3 -0
- package/dist/components/tooltip/examples/states.d.ts.map +1 -0
- package/dist/components/tooltip/examples/surfaces.d.ts +3 -0
- package/dist/components/tooltip/examples/surfaces.d.ts.map +1 -0
- package/dist/components/typography/examples/as-prop.d.ts +3 -0
- package/dist/components/typography/examples/as-prop.d.ts.map +1 -0
- package/dist/components/typography/examples/composition.d.ts +6 -0
- package/dist/components/typography/examples/composition.d.ts.map +1 -0
- package/dist/components/typography/examples/full-width.d.ts +6 -0
- package/dist/components/typography/examples/full-width.d.ts.map +1 -0
- package/dist/components/typography/examples/reading-and-form.d.ts +6 -0
- package/dist/components/typography/examples/reading-and-form.d.ts.map +1 -0
- package/dist/components/typography/examples/states.d.ts +3 -0
- package/dist/components/typography/examples/states.d.ts.map +1 -0
- package/dist/components/typography/examples/variant-catalog.d.ts +3 -0
- package/dist/components/typography/examples/variant-catalog.d.ts.map +1 -0
- package/dist/components/typography/examples/variants.d.ts +3 -0
- package/dist/components/typography/examples/variants.d.ts.map +1 -0
- package/dist/index.css +39 -64
- package/dist/index.css.map +3 -3
- package/dist/index.js +94 -121
- package/dist/index.js.map +3 -3
- package/dist/layout/app-shell/AppShell.d.ts +0 -4
- package/dist/layout/app-shell/AppShell.d.ts.map +1 -1
- package/dist/layout/sidebar/Sidebar.d.ts +10 -7
- package/dist/layout/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/layout/sidebar/SidebarRoot.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts +1 -0
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts +2 -2
- package/dist/layout/sidebar/examples/02-collapsible-desktop.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/03-controlled-state.d.ts +1 -1
- package/dist/layout/sidebar/examples/03-controlled-state.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/04-router-navigation.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts +1 -1
- package/dist/layout/sidebar/examples/05-responsive-behavior.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/accordion/COMPONENT.md +31 -8
- package/src/components/accordion/examples/01-faq-marketing.tsx +2 -1
- package/src/components/accordion/examples/02-settings-panels.tsx +2 -1
- package/src/components/accordion/examples/03-checkout-order-summary.tsx +3 -1
- package/src/components/accordion/examples/04-api-docs-sections.tsx +5 -2
- package/src/components/accordion/examples/05-knowledge-base-categories.tsx +2 -1
- package/src/components/avatar/COMPONENT.md +11 -3
- package/src/components/avatar/examples/group-three.tsx +28 -0
- package/src/components/avatar/examples/sizes.tsx +24 -0
- package/src/components/avatar/examples/src-from-state.tsx +35 -0
- package/src/components/avatar/examples/states.tsx +26 -0
- package/src/components/badge/COMPONENT.md +15 -1
- package/src/components/banner/COMPONENT.md +28 -1
- package/src/components/banner/examples/controlled-visibility.tsx +42 -0
- package/src/components/banner/examples/dismiss-close-button.tsx +26 -0
- package/src/components/breadcrumb/COMPONENT.md +15 -3
- package/src/components/breadcrumb/examples/composition.tsx +25 -0
- package/src/components/breadcrumb/examples/full-width.tsx +24 -0
- package/src/components/breadcrumb/examples/sizes.tsx +25 -0
- package/src/components/breadcrumb/examples/states.tsx +26 -0
- package/src/components/button/COMPONENT.md +6 -1
- package/src/components/button/examples/full-width-stack.tsx +23 -0
- package/src/components/button/examples/icon-composition.tsx +63 -0
- package/src/components/button/examples/sizes-ladder.tsx +30 -0
- package/src/components/button-group/COMPONENT.md +13 -1
- package/src/components/button-group/examples/full-width.tsx +22 -0
- package/src/components/card/COMPONENT.md +23 -3
- package/src/components/card/examples/mini-kpi.tsx +16 -0
- package/src/components/checkbox/COMPONENT.md +22 -12
- package/src/components/checkbox/examples/empty-label-form.tsx +24 -0
- package/src/components/code-block/COMPONENT.md +26 -11
- package/src/components/code-block/examples/controlled.tsx +43 -0
- package/src/components/color-picker/COMPONENT.md +36 -12
- package/src/components/color-picker/examples/field-eyedropper.tsx +58 -0
- package/src/components/color-picker/examples/format-variants.tsx +58 -0
- package/src/components/color-picker/examples/full-width.tsx +49 -0
- package/src/components/color-picker/examples/hex-input-sizes.tsx +34 -0
- package/src/components/color-picker/examples/panel-placement.tsx +68 -0
- package/src/components/color-picker/examples/readout-trigger.tsx +70 -0
- package/src/components/color-picker/examples/states.tsx +79 -0
- package/src/components/command-menu/COMPONENT.md +30 -11
- package/src/components/command-menu/examples/composition-tags-footer.tsx +136 -0
- package/src/components/command-menu/examples/controlled-open-search.tsx +76 -0
- package/src/components/command-menu/examples/disabled-items.tsx +7 -3
- package/src/components/command-menu/examples/full-width-panel.tsx +52 -0
- package/src/components/command-menu/examples/item-icon-as.tsx +48 -0
- package/src/components/command-menu/examples/variants-density-items.tsx +85 -0
- package/src/components/data-table/COMPONENT.md +25 -1
- package/src/components/data-table/examples/composition.tsx +91 -0
- package/src/components/data-table/examples/divider-styles.tsx +67 -0
- package/src/components/data-table/examples/examples-demos.module.css +78 -0
- package/src/components/data-table/examples/full-width.tsx +39 -0
- package/src/components/data-table/examples/highlight-and-striped.tsx +71 -0
- package/src/components/data-table/examples/sizes.tsx +85 -0
- package/src/components/data-table/examples/sorting-pagination.tsx +76 -0
- package/src/components/data-table/examples/states.tsx +44 -0
- package/src/components/data-table/examples/sticky-and-headers.tsx +113 -0
- package/src/components/datepicker/COMPONENT.md +28 -5
- package/src/components/digit-input/COMPONENT.md +18 -2
- package/src/components/digit-input/examples/composition.tsx +24 -0
- package/src/components/digit-input/examples/controlled.tsx +26 -0
- package/src/components/digit-input/examples/features.tsx +30 -0
- package/src/components/digit-input/examples/sizes.tsx +23 -0
- package/src/components/digit-input/examples/states.tsx +22 -0
- package/src/components/divider/COMPONENT.md +6 -2
- package/src/components/drawer/COMPONENT.md +63 -22
- package/src/components/dropdown/COMPONENT.md +34 -10
- package/src/components/dropdown/examples/as-child.tsx +26 -0
- package/src/components/dropdown/examples/composition.tsx +93 -0
- package/src/components/dropdown/examples/controlled.tsx +31 -0
- package/src/components/dropdown/examples/dropdown-examples.module.css +33 -0
- package/src/components/dropdown/examples/full-width.tsx +28 -0
- package/src/components/dropdown/examples/inset.tsx +51 -0
- package/src/components/dropdown/examples/sizes.tsx +99 -0
- package/src/components/dropdown/examples/states.tsx +20 -0
- package/src/components/dropdown/examples/variants.tsx +21 -0
- package/src/components/file-upload/COMPONENT.md +29 -8
- package/src/components/file-upload/examples/custom-children.tsx +21 -0
- package/src/components/file-upload/examples/full-width.tsx +32 -0
- package/src/components/hint/COMPONENT.md +21 -9
- package/src/components/hint/examples/a11y-describedby.tsx +23 -0
- package/src/components/hint/examples/controlled-variant.tsx +23 -0
- package/src/components/hint/examples/field-states.tsx +44 -0
- package/src/components/hint/examples/sizes.tsx +13 -0
- package/src/components/hint/examples/variants.tsx +18 -0
- package/src/components/input/COMPONENT.md +4 -3
- package/src/components/input/examples/affix-url-and-amount.tsx +24 -0
- package/src/components/input/examples/search.tsx +1 -0
- package/src/components/kbd/COMPONENT.md +6 -2
- package/src/components/kbd/examples/composition-chord-icon.tsx +34 -0
- package/src/components/kbd/examples/context-inherit-size.tsx +46 -0
- package/src/components/kbd/examples/sizes-ladder.tsx +21 -0
- package/src/components/kbd/examples/states-title.tsx +19 -0
- package/src/components/label/COMPONENT.md +36 -6
- package/src/components/label/examples/mixed-required-optional.tsx +17 -0
- package/src/components/label/examples/sizes.tsx +37 -0
- package/src/components/label/examples/states.tsx +17 -0
- package/src/components/label/examples/sub-line.tsx +11 -0
- package/src/components/link-button/COMPONENT.md +33 -4
- package/src/components/link-button/examples/composition.tsx +27 -0
- package/src/components/link-button/examples/disabled.tsx +1 -0
- package/src/components/link-button/examples/external.tsx +1 -1
- package/src/components/link-button/examples/sizes.tsx +21 -0
- package/src/components/modal/COMPONENT.md +21 -7
- package/src/components/modal/examples/pattern-close-behavior.tsx +52 -0
- package/src/components/modal/examples/pattern-controlled.tsx +39 -0
- package/src/components/modal/examples/pattern-full-width-footer.tsx +46 -0
- package/src/components/modal/examples/pattern-portal-and-scroll.tsx +82 -0
- package/src/components/notification/COMPONENT.md +12 -6
- package/src/components/notification/examples/composition.tsx +90 -0
- package/src/components/notification/examples/controlled.tsx +87 -0
- package/src/components/notification/examples/features.tsx +102 -0
- package/src/components/notification/examples/notification-store.tsx +4 -57
- package/src/components/notification/examples/sizes.tsx +53 -0
- package/src/components/notification/examples/states.tsx +143 -0
- package/src/components/notification/examples/toast-queue.tsx +4 -62
- package/src/components/notification/examples/variants.tsx +68 -0
- package/src/components/page-content/COMPONENT.md +123 -0
- package/src/components/pagination/COMPONENT.md +28 -6
- package/src/components/pagination/examples/controlled-page.tsx +1 -1
- package/src/components/pagination/examples/features.tsx +107 -0
- package/src/components/pagination/examples/full-width-list.tsx +1 -1
- package/src/components/pagination/examples/range-modes.tsx +60 -0
- package/src/components/pagination/examples/sizes.tsx +50 -0
- package/src/components/pagination/examples/states.tsx +80 -0
- package/src/components/popover/COMPONENT.md +23 -34
- package/src/components/popover/examples/as-child.tsx +24 -0
- package/src/components/popover/examples/composition.tsx +42 -0
- package/src/components/popover/examples/controlled.tsx +40 -0
- package/src/components/popover/examples/features.tsx +65 -0
- package/src/components/popover/examples/full-width.tsx +34 -0
- package/src/components/popover/examples/inset-variants.tsx +46 -0
- package/src/components/popover/examples/placement.tsx +10 -10
- package/src/components/popover/examples/popover-examples.module.css +104 -0
- package/src/components/popover/examples/sizes.tsx +30 -0
- package/src/components/popover/examples/states.tsx +36 -0
- package/src/components/progress-bar/COMPONENT.md +25 -8
- package/src/components/progress-bar/examples/labeled.tsx +2 -2
- package/src/components/progress-bar/examples/sizes.tsx +13 -0
- package/src/components/progress-bar/examples/values.tsx +13 -0
- package/src/components/progress-circle/COMPONENT.md +9 -5
- package/src/components/progress-circle/examples/a11y-label.tsx +1 -0
- package/src/components/progress-circle/examples/composition.tsx +2 -2
- package/src/components/progress-circle/examples/controlled.tsx +2 -7
- package/src/components/progress-circle/examples/dashboard-ring.tsx +1 -1
- package/src/components/progress-circle/examples/max-scale.tsx +1 -1
- package/src/components/progress-circle/examples/sizes.tsx +77 -0
- package/src/components/progress-circle/examples/states.tsx +95 -0
- package/src/components/radio/COMPONENT.md +34 -20
- package/src/components/segmented-control/COMPONENT.md +20 -7
- package/src/components/segmented-control/examples/composition.tsx +55 -0
- package/src/components/segmented-control/examples/controlled.tsx +23 -0
- package/src/components/segmented-control/examples/features.tsx +45 -0
- package/src/components/segmented-control/examples/full-width.tsx +16 -0
- package/src/components/segmented-control/examples/segmented-examples.module.css +29 -0
- package/src/components/segmented-control/examples/sizes.tsx +51 -0
- package/src/components/segmented-control/examples/states.tsx +43 -0
- package/src/components/segmented-progress-bar/COMPONENT.md +23 -8
- package/src/components/select/COMPONENT.md +39 -9
- package/src/components/select/examples/examples.module.css +11 -0
- package/src/components/select/examples/pattern-composition.tsx +40 -0
- package/src/components/select/examples/pattern-controlled.tsx +29 -0
- package/src/components/select/examples/pattern-features.tsx +33 -0
- package/src/components/select/examples/pattern-full-width.tsx +21 -0
- package/src/components/select/examples/pattern-native.tsx +14 -0
- package/src/components/select/examples/pattern-sizes.tsx +51 -0
- package/src/components/select/examples/pattern-states.tsx +47 -0
- package/src/components/slider/COMPONENT.md +24 -16
- package/src/components/slider/examples/composition.tsx +14 -0
- package/src/components/slider/examples/controlled.tsx +23 -0
- package/src/components/slider/examples/examples.module.css +20 -0
- package/src/components/slider/examples/features.tsx +17 -0
- package/src/components/slider/examples/full-width.tsx +12 -0
- package/src/components/slider/examples/sizes.tsx +15 -0
- package/src/components/slider/examples/states.tsx +11 -0
- package/src/components/stepper/COMPONENT.md +21 -11
- package/src/components/stepper/examples/composition.tsx +31 -0
- package/src/components/stepper/examples/controlled.tsx +49 -0
- package/src/components/stepper/examples/examples.module.css +65 -0
- package/src/components/stepper/examples/features.tsx +29 -0
- package/src/components/stepper/examples/full-width.tsx +34 -0
- package/src/components/stepper/examples/low-level-api.tsx +58 -0
- package/src/components/stepper/examples/orientation.tsx +52 -0
- package/src/components/stepper/examples/polymorphic-as.tsx +51 -0
- package/src/components/stepper/examples/sizes.tsx +71 -0
- package/src/components/stepper/examples/states.tsx +44 -0
- package/src/components/switch/COMPONENT.md +18 -6
- package/src/components/switch/examples/composition.tsx +24 -0
- package/src/components/switch/examples/controlled.tsx +18 -0
- package/src/components/switch/examples/examples.module.css +9 -0
- package/src/components/switch/examples/form-features.tsx +31 -0
- package/src/components/switch/examples/full-width.tsx +15 -0
- package/src/components/switch/examples/sizes.tsx +23 -0
- package/src/components/switch/examples/states.tsx +32 -0
- package/src/components/switch/examples/variants.tsx +19 -0
- package/src/components/tabs/COMPONENT.md +30 -24
- package/src/components/tabs/examples/03-tab-triggers-with-icons.tsx +30 -17
- package/src/components/tabs/examples/06-sizes-s-m-l-xl.tsx +58 -0
- package/src/components/tabs/examples/07-horizontal-disabled.tsx +40 -0
- package/src/components/tabs/examples/examples.module.css +21 -0
- package/src/components/tag/COMPONENT.md +21 -6
- package/src/components/tag/examples/basic.tsx +14 -0
- package/src/components/tag/examples/composition.tsx +19 -0
- package/src/components/tag/examples/context-size.tsx +17 -0
- package/src/components/tag/examples/controlled.tsx +31 -0
- package/src/components/tag/examples/disabled.tsx +15 -0
- package/src/components/tag/examples/removable.tsx +22 -0
- package/src/components/tag/examples/sizes.tsx +15 -0
- package/src/components/tag/examples/states.tsx +17 -0
- package/src/components/tag/examples/with-icon.tsx +23 -0
- package/src/components/textarea/COMPONENT.md +20 -8
- package/src/components/textarea/examples/composition.tsx +21 -0
- package/src/components/textarea/examples/controlled.tsx +18 -0
- package/src/components/textarea/examples/examples.module.css +12 -0
- package/src/components/textarea/examples/features.tsx +65 -0
- package/src/components/textarea/examples/full-width.tsx +14 -0
- package/src/components/textarea/examples/sizes.tsx +21 -0
- package/src/components/textarea/examples/states.tsx +19 -0
- package/src/components/textarea/examples/variants.tsx +15 -0
- package/src/components/tooltip/COMPONENT.md +16 -11
- package/src/components/tooltip/examples/composition.tsx +44 -0
- package/src/components/tooltip/examples/{scenario-controlled-programmatic.tsx → controlled.tsx} +6 -7
- package/src/components/tooltip/examples/delay.tsx +31 -0
- package/src/components/tooltip/examples/examples.module.css +64 -3
- package/src/components/tooltip/examples/long-content.tsx +34 -0
- package/src/components/tooltip/examples/side.tsx +69 -0
- package/src/components/tooltip/examples/sizes.tsx +69 -0
- package/src/components/tooltip/examples/states.tsx +57 -0
- package/src/components/tooltip/examples/surfaces.tsx +54 -0
- package/src/components/typography/COMPONENT.md +22 -8
- package/src/components/typography/examples/as-prop.tsx +25 -0
- package/src/components/typography/examples/composition.tsx +29 -0
- package/src/components/typography/examples/examples.module.css +65 -0
- package/src/components/typography/examples/full-width.tsx +32 -0
- package/src/components/typography/examples/reading-and-form.tsx +40 -0
- package/src/components/typography/examples/states.tsx +27 -0
- package/src/components/typography/examples/variant-catalog.tsx +107 -0
- package/src/components/typography/examples/variants.tsx +61 -0
- package/src/layout/sidebar/COMPONENT.md +32 -10
- package/src/layout/sidebar/examples/01-app-shell-nav.tsx +26 -14
- package/src/layout/sidebar/examples/02-collapsible-desktop.tsx +15 -5
- package/src/layout/sidebar/examples/03-controlled-state.tsx +13 -3
- package/src/layout/sidebar/examples/04-router-navigation.tsx +12 -2
- package/src/layout/sidebar/examples/05-responsive-behavior.tsx +15 -5
- package/src/layout/sidebar/examples/examples.module.css +11 -1
- package/dist/components/slider/examples/01-volume.d.ts +0 -5
- package/dist/components/slider/examples/01-volume.d.ts.map +0 -1
- package/dist/components/slider/examples/02-price-range.d.ts +0 -5
- package/dist/components/slider/examples/02-price-range.d.ts.map +0 -1
- package/dist/components/slider/examples/03-controlled.d.ts +0 -5
- package/dist/components/slider/examples/03-controlled.d.ts.map +0 -1
- package/dist/components/slider/examples/04-disabled.d.ts +0 -5
- package/dist/components/slider/examples/04-disabled.d.ts.map +0 -1
- package/dist/components/tag/examples/04-tag-sizes.d.ts +0 -3
- package/dist/components/tag/examples/04-tag-sizes.d.ts.map +0 -1
- package/dist/components/textarea/examples/03-controlled.d.ts +0 -5
- package/dist/components/textarea/examples/03-controlled.d.ts.map +0 -1
- package/dist/components/textarea/examples/04-full-width.d.ts +0 -5
- package/dist/components/textarea/examples/04-full-width.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-controlled-programmatic.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-delay-provider.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-delay-provider.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-long-content.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-long-content.d.ts.map +0 -1
- package/dist/components/tooltip/examples/scenario-side-bottom.d.ts +0 -5
- package/dist/components/tooltip/examples/scenario-side-bottom.d.ts.map +0 -1
- package/src/components/slider/examples/01-volume.tsx +0 -17
- package/src/components/slider/examples/02-price-range.tsx +0 -18
- package/src/components/slider/examples/03-controlled.tsx +0 -30
- package/src/components/slider/examples/04-disabled.tsx +0 -25
- package/src/components/tag/examples/04-tag-sizes.tsx +0 -18
- package/src/components/textarea/examples/03-controlled.tsx +0 -27
- package/src/components/textarea/examples/04-full-width.tsx +0 -23
- package/src/components/tooltip/examples/scenario-delay-provider.tsx +0 -19
- package/src/components/tooltip/examples/scenario-long-content.tsx +0 -22
- package/src/components/tooltip/examples/scenario-side-bottom.tsx +0 -21
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/* Layout helpers for runnable examples (mirrors playground/snippets/data-table/*.module.css). */
|
|
2
|
+
|
|
3
|
+
.demoLabel {
|
|
4
|
+
margin: var(--prime-sys-spacing-x4) 0 var(--prime-sys-spacing-x2);
|
|
5
|
+
font-size: var(--prime-sys-size-control-s-supportText);
|
|
6
|
+
font-weight: var(--prime-sys-typography-weight-medium);
|
|
7
|
+
color: var(--prime-sys-color-content-secondary);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.demoLabel:first-child {
|
|
11
|
+
margin-top: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.demoTable {
|
|
15
|
+
margin-bottom: var(--prime-sys-spacing-x3);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.narrowCard {
|
|
19
|
+
box-sizing: border-box;
|
|
20
|
+
width: 100%;
|
|
21
|
+
max-width: 28rem;
|
|
22
|
+
padding: var(--prime-sys-spacing-x3);
|
|
23
|
+
border-radius: var(--prime-sys-shape-radius-m);
|
|
24
|
+
border: 1px dashed var(--prime-sys-color-border-subtle);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.lead {
|
|
28
|
+
margin: 0 0 var(--prime-sys-spacing-x3);
|
|
29
|
+
font-size: var(--prime-sys-size-control-s-supportText);
|
|
30
|
+
color: var(--prime-sys-color-content-secondary);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.leadTight {
|
|
34
|
+
margin: 0 0 var(--prime-sys-spacing-x2);
|
|
35
|
+
font-size: var(--prime-sys-size-control-s-supportText);
|
|
36
|
+
color: var(--prime-sys-color-content-secondary);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.statesStack {
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
gap: var(--prime-sys-spacing-x6);
|
|
43
|
+
width: 100%;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.inlineIconRow {
|
|
47
|
+
display: inline-flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
gap: var(--prime-sys-spacing-x2);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.inlineIconRowTight {
|
|
53
|
+
display: inline-flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
gap: var(--prime-sys-spacing-x1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.optionsFieldset {
|
|
59
|
+
margin: 0 0 var(--prime-sys-spacing-x4);
|
|
60
|
+
padding: var(--prime-sys-spacing-x3) var(--prime-sys-spacing-x4);
|
|
61
|
+
border: 1px solid var(--prime-sys-color-border-subtle);
|
|
62
|
+
border-radius: var(--prime-sys-shape-radius-m);
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-wrap: wrap;
|
|
65
|
+
gap: var(--prime-sys-spacing-x4) var(--prime-sys-spacing-x6);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.optionsLegend {
|
|
69
|
+
padding: 0 var(--prime-sys-spacing-x2);
|
|
70
|
+
font-size: var(--prime-sys-typography-support-xs);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.optionLabel {
|
|
74
|
+
display: inline-flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
gap: var(--prime-sys-spacing-x3);
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DataTable, type DataTableColumn } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples-demos.module.css";
|
|
4
|
+
|
|
5
|
+
type Row = { id: string; task: string; hours: number };
|
|
6
|
+
|
|
7
|
+
const rows: Row[] = [
|
|
8
|
+
{ id: "T-12", task: "Сверстать отчёт по спринту", hours: 3 },
|
|
9
|
+
{ id: "T-13", task: "Проверить миграции БД", hours: 1.5 },
|
|
10
|
+
{ id: "T-14", task: "Обновить подсказки в форме входа", hours: 2 },
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
const columns: DataTableColumn<Row>[] = [
|
|
14
|
+
{ id: "id", header: "Задача", accessor: "id", sortable: true, minWidth: "6rem" },
|
|
15
|
+
{ id: "task", header: "Описание", accessor: "task", sortable: true, minWidth: "12rem" },
|
|
16
|
+
{
|
|
17
|
+
id: "hours",
|
|
18
|
+
header: "Часы",
|
|
19
|
+
accessor: "hours",
|
|
20
|
+
sortable: true,
|
|
21
|
+
align: "end",
|
|
22
|
+
minWidth: "5rem",
|
|
23
|
+
cell: (row) =>
|
|
24
|
+
row.hours.toLocaleString("ru-RU", { minimumFractionDigits: 0, maximumFractionDigits: 1 }),
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
/** Соответствует `playground/snippets/data-table/full-width.tsx`. */
|
|
29
|
+
export default function DataTableFullWidthExample() {
|
|
30
|
+
return (
|
|
31
|
+
<div className={styles.narrowCard}>
|
|
32
|
+
<p className={styles.lead}>
|
|
33
|
+
Узкий контейнер: корень таблицы тянется на 100% ширины родителя (сетка карточки, колонка
|
|
34
|
+
формы).
|
|
35
|
+
</p>
|
|
36
|
+
<DataTable.Root columns={columns} rows={rows} showPagination={false} pageSize={10} />
|
|
37
|
+
</div>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { DataTable, type DataTableColumn } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
import styles from "./examples-demos.module.css";
|
|
5
|
+
|
|
6
|
+
type Row = { id: string; product: string; qty: number; price: number };
|
|
7
|
+
|
|
8
|
+
const rows: Row[] = [
|
|
9
|
+
{ id: "1", product: "Notebook", qty: 2, price: 1200 },
|
|
10
|
+
{ id: "2", product: "Mouse", qty: 5, price: 45 },
|
|
11
|
+
{ id: "3", product: "Keyboard", qty: 1, price: 180 },
|
|
12
|
+
{ id: "4", product: "Display", qty: 1, price: 420 },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const columns: DataTableColumn<Row>[] = [
|
|
16
|
+
{ id: "product", header: "Товар", accessor: "product", sortable: true, minWidth: "10rem" },
|
|
17
|
+
{ id: "qty", header: "Кол-во", accessor: "qty", sortable: true, align: "end", minWidth: "6rem" },
|
|
18
|
+
{
|
|
19
|
+
id: "price",
|
|
20
|
+
header: "Цена",
|
|
21
|
+
accessor: "price",
|
|
22
|
+
sortable: true,
|
|
23
|
+
align: "end",
|
|
24
|
+
minWidth: "7rem",
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
/** Соответствует `playground/snippets/data-table/highlight-and-striped.tsx`. */
|
|
29
|
+
export default function DataTableHighlightAndStripedExample() {
|
|
30
|
+
const [highlightRowOnHover, setHighlightRowOnHover] = React.useState(true);
|
|
31
|
+
const [highlightColumnOnHover, setHighlightColumnOnHover] = React.useState(false);
|
|
32
|
+
const [striped, setStriped] = React.useState(false);
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<div>
|
|
36
|
+
<fieldset className={styles.optionsFieldset}>
|
|
37
|
+
<legend className={styles.optionsLegend}>Опции таблицы</legend>
|
|
38
|
+
<label className={styles.optionLabel}>
|
|
39
|
+
<input
|
|
40
|
+
type="checkbox"
|
|
41
|
+
checked={highlightRowOnHover}
|
|
42
|
+
onChange={(e) => setHighlightRowOnHover(e.target.checked)}
|
|
43
|
+
/>
|
|
44
|
+
Подсветка строки при наведении
|
|
45
|
+
</label>
|
|
46
|
+
<label className={styles.optionLabel}>
|
|
47
|
+
<input
|
|
48
|
+
type="checkbox"
|
|
49
|
+
checked={highlightColumnOnHover}
|
|
50
|
+
onChange={(e) => setHighlightColumnOnHover(e.target.checked)}
|
|
51
|
+
/>
|
|
52
|
+
Подсветка колонки при наведении
|
|
53
|
+
</label>
|
|
54
|
+
<label className={styles.optionLabel}>
|
|
55
|
+
<input type="checkbox" checked={striped} onChange={(e) => setStriped(e.target.checked)} />
|
|
56
|
+
Чередование строк (зебра)
|
|
57
|
+
</label>
|
|
58
|
+
</fieldset>
|
|
59
|
+
|
|
60
|
+
<DataTable.Root
|
|
61
|
+
columns={columns}
|
|
62
|
+
rows={rows}
|
|
63
|
+
pageSize={10}
|
|
64
|
+
showPagination={false}
|
|
65
|
+
highlightRowOnHover={highlightRowOnHover}
|
|
66
|
+
highlightColumnOnHover={highlightColumnOnHover}
|
|
67
|
+
striped={striped}
|
|
68
|
+
/>
|
|
69
|
+
</div>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Badge, DataTable, type DataTableColumn, type DataTableSize, Tag } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples-demos.module.css";
|
|
4
|
+
|
|
5
|
+
type TeamRow = {
|
|
6
|
+
id: string;
|
|
7
|
+
member: string;
|
|
8
|
+
role: string;
|
|
9
|
+
team: string;
|
|
10
|
+
status: "Online" | "Offline" | "Busy" | "Away";
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const rows: TeamRow[] = [
|
|
14
|
+
{ id: "u1", member: "James Brown", role: "Product Manager", team: "Core", status: "Online" },
|
|
15
|
+
{ id: "u2", member: "Sophia Williams", role: "Designer", team: "Growth", status: "Busy" },
|
|
16
|
+
{ id: "u3", member: "Arthur Taylor", role: "Frontend Engineer", team: "Core", status: "Offline" },
|
|
17
|
+
{ id: "u4", member: "Emma Wright", role: "QA Engineer", team: "Platform", status: "Away" },
|
|
18
|
+
{
|
|
19
|
+
id: "u5",
|
|
20
|
+
member: "Matthew Johnson",
|
|
21
|
+
role: "Data Engineer",
|
|
22
|
+
team: "Analytics",
|
|
23
|
+
status: "Online",
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
function mapStatusToBadge(status: TeamRow["status"]): "online" | "offline" | "busy" | "away" {
|
|
28
|
+
if (status === "Online") return "online";
|
|
29
|
+
if (status === "Offline") return "offline";
|
|
30
|
+
if (status === "Busy") return "busy";
|
|
31
|
+
return "away";
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const columns: DataTableColumn<TeamRow>[] = [
|
|
35
|
+
{ id: "member", header: "Member", accessor: "member", sortable: true, minWidth: "12rem" },
|
|
36
|
+
{ id: "role", header: "Role", accessor: "role", sortable: true, minWidth: "12rem" },
|
|
37
|
+
{
|
|
38
|
+
id: "team",
|
|
39
|
+
header: "Team",
|
|
40
|
+
accessor: "team",
|
|
41
|
+
sortable: true,
|
|
42
|
+
minWidth: "9rem",
|
|
43
|
+
cell: (row) => <Tag.Root>{row.team}</Tag.Root>,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "status",
|
|
47
|
+
header: "Status",
|
|
48
|
+
accessor: "status",
|
|
49
|
+
sortable: true,
|
|
50
|
+
minWidth: "8rem",
|
|
51
|
+
cell: (row) => (
|
|
52
|
+
<Badge.Root variant="status" status={mapStatusToBadge(row.status)} label={row.status}>
|
|
53
|
+
{row.status}
|
|
54
|
+
</Badge.Root>
|
|
55
|
+
),
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
function SizeRow({ size }: { size: DataTableSize }) {
|
|
60
|
+
return (
|
|
61
|
+
<>
|
|
62
|
+
<p className={styles.demoLabel}>size = {size}</p>
|
|
63
|
+
<DataTable.Root
|
|
64
|
+
className={styles.demoTable}
|
|
65
|
+
columns={columns}
|
|
66
|
+
rows={rows}
|
|
67
|
+
size={size}
|
|
68
|
+
pageSize={2}
|
|
69
|
+
paginationSize={size}
|
|
70
|
+
/>
|
|
71
|
+
</>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Соответствует `playground/snippets/data-table/sizes.tsx`. */
|
|
76
|
+
export default function DataTableSizesExample() {
|
|
77
|
+
return (
|
|
78
|
+
<>
|
|
79
|
+
<SizeRow size="s" />
|
|
80
|
+
<SizeRow size="m" />
|
|
81
|
+
<SizeRow size="l" />
|
|
82
|
+
<SizeRow size="xl" />
|
|
83
|
+
</>
|
|
84
|
+
);
|
|
85
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Badge, DataTable, type DataTableColumn, Tag } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
type InvoiceRow = {
|
|
4
|
+
id: string;
|
|
5
|
+
customer: string;
|
|
6
|
+
amount: number;
|
|
7
|
+
country: string;
|
|
8
|
+
status: "Paid" | "Pending" | "Overdue";
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const rows: InvoiceRow[] = [
|
|
12
|
+
{ id: "INV-1001", customer: "Monday Inc.", amount: 1240, country: "USA", status: "Paid" },
|
|
13
|
+
{ id: "INV-1002", customer: "Pixel Lab", amount: 860, country: "Germany", status: "Pending" },
|
|
14
|
+
{ id: "INV-1003", customer: "Stella Team", amount: 2910, country: "Spain", status: "Paid" },
|
|
15
|
+
{ id: "INV-1004", customer: "Nordic Grid", amount: 1490, country: "Sweden", status: "Pending" },
|
|
16
|
+
{ id: "INV-1005", customer: "Onboardly", amount: 480, country: "France", status: "Overdue" },
|
|
17
|
+
{ id: "INV-1006", customer: "Clever Peak", amount: 3010, country: "Canada", status: "Paid" },
|
|
18
|
+
{ id: "INV-1007", customer: "Nimbus", amount: 1980, country: "UK", status: "Pending" },
|
|
19
|
+
{ id: "INV-1008", customer: "Solar Crest", amount: 540, country: "Italy", status: "Overdue" },
|
|
20
|
+
{ id: "INV-1009", customer: "Edge Point", amount: 2270, country: "USA", status: "Paid" },
|
|
21
|
+
{ id: "INV-1010", customer: "Seven Loop", amount: 1750, country: "Poland", status: "Pending" },
|
|
22
|
+
{ id: "INV-1011", customer: "Mint Dash", amount: 900, country: "Japan", status: "Paid" },
|
|
23
|
+
{ id: "INV-1012", customer: "Blue Stone", amount: 1425, country: "Norway", status: "Overdue" },
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
function mapStatusToColor(status: InvoiceRow["status"]) {
|
|
27
|
+
if (status === "Paid") return "green";
|
|
28
|
+
if (status === "Overdue") return "red";
|
|
29
|
+
return "yellow";
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const columns: DataTableColumn<InvoiceRow>[] = [
|
|
33
|
+
{ id: "id", header: "Invoice", accessor: "id", sortable: true, minWidth: "8rem" },
|
|
34
|
+
{ id: "customer", header: "Customer", accessor: "customer", sortable: true, minWidth: "12rem" },
|
|
35
|
+
{
|
|
36
|
+
id: "amount",
|
|
37
|
+
header: "Amount",
|
|
38
|
+
accessor: "amount",
|
|
39
|
+
sortable: true,
|
|
40
|
+
align: "end",
|
|
41
|
+
cell: (row) => `$${row.amount.toLocaleString()}`,
|
|
42
|
+
minWidth: "7rem",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "country",
|
|
46
|
+
header: "Country",
|
|
47
|
+
accessor: "country",
|
|
48
|
+
sortable: true,
|
|
49
|
+
minWidth: "8rem",
|
|
50
|
+
cell: (row) => <Tag.Root>{row.country}</Tag.Root>,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "status",
|
|
54
|
+
header: "Status",
|
|
55
|
+
accessor: "status",
|
|
56
|
+
sortable: true,
|
|
57
|
+
minWidth: "8rem",
|
|
58
|
+
cell: (row) => (
|
|
59
|
+
<Badge.Root color={mapStatusToColor(row.status)} variant="light">
|
|
60
|
+
{row.status}
|
|
61
|
+
</Badge.Root>
|
|
62
|
+
),
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
/** Соответствует `playground/snippets/data-table/sorting-pagination.tsx`. */
|
|
67
|
+
export default function DataTableSortingPaginationExample() {
|
|
68
|
+
return (
|
|
69
|
+
<DataTable.Root
|
|
70
|
+
columns={columns}
|
|
71
|
+
rows={rows}
|
|
72
|
+
defaultSort={{ columnId: "amount", order: "desc" }}
|
|
73
|
+
pageSize={5}
|
|
74
|
+
/>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DataTable, type DataTableColumn } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples-demos.module.css";
|
|
4
|
+
|
|
5
|
+
type Row = { id: string; label: string };
|
|
6
|
+
|
|
7
|
+
const columns: DataTableColumn<Row>[] = [
|
|
8
|
+
{ id: "id", header: "Код", accessor: "id", minWidth: "6rem" },
|
|
9
|
+
{ id: "label", header: "Название", accessor: "label", minWidth: "12rem" },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
/** Соответствует `playground/snippets/data-table/states.tsx`. */
|
|
13
|
+
export default function DataTableStatesExample() {
|
|
14
|
+
return (
|
|
15
|
+
<div className={styles.statesStack}>
|
|
16
|
+
<div>
|
|
17
|
+
<p className={styles.leadTight}>
|
|
18
|
+
<code>loading</code> при пустом наборе строк: одна строка с <code>loadingText</code>.
|
|
19
|
+
</p>
|
|
20
|
+
<DataTable.Root
|
|
21
|
+
columns={columns}
|
|
22
|
+
rows={[]}
|
|
23
|
+
loading
|
|
24
|
+
loadingText="Загружаем справочник…"
|
|
25
|
+
showPagination={false}
|
|
26
|
+
pageSize={10}
|
|
27
|
+
/>
|
|
28
|
+
</div>
|
|
29
|
+
<div>
|
|
30
|
+
<p className={styles.leadTight}>
|
|
31
|
+
Пустой список: <code>emptyText</code> вместо строк данных.
|
|
32
|
+
</p>
|
|
33
|
+
<DataTable.Root
|
|
34
|
+
columns={columns}
|
|
35
|
+
rows={[]}
|
|
36
|
+
loading={false}
|
|
37
|
+
emptyText="Пока нет ни одной записи — добавьте первую через кнопку «Создать»."
|
|
38
|
+
showPagination={false}
|
|
39
|
+
pageSize={10}
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { DataTable, type DataTableColumn } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
import styles from "./examples-demos.module.css";
|
|
4
|
+
|
|
5
|
+
type ForecastRow = {
|
|
6
|
+
id: string;
|
|
7
|
+
metric: string;
|
|
8
|
+
q1: number;
|
|
9
|
+
q2: number;
|
|
10
|
+
q3: number;
|
|
11
|
+
q4: number;
|
|
12
|
+
plan: number;
|
|
13
|
+
fact: number;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const rows: ForecastRow[] = [
|
|
17
|
+
{ id: "r1", metric: "Revenue", q1: 1200, q2: 1280, q3: 1330, q4: 1410, plan: 5220, fact: 5105 },
|
|
18
|
+
{ id: "r2", metric: "COGS", q1: 530, q2: 560, q3: 575, q4: 610, plan: 2275, fact: 2290 },
|
|
19
|
+
{ id: "r3", metric: "Gross Profit", q1: 670, q2: 720, q3: 755, q4: 800, plan: 2945, fact: 2815 },
|
|
20
|
+
{ id: "r4", metric: "Marketing", q1: 190, q2: 205, q3: 215, q4: 230, plan: 840, fact: 875 },
|
|
21
|
+
{ id: "r5", metric: "R&D", q1: 160, q2: 170, q3: 180, q4: 190, plan: 700, fact: 710 },
|
|
22
|
+
{ id: "r6", metric: "G&A", q1: 120, q2: 124, q3: 128, q4: 133, plan: 505, fact: 498 },
|
|
23
|
+
{
|
|
24
|
+
id: "r7",
|
|
25
|
+
metric: "Operating Profit",
|
|
26
|
+
q1: 200,
|
|
27
|
+
q2: 221,
|
|
28
|
+
q3: 232,
|
|
29
|
+
q4: 247,
|
|
30
|
+
plan: 900,
|
|
31
|
+
fact: 732,
|
|
32
|
+
},
|
|
33
|
+
{ id: "r8", metric: "Tax", q1: 34, q2: 37, q3: 41, q4: 44, plan: 156, fact: 149 },
|
|
34
|
+
{ id: "r9", metric: "Net Profit", q1: 166, q2: 184, q3: 191, q4: 203, plan: 744, fact: 583 },
|
|
35
|
+
{
|
|
36
|
+
id: "r10",
|
|
37
|
+
metric: "Customers",
|
|
38
|
+
q1: 1240,
|
|
39
|
+
q2: 1310,
|
|
40
|
+
q3: 1425,
|
|
41
|
+
q4: 1560,
|
|
42
|
+
plan: 5535,
|
|
43
|
+
fact: 5440,
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
const columns: DataTableColumn<ForecastRow>[] = [
|
|
48
|
+
{ id: "metric", header: "Metric", accessor: "metric", sortable: true, minWidth: "13rem" },
|
|
49
|
+
{ id: "q1", header: "Q1", accessor: "q1", sortable: true, align: "end", minWidth: "7rem" },
|
|
50
|
+
{ id: "q2", header: "Q2", accessor: "q2", sortable: true, align: "end", minWidth: "7rem" },
|
|
51
|
+
{ id: "q3", header: "Q3", accessor: "q3", sortable: true, align: "end", minWidth: "7rem" },
|
|
52
|
+
{ id: "q4", header: "Q4", accessor: "q4", sortable: true, align: "end", minWidth: "7rem" },
|
|
53
|
+
{ id: "plan", header: "Plan", accessor: "plan", sortable: true, align: "end", minWidth: "8rem" },
|
|
54
|
+
{ id: "fact", header: "Fact", accessor: "fact", sortable: true, align: "end", minWidth: "8rem" },
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
function money(value: number): string {
|
|
58
|
+
return value.toLocaleString("en-US");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const formattedColumns: DataTableColumn<ForecastRow>[] = columns.map((column) => {
|
|
62
|
+
if (column.id === "metric") return column;
|
|
63
|
+
return {
|
|
64
|
+
...column,
|
|
65
|
+
cell: (row) => money(row[column.id as keyof ForecastRow] as number),
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
function DemoBlock({
|
|
70
|
+
title,
|
|
71
|
+
showHeader,
|
|
72
|
+
stickyHeader,
|
|
73
|
+
stickyFirstColumn,
|
|
74
|
+
}: {
|
|
75
|
+
title: string;
|
|
76
|
+
showHeader?: boolean;
|
|
77
|
+
stickyHeader?: boolean;
|
|
78
|
+
stickyFirstColumn?: boolean;
|
|
79
|
+
}) {
|
|
80
|
+
return (
|
|
81
|
+
<>
|
|
82
|
+
<p className={styles.demoLabel}>{title}</p>
|
|
83
|
+
<DataTable.Root
|
|
84
|
+
className={styles.demoTable}
|
|
85
|
+
columns={formattedColumns}
|
|
86
|
+
rows={rows}
|
|
87
|
+
showHeader={showHeader}
|
|
88
|
+
stickyHeader={stickyHeader}
|
|
89
|
+
stickyFirstColumn={stickyFirstColumn}
|
|
90
|
+
showPagination={false}
|
|
91
|
+
scrollHeight={220}
|
|
92
|
+
infiniteScroll
|
|
93
|
+
initialVisibleRows={10}
|
|
94
|
+
/>
|
|
95
|
+
</>
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/** Соответствует `playground/snippets/data-table/sticky-and-headers.tsx`. */
|
|
100
|
+
export default function DataTableStickyAndHeadersExample() {
|
|
101
|
+
return (
|
|
102
|
+
<>
|
|
103
|
+
<DemoBlock title="showHeader = false (верхняя шапка скрыта)" showHeader={false} />
|
|
104
|
+
<DemoBlock title="stickyHeader = true (липкая верхняя шапка)" stickyHeader />
|
|
105
|
+
<DemoBlock title="stickyFirstColumn = true (липкая первая колонка слева)" stickyFirstColumn />
|
|
106
|
+
<DemoBlock
|
|
107
|
+
title="stickyHeader + stickyFirstColumn (как в Excel)"
|
|
108
|
+
stickyHeader
|
|
109
|
+
stickyFirstColumn
|
|
110
|
+
/>
|
|
111
|
+
</>
|
|
112
|
+
);
|
|
113
|
+
}
|
|
@@ -26,15 +26,38 @@ Composite pieces for picking a calendar date or range: a size-aware shell, a day
|
|
|
26
26
|
|
|
27
27
|
## Extended
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
- **Birthdate** — **`mode="single"`**; disable future days with react-day-picker **`disabled`** (for example `date >= startOfTomorrow()` from date-fns). Show a human-readable line with **`Datepicker.Value`**. Open the month near a sensible default (for example year **2000**) when no value yet. Reference: **`examples/birthdate.tsx`** (`BirthdateSingleExample`).
|
|
31
|
-
- **Range (reports / filters)** — **`mode="range"`** with **`numberOfMonths={2}`** or **`responsiveMonths`** for width-driven columns; presets for “this month / last month / last N days”. Reference: **`examples/range-report.tsx`** (`ReportRangeExample`).
|
|
32
|
-
- **Full-width form field** — **`Button.Root fullWidth`** as **`Popover.Trigger`**; widen **`Popover.Content`** (for example `min-w-[min(100vw-2rem,36rem)]` when your app uses Tailwind) and **`Datepicker.Shell className="min-w-0"`** so **`responsiveMonths`** measures correctly. Reference: **`examples/full-width-form.tsx`** (`FullWidthFormDateExample`).
|
|
29
|
+
### Playground snippets
|
|
33
30
|
|
|
34
|
-
|
|
31
|
+
Demos match **`playground/sections/DatepickerSection.tsx`** (order and intent). Sources use `@/` imports under **`playground/snippets/datepicker/`**:
|
|
32
|
+
|
|
33
|
+
| Block | File | What it shows |
|
|
34
|
+
|-------|------|----------------|
|
|
35
|
+
| **Sizes** | [`sizes.tsx`](../../../playground/snippets/datepicker/sizes.tsx) (+ [`sizes.module.css`](../../../playground/snippets/datepicker/sizes.module.css)) | Four **`Datepicker.Shell`** / **`Calendar`** **`size`** values (**`s`**–**`xl`**), each in its own **`Popover`**. |
|
|
36
|
+
| **Variants and modes** | [`variants-modes.tsx`](../../../playground/snippets/datepicker/variants-modes.tsx) (+ [`sizes.module.css`](../../../playground/snippets/datepicker/sizes.module.css)) | **`mode="single"`** vs **`mode="range"`** with separate triggers. |
|
|
37
|
+
| **States** | [`states.tsx`](../../../playground/snippets/datepicker/states.tsx) | **`disabled`** by day of week; **`Calendar`** + **`Datepicker.Time`** (time inputs disabled until a date exists). |
|
|
38
|
+
| **Responsive months** | [`responsive-months.tsx`](../../../playground/snippets/datepicker/responsive-months.tsx) | **`responsiveMonths`**, **`responsiveBreakpoints`**; preview uses **`examplePreviewBleed`** for container width. |
|
|
39
|
+
| **Controlled value** | [`controlled-value.tsx`](../../../playground/snippets/datepicker/controlled-value.tsx) | Controlled **`selected`** / **`onSelect`**; **`Datepicker.Value`**; popover closes after a date is chosen. |
|
|
40
|
+
| **Composition** | [`composition.tsx`](../../../playground/snippets/datepicker/composition.tsx) | **`Shell`** **`presets`**, **`Calendar`**, **`Time`**, **`Value`** in one panel; shared parent state. |
|
|
41
|
+
| **Full width** | [`full-width.tsx`](../../../playground/snippets/datepicker/full-width.tsx) | Wide **`Popover.Content`** and **`Datepicker.Shell className="min-w-0"`** with **`responsiveMonths`**. |
|
|
42
|
+
| **Trigger with icon** | [`popover.tsx`](../../../playground/snippets/datepicker/popover.tsx) | Calendar icon on **`Popover.Trigger`**; close after single-date select. |
|
|
43
|
+
| **Range presets + time** | [`range-presets-time.tsx`](../../../playground/snippets/datepicker/range-presets-time.tsx) | **`mode="range"`** on **`Calendar`** and **`Presets`**; **`Datepicker.Time`** with **`mode="range"`**. |
|
|
44
|
+
|
|
45
|
+
### Scenarios (recipes)
|
|
46
|
+
|
|
47
|
+
Runnable **`prime-ui-kit`** examples under **`examples/`** (type-checked with the library build). Copy into your app and wire spacing/theme (see [Label](../label/COMPONENT.md) for the label primitive).
|
|
48
|
+
|
|
49
|
+
| Scenario | File |
|
|
50
|
+
|----------|------|
|
|
51
|
+
| **Booking (stay + time)** — **`mode="range"`** on **`Calendar`** and **`Presets`**, **`Datepicker.Time`** **`mode="range"`**; presets for short stays and windows | [`booking.tsx`](./examples/booking.tsx) (`BookingDateRangeExample`) |
|
|
52
|
+
| **Birthdate** — **`mode="single"`**, **`disabled`** for future days, **`Datepicker.Value`**, default month near a sensible year when empty | [`birthdate.tsx`](./examples/birthdate.tsx) (`BirthdateSingleExample`) |
|
|
53
|
+
| **Range (reports / filters)** — **`numberOfMonths={2}`** or **`responsiveMonths`**; presets such as this month / last month / last N days | [`range-report.tsx`](./examples/range-report.tsx) (`ReportRangeExample`) |
|
|
54
|
+
| **Full-width form field** — **`Button.Root fullWidth`** as **`Popover.Trigger`**; wide **`Popover.Content`** and **`Shell className="min-w-0"`** | [`full-width-form.tsx`](./examples/full-width-form.tsx) (`FullWidthFormDateExample`) |
|
|
55
|
+
|
|
56
|
+
Snippet-level demos (internal **`@/`** imports) are listed in **Playground snippets** above.
|
|
35
57
|
|
|
36
58
|
## LLM note
|
|
37
59
|
|
|
60
|
+
- Playground order and copy mirror **`playground/sections/DatepickerSection.tsx`**; runnable snippet sources live in **`playground/snippets/datepicker/`**.
|
|
38
61
|
- Always compose **`Datepicker.Shell` → `Datepicker.Calendar`** at minimum; never use **`Calendar` without `Shell`** in real UIs if you rely on **`size`** context (default **`m`** on `Shell`).
|
|
39
62
|
- For overlays, default to **[Popover](../popover/COMPONENT.md)** with **`insetPadding="none"`** on content unless the design system specifies otherwise.
|
|
40
63
|
- **Controlled state:** bind **`selected`** and **`onSelect`** from react-day-picker; for range, state type is **`DateRange | undefined`**.
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
- **Размер ячеек:** **`size`**: `"s"` \| `"m"` \| `"l"` \| `"xl"` (по умолчанию **`m`**).
|
|
11
11
|
- **Режимы:** контролируемый (`value` + `onChange`) или неконтролируемый (`defaultValue`); опционально **`onComplete`**, **`disabled`**, **`hasError`**, **`className`**.
|
|
12
12
|
- **Подписи и ошибки:** снаружи — [Label](../label/COMPONENT.md), [Hint](../hint/COMPONENT.md); встроенных слотов нет.
|
|
13
|
-
-
|
|
13
|
+
- **Playground:** секция **`playground/sections/DigitInputSection.tsx`**; исходники демо — **`playground/snippets/digit-input/*.tsx`** (импорты **`@/`**). Сниппеты **`playground/snippets/slider-digit/`** относятся к **Slider** с режимом «цифры», а не к **DigitInput**.
|
|
14
|
+
- **Примеры для копирования:** [`examples/`](./examples/) — продуктовые сценарии и зеркала сниппетов с импортом **`prime-ui-kit`**.
|
|
14
15
|
|
|
15
16
|
## Extended
|
|
16
17
|
|
|
@@ -26,6 +27,18 @@
|
|
|
26
27
|
- **Do not use** for free-form numbers (amounts, phone as one field); this component is fixed-length, one digit per slot.
|
|
27
28
|
- **Do not expect** arrow keys to move between cells; only typing, Backspace on an empty cell, and pointer focus apply.
|
|
28
29
|
|
|
30
|
+
### Playground snippets
|
|
31
|
+
|
|
32
|
+
Демо совпадают по порядку и смыслу с **`playground/sections/DigitInputSection.tsx`**. В сниппетах — импорты **`@/`**; зеркальные рецепты с **`prime-ui-kit`** — в **`examples/`** (та же разметка и пропы, раскладка через простой column flex и токены отступов).
|
|
33
|
+
|
|
34
|
+
| Блок | Сниппет | Зеркало в `examples/` |
|
|
35
|
+
| ---- | ------- | ---------------------- |
|
|
36
|
+
| **Размеры** | [`sizes.tsx`](../../../playground/snippets/digit-input/sizes.tsx) | [`sizes.tsx`](./examples/sizes.tsx) — **`size`** **`s`**, **`m`**, **`l`**, **`xl`** при **`length={4}`** и одинаковом **`defaultValue`** для сравнения масштаба. |
|
|
37
|
+
| **Состояния** | [`states.tsx`](../../../playground/snippets/digit-input/states.tsx) | [`states.tsx`](./examples/states.tsx) — без флагов, **`hasError`**, **`disabled`**. |
|
|
38
|
+
| **Контролируемый режим** | [`controlled.tsx`](../../../playground/snippets/digit-input/controlled.tsx) | [`controlled.tsx`](./examples/controlled.tsx) — **`value`** + **`onChange`**, подпись со строкой и счётчиком **`(n/4)`**. |
|
|
39
|
+
| **Композиция** | [`composition.tsx`](../../../playground/snippets/digit-input/composition.tsx) | [`composition.tsx`](./examples/composition.tsx) — **[Label](../label/COMPONENT.md)** + **DigitInput** + **[Hint](../hint/COMPONENT.md)** без слотов на корне. |
|
|
40
|
+
| **Специфичные фичи** | [`features.tsx`](../../../playground/snippets/digit-input/features.tsx) | [`features.tsx`](./examples/features.tsx) — разные **`length`** / **`defaultValue`**, демо **`onComplete`** после последней цифры. |
|
|
41
|
+
|
|
29
42
|
### Composition
|
|
30
43
|
|
|
31
44
|
- Public API is **`DigitInput.Root` only** (`DigitInput = { Root }`). There are no inner slots (`Label`, `Icon`, etc.) on this component.
|
|
@@ -42,7 +55,9 @@ export function OneTimeCode() {
|
|
|
42
55
|
}
|
|
43
56
|
```
|
|
44
57
|
|
|
45
|
-
###
|
|
58
|
+
### Scenarios (recipes)
|
|
59
|
+
|
|
60
|
+
Продуктовые сценарии (импорт **`prime-ui-kit`**). Для построчного соответствия демо плейграунда см. **Playground snippets** выше.
|
|
46
61
|
|
|
47
62
|
| Сценарий | Файл |
|
|
48
63
|
| -------- | ---- |
|
|
@@ -66,6 +81,7 @@ export function OneTimeCode() {
|
|
|
66
81
|
|
|
67
82
|
## LLM note
|
|
68
83
|
|
|
84
|
+
- Для разметки и комбинаций пропов сначала смотри **`playground/snippets/digit-input/*.tsx`** и зеркала **`examples/sizes.tsx`**, **`states.tsx`**, **`controlled.tsx`**, **`composition.tsx`**, **`features.tsx`**.
|
|
69
85
|
- Нормализация: в **`value` / `onChange` / paste** нецифровые символы **удаляются**, строка **обрезается** до **`length`**. Алфавитно-цифровые коды **не поддерживаются**.
|
|
70
86
|
- **`onComplete(value)`** вызывается **один раз**, когда длина строки **впервые** стала **`length`**, будучи до этого **меньше**; при редактировании уже полной строки без укорочения **не** вызывается снова.
|
|
71
87
|
- **Backspace** на **пустой** ячейке только **переносит фокус** назад; **не** стирает предыдущую цифру автоматически.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DigitInput, Hint, Label } from "prime-ui-kit";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Подпись и подсказка рядом с группой ячеек — типичный блок ввода кода в форме.
|
|
5
|
+
* Паритет с `playground/snippets/digit-input/composition.tsx`.
|
|
6
|
+
*/
|
|
7
|
+
export default function DigitInputCompositionExample() {
|
|
8
|
+
return (
|
|
9
|
+
<div
|
|
10
|
+
style={{
|
|
11
|
+
display: "flex",
|
|
12
|
+
flexDirection: "column",
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
gap: "var(--prime-sys-spacing-m)",
|
|
15
|
+
}}
|
|
16
|
+
>
|
|
17
|
+
<Label.Root size="m">Код из сообщения</Label.Root>
|
|
18
|
+
<DigitInput.Root length={4} size="m" />
|
|
19
|
+
<Hint.Root size="m" variant="default">
|
|
20
|
+
Вставьте код из буфера: цифры распределятся по ячейкам с текущей позиции.
|
|
21
|
+
</Hint.Root>
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DigitInput } from "prime-ui-kit";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Значение держит родитель: `value` и `onChange`; подпись показывает прогресс заполнения.
|
|
6
|
+
* Паритет с `playground/snippets/digit-input/controlled.tsx`.
|
|
7
|
+
*/
|
|
8
|
+
export default function DigitInputControlledExample() {
|
|
9
|
+
const [code, setCode] = React.useState("");
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<div
|
|
13
|
+
style={{
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "column",
|
|
16
|
+
gap: "var(--prime-sys-spacing-s)",
|
|
17
|
+
alignItems: "flex-start",
|
|
18
|
+
}}
|
|
19
|
+
>
|
|
20
|
+
<DigitInput.Root length={4} value={code} onChange={setCode} />
|
|
21
|
+
<p style={{ margin: 0 }}>
|
|
22
|
+
Собранная строка: {code.length > 0 ? code : "пусто"} ({code.length}/4)
|
|
23
|
+
</p>
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|