@gravity-ui/navigation 1.6.2 → 1.7.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.
Files changed (122) hide show
  1. package/README.md +20 -7
  2. package/build/cjs/{ActionBar-393db3ea.js → ActionBar-96a59723.js} +8 -7
  3. package/build/cjs/{ActionBar-393db3ea.js.map → ActionBar-96a59723.js.map} +1 -1
  4. package/build/cjs/AsideFallback.js +31 -0
  5. package/build/cjs/AsideFallback.js.map +1 -0
  6. package/build/cjs/AsideHeader.js +7 -19
  7. package/build/cjs/AsideHeader.js.map +1 -1
  8. package/build/cjs/Drawer.js +3 -2
  9. package/build/cjs/Drawer.js.map +1 -1
  10. package/build/cjs/{FooterItem-01b32eb7.js → FooterItem-eafaeac3.js} +9 -8
  11. package/build/cjs/{FooterItem-01b32eb7.js.map → FooterItem-eafaeac3.js.map} +1 -1
  12. package/build/cjs/FooterItem.js +6 -4
  13. package/build/cjs/FooterItem.js.map +1 -1
  14. package/build/cjs/{HotkeysPanel-7823f66a.js → HotkeysPanel-2e240e4d.js} +4 -3
  15. package/build/cjs/{HotkeysPanel-7823f66a.js.map → HotkeysPanel-2e240e4d.js.map} +1 -1
  16. package/build/cjs/{Item-15bdb320.js → Item-836015b7.js} +10 -16
  17. package/build/cjs/Item-836015b7.js.map +1 -0
  18. package/build/cjs/PageLayout.js +13 -83
  19. package/build/cjs/PageLayout.js.map +1 -1
  20. package/build/cjs/PageLayoutAside.js +879 -11
  21. package/build/cjs/PageLayoutAside.js.map +1 -1
  22. package/build/cjs/{Settings-6db7b88c.js → Settings-11b021e4.js} +8 -7
  23. package/build/cjs/{Settings-6db7b88c.js.map → Settings-11b021e4.js.map} +1 -1
  24. package/build/cjs/{Title-d58ff158.js → Title-c539667f.js} +4 -3
  25. package/build/cjs/{Title-d58ff158.js.map → Title-c539667f.js.map} +1 -1
  26. package/build/cjs/TopPanel-b531a2be.js +82 -0
  27. package/build/cjs/TopPanel-b531a2be.js.map +1 -0
  28. package/build/cjs/cn-1964a72a.js +10 -0
  29. package/build/cjs/cn-1964a72a.js.map +1 -0
  30. package/build/cjs/components/AsideHeader/AsideHeader.d.ts +0 -15
  31. package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +4 -0
  32. package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.d.ts +6 -0
  33. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -2
  34. package/build/cjs/components/AsideHeader/types.d.ts +0 -1
  35. package/build/cjs/components/CompositeBar/constants.d.ts +0 -1
  36. package/build/cjs/components/constants.d.ts +2 -0
  37. package/build/cjs/components/index.d.ts +1 -0
  38. package/build/cjs/constants-d81c3867.js +14 -0
  39. package/build/cjs/constants-d81c3867.js.map +1 -0
  40. package/build/cjs/divider-collapsed-153868e7.js +41 -0
  41. package/build/cjs/divider-collapsed-153868e7.js.map +1 -0
  42. package/build/cjs/index.js +13 -8
  43. package/build/cjs/index.js.map +1 -1
  44. package/build/cjs/index2.js +3 -2
  45. package/build/cjs/index2.js.map +1 -1
  46. package/build/cjs/index3.js +3 -2
  47. package/build/cjs/index3.js.map +1 -1
  48. package/build/cjs/index4.js +3 -2
  49. package/build/cjs/index4.js.map +1 -1
  50. package/build/cjs/index5.js +4 -3
  51. package/build/cjs/index5.js.map +1 -1
  52. package/build/cjs/index6.js +3 -2
  53. package/build/cjs/index6.js.map +1 -1
  54. package/build/cjs/{style-inject.es-935afc04.js → style-inject.es-dcee06b6.js} +1 -8
  55. package/build/cjs/style-inject.es-dcee06b6.js.map +1 -0
  56. package/build/cjs/utils-a93dd754.js +8 -0
  57. package/build/cjs/utils-a93dd754.js.map +1 -0
  58. package/build/esm/{ActionBar-f1c9a2d3.js → ActionBar-68f814a3.js} +3 -2
  59. package/build/esm/{ActionBar-f1c9a2d3.js.map → ActionBar-68f814a3.js.map} +1 -1
  60. package/build/esm/AsideFallback.js +23 -0
  61. package/build/esm/AsideFallback.js.map +1 -0
  62. package/build/esm/AsideHeader.js +7 -19
  63. package/build/esm/AsideHeader.js.map +1 -1
  64. package/build/esm/Drawer.js +2 -1
  65. package/build/esm/Drawer.js.map +1 -1
  66. package/build/esm/{FooterItem-d66ab545.js → FooterItem-39ac7c22.js} +3 -2
  67. package/build/esm/{FooterItem-d66ab545.js.map → FooterItem-39ac7c22.js.map} +1 -1
  68. package/build/esm/FooterItem.js +4 -2
  69. package/build/esm/FooterItem.js.map +1 -1
  70. package/build/esm/{HotkeysPanel-82fe991b.js → HotkeysPanel-bd0e997d.js} +3 -2
  71. package/build/esm/{HotkeysPanel-82fe991b.js.map → HotkeysPanel-bd0e997d.js.map} +1 -1
  72. package/build/esm/{Item-f02541c1.js → Item-ab589218.js} +5 -8
  73. package/build/esm/Item-ab589218.js.map +1 -0
  74. package/build/esm/PageLayout.js +11 -81
  75. package/build/esm/PageLayout.js.map +1 -1
  76. package/build/esm/PageLayoutAside.js +859 -9
  77. package/build/esm/PageLayoutAside.js.map +1 -1
  78. package/build/esm/{Settings-21bc1aba.js → Settings-31634d93.js} +4 -3
  79. package/build/esm/{Settings-21bc1aba.js.map → Settings-31634d93.js.map} +1 -1
  80. package/build/esm/{Title-3d579ca4.js → Title-b2f2c4e9.js} +3 -2
  81. package/build/esm/{Title-3d579ca4.js.map → Title-b2f2c4e9.js.map} +1 -1
  82. package/build/esm/TopPanel-36ffc4c7.js +76 -0
  83. package/build/esm/TopPanel-36ffc4c7.js.map +1 -0
  84. package/build/esm/cn-589cd9e2.js +8 -0
  85. package/build/esm/cn-589cd9e2.js.map +1 -0
  86. package/build/esm/components/AsideHeader/AsideHeader.d.ts +0 -15
  87. package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +4 -0
  88. package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.d.ts +6 -0
  89. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -2
  90. package/build/esm/components/AsideHeader/types.d.ts +0 -1
  91. package/build/esm/components/CompositeBar/constants.d.ts +0 -1
  92. package/build/esm/components/constants.d.ts +2 -0
  93. package/build/esm/components/index.d.ts +1 -0
  94. package/build/esm/constants-b1604ff5.js +8 -0
  95. package/build/esm/constants-b1604ff5.js.map +1 -0
  96. package/build/esm/divider-collapsed-6468fa36.js +19 -0
  97. package/build/esm/divider-collapsed-6468fa36.js.map +1 -0
  98. package/build/esm/index.js +12 -8
  99. package/build/esm/index.js.map +1 -1
  100. package/build/esm/index2.js +3 -2
  101. package/build/esm/index2.js.map +1 -1
  102. package/build/esm/index3.js +3 -2
  103. package/build/esm/index3.js.map +1 -1
  104. package/build/esm/index4.js +3 -2
  105. package/build/esm/index4.js.map +1 -1
  106. package/build/esm/index5.js +4 -3
  107. package/build/esm/index5.js.map +1 -1
  108. package/build/esm/index6.js +3 -2
  109. package/build/esm/index6.js.map +1 -1
  110. package/build/esm/{style-inject.es-cfd97593.js → style-inject.es-1f59c1d0.js} +2 -8
  111. package/build/esm/style-inject.es-1f59c1d0.js.map +1 -0
  112. package/build/esm/utils-6d5146c7.js +6 -0
  113. package/build/esm/utils-6d5146c7.js.map +1 -0
  114. package/package.json +1 -1
  115. package/build/cjs/FirstPanel-2f78b962.js +0 -902
  116. package/build/cjs/FirstPanel-2f78b962.js.map +0 -1
  117. package/build/cjs/Item-15bdb320.js.map +0 -1
  118. package/build/cjs/style-inject.es-935afc04.js.map +0 -1
  119. package/build/esm/FirstPanel-bafddc24.js +0 -875
  120. package/build/esm/FirstPanel-bafddc24.js.map +0 -1
  121. package/build/esm/Item-f02541c1.js.map +0 -1
  122. package/build/esm/style-inject.es-cfd97593.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ import React__default from 'react';
