ydb-embedded-ui 8.14.0 → 8.15.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 (112) hide show
  1. package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +4 -0
  2. package/dist/components/ComponentsProvider/componentsRegistry.d.ts +3 -0
  3. package/dist/components/ComponentsProvider/componentsRegistry.js +3 -1
  4. package/dist/components/ComponentsProvider/componentsRegistry.js.map +1 -1
  5. package/dist/components/ConnectToDB/ConnectToDBDialog.js +2 -2
  6. package/dist/components/ConnectToDB/ConnectToDBDialog.js.map +1 -1
  7. package/dist/components/ConnectToDB/i18n/en.json +0 -1
  8. package/dist/components/ConnectToDB/i18n/index.d.ts +1 -1
  9. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.d.ts +1 -3
  10. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js +3 -1
  11. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js.map +1 -1
  12. package/dist/components/ShardsTable/ShardsTable.d.ts +9 -0
  13. package/dist/components/ShardsTable/ShardsTable.js +18 -0
  14. package/dist/components/ShardsTable/ShardsTable.js.map +1 -0
  15. package/dist/components/ShardsTable/columns.d.ts +11 -0
  16. package/dist/components/ShardsTable/columns.js +107 -0
  17. package/dist/components/ShardsTable/columns.js.map +1 -0
  18. package/dist/{containers/Tenant/Diagnostics/TopShards/columns → components/ShardsTable}/constants.d.ts +2 -3
  19. package/dist/{containers/Tenant/Diagnostics/TopShards/columns → components/ShardsTable}/constants.js +1 -1
  20. package/dist/components/ShardsTable/constants.js.map +1 -0
  21. package/dist/components/ShardsTable/i18n/index.d.ts +2 -0
  22. package/dist/components/ShardsTable/i18n/index.js +5 -0
  23. package/dist/components/ShardsTable/i18n/index.js.map +1 -0
  24. package/dist/components/ShardsTable/types.d.ts +7 -0
  25. package/dist/components/ShardsTable/types.js +2 -0
  26. package/dist/components/ShardsTable/types.js.map +1 -0
  27. package/dist/components/ShardsTable/utils.d.ts +2 -0
  28. package/dist/components/ShardsTable/utils.js +9 -0
  29. package/dist/components/ShardsTable/utils.js.map +1 -0
  30. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.d.ts +11 -0
  31. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js +38 -0
  32. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js.map +1 -0
  33. package/dist/components/{ConnectToDB/ConnectToDBSyntaxHighlighter/ConnectToDBSyntaxHighlighter.scss → SyntaxHighlighter/YDBSyntaxHighlighter.scss} +5 -7
  34. package/dist/components/SyntaxHighlighter/i18n/en.json +3 -0
  35. package/dist/components/SyntaxHighlighter/i18n/index.d.ts +2 -0
  36. package/dist/components/SyntaxHighlighter/i18n/index.js +5 -0
  37. package/dist/components/SyntaxHighlighter/i18n/index.js.map +1 -0
  38. package/dist/components/SyntaxHighlighter/lazy.d.ts +7 -0
  39. package/dist/components/SyntaxHighlighter/lazy.js +3 -0
  40. package/dist/components/SyntaxHighlighter/lazy.js.map +1 -0
  41. package/dist/components/SyntaxHighlighter/shared.d.ts +1 -0
  42. package/dist/components/SyntaxHighlighter/shared.js +3 -0
  43. package/dist/components/SyntaxHighlighter/shared.js.map +1 -0
  44. package/dist/components/{YqlHighlighter/yql.d.ts → SyntaxHighlighter/themes.d.ts} +1685 -7
  45. package/dist/components/SyntaxHighlighter/themes.js +117 -0
  46. package/dist/components/SyntaxHighlighter/themes.js.map +1 -0
  47. package/dist/components/SyntaxHighlighter/types.d.ts +1 -0
  48. package/dist/components/SyntaxHighlighter/types.js +2 -0
  49. package/dist/components/SyntaxHighlighter/types.js.map +1 -0
  50. package/dist/components/SyntaxHighlighter/yql.d.ts +5 -0
  51. package/dist/components/{YqlHighlighter → SyntaxHighlighter}/yql.js +2 -83
  52. package/dist/components/SyntaxHighlighter/yql.js.map +1 -0
  53. package/dist/components/TruncatedQuery/TruncatedQuery.js +3 -3
  54. package/dist/components/TruncatedQuery/TruncatedQuery.js.map +1 -1
  55. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  56. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.js +2 -2
  57. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.js.map +1 -1
  58. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +4 -5
  59. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js.map +1 -1
  60. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +1 -1
  61. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  62. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.d.ts +2 -2
  63. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +3 -5
  64. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js.map +1 -1
  65. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +5 -2
  66. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
  67. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +21 -36
  68. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js.map +1 -1
  69. package/dist/containers/Tenant/Diagnostics/TopShards/utils.js +1 -1
  70. package/dist/containers/Tenant/Diagnostics/TopShards/utils.js.map +1 -1
  71. package/dist/containers/Tenant/Info/View/View.js +2 -2
  72. package/dist/containers/Tenant/Info/View/View.js.map +1 -1
  73. package/dist/store/reducers/cluster/cluster.js +1 -1
  74. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  75. package/dist/store/reducers/cluster/utils.d.ts +1 -1
  76. package/dist/store/reducers/cluster/utils.js +5 -4
  77. package/dist/store/reducers/cluster/utils.js.map +1 -1
  78. package/dist/store/reducers/executeTopQueries/executeTopQueries.js +24 -20
  79. package/dist/store/reducers/executeTopQueries/executeTopQueries.js.map +1 -1
  80. package/dist/store/reducers/executeTopQueries/utils.d.ts +1 -1
  81. package/dist/store/reducers/executeTopQueries/utils.js +4 -4
  82. package/dist/store/reducers/executeTopQueries/utils.js.map +1 -1
  83. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +1 -1
  84. package/dist/store/reducers/shardsWorkload/shardsWorkload.js +11 -12
  85. package/dist/store/reducers/shardsWorkload/shardsWorkload.js.map +1 -1
  86. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +1 -1
  87. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.js +9 -9
  88. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.js.map +1 -1
  89. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +5 -6
  90. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js.map +1 -1
  91. package/dist/utils/constants.d.ts +1 -0
  92. package/dist/utils/constants.js +1 -0
  93. package/dist/utils/constants.js.map +1 -1
  94. package/package.json +1 -1
  95. package/dist/components/ConnectToDB/ConnectToDBSyntaxHighlighter/ConnectToDBSyntaxHighlighter.d.ts +0 -9
  96. package/dist/components/ConnectToDB/ConnectToDBSyntaxHighlighter/ConnectToDBSyntaxHighlighter.js +0 -55
  97. package/dist/components/ConnectToDB/ConnectToDBSyntaxHighlighter/ConnectToDBSyntaxHighlighter.js.map +0 -1
  98. package/dist/components/ConnectToDB/ConnectToDBSyntaxHighlighter/lazy.d.ts +0 -5
  99. package/dist/components/ConnectToDB/ConnectToDBSyntaxHighlighter/lazy.js +0 -3
  100. package/dist/components/ConnectToDB/ConnectToDBSyntaxHighlighter/lazy.js.map +0 -1
  101. package/dist/components/YqlHighlighter/YqlHighlighter.d.ts +0 -6
  102. package/dist/components/YqlHighlighter/YqlHighlighter.js +0 -13
  103. package/dist/components/YqlHighlighter/YqlHighlighter.js.map +0 -1
  104. package/dist/components/YqlHighlighter/yql.js.map +0 -1
  105. package/dist/containers/Tenant/Diagnostics/TopShards/columns/columns.d.ts +0 -5
  106. package/dist/containers/Tenant/Diagnostics/TopShards/columns/columns.js +0 -82
  107. package/dist/containers/Tenant/Diagnostics/TopShards/columns/columns.js.map +0 -1
  108. package/dist/containers/Tenant/Diagnostics/TopShards/columns/constants.js.map +0 -1
  109. package/dist/containers/Tenant/Diagnostics/TopShards/columns/i18n/index.d.ts +0 -2
  110. package/dist/containers/Tenant/Diagnostics/TopShards/columns/i18n/index.js +0 -5
  111. package/dist/containers/Tenant/Diagnostics/TopShards/columns/i18n/index.js.map +0 -1
  112. /package/dist/{containers/Tenant/Diagnostics/TopShards/columns → components/ShardsTable}/i18n/en.json +0 -0
