@astral/ui 4.72.0 → 4.73.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/components/PageAside/MobileAsideButton/MobileAsideButton.d.ts +6 -0
- package/components/PageAside/MobileAsideButton/MobileAsideButton.js +13 -0
- package/components/PageAside/MobileAsideButton/index.d.ts +1 -0
- package/components/PageAside/MobileAsideButton/index.js +1 -0
- package/components/PageAside/MobileAsideButton/styles.d.ts +22 -0
- package/components/PageAside/MobileAsideButton/styles.js +31 -0
- package/components/PageAside/PageAside.d.ts +2 -9
- package/components/PageAside/PageAside.js +21 -4
- package/components/PageAside/constants.d.ts +5 -0
- package/components/PageAside/constants.js +6 -0
- package/components/PageAside/hooks/index.d.ts +1 -0
- package/components/PageAside/hooks/index.js +1 -0
- package/components/PageAside/hooks/usePageAside/index.d.ts +1 -0
- package/components/PageAside/hooks/usePageAside/index.js +1 -0
- package/components/PageAside/hooks/usePageAside/usePageAside.d.ts +9 -0
- package/components/PageAside/hooks/usePageAside/usePageAside.js +17 -0
- package/components/PageAside/index.d.ts +4 -0
- package/components/PageAside/index.js +3 -0
- package/components/PageAside/public.d.ts +3 -1
- package/components/PageAside/public.js +1 -0
- package/components/PageAside/styles.d.ts +15 -0
- package/components/PageAside/styles.js +36 -7
- package/components/PageAside/types.d.ts +24 -0
- package/components/PageAside/types.js +1 -0
- package/components/PageAsideBlock/styles.js +2 -2
- package/components/PageAsideNavigation/PageAsideNavigation.d.ts +2 -0
- package/components/PageAsideNavigation/PageAsideNavigation.js +9 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/PageAsideNavigationItem.d.ts +18 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/PageAsideNavigationItem.js +18 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/constants.d.ts +4 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/constants.js +5 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/index.d.ts +3 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/index.js +2 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/styles.d.ts +9 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/styles.js +113 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/types.d.ts +26 -0
- package/components/PageAsideNavigation/PageAsideNavigationItem/types.js +1 -0
- package/components/PageAsideNavigation/constants.d.ts +3 -0
- package/components/PageAsideNavigation/constants.js +4 -0
- package/components/PageAsideNavigation/index.d.ts +4 -0
- package/components/PageAsideNavigation/index.js +3 -0
- package/components/PageAsideNavigation/public.d.ts +3 -0
- package/components/PageAsideNavigation/public.js +3 -0
- package/components/PageAsideNavigation/styles.d.ts +13 -0
- package/components/PageAsideNavigation/styles.js +48 -0
- package/components/PageAsideNavigation/types.d.ts +17 -0
- package/components/PageAsideNavigation/types.js +1 -0
- package/components/PageHeader/HeaderContent/styles.js +0 -2
- package/components/PageHeader/PageHeader.js +11 -1
- package/components/PageHeader/styles.js +7 -5
- package/components/PagePinnableAside/PagePinnableAside.d.ts +1 -1
- package/components/PagePinnableAside/PagePinnableAside.js +16 -4
- package/components/PagePinnableAside/constants.d.ts +2 -0
- package/components/PagePinnableAside/constants.js +2 -0
- package/components/PagePinnableAside/styles.js +8 -11
- package/components/PagePinnableAside/types.d.ts +17 -1
- package/components/PagePinnableAside/useLogic/useLogic.d.ts +4 -2
- package/components/PagePinnableAside/useLogic/useLogic.js +10 -2
- package/components/Tabs/Tabs.js +2 -2
- package/components/Tabs/hooks/index.d.ts +1 -1
- package/components/Tabs/hooks/index.js +1 -1
- package/components/useScrollToActiveElement/index.d.ts +1 -0
- package/components/useScrollToActiveElement/index.js +1 -0
- package/components/useScrollToActiveElement/useScrollToActiveElement.d.ts +9 -0
- package/components/useScrollToActiveElement/useScrollToActiveElement.js +29 -0
- package/node/components/PageAside/MobileAsideButton/MobileAsideButton.d.ts +6 -0
- package/node/components/PageAside/MobileAsideButton/MobileAsideButton.js +17 -0
- package/node/components/PageAside/MobileAsideButton/index.d.ts +1 -0
- package/node/components/PageAside/MobileAsideButton/index.js +5 -0
- package/node/components/PageAside/MobileAsideButton/styles.d.ts +22 -0
- package/node/components/PageAside/MobileAsideButton/styles.js +34 -0
- package/node/components/PageAside/PageAside.d.ts +2 -9
- package/node/components/PageAside/PageAside.js +19 -2
- package/node/components/PageAside/constants.d.ts +5 -0
- package/node/components/PageAside/constants.js +7 -1
- package/node/components/PageAside/hooks/index.d.ts +1 -0
- package/node/components/{Tabs/hooks/useScrollToActiveTab → PageAside/hooks}/index.js +1 -1
- package/node/components/PageAside/hooks/usePageAside/index.d.ts +1 -0
- package/node/components/PageAside/hooks/usePageAside/index.js +17 -0
- package/node/components/PageAside/hooks/usePageAside/usePageAside.d.ts +9 -0
- package/node/components/PageAside/hooks/usePageAside/usePageAside.js +21 -0
- package/node/components/PageAside/index.d.ts +4 -0
- package/node/components/PageAside/index.js +7 -1
- package/node/components/PageAside/public.d.ts +3 -1
- package/node/components/PageAside/public.js +3 -1
- package/node/components/PageAside/styles.d.ts +15 -0
- package/node/components/PageAside/styles.js +38 -9
- package/node/components/PageAside/types.d.ts +24 -0
- package/node/components/PageAside/types.js +2 -0
- package/node/components/PageAsideBlock/styles.js +2 -2
- package/node/components/PageAsideNavigation/PageAsideNavigation.d.ts +2 -0
- package/node/components/PageAsideNavigation/PageAsideNavigation.js +13 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/PageAsideNavigationItem.d.ts +18 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/PageAsideNavigationItem.js +22 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/constants.d.ts +4 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/constants.js +8 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/index.d.ts +3 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/index.js +7 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/styles.d.ts +9 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/styles.js +116 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/types.d.ts +26 -0
- package/node/components/PageAsideNavigation/PageAsideNavigationItem/types.js +2 -0
- package/node/components/PageAsideNavigation/constants.d.ts +3 -0
- package/node/components/PageAsideNavigation/constants.js +7 -0
- package/node/components/PageAsideNavigation/index.d.ts +4 -0
- package/node/components/PageAsideNavigation/index.js +10 -0
- package/node/components/PageAsideNavigation/public.d.ts +3 -0
- package/node/components/PageAsideNavigation/public.js +10 -0
- package/node/components/PageAsideNavigation/styles.d.ts +13 -0
- package/node/components/PageAsideNavigation/styles.js +51 -0
- package/node/components/PageAsideNavigation/types.d.ts +17 -0
- package/node/components/PageAsideNavigation/types.js +2 -0
- package/node/components/PageHeader/HeaderContent/styles.js +0 -2
- package/node/components/PageHeader/PageHeader.js +11 -1
- package/node/components/PageHeader/styles.js +18 -16
- package/node/components/PagePinnableAside/PagePinnableAside.d.ts +1 -1
- package/node/components/PagePinnableAside/PagePinnableAside.js +16 -4
- package/node/components/PagePinnableAside/constants.d.ts +2 -0
- package/node/components/PagePinnableAside/constants.js +2 -0
- package/node/components/PagePinnableAside/styles.js +10 -13
- package/node/components/PagePinnableAside/types.d.ts +17 -1
- package/node/components/PagePinnableAside/useLogic/useLogic.d.ts +4 -2
- package/node/components/PagePinnableAside/useLogic/useLogic.js +10 -2
- package/node/components/Tabs/Tabs.js +2 -2
- package/node/components/Tabs/hooks/index.d.ts +1 -1
- package/node/components/Tabs/hooks/index.js +1 -1
- package/node/components/useScrollToActiveElement/index.d.ts +1 -0
- package/node/components/useScrollToActiveElement/index.js +17 -0
- package/node/components/useScrollToActiveElement/useScrollToActiveElement.d.ts +9 -0
- package/node/components/useScrollToActiveElement/useScrollToActiveElement.js +33 -0
- package/package.json +1 -1
- package/components/DashboardLayout/Sidebar/MenuSidebarButton/types.d.ts +0 -0
- package/components/DashboardLayout/Sidebar/MenuSidebarButton/types.js +0 -1
- package/components/DashboardLayout/Sidebar/Sidebar.d.ts +0 -0
- package/components/DashboardLayout/Sidebar/Sidebar.js +0 -1
- package/components/Tabs/hooks/useScrollToActiveTab/index.d.ts +0 -1
- package/components/Tabs/hooks/useScrollToActiveTab/index.js +0 -1
- package/components/Tabs/hooks/useScrollToActiveTab/useScrollToActiveTab.d.ts +0 -4
- package/components/Tabs/hooks/useScrollToActiveTab/useScrollToActiveTab.js +0 -24
- package/node/components/DashboardLayout/Sidebar/MenuSidebarButton/types.d.ts +0 -0
- package/node/components/DashboardLayout/Sidebar/MenuSidebarButton/types.js +0 -1
- package/node/components/DashboardLayout/Sidebar/Sidebar.d.ts +0 -0
- package/node/components/DashboardLayout/Sidebar/Sidebar.js +0 -1
- package/node/components/Tabs/hooks/useScrollToActiveTab/index.d.ts +0 -1
- package/node/components/Tabs/hooks/useScrollToActiveTab/useScrollToActiveTab.d.ts +0 -4
- package/node/components/Tabs/hooks/useScrollToActiveTab/useScrollToActiveTab.js +0 -28
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PageAside = void 0;
|
|
3
|
+
exports.PageAside = exports.pageAsideClassnames = void 0;
|
|
4
|
+
var constants_1 = require("./constants");
|
|
5
|
+
Object.defineProperty(exports, "pageAsideClassnames", { enumerable: true, get: function () { return constants_1.pageAsideClassnames; } });
|
|
4
6
|
var PageAside_1 = require("./PageAside");
|
|
5
7
|
Object.defineProperty(exports, "PageAside", { enumerable: true, get: function () { return PageAside_1.PageAside; } });
|
|
@@ -3,3 +3,18 @@ export declare const Wrapper: import("@emotion/styled/dist/declarations/src/type
|
|
|
3
3
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
4
|
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
5
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
|
|
6
|
+
export declare const MobileAsideHeader: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
10
|
+
export declare const AsideHeader: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
11
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
12
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
13
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
14
|
+
export declare const StyledDivider: import("@emotion/styled/dist/declarations/src/types").StyledComponent<import("../Divider").DividerProps & {
|
|
15
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
16
|
+
}, {}, {}>;
|
|
17
|
+
export declare const MobileAsideNavigation: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
18
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
19
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
20
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,32 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Wrapper = void 0;
|
|
3
|
+
exports.MobileAsideNavigation = exports.StyledDivider = exports.AsideHeader = exports.MobileAsideHeader = exports.Wrapper = void 0;
|
|
4
|
+
const Divider_1 = require("../Divider");
|
|
5
|
+
const constants_1 = require("../PageAsideNavigation/constants");
|
|
4
6
|
const styled_1 = require("../styled");
|
|
5
|
-
const
|
|
7
|
+
const constants_2 = require("./constants");
|
|
6
8
|
exports.Wrapper = styled_1.styled.aside `
|
|
7
9
|
overflow: auto;
|
|
8
10
|
grid-column: 2;
|
|
9
11
|
grid-row: 2;
|
|
10
12
|
|
|
11
|
-
width: ${
|
|
13
|
+
width: ${constants_2.PAGE_ASIDE_WIDTH};
|
|
12
14
|
padding: ${({ theme }) => theme.spacing(4, 6)};
|
|
13
15
|
|
|
14
16
|
border-top: 1px solid ${({ theme }) => theme.palette.components.border.default};
|
|
15
17
|
border-left: 1px solid ${({ theme }) => theme.palette.components.border.default};
|
|
16
18
|
|
|
19
|
+
&.${constants_2.pageAsideClassnames.withHeader} {
|
|
20
|
+
& .${constants_1.pageAsideNavigationClassnames.root} {
|
|
21
|
+
padding-top: ${({ theme }) => theme.spacing(5)};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
17
25
|
${({ theme }) => theme.breakpoints.down('laptop')} {
|
|
18
26
|
padding: ${({ theme }) => theme.spacing(4)};
|
|
19
27
|
}
|
|
20
28
|
|
|
21
29
|
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
22
|
-
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
exports.MobileAsideHeader = styled_1.styled.div `
|
|
34
|
+
display: none;
|
|
35
|
+
|
|
36
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
37
|
+
display: block;
|
|
23
38
|
order: 3;
|
|
24
39
|
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
padding: ${({ theme }) => theme.microSpacing(0, 8, 5)};
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
exports.AsideHeader = styled_1.styled.div `
|
|
44
|
+
position: relative;
|
|
45
|
+
|
|
46
|
+
padding: ${({ theme }) => theme.spacing(1, 0, 4)};
|
|
47
|
+
`;
|
|
48
|
+
exports.StyledDivider = (0, styled_1.styled)(Divider_1.Divider) `
|
|
49
|
+
position: absolute;
|
|
50
|
+
bottom: 0;
|
|
51
|
+
left: ${({ theme }) => theme.spacing(-6)};
|
|
27
52
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
53
|
+
width: ${({ theme }) => `calc(100% + ${theme.spacing(12)})`};
|
|
54
|
+
`;
|
|
55
|
+
exports.MobileAsideNavigation = styled_1.styled.div `
|
|
56
|
+
display: none;
|
|
57
|
+
|
|
58
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
59
|
+
display: block;
|
|
31
60
|
}
|
|
32
61
|
`;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export type PageAsideProps = {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Название класса, применяется к корневому компоненту
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Заголовок боковой панели
|
|
10
|
+
*/
|
|
11
|
+
header?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Компонент для отображения навигации
|
|
14
|
+
* @example
|
|
15
|
+
* <PageAside navigation={
|
|
16
|
+
* <PageAsideNavigation>
|
|
17
|
+
* <PageAsideNavigationItem>
|
|
18
|
+
* Home
|
|
19
|
+
* </PageAsideNavigationItem>
|
|
20
|
+
* </PageAsideNavigation>}
|
|
21
|
+
* />
|
|
22
|
+
*/
|
|
23
|
+
navigation?: ReactNode;
|
|
24
|
+
};
|
|
@@ -25,11 +25,11 @@ exports.Wrapper = styled_1.styled.div `
|
|
|
25
25
|
padding: ${({ theme }) => theme.spacing(4, 0)};
|
|
26
26
|
|
|
27
27
|
:first-of-type {
|
|
28
|
-
padding: ${({ theme }) => theme.spacing(
|
|
28
|
+
padding: ${({ theme }) => theme.spacing(0, 0, 4)};
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
:last-of-type {
|
|
32
|
-
padding: ${({ theme }) => theme.spacing(4, 0,
|
|
32
|
+
padding: ${({ theme }) => theme.spacing(4, 0, 0)};
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
`;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageAsideNavigation = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const useScrollToActiveElement_1 = require("../useScrollToActiveElement");
|
|
6
|
+
const classNames_1 = require("../utils/classNames");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
const styles_1 = require("./styles");
|
|
9
|
+
const PageAsideNavigation = ({ addonNavigation, children, className, addonNavigationPosition = 'start', }) => {
|
|
10
|
+
const { containerRef } = (0, useScrollToActiveElement_1.useScrollToActiveElement)();
|
|
11
|
+
return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { className: (0, classNames_1.classNames)(constants_1.pageAsideNavigationClassnames.root, className), children: [addonNavigationPosition === 'start' && addonNavigation && ((0, jsx_runtime_1.jsx)(styles_1.AddonNavigationWrapper, { children: addonNavigation })), (0, jsx_runtime_1.jsx)(styles_1.NavigationList, { ref: containerRef, children: children }), addonNavigationPosition === 'end' && addonNavigation && ((0, jsx_runtime_1.jsx)(styles_1.AddonNavigationWrapper, { children: addonNavigation }))] }));
|
|
12
|
+
};
|
|
13
|
+
exports.PageAsideNavigation = PageAsideNavigation;
|
package/node/components/PageAsideNavigation/PageAsideNavigationItem/PageAsideNavigationItem.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ElementType, type ForwardedRef } from 'react';
|
|
2
|
+
import { type PageAsideNavigationItemProps } from './types';
|
|
3
|
+
export declare const PageAsideNavigationItemInner: <TComponent extends ElementType = "a">({ children, component, icon, onClick, isActive, className, ...props }: PageAsideNavigationItemProps<TComponent>, ref: ForwardedRef<TComponent>) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const PageAsideNavigationItem: <TComponent extends ElementType = "a">(props: {
|
|
5
|
+
children: import("react").ReactNode;
|
|
6
|
+
className?: string | undefined;
|
|
7
|
+
isActive?: boolean | undefined;
|
|
8
|
+
onClick?: (() => void) | undefined;
|
|
9
|
+
icon?: import("react").ReactNode;
|
|
10
|
+
component?: TComponent | undefined;
|
|
11
|
+
} & Omit<import("react").ComponentPropsWithRef<TComponent>, keyof {
|
|
12
|
+
children: import("react").ReactNode;
|
|
13
|
+
className?: string | undefined;
|
|
14
|
+
isActive?: boolean | undefined;
|
|
15
|
+
onClick?: (() => void) | undefined;
|
|
16
|
+
icon?: import("react").ReactNode;
|
|
17
|
+
component?: ElementType | undefined;
|
|
18
|
+
}> & import("react").RefAttributes<TComponent>) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
|
package/node/components/PageAsideNavigation/PageAsideNavigationItem/PageAsideNavigationItem.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageAsideNavigationItem = exports.PageAsideNavigationItemInner = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const forwardRefWithGeneric_1 = require("../../forwardRefWithGeneric");
|
|
6
|
+
const OverflowTypography_1 = require("../../OverflowTypography");
|
|
7
|
+
const cva_1 = require("../../utils/cva");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const styles_1 = require("./styles");
|
|
10
|
+
const itemCva = (0, cva_1.cva)(constants_1.pageAsideNavigationItemClassnames.root, {
|
|
11
|
+
variants: {
|
|
12
|
+
isActive: {
|
|
13
|
+
true: constants_1.pageAsideNavigationItemClassnames.isActive,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
const PageAsideNavigationItemInner = ({ children, component, icon, onClick, isActive, className, ...props }, ref) => {
|
|
18
|
+
const Component = component ?? 'a';
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(styles_1.Wrapper, { className: className, children: (0, jsx_runtime_1.jsxs)(Component, { ref: ref, ...props, className: itemCva({ isActive }), onClick: onClick, "aria-selected": isActive, children: [(0, jsx_runtime_1.jsx)(styles_1.IconWrapper, { children: icon }), (0, jsx_runtime_1.jsx)(OverflowTypography_1.OverflowTypography, { children: children })] }) }));
|
|
20
|
+
};
|
|
21
|
+
exports.PageAsideNavigationItemInner = PageAsideNavigationItemInner;
|
|
22
|
+
exports.PageAsideNavigationItem = (0, forwardRefWithGeneric_1.forwardRefWithGeneric)(exports.PageAsideNavigationItemInner);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pageAsideNavigationItemClassnames = void 0;
|
|
4
|
+
const createUIKitClassname_1 = require("../../utils/createUIKitClassname");
|
|
5
|
+
exports.pageAsideNavigationItemClassnames = {
|
|
6
|
+
root: (0, createUIKitClassname_1.createUIKitClassname)('page-aside-navigation__item'),
|
|
7
|
+
isActive: (0, createUIKitClassname_1.createUIKitClassname)('page-aside-navigation__item_active'),
|
|
8
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pageAsideNavigationItemClassnames = exports.PageAsideNavigationItem = void 0;
|
|
4
|
+
var PageAsideNavigationItem_1 = require("./PageAsideNavigationItem");
|
|
5
|
+
Object.defineProperty(exports, "PageAsideNavigationItem", { enumerable: true, get: function () { return PageAsideNavigationItem_1.PageAsideNavigationItem; } });
|
|
6
|
+
var constants_1 = require("./constants");
|
|
7
|
+
Object.defineProperty(exports, "pageAsideNavigationItemClassnames", { enumerable: true, get: function () { return constants_1.pageAsideNavigationItemClassnames; } });
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Wrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, {}>;
|
|
6
|
+
export declare const IconWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IconWrapper = exports.Wrapper = void 0;
|
|
4
|
+
const constants_1 = require("../../SvgIcon/constants");
|
|
5
|
+
const styled_1 = require("../../styled");
|
|
6
|
+
const constants_2 = require("./constants");
|
|
7
|
+
exports.Wrapper = styled_1.styled.li `
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
|
|
10
|
+
height: 44px;
|
|
11
|
+
|
|
12
|
+
& .${constants_2.pageAsideNavigationItemClassnames.root} {
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
|
|
15
|
+
position: relative;
|
|
16
|
+
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
display: flex;
|
|
19
|
+
gap: ${({ theme }) => theme.spacing(3)};
|
|
20
|
+
align-items: center;
|
|
21
|
+
|
|
22
|
+
width: 100%;
|
|
23
|
+
margin: 0;
|
|
24
|
+
padding: ${({ theme }) => theme.microSpacing(6, 5)};
|
|
25
|
+
|
|
26
|
+
color: ${({ theme }) => theme.palette.grey[800]};
|
|
27
|
+
text-decoration: none;
|
|
28
|
+
|
|
29
|
+
/* Сбрасываем стандартные стили */
|
|
30
|
+
background-color: ${({ theme }) => theme.palette.background.default};
|
|
31
|
+
border: none;
|
|
32
|
+
border-radius: ${({ theme }) => theme.shape.small};
|
|
33
|
+
outline: none;
|
|
34
|
+
|
|
35
|
+
&:visited, &:link {
|
|
36
|
+
color: ${({ theme }) => theme.palette.grey[800]};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&:hover {
|
|
40
|
+
color: ${({ theme }) => theme.palette.primary[800]};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&:active {
|
|
44
|
+
color: ${({ theme }) => theme.palette.primary[900]};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
& .${constants_2.pageAsideNavigationItemClassnames.isActive} {
|
|
49
|
+
background-color: ${({ theme }) => theme.palette.primary[100]};
|
|
50
|
+
|
|
51
|
+
&::before {
|
|
52
|
+
content: '';
|
|
53
|
+
|
|
54
|
+
position: absolute;
|
|
55
|
+
inset: 0;
|
|
56
|
+
|
|
57
|
+
width: 10px;
|
|
58
|
+
|
|
59
|
+
border-left: 3px solid ${({ theme }) => theme.palette.primary[800]};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
65
|
+
height: 40px;
|
|
66
|
+
-webkit-tap-highlight-color: transparent;
|
|
67
|
+
|
|
68
|
+
& .${constants_2.pageAsideNavigationItemClassnames.root} {
|
|
69
|
+
box-sizing: border-box;
|
|
70
|
+
height: inherit;
|
|
71
|
+
padding: ${({ theme }) => theme.microSpacing(5, 6)};
|
|
72
|
+
|
|
73
|
+
border: 1px solid ${({ theme }) => theme.palette.grey[400]};
|
|
74
|
+
border-radius: ${({ theme }) => theme.shape.medium};
|
|
75
|
+
|
|
76
|
+
transition: ${({ theme }) => theme.transitions.create(['border-color', 'background-color'], {
|
|
77
|
+
duration: theme.transitions.duration.shortest,
|
|
78
|
+
})};
|
|
79
|
+
|
|
80
|
+
&:hover {
|
|
81
|
+
color: ${({ theme }) => theme.palette.grey[800]};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&:active {
|
|
85
|
+
color: ${({ theme }) => theme.palette.grey[800]};
|
|
86
|
+
|
|
87
|
+
border-color: ${({ theme }) => theme.palette.grey[800]};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
& .${constants_2.pageAsideNavigationItemClassnames.isActive} {
|
|
92
|
+
background-color: ${({ theme }) => theme.palette.grey[100]};
|
|
93
|
+
border-color: ${({ theme }) => theme.palette.grey[800]};
|
|
94
|
+
|
|
95
|
+
&::before {
|
|
96
|
+
display: none;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&:active {
|
|
100
|
+
border-color: ${({ theme }) => theme.palette.grey[400]};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
`;
|
|
105
|
+
exports.IconWrapper = styled_1.styled.div `
|
|
106
|
+
display: flex;
|
|
107
|
+
|
|
108
|
+
& .${constants_1.svgIconClassnames.root} {
|
|
109
|
+
width: 20px;
|
|
110
|
+
height: 20px;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
114
|
+
display: none;
|
|
115
|
+
}
|
|
116
|
+
`;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ComponentPropsWithRef, type ElementType, type ReactNode } from 'react';
|
|
2
|
+
type PageAsideNavigationItemOwnProps<TComponent extends ElementType> = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Название класса, применяется к корневому компоненту
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Флаг активности элемента
|
|
10
|
+
*/
|
|
11
|
+
isActive?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Функция вызываемая при клике на элемент
|
|
14
|
+
*/
|
|
15
|
+
onClick?: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Иконка элемента
|
|
18
|
+
*/
|
|
19
|
+
icon?: ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Тип элемента
|
|
22
|
+
*/
|
|
23
|
+
component?: TComponent;
|
|
24
|
+
};
|
|
25
|
+
export type PageAsideNavigationItemProps<TComponent extends ElementType> = PageAsideNavigationItemOwnProps<TComponent> & Omit<ComponentPropsWithRef<TComponent>, keyof PageAsideNavigationItemOwnProps<ElementType>>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pageAsideNavigationClassnames = void 0;
|
|
4
|
+
const createUIKitClassname_1 = require("../utils/createUIKitClassname");
|
|
5
|
+
exports.pageAsideNavigationClassnames = {
|
|
6
|
+
root: (0, createUIKitClassname_1.createUIKitClassname)('page-aside-navigation'),
|
|
7
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { PageAsideNavigationProps } from './types';
|
|
2
|
+
export { PageAsideNavigation } from './PageAsideNavigation';
|
|
3
|
+
export { PageAsideNavigationItem, type PageAsideNavigationItemProps, pageAsideNavigationItemClassnames, } from './PageAsideNavigationItem';
|
|
4
|
+
export { pageAsideNavigationClassnames } from './constants';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pageAsideNavigationClassnames = exports.pageAsideNavigationItemClassnames = exports.PageAsideNavigationItem = exports.PageAsideNavigation = void 0;
|
|
4
|
+
var PageAsideNavigation_1 = require("./PageAsideNavigation");
|
|
5
|
+
Object.defineProperty(exports, "PageAsideNavigation", { enumerable: true, get: function () { return PageAsideNavigation_1.PageAsideNavigation; } });
|
|
6
|
+
var PageAsideNavigationItem_1 = require("./PageAsideNavigationItem");
|
|
7
|
+
Object.defineProperty(exports, "PageAsideNavigationItem", { enumerable: true, get: function () { return PageAsideNavigationItem_1.PageAsideNavigationItem; } });
|
|
8
|
+
Object.defineProperty(exports, "pageAsideNavigationItemClassnames", { enumerable: true, get: function () { return PageAsideNavigationItem_1.pageAsideNavigationItemClassnames; } });
|
|
9
|
+
var constants_1 = require("./constants");
|
|
10
|
+
Object.defineProperty(exports, "pageAsideNavigationClassnames", { enumerable: true, get: function () { return constants_1.pageAsideNavigationClassnames; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pageAsideNavigationItemClassnames = exports.PageAsideNavigationItem = exports.PageAsideNavigation = exports.pageAsideNavigationClassnames = void 0;
|
|
4
|
+
var constants_1 = require("./constants");
|
|
5
|
+
Object.defineProperty(exports, "pageAsideNavigationClassnames", { enumerable: true, get: function () { return constants_1.pageAsideNavigationClassnames; } });
|
|
6
|
+
var PageAsideNavigation_1 = require("./PageAsideNavigation");
|
|
7
|
+
Object.defineProperty(exports, "PageAsideNavigation", { enumerable: true, get: function () { return PageAsideNavigation_1.PageAsideNavigation; } });
|
|
8
|
+
var PageAsideNavigationItem_1 = require("./PageAsideNavigationItem");
|
|
9
|
+
Object.defineProperty(exports, "PageAsideNavigationItem", { enumerable: true, get: function () { return PageAsideNavigationItem_1.PageAsideNavigationItem; } });
|
|
10
|
+
Object.defineProperty(exports, "pageAsideNavigationItemClassnames", { enumerable: true, get: function () { return PageAsideNavigationItem_1.pageAsideNavigationItemClassnames; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Wrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
|
+
export declare const NavigationList: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
7
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
9
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, {}>;
|
|
10
|
+
export declare const AddonNavigationWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
11
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
12
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
13
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddonNavigationWrapper = exports.NavigationList = exports.Wrapper = void 0;
|
|
4
|
+
const styled_1 = require("../styled");
|
|
5
|
+
exports.Wrapper = styled_1.styled.div `
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: ${({ theme }) => theme.spacing(10)};
|
|
9
|
+
|
|
10
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
11
|
+
gap: ${({ theme }) => theme.spacing(3)};
|
|
12
|
+
|
|
13
|
+
width: 100%;
|
|
14
|
+
padding: ${({ theme }) => theme.spacing(0, 0, 3)};
|
|
15
|
+
|
|
16
|
+
background-color: ${({ theme }) => theme.palette.background.default};
|
|
17
|
+
border-bottom: 1px solid ${({ theme }) => theme.palette.components.border.default};
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
exports.NavigationList = styled_1.styled.ul `
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
|
|
24
|
+
width: 100%;
|
|
25
|
+
margin: 0;
|
|
26
|
+
padding: 0;
|
|
27
|
+
|
|
28
|
+
list-style: none;
|
|
29
|
+
|
|
30
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
31
|
+
/* Убираем видимую полосу прокрутки в firefox */
|
|
32
|
+
scrollbar-width: none;
|
|
33
|
+
|
|
34
|
+
overflow-x: auto;
|
|
35
|
+
flex-direction: row;
|
|
36
|
+
gap: ${({ theme }) => theme.spacing(2)};
|
|
37
|
+
|
|
38
|
+
padding: ${({ theme }) => theme.spacing(0, 4)};
|
|
39
|
+
|
|
40
|
+
/* Убираем видимую полосу прокрутки в chrome */
|
|
41
|
+
&::-webkit-scrollbar {
|
|
42
|
+
display: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
exports.AddonNavigationWrapper = styled_1.styled.div `
|
|
48
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
49
|
+
padding: ${({ theme }) => theme.spacing(0, 4)};
|
|
50
|
+
}
|
|
51
|
+
`;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type PageAsideNavigationProps = {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Название класса, применяется к корневому компоненту
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Дополнительный контент для навигации
|
|
10
|
+
*/
|
|
11
|
+
addonNavigation?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Позиционирование дополнительного контента для навигации
|
|
14
|
+
* @default 'start'
|
|
15
|
+
*/
|
|
16
|
+
addonNavigationPosition?: 'start' | 'end';
|
|
17
|
+
};
|
|
@@ -20,8 +20,6 @@ exports.PageSubheader = styled_1.styled.div `
|
|
|
20
20
|
|
|
21
21
|
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
22
22
|
padding: ${({ theme }) => theme.spacing(0, 4, 4, 4)};
|
|
23
|
-
|
|
24
|
-
border-bottom: 1px solid ${({ theme }) => theme.palette.components.border.default};
|
|
25
23
|
}
|
|
26
24
|
`;
|
|
27
25
|
exports.DesktopTitleWrapper = styled_1.styled.div `
|
|
@@ -25,6 +25,12 @@ const rootCva = (0, cva_1.cva)(constants_1.pageHeaderClassnames.root, {
|
|
|
25
25
|
hasActions: {
|
|
26
26
|
true: constants_1.pageHeaderClassnames.hasActions,
|
|
27
27
|
},
|
|
28
|
+
hasSubheader: {
|
|
29
|
+
true: constants_1.pageHeaderClassnames.hasSubheader,
|
|
30
|
+
},
|
|
31
|
+
hasFilters: {
|
|
32
|
+
true: constants_1.pageHeaderClassnames.hasFilters,
|
|
33
|
+
},
|
|
28
34
|
},
|
|
29
35
|
});
|
|
30
36
|
const PageHeader = (props) => {
|
|
@@ -33,6 +39,10 @@ const PageHeader = (props) => {
|
|
|
33
39
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(styles_1.MobileTitleWrapper, { className: mobilePageHeaderCva({
|
|
34
40
|
hasTitle: Boolean(title) || isLoading,
|
|
35
41
|
hasBackButton: Boolean(backButton),
|
|
36
|
-
}), children: [(0, jsx_runtime_1.jsx)(Title_1.Title, { backButton: backButton, title: title, isLoading: isLoading }), mobileTitleActions && mobileTitleActions] }), (0, jsx_runtime_1.jsx)(styles_1.Wrapper, { className: (0, classNames_1.classNames)(rootCva({
|
|
42
|
+
}), children: [(0, jsx_runtime_1.jsx)(Title_1.Title, { backButton: backButton, title: title, isLoading: isLoading }), mobileTitleActions && mobileTitleActions] }), (0, jsx_runtime_1.jsx)(styles_1.Wrapper, { className: (0, classNames_1.classNames)(rootCva({
|
|
43
|
+
hasActions: Boolean(actions),
|
|
44
|
+
hasSubheader: Boolean(subheader),
|
|
45
|
+
hasFilters: Boolean(filters),
|
|
46
|
+
}), className), children: (0, jsx_runtime_1.jsx)(HeaderContent_1.HeaderContent, { breadcrumbs: breadcrumbs, backButton: backButton, title: title, description: description, actions: actions, subheader: subheader, filters: filters, isLoading: isLoading }) }), isShowMobileActions && ((0, jsx_runtime_1.jsx)(MobilePageActions_1.MobilePageActions, { className: (0, classNames_1.classNames)(constants_1.pageHeaderClassnames.pageHeaderActions), isLoading: isLoading, ...actions }))] }));
|
|
37
47
|
};
|
|
38
48
|
exports.PageHeader = PageHeader;
|