2
+ import { Alert } from '@gravity-ui/uikit';
3
+ import { b } from './utils-6d5146c7.js';
4
+ import { d as debounce_1 } from './debounce-64cd2b4c.js';
5
+ import './cn-589cd9e2.js';
6
+ import '@bem-react/classname';
7
+
8
+ const G_ROOT_CLASS_NAME = 'g-root';
9
+ const useRefHeight = (ref) => {
10
+ const [topHeight, setTopHeight] = React__default.useState(0);
11
+ React__default.useEffect(() => {
12
+ if (ref.current) {
13
+ const { current } = ref;
14
+ setTopHeight(current.clientHeight);
15
+ }
16
+ }, [ref]);
17
+ return topHeight;
18
+ };
19
+ const useAsideHeaderTopPanel = ({ topAlert, }) => {
20
+ const topRef = React__default.useRef(null);
21
+ const topHeight = useRefHeight(topRef);
22
+ const setAsideTopPanelHeight = React__default.useCallback((clientHeight) => {
23
+ const gRootElement = document
24
+ .getElementsByClassName(G_ROOT_CLASS_NAME)
25
+ .item(0);
26
+ gRootElement === null || gRootElement === void 0 ? void 0 : gRootElement.style.setProperty('--gn-aside-top-panel-height', clientHeight + 'px');
27
+ }, []);
28
+ const updateTopSize = React__default.useCallback(() => {
29
+ var _a;
30
+ if (topRef.current) {
31
+ setAsideTopPanelHeight(((_a = topRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) || 0);
32
+ }
33
+ }, [topRef, setAsideTopPanelHeight]);
34
+ React__default.useLayoutEffect(() => {
35
+ const updateTopSizeDebounce = debounce_1(updateTopSize, 200, { leading: true });
36
+ if (topAlert) {
37
+ window.addEventListener('resize', updateTopSizeDebounce);
38
+ updateTopSizeDebounce();
39
+ }
40
+ return () => {
41
+ window.removeEventListener('resize', updateTopSizeDebounce);
42
+ setAsideTopPanelHeight(0);
43
+ };
44
+ }, [topAlert, topHeight, topRef, updateTopSize, setAsideTopPanelHeight]);
45
+ return {
46
+ topRef,
47
+ updateTopSize,
48
+ };
49
+ };
50
+
51
+ const TopPanel = ({ topAlert }) => {
52
+ const { topRef, updateTopSize } = useAsideHeaderTopPanel({ topAlert });
53
+ const [opened, setOpened] = React__default.useState(true);
54
+ const handleClose = React__default.useCallback(() => {
55
+ var _a;
56
+ setOpened(false);
57
+ (_a = topAlert === null || topAlert === void 0 ? void 0 : topAlert.onCloseTopAlert) === null || _a === void 0 ? void 0 : _a.call(topAlert);
58
+ }, [topAlert]);
59
+ React__default.useEffect(() => {
60
+ if (!opened) {
61
+ updateTopSize();
62
+ }
63
+ }, [opened, updateTopSize]);
64
+ if (!topAlert || !topAlert.message) {
65
+ return null;
66
+ }
67
+ return (React__default.createElement("div", { ref: topRef, className: b('pane-top', { opened }) }, opened && (React__default.createElement(React__default.Fragment, null,
68
+ React__default.createElement(Alert, { className: b('pane-top-alert', {
69
+ centered: topAlert.centered,
70
+ dense: topAlert.dense,
71
+ }), corners: "square", layout: "horizontal", theme: topAlert.theme || 'warning', icon: topAlert.icon, title: topAlert.title, message: topAlert.message, actions: topAlert.actions, onClose: topAlert.closable ? handleClose : undefined }),
72
+ React__default.createElement("div", { className: b('pane-top-divider') })))));
73
+ };
74
+
75
+ export { TopPanel };
76
+ //# sourceMappingURL=TopPanel-36ffc4c7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopPanel-36ffc4c7.js","sources":["../../../src/components/AsideHeader/useAsideHeaderTopPanel.tsx","../../../src/components/AsideHeader/components/TopPanel.tsx"],"sourcesContent":["import React from 'react';\n\nimport debounceFn from 'lodash/debounce';\nimport {AsideHeaderTopAlertProps} from '../types';\n\ntype AsideHeaderTopPanel = {\n topRef: React.RefObject<HTMLDivElement>;\n updateTopSize: () => void;\n};\n\nconst G_ROOT_CLASS_NAME = 'g-root';\n\nconst useRefHeight = (ref: React.RefObject<HTMLDivElement>) => {\n const [topHeight, setTopHeight] = React.useState(0);\n React.useEffect(() => {\n if (ref.current) {\n const {current} = ref;\n setTopHeight(current.clientHeight);\n }\n }, [ref]);\n return topHeight;\n};\n\nexport const useAsideHeaderTopPanel = ({\n topAlert,\n}: {\n topAlert?: AsideHeaderTopAlertProps;\n}): AsideHeaderTopPanel => {\n const topRef = React.useRef<HTMLDivElement>(null);\n const topHeight = useRefHeight(topRef);\n\n const setAsideTopPanelHeight = React.useCallback((clientHeight: number) => {\n const gRootElement = document\n .getElementsByClassName(G_ROOT_CLASS_NAME)\n .item(0) as HTMLElement | null;\n gRootElement?.style.setProperty('--gn-aside-top-panel-height', clientHeight + 'px');\n }, []);\n\n const updateTopSize = React.useCallback(() => {\n if (topRef.current) {\n setAsideTopPanelHeight(topRef.current?.clientHeight || 0);\n }\n }, [topRef, setAsideTopPanelHeight]);\n\n React.useLayoutEffect(() => {\n const updateTopSizeDebounce = debounceFn(updateTopSize, 200, {leading: true});\n\n if (topAlert) {\n window.addEventListener('resize', updateTopSizeDebounce);\n updateTopSizeDebounce();\n }\n return () => {\n window.removeEventListener('resize', updateTopSizeDebounce);\n setAsideTopPanelHeight(0);\n };\n }, [topAlert, topHeight, topRef, updateTopSize, setAsideTopPanelHeight]);\n\n return {\n topRef,\n updateTopSize,\n };\n};\n","import React from 'react';\nimport {Alert} from '@gravity-ui/uikit';\n\nimport {b} from '../utils';\nimport {AsideHeaderTopAlertProps} from '../../types';\nimport {useAsideHeaderTopPanel} from '../useAsideHeaderTopPanel';\n\ntype Props = {\n topAlert?: AsideHeaderTopAlertProps;\n};\n\nexport const TopPanel = ({topAlert}: Props) => {\n const {topRef, updateTopSize} = useAsideHeaderTopPanel({topAlert});\n\n const [opened, setOpened] = React.useState(true);\n\n const handleClose = React.useCallback(() => {\n setOpened(false);\n topAlert?.onCloseTopAlert?.();\n }, [topAlert]);\n\n React.useEffect(() => {\n if (!opened) {\n updateTopSize();\n }\n }, [opened, updateTopSize]);\n\n if (!topAlert || !topAlert.message) {\n return null;\n }\n\n return (\n <div ref={topRef} className={b('pane-top', {opened})}>\n {opened && (\n <React.Fragment>\n <Alert\n className={b('pane-top-alert', {\n centered: topAlert.centered,\n dense: topAlert.dense,\n })}\n corners=\"square\"\n layout=\"horizontal\"\n theme={topAlert.theme || 'warning'}\n icon={topAlert.icon}\n title={topAlert.title}\n message={topAlert.message}\n actions={topAlert.actions}\n onClose={topAlert.closable ? handleClose : undefined}\n />\n <div className={b('pane-top-divider')}></div>\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":["React","debounceFn"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { withNaming } from '@bem-react/classname';
2
+
3
+ const NAMESPACE = 'gn-';
4
+ withNaming({ e: '__', m: '_' });
5
+ const block = withNaming({ n: NAMESPACE, e: '__', m: '_' });
6
+
7
+ export { block as b };
8
+ //# sourceMappingURL=cn-589cd9e2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn-589cd9e2.js","sources":["../../../src/components/utils/cn.ts"],"sourcesContent":["import {withNaming} from '@bem-react/classname';\n\nexport type CnMods = Record<string, string | boolean | undefined>;\n\nexport const NAMESPACE = 'gn-';\n\nexport const cn = withNaming({e: '__', m: '_'});\nexport const block = withNaming({n: NAMESPACE, e: '__', m: '_'});\n\nexport type CnBlock = ReturnType<typeof cn>;\n"],"names":[],"mappings":";;AAIO,MAAM,SAAS,GAAG,KAAK,CAAC;AAEb,UAAU,CAAC,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC,EAAE;MACnC,KAAK,GAAG,UAAU,CAAC,EAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAC;;;;"}
@@ -1,18 +1,3 @@
1
1
  import React from 'react';
2
2
  import { AsideHeaderProps } from './types';
3
- /**
4
- * Simply usage of AsideHeader:
5
- * @example
6
- * <AsideHeader renderContent={renderContent} {...props} />
7
- *
8
- * Advanced usage of AsideHeader:
9
- * @example
10
- * <PageLayout reverse >
11
- * <PageLayout.Content>
12
- * <Content />
13
- * </PageLayout.Content>
14
- *
15
- * <PageLayoutAside {...props} />
16
- * </PageLayout>
17
- */
18
3
  export declare const AsideHeader: React.ForwardRefExoticComponent<AsideHeaderProps & React.RefAttributes<HTMLDivElement>>;
@@ -6,3 +6,7 @@ export declare const MultipleTooltip: import("@storybook/types").AnnotatedStoryF
6
6
  export declare const AdvancedUsage: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
7
7
  export declare const HeaderAlert: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
8
8
  export declare const HeaderAlertCentered: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
9
+ export declare const Fallback: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, {
10
+ headerDecoration: boolean;
11
+ subheaderItemsCount: number;
12
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface Props {
3
+ headerDecoration?: boolean;
4
+ subheaderItemsCount?: number;
5
+ }
6
+ export declare const AsideFallback: React.FC<Props>;
@@ -3,9 +3,8 @@ import { ContentProps } from '../../../Content';
3
3
  import { LayoutProps } from '../../types';
4
4
  import '../../AsideHeader.scss';
5
5
  export interface PageLayoutProps extends PropsWithChildren<LayoutProps> {
6
- reverse?: boolean;
7
6
  }
8
- declare const PageLayout: (({ compact, reverse, className, children, topAlert }: PageLayoutProps) => React.JSX.Element) & {
7
+ declare const PageLayout: (({ compact, className, children, topAlert }: PageLayoutProps) => React.JSX.Element) & {
9
8
  Content: React.FC<React.PropsWithChildren<Pick<ContentProps, "renderContent">>>;
10
9
  };
11
10
  export { PageLayout };
@@ -11,7 +11,6 @@ export interface LayoutProps {
11
11
  export interface AsideHeaderGeneralProps {
12
12
  logo: LogoProps;
13
13
  multipleTooltip?: boolean;
14
- reverse?: boolean;
15
14
  className?: string;
16
15
  collapseTitle?: string;
17
16
  expandTitle?: string;
@@ -1,5 +1,4 @@
1
1
  import { PopupPlacement } from '@gravity-ui/uikit';
2
- export declare const ITEM_HEIGHT = 40;
3
2
  export declare const ITEM_TYPE_REGULAR = "regular";
4
3
  export declare const COLLAPSE_ITEM_ID = "collapse-item-id";
5
4
  export declare const POPUP_PLACEMENT: PopupPlacement;
@@ -1,3 +1,5 @@
1
1
  export declare const ASIDE_HEADER_ICON_SIZE = 18;
2
2
  export declare const ASIDE_HEADER_COMPACT_WIDTH = 56;
3
3
  export declare const ASIDE_HEADER_EXPANDED_WIDTH = 236;
4
+ export declare const ITEM_HEIGHT = 40;
5
+ export declare const HEADER_DIVIDER_HEIGHT = 29;
@@ -5,6 +5,7 @@ export { Drawer, DrawerProps, DrawerItemProps, DrawerItem } from './Drawer/Drawe
5
5
  export { FooterItem, FooterItemProps } from './FooterItem/FooterItem';
6
6
  export { PageLayout, type PageLayoutProps } from './AsideHeader/components/PageLayout/PageLayout';
7
7
  export { PageLayoutAside } from './AsideHeader/components/PageLayout/PageLayoutAside';
8
+ export { AsideFallback } from './AsideHeader/components/PageLayout/AsideFallback';
8
9
  export * from './ActionBar';
9
10
  export * from './Title';
10
11
  export * from './HotkeysPanel';
@@ -0,0 +1,8 @@
1
+ const ASIDE_HEADER_ICON_SIZE = 18;
2
+ const ASIDE_HEADER_COMPACT_WIDTH = 56;
3
+ const ASIDE_HEADER_EXPANDED_WIDTH = 236;
4
+ const ITEM_HEIGHT = 40;
5
+ const HEADER_DIVIDER_HEIGHT = 29;
6
+
7
+ export { ASIDE_HEADER_ICON_SIZE as A, HEADER_DIVIDER_HEIGHT as H, ITEM_HEIGHT as I, ASIDE_HEADER_COMPACT_WIDTH as a, ASIDE_HEADER_EXPANDED_WIDTH as b };
8
+ //# sourceMappingURL=constants-b1604ff5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-b1604ff5.js","sources":["../../../src/components/constants.ts"],"sourcesContent":["export const ASIDE_HEADER_ICON_SIZE = 18;\nexport const ASIDE_HEADER_COMPACT_WIDTH = 56;\nexport const ASIDE_HEADER_EXPANDED_WIDTH = 236;\nexport const ITEM_HEIGHT = 40;\nexport const HEADER_DIVIDER_HEIGHT = 29;\n"],"names":[],"mappings":"AAAO,MAAM,sBAAsB,GAAG,GAAG;AAClC,MAAM,0BAA0B,GAAG,GAAG;AACtC,MAAM,2BAA2B,GAAG,IAAI;AACxC,MAAM,WAAW,GAAG,GAAG;AACvB,MAAM,qBAAqB,GAAG;;;;"}
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+
3
+ var _path;
4
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ var SvgDividerCollapsed = function SvgDividerCollapsed(props) {
6
+ return /*#__PURE__*/React.createElement("svg", _extends({
7
+ width: 56,
8
+ height: 29,
9
+ viewBox: "0 0 56 29",
10
+ fill: "currentColor",
11
+ xmlns: "http://www.w3.org/2000/svg"
12
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
13
+ d: "M56 0v29c-.8-1-7-6.1-17.7-8.4L13 15.7A16 16 0 0 1 0 0Z"
14
+ })));
15
+ };
16
+ var headerDividerCollapsedIcon = SvgDividerCollapsed;
17
+
18
+ export { headerDividerCollapsedIcon as h };
19
+ //# sourceMappingURL=divider-collapsed-6468fa36.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider-collapsed-6468fa36.js","sources":["../../assets/icons/divider-collapsed.svg"],"sourcesContent":["<svg width=\"56\" height=\"29\" viewBox=\"0 0 56 29\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M56 0v29c-.8-1-7-6.1-17.7-8.4L13 15.7A16 16 0 0 1 0 0Z\"/></svg>\n"],"names":[],"mappings":";;AAAA,IAAI,KAAK,CAAC;AACV,SAAS,QAAQ,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAEnV,IAAI,mBAAmB,GAAG,SAAS,mBAAmB,CAAC,KAAK,EAAE;AAC9D,EAAE,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1D,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACxE,IAAI,CAAC,EAAE,wDAAwD;AAC/D,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF,iCAAe,mBAAmB;;;;"}
@@ -4,21 +4,25 @@ export { Drawer, DrawerItem } from './Drawer.js';
4
4
  export { FooterItem } from './FooterItem.js';
5
5
  export { PageLayout } from './PageLayout.js';
6
6
  export { PageLayoutAside } from './PageLayoutAside.js';
7
+ export { AsideFallback } from './AsideFallback.js';
7
8
  export { L as Lang, c as configure } from './registerKeyset-35f1ea08.js';
8
- export { P as ActionBar } from './ActionBar-f1c9a2d3.js';
9
- export { T as Title } from './Title-3d579ca4.js';
10
- export { H as HotkeysPanel } from './HotkeysPanel-82fe991b.js';
11
- export { S as Settings, a as useSettingsContext, u as useSettingsSelectionContext } from './Settings-21bc1aba.js';
12
- export { M as MobileHeader, F as MobileHeaderFooterItem } from './FooterItem-d66ab545.js';
9
+ export { P as ActionBar } from './ActionBar-68f814a3.js';
10
+ export { T as Title } from './Title-b2f2c4e9.js';
11
+ export { H as HotkeysPanel } from './HotkeysPanel-bd0e997d.js';
12
+ export { S as Settings, a as useSettingsContext, u as useSettingsSelectionContext } from './Settings-31634d93.js';
13
+ export { M as MobileHeader, F as MobileHeaderFooterItem } from './FooterItem-39ac7c22.js';
13
14
  import './tslib.es6-3cd4e99f.js';
14
15
  import 'react';
15
16
  import 'react-dom';
16
17
  import '@gravity-ui/uikit';
17
- import './style-inject.es-cfd97593.js';
18
+ import './cn-589cd9e2.js';
18
19
  import '@bem-react/classname';
19
- import './Item-f02541c1.js';
20
+ import './style-inject.es-1f59c1d0.js';
21
+ import './Item-ab589218.js';
20
22
  import '@gravity-ui/icons';
23
+ import './constants-b1604ff5.js';
21
24
  import './debounce-64cd2b4c.js';
22
25
  import './Content-f94ba85d.js';
23
- import './FirstPanel-bafddc24.js';
26
+ import './utils-6d5146c7.js';
27
+ import './divider-collapsed-6468fa36.js';
24
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
- export { P as ActionBar } from './ActionBar-f1c9a2d3.js';
1
+ export { P as ActionBar } from './ActionBar-68f814a3.js';
2
2
  import 'react';
3
- import './style-inject.es-cfd97593.js';
3
+ import './cn-589cd9e2.js';
4
4
  import '@bem-react/classname';
5
+ import './style-inject.es-1f59c1d0.js';
5
6
  //# sourceMappingURL=index2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,8 +1,9 @@
1
- export { T as Title } from './Title-3d579ca4.js';
1
+ export { T as Title } from './Title-b2f2c4e9.js';
2
2
  import 'react';
3
3
  import '@gravity-ui/uikit';
4
4
  import '@gravity-ui/icons';
5
- import './style-inject.es-cfd97593.js';
5
+ import './cn-589cd9e2.js';
6
6
  import '@bem-react/classname';
7
7
  import './registerKeyset-35f1ea08.js';
8
+ import './style-inject.es-1f59c1d0.js';
8
9
  //# sourceMappingURL=index3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,9 +1,10 @@
1
- export { H as HotkeysPanel } from './HotkeysPanel-82fe991b.js';
1
+ export { H as HotkeysPanel } from './HotkeysPanel-bd0e997d.js';
2
2
  import './tslib.es6-3cd4e99f.js';
3
3
  import 'react';
4
4
  import '@gravity-ui/uikit';
5
5
  import './Drawer.js';
6
6
  import 'react-dom';
7
- import './style-inject.es-cfd97593.js';
7
+ import './cn-589cd9e2.js';
8
8
  import '@bem-react/classname';
9
+ import './style-inject.es-1f59c1d0.js';
9
10
  //# sourceMappingURL=index4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,11 +1,12 @@
1
- export { S as Settings, a as useSettingsContext, u as useSettingsSelectionContext } from './Settings-21bc1aba.js';
1
+ export { S as Settings, a as useSettingsContext, u as useSettingsSelectionContext } from './Settings-31634d93.js';
2
2
  import './tslib.es6-3cd4e99f.js';
3
3
  import 'react';
4
- import './style-inject.es-cfd97593.js';
4
+ import './cn-589cd9e2.js';
5
5
  import '@bem-react/classname';
6
6
  import '@gravity-ui/uikit';
7
7
  import './debounce-64cd2b4c.js';
8
+ import './style-inject.es-1f59c1d0.js';
8
9
  import './registerKeyset-35f1ea08.js';
9
- import './Title-3d579ca4.js';
10
+ import './Title-b2f2c4e9.js';
10
11
  import '@gravity-ui/icons';
11
12
  //# sourceMappingURL=index5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,10 +1,11 @@
1
- export { M as MobileHeader, F as MobileHeaderFooterItem } from './FooterItem-d66ab545.js';
1
+ export { M as MobileHeader, F as MobileHeaderFooterItem } from './FooterItem-39ac7c22.js';
2
2
  import 'react';
3
- import './style-inject.es-cfd97593.js';
3
+ import './cn-589cd9e2.js';
4
4
  import '@bem-react/classname';
5
5
  import './Drawer.js';
6
6
  import 'react-dom';
7
7
  import '@gravity-ui/uikit';
8
+ import './style-inject.es-1f59c1d0.js';
8
9
  import './Content-f94ba85d.js';
9
10
  import './registerKeyset-35f1ea08.js';
10
11
  //# sourceMappingURL=index6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,9 +1,3 @@
1
- import { withNaming } from '@bem-react/classname';
2
-
3
- const NAMESPACE = 'gn-';
4
- withNaming({ e: '__', m: '_' });
5
- const block = withNaming({ n: NAMESPACE, e: '__', m: '_' });
6
-
7
1
  function styleInject(css, ref) {
8
2
  if ( ref === void 0 ) ref = {};
9
3
  var insertAt = ref.insertAt;
@@ -31,5 +25,5 @@ function styleInject(css, ref) {
31
25
  }
32
26
  }
33
27
 
34
- export { block as b, styleInject as s };
35
- //# sourceMappingURL=style-inject.es-cfd97593.js.map
28
+ export { styleInject as s };
29
+ //# sourceMappingURL=style-inject.es-1f59c1d0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-inject.es-1f59c1d0.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":[],"mappings":"AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;"}
@@ -0,0 +1,6 @@
1
+ import { b as block } from './cn-589cd9e2.js';
2
+
3
+ const b = block('aside-header');
4
+
5
+ export { b };
6
+ //# sourceMappingURL=utils-6d5146c7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-6d5146c7.js","sources":["../../../src/components/AsideHeader/utils.ts"],"sourcesContent":["import {block} from '../utils/cn';\n\nexport const b = block('aside-header');\n"],"names":[],"mappings":";;MAEa,CAAC,GAAG,KAAK,CAAC,cAAc;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/navigation",
3
- "version": "1.6.2",
3
+ "version": "1.7.0",
4
4
  "description": "Gravity UI Navigation components",
5
5
  "license": "MIT",
6
6
  "repository": {