@@ -11,11 +11,15 @@ export declare function useComponent<T extends Parameters<ComponentsRegistry['ge
11
11
  AsideNavigation: typeof import("../../lib").AsideNavigation;
12
12
  } & {
13
13
  ErrorBoundary: typeof import("../ErrorBoundary/ErrorBoundary").ErrorBoundaryInner;
14
+ } & {
15
+ ShardsTable: typeof import("../ShardsTable/ShardsTable").ShardsTable;
14
16
  })[T] extends infer T_1 ? T_1 extends ({
15
17
  StaffCard: typeof import("../User/StaffCard").StaffCard;
16
18
  } & {
17
19
  AsideNavigation: typeof import("../../lib").AsideNavigation;
18
20
  } & {
19
21
  ErrorBoundary: typeof import("../ErrorBoundary/ErrorBoundary").ErrorBoundaryInner;
22
+ } & {
23
+ ShardsTable: typeof import("../ShardsTable/ShardsTable").ShardsTable;
20
24
  })[T] ? T_1 extends React.ComponentType<any> ? React.ComponentType<React.PropsWithoutRef<React.ComponentProps<T_1>>> : never : never : never;
21
25
  export {};
@@ -1,5 +1,6 @@
1
1
  import { AsideNavigation } from '../../containers/AsideNavigation/AsideNavigation';
