@acronis-platform/ui-react 0.54.0 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +4 -2
- package/dist/components/ui/accordion/accordion.js +0 -53
- package/dist/components/ui/accordion/accordion.js.map +0 -1
- package/dist/components/ui/alert/alert.js +0 -99
- package/dist/components/ui/alert/alert.js.map +0 -1
- package/dist/components/ui/app-shell/app-shell.js +0 -75
- package/dist/components/ui/app-shell/app-shell.js.map +0 -1
- package/dist/components/ui/auth-layout/auth-layout.js +0 -56
- package/dist/components/ui/auth-layout/auth-layout.js.map +0 -1
- package/dist/components/ui/avatar/avatar.js +0 -70
- package/dist/components/ui/avatar/avatar.js.map +0 -1
- package/dist/components/ui/breadcrumb/breadcrumb.js +0 -116
- package/dist/components/ui/breadcrumb/breadcrumb.js.map +0 -1
- package/dist/components/ui/button/button.js +0 -50
- package/dist/components/ui/button/button.js.map +0 -1
- package/dist/components/ui/button-icon/button-icon.js +0 -35
- package/dist/components/ui/button-icon/button-icon.js.map +0 -1
- package/dist/components/ui/button-menu/button-menu.js +0 -52
- package/dist/components/ui/button-menu/button-menu.js.map +0 -1
- package/dist/components/ui/card/card.js +0 -92
- package/dist/components/ui/card/card.js.map +0 -1
- package/dist/components/ui/card-filter/card-filter.js +0 -63
- package/dist/components/ui/card-filter/card-filter.js.map +0 -1
- package/dist/components/ui/chart/chart.js +0 -213
- package/dist/components/ui/chart/chart.js.map +0 -1
- package/dist/components/ui/checkbox/checkbox.js +0 -70
- package/dist/components/ui/checkbox/checkbox.js.map +0 -1
- package/dist/components/ui/chip/chip.js +0 -70
- package/dist/components/ui/chip/chip.js.map +0 -1
- package/dist/components/ui/collapsible/collapsible.js +0 -22
- package/dist/components/ui/collapsible/collapsible.js.map +0 -1
- package/dist/components/ui/combobox/combobox.js +0 -149
- package/dist/components/ui/combobox/combobox.js.map +0 -1
- package/dist/components/ui/data-table/data-table-column-header.js +0 -36
- package/dist/components/ui/data-table/data-table-column-header.js.map +0 -1
- package/dist/components/ui/data-table/data-table-pagination.js +0 -89
- package/dist/components/ui/data-table/data-table-pagination.js.map +0 -1
- package/dist/components/ui/data-table/data-table-toolbar.js +0 -46
- package/dist/components/ui/data-table/data-table-toolbar.js.map +0 -1
- package/dist/components/ui/data-table/data-table-view-options.js +0 -40
- package/dist/components/ui/data-table/data-table-view-options.js.map +0 -1
- package/dist/components/ui/data-table/data-table.js +0 -89
- package/dist/components/ui/data-table/data-table.js.map +0 -1
- package/dist/components/ui/description-list/description-list.js +0 -54
- package/dist/components/ui/description-list/description-list.js.map +0 -1
- package/dist/components/ui/dialog/dialog.js +0 -140
- package/dist/components/ui/dialog/dialog.js.map +0 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu.js +0 -159
- package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +0 -1
- package/dist/components/ui/empty/empty.js +0 -78
- package/dist/components/ui/empty/empty.js.map +0 -1
- package/dist/components/ui/field/field.js +0 -189
- package/dist/components/ui/field/field.js.map +0 -1
- package/dist/components/ui/form/form.js +0 -16
- package/dist/components/ui/form/form.js.map +0 -1
- package/dist/components/ui/grid/grid.js +0 -69
- package/dist/components/ui/grid/grid.js.map +0 -1
- package/dist/components/ui/input/input.js +0 -22
- package/dist/components/ui/input/input.js.map +0 -1
- package/dist/components/ui/input-date-picker/input-date-picker.js +0 -104
- package/dist/components/ui/input-date-picker/input-date-picker.js.map +0 -1
- package/dist/components/ui/input-search/input-search.js +0 -57
- package/dist/components/ui/input-search/input-search.js.map +0 -1
- package/dist/components/ui/input-select/input-select.js +0 -265
- package/dist/components/ui/input-select/input-select.js.map +0 -1
- package/dist/components/ui/input-text/input-text.js +0 -87
- package/dist/components/ui/input-text/input-text.js.map +0 -1
- package/dist/components/ui/input-text-area/input-text-area.js +0 -77
- package/dist/components/ui/input-text-area/input-text-area.js.map +0 -1
- package/dist/components/ui/label/label.js +0 -12
- package/dist/components/ui/label/label.js.map +0 -1
- package/dist/components/ui/link/link.js +0 -39
- package/dist/components/ui/link/link.js.map +0 -1
- package/dist/components/ui/number-field/number-field.js +0 -61
- package/dist/components/ui/number-field/number-field.js.map +0 -1
- package/dist/components/ui/page-content/page-content.js +0 -19
- package/dist/components/ui/page-content/page-content.js.map +0 -1
- package/dist/components/ui/page-header/page-header.js +0 -74
- package/dist/components/ui/page-header/page-header.js.map +0 -1
- package/dist/components/ui/pagination/pagination.js +0 -87
- package/dist/components/ui/pagination/pagination.js.map +0 -1
- package/dist/components/ui/popover/popover.js +0 -48
- package/dist/components/ui/popover/popover.js.map +0 -1
- package/dist/components/ui/progress/progress.js +0 -30
- package/dist/components/ui/progress/progress.js.map +0 -1
- package/dist/components/ui/progress-circle/progress-circle.js +0 -115
- package/dist/components/ui/progress-circle/progress-circle.js.map +0 -1
- package/dist/components/ui/radio/radio.js +0 -44
- package/dist/components/ui/radio/radio.js.map +0 -1
- package/dist/components/ui/resizable/resizable.js +0 -52
- package/dist/components/ui/resizable/resizable.js.map +0 -1
- package/dist/components/ui/scroll-area/scroll-area.js +0 -61
- package/dist/components/ui/scroll-area/scroll-area.js.map +0 -1
- package/dist/components/ui/search/search.js +0 -93
- package/dist/components/ui/search/search.js.map +0 -1
- package/dist/components/ui/search-global/search-global.js +0 -60
- package/dist/components/ui/search-global/search-global.js.map +0 -1
- package/dist/components/ui/section/section.js +0 -37
- package/dist/components/ui/section/section.js.map +0 -1
- package/dist/components/ui/separator/separator.js +0 -22
- package/dist/components/ui/separator/separator.js.map +0 -1
- package/dist/components/ui/sheet/sheet-details.js +0 -80
- package/dist/components/ui/sheet/sheet-details.js.map +0 -1
- package/dist/components/ui/sheet/sheet.js +0 -138
- package/dist/components/ui/sheet/sheet.js.map +0 -1
- package/dist/components/ui/sidebar-primary/sidebar-primary.js +0 -252
- package/dist/components/ui/sidebar-primary/sidebar-primary.js.map +0 -1
- package/dist/components/ui/sidebar-secondary/sidebar-secondary.js +0 -470
- package/dist/components/ui/sidebar-secondary/sidebar-secondary.js.map +0 -1
- package/dist/components/ui/skeleton/skeleton.js +0 -22
- package/dist/components/ui/skeleton/skeleton.js.map +0 -1
- package/dist/components/ui/slider/slider.js +0 -42
- package/dist/components/ui/slider/slider.js.map +0 -1
- package/dist/components/ui/spinner/spinner.js +0 -38
- package/dist/components/ui/spinner/spinner.js.map +0 -1
- package/dist/components/ui/stack/stack.js +0 -61
- package/dist/components/ui/stack/stack.js.map +0 -1
- package/dist/components/ui/switch/switch.js +0 -41
- package/dist/components/ui/switch/switch.js.map +0 -1
- package/dist/components/ui/table/table.js +0 -118
- package/dist/components/ui/table/table.js.map +0 -1
- package/dist/components/ui/tabs/tabs.js +0 -44
- package/dist/components/ui/tabs/tabs.js.map +0 -1
- package/dist/components/ui/tag/tag.js +0 -47
- package/dist/components/ui/tag/tag.js.map +0 -1
- package/dist/components/ui/toast/toast.js +0 -83
- package/dist/components/ui/toast/toast.js.map +0 -1
- package/dist/components/ui/toggle-group/toggle-group.js +0 -47
- package/dist/components/ui/toggle-group/toggle-group.js.map +0 -1
- package/dist/components/ui/tooltip/tooltip.js +0 -49
- package/dist/components/ui/tooltip/tooltip.js.map +0 -1
- package/dist/components/ui/widget-placeholder/widget-placeholder.js +0 -106
- package/dist/components/ui/widget-placeholder/widget-placeholder.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -360
- package/dist/index.js.map +0 -1
- package/dist/lib/utils.js +0 -9
- package/dist/lib/utils.js.map +0 -1
- package/dist/node_modules/.pnpm/@tanstack_react-table@8.21.3_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-table/build/lib/index.js +0 -104
- package/dist/node_modules/.pnpm/@tanstack_react-table@8.21.3_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-table/build/lib/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js +0 -1900
- package/dist/node_modules/.pnpm/@tanstack_table-core@8.21.3/node_modules/@tanstack/table-core/build/lib/index.js.map +0 -1
- package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js +0 -36
- package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -17
- package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +0 -1
- package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/react-resizable-panels/dist/react-resizable-panels.js +0 -2093
- package/dist/node_modules/.pnpm/react-resizable-panels@4.11.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/react-resizable-panels/dist/react-resizable-panels.js.map +0 -1
- package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -2996
- package/dist/node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +0 -1
- package/dist/react.d.ts +0 -2
- package/dist/react.js +0 -360
- package/dist/react.js.map +0 -1
- package/dist/src/components/ui/accordion/accordion.d.ts +0 -7
- package/dist/src/components/ui/accordion/index.d.ts +0 -1
- package/dist/src/components/ui/alert/alert.d.ts +0 -14
- package/dist/src/components/ui/alert/index.d.ts +0 -2
- package/dist/src/components/ui/app-shell/app-shell.d.ts +0 -8
- package/dist/src/components/ui/app-shell/index.d.ts +0 -1
- package/dist/src/components/ui/auth-layout/auth-layout.d.ts +0 -6
- package/dist/src/components/ui/auth-layout/index.d.ts +0 -1
- package/dist/src/components/ui/avatar/avatar.d.ts +0 -27
- package/dist/src/components/ui/avatar/index.d.ts +0 -1
- package/dist/src/components/ui/breadcrumb/breadcrumb.d.ts +0 -30
- package/dist/src/components/ui/breadcrumb/index.d.ts +0 -1
- package/dist/src/components/ui/button/button.d.ts +0 -16
- package/dist/src/components/ui/button/index.d.ts +0 -1
- package/dist/src/components/ui/button-icon/button-icon.d.ts +0 -20
- package/dist/src/components/ui/button-icon/index.d.ts +0 -1
- package/dist/src/components/ui/button-menu/button-menu.d.ts +0 -29
- package/dist/src/components/ui/button-menu/index.d.ts +0 -1
- package/dist/src/components/ui/card/card.d.ts +0 -17
- package/dist/src/components/ui/card/index.d.ts +0 -1
- package/dist/src/components/ui/card-filter/card-filter.d.ts +0 -27
- package/dist/src/components/ui/card-filter/index.d.ts +0 -1
- package/dist/src/components/ui/chart/chart.d.ts +0 -55
- package/dist/src/components/ui/chart/index.d.ts +0 -2
- package/dist/src/components/ui/checkbox/checkbox.d.ts +0 -10
- package/dist/src/components/ui/checkbox/index.d.ts +0 -1
- package/dist/src/components/ui/chip/chip.d.ts +0 -20
- package/dist/src/components/ui/chip/index.d.ts +0 -1
- package/dist/src/components/ui/collapsible/collapsible.d.ts +0 -5
- package/dist/src/components/ui/collapsible/index.d.ts +0 -1
- package/dist/src/components/ui/combobox/combobox.d.ts +0 -28
- package/dist/src/components/ui/combobox/index.d.ts +0 -2
- package/dist/src/components/ui/data-table/data-table-column-header.d.ts +0 -8
- package/dist/src/components/ui/data-table/data-table-pagination.d.ts +0 -8
- package/dist/src/components/ui/data-table/data-table-toolbar.d.ts +0 -9
- package/dist/src/components/ui/data-table/data-table-view-options.d.ts +0 -6
- package/dist/src/components/ui/data-table/data-table.d.ts +0 -24
- package/dist/src/components/ui/data-table/data-table.docs.d.ts +0 -22
- package/dist/src/components/ui/data-table/index.d.ts +0 -5
- package/dist/src/components/ui/description-list/description-list.d.ts +0 -8
- package/dist/src/components/ui/description-list/index.d.ts +0 -1
- package/dist/src/components/ui/dialog/dialog.d.ts +0 -39
- package/dist/src/components/ui/dialog/dialog.docs.d.ts +0 -24
- package/dist/src/components/ui/dialog/index.d.ts +0 -1
- package/dist/src/components/ui/dropdown-menu/dropdown-menu.d.ts +0 -39
- package/dist/src/components/ui/dropdown-menu/dropdown-menu.docs.d.ts +0 -25
- package/dist/src/components/ui/dropdown-menu/index.d.ts +0 -1
- package/dist/src/components/ui/empty/empty.d.ts +0 -9
- package/dist/src/components/ui/empty/index.d.ts +0 -1
- package/dist/src/components/ui/field/field.d.ts +0 -39
- package/dist/src/components/ui/field/field.docs.d.ts +0 -27
- package/dist/src/components/ui/field/index.d.ts +0 -2
- package/dist/src/components/ui/form/form.d.ts +0 -6
- package/dist/src/components/ui/form/index.d.ts +0 -1
- package/dist/src/components/ui/grid/grid.d.ts +0 -15
- package/dist/src/components/ui/grid/index.d.ts +0 -1
- package/dist/src/components/ui/input/index.d.ts +0 -1
- package/dist/src/components/ui/input/input.d.ts +0 -4
- package/dist/src/components/ui/input-date-picker/index.d.ts +0 -1
- package/dist/src/components/ui/input-date-picker/input-date-picker.d.ts +0 -27
- package/dist/src/components/ui/input-search/index.d.ts +0 -1
- package/dist/src/components/ui/input-search/input-search.d.ts +0 -10
- package/dist/src/components/ui/input-select/index.d.ts +0 -1
- package/dist/src/components/ui/input-select/input-select.d.ts +0 -46
- package/dist/src/components/ui/input-text/index.d.ts +0 -1
- package/dist/src/components/ui/input-text/input-text.d.ts +0 -20
- package/dist/src/components/ui/input-text-area/index.d.ts +0 -1
- package/dist/src/components/ui/input-text-area/input-text-area.d.ts +0 -16
- package/dist/src/components/ui/label/index.d.ts +0 -1
- package/dist/src/components/ui/label/label.d.ts +0 -5
- package/dist/src/components/ui/label/label.docs.d.ts +0 -10
- package/dist/src/components/ui/link/index.d.ts +0 -1
- package/dist/src/components/ui/link/link.d.ts +0 -15
- package/dist/src/components/ui/number-field/index.d.ts +0 -1
- package/dist/src/components/ui/number-field/number-field.d.ts +0 -7
- package/dist/src/components/ui/page-content/index.d.ts +0 -1
- package/dist/src/components/ui/page-content/page-content.d.ts +0 -4
- package/dist/src/components/ui/page-header/index.d.ts +0 -1
- package/dist/src/components/ui/page-header/page-header.d.ts +0 -8
- package/dist/src/components/ui/pagination/index.d.ts +0 -2
- package/dist/src/components/ui/pagination/pagination.d.ts +0 -25
- package/dist/src/components/ui/popover/index.d.ts +0 -1
- package/dist/src/components/ui/popover/popover.d.ts +0 -27
- package/dist/src/components/ui/popover/popover.docs.d.ts +0 -25
- package/dist/src/components/ui/progress/index.d.ts +0 -1
- package/dist/src/components/ui/progress/progress.d.ts +0 -9
- package/dist/src/components/ui/progress/progress.docs.d.ts +0 -16
- package/dist/src/components/ui/progress-circle/index.d.ts +0 -1
- package/dist/src/components/ui/progress-circle/progress-circle.d.ts +0 -47
- package/dist/src/components/ui/progress-circle/progress-circle.docs.d.ts +0 -21
- package/dist/src/components/ui/radio/index.d.ts +0 -1
- package/dist/src/components/ui/radio/radio.d.ts +0 -8
- package/dist/src/components/ui/resizable/index.d.ts +0 -1
- package/dist/src/components/ui/resizable/resizable.d.ts +0 -9
- package/dist/src/components/ui/scroll-area/index.d.ts +0 -1
- package/dist/src/components/ui/scroll-area/scroll-area.d.ts +0 -10
- package/dist/src/components/ui/search/index.d.ts +0 -1
- package/dist/src/components/ui/search/search.d.ts +0 -7
- package/dist/src/components/ui/search-global/index.d.ts +0 -1
- package/dist/src/components/ui/search-global/search-global.d.ts +0 -7
- package/dist/src/components/ui/section/index.d.ts +0 -1
- package/dist/src/components/ui/section/section.d.ts +0 -7
- package/dist/src/components/ui/select/index.d.ts +0 -1
- package/dist/src/components/ui/select/select.d.ts +0 -1
- package/dist/src/components/ui/separator/index.d.ts +0 -1
- package/dist/src/components/ui/separator/separator.d.ts +0 -3
- package/dist/src/components/ui/sheet/index.d.ts +0 -3
- package/dist/src/components/ui/sheet/sheet-details.d.ts +0 -42
- package/dist/src/components/ui/sheet/sheet.d.ts +0 -36
- package/dist/src/components/ui/sheet/sheet.docs.d.ts +0 -21
- package/dist/src/components/ui/sidebar-primary/index.d.ts +0 -1
- package/dist/src/components/ui/sidebar-primary/sidebar-primary.d.ts +0 -54
- package/dist/src/components/ui/sidebar-secondary/index.d.ts +0 -1
- package/dist/src/components/ui/sidebar-secondary/sidebar-secondary.d.ts +0 -112
- package/dist/src/components/ui/skeleton/index.d.ts +0 -1
- package/dist/src/components/ui/skeleton/skeleton.d.ts +0 -4
- package/dist/src/components/ui/slider/index.d.ts +0 -1
- package/dist/src/components/ui/slider/slider.d.ts +0 -7
- package/dist/src/components/ui/spinner/index.d.ts +0 -1
- package/dist/src/components/ui/spinner/spinner.d.ts +0 -9
- package/dist/src/components/ui/stack/index.d.ts +0 -1
- package/dist/src/components/ui/stack/stack.d.ts +0 -13
- package/dist/src/components/ui/switch/index.d.ts +0 -1
- package/dist/src/components/ui/switch/switch.d.ts +0 -8
- package/dist/src/components/ui/table/index.d.ts +0 -1
- package/dist/src/components/ui/table/table.d.ts +0 -23
- package/dist/src/components/ui/tabs/index.d.ts +0 -1
- package/dist/src/components/ui/tabs/tabs.d.ts +0 -6
- package/dist/src/components/ui/tabs/tabs.docs.d.ts +0 -25
- package/dist/src/components/ui/tag/index.d.ts +0 -1
- package/dist/src/components/ui/tag/tag.d.ts +0 -12
- package/dist/src/components/ui/toast/index.d.ts +0 -1
- package/dist/src/components/ui/toast/toast.d.ts +0 -48
- package/dist/src/components/ui/toast/toast.docs.d.ts +0 -12
- package/dist/src/components/ui/toggle-group/index.d.ts +0 -1
- package/dist/src/components/ui/toggle-group/toggle-group.d.ts +0 -7
- package/dist/src/components/ui/tooltip/index.d.ts +0 -1
- package/dist/src/components/ui/tooltip/tooltip.d.ts +0 -13
- package/dist/src/components/ui/widget-placeholder/index.d.ts +0 -1
- package/dist/src/components/ui/widget-placeholder/widget-placeholder.d.ts +0 -18
- package/dist/src/components/ui/widget-placeholder/widget-placeholder.docs.d.ts +0 -14
- package/dist/src/index.d.ts +0 -66
- package/dist/src/lib/utils.d.ts +0 -2
- package/dist/src/react.d.ts +0 -1
- package/dist/styles.d.ts +0 -1
- package/dist/ui-react.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.js","sources":["../../../../src/components/ui/sheet/sheet.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { TimesIcon } from '@acronis-platform/icons-react/stroke-mono';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\n// Initial version ported from `@acronis-platform/shadcn-uikit`'s `sheet`\n// (packages/ui-legacy/src/components/ui/sheet.tsx). A modal side panel — the\n// same Base UI Dialog primitive the `Dialog` component uses (keyboard, focus\n// trap, scroll lock, ARIA come from Base UI), but anchored to a screen edge with\n// a slide transition. In the Vue kit this was `Details`; it's re-exported under\n// `Details*` aliases for a 1:1 drop-in. No `--ui-sheet-*` token tier exists yet,\n// so this design-pending v1 mirrors the Dialog family's semantic theming:\n// • overlay -> var(--ui-background-overlay-primary)\n// • panel -> bg-muted = --ui-background-surface-secondary\n// • header / footer -> bg-background = --ui-background-surface-primary bars,\n// divided by border-border\n// • title -> text-foreground / description -> text-muted-foreground\n// • close -> text-muted-foreground → hover text-foreground, focus ring\n// var(--ui-focus-primary)\n// Enter/exit slide animations use `tw-animate-css` (imported in styles/index.css),\n// keyed to Base UI's data-[open] / data-[closed] state attributes. Reconcile\n// against the real design with `/figma-component Sheet <url> --update`\n// (Cyber-Compliance node 3442-31542) once the mockup is ready for dev.\n\nconst sheetVariants = cva(\n 'fixed z-50 flex flex-col overflow-hidden bg-muted text-foreground shadow-lg duration-300 data-[open]:animate-in data-[closed]:animate-out',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 max-h-[80vh] border-b border-border data-[open]:slide-in-from-top data-[closed]:slide-out-to-top',\n bottom:\n 'inset-x-0 bottom-0 max-h-[80vh] border-t border-border data-[open]:slide-in-from-bottom data-[closed]:slide-out-to-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r border-border data-[open]:slide-in-from-left data-[closed]:slide-out-to-left sm:max-w-md',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l border-border data-[open]:slide-in-from-right data-[closed]:slide-out-to-right sm:max-w-md',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n);\n\nconst Sheet = DialogPrimitive.Root;\n\nconst SheetTrigger = DialogPrimitive.Trigger;\n\nconst SheetPortal = DialogPrimitive.Portal;\n\nconst SheetClose = DialogPrimitive.Close;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Backdrop>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Backdrop>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 bg-[var(--ui-background-overlay-primary)] duration-200 data-[open]:animate-in data-[open]:fade-in-0 data-[closed]:animate-out data-[closed]:fade-out-0',\n className\n )}\n {...props}\n />\n));\nSheetOverlay.displayName = 'SheetOverlay';\n\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Popup>,\n VariantProps<typeof sheetVariants> {\n /** Screen edge the panel anchors to. Defaults to `right`. */\n side?: VariantProps<typeof sheetVariants>['side'];\n /**\n * Render the content inside a portal (default `true`). Base UI requires the\n * Popup to sit in a Portal for correct stacking; set `false` for inline usage\n * (e.g. when the caller supplies its own `SheetPortal`, or in tests).\n */\n portal?: boolean;\n /**\n * Portal container. Pass a shadow-root mount for isolated-style previews\n * (the docs demos do this via `useShadowMount`).\n */\n portalContainer?: DialogPrimitive.Portal.Props['container'];\n /** Keep the content mounted while closed (Base UI `Portal` prop). */\n keepMounted?: DialogPrimitive.Portal.Props['keepMounted'];\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Popup>,\n SheetContentProps\n>(\n (\n {\n className,\n children,\n side,\n portal = true,\n portalContainer,\n keepMounted,\n ...props\n },\n ref\n ) => {\n const popup = (\n <>\n <SheetOverlay />\n <DialogPrimitive.Popup\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n </DialogPrimitive.Popup>\n </>\n );\n\n return portal ? (\n <DialogPrimitive.Portal container={portalContainer} keepMounted={keepMounted}>\n {popup}\n </DialogPrimitive.Portal>\n ) : (\n popup\n );\n }\n);\nSheetContent.displayName = 'SheetContent';\n\nconst SheetHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex h-16 shrink-0 items-center gap-4 border-b border-border bg-background px-5 py-4',\n className\n )}\n {...props}\n />\n));\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex h-16 shrink-0 items-center justify-end gap-4 border-t border-border bg-background px-6 py-4',\n className\n )}\n {...props}\n />\n));\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetBody = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex-1 overflow-auto p-6', className)} {...props} />\n));\nSheetBody.displayName = 'SheetBody';\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n 'flex-1 text-lg font-semibold leading-7 text-foreground',\n className\n )}\n {...props}\n />\n));\nSheetTitle.displayName = 'SheetTitle';\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nSheetDescription.displayName = 'SheetDescription';\n\nconst SheetCloseButton = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Close>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Close\n ref={ref}\n className={cn(\n 'rounded p-1 text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-primary)] disabled:pointer-events-none',\n className\n )}\n {...props}\n >\n <TimesIcon size={24} />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n));\nSheetCloseButton.displayName = 'SheetCloseButton';\n\nexport {\n Sheet,\n SheetTrigger,\n SheetPortal,\n SheetClose,\n SheetCloseButton,\n SheetOverlay,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetBody,\n SheetTitle,\n SheetDescription,\n sheetVariants,\n};\n"],"names":["sheetVariants","cva","Sheet","DialogPrimitive","SheetTrigger","SheetPortal","SheetClose","SheetOverlay","React","className","props","ref","jsx","cn","SheetContent","children","side","portal","portalContainer","keepMounted","popup","jsxs","Fragment","SheetHeader","SheetFooter","SheetBody","SheetTitle","SheetDescription","SheetCloseButton","TimesIcon"],"mappings":"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"}
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import { jsx as i, jsxs as y, Fragment as w } from "react/jsx-runtime";
|
|
2
|
-
import * as t from "react";
|
|
3
|
-
import { mergeProps as x } from "@base-ui/react/merge-props";
|
|
4
|
-
import { useRender as f } from "@base-ui/react/use-render";
|
|
5
|
-
import { SquareArrowUpRightIcon as S } from "@acronis-platform/icons-react/stroke-mono";
|
|
6
|
-
import { cva as P } from "../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js";
|
|
7
|
-
import { cn as l } from "../../../lib/utils.js";
|
|
8
|
-
import { ScrollArea as R } from "../scroll-area/scroll-area.js";
|
|
9
|
-
const h = t.createContext(null);
|
|
10
|
-
function g() {
|
|
11
|
-
return t.useContext(h) ?? {
|
|
12
|
-
expanded: !0,
|
|
13
|
-
toggleExpanded: () => {
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function _(a, e, r) {
|
|
18
|
-
const [n, d] = t.useState(e), o = a !== void 0, m = o ? a : n, u = t.useCallback(
|
|
19
|
-
(s) => {
|
|
20
|
-
o || d(s), r == null || r(s);
|
|
21
|
-
},
|
|
22
|
-
[o, r]
|
|
23
|
-
);
|
|
24
|
-
return [m, u];
|
|
25
|
-
}
|
|
26
|
-
const E = t.forwardRef(
|
|
27
|
-
({
|
|
28
|
-
className: a,
|
|
29
|
-
expanded: e,
|
|
30
|
-
defaultExpanded: r = !0,
|
|
31
|
-
onExpandedChange: n,
|
|
32
|
-
"aria-label": d = "Primary",
|
|
33
|
-
render: o,
|
|
34
|
-
children: m,
|
|
35
|
-
...u
|
|
36
|
-
}, s) => {
|
|
37
|
-
const [c, p] = _(
|
|
38
|
-
e,
|
|
39
|
-
r,
|
|
40
|
-
n
|
|
41
|
-
), v = t.useMemo(
|
|
42
|
-
() => ({ expanded: c, toggleExpanded: () => p(!c) }),
|
|
43
|
-
[c, p]
|
|
44
|
-
), b = f({
|
|
45
|
-
render: o,
|
|
46
|
-
ref: s,
|
|
47
|
-
defaultTagName: "nav",
|
|
48
|
-
props: x(
|
|
49
|
-
{
|
|
50
|
-
"aria-label": d,
|
|
51
|
-
"data-state": c ? "expanded" : "collapsed",
|
|
52
|
-
className: l(
|
|
53
|
-
"group/sidebar flex h-full flex-col bg-[var(--ui-sidebar-primary-global-container-color)] w-[var(--ui-sidebar-primary-collapsed-container-width)] data-[state=expanded]:w-[var(--ui-sidebar-primary-expanded-container-width)] transition-[width]",
|
|
54
|
-
a
|
|
55
|
-
),
|
|
56
|
-
children: m
|
|
57
|
-
},
|
|
58
|
-
u
|
|
59
|
-
)
|
|
60
|
-
});
|
|
61
|
-
return /* @__PURE__ */ i(h.Provider, { value: v, children: b });
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
E.displayName = "SidebarPrimary";
|
|
65
|
-
const M = t.forwardRef(({ className: a, ...e }, r) => (
|
|
66
|
-
// Hosts a consumer-provided logo (R7 — no Logo part is built). Padding and the
|
|
67
|
-
// logo height switch on expanded/collapsed; `[&_*]:h-…` sizes whatever the
|
|
68
|
-
// consumer slots in. The logo color token tints any `currentColor` mark.
|
|
69
|
-
/* @__PURE__ */ i(
|
|
70
|
-
"div",
|
|
71
|
-
{
|
|
72
|
-
ref: r,
|
|
73
|
-
className: l(
|
|
74
|
-
"flex items-center shrink-0 text-[var(--ui-sidebar-primary-global-logo-color)]",
|
|
75
|
-
"px-[var(--ui-sidebar-primary-collapsed-container-header-padding-x)] py-[var(--ui-sidebar-primary-collapsed-container-header-padding-y)]",
|
|
76
|
-
"[&_:where(img,svg)]:h-[var(--ui-sidebar-primary-collapsed-logo-height)] [&_:where(img,svg)]:w-auto",
|
|
77
|
-
"group-data-[state=expanded]/sidebar:px-[var(--ui-sidebar-primary-expanded-container-header-padding-x)] group-data-[state=expanded]/sidebar:py-[var(--ui-sidebar-primary-expanded-container-header-padding-y)]",
|
|
78
|
-
"group-data-[state=expanded]/sidebar:[&_:where(img,svg)]:h-[var(--ui-sidebar-primary-expanded-logo-height)]",
|
|
79
|
-
a
|
|
80
|
-
),
|
|
81
|
-
...e
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
));
|
|
85
|
-
M.displayName = "SidebarPrimaryHeader";
|
|
86
|
-
const k = t.forwardRef(({ className: a, children: e, ...r }, n) => (
|
|
87
|
-
// The section list scrolls inside a ScrollArea: its overlay scrollbar floats
|
|
88
|
-
// over the content and reserves no gutter, so the full-bleed selected row is
|
|
89
|
-
// never cropped — on every OS, unlike a native `overflow` scrollbar.
|
|
90
|
-
/* @__PURE__ */ i(R, { ref: n, className: l("min-h-0 flex-1", a), ...r, children: /* @__PURE__ */ i("div", { className: "flex flex-col gap-[var(--ui-sidebar-primary-global-section-list-gap)]", children: e }) })
|
|
91
|
-
));
|
|
92
|
-
k.displayName = "SidebarPrimaryContent";
|
|
93
|
-
const I = t.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ i(
|
|
94
|
-
"div",
|
|
95
|
-
{
|
|
96
|
-
ref: r,
|
|
97
|
-
className: l(
|
|
98
|
-
"flex flex-col shrink-0 gap-[var(--ui-sidebar-primary-global-footer-list-gap)]",
|
|
99
|
-
"border-t border-[var(--ui-sidebar-primary-global-container-footer-border-color)] [border-top-width:var(--ui-sidebar-primary-global-container-footer-border-width)]",
|
|
100
|
-
"py-[var(--ui-sidebar-primary-section-container-padding-y)]",
|
|
101
|
-
a
|
|
102
|
-
),
|
|
103
|
-
...e
|
|
104
|
-
}
|
|
105
|
-
));
|
|
106
|
-
I.displayName = "SidebarPrimaryFooter";
|
|
107
|
-
const z = t.forwardRef(({ className: a, ...e }, r) => (
|
|
108
|
-
// `firstSection` in Figma only toggles the top divider — derive it from DOM
|
|
109
|
-
// position (`:not(:first-child)`) instead of a prop.
|
|
110
|
-
/* @__PURE__ */ i(
|
|
111
|
-
"div",
|
|
112
|
-
{
|
|
113
|
-
ref: r,
|
|
114
|
-
className: l(
|
|
115
|
-
"flex flex-col py-[var(--ui-sidebar-primary-section-container-padding-y)]",
|
|
116
|
-
"[&:not(:first-child)]:border-t [&:not(:first-child)]:border-[var(--ui-sidebar-primary-section-container-border-color)] [&:not(:first-child)]:[border-top-width:var(--ui-sidebar-primary-section-container-border-width)]",
|
|
117
|
-
a
|
|
118
|
-
),
|
|
119
|
-
...e
|
|
120
|
-
}
|
|
121
|
-
)
|
|
122
|
-
));
|
|
123
|
-
z.displayName = "SidebarPrimarySection";
|
|
124
|
-
const T = t.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ i(
|
|
125
|
-
"ul",
|
|
126
|
-
{
|
|
127
|
-
ref: r,
|
|
128
|
-
className: l(
|
|
129
|
-
"flex flex-col gap-[var(--ui-sidebar-primary-section-menu-item-list-gap)]",
|
|
130
|
-
a
|
|
131
|
-
),
|
|
132
|
-
...e
|
|
133
|
-
}
|
|
134
|
-
));
|
|
135
|
-
T.displayName = "SidebarPrimaryMenu";
|
|
136
|
-
const N = P(
|
|
137
|
-
"group/menu-item flex w-full items-center gap-[var(--ui-sidebar-primary-menu-item-global-container-gap)] h-[var(--ui-sidebar-primary-menu-item-global-container-height)] px-[var(--ui-sidebar-primary-menu-item-global-container-padding-x)] py-[var(--ui-sidebar-primary-menu-item-global-container-padding-y)] no-underline ui-sidebar-primary-menu-item-global-label-text-style transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-brand)] focus-visible:ring-inset [&_svg]:shrink-0 [&_svg]:size-[var(--ui-sidebar-primary-menu-item-global-icon-size)]",
|
|
138
|
-
{
|
|
139
|
-
variants: {
|
|
140
|
-
variant: {
|
|
141
|
-
unselected: "bg-[var(--ui-sidebar-primary-menu-item-unselected-container-color-idle)] text-[var(--ui-sidebar-primary-menu-item-unselected-label-color-idle)] [&_svg]:text-[var(--ui-sidebar-primary-menu-item-unselected-icon-color-idle)] hover:bg-[var(--ui-sidebar-primary-menu-item-unselected-container-color-hover)] hover:text-[var(--ui-sidebar-primary-menu-item-unselected-label-color-hover)] hover:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-unselected-icon-color-hover)] active:bg-[var(--ui-sidebar-primary-menu-item-unselected-container-color-active)] active:text-[var(--ui-sidebar-primary-menu-item-unselected-label-color-active)] active:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-unselected-icon-color-active)]",
|
|
142
|
-
selected: "bg-[var(--ui-sidebar-primary-menu-item-selected-container-color-idle)] text-[var(--ui-sidebar-primary-menu-item-selected-label-color-idle)] [&_svg]:text-[var(--ui-sidebar-primary-menu-item-selected-icon-color-idle)] hover:bg-[var(--ui-sidebar-primary-menu-item-selected-container-color-hover)] hover:text-[var(--ui-sidebar-primary-menu-item-selected-label-color-hover)] hover:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-selected-icon-color-hover)] active:bg-[var(--ui-sidebar-primary-menu-item-selected-container-color-active)] active:text-[var(--ui-sidebar-primary-menu-item-selected-label-color-active)] active:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-selected-icon-color-active)]"
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
defaultVariants: {
|
|
146
|
-
variant: "unselected"
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
), C = t.forwardRef(({ className: a, selected: e = !1, icon: r, render: n, children: d, ...o }, m) => {
|
|
150
|
-
const { expanded: u } = g(), s = t.Children.toArray(d), c = s.filter(
|
|
151
|
-
(b) => t.isValidElement(b) && b.type.displayName === "SidebarPrimaryMenuItemExtras"
|
|
152
|
-
), p = s.filter(
|
|
153
|
-
(b) => !c.includes(b)
|
|
154
|
-
), v = f({
|
|
155
|
-
render: n,
|
|
156
|
-
ref: m,
|
|
157
|
-
defaultTagName: "a",
|
|
158
|
-
props: x(
|
|
159
|
-
{
|
|
160
|
-
className: l(
|
|
161
|
-
N({
|
|
162
|
-
variant: e ? "selected" : "unselected"
|
|
163
|
-
}),
|
|
164
|
-
a
|
|
165
|
-
),
|
|
166
|
-
"aria-current": e ? "page" : void 0,
|
|
167
|
-
children: /* @__PURE__ */ y(w, { children: [
|
|
168
|
-
r != null && /* @__PURE__ */ i("span", { className: "flex shrink-0 items-center self-start mt-[var(--ui-sidebar-primary-menu-item-global-icon-margin-t)]", children: r }),
|
|
169
|
-
/* @__PURE__ */ i(
|
|
170
|
-
"span",
|
|
171
|
-
{
|
|
172
|
-
className: l(
|
|
173
|
-
"min-w-0 flex-1 truncate text-left",
|
|
174
|
-
!u && "sr-only"
|
|
175
|
-
),
|
|
176
|
-
children: p
|
|
177
|
-
}
|
|
178
|
-
),
|
|
179
|
-
c.length > 0 && /* @__PURE__ */ i("span", { className: "flex shrink-0 items-center", children: c })
|
|
180
|
-
] })
|
|
181
|
-
},
|
|
182
|
-
o
|
|
183
|
-
)
|
|
184
|
-
});
|
|
185
|
-
return /* @__PURE__ */ i("li", { className: "contents", children: v });
|
|
186
|
-
});
|
|
187
|
-
C.displayName = "SidebarPrimaryMenuItem";
|
|
188
|
-
const V = t.forwardRef(({ className: a, variant: e, shortcut: r, tag: n, children: d, ...o }, m) => {
|
|
189
|
-
const { expanded: u } = g(), s = e === "tag" || e === "tag-externalLink", c = e === "externalLink" || e === "tag-externalLink", p = e === "shortcut";
|
|
190
|
-
return /* @__PURE__ */ y(
|
|
191
|
-
"span",
|
|
192
|
-
{
|
|
193
|
-
ref: m,
|
|
194
|
-
className: l(
|
|
195
|
-
"inline-flex items-center gap-[var(--ui-sidebar-primary-menu-item-extras-global-container-gap)]",
|
|
196
|
-
!u && "hidden",
|
|
197
|
-
a
|
|
198
|
-
),
|
|
199
|
-
...o,
|
|
200
|
-
children: [
|
|
201
|
-
s && (n ?? d),
|
|
202
|
-
p && /* @__PURE__ */ i("span", { className: "ui-sidebar-primary-menu-item-extras-global-shortcut-text-style text-[var(--ui-sidebar-primary-menu-item-extras-global-shortcut-color)]", children: r ?? d }),
|
|
203
|
-
c && /* @__PURE__ */ i(
|
|
204
|
-
S,
|
|
205
|
-
{
|
|
206
|
-
size: 16,
|
|
207
|
-
className: "text-[var(--ui-sidebar-primary-menu-item-extras-global-external-icon-color)] size-[var(--ui-sidebar-primary-menu-item-extras-global-external-icon-size)]"
|
|
208
|
-
}
|
|
209
|
-
)
|
|
210
|
-
]
|
|
211
|
-
}
|
|
212
|
-
);
|
|
213
|
-
});
|
|
214
|
-
V.displayName = "SidebarPrimaryMenuItemExtras";
|
|
215
|
-
const A = t.forwardRef(({ className: a, icon: e, children: r, onClick: n, ...d }, o) => {
|
|
216
|
-
const { expanded: m, toggleExpanded: u } = g();
|
|
217
|
-
return /* @__PURE__ */ i("li", { className: "contents", children: /* @__PURE__ */ y(
|
|
218
|
-
"button",
|
|
219
|
-
{
|
|
220
|
-
ref: o,
|
|
221
|
-
type: "button",
|
|
222
|
-
"aria-expanded": m,
|
|
223
|
-
className: l(
|
|
224
|
-
N({ variant: "unselected" }),
|
|
225
|
-
"text-left",
|
|
226
|
-
a
|
|
227
|
-
),
|
|
228
|
-
onClick: (s) => {
|
|
229
|
-
n == null || n(s), s.defaultPrevented || u();
|
|
230
|
-
},
|
|
231
|
-
...d,
|
|
232
|
-
children: [
|
|
233
|
-
e != null && /* @__PURE__ */ i("span", { className: "flex shrink-0 items-center self-start mt-[var(--ui-sidebar-primary-menu-item-global-icon-margin-t)]", children: e }),
|
|
234
|
-
/* @__PURE__ */ i("span", { className: l("flex-1 truncate", !m && "sr-only"), children: r })
|
|
235
|
-
]
|
|
236
|
-
}
|
|
237
|
-
) });
|
|
238
|
-
});
|
|
239
|
-
A.displayName = "SidebarPrimaryCollapseTrigger";
|
|
240
|
-
export {
|
|
241
|
-
E as SidebarPrimary,
|
|
242
|
-
A as SidebarPrimaryCollapseTrigger,
|
|
243
|
-
k as SidebarPrimaryContent,
|
|
244
|
-
I as SidebarPrimaryFooter,
|
|
245
|
-
M as SidebarPrimaryHeader,
|
|
246
|
-
T as SidebarPrimaryMenu,
|
|
247
|
-
C as SidebarPrimaryMenuItem,
|
|
248
|
-
V as SidebarPrimaryMenuItemExtras,
|
|
249
|
-
z as SidebarPrimarySection,
|
|
250
|
-
N as sidebarPrimaryMenuItemVariants
|
|
251
|
-
};
|
|
252
|
-
//# sourceMappingURL=sidebar-primary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-primary.js","sources":["../../../../src/components/ui/sidebar-primary/sidebar-primary.tsx"],"sourcesContent":["import * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { SquareArrowUpRightIcon } from '@acronis-platform/icons-react/stroke-mono';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nimport { ScrollArea } from '../scroll-area';\n\n// Composable SidebarPrimary primitives mirroring the Figma \"SidebarPrimary\"\n// component set (node 2092:4359, variant expanded|collapsed). Every color and\n// metric is wired to a next-gen `--ui-sidebar-primary-*` token from\n// @acronis-platform/tokens-pd — no hex, no invented tokens.\n//\n// expanded/collapsed is a width-reflow state, not a panel show/hide, so it is\n// modelled as a controlled/uncontrolled `expanded` prop (default true) that sets\n// `data-state=\"expanded|collapsed\"` on the root. Every metric token has a\n// distinct `collapsed-*` / `expanded-*` name, switched via `data-[state=…]`\n// attribute selectors — Base UI Collapsible would fight this (it hides a panel;\n// the rail never hides). Layout state is shared to descendants through a small\n// context so menu items know whether to show or `sr-only` their label/extras.\n//\n// R2 (menu-item border-radius): the token tier ships no radius token. Verified\n// against the Figma node — the menu-item COMPONENT and its container frame both\n// report cornerRadius=None (the only radius in the node is the COMPONENT_SET's\n// own variant-container chrome). Rows are therefore SQUARE; no `rounded-*` is\n// applied. The focus ring uses the shared `--ui-focus-brand` (no sidebar focus\n// token exists — R1), matching Button/Breadcrumb.\n\ninterface SidebarPrimaryContextValue {\n expanded: boolean;\n /** Flip the rail width — drives the controlled/uncontrolled `expanded` state. */\n toggleExpanded: () => void;\n}\n\nconst SidebarPrimaryContext =\n React.createContext<SidebarPrimaryContextValue | null>(null);\n\nfunction useSidebarPrimaryContext(): SidebarPrimaryContextValue {\n // Default to expanded so parts render standalone (e.g. in isolation tests /\n // stories) without a wrapping root; the toggle is a no-op outside a root.\n return (\n React.useContext(SidebarPrimaryContext) ?? {\n expanded: true,\n toggleExpanded: () => {},\n }\n );\n}\n\n/**\n * Controlled + uncontrolled boolean state (the Base UI idiom). When `controlled`\n * is provided it wins and the setter only emits the change callback; otherwise\n * the setter updates internal state. `onChange` is ALWAYS invoked with the next\n * value so a consumer can react in either mode.\n */\nfunction useControllableBoolean(\n controlled: boolean | undefined,\n defaultValue: boolean,\n onChange?: (next: boolean) => void\n): [boolean, (next: boolean) => void] {\n const [uncontrolled, setUncontrolled] = React.useState(defaultValue);\n const isControlled = controlled !== undefined;\n const value = isControlled ? controlled : uncontrolled;\n const setValue = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolled(next);\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n return [value, setValue];\n}\n\nexport interface SidebarPrimaryProps\n extends React.ComponentPropsWithoutRef<'nav'> {\n /** Controlled expanded (rail width) state. */\n expanded?: boolean;\n /** Uncontrolled initial expanded state. Defaults to `true` (full width). */\n defaultExpanded?: boolean;\n /** Fires when the expanded state changes (e.g. a consumer toggle). */\n onExpandedChange?: (expanded: boolean) => void;\n /**\n * Replace the rendered `<nav>` with another element or component\n * (Base UI composition). Accepts a React element or a render function.\n */\n render?: useRender.RenderProp;\n}\n\nconst SidebarPrimary = React.forwardRef<HTMLElement, SidebarPrimaryProps>(\n (\n {\n className,\n expanded: expandedProp,\n defaultExpanded = true,\n onExpandedChange,\n 'aria-label': ariaLabel = 'Primary',\n render,\n children,\n ...props\n },\n ref\n ) => {\n const [expanded, setExpanded] = useControllableBoolean(\n expandedProp,\n defaultExpanded,\n onExpandedChange\n );\n\n // Collapse is driven by the consumer through the layout context — the\n // `SidebarPrimaryCollapseTrigger` (the Figma \"Collapse menu\" footer item)\n // calls `toggleExpanded`, which updates uncontrolled state and always emits\n // `onExpandedChange`. Controlled consumers ignore the internal state and\n // react to the callback.\n const context = React.useMemo<SidebarPrimaryContextValue>(\n () => ({ expanded, toggleExpanded: () => setExpanded(!expanded) }),\n [expanded, setExpanded]\n );\n\n const element = useRender({\n render,\n ref,\n defaultTagName: 'nav',\n props: mergeProps<'nav'>(\n {\n 'aria-label': ariaLabel,\n // `data-state` drives every collapsed/expanded token switch via\n // attribute selectors; typed loosely because React's nav attribute\n // map doesn't include arbitrary data-* keys as literals.\n ...({ 'data-state': expanded ? 'expanded' : 'collapsed' } as Record<\n string,\n string\n >),\n className: cn(\n 'group/sidebar flex h-full flex-col bg-[var(--ui-sidebar-primary-global-container-color)] w-[var(--ui-sidebar-primary-collapsed-container-width)] data-[state=expanded]:w-[var(--ui-sidebar-primary-expanded-container-width)] transition-[width]',\n className\n ),\n children,\n },\n props\n ),\n });\n\n return (\n <SidebarPrimaryContext.Provider value={context}>\n {element}\n </SidebarPrimaryContext.Provider>\n );\n }\n);\nSidebarPrimary.displayName = 'SidebarPrimary';\n\nconst SidebarPrimaryHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n // Hosts a consumer-provided logo (R7 — no Logo part is built). Padding and the\n // logo height switch on expanded/collapsed; `[&_*]:h-…` sizes whatever the\n // consumer slots in. The logo color token tints any `currentColor` mark.\n <div\n ref={ref}\n className={cn(\n 'flex items-center shrink-0 text-[var(--ui-sidebar-primary-global-logo-color)]',\n 'px-[var(--ui-sidebar-primary-collapsed-container-header-padding-x)] py-[var(--ui-sidebar-primary-collapsed-container-header-padding-y)]',\n '[&_:where(img,svg)]:h-[var(--ui-sidebar-primary-collapsed-logo-height)] [&_:where(img,svg)]:w-auto',\n 'group-data-[state=expanded]/sidebar:px-[var(--ui-sidebar-primary-expanded-container-header-padding-x)] group-data-[state=expanded]/sidebar:py-[var(--ui-sidebar-primary-expanded-container-header-padding-y)]',\n 'group-data-[state=expanded]/sidebar:[&_:where(img,svg)]:h-[var(--ui-sidebar-primary-expanded-logo-height)]',\n className\n )}\n {...props}\n />\n));\nSidebarPrimaryHeader.displayName = 'SidebarPrimaryHeader';\n\nconst SidebarPrimaryContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, children, ...props }, ref) => (\n // The section list scrolls inside a ScrollArea: its overlay scrollbar floats\n // over the content and reserves no gutter, so the full-bleed selected row is\n // never cropped — on every OS, unlike a native `overflow` scrollbar.\n <ScrollArea ref={ref} className={cn('min-h-0 flex-1', className)} {...props}>\n <div className=\"flex flex-col gap-[var(--ui-sidebar-primary-global-section-list-gap)]\">\n {children}\n </div>\n </ScrollArea>\n));\nSidebarPrimaryContent.displayName = 'SidebarPrimaryContent';\n\nconst SidebarPrimaryFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col shrink-0 gap-[var(--ui-sidebar-primary-global-footer-list-gap)]',\n 'border-t border-[var(--ui-sidebar-primary-global-container-footer-border-color)] [border-top-width:var(--ui-sidebar-primary-global-container-footer-border-width)]',\n 'py-[var(--ui-sidebar-primary-section-container-padding-y)]',\n className\n )}\n {...props}\n />\n));\nSidebarPrimaryFooter.displayName = 'SidebarPrimaryFooter';\n\nconst SidebarPrimarySection = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n // `firstSection` in Figma only toggles the top divider — derive it from DOM\n // position (`:not(:first-child)`) instead of a prop.\n <div\n ref={ref}\n className={cn(\n 'flex flex-col py-[var(--ui-sidebar-primary-section-container-padding-y)]',\n '[&:not(:first-child)]:border-t [&:not(:first-child)]:border-[var(--ui-sidebar-primary-section-container-border-color)] [&:not(:first-child)]:[border-top-width:var(--ui-sidebar-primary-section-container-border-width)]',\n className\n )}\n {...props}\n />\n));\nSidebarPrimarySection.displayName = 'SidebarPrimarySection';\n\nconst SidebarPrimaryMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<'ul'>\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn(\n 'flex flex-col gap-[var(--ui-sidebar-primary-section-menu-item-list-gap)]',\n className\n )}\n {...props}\n />\n));\nSidebarPrimaryMenu.displayName = 'SidebarPrimaryMenu';\n\n// Primary recolors the container, the icon AND the label per variant\n// (selected|unselected) × interaction state (idle/hover/active). Every state is\n// wired to its own token even where acronis's value is unchanged, because these\n// are runtime `var()` references — a brand override is only honored if the\n// matching state token is referenced. (This is why Primary cannot share a cva\n// with Secondary, which recolors only the container — DESIGN §6.2.)\nconst sidebarPrimaryMenuItemVariants = cva(\n 'group/menu-item flex w-full items-center gap-[var(--ui-sidebar-primary-menu-item-global-container-gap)] h-[var(--ui-sidebar-primary-menu-item-global-container-height)] px-[var(--ui-sidebar-primary-menu-item-global-container-padding-x)] py-[var(--ui-sidebar-primary-menu-item-global-container-padding-y)] no-underline ui-sidebar-primary-menu-item-global-label-text-style transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ui-focus-brand)] focus-visible:ring-inset [&_svg]:shrink-0 [&_svg]:size-[var(--ui-sidebar-primary-menu-item-global-icon-size)]',\n {\n variants: {\n variant: {\n unselected:\n 'bg-[var(--ui-sidebar-primary-menu-item-unselected-container-color-idle)] text-[var(--ui-sidebar-primary-menu-item-unselected-label-color-idle)] [&_svg]:text-[var(--ui-sidebar-primary-menu-item-unselected-icon-color-idle)] hover:bg-[var(--ui-sidebar-primary-menu-item-unselected-container-color-hover)] hover:text-[var(--ui-sidebar-primary-menu-item-unselected-label-color-hover)] hover:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-unselected-icon-color-hover)] active:bg-[var(--ui-sidebar-primary-menu-item-unselected-container-color-active)] active:text-[var(--ui-sidebar-primary-menu-item-unselected-label-color-active)] active:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-unselected-icon-color-active)]',\n selected:\n 'bg-[var(--ui-sidebar-primary-menu-item-selected-container-color-idle)] text-[var(--ui-sidebar-primary-menu-item-selected-label-color-idle)] [&_svg]:text-[var(--ui-sidebar-primary-menu-item-selected-icon-color-idle)] hover:bg-[var(--ui-sidebar-primary-menu-item-selected-container-color-hover)] hover:text-[var(--ui-sidebar-primary-menu-item-selected-label-color-hover)] hover:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-selected-icon-color-hover)] active:bg-[var(--ui-sidebar-primary-menu-item-selected-container-color-active)] active:text-[var(--ui-sidebar-primary-menu-item-selected-label-color-active)] active:[&_svg]:text-[var(--ui-sidebar-primary-menu-item-selected-icon-color-active)]',\n },\n },\n defaultVariants: {\n variant: 'unselected',\n },\n }\n);\n\nexport interface SidebarPrimaryMenuItemProps\n extends Omit<React.ComponentPropsWithoutRef<'a'>, 'children'>,\n Omit<VariantProps<typeof sidebarPrimaryMenuItemVariants>, 'variant'> {\n /** Marks the current route: sets the `selected` variant + `aria-current=\"page\"`. */\n selected?: boolean;\n /** Leading 16px icon (from `@acronis-platform/icons-react`). */\n icon?: React.ReactNode;\n children?: React.ReactNode;\n /**\n * Replace the rendered `<a>` with another element or component (e.g. a router\n * `Link` or a `<button>`) via Base UI composition.\n */\n render?: useRender.RenderProp;\n}\n\nconst SidebarPrimaryMenuItem = React.forwardRef<\n HTMLAnchorElement,\n SidebarPrimaryMenuItemProps\n>(({ className, selected = false, icon, render, children, ...props }, ref) => {\n const { expanded } = useSidebarPrimaryContext();\n\n // Trailing extras (tag / shortcut / external link) are passed as children but\n // belong at the right edge of the row — split them out so the title takes the\n // remaining width and truncates with an ellipsis, while the extras stay\n // `shrink-0` on the right (the row's `gap` is their left margin).\n const items = React.Children.toArray(children);\n const extras = items.filter(\n (child): child is React.ReactElement =>\n React.isValidElement(child) &&\n (child.type as { displayName?: string }).displayName ===\n 'SidebarPrimaryMenuItemExtras'\n );\n const label = items.filter(\n (child) => !extras.includes(child as React.ReactElement)\n );\n\n const inner = useRender({\n render,\n ref,\n defaultTagName: 'a',\n props: mergeProps<'a'>(\n {\n className: cn(\n sidebarPrimaryMenuItemVariants({\n variant: selected ? 'selected' : 'unselected',\n }),\n className\n ),\n 'aria-current': selected ? 'page' : undefined,\n children: (\n <>\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-primary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n {/* Keep the label in the DOM in collapsed/rail mode as `sr-only` so\n the icon-only row keeps an accessible name (a11y §7) — never\n `display:none` the text. Extras are visually dropped when\n collapsed but stay queryable for the same reason. */}\n <span\n className={cn(\n 'min-w-0 flex-1 truncate text-left',\n !expanded && 'sr-only'\n )}\n >\n {label}\n </span>\n {extras.length > 0 && (\n <span className=\"flex shrink-0 items-center\">{extras}</span>\n )}\n </>\n ),\n },\n props\n ),\n });\n\n return <li className=\"contents\">{inner}</li>;\n});\nSidebarPrimaryMenuItem.displayName = 'SidebarPrimaryMenuItem';\n\nexport interface SidebarPrimaryMenuItemExtrasProps\n extends React.ComponentPropsWithoutRef<'span'> {\n /** Which trailing affordance to render. */\n variant: 'tag' | 'externalLink' | 'shortcut' | 'tag-externalLink';\n /** Shortcut text (e.g. \"⌘H\") for the `shortcut` variant. */\n shortcut?: string;\n /** Tag content for the `tag` / `tag-externalLink` variants. */\n tag?: React.ReactNode;\n}\n\nconst SidebarPrimaryMenuItemExtras = React.forwardRef<\n HTMLSpanElement,\n SidebarPrimaryMenuItemExtrasProps\n>(({ className, variant, shortcut, tag, children, ...props }, ref) => {\n const { expanded } = useSidebarPrimaryContext();\n const showTag = variant === 'tag' || variant === 'tag-externalLink';\n const showExternal =\n variant === 'externalLink' || variant === 'tag-externalLink';\n const showShortcut = variant === 'shortcut';\n\n return (\n <span\n ref={ref}\n // The extras cluster is rail-mode noise — drop it when collapsed.\n className={cn(\n 'inline-flex items-center gap-[var(--ui-sidebar-primary-menu-item-extras-global-container-gap)]',\n !expanded && 'hidden',\n className\n )}\n {...props}\n >\n {showTag && (tag ?? children)}\n {showShortcut && (\n <span className=\"ui-sidebar-primary-menu-item-extras-global-shortcut-text-style text-[var(--ui-sidebar-primary-menu-item-extras-global-shortcut-color)]\">\n {shortcut ?? children}\n </span>\n )}\n {showExternal && (\n <SquareArrowUpRightIcon\n size={16}\n className=\"text-[var(--ui-sidebar-primary-menu-item-extras-global-external-icon-color)] size-[var(--ui-sidebar-primary-menu-item-extras-global-external-icon-size)]\"\n />\n )}\n </span>\n );\n});\nSidebarPrimaryMenuItemExtras.displayName = 'SidebarPrimaryMenuItemExtras';\n\nexport interface SidebarPrimaryCollapseTriggerProps\n extends Omit<React.ComponentPropsWithoutRef<'button'>, 'children'> {\n /** Leading 16px icon (e.g. a panel-left glyph). */\n icon?: React.ReactNode;\n children?: React.ReactNode;\n}\n\n// The footer \"Collapse menu\" affordance (Figma). A menu-item-styled `<button>`\n// that flips the rail width via the layout context — this is the live wiring\n// for the controllable `expanded` state (B1). In collapsed mode it keeps its\n// label as `sr-only` like every other row.\nconst SidebarPrimaryCollapseTrigger = React.forwardRef<\n HTMLButtonElement,\n SidebarPrimaryCollapseTriggerProps\n>(({ className, icon, children, onClick, ...props }, ref) => {\n const { expanded, toggleExpanded } = useSidebarPrimaryContext();\n\n return (\n <li className=\"contents\">\n <button\n ref={ref}\n type=\"button\"\n aria-expanded={expanded}\n className={cn(\n sidebarPrimaryMenuItemVariants({ variant: 'unselected' }),\n 'text-left',\n className\n )}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) toggleExpanded();\n }}\n {...props}\n >\n {icon != null && (\n <span className=\"flex shrink-0 items-center self-start mt-[var(--ui-sidebar-primary-menu-item-global-icon-margin-t)]\">\n {icon}\n </span>\n )}\n <span className={cn('flex-1 truncate', !expanded && 'sr-only')}>\n {children}\n </span>\n </button>\n </li>\n );\n});\nSidebarPrimaryCollapseTrigger.displayName = 'SidebarPrimaryCollapseTrigger';\n\nexport {\n SidebarPrimary,\n SidebarPrimaryHeader,\n SidebarPrimaryContent,\n SidebarPrimaryFooter,\n SidebarPrimarySection,\n SidebarPrimaryMenu,\n SidebarPrimaryMenuItem,\n SidebarPrimaryMenuItemExtras,\n SidebarPrimaryCollapseTrigger,\n sidebarPrimaryMenuItemVariants,\n};\n"],"names":["SidebarPrimaryContext","React","useSidebarPrimaryContext","useControllableBoolean","controlled","defaultValue","onChange","uncontrolled","setUncontrolled","isControlled","value","setValue","next","SidebarPrimary","className","expandedProp","defaultExpanded","onExpandedChange","ariaLabel","render","children","props","ref","expanded","setExpanded","context","element","useRender","mergeProps","cn","SidebarPrimaryHeader","jsx","SidebarPrimaryContent","ScrollArea","SidebarPrimaryFooter","SidebarPrimarySection","SidebarPrimaryMenu","sidebarPrimaryMenuItemVariants","cva","SidebarPrimaryMenuItem","selected","icon","items","extras","child","label","inner","jsxs","Fragment","SidebarPrimaryMenuItemExtras","variant","shortcut","tag","showTag","showExternal","showShortcut","SquareArrowUpRightIcon","SidebarPrimaryCollapseTrigger","onClick","toggleExpanded","event"],"mappings":"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"}
|