@gravity-ui/navigation 6.3.1 → 6.4.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.
@@ -5,6 +5,7 @@ var React = require('react');
5
5
  var icons = require('@gravity-ui/icons');
6
6
  var uikit = require('@gravity-ui/uikit');
7
7
  var cn = require('../../../../utils/cn.js');
8
+ var index = require('../i18n/index.js');
8
9
  var AllPagesListItem_module = require('./AllPagesListItem.module.scss.js');
9
10
 
10
11
  const b = cn.createBlock('all-pages-list-item', AllPagesListItem_module.default);
@@ -27,8 +28,9 @@ const AllPagesListItem = (props) => {
27
28
  return (React.createElement(Tag, Object.assign({}, tagProps, { className: b(), onClick: onItemClick, ref: ref }),
28
29
  params.icon,
29
30
  React.createElement("span", { className: b('text') }, params.title),
30
- editMode && !item.preventUserRemoving && (React.createElement(uikit.Button, { onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
31
- React.createElement(uikit.Button.Icon, null, item.hidden ? React.createElement(icons.Pin, null) : React.createElement(icons.PinFill, null))))));
31
+ editMode && !item.preventUserRemoving && (React.createElement(uikit.Tooltip, { content: index.default(item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin') },
32
+ React.createElement(uikit.Button, { "aria-label": index.default(item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin'), onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
33
+ React.createElement(uikit.Button.Icon, null, item.hidden ? React.createElement(icons.Pin, null) : React.createElement(icons.PinFill, null)))))));
32
34
  }, [Tag, tagProps, editMode, item, onPinButtonClick]);
33
35
  const iconNode = item.icon ? (React.createElement(uikit.Icon, { className: b('icon'), data: item.icon, size: item.iconSize })) : null;
34
36
  const titleNode = item.title;
@@ -1 +1 @@
1
- {"version":3,"file":"AllPagesListItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback, useRef} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\nimport {MakeItemParams} from 'src/components/types';\n\nimport {createBlock} from '../../../../utils/cn';\n\nimport styles from './AllPagesListItem.module.scss';\n\nconst b = createBlock('all-pages-list-item', styles);\n\ninterface AllPagesListItemProps {\n item: AsideHeaderItem;\n editMode?: boolean;\n enableSorting?: boolean;\n onToggle: () => void;\n onDragStart?: () => void;\n onDragEnd?: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const [Tag, tagProps] = item.href ? ['a' as const, {href: item.href}] : ['button' as const, {}];\n\n const makeNode = useCallback(\n (params: MakeItemParams) => {\n const onItemClick = (e: MouseEvent<HTMLElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n return (\n <Tag {...tagProps} className={b()} onClick={onItemClick} ref={ref}>\n {params.icon}\n <span className={b('text')}>{params.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Button\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n )}\n </Tag>\n );\n },\n [Tag, tagProps, editMode, item, onPinButtonClick],\n );\n\n const iconNode = item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null;\n const titleNode = item.title;\n const params: MakeItemParams = {icon: iconNode, title: titleNode};\n const opts = {collapsed: false, compact: false, item, ref};\n\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeNode, opts) as React.ReactElement;\n }\n\n return makeNode(params);\n};\n"],"names":["createBlock","styles","useRef","useCallback","Button","Pin","PinFill","Icon"],"mappings":";;;;;;;;AAYA,MAAM,CAAC,GAAGA,cAAW,CAAC,qBAAqB,EAAEC,+BAAM,CAAC;AAWvC,MAAA,gBAAgB,GAAoC,CAAC,KAAK,KAAI;IACvE,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK;AACxC,IAAA,MAAM,GAAG,GAAGC,YAAM,CAAwC,IAAI,CAAC;AAE/D,IAAA,MAAM,gBAAgB,GAAGC,iBAAW,CAChC,CAAC,CAAoD,KAAI;QACrD,CAAC,CAAC,eAAe,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,QAAQ,EAAE;AACd,KAAC,EACD,CAAC,QAAQ,CAAC,CACb;AAED,IAAA,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAY,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC;AAE/F,IAAA,MAAM,QAAQ,GAAGA,iBAAW,CACxB,CAAC,MAAsB,KAAI;AACvB,QAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;YAC/C,IAAI,QAAQ,EAAE;gBACV,CAAC,CAAC,eAAe,EAAE;gBACnB,CAAC,CAAC,cAAc,EAAE;;AAE1B,SAAC;AAED,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,GAAG,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,IAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA;AAC5D,YAAA,MAAM,CAAC,IAAI;YACZ,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAG,EAAA,MAAM,CAAC,KAAK,CAAQ;YAChD,QAAQ,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAClC,KAAC,CAAA,aAAA,CAAAC,YAAM,EACH,EAAA,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,aAAa,EAAA;gBAEpD,KAAC,CAAA,aAAA,CAAAA,YAAM,CAAC,IAAI,EAAE,IAAA,EAAA,IAAI,CAAC,MAAM,GAAG,KAAC,CAAA,aAAA,CAAAC,SAAG,OAAG,GAAG,KAAA,CAAA,aAAA,CAACC,aAAO,EAAA,IAAA,CAAG,CAAe,CAC3D,CACZ,CACC;AAEd,KAAC,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CACpD;AAED,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IACtB,KAAA,CAAA,aAAA,CAACC,UAAI,EAAC,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAI,IACpE,IAAI;AACR,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;IAC5B,MAAM,MAAM,GAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC;AACjE,IAAA,MAAM,IAAI,GAAG,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAC;AAE1D,IAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAuB;;AAGzE,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"AllPagesListItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback, useRef} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon, Tooltip} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\nimport {MakeItemParams} from 'src/components/types';\n\nimport {createBlock} from '../../../../utils/cn';\nimport i18n from '../i18n';\n\nimport styles from './AllPagesListItem.module.scss';\n\nconst b = createBlock('all-pages-list-item', styles);\n\ninterface AllPagesListItemProps {\n item: AsideHeaderItem;\n editMode?: boolean;\n enableSorting?: boolean;\n onToggle: () => void;\n onDragStart?: () => void;\n onDragEnd?: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const [Tag, tagProps] = item.href ? ['a' as const, {href: item.href}] : ['button' as const, {}];\n\n const makeNode = useCallback(\n (params: MakeItemParams) => {\n const onItemClick = (e: MouseEvent<HTMLElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n return (\n <Tag {...tagProps} className={b()} onClick={onItemClick} ref={ref}>\n {params.icon}\n <span className={b('text')}>{params.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Tooltip\n content={i18n(\n item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin',\n )}\n >\n <Button\n aria-label={i18n(\n item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin',\n )}\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n </Tooltip>\n )}\n </Tag>\n );\n },\n [Tag, tagProps, editMode, item, onPinButtonClick],\n );\n\n const iconNode = item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null;\n const titleNode = item.title;\n const params: MakeItemParams = {icon: iconNode, title: titleNode};\n const opts = {collapsed: false, compact: false, item, ref};\n\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeNode, opts) as React.ReactElement;\n }\n\n return makeNode(params);\n};\n"],"names":["createBlock","styles","useRef","useCallback","Tooltip","i18n","Button","Pin","PinFill","Icon"],"mappings":"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"}
@@ -7,7 +7,9 @@ var en = {
7
7
  "all-panel.menu.category.allOther": "All other",
8
8
  "all-panel.resetToDefault": "Reset to default",
9
9
  "all-panel.title.editing": "Configuring the menu bar",
10
- "all-panel.title.main": "All pages"
10
+ "all-panel.title.main": "All pages",
11
+ "all-panel.item.pin": "Pin",
12
+ "all-panel.item.unpin": "Unpin"
11
13
  };
