@gravity-ui/navigation 1.1.3 → 1.3.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 (120) hide show
  1. package/README.md +28 -1
  2. package/build/cjs/ActionBar-393db3ea.js +62 -0
  3. package/build/cjs/ActionBar-393db3ea.js.map +1 -0
  4. package/build/cjs/AsideHeader.js +50 -0
  5. package/build/cjs/AsideHeader.js.map +1 -0
  6. package/build/cjs/AsideHeaderContext.js +41 -0
  7. package/build/cjs/AsideHeaderContext.js.map +1 -0
  8. package/build/cjs/Content-64d5738a.js +20 -0
  9. package/build/cjs/Content-64d5738a.js.map +1 -0
  10. package/build/cjs/Drawer.js +3091 -0
  11. package/build/cjs/Drawer.js.map +1 -0
  12. package/build/cjs/FooterItem-01b32eb7.js +286 -0
  13. package/build/cjs/FooterItem-01b32eb7.js.map +1 -0
  14. package/build/cjs/FooterItem.js +30 -0
  15. package/build/cjs/FooterItem.js.map +1 -0
  16. package/build/cjs/HotkeysPanel-9e5af200.js +66 -0
  17. package/build/cjs/HotkeysPanel-9e5af200.js.map +1 -0
  18. package/build/cjs/Item-ff00938b.js +294 -0
  19. package/build/cjs/Item-ff00938b.js.map +1 -0
  20. package/build/cjs/PageLayout.js +36 -0
  21. package/build/cjs/PageLayout.js.map +1 -0
  22. package/build/cjs/PageLayoutAside.js +967 -0
  23. package/build/cjs/PageLayoutAside.js.map +1 -0
  24. package/build/cjs/Settings-014971f7.js +489 -0
  25. package/build/cjs/Settings-014971f7.js.map +1 -0
  26. package/build/cjs/Title-d58ff158.js +41 -0
  27. package/build/cjs/Title-d58ff158.js.map +1 -0
  28. package/build/cjs/components/AsideHeader/AsideHeader.d.ts +15 -1
  29. package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +1 -2
  30. package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +1 -0
  31. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +11 -0
  32. package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +5 -0
  33. package/build/cjs/components/AsideHeader/types.d.ts +8 -3
  34. package/build/cjs/components/CompositeBar/utils.d.ts +1 -1
  35. package/build/cjs/components/Content/Content.d.ts +1 -2
  36. package/build/cjs/components/index.d.ts +2 -0
  37. package/build/cjs/constants-9783dc2d.js +10 -0
  38. package/build/cjs/constants-9783dc2d.js.map +1 -0
  39. package/build/cjs/debounce-8772fd80.js +545 -0
  40. package/build/cjs/debounce-8772fd80.js.map +1 -0
  41. package/build/cjs/index.js +47 -6036
  42. package/build/cjs/index.js.map +1 -1
  43. package/build/cjs/index2.js +13 -0
  44. package/build/cjs/index2.js.map +1 -0
  45. package/build/cjs/index3.js +16 -0
  46. package/build/cjs/index3.js.map +1 -0
  47. package/build/cjs/index4.js +17 -0
  48. package/build/cjs/index4.js.map +1 -0
  49. package/build/cjs/index5.js +20 -0
  50. package/build/cjs/index5.js.map +1 -0
  51. package/build/cjs/index6.js +19 -0
  52. package/build/cjs/index6.js.map +1 -0
  53. package/build/cjs/registerKeyset-f4ce9ee7.js +215 -0
  54. package/build/cjs/registerKeyset-f4ce9ee7.js.map +1 -0
  55. package/build/cjs/style-inject.es-935afc04.js +38 -0
  56. package/build/cjs/style-inject.es-935afc04.js.map +1 -0
  57. package/build/cjs/tslib.es6-705c6589.js +36 -0
  58. package/build/cjs/tslib.es6-705c6589.js.map +1 -0
  59. package/build/cjs/utils-e82025ce.js +8 -0
  60. package/build/cjs/utils-e82025ce.js.map +1 -0
  61. package/build/esm/ActionBar-f1c9a2d3.js +56 -0
  62. package/build/esm/ActionBar-f1c9a2d3.js.map +1 -0
  63. package/build/esm/AsideHeader.js +42 -0
  64. package/build/esm/AsideHeader.js.map +1 -0
  65. package/build/esm/AsideHeaderContext.js +28 -0
  66. package/build/esm/AsideHeaderContext.js.map +1 -0
  67. package/build/esm/Content-f94ba85d.js +14 -0
  68. package/build/esm/Content-f94ba85d.js.map +1 -0
  69. package/build/esm/Drawer.js +3081 -0
  70. package/build/esm/Drawer.js.map +1 -0
  71. package/build/esm/FooterItem-d66ab545.js +279 -0
  72. package/build/esm/FooterItem-d66ab545.js.map +1 -0
  73. package/build/esm/FooterItem.js +22 -0
  74. package/build/esm/FooterItem.js.map +1 -0
  75. package/build/esm/HotkeysPanel-67f3066d.js +60 -0
  76. package/build/esm/HotkeysPanel-67f3066d.js.map +1 -0
  77. package/build/esm/Item-30c88899.js +280 -0
  78. package/build/esm/Item-30c88899.js.map +1 -0
  79. package/build/esm/PageLayout.js +28 -0
  80. package/build/esm/PageLayout.js.map +1 -0
  81. package/build/esm/PageLayoutAside.js +941 -0
  82. package/build/esm/PageLayoutAside.js.map +1 -0
  83. package/build/esm/Settings-ea96388d.js +464 -0
  84. package/build/esm/Settings-ea96388d.js.map +1 -0
  85. package/build/esm/Title-3d579ca4.js +35 -0
  86. package/build/esm/Title-3d579ca4.js.map +1 -0
  87. package/build/esm/components/AsideHeader/AsideHeader.d.ts +15 -1
  88. package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +1 -2
  89. package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +1 -0
  90. package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +11 -0
  91. package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +5 -0
  92. package/build/esm/components/AsideHeader/types.d.ts +8 -3
  93. package/build/esm/components/CompositeBar/utils.d.ts +1 -1
  94. package/build/esm/components/Content/Content.d.ts +1 -2
  95. package/build/esm/components/index.d.ts +2 -0
  96. package/build/esm/constants-b3a73cd1.js +6 -0
  97. package/build/esm/constants-b3a73cd1.js.map +1 -0
  98. package/build/esm/debounce-64cd2b4c.js +543 -0
  99. package/build/esm/debounce-64cd2b4c.js.map +1 -0
  100. package/build/esm/index.js +24 -6000
  101. package/build/esm/index.js.map +1 -1
  102. package/build/esm/index2.js +5 -0
  103. package/build/esm/index2.js.map +1 -0
  104. package/build/esm/index3.js +8 -0
  105. package/build/esm/index3.js.map +1 -0
  106. package/build/esm/index4.js +9 -0
  107. package/build/esm/index4.js.map +1 -0
  108. package/build/esm/index5.js +11 -0
  109. package/build/esm/index5.js.map +1 -0
  110. package/build/esm/index6.js +10 -0
  111. package/build/esm/index6.js.map +1 -0
  112. package/build/esm/registerKeyset-35f1ea08.js +212 -0
  113. package/build/esm/registerKeyset-35f1ea08.js.map +1 -0
  114. package/build/esm/style-inject.es-cfd97593.js +35 -0
  115. package/build/esm/style-inject.es-cfd97593.js.map +1 -0
  116. package/build/esm/tslib.es6-3cd4e99f.js +34 -0
  117. package/build/esm/tslib.es6-3cd4e99f.js.map +1 -0
  118. package/build/esm/utils-cc9b1968.js +6 -0
  119. package/build/esm/utils-cc9b1968.js.map +1 -0
  120. package/package.json +3 -3
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var uikit = require('@gravity-ui/uikit');
5
+ var icons = require('@gravity-ui/icons');
6
+ var styleInject_es = require('./style-inject.es-935afc04.js');
7
+ var registerKeyset = require('./registerKeyset-f4ce9ee7.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+
13
+ var button_close$1 = "Close";
14
+ var en = {
15
+ button_close: button_close$1
16
+ };
17
+
18
+ var button_close = "Закрыть";
19
+ var ru = {
20
+ button_close: button_close
21
+ };
22
+
23
+ const COMPONENT = 'Title';
24
+ var i18n = registerKeyset.registerKeyset({ en, ru }, COMPONENT);
25
+
26
+ var css_248z = ".gn-title{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;min-height:64px;padding:14px 10px 14px 20px}.gn-title_separator{border-bottom:1px solid var(--g-color-line-generic)}.gn-title__text{margin:0 20px 0 0}";
27
+ styleInject_es.styleInject(css_248z);
28
+
29
+ const b = styleInject_es.block('title');
30
+ const Title = ({ children, closeIconSize = 23, hasSeparator, closeTitle = i18n('button_close'), onClose, }) => {
31
+ return (React__default["default"].createElement("div", { className: b({ separator: hasSeparator }) },
32
+ React__default["default"].createElement(uikit.Text, { className: b('text'), as: 'h3', variant: 'subheader-3' }, children),
33
+ onClose && (React__default["default"].createElement(uikit.Button, { onClick: onClose, view: "flat", size: "l", extraProps: {
34
+ 'aria-label': closeTitle,
35
+ } },
36
+ React__default["default"].createElement(uikit.Icon, { data: icons.Xmark, size: closeIconSize })))));
37
+ };
38
+ Title.displayName = 'Title';
39
+
40
+ exports.Title = Title;
41
+ //# sourceMappingURL=Title-d58ff158.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Title-d58ff158.js","sources":["../../../src/components/Title/i18n/index.ts","../../../src/components/Title/Title.tsx"],"sourcesContent":["import {registerKeyset} from '../../utils/registerKeyset';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nconst COMPONENT = 'Title';\nexport default registerKeyset({en, ru}, COMPONENT);\n","import React from 'react';\nimport {Button, Icon, Text} from '@gravity-ui/uikit';\nimport {Xmark} from '@gravity-ui/icons';\nimport {block} from '../utils/cn';\nimport i18n from './i18n';\n\nimport './Title.scss';\n\nconst b = block('title');\n\ninterface TitleProps {\n hasSeparator?: boolean;\n closeTitle?: string;\n closeIconSize?: number;\n onClose?: () => void;\n}\nexport const Title: React.FC<React.PropsWithChildren<TitleProps>> = ({\n children,\n closeIconSize = 23,\n hasSeparator,\n closeTitle = i18n('button_close'),\n onClose,\n}) => {\n return (\n <div className={b({separator: hasSeparator})}>\n <Text className={b('text')} as={'h3'} variant={'subheader-3'}>\n {children}\n </Text>\n {onClose && (\n <Button\n onClick={onClose}\n view=\"flat\"\n size=\"l\"\n extraProps={{\n 'aria-label': closeTitle,\n }}\n >\n <Icon data={Xmark} size={closeIconSize} />\n </Button>\n )}\n </div>\n );\n};\n\nTitle.displayName = 'Title';\n"],"names":["registerKeyset","block","React","Text","Button","Icon","Xmark"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,WAAeA,6BAAc,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,EAAE,SAAS,CAAC;;;;;ACElD,MAAM,CAAC,GAAGC,oBAAK,CAAC,OAAO,CAAC,CAAC;AAQZ,MAAA,KAAK,GAAkD,CAAC,EACjE,QAAQ,EACR,aAAa,GAAG,EAAE,EAClB,YAAY,EACZ,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,EACjC,OAAO,GACV,KAAI;IACD,QACIC,yBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAC,CAAC,EAAC,SAAS,EAAE,YAAY,EAAC,CAAC,EAAA;AACxC,QAAAA,yBAAA,CAAA,aAAA,CAACC,UAAI,EAAC,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAA,EACvD,QAAQ,CACN;AACN,QAAA,OAAO,KACJD,yBAAA,CAAA,aAAA,CAACE,YAAM,EACH,EAAA,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,GAAG,EACR,UAAU,EAAE;AACR,gBAAA,YAAY,EAAE,UAAU;AAC3B,aAAA,EAAA;AAED,YAAAF,yBAAA,CAAA,aAAA,CAACG,UAAI,EAAA,EAAC,IAAI,EAAEC,WAAK,EAAE,IAAI,EAAE,aAAa,EAAI,CAAA,CACrC,CACZ,CACC,EACR;AACN,EAAE;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
@@ -1,4 +1,18 @@
1
1
  import React from 'react';
2
2
  import { AsideHeaderProps } from './types';
3
- import './AsideHeader.scss';
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
+ */
4
18
  export declare const AsideHeader: React.ForwardRefExoticComponent<AsideHeaderProps & React.RefAttributes<HTMLDivElement>>;
@@ -4,14 +4,13 @@ import { AsideHeaderInnerProps } from './types';
4
4
  export interface AsideHeaderInnerContextType extends AsideHeaderInnerProps {
5
5
  menuItems: MenuItem[];
6
6
  allPagesIsAvailable: boolean;
7
- size: number;
8
7
  onItemClick: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
9
8
  }
10
9
  export declare const AsideHeaderInnerContext: React.Context<AsideHeaderInnerContextType | undefined>;
11
10
  export declare const AsideHeaderInnerContextProvider: React.Provider<AsideHeaderInnerContextType | undefined>;
12
11
  export declare const useAsideHeaderInnerContext: () => AsideHeaderInnerContextType;
13
12
  export interface AsideHeaderContextType {
14
- compact?: boolean;
13
+ compact: boolean;
15
14
  size: number;
16
15
  }
17
16
  export declare const AsideHeaderContext: React.Context<AsideHeaderContextType | undefined>;
@@ -3,3 +3,4 @@ export default _default;
3
3
  export declare const Showcase: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
4
4
  export declare const Compact: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
5
5
  export declare const MultipleTooltip: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
6
+ export declare const AdvancedUsage: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
@@ -0,0 +1,11 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { ContentProps } from '../../../Content';
3
+ import { LayoutProps } from '../../types';
4
+ import '../../AsideHeader.scss';
5
+ export interface PageLayoutProps extends PropsWithChildren<LayoutProps> {
6
+ reverse?: boolean;
7
+ }
8
+ declare const PageLayout: (({ compact, reverse, className, children }: PageLayoutProps) => React.JSX.Element) & {
9
+ Content: React.FC<React.PropsWithChildren<Pick<ContentProps, "renderContent">>>;
10
+ };
11
+ export { PageLayout };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { AsideHeaderProps } from '../../types';
3
+ type Props = Omit<AsideHeaderProps, 'compact' | 'size'>;
4
+ export declare const PageLayoutAside: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
5
+ export {};
@@ -2,10 +2,15 @@
2
2
  import { RenderContentType } from '../Content';
3
3
  import { DrawerItemProps } from '../Drawer/Drawer';
4
4
  import { LogoProps, MenuItem, SubheaderMenuItem, OpenModalSubscriber } from '../types';
5
+ import { AsideHeaderContextType } from './AsideHeaderContext';
6
+ export interface LayoutProps {
7
+ compact: boolean;
8
+ className?: string;
9
+ }
5
10
  export interface AsideHeaderGeneralProps {
6
11
  logo: LogoProps;
7
- compact: boolean;
8
12
  multipleTooltip?: boolean;
13
+ reverse?: boolean;
9
14
  className?: string;
10
15
  collapseTitle?: string;
11
16
  expandTitle?: string;
@@ -27,8 +32,8 @@ export interface AsideHeaderDefaultProps {
27
32
  onMenuItemsChanged?: (items: MenuItem[]) => void;
28
33
  headerDecoration?: boolean;
29
34
  }
30
- export type AsideHeaderInnerProps = AsideHeaderGeneralProps & AsideHeaderDefaultProps;
31
- export interface AsideHeaderProps extends AsideHeaderGeneralProps, Partial<AsideHeaderDefaultProps> {
35
+ export type AsideHeaderInnerProps = AsideHeaderGeneralProps & AsideHeaderDefaultProps & AsideHeaderContextType;
36
+ export interface AsideHeaderProps extends AsideHeaderGeneralProps, LayoutProps, Partial<AsideHeaderDefaultProps> {
32
37
  }
33
38
  export declare enum InnerPanels {
34
39
  AllPages = "all-pages"
@@ -1,6 +1,6 @@
1
1
  import { MenuItem } from './../types';
2
2
  import { CompositeBarItem } from '../CompositeBar/CompositeBar';
3
- export declare function getItemHeight(item: CompositeBarItem): 40 | 15 | 50;
3
+ export declare function getItemHeight(item: CompositeBarItem): 15 | 40 | 50;
4
4
  export declare function getItemsHeight<T extends CompositeBarItem>(items: T[]): number;
5
5
  export declare function getSelectedItemIndex(items: MenuItem[]): number | undefined;
6
6
  export declare function getPinnedItems(items: MenuItem[]): MenuItem[];
@@ -2,11 +2,10 @@ import React from 'react';
2
2
  export type RenderContentType = (data: {
3
3
  size: number;
4
4
  }) => React.ReactNode;
5
- interface ContentProps {
5
+ export interface ContentProps {
6
6
  size: number;
7
7
  className?: string;
8
8
  cssSizeVariableName?: string;
9
9
  renderContent?: RenderContentType;
10
10
  }
11
11
  export declare const Content: React.FC<ContentProps>;
12
- export {};
@@ -3,6 +3,8 @@ export type { AsideHeaderProps } from './AsideHeader/types';
3
3
  export { AsideHeaderContextProvider, useAsideHeaderContext } from './AsideHeader/AsideHeaderContext';
4
4
  export { Drawer, DrawerProps, DrawerItemProps, DrawerItem } from './Drawer/Drawer';
5
5
  export { FooterItem, FooterItemProps } from './FooterItem/FooterItem';
6
+ export { PageLayout, type PageLayoutProps } from './AsideHeader/components/PageLayout/PageLayout';
7
+ export { PageLayoutAside } from './AsideHeader/components/PageLayout/PageLayoutAside';
6
8
  export * from './ActionBar';
7
9
  export * from './Title';
8
10
  export * from './HotkeysPanel';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const ASIDE_HEADER_ICON_SIZE = 18;
4
+ const ASIDE_HEADER_COMPACT_WIDTH = 56;
5
+ const ASIDE_HEADER_EXPANDED_WIDTH = 236;
6
+
7
+ exports.ASIDE_HEADER_COMPACT_WIDTH = ASIDE_HEADER_COMPACT_WIDTH;
8
+ exports.ASIDE_HEADER_EXPANDED_WIDTH = ASIDE_HEADER_EXPANDED_WIDTH;
9
+ exports.ASIDE_HEADER_ICON_SIZE = ASIDE_HEADER_ICON_SIZE;
10
+ //# sourceMappingURL=constants-9783dc2d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-9783dc2d.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;\n"],"names":[],"mappings":";;AAAO,MAAM,sBAAsB,GAAG,GAAG;AAClC,MAAM,0BAA0B,GAAG,GAAG;AACtC,MAAM,2BAA2B,GAAG;;;;;;"}