2
2
  import { ErrorBoundaryInner } from '../ErrorBoundary/ErrorBoundary';
3
+ import { ShardsTable } from '../ShardsTable/ShardsTable';
3
4
  import { StaffCard } from '../User/StaffCard';
4
5
  import type { ComponentsRegistryTemplate } from './registry';
5
6
  import { Registry } from './registry';
@@ -9,6 +10,8 @@ declare const componentsRegistryInner: Registry<{
9
10
  AsideNavigation: typeof AsideNavigation;
10
11
  } & {
11
12
  ErrorBoundary: typeof ErrorBoundaryInner;
13
+ } & {
14
+ ShardsTable: typeof ShardsTable;
12
15
  }>;
13
16
  export type ComponentsRegistry = ComponentsRegistryTemplate<typeof componentsRegistryInner>;
14
17
  export declare const componentsRegistry: ComponentsRegistry;
@@ -1,10 +1,12 @@
1
1
  import { AsideNavigation } from '../../containers/AsideNavigation/AsideNavigation';
2
2
  import { ErrorBoundaryInner } from '../ErrorBoundary/ErrorBoundary';
3
+ import { ShardsTable } from '../ShardsTable/ShardsTable';
3
4
  import { StaffCard } from '../User/StaffCard';
4
5
  import { Registry } from './registry';
5
6
  const componentsRegistryInner = new Registry()
6
7
  .register('StaffCard', StaffCard)
7
8
  .register('AsideNavigation', AsideNavigation)
8
- .register('ErrorBoundary', ErrorBoundaryInner);
9
+ .register('ErrorBoundary', ErrorBoundaryInner)
10
+ .register('ShardsTable', ShardsTable);
9
11
  export const componentsRegistry = componentsRegistryInner;
10
12
  //# sourceMappingURL=componentsRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentsRegistry.js","sourceRoot":"","sources":["../../../src/components/ComponentsProvider/componentsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAI,QAAQ,EAAE;KACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AAInD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAA6C,CAAC"}