12
14
 
13
15
  exports.default = en;
@@ -1 +1 @@
1
- {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,14 +1,14 @@
1
- declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string) & {
1
+ declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string) & {
2
2
  Translation: import("react").ComponentType<{
3
3
  children: (props: {
4
- t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string;
4
+ t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string;
5
5
  }) => React.ReactNode;
6
6
  }>;
7
7
  useTranslation: () => {
8
- t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string;
8
+ t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string;
9
9
  };
10
10
  keysetData: {
11
- "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", import("@gravity-ui/i18n").KeyData>;
11
+ "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", import("@gravity-ui/i18n").KeyData>;
12
12
  };
13
13
  };
14
14
  export default _default;
@@ -7,7 +7,9 @@ var ru = {
7
7
  "all-panel.menu.category.allOther": "Остальное",
8
8
  "all-panel.resetToDefault": "Сбросить по умолчанию",
9
9
  "all-panel.title.editing": "Настройка панели меню",
10
- "all-panel.title.main": "Все страницы"
10
+ "all-panel.title.main": "Все страницы",
11
+ "all-panel.item.pin": "Закрепить",
12
+ "all-panel.item.unpin": "Открепить"
11
13
  };
12
14
 
13
15
  exports.default = ru;
@@ -1 +1 @@
1
- {"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,8 +1,9 @@
1
1
  import './AllPagesListItem.css';
2
2
  import React__default, { useRef, useCallback } from 'react';
3
3
  import { Pin, PinFill } from '@gravity-ui/icons';
4
- import { Button, Icon } from '@gravity-ui/uikit';
4
+ import { Tooltip, Button, Icon } from '@gravity-ui/uikit';
5
5
  import { createBlock } from '../../../../utils/cn.js';
6
+ import i18n from '../i18n/index.js';
6
7
  import styles from './AllPagesListItem.module.scss.js';
7
8
 
8
9
  const b = createBlock('all-pages-list-item', styles);
@@ -25,8 +26,9 @@ const AllPagesListItem = (props) => {
25
26
  return (React__default.createElement(Tag, Object.assign({}, tagProps, { className: b(), onClick: onItemClick, ref: ref }),
26
27
  params.icon,
27
28
  React__default.createElement("span", { className: b('text') }, params.title),
28
- editMode && !item.preventUserRemoving && (React__default.createElement(Button, { onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
29
- React__default.createElement(Button.Icon, null, item.hidden ? React__default.createElement(Pin, null) : React__default.createElement(PinFill, null))))));
29
+ editMode && !item.preventUserRemoving && (React__default.createElement(Tooltip, { content: i18n(item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin') },
30
+ React__default.createElement(Button, { "aria-label": i18n(item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin'), onClick: onPinButtonClick, view: item.hidden ? 'flat-secondary' : 'flat-action' },
31
+ React__default.createElement(Button.Icon, null, item.hidden ? React__default.createElement(Pin, null) : React__default.createElement(PinFill, null)))))));
30
32
  }, [Tag, tagProps, editMode, item, onPinButtonClick]);
31
33
  const iconNode = item.icon ? (React__default.createElement(Icon, { className: b('icon'), data: item.icon, size: item.iconSize })) : null;
32
34
  const titleNode = item.title;
@@ -1 +1 @@
1
- {"version":3,"file":"AllPagesListItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback, useRef} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\nimport {MakeItemParams} from 'src/components/types';\n\nimport {createBlock} from '../../../../utils/cn';\n\nimport styles from './AllPagesListItem.module.scss';\n\nconst b = createBlock('all-pages-list-item', styles);\n\ninterface AllPagesListItemProps {\n item: AsideHeaderItem;\n editMode?: boolean;\n enableSorting?: boolean;\n onToggle: () => void;\n onDragStart?: () => void;\n onDragEnd?: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const [Tag, tagProps] = item.href ? ['a' as const, {href: item.href}] : ['button' as const, {}];\n\n const makeNode = useCallback(\n (params: MakeItemParams) => {\n const onItemClick = (e: MouseEvent<HTMLElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n return (\n <Tag {...tagProps} className={b()} onClick={onItemClick} ref={ref}>\n {params.icon}\n <span className={b('text')}>{params.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Button\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n )}\n </Tag>\n );\n },\n [Tag, tagProps, editMode, item, onPinButtonClick],\n );\n\n const iconNode = item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null;\n const titleNode = item.title;\n const params: MakeItemParams = {icon: iconNode, title: titleNode};\n const opts = {collapsed: false, compact: false, item, ref};\n\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeNode, opts) as React.ReactElement;\n }\n\n return makeNode(params);\n};\n"],"names":["React"],"mappings":";;;;;;AAYA,MAAM,CAAC,GAAG,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC;AAWvC,MAAA,gBAAgB,GAAoC,CAAC,KAAK,KAAI;IACvE,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK;AACxC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAwC,IAAI,CAAC;AAE/D,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,CAAoD,KAAI;QACrD,CAAC,CAAC,eAAe,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,QAAQ,EAAE;AACd,KAAC,EACD,CAAC,QAAQ,CAAC,CACb;AAED,IAAA,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAY,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC;AAE/F,IAAA,MAAM,QAAQ,GAAG,WAAW,CACxB,CAAC,MAAsB,KAAI;AACvB,QAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;YAC/C,IAAI,QAAQ,EAAE;gBACV,CAAC,CAAC,eAAe,EAAE;gBACnB,CAAC,CAAC,cAAc,EAAE;;AAE1B,SAAC;AAED,QAAA,QACIA,cAAC,CAAA,aAAA,CAAA,GAAG,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,IAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAA,CAAA;AAC5D,YAAA,MAAM,CAAC,IAAI;YACZA,cAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAG,EAAA,MAAM,CAAC,KAAK,CAAQ;YAChD,QAAQ,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAClCA,cAAC,CAAA,aAAA,CAAA,MAAM,EACH,EAAA,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,aAAa,EAAA;gBAEpDA,cAAC,CAAA,aAAA,CAAA,MAAM,CAAC,IAAI,EAAE,IAAA,EAAA,IAAI,CAAC,MAAM,GAAGA,cAAC,CAAA,aAAA,CAAA,GAAG,OAAG,GAAGA,cAAA,CAAA,aAAA,CAAC,OAAO,EAAA,IAAA,CAAG,CAAe,CAC3D,CACZ,CACC;AAEd,KAAC,EACD,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,CAAC,CACpD;AAED,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IACtBA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAI,IACpE,IAAI;AACR,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;IAC5B,MAAM,MAAM,GAAmB,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAC;AACjE,IAAA,MAAM,IAAI,GAAG,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAC;AAE1D,IAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAuB;;AAGzE,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"AllPagesListItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback, useRef} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon, Tooltip} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\nimport {MakeItemParams} from 'src/components/types';\n\nimport {createBlock} from '../../../../utils/cn';\nimport i18n from '../i18n';\n\nimport styles from './AllPagesListItem.module.scss';\n\nconst b = createBlock('all-pages-list-item', styles);\n\ninterface AllPagesListItemProps {\n item: AsideHeaderItem;\n editMode?: boolean;\n enableSorting?: boolean;\n onToggle: () => void;\n onDragStart?: () => void;\n onDragEnd?: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const ref = useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const [Tag, tagProps] = item.href ? ['a' as const, {href: item.href}] : ['button' as const, {}];\n\n const makeNode = useCallback(\n (params: MakeItemParams) => {\n const onItemClick = (e: MouseEvent<HTMLElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n return (\n <Tag {...tagProps} className={b()} onClick={onItemClick} ref={ref}>\n {params.icon}\n <span className={b('text')}>{params.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Tooltip\n content={i18n(\n item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin',\n )}\n >\n <Button\n aria-label={i18n(\n item.hidden ? 'all-panel.item.pin' : 'all-panel.item.unpin',\n )}\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n </Tooltip>\n )}\n </Tag>\n );\n },\n [Tag, tagProps, editMode, item, onPinButtonClick],\n );\n\n const iconNode = item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null;\n const titleNode = item.title;\n const params: MakeItemParams = {icon: iconNode, title: titleNode};\n const opts = {collapsed: false, compact: false, item, ref};\n\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeNode, opts) as React.ReactElement;\n }\n\n return makeNode(params);\n};\n"],"names":["React"],"mappings":"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"}
@@ -3,7 +3,9 @@ var en = {
3
3
  "all-panel.menu.category.allOther": "All other",
4
4
  "all-panel.resetToDefault": "Reset to default",
5
5
  "all-panel.title.editing": "Configuring the menu bar",
6
- "all-panel.title.main": "All pages"
6
+ "all-panel.title.main": "All pages",
7
+ "all-panel.item.pin": "Pin",
8
+ "all-panel.item.unpin": "Unpin"
7
9
  };
8
10
 
9
11
  export { en as default };
@@ -1 +1 @@
1
- {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,14 +1,14 @@
1
- declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string) & {
1
+ declare const _default: ((key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string) & {
2
2
  Translation: import("react").ComponentType<{
3
3
  children: (props: {
4
- t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string;
4
+ t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string;
5
5
  }) => React.ReactNode;
6
6
  }>;
7
7
  useTranslation: () => {
8
- t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", params?: import("@gravity-ui/i18n").Params) => string;
8
+ t: (key: "menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", params?: import("@gravity-ui/i18n").Params) => string;
9
9
  };
10
10
  keysetData: {
11
- "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main", import("@gravity-ui/i18n").KeyData>;
11
+ "gn-AllPagesPanel": Record<"menu-item.all-pages.title" | "all-panel.menu.category.allOther" | "all-panel.resetToDefault" | "all-panel.title.editing" | "all-panel.title.main" | "all-panel.item.pin" | "all-panel.item.unpin", import("@gravity-ui/i18n").KeyData>;
12
12
  };
13
13
  };
14
14
  export default _default;
@@ -3,7 +3,9 @@ var ru = {
3
3
  "all-panel.menu.category.allOther": "Остальное",
4
4
  "all-panel.resetToDefault": "Сбросить по умолчанию",
5
5
  "all-panel.title.editing": "Настройка панели меню",
6
- "all-panel.title.main": "Все страницы"
6
+ "all-panel.title.main": "Все страницы",
7
+ "all-panel.item.pin": "Закрепить",
8
+ "all-panel.item.unpin": "Открепить"
7
9
  };
8
10
 
9
11
  export { ru as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"ru.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/navigation",
3
- "version": "6.3.1",
3
+ "version": "6.4.0",
4
4
  "description": "Gravity UI Navigation components",
5
5
  "license": "MIT",
6
6
  "repository": {