prime-ui-kit 0.5.1 → 0.7.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 +11 -2
- package/dist/components/accordion/examples/02-settings-panels.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/app-header-nav.d.ts.map +1 -1
- package/dist/components/avatar/examples/src-from-state.d.ts.map +1 -1
- package/dist/components/banner/examples/cookie-consent-row.d.ts.map +1 -1
- package/dist/components/banner/examples/feature-promo.d.ts.map +1 -1
- package/dist/components/checkbox/examples/bulk-select-rows.d.ts.map +1 -1
- package/dist/components/checkbox/examples/empty-label-form.d.ts.map +1 -1
- package/dist/components/checkbox/examples/feature-flags-list.d.ts.map +1 -1
- package/dist/components/checkbox/examples/settings-panel.d.ts.map +1 -1
- package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/color-picker/ColorPickerRac.d.ts.map +1 -1
- package/dist/components/color-picker/examples/controlled-form-field.d.ts.map +1 -1
- package/dist/components/color-picker/examples/theme-accent.d.ts.map +1 -1
- package/dist/components/command-menu/examples/composition-tags-footer.d.ts.map +1 -1
- package/dist/components/command-menu/examples/variants-density-items.d.ts.map +1 -1
- package/dist/components/datepicker/examples/full-width-form.d.ts.map +1 -1
- package/dist/components/digit-input/examples/error-state.d.ts.map +1 -1
- package/dist/components/digit-input/examples/resend-and-clear.d.ts.map +1 -1
- package/dist/components/divider/examples/section-breaks.d.ts.map +1 -1
- package/dist/components/dropdown/Dropdown.d.ts +0 -14
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/dropdown/examples/account-menu.d.ts.map +1 -1
- package/dist/components/dropdown/examples/actions-menu.d.ts.map +1 -1
- package/dist/components/dropdown/examples/full-width.d.ts.map +1 -1
- package/dist/components/empty-page/EmptyPage.d.ts +63 -0
- package/dist/components/empty-page/EmptyPage.d.ts.map +1 -0
- package/dist/components/empty-page/examples/canonical.d.ts +3 -0
- package/dist/components/empty-page/examples/canonical.d.ts.map +1 -0
- package/dist/components/empty-page/examples/sizes.d.ts +3 -0
- package/dist/components/empty-page/examples/sizes.d.ts.map +1 -0
- package/dist/components/empty-page/examples/table-region.d.ts +6 -0
- package/dist/components/empty-page/examples/table-region.d.ts.map +1 -0
- package/dist/components/hint/examples/a11y-describedby.d.ts.map +1 -1
- package/dist/components/hint/examples/error-hint.d.ts.map +1 -1
- package/dist/components/hint/examples/field-help.d.ts.map +1 -1
- package/dist/components/hint/examples/field-states.d.ts.map +1 -1
- package/dist/components/hint/examples/inline-tip-form.d.ts.map +1 -1
- package/dist/components/hint/examples/success-confirmation.d.ts.map +1 -1
- package/dist/components/hint/examples/variants.d.ts.map +1 -1
- package/dist/components/index.css +278 -115
- package/dist/components/index.css.map +4 -4
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +376 -356
- package/dist/components/index.js.map +4 -4
- package/dist/components/input/examples/login-email.d.ts.map +1 -1
- package/dist/components/input/examples/search.d.ts.map +1 -1
- package/dist/components/link-button/examples/disabled.d.ts.map +1 -1
- package/dist/components/link-button/examples/external.d.ts.map +1 -1
- package/dist/components/link-button/examples/inline-text-link.d.ts.map +1 -1
- package/dist/components/link-button/examples/navigation-cluster.d.ts.map +1 -1
- package/dist/components/modal/examples/pattern-controlled.d.ts.map +1 -1
- package/dist/components/modal/examples/pattern-portal-and-scroll.d.ts.map +1 -1
- package/dist/components/modal/examples/scenario-multi-field-form.d.ts.map +1 -1
- package/dist/components/notification/examples/action-toast.d.ts.map +1 -1
- package/dist/components/notification/examples/error-success.d.ts.map +1 -1
- package/dist/components/popover/Popover.d.ts +3 -3
- package/dist/components/popover/Popover.d.ts.map +1 -1
- package/dist/components/popover/examples/composition.d.ts +1 -1
- package/dist/components/popover/examples/date-trigger.d.ts.map +1 -1
- package/dist/components/popover/examples/features.d.ts.map +1 -1
- package/dist/components/popover/examples/form-in-popover.d.ts.map +1 -1
- package/dist/components/popover/examples/full-width.d.ts.map +1 -1
- package/dist/components/popover/examples/placement.d.ts.map +1 -1
- package/dist/components/popover/examples/rich-content.d.ts.map +1 -1
- package/dist/components/popover/examples/sizes.d.ts +1 -1
- package/dist/components/progress-bar/examples/step-progress.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/dashboard-ring.d.ts.map +1 -1
- package/dist/components/progress-circle/examples/states.d.ts.map +1 -1
- package/dist/components/radio/examples/plan-picker.d.ts.map +1 -1
- package/dist/components/segmented-control/examples/pricing-toggle.d.ts.map +1 -1
- package/dist/components/segmented-control/examples/view-mode.d.ts.map +1 -1
- package/dist/components/select/examples/01-country.d.ts.map +1 -1
- package/dist/components/select/examples/02-controlled.d.ts.map +1 -1
- package/dist/components/select/examples/03-groups.d.ts.map +1 -1
- package/dist/components/select/examples/04-full-width-form.d.ts.map +1 -1
- package/dist/components/switch/examples/composition.d.ts.map +1 -1
- package/dist/components/switch/examples/scenario-feature-flag.d.ts.map +1 -1
- package/dist/components/tabs/examples/01-settings-vertical-rail.d.ts.map +1 -1
- package/dist/components/tag/examples/controlled.d.ts.map +1 -1
- package/dist/components/textarea/examples/01-support-ticket.d.ts.map +1 -1
- package/dist/components/textarea/examples/02-comment.d.ts.map +1 -1
- package/dist/components/textarea/examples/controlled.d.ts.map +1 -1
- package/dist/components/textarea/examples/features.d.ts.map +1 -1
- package/dist/components/tooltip/examples/composition.d.ts.map +1 -1
- package/dist/index.css +278 -115
- package/dist/index.css.map +4 -4
- package/dist/index.js +378 -357
- package/dist/index.js.map +4 -4
- package/dist/internal/states.d.ts +2 -0
- package/dist/internal/states.d.ts.map +1 -1
- package/dist/layout/app-shell/AppShell.d.ts +0 -8
- package/dist/layout/app-shell/AppShell.d.ts.map +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/sidebar/examples/01-app-shell-nav.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/accordion/COMPONENT.md +1 -1
- package/src/components/accordion/examples/01-faq-marketing.tsx +1 -1
- package/src/components/accordion/examples/02-settings-panels.tsx +1 -6
- package/src/components/accordion/examples/03-checkout-order-summary.tsx +1 -1
- package/src/components/accordion/examples/04-api-docs-sections.tsx +0 -1
- package/src/components/accordion/examples/05-knowledge-base-categories.tsx +1 -7
- package/src/components/avatar/COMPONENT.md +2 -2
- package/src/components/avatar/examples/app-header-nav.tsx +5 -13
- package/src/components/avatar/examples/comment-thread.tsx +1 -1
- package/src/components/avatar/examples/src-from-state.tsx +0 -1
- package/src/components/badge/examples/admin-tags.tsx +6 -6
- package/src/components/badge/examples/ecommerce-inventory.tsx +5 -5
- package/src/components/badge/examples/inbox-labels.tsx +5 -5
- package/src/components/badge/examples/status-presence.tsx +4 -4
- package/src/components/banner/examples/controlled-visibility.tsx +1 -1
- package/src/components/banner/examples/cookie-consent-row.tsx +0 -1
- package/src/components/banner/examples/feature-promo.tsx +0 -1
- package/src/components/button/examples/canonical-composition.tsx +4 -4
- package/src/components/button/examples/destructive-confirm.tsx +3 -3
- package/src/components/button/examples/form-submit-row.tsx +2 -2
- package/src/components/button/examples/full-width-stack.tsx +2 -2
- package/src/components/button/examples/icon-composition.tsx +6 -6
- package/src/components/button/examples/toolbar.tsx +4 -4
- package/src/components/button-group/COMPONENT.md +1 -1
- package/src/components/button-group/examples/editor-toolbar.tsx +1 -1
- package/src/components/button-group/examples/form-footer.tsx +1 -1
- package/src/components/button-group/examples/full-width.tsx +1 -1
- package/src/components/button-group/examples/view-switcher.tsx +1 -1
- package/src/components/button-group/examples/wizard-actions.tsx +1 -1
- package/src/components/checkbox/examples/bulk-select-rows.tsx +0 -2
- package/src/components/checkbox/examples/empty-label-form.tsx +1 -2
- package/src/components/checkbox/examples/feature-flags-list.tsx +0 -1
- package/src/components/checkbox/examples/settings-panel.tsx +1 -4
- package/src/components/color-picker/COMPONENT.md +2 -2
- package/src/components/color-picker/examples/brand-kit.tsx +3 -3
- package/src/components/color-picker/examples/controlled-form-field.tsx +4 -6
- package/src/components/color-picker/examples/field-eyedropper.tsx +2 -2
- package/src/components/color-picker/examples/format-variants.tsx +2 -2
- package/src/components/color-picker/examples/full-width.tsx +2 -2
- package/src/components/color-picker/examples/minimal-popover.tsx +2 -2
- package/src/components/color-picker/examples/panel-placement.tsx +4 -4
- package/src/components/color-picker/examples/product-variant-swatch.tsx +2 -2
- package/src/components/color-picker/examples/readout-trigger.tsx +2 -2
- package/src/components/color-picker/examples/states.tsx +4 -4
- package/src/components/color-picker/examples/theme-accent.tsx +2 -7
- package/src/components/command-menu/examples/app-palette.tsx +1 -1
- package/src/components/command-menu/examples/composition-tags-footer.tsx +2 -7
- package/src/components/command-menu/examples/controlled-open-search.tsx +1 -1
- package/src/components/command-menu/examples/disabled-items.tsx +1 -1
- package/src/components/command-menu/examples/file-search.tsx +1 -1
- package/src/components/command-menu/examples/full-width-panel.tsx +1 -1
- package/src/components/command-menu/examples/item-icon-as.tsx +1 -1
- package/src/components/command-menu/examples/quick-actions.tsx +1 -1
- package/src/components/command-menu/examples/variants-density-items.tsx +2 -4
- package/src/components/data-table/COMPONENT.md +2 -0
- package/src/components/datepicker/examples/birthdate.tsx +2 -2
- package/src/components/datepicker/examples/booking.tsx +2 -2
- package/src/components/datepicker/examples/full-width-form.tsx +3 -10
- package/src/components/datepicker/examples/range-report.tsx +2 -2
- package/src/components/digit-input/examples/composition.tsx +3 -3
- package/src/components/digit-input/examples/error-state.tsx +3 -5
- package/src/components/digit-input/examples/otp-login.tsx +3 -3
- package/src/components/digit-input/examples/resend-and-clear.tsx +3 -9
- package/src/components/digit-input/examples/verification-step.tsx +4 -4
- package/src/components/divider/examples/card-splits.tsx +2 -2
- package/src/components/divider/examples/inset-stack.tsx +1 -1
- package/src/components/divider/examples/line-spacing-column.tsx +3 -3
- package/src/components/divider/examples/section-breaks.tsx +2 -6
- package/src/components/drawer/COMPONENT.md +1 -1
- package/src/components/drawer/examples/cart-preview.tsx +4 -4
- package/src/components/drawer/examples/explicit-panel.tsx +3 -3
- package/src/components/drawer/examples/filters-panel.tsx +7 -7
- package/src/components/drawer/examples/mobile-nav-sheet.tsx +3 -3
- package/src/components/drawer/examples/settings-side.tsx +6 -6
- package/src/components/dropdown/COMPONENT.md +5 -18
- package/src/components/dropdown/examples/account-menu.tsx +31 -33
- package/src/components/dropdown/examples/actions-menu.tsx +0 -1
- package/src/components/dropdown/examples/composition.tsx +1 -1
- package/src/components/dropdown/examples/controlled.tsx +1 -1
- package/src/components/dropdown/examples/dropdown-examples.module.css +0 -4
- package/src/components/dropdown/examples/full-width.tsx +0 -1
- package/src/components/dropdown/examples/select-like-list.tsx +1 -1
- package/src/components/dropdown/examples/states.tsx +1 -1
- package/src/components/dropdown/examples/variants.tsx +1 -1
- package/src/components/empty-page/COMPONENT.md +143 -0
- package/src/components/empty-page/examples/canonical.tsx +22 -0
- package/src/components/empty-page/examples/examples-demos.module.css +25 -0
- package/src/components/empty-page/examples/sizes.tsx +23 -0
- package/src/components/empty-page/examples/table-region.tsx +35 -0
- package/src/components/file-upload/examples/full-width.tsx +1 -1
- package/src/components/hint/examples/a11y-describedby.tsx +2 -4
- package/src/components/hint/examples/controlled-variant.tsx +1 -1
- package/src/components/hint/examples/error-hint.tsx +3 -5
- package/src/components/hint/examples/field-help.tsx +3 -5
- package/src/components/hint/examples/field-states.tsx +9 -19
- package/src/components/hint/examples/inline-tip-form.tsx +6 -10
- package/src/components/hint/examples/success-confirmation.tsx +3 -5
- package/src/components/hint/examples/variants.tsx +3 -9
- package/src/components/hint/examples/with-icon.tsx +1 -1
- package/src/components/input/examples/affix-url-and-amount.tsx +2 -2
- package/src/components/input/examples/checkout-full-width.tsx +2 -2
- package/src/components/input/examples/login-email.tsx +1 -5
- package/src/components/input/examples/password-with-hint.tsx +1 -1
- package/src/components/input/examples/search.tsx +0 -1
- package/src/components/kbd/examples/composition-chord-icon.tsx +1 -1
- package/src/components/kbd/examples/toolbar-hints.tsx +2 -2
- package/src/components/label/examples/with-icon.tsx +1 -1
- package/src/components/link-button/COMPONENT.md +1 -1
- package/src/components/link-button/examples/composition.tsx +3 -3
- package/src/components/link-button/examples/disabled.tsx +2 -4
- package/src/components/link-button/examples/external.tsx +1 -6
- package/src/components/link-button/examples/inline-text-link.tsx +2 -4
- package/src/components/link-button/examples/navigation-cluster.tsx +4 -12
- package/src/components/modal/COMPONENT.md +4 -4
- package/src/components/modal/examples/canonical-maximal.tsx +4 -4
- package/src/components/modal/examples/pattern-close-behavior.tsx +3 -3
- package/src/components/modal/examples/pattern-controlled.tsx +3 -5
- package/src/components/modal/examples/pattern-full-width-footer.tsx +3 -3
- package/src/components/modal/examples/pattern-portal-and-scroll.tsx +3 -5
- package/src/components/modal/examples/scenario-confirm-delete.tsx +3 -3
- package/src/components/modal/examples/scenario-edit-entity.tsx +4 -4
- package/src/components/modal/examples/scenario-legal-consent.tsx +2 -2
- package/src/components/modal/examples/scenario-multi-field-form.tsx +7 -13
- package/src/components/notification/examples/action-toast.tsx +0 -2
- package/src/components/notification/examples/error-success.tsx +0 -2
- package/src/components/page-content/COMPONENT.md +10 -5
- package/src/components/popover/COMPONENT.md +1 -1
- package/src/components/popover/examples/as-child.tsx +1 -1
- package/src/components/popover/examples/canonical-panel.tsx +2 -2
- package/src/components/popover/examples/composition.tsx +7 -7
- package/src/components/popover/examples/controlled.tsx +4 -4
- package/src/components/popover/examples/date-trigger.tsx +3 -10
- package/src/components/popover/examples/features.tsx +6 -13
- package/src/components/popover/examples/form-in-popover.tsx +5 -13
- package/src/components/popover/examples/full-width.tsx +2 -9
- package/src/components/popover/examples/inset-variants.tsx +6 -6
- package/src/components/popover/examples/placement.tsx +2 -7
- package/src/components/popover/examples/rich-content.tsx +6 -8
- package/src/components/popover/examples/sizes.tsx +5 -5
- package/src/components/popover/examples/states.tsx +4 -4
- package/src/components/progress-bar/examples/indeterminate-busy-state.tsx +1 -1
- package/src/components/progress-bar/examples/step-progress.tsx +0 -1
- package/src/components/progress-bar/examples/upload-progress.tsx +1 -1
- package/src/components/progress-bar/examples/wizard-composition.tsx +1 -1
- package/src/components/progress-circle/examples/a11y-label.tsx +1 -1
- package/src/components/progress-circle/examples/composition.tsx +2 -2
- package/src/components/progress-circle/examples/dashboard-ring.tsx +1 -6
- package/src/components/progress-circle/examples/max-scale.tsx +3 -3
- package/src/components/progress-circle/examples/states.tsx +5 -13
- package/src/components/radio/examples/notification-channel.tsx +3 -3
- package/src/components/radio/examples/plan-picker.tsx +0 -3
- package/src/components/radio/examples/settings-group.tsx +4 -4
- package/src/components/radio/examples/shipping-method.tsx +3 -3
- package/src/components/segmented-control/examples/canonical-composition.tsx +7 -7
- package/src/components/segmented-control/examples/composition.tsx +7 -7
- package/src/components/segmented-control/examples/features.tsx +3 -3
- package/src/components/segmented-control/examples/full-width.tsx +1 -1
- package/src/components/segmented-control/examples/pricing-toggle.tsx +0 -1
- package/src/components/segmented-control/examples/states.tsx +3 -3
- package/src/components/segmented-control/examples/view-mode.tsx +0 -1
- package/src/components/segmented-progress-bar/examples/size-ladder.tsx +1 -1
- package/src/components/select/COMPONENT.md +3 -3
- package/src/components/select/examples/01-country.tsx +2 -4
- package/src/components/select/examples/02-controlled.tsx +2 -4
- package/src/components/select/examples/03-groups.tsx +2 -4
- package/src/components/select/examples/04-full-width-form.tsx +4 -8
- package/src/components/select/examples/pattern-composition.tsx +1 -1
- package/src/components/select/examples/pattern-controlled.tsx +1 -1
- package/src/components/select/examples/pattern-features.tsx +1 -1
- package/src/components/select/examples/pattern-full-width.tsx +1 -1
- package/src/components/select/examples/pattern-native.tsx +1 -1
- package/src/components/select/examples/pattern-states.tsx +4 -4
- package/src/components/slider/COMPONENT.md +1 -1
- package/src/components/stepper/COMPONENT.md +1 -1
- package/src/components/stepper/examples/01-checkout-horizontal.tsx +1 -1
- package/src/components/stepper/examples/02-onboarding-vertical.tsx +1 -1
- package/src/components/stepper/examples/03-vertical-primitive-rail.tsx +1 -1
- package/src/components/stepper/examples/04-checkout-step-error.tsx +1 -1
- package/src/components/stepper/examples/05-horizontal-primitive.tsx +1 -1
- package/src/components/switch/COMPONENT.md +1 -1
- package/src/components/switch/examples/canonical-maximal.tsx +1 -1
- package/src/components/switch/examples/composition.tsx +1 -2
- package/src/components/switch/examples/controlled.tsx +1 -1
- package/src/components/switch/examples/full-width.tsx +1 -1
- package/src/components/switch/examples/scenario-billing-annual.tsx +1 -1
- package/src/components/switch/examples/scenario-feature-flag.tsx +1 -6
- package/src/components/switch/examples/scenario-settings-toggle.tsx +3 -3
- package/src/components/switch/examples/states.tsx +6 -6
- package/src/components/switch/examples/variants.tsx +2 -2
- package/src/components/tabs/COMPONENT.md +1 -1
- package/src/components/tabs/examples/01-settings-vertical-rail.tsx +1 -6
- package/src/components/tag/COMPONENT.md +1 -1
- package/src/components/tag/examples/01-filter-chips.tsx +1 -1
- package/src/components/tag/examples/02-removable-selected-values.tsx +1 -1
- package/src/components/tag/examples/03-status-metadata.tsx +3 -3
- package/src/components/tag/examples/controlled.tsx +1 -6
- package/src/components/tag/examples/removable.tsx +1 -1
- package/src/components/textarea/examples/01-support-ticket.tsx +0 -1
- package/src/components/textarea/examples/02-comment.tsx +1 -2
- package/src/components/textarea/examples/composition.tsx +2 -2
- package/src/components/textarea/examples/controlled.tsx +0 -1
- package/src/components/textarea/examples/features.tsx +3 -12
- package/src/components/textarea/examples/full-width.tsx +1 -1
- package/src/components/textarea/examples/states.tsx +4 -4
- package/src/components/textarea/examples/variants.tsx +2 -2
- package/src/components/tooltip/COMPONENT.md +0 -1
- package/src/components/tooltip/examples/canonical-icon-hint.tsx +1 -1
- package/src/components/tooltip/examples/composition.tsx +3 -9
- package/src/components/tooltip/examples/controlled.tsx +2 -2
- package/src/components/tooltip/examples/delay.tsx +1 -1
- package/src/components/tooltip/examples/long-content.tsx +2 -2
- package/src/components/tooltip/examples/side.tsx +4 -4
- package/src/components/tooltip/examples/states.tsx +2 -2
- package/src/components/tooltip/examples/surfaces.tsx +2 -2
- package/src/layout/app-shell/COMPONENT.md +77 -27
- package/src/layout/sidebar/COMPONENT.md +1 -1
- package/src/layout/sidebar/examples/01-app-shell-nav.tsx +11 -13
- package/src/layout/sidebar/examples/examples.module.css +0 -10
- package/dist/components/dropdown/examples/inset.d.ts +0 -3
- package/dist/components/dropdown/examples/inset.d.ts.map +0 -1
- package/src/components/dropdown/examples/inset.tsx +0 -51
|
@@ -20,7 +20,7 @@ export default function TooltipStatesExample() {
|
|
|
20
20
|
<Tooltip.Provider delayDuration={200}>
|
|
21
21
|
<Tooltip.Root>
|
|
22
22
|
<Tooltip.Trigger>
|
|
23
|
-
<Button.Root type="button" variant="neutral" mode="stroke"
|
|
23
|
+
<Button.Root type="button" variant="neutral" mode="stroke">
|
|
24
24
|
Save
|
|
25
25
|
</Button.Root>
|
|
26
26
|
</Tooltip.Trigger>
|
|
@@ -32,7 +32,7 @@ export default function TooltipStatesExample() {
|
|
|
32
32
|
<Tooltip.Provider delayDuration={200}>
|
|
33
33
|
<Tooltip.Root>
|
|
34
34
|
<Tooltip.Trigger>
|
|
35
|
-
<Button.Root type="button" variant="neutral" mode="stroke"
|
|
35
|
+
<Button.Root type="button" variant="neutral" mode="stroke" disabled>
|
|
36
36
|
Unavailable
|
|
37
37
|
</Button.Root>
|
|
38
38
|
</Tooltip.Trigger>
|
|
@@ -29,7 +29,7 @@ export default function TooltipSurfacesExample() {
|
|
|
29
29
|
<Tooltip.Provider delayDuration={200}>
|
|
30
30
|
<Tooltip.Root>
|
|
31
31
|
<Tooltip.Trigger>
|
|
32
|
-
<Button.Root type="button" variant="neutral" mode="stroke"
|
|
32
|
+
<Button.Root type="button" variant="neutral" mode="stroke">
|
|
33
33
|
Hover
|
|
34
34
|
</Button.Root>
|
|
35
35
|
</Tooltip.Trigger>
|
|
@@ -41,7 +41,7 @@ export default function TooltipSurfacesExample() {
|
|
|
41
41
|
<Tooltip.Provider delayDuration={200}>
|
|
42
42
|
<Tooltip.Root>
|
|
43
43
|
<Tooltip.Trigger>
|
|
44
|
-
<Button.Root type="button" variant="neutral" mode="stroke"
|
|
44
|
+
<Button.Root type="button" variant="neutral" mode="stroke">
|
|
45
45
|
Hover
|
|
46
46
|
</Button.Root>
|
|
47
47
|
</Tooltip.Trigger>
|
|
@@ -2,19 +2,68 @@
|
|
|
2
2
|
|
|
3
3
|
## About
|
|
4
4
|
|
|
5
|
-
Каркас приложения: **сетка** `nav` + **`main`** (прокручиваемая колонка).
|
|
5
|
+
Каркас приложения: **сетка** `nav` + **`main`** (прокручиваемая колонка). Поля контентной колонки (**`--prime-sys-spacing-x6`** по вертикали и горизонтали) **встроены в `AppShell.Main`** — отдельной обёртки нет.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**`AppShell.Template`** — рекомендуемая сборка: **`Root`** + **`Nav`** + **`Main`**, дети шаблона рендерятся **прямо внутри** `<main>`, плюс при монтировании **внутри React Router** сбрасывается прокрутка **`main`** при смене пути.
|
|
8
|
+
|
|
9
|
+
**Не** дублируйте те же поля вокруг страницы: внутри **`main`** используйте **`PageContent.Section`** или **`PageContent.Root`** (у **`PageContent`** краевых полей к колонке нет — их даёт **`Main`**).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Схема слоёв и отступов
|
|
14
|
+
|
|
15
|
+
Внешние поля у контента в правой колонке задаёт **сам** элемент **`AppShell.Main`** (класс **`layoutMain`** в сборке; в DOM — **`data-app-shell-main-padded`** для проверки в DevTools).
|
|
16
|
+
|
|
17
|
+
### Дерево регионов
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌─ AppShell.Root ───────────────────────────────────────────── fillViewport → высота вьюпорта, без padding
|
|
21
|
+
│ data-layout-template="app" (у Template)
|
|
22
|
+
│
|
|
23
|
+
├── AppShell.Nav data-layout-region="nav" padding: 0 у оболочки; внутренние отступы — у Sidebar
|
|
24
|
+
│ └── …
|
|
25
|
+
│
|
|
26
|
+
└── AppShell.Main <main> ScrollContainer, прокрутка по вертикали
|
|
27
|
+
data-layout-region="main"
|
|
28
|
+
data-app-shell-main-padded=""
|
|
29
|
+
padding-block / padding-inline = var(--prime-sys-spacing-x6) ← канон полей колонки
|
|
30
|
+
└── маршруты: <Outlet /> / страницы / PageContent.*
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Зазор между колонками
|
|
34
|
+
|
|
35
|
+
На **`min-width: 48rem`**, если **`data-layout-template="app"`** и сайдбар **`expanded`** или **`compact`**, между **`Nav`** и **`Main`** — **`column-gap: var(--prime-sys-spacing-x3)`** (разделитель колонок, не замена полей внутри `main`).
|
|
36
|
+
|
|
37
|
+
### Сводка по токенам
|
|
38
|
+
|
|
39
|
+
| Участок | Токен / правило |
|
|
40
|
+
|--------|------------------|
|
|
41
|
+
| Поля контента внутри `main` | `--prime-sys-spacing-x6` (block + inline) |
|
|
42
|
+
| Зазор nav ↔ main (широкий экран + открытый sidebar) | `--prime-sys-spacing-x3` |
|
|
43
|
+
| Корень сетки, слот `nav` | `padding: 0` у оболочек; поля `main` — см. выше |
|
|
44
|
+
|
|
45
|
+
### Диаграмма (Mermaid)
|
|
46
|
+
|
|
47
|
+
```mermaid
|
|
48
|
+
flowchart TB
|
|
49
|
+
subgraph Root["AppShell.Root"]
|
|
50
|
+
Nav["AppShell.Nav"]
|
|
51
|
+
Main["AppShell.Main\nx6 padding + scroll"]
|
|
52
|
+
end
|
|
53
|
+
Nav --- Main
|
|
54
|
+
Main --> Page["Страница / Outlet / PageContent"]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
8
58
|
|
|
9
59
|
## Composition
|
|
10
60
|
|
|
11
|
-
- **`AppShell.Root`** — корневая сетка; опционально **`fillViewport
|
|
61
|
+
- **`AppShell.Root`** — корневая сетка; опционально **`fillViewport`**.
|
|
12
62
|
- **`AppShell.Nav`** — слот навигации (**`data-layout-region="nav"`**).
|
|
13
|
-
- **`AppShell.Main`** —
|
|
14
|
-
- **`AppShell.
|
|
15
|
-
- **`AppShell.Template`** — **`Root`** + **`Nav`** + **`Main`**, внутри **`Main`** — **`MainInset`** (дети шаблона) + сброс прокрутки при смене **`pathname`** (только если предок — React Router).
|
|
63
|
+
- **`AppShell.Main`** — **`<main>`** с каноническими полями колонки и прокруткой (**`data-layout-region="main"`**).
|
|
64
|
+
- **`AppShell.Template`** — **`Root`** + **`Nav`** + **`Main`**, дети — **прямые** дочерние узлы **`main`** + сброс прокрутки при смене **`pathname`** (если предок — React Router).
|
|
16
65
|
|
|
17
|
-
###
|
|
66
|
+
### Пример (сайдбар + маршруты)
|
|
18
67
|
|
|
19
68
|
```tsx
|
|
20
69
|
import { AppShell, Sidebar } from "prime-ui-kit";
|
|
@@ -29,27 +78,36 @@ export function AppLayout() {
|
|
|
29
78
|
}
|
|
30
79
|
```
|
|
31
80
|
|
|
32
|
-
###
|
|
81
|
+
### Пример (одна колонка, без `nav`)
|
|
33
82
|
|
|
34
83
|
```tsx
|
|
35
84
|
import { AppShell } from "prime-ui-kit";
|
|
36
85
|
|
|
37
|
-
export function
|
|
86
|
+
export function FullWidthMain() {
|
|
38
87
|
return (
|
|
39
88
|
<AppShell.Root fillViewport>
|
|
40
|
-
<AppShell.Main>
|
|
41
|
-
<AppShell.MainInset>{/* страница */}</AppShell.MainInset>
|
|
42
|
-
</AppShell.Main>
|
|
89
|
+
<AppShell.Main>{/* страница — поля уже на main */}</AppShell.Main>
|
|
43
90
|
</AppShell.Root>
|
|
44
91
|
);
|
|
45
92
|
}
|
|
46
93
|
```
|
|
47
94
|
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Почему «пропали отступы»
|
|
98
|
+
|
|
99
|
+
1. **Не подключены стили пакета** — **`prime-ui-kit/styles.css`** и **`prime-ui-kit/bundle.css`** (или эквивалент).
|
|
100
|
+
2. **Маршруты не внутри `AppShell.Template`** — **`Outlet`** должен быть ребёнком **`Template`** (или контент внутри **`AppShell.Main`** при ручной сборке).
|
|
101
|
+
3. **Ожидание полей от `PageContent.Root`** — краевые поля задаёт **`Main`**, не **`PageContent`**.
|
|
102
|
+
4. **Редкий full-bleed в `main`** — при необходимости обнулите поля через **`className`** на **`AppShell.Main`** (осознанно, точечно).
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
48
106
|
## Rules
|
|
49
107
|
|
|
50
|
-
-
|
|
51
|
-
- **`ref
|
|
52
|
-
- Не дублируйте
|
|
108
|
+
- **`AppShell.Template`** внутри **`BrowserRouter`** / **`MemoryRouter`** — для сброса прокрутки.
|
|
109
|
+
- **`ref`** на **`Template`** вешается на **`<main>`** (`AppShell.Main`).
|
|
110
|
+
- Не дублируйте обёртки с полями **`x6`** вокруг страницы.
|
|
53
111
|
|
|
54
112
|
## API
|
|
55
113
|
|
|
@@ -69,22 +127,14 @@ export function FullWidthMainRoute() {
|
|
|
69
127
|
| fillViewport | `boolean` | — | No | Пробрасывается в `Root`. |
|
|
70
128
|
| className | `string` | — | No | Класс на `Root`. |
|
|
71
129
|
| nav | `React.ReactNode` | — | **Yes** | Левая колонка (напр. `Sidebar.Root`). |
|
|
72
|
-
| children | `React.ReactNode` | — | No | Контент внутри
|
|
130
|
+
| children | `React.ReactNode` | — | No | Контент внутри `<main>` (прямые дети). |
|
|
73
131
|
| navProps | `Omit<AppShellNavProps, "children">` | — | No | Пропсы на слот навигации. |
|
|
74
132
|
| mainProps | `Omit<AppShellMainProps, "children">` | — | No | Пропсы на `main` (напр. `id`, `tabIndex`). |
|
|
75
|
-
| …rest | `HTMLAttributes<HTMLDivElement>` | — | No | Остальное на `Root
|
|
76
|
-
|
|
77
|
-
### AppShell.MainInset
|
|
78
|
-
|
|
79
|
-
| Prop | Type | Default | Required | Description |
|
|
80
|
-
|------|------|---------|----------|-------------|
|
|
81
|
-
| className | `string` | — | No | Доп. класс; поля заданы модулем кита. |
|
|
82
|
-
| children | `React.ReactNode` | — | No | Содержимое колонки. |
|
|
83
|
-
| …rest | `HTMLAttributes<HTMLDivElement>` | — | No | В т.ч. `ref` (`forwardRef`). |
|
|
133
|
+
| …rest | `HTMLAttributes<HTMLDivElement>` | — | No | Остальное на `Root`. |
|
|
84
134
|
|
|
85
135
|
`AppShell.Nav` и `AppShell.Main` — см. исходные типы в **`AppShell.tsx`**.
|
|
86
136
|
|
|
87
137
|
## Related
|
|
88
138
|
|
|
89
|
-
- [PageContent](../../components/page-content/COMPONENT.md)
|
|
90
|
-
- [Sidebar](../sidebar/COMPONENT.md)
|
|
139
|
+
- [PageContent](../../components/page-content/COMPONENT.md)
|
|
140
|
+
- [Sidebar](../sidebar/COMPONENT.md)
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**When to use**
|
|
10
10
|
|
|
11
|
-
- Persistent app navigation beside main content, including **`AppShell.Template`** nav slot with **`sidebarSlot="page-nav"`** (
|
|
11
|
+
- Persistent app navigation beside main content, including **`AppShell.Template`** nav slot with **`sidebarSlot="page-nav"`** (поля контентной колонки на **`AppShell.Main`** — не дублировать).
|
|
12
12
|
- Desktop width toggle (expanded vs icon rail) with optional tooltips in **`compact`**.
|
|
13
13
|
- Mobile drawer behavior when **`responsive={true}`** (default): overlay, backdrop; **edge**-кнопка **`Sidebar.ToggleButton`** на границе панели и смещается вместе с ней (в т.ч. при закрытии drawer).
|
|
14
14
|
|
|
@@ -72,19 +72,17 @@ export default function SidebarExampleAppShellNav() {
|
|
|
72
72
|
</Sidebar.Root>
|
|
73
73
|
}
|
|
74
74
|
>
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
>
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
</Typography.Root>
|
|
87
|
-
</div>
|
|
75
|
+
<Typography.Root
|
|
76
|
+
as="p"
|
|
77
|
+
variant="body-default"
|
|
78
|
+
tone="muted"
|
|
79
|
+
className={styles.mainPlaceholder}
|
|
80
|
+
>
|
|
81
|
+
Main scrolls inside <span className={styles.code}>AppShell.Main</span> (page gutters are
|
|
82
|
+
on <span className={styles.code}>main</span>); the sidebar stays in the nav column. Use{" "}
|
|
83
|
+
<span className={styles.code}>sidebarSlot="page-nav"</span> so spacing and grid
|
|
84
|
+
behavior match the app template.
|
|
85
|
+
</Typography.Root>
|
|
88
86
|
</AppShell.Template>
|
|
89
87
|
</div>
|
|
90
88
|
);
|
|
@@ -21,16 +21,6 @@
|
|
|
21
21
|
min-height: 0;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
/* Поля колонки контента (раньше `mainProps.variant="page"` на `AppShell.Main`). */
|
|
25
|
-
.exampleMainInset {
|
|
26
|
-
box-sizing: border-box;
|
|
27
|
-
flex: 1;
|
|
28
|
-
min-height: 0;
|
|
29
|
-
min-width: 0;
|
|
30
|
-
padding-block: var(--prime-sys-spacing-x6);
|
|
31
|
-
padding-inline: var(--prime-sys-spacing-x6);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
24
|
.mainPlaceholder {
|
|
35
25
|
box-sizing: border-box;
|
|
36
26
|
margin: 0;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inset.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/examples/inset.tsx"],"names":[],"mappings":"AAMA,6FAA6F;AAC7F,MAAM,CAAC,OAAO,UAAU,oBAAoB,4CA2C3C"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Button } from "@/components/button/Button";
|
|
2
|
-
import { Dropdown } from "@/components/dropdown/Dropdown";
|
|
3
|
-
import { Typography } from "@/components/typography/Typography";
|
|
4
|
-
|
|
5
|
-
import styles from "./dropdown-examples.module.css";
|
|
6
|
-
|
|
7
|
-
/** `Dropdown.Inset` с `padding` и `gap` — как в `playground/snippets/dropdown/inset.tsx`. */
|
|
8
|
-
export default function DropdownInsetExample() {
|
|
9
|
-
return (
|
|
10
|
-
<>
|
|
11
|
-
<Dropdown.Root>
|
|
12
|
-
<Dropdown.Trigger>
|
|
13
|
-
<Button.Root type="button" size="m" variant="neutral" mode="stroke">
|
|
14
|
-
С отступами по умолчанию
|
|
15
|
-
</Button.Root>
|
|
16
|
-
</Dropdown.Trigger>
|
|
17
|
-
<Dropdown.Content>
|
|
18
|
-
<Dropdown.Inset>
|
|
19
|
-
<Typography.Root as="div" variant="body-compact" tone="muted">
|
|
20
|
-
Короткая заметка над списком.
|
|
21
|
-
</Typography.Root>
|
|
22
|
-
<Dropdown.Item>Первый пункт</Dropdown.Item>
|
|
23
|
-
<Dropdown.Item>Второй пункт</Dropdown.Item>
|
|
24
|
-
</Dropdown.Inset>
|
|
25
|
-
</Dropdown.Content>
|
|
26
|
-
</Dropdown.Root>
|
|
27
|
-
|
|
28
|
-
<Dropdown.Root>
|
|
29
|
-
<Dropdown.Trigger>
|
|
30
|
-
<Button.Root type="button" size="m" variant="neutral" mode="stroke">
|
|
31
|
-
Плотная вставка
|
|
32
|
-
</Button.Root>
|
|
33
|
-
</Dropdown.Trigger>
|
|
34
|
-
<Dropdown.Content>
|
|
35
|
-
<Dropdown.Inset padding="none" gap="x2">
|
|
36
|
-
<Typography.Root
|
|
37
|
-
as="div"
|
|
38
|
-
variant="body-compact"
|
|
39
|
-
tone="muted"
|
|
40
|
-
className={styles.insetNoteTight}
|
|
41
|
-
>
|
|
42
|
-
Без внешнего inset-padding, меньший gap.
|
|
43
|
-
</Typography.Root>
|
|
44
|
-
<Dropdown.Item>Действие A</Dropdown.Item>
|
|
45
|
-
<Dropdown.Item>Действие B</Dropdown.Item>
|
|
46
|
-
</Dropdown.Inset>
|
|
47
|
-
</Dropdown.Content>
|
|
48
|
-
</Dropdown.Root>
|
|
49
|
-
</>
|
|
50
|
-
);
|
|
51
|
-
}
|