1
+ {"version":3,"file":"componentsRegistry.js","sourceRoot":"","sources":["../../../src/components/ComponentsProvider/componentsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAI,QAAQ,EAAE;KACzC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;KAC7C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAI1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAA6C,CAAC"}
@@ -4,7 +4,7 @@ import NiceModal from '@ebay/nice-modal-react';
4
4
  import { Dialog, Tabs } from '@gravity-ui/uikit';
5
5
  import { cn } from '../../utils/cn';
6
6
  import { LinkWithIcon } from '../LinkWithIcon/LinkWithIcon';
7
- import { ConnectToDBSyntaxHighlighterLazy } from './ConnectToDBSyntaxHighlighter/lazy';
7
+ import { YDBSyntaxHighlighterLazy } from '../SyntaxHighlighter/lazy';
8
8
  import { getDocsLink } from './getDocsLink';
9
9
  import i18n from './i18n';
10
10
  import { getSnippetCode } from './snippets';
@@ -24,7 +24,7 @@ function ConnectToDBDialog({ open, onClose, database, endpoint }) {
24
24
  const [activeTab, setActiveTab] = React.useState('bash');
25
25
  const snippet = getSnippetCode(activeTab, { database, endpoint });
26
26
  const docsLink = getDocsLink(activeTab);
27
- return (_jsxs(Dialog, { open: open, hasCloseButton: true, onClose: onClose, size: "l", children: [_jsx(Dialog.Header, { caption: i18n('header') }), _jsxs(Dialog.Body, { children: [_jsx("div", { children: i18n('connection-info-message') }), _jsx(Tabs, { size: "m", allowNotSelected: false, activeTab: activeTab, items: connectionTabs, onSelectTab: (tab) => setActiveTab(tab), className: b('dialog-tabs') }), _jsx("div", { className: b('snippet-container'), children: _jsx(ConnectToDBSyntaxHighlighterLazy, { language: activeTab, text: snippet }) }), docsLink ? (_jsx(LinkWithIcon, { className: b('docs'), title: i18n('documentation'), url: docsLink })) : null] }), _jsx(Dialog.Footer, { onClickButtonCancel: onClose, textButtonCancel: i18n('close') })] }));
27
+ return (_jsxs(Dialog, { open: open, hasCloseButton: true, onClose: onClose, size: "l", children: [_jsx(Dialog.Header, { caption: i18n('header') }), _jsxs(Dialog.Body, { children: [_jsx("div", { children: i18n('connection-info-message') }), _jsx(Tabs, { size: "m", allowNotSelected: false, activeTab: activeTab, items: connectionTabs, onSelectTab: (tab) => setActiveTab(tab), className: b('dialog-tabs') }), _jsx("div", { className: b('snippet-container'), children: _jsx(YDBSyntaxHighlighterLazy, { language: activeTab, text: snippet, transparentBackground: false, withCopy: true }) }), docsLink ? (_jsx(LinkWithIcon, { className: b('docs'), title: i18n('documentation'), url: docsLink })) : null] }), _jsx(Dialog.Footer, { onClickButtonCancel: onClose, textButtonCancel: i18n('close') })] }));
28
28
  }
29
29
  const ConnectToDBDialogNiceModal = NiceModal.create((props) => {
30
30
  const modal = NiceModal.useModal();
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectToDBDialog.js","sourceRoot":"","sources":["../../../src/components/ConnectToDB/ConnectToDBDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConnectToDBDialog.js","sourceRoot":"","sources":["../../../src/components/ConnectToDB/ConnectToDBDialog.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  "connection-info-message": "Use the following code to connect to the database",
4
4
  "documentation": "Documentation",
5
5
  "close": "Close",
6
- "copy": "Copy",
7
6
  "docs_bash": "https://ydb.tech/docs/en/concepts/connect",
8
7
  "docs_cpp": "https://ydb.tech/docs/en/dev/example-app/example-cpp",
9
8
  "docs_dotnet": "https://ydb.tech/docs/en/dev/example-app/example-dotnet",
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "header" | "close" | "copy" | "documentation" | "connection-info-message" | "docs_bash" | "docs_cpp" | "docs_dotnet" | "docs_go" | "docs_java" | "docs_nodejs" | "docs_php" | "docs_python", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "header" | "close" | "documentation" | "connection-info-message" | "docs_bash" | "docs_cpp" | "docs_dotnet" | "docs_go" | "docs_java" | "docs_nodejs" | "docs_php" | "docs_python", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,8 +1,6 @@
1
1
  import type { LinkProps } from '@gravity-ui/uikit';
2
- import type { Location } from 'history';
3
2
  interface LinkToSchemaObjectProps extends Omit<LinkProps, 'href'> {
4
3
  path: string;
5
- location: Location;
6
4
  }
7
- export declare function LinkToSchemaObject({ path, location, ...props }: LinkToSchemaObjectProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function LinkToSchemaObject({ path, ...props }: LinkToSchemaObjectProps): import("react/jsx-runtime").JSX.Element;
8
6
  export {};
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Link } from '@gravity-ui/uikit';
3
+ import { useLocation } from 'react-router-dom';
3
4
  import { createExternalUILink, parseQuery } from '../../routes';
4
- export function LinkToSchemaObject({ path, location, ...props }) {
5
+ export function LinkToSchemaObject({ path, ...props }) {
6
+ const location = useLocation();
5
7
  const queryParams = parseQuery(location);
6
8
  const pathToSchemaObject = createExternalUILink({
7
9
  ...queryParams,
@@ -1 +1 @@
1
- {"version":3,"file":"LinkToSchemaObject.js","sourceRoot":"","sources":["../../../src/components/LinkToSchemaObject/LinkToSchemaObject.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvC,OAAO,EAAC,oBAAoB,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAO9D,MAAM,UAAU,kBAAkB,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA0B;IAClF,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;QAC5C,GAAG,WAAW;QACd,MAAM,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,OAAO,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,KAAK,KAAK,EAAE,IAAI,EAAE,kBAAkB,GAAI,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"LinkToSchemaObject.js","sourceRoot":"","sources":["../../../src/components/LinkToSchemaObject/LinkToSchemaObject.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAC,oBAAoB,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAM9D,MAAM,UAAU,kBAAkB,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAA0B;IACxE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;QAC5C,GAAG,WAAW;QACd,MAAM,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,OAAO,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,KAAK,KAAK,EAAE,IAAI,EAAE,kBAAkB,GAAI,CAAC;AACvE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { KeyValueRow } from '../../types/api/query';
2
+ import type { ResizeableDataTableProps } from '../ResizeableDataTable/ResizeableDataTable';
3
+ import type { TopShardsColumnId } from './constants';
4
+ export interface ShardsTableProps extends Omit<ResizeableDataTableProps<KeyValueRow>, 'columnsWidthLSKey' | 'columns'> {
5
+ columnsIds: TopShardsColumnId[];
6
+ database: string;
7
+ schemaPath?: string;
8
+ }
9
+ export declare function ShardsTable({ columnsIds, schemaPath, database, ...props }: ShardsTableProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ResizeableDataTable } from '../ResizeableDataTable/ResizeableDataTable';
4
+ import { shardsColumnIdToGetColumn } from './columns';
5
+ import { TOP_SHARDS_COLUMNS_WIDTH_LS_KEY, isSortableTopShardsColumn } from './constants';
6
+ export function ShardsTable({ columnsIds, schemaPath, database, ...props }) {
7
+ const columns = React.useMemo(() => columnsIds
8
+ .filter((id) => id in shardsColumnIdToGetColumn)
9
+ .map((id) => {
10
+ const column = shardsColumnIdToGetColumn[id]({ database, schemaPath });
11
+ return {
12
+ ...column,
13
+ sortable: isSortableTopShardsColumn(column.name),
14
+ };
15
+ }), [columnsIds, database, schemaPath]);
16
+ return (_jsx(ResizeableDataTable, { ...props, columnsWidthLSKey: TOP_SHARDS_COLUMNS_WIDTH_LS_KEY, columns: columns }));
17
+ }
18
+ //# sourceMappingURL=ShardsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardsTable.js","sourceRoot":"","sources":["../../../src/components/ShardsTable/ShardsTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,4CAA4C,CAAC;AAE/E,OAAO,EAAC,yBAAyB,EAAC,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAC,+BAA+B,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AASvF,MAAM,UAAU,WAAW,CAAC,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB;IACtF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CACD,UAAU;SACL,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,yBAAyB,CAAC;SAC/C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACR,MAAM,MAAM,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC,CAAC;QAErE,OAAO;YACH,GAAG,MAAM;YACT,QAAQ,EAAE,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC;SACnD,CAAC;IACN,CAAC,CAAC,EACV,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CACrC,CAAC;IAEF,OAAO,CACH,KAAC,mBAAmB,OACZ,KAAK,EACT,iBAAiB,EAAE,+BAA+B,EAClD,OAAO,EAAE,OAAO,GAClB,CACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { TopShardsColumnId } from './constants';
2
+ import type { GetShardsColumn } from './types';
3
+ export declare const getPathColumn: GetShardsColumn;
4
+ export declare const getDataSizeColumn: GetShardsColumn;
5
+ export declare const getTabletIdColumn: GetShardsColumn;
6
+ export declare const getNodeIdColumn: GetShardsColumn;
7
+ export declare const getCpuCoresColumn: GetShardsColumn;
8
+ export declare const getInFlightTxCountColumn: GetShardsColumn;
9
+ export declare const getPeakTimeColumn: GetShardsColumn;
10
+ export declare const getIntervalEndColumn: GetShardsColumn;
11
+ export declare const shardsColumnIdToGetColumn: Record<TopShardsColumnId, GetShardsColumn>;
@@ -0,0 +1,107 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import DataTable from '@gravity-ui/react-data-table';
3
+ import { getDefaultNodePath } from '../../containers/Node/NodePages';
4
+ import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
5
+ import { formatNumber, roundToPrecision } from '../../utils/dataFormatters/dataFormatters';
6
+ import { getUsageSeverity } from '../../utils/generateEvaluator';
7
+ import { InternalLink } from '../InternalLink';
8
+ import { LinkToSchemaObject } from '../LinkToSchemaObject/LinkToSchemaObject';
9
+ import { TabletNameWrapper } from '../TabletNameWrapper/TabletNameWrapper';
10
+ import { UsageLabel } from '../UsageLabel/UsageLabel';
11
+ import { TOP_SHARDS_COLUMNS_IDS, TOP_SHARDS_COLUMNS_TITLES } from './constants';
12
+ import { prepareDateTimeValue } from './utils';
13
+ export const getPathColumn = ({ schemaPath = '' }) => {
14
+ return {
15
+ name: TOP_SHARDS_COLUMNS_IDS.Path,
16
+ header: TOP_SHARDS_COLUMNS_TITLES.Path,
17
+ render: ({ row }) => {
18
+ // row.Path - relative schema path
19
+ return _jsx(LinkToSchemaObject, { path: schemaPath + row.Path, children: row.Path });
20
+ },
21
+ width: 300,
22
+ };
23
+ };
24
+ export const getDataSizeColumn = () => {
25
+ return {
26
+ name: TOP_SHARDS_COLUMNS_IDS.DataSize,
27
+ header: TOP_SHARDS_COLUMNS_TITLES.DataSize,
28
+ render: ({ row }) => {
29
+ return formatNumber(row.DataSize);
30
+ },
31
+ align: DataTable.RIGHT,
32
+ };
33
+ };
34
+ export const getTabletIdColumn = () => {
35
+ return {
36
+ name: TOP_SHARDS_COLUMNS_IDS.TabletId,
37
+ header: TOP_SHARDS_COLUMNS_TITLES.TabletId,
38
+ render: ({ row }) => {
39
+ if (!row.TabletId) {
40
+ return EMPTY_DATA_PLACEHOLDER;
41
+ }
42
+ return _jsx(TabletNameWrapper, { tabletId: row.TabletId });
43
+ },
44
+ width: 220,
45
+ };
46
+ };
47
+ export const getNodeIdColumn = () => {
48
+ return {
49
+ name: TOP_SHARDS_COLUMNS_IDS.NodeId,
50
+ header: TOP_SHARDS_COLUMNS_TITLES.NodeId,
51
+ render: ({ row }) => {
52
+ if (!row.NodeId) {
53
+ return EMPTY_DATA_PLACEHOLDER;
54
+ }
55
+ return _jsx(InternalLink, { to: getDefaultNodePath(row.NodeId), children: row.NodeId });
56
+ },
57
+ align: DataTable.RIGHT,
58
+ };
59
+ };
60
+ export const getCpuCoresColumn = () => {
61
+ return {
62
+ name: TOP_SHARDS_COLUMNS_IDS.CPUCores,
63
+ header: TOP_SHARDS_COLUMNS_TITLES.CPUCores,
64
+ render: ({ row }) => {
65
+ const usage = Number(row.CPUCores) * 100 || 0;
66
+ return (_jsx(UsageLabel, { value: roundToPrecision(usage, 2), theme: getUsageSeverity(usage) }));
67
+ },
68
+ align: DataTable.RIGHT,
69
+ width: 110,
70
+ resizeMinWidth: 110,
71
+ };
72
+ };
73
+ export const getInFlightTxCountColumn = () => {
74
+ return {
75
+ name: TOP_SHARDS_COLUMNS_IDS.InFlightTxCount,
76
+ header: TOP_SHARDS_COLUMNS_TITLES.InFlightTxCount,
77
+ render: ({ row }) => formatNumber(row.InFlightTxCount),
78
+ align: DataTable.RIGHT,
79
+ };
80
+ };
81
+ export const getPeakTimeColumn = () => {
82
+ return {
83
+ name: TOP_SHARDS_COLUMNS_IDS.PeakTime,
84
+ render: ({ row }) => {
85
+ return prepareDateTimeValue(row.PeakTime);
86
+ },
87
+ };
88
+ };
89
+ export const getIntervalEndColumn = () => {
90
+ return {
91
+ name: TOP_SHARDS_COLUMNS_IDS.IntervalEnd,
92
+ render: ({ row }) => {
93
+ return prepareDateTimeValue(row.IntervalEnd);
94
+ },
95
+ };
96
+ };
97
+ export const shardsColumnIdToGetColumn = {
98
+ [TOP_SHARDS_COLUMNS_IDS.Path]: getPathColumn,
99
+ [TOP_SHARDS_COLUMNS_IDS.DataSize]: getDataSizeColumn,
100
+ [TOP_SHARDS_COLUMNS_IDS.TabletId]: getTabletIdColumn,
101
+ [TOP_SHARDS_COLUMNS_IDS.NodeId]: getNodeIdColumn,
102
+ [TOP_SHARDS_COLUMNS_IDS.CPUCores]: getCpuCoresColumn,
103
+ [TOP_SHARDS_COLUMNS_IDS.InFlightTxCount]: getInFlightTxCountColumn,
104
+ [TOP_SHARDS_COLUMNS_IDS.PeakTime]: getPeakTimeColumn,
105
+ [TOP_SHARDS_COLUMNS_IDS.IntervalEnd]: getIntervalEndColumn,
106
+ };
107
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/components/ShardsTable/columns.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ValueOf } from '../../../../../types/common';
1
+ import type { ValueOf } from '../../types/common';
2
2
  export declare const TOP_SHARDS_COLUMNS_WIDTH_LS_KEY = "topShardsColumnsWidth";
3
3
  export declare const TOP_SHARDS_COLUMNS_IDS: {
4
4
  readonly TabletId: "TabletId";
@@ -10,8 +10,7 @@ export declare const TOP_SHARDS_COLUMNS_IDS: {
10
10
  readonly InFlightTxCount: "InFlightTxCount";
11
11
  readonly IntervalEnd: "IntervalEnd";
12
12
  };
13
- type TopShardsColumnId = ValueOf<typeof TOP_SHARDS_COLUMNS_IDS>;
13
+ export type TopShardsColumnId = ValueOf<typeof TOP_SHARDS_COLUMNS_IDS>;
14
14
  export declare const TOP_SHARDS_COLUMNS_TITLES: Record<TopShardsColumnId, string>;
15
15
  export declare function getTopShardsColumnSortField(columnId?: string): string | undefined;
16
16
  export declare function isSortableTopShardsColumn(columnId: string): boolean;
17
- export {};
@@ -44,7 +44,7 @@ const TOP_SHARDS_COLUMNS_TO_SORT_FIELDS = {
44
44
  NodeId: undefined,
45
45
  PeakTime: undefined,
46
46
  InFlightTxCount: 'InFlightTxCount',
47
- IntervalEnd: undefined,
47
+ IntervalEnd: 'IntervalEnd',
48
48
  };
49
49
  export function getTopShardsColumnSortField(columnId) {
50
50
  return TOP_SHARDS_COLUMNS_TO_SORT_FIELDS[columnId];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/components/ShardsTable/constants.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,+BAA+B,GAAG,uBAAuB,CAAC;AAEvE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;CACpB,CAAC;AAIX,MAAM,CAAC,MAAM,yBAAyB,GAAsC;IACxE,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;CACK,CAAC;AAEX,MAAM,iCAAiC,GAAkD;IACrF,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;CACpB,CAAC;AAEX,MAAM,UAAU,2BAA2B,CAAC,QAAiB;IACzD,OAAO,iCAAiC,CAAC,QAA6B,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACtD,OAAO,OAAO,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "path" | "tablet-id" | "cpu-cores" | "data-size" | "node-id" | "peak-time" | "in-flight-tx-count" | "interval-end", params?: import("@gravity-ui/i18n").Params) => string;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-shards-table';
4
+ export default registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ShardsTable/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Column } from '@gravity-ui/react-data-table';
2
+ import type { KeyValueRow } from '../../types/api/query';
3
+ export type ShardsColumn = Column<KeyValueRow>;
4
+ export type GetShardsColumn = (params: {
5
+ database: string;
6
+ schemaPath?: string;
7
+ }) => ShardsColumn;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/ShardsTable/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { CellValue } from '../../types/api/query';
2
+ export declare function prepareDateTimeValue(value: CellValue): string;
@@ -0,0 +1,9 @@
1
+ import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
2
+ import { formatDateTime } from '../../utils/dataFormatters/dataFormatters';
3
+ export function prepareDateTimeValue(value) {
4
+ if (!value) {
5
+ return EMPTY_DATA_PLACEHOLDER;
6
+ }
7
+ return formatDateTime(new Date(value).getTime());
8
+ }
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/ShardsTable/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAC,cAAc,EAAC,MAAM,2CAA2C,CAAC;AAEzE,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,sBAAsB,CAAC;IAClC,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Language } from './types';
2
+ import './YDBSyntaxHighlighter.scss';
3
+ type YDBSyntaxHighlighterProps = {
4
+ text: string;
5
+ language: Language;
6
+ className?: string;
7
+ transparentBackground?: boolean;
8
+ withCopy?: boolean;
9
+ };
10
+ export declare function YDBSyntaxHighlighter({ text, language, className, transparentBackground, withCopy, }: YDBSyntaxHighlighterProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ClipboardButton } from '@gravity-ui/uikit';
4
+ import { nanoid } from '@reduxjs/toolkit';
5
+ import { PrismLight as ReactSyntaxHighlighter } from 'react-syntax-highlighter';
6
+ import i18n from './i18n';
7
+ import { b } from './shared';
8
+ import { useSyntaxHighlighterStyle } from './themes';
9
+ import { yql } from './yql';
10
+ import './YDBSyntaxHighlighter.scss';
11
+ async function registerLanguage(lang) {
12
+ if (lang === 'yql') {
13
+ ReactSyntaxHighlighter.registerLanguage('yql', yql);
14
+ }
15
+ else {
16
+ const { default: syntax } = await import(`react-syntax-highlighter/dist/esm/languages/prism/${lang}`);
17
+ ReactSyntaxHighlighter.registerLanguage(lang, syntax);
18
+ }
19
+ }
20
+ export function YDBSyntaxHighlighter({ text, language, className, transparentBackground = true, withCopy, }) {
21
+ const [highlighterKey, setHighlighterKey] = React.useState('');
22
+ const style = useSyntaxHighlighterStyle(transparentBackground);
23
+ React.useEffect(() => {
24
+ async function registerLangAndUpdateKey() {
25
+ await registerLanguage(language);
26
+ setHighlighterKey(nanoid());
27
+ }
28
+ registerLangAndUpdateKey();
29
+ }, [language]);
30
+ const renderCopyButton = () => {
31
+ if (withCopy) {
32
+ return (_jsx("div", { className: b('sticky-container'), children: _jsx(ClipboardButton, { view: "flat-secondary", size: "s", className: b('copy'), text: text, children: i18n('copy') }) }));
33
+ }
34
+ return null;
35
+ };
36
+ return (_jsxs("div", { className: b(null, className), children: [renderCopyButton(), _jsx(ReactSyntaxHighlighter, { language: language, style: style, customStyle: { height: '100%' }, children: text }, highlighterKey)] }));
37
+ }
38
+ //# sourceMappingURL=YDBSyntaxHighlighter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YDBSyntaxHighlighter.js","sourceRoot":"","sources":["../../../src/components/SyntaxHighlighter/YDBSyntaxHighlighter.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAC,UAAU,IAAI,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAC,yBAAyB,EAAC,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,6BAA6B,CAAC;AAErC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IAC1C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACjB,sBAAsB,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACJ,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,MAAM,MAAM,CAClC,qDAAqD,IAAI,EAAE,CAC9D,CAAC;QACF,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,qBAAqB,GAAG,IAAI,EAC5B,QAAQ,GACgB;IACxB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;IAE/D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,KAAK,UAAU,wBAAwB;YACnC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,wBAAwB,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,YACjC,KAAC,eAAe,IACZ,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EACpB,IAAI,EAAE,IAAI,YAET,IAAI,CAAC,MAAM,CAAC,GACC,GAChB,CACT,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,aAC7B,gBAAgB,EAAE,EAEnB,KAAC,sBAAsB,IAEnB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,YAE5B,IAAI,IALA,cAAc,CAME,IACvB,CACT,CAAC;AACN,CAAC"}
@@ -1,12 +1,10 @@
1
- @use '../../../styles/mixins.scss';
1
+ @use '../../styles/mixins.scss';
2
2
 
3
- .ydb-connect-to-db-syntax-highlighter {
4
- &__wrapper {
5
- position: relative;
6
- z-index: 0;
3
+ .ydb-syntax-highlighter {
4
+ position: relative;
5
+ z-index: 0;
7
6
 
8
- height: 100%;
9
- }
7
+ height: 100%;
10
8
 
11
9
  &__sticky-container {
12
10
  z-index: 1;
@@ -0,0 +1,3 @@
1
+ {
2
+ "copy": "Copy"
3
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "copy", params?: import("@gravity-ui/i18n").Params) => string;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-syntax-highlighter';
4
+ export default registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SyntaxHighlighter/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const YDBSyntaxHighlighterLazy: import("react").ForwardRefExoticComponent<{
2
+ text: string;
3
+ language: import("./types").Language;
4
+ className?: string;
5
+ transparentBackground?: boolean;
6
+ withCopy?: boolean;
7
+ } & import("react").RefAttributes<typeof import("./YDBSyntaxHighlighter").YDBSyntaxHighlighter>>;
@@ -0,0 +1,3 @@
1
+ import { lazyComponent } from '../../utils/lazyComponent';
2
+ export const YDBSyntaxHighlighterLazy = lazyComponent(() => import('./YDBSyntaxHighlighter'), 'YDBSyntaxHighlighter');
3
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../src/components/SyntaxHighlighter/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CACjD,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,EACtC,sBAAsB,CACzB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const b: import("@bem-react/classname").ClassNameFormatter;
@@ -0,0 +1,3 @@
1
+ import { cn } from '../../utils/cn';
2
+ export const b = cn('ydb-syntax-highlighter');
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/components/SyntaxHighlighter/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC"}