@gravity-ui/dashkit 6.7.2 → 7.0.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 (88) hide show
  1. package/README.md +59 -16
  2. package/build/cjs/components/ActionPanel/ActionPanel.css +48 -6
  3. package/build/cjs/components/ActionPanel/ActionPanel.d.ts +3 -1
  4. package/build/cjs/components/ActionPanel/ActionPanel.js +12 -1
  5. package/build/cjs/components/DashKit/DashKit.d.ts +2 -2
  6. package/build/cjs/components/DashKit/DashKit.js +1 -1
  7. package/build/cjs/components/DashKitView/DashKitView.js +2 -2
  8. package/build/cjs/components/GridItem/GridItem.css +24 -15
  9. package/build/cjs/components/GridItem/GridItem.d.ts +1 -1
  10. package/build/cjs/components/GridItem/GridItem.js +1 -1
  11. package/build/cjs/components/GridLayout/GridLayout.d.ts +1 -1
  12. package/build/cjs/components/GridLayout/GridLayout.js +3 -3
  13. package/build/cjs/components/Item/Item.css +2 -8
  14. package/build/cjs/components/Item/Item.d.ts +1 -0
  15. package/build/cjs/components/MobileLayout/MobileLayout.d.ts +1 -1
  16. package/build/cjs/components/MobileLayout/MobileLayout.js +2 -2
  17. package/build/cjs/components/OverlayControls/OverlayControls.d.ts +2 -2
  18. package/build/cjs/components/OverlayControls/OverlayControls.js +14 -13
  19. package/build/cjs/context/DashKitContext.d.ts +1 -1
  20. package/build/cjs/hocs/prepareItem.d.ts +1 -0
  21. package/build/cjs/hocs/prepareItem.js +1 -1
  22. package/build/cjs/hocs/withContext.js +2 -2
  23. package/build/cjs/i18n/index.d.ts +1 -4
  24. package/build/cjs/i18n/index.js +2 -13
  25. package/build/cjs/plugins/Text/Text.d.ts +1 -1
  26. package/build/cjs/plugins/Text/Text.js +3 -3
  27. package/build/cjs/plugins/Title/Title.d.ts +1 -1
  28. package/build/cjs/shared/modules/helpers.d.ts +1 -1
  29. package/build/cjs/shared/modules/helpers.js +1 -1
  30. package/build/cjs/shared/modules/state-and-params.d.ts +1 -1
  31. package/build/cjs/shared/units/datalens/index.d.ts +1 -1
  32. package/build/cjs/shared/units/datalens/index.js +1 -1
  33. package/build/cjs/typings/common.d.ts +1 -1
  34. package/build/cjs/typings/plugin.d.ts +2 -2
  35. package/build/cjs/utils/index.d.ts +0 -1
  36. package/build/cjs/utils/index.js +0 -1
  37. package/build/cjs/utils/register-manager.d.ts +1 -1
  38. package/build/cjs/utils/update-manager.d.ts +2 -2
  39. package/build/cjs/utils/update-manager.js +4 -2
  40. package/build/esm/components/ActionPanel/ActionPanel.css +48 -6
  41. package/build/esm/components/ActionPanel/ActionPanel.d.ts +3 -1
  42. package/build/esm/components/ActionPanel/ActionPanel.js +12 -1
  43. package/build/esm/components/DashKit/DashKit.d.ts +2 -2
  44. package/build/esm/components/DashKit/DashKit.js +1 -1
  45. package/build/esm/components/DashKitView/DashKitView.js +2 -2
  46. package/build/esm/components/GridItem/GridItem.css +24 -15
  47. package/build/esm/components/GridItem/GridItem.d.ts +1 -1
  48. package/build/esm/components/GridItem/GridItem.js +2 -2
  49. package/build/esm/components/GridLayout/GridLayout.d.ts +1 -1
  50. package/build/esm/components/GridLayout/GridLayout.js +4 -3
  51. package/build/esm/components/Item/Item.css +2 -8
  52. package/build/esm/components/Item/Item.d.ts +1 -0
  53. package/build/esm/components/MobileLayout/MobileLayout.d.ts +1 -1
  54. package/build/esm/components/MobileLayout/MobileLayout.js +3 -2
  55. package/build/esm/components/OverlayControls/OverlayControls.d.ts +2 -2
  56. package/build/esm/components/OverlayControls/OverlayControls.js +6 -5
  57. package/build/esm/context/DashKitContext.d.ts +1 -1
  58. package/build/esm/hocs/prepareItem.d.ts +1 -0
  59. package/build/esm/hocs/prepareItem.js +1 -1
  60. package/build/esm/hocs/withContext.js +2 -2
  61. package/build/esm/i18n/index.d.ts +1 -4
  62. package/build/esm/i18n/index.js +2 -13
  63. package/build/esm/plugins/Text/Text.d.ts +1 -1
  64. package/build/esm/plugins/Text/Text.js +2 -2
  65. package/build/esm/plugins/Title/Title.d.ts +1 -1
  66. package/build/esm/shared/modules/__tests__/uniq-id.test.js +1 -1
  67. package/build/esm/shared/modules/helpers.d.ts +1 -1
  68. package/build/esm/shared/modules/helpers.js +2 -2
  69. package/build/esm/shared/modules/state-and-params.d.ts +1 -1
  70. package/build/esm/shared/modules/state-and-params.js +1 -1
  71. package/build/esm/shared/units/datalens/index.d.ts +1 -1
  72. package/build/esm/shared/units/datalens/index.js +1 -1
  73. package/build/esm/typings/common.d.ts +1 -1
  74. package/build/esm/typings/plugin.d.ts +2 -2
  75. package/build/esm/utils/index.d.ts +0 -1
  76. package/build/esm/utils/index.js +0 -1
  77. package/build/esm/utils/register-manager.d.ts +1 -1
  78. package/build/esm/utils/update-manager.d.ts +2 -2
  79. package/build/esm/utils/update-manager.js +4 -2
  80. package/package.json +25 -19
  81. package/build/cjs/utils/configure.d.ts +0 -9
  82. package/build/cjs/utils/configure.js +0 -21
  83. package/build/cjs/utils/i18n.d.ts +0 -7
  84. package/build/cjs/utils/i18n.js +0 -13
  85. package/build/esm/utils/configure.d.ts +0 -9
  86. package/build/esm/utils/configure.js +0 -15
  87. package/build/esm/utils/i18n.d.ts +0 -7
  88. package/build/esm/utils/i18n.js +0 -9
@@ -1,4 +1,4 @@
1
- import { GlobalParams, Config, ItemsStateAndParams, PluginBase, StringParams, ItemState } from '../types';
1
+ import { Config, GlobalParams, ItemState, ItemsStateAndParams, PluginBase, StringParams } from '../types';
2
2
  export interface GetItemsParamsArg {
3
3
  defaultGlobalParams: GlobalParams;
4
4
  globalParams: GlobalParams;
@@ -1,5 +1,5 @@
1
1
  import { GetItemsParamsArg } from '../../modules';
2
- import { PluginBase, ItemsStateAndParamsBase } from '../../types';
2
+ import { ItemsStateAndParamsBase, PluginBase } from '../../types';
3
3
  export declare const pluginControlBaseDL: PluginBase;
4
4
  export declare const pluginWidgetBaseDL: PluginBase;
5
5
  export declare function getItemsStateAndParamsDL(data: Omit<GetItemsParamsArg, 'plugins'>): ItemsStateAndParamsBase;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getItemsStateAndParamsDL = exports.pluginWidgetBaseDL = exports.pluginControlBaseDL = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const omit_1 = tslib_1.__importDefault(require("lodash/omit"));
6
- const modules_1 = require("../../modules");
7
6
  const constants_1 = require("../../constants");
7
+ const modules_1 = require("../../modules");
8
8
  exports.pluginControlBaseDL = {
9
9
  type: 'control',
10
10
  };
@@ -1,6 +1,6 @@
1
+ import type { ReactGridLayoutProps } from 'react-grid-layout';
1
2
  import { OverlayCustomControlItem } from '../components/OverlayControls/OverlayControls';
2
3
  import { MenuItems } from '../constants';
3
- import type { ReactGridLayoutProps } from 'react-grid-layout';
4
4
  export interface Settings {
5
5
  gridLayout?: ReactGridLayoutProps;
6
6
  theme?: string;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { ContextProps, SettingsProps, WidgetLayout } from './common';
3
- import { StringParams, ConfigItem, ItemState, ItemStateAndParams, PluginBase, ItemStateAndParamsChangeOptions } from '../shared';
4
2
  import type { ReactGridLayoutProps } from 'react-grid-layout';
3
+ import { ConfigItem, ItemState, ItemStateAndParams, ItemStateAndParamsChangeOptions, PluginBase, StringParams } from '../shared';
4
+ import { ContextProps, SettingsProps, WidgetLayout } from './common';
5
5
  export interface PluginWidgetProps {
6
6
  id: string;
7
7
  editMode: boolean;
@@ -1,3 +1,2 @@
1
- export * from './i18n';
2
1
  export * from './register-manager';
3
2
  export * from './update-manager';
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./i18n"), exports);
5
4
  tslib_1.__exportStar(require("./register-manager"), exports);
6
5
  tslib_1.__exportStar(require("./update-manager"), exports);
@@ -1,5 +1,5 @@
1
- import { Plugin, PluginDefaultLayout, Settings } from '../typings';
2
1
  import type { ReactGridLayoutProps } from 'react-grid-layout';
2
+ import { Plugin, PluginDefaultLayout, Settings } from '../typings';
3
3
  interface RegisterManagerDefaultLayout {
4
4
  x: number;
5
5
  y: number;
@@ -1,5 +1,5 @@
1
- import { Config, ConfigItem, ItemsStateAndParams, ItemStateAndParams, ItemStateAndParamsChangeOptions } from '../shared';
2
- import { AddConfigItem, WidgetLayout, SetItemOptions } from '../typings';
1
+ import { Config, ConfigItem, ItemStateAndParams, ItemStateAndParamsChangeOptions, ItemsStateAndParams } from '../shared';
2
+ import { AddConfigItem, SetItemOptions, WidgetLayout } from '../typings';
3
3
  import { RegisterManagerPluginLayout } from './register-manager';
4
4
  interface RemoveItemArg {
5
5
  id: string;
@@ -5,8 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const immutability_helper_1 = tslib_1.__importStar(require("immutability-helper"));
6
6
  const omit_1 = tslib_1.__importDefault(require("lodash/omit"));
7
7
  const pick_1 = tslib_1.__importDefault(require("lodash/pick"));
8
- const shared_1 = require("../shared");
9
8
  const constants_1 = require("../constants");
9
+ const shared_1 = require("../shared");
10
10
  const get_new_id_1 = require("./get-new-id");
11
11
  (0, immutability_helper_1.extend)('$auto', (value, object) => (object ? (0, immutability_helper_1.default)(object, value) : (0, immutability_helper_1.default)({}, value)));
12
12
  function removeItemVersion1({ id, config, itemsStateAndParams }) {
@@ -34,7 +34,9 @@ function removeItemVersion1({ id, config, itemsStateAndParams }) {
34
34
  const item = config.items.find((configItem) => configItem.id === key);
35
35
  if (params && item) {
36
36
  const { namespace } = item;
37
- const currentUniqParamsKeys = namespace === removeItem.namespace ? uniqNamespaceParamsKeys : uniqParamsKeys;
37
+ const currentUniqParamsKeys = namespace === removeItem.namespace
38
+ ? uniqNamespaceParamsKeys
39
+ : uniqParamsKeys;
38
40
  const resultParams = (0, omit_1.default)(params, currentUniqParamsKeys);
39
41
  if (Object.keys(params).length !== Object.keys(resultParams).length) {
40
42
  acc[key] = {
@@ -1,33 +1,75 @@
1
1
  .dashkit-action-panel {
2
- background-color: var(--g-color-base-float);
3
- box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
2
+ --_--dashkit-action-panel-color: var(--dashkit-action-panel-color, var(--g-color-base-float));
3
+ --_--dashkit-action-panel-border-color: var(
4
+ --dashkit-action-panel-border-color,
5
+ var(--g-color-base-brand)
6
+ );
7
+ --_--dashkit-action-panel-border-radius: var(
8
+ --dashkit-action-panel-border-radius,
9
+ var(--g-border-radius-xl)
10
+ );
11
+ background-color: var(--_--dashkit-action-panel-color);
4
12
  position: fixed;
5
13
  bottom: 20px;
6
14
  display: flex;
7
- border-radius: 8px;
15
+ border-radius: var(--_--dashkit-action-panel-border-radius);
16
+ border: 2px solid var(--_--dashkit-action-panel-border-color);
8
17
  padding: 8px;
9
18
  gap: 0;
10
19
  left: 50%;
11
- transform: translateX(-50%);
20
+ transform: translateX(-50%) translateY(0);
12
21
  z-index: 1;
13
22
  }
23
+ .dashkit-action-panel-enter {
24
+ transform: translateX(-50%) translateY(calc(100% + 20px));
25
+ will-change: transform;
26
+ }
27
+ .dashkit-action-panel-enter-active {
28
+ transform: translateX(-50%) translateY(0);
29
+ transition: transform 300ms ease;
30
+ }
31
+ .dashkit-action-panel-exit {
32
+ transform: translateX(-50%) translateY(0);
33
+ will-change: transform;
34
+ }
35
+ .dashkit-action-panel-exit-active {
36
+ transform: translateX(-50%) translateY(calc(100% + 20px));
37
+ transition: transform 300ms ease;
38
+ }
14
39
  .dashkit-action-panel__item {
40
+ --_--dashkit-action-panel-item-color: var(--dashkit-action-panel-item-color, transparent);
41
+ --_--dashkit-action-panel-item-text-color: var(
42
+ --dashkit-action-panel-item-text-color,
43
+ var(--g-color-text-primary)
44
+ );
45
+ --_--dashkit-action-panel-item-color-hover: var(
46
+ --dashkit-action-panel-item-color-hover,
47
+ var(--g-color-base-simple-hover)
48
+ );
49
+ --_--dashkit-action-panel-item-text-color-hover: var(
50
+ --dashkit-action-panel-item-text-color-hover,
51
+ var(--g-color-text-primary)
52
+ );
15
53
  height: 68px;
16
54
  width: 98px;
17
55
  display: flex;
18
56
  flex-direction: column;
19
57
  justify-content: center;
20
58
  align-items: center;
21
- transition: 0.3s background-color ease-in-out;
59
+ transition: 300ms color ease-in-out, 300ms background-color ease-in-out;
22
60
  border-radius: 6px;
23
61
  padding: 0 12px;
24
62
  box-sizing: border-box;
25
63
  white-space: nowrap;
26
64
  overflow: hidden;
65
+ background-color: var(--_--dashkit-action-panel-item-color);
66
+ color: var(--_--dashkit-action-panel-item-text-color);
67
+ will-change: color, backgroung-color;
27
68
  }
28
69
  .dashkit-action-panel__item:hover {
29
70
  cursor: pointer;
30
- background-color: var(--g-color-base-simple-hover);
71
+ background-color: var(--_--dashkit-action-panel-item-color-hover);
72
+ color: var(--_--dashkit-action-panel-item-text-color-hover);
31
73
  }
32
74
  .dashkit-action-panel__icon {
33
75
  margin-bottom: 4px;
@@ -11,5 +11,7 @@ export type ActionPanelItem = {
11
11
  export type ActionPanelProps = {
12
12
  items: ActionPanelItem[];
13
13
  className?: string;
14
+ disable?: boolean;
15
+ toggleAnimation?: boolean;
14
16
  };
15
- export declare const ActionPanel: (props: ActionPanelProps) => JSX.Element;
17
+ export declare const ActionPanel: (props: ActionPanelProps) => JSX.Element | null;
@@ -1,11 +1,22 @@
1
1
  import React from 'react';
2
+ import { CSSTransition } from 'react-transition-group';
2
3
  import { cn } from '../../utils/cn';
3
4
  import './ActionPanel.css';
4
5
  const b = cn('dashkit-action-panel');
5
6
  export const ActionPanel = (props) => {
6
- return (React.createElement("div", { className: b(null, props.className) }, props.items.map((item) => {
7
+ var _a, _b;
8
+ const isDisabled = (_a = props.disable) !== null && _a !== void 0 ? _a : false;
9
+ const isAnimated = (_b = props.toggleAnimation) !== null && _b !== void 0 ? _b : false;
10
+ const nodeRef = React.useRef(null);
11
+ const content = (React.createElement("div", { ref: nodeRef, className: b(null, props.className) }, props.items.map((item) => {
7
12
  return (React.createElement("div", { role: "button", className: b('item', item.className), key: `dk-action-panel-${item.id}`, onClick: item.onClick, "data-qa": item.qa },
8
13
  React.createElement("div", { className: b('icon') }, item.icon),
9
14
  React.createElement("div", { className: b('title'), title: item.title }, item.title)));
10
15
  })));
16
+ if (isAnimated) {
17
+ return (React.createElement(CSSTransition, { in: !isDisabled, nodeRef: nodeRef, classNames: b(null), timeout: 300, unmountOnExit: true }, content));
18
+ }
19
+ else {
20
+ return isDisabled ? null : content;
21
+ }
11
22
  };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
+ import { Config, ConfigItem, GlobalParams, ItemsStateAndParams } from '../../shared';
3
+ import { ContextProps, Plugin, SetConfigItem, SetItemOptions, Settings, SettingsProps } from '../../typings';
2
4
  import GridLayout from '../GridLayout/GridLayout';
3
- import { SetConfigItem, Settings, SettingsProps, ContextProps, Plugin, SetItemOptions } from '../../typings';
4
- import { GlobalParams, Config, ConfigItem, ItemsStateAndParams } from '../../shared';
5
5
  import { OverlayControlItem } from '../OverlayControls/OverlayControls';
6
6
  interface DashKitGeneralProps {
7
7
  config: Config;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import noop from 'lodash/noop';
3
+ import { DEFAULT_NAMESPACE } from '../../constants';
3
4
  import { RegisterManager, UpdateManager } from '../../utils';
4
5
  import DashKitView from '../DashKitView/DashKitView';
5
- import { DEFAULT_NAMESPACE } from '../../constants';
6
6
  const registerManager = new RegisterManager();
7
7
  export class DashKit extends React.PureComponent {
8
8
  constructor() {
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { DashKitContext } from '../../context/DashKitContext';
3
- import GridLayout from '../GridLayout/GridLayout';
4
- import MobileLayout from '../MobileLayout/MobileLayout';
5
3
  import { withContext } from '../../hocs/withContext';
6
4
  import { useCalcPropsLayout } from '../../hooks/useCalcLayout';
7
5
  import { cn } from '../../utils/cn';
6
+ import GridLayout from '../GridLayout/GridLayout';
7
+ import MobileLayout from '../MobileLayout/MobileLayout';
8
8
  import './DashKitView.css';
9
9
  const b = cn('dashkit');
10
10
  function DashKitView(props) {
@@ -2,25 +2,32 @@
2
2
  position: relative;
3
3
  }
4
4
  .dashkit-grid-item__overlay {
5
+ --_-dashkit-overlay-color: var(--dashkit-overlay-color, var(--g-color-base-generic));
6
+ --_-dashkit-overlay-border-color: var(--dashkit-overlay-border-color, rgba(0, 0, 0, 0.1));
7
+ --_-dashkit-overlay-opacity: var(--dashkit-overlay-opacity, 1);
8
+ --_-dashkit-overlay-border-radius: var(
9
+ --dashkit-grid-item-border-radius,
10
+ 3px
11
+ );
5
12
  position: absolute;
6
- top: 0;
7
- bottom: 0;
8
- left: 0;
9
- right: 0;
10
- border-radius: 3px;
11
- background-color: var(--g-color-base-generic);
12
- border: solid 1px rgba(0, 0, 0, 0.1);
13
+ inset: 0;
14
+ border-radius: var(--_-dashkit-overlay-border-radius);
15
+ background-color: var(--_-dashkit-overlay-color);
16
+ border: solid 1px var(--_-dashkit-overlay-border-color);
17
+ opacity: var(--_-dashkit-overlay-opacity);
13
18
  }
14
19
  .dashkit-grid-item__item {
20
+ --_-dashkit-grid-item-border-radius: var(
21
+ --dashkit-grid-item-border-radius,
22
+ 3px
23
+ );
24
+ --_-dashkit-grid-item-edit-opacity: var(--dashkit-grid-item-edit-opacity, 0.5);
15
25
  position: absolute;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- border-radius: 3px;
26
+ inset: 0;
27
+ border-radius: var(--_-dashkit-grid-item-border-radius);
21
28
  }
22
29
  .dashkit-grid-item__item_editMode {
23
- opacity: 0.5;
30
+ opacity: var(--_-dashkit-grid-item-edit-opacity);
24
31
  border-color: transparent;
25
32
  pointer-events: none;
26
33
  }
@@ -50,8 +57,10 @@
50
57
  }
51
58
 
52
59
  .react-grid-item.react-grid-placeholder {
53
- background: #fc0;
54
- opacity: 0.2;
60
+ --_-dashkit-placeholder-color: var(--dashkit-placeholder-color, #fc0);
61
+ --_-dashkit-placeholder-opacity: var(--dashkit-placeholder-opacity, 0.2);
62
+ background: var(--_-dashkit-placeholder-color);
63
+ opacity: var(--_-dashkit-placeholder-opacity);
55
64
  transition-duration: 100ms;
56
65
  z-index: 2;
57
66
  user-select: none;
@@ -1,3 +1,3 @@
1
1
  declare const _default: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
2
2
  export default _default;
3
- import React from "react";
3
+ import React from 'react';
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import Item from '../Item/Item';
4
3
  import { DashKitContext } from '../../context/DashKitContext';
5
4
  import { cn } from '../../utils/cn';
6
- import './GridItem.css';
5
+ import Item from '../Item/Item';
7
6
  import OverlayControls from '../OverlayControls/OverlayControls';
7
+ import './GridItem.css';
8
8
  const b = cn('dashkit-grid-item');
9
9
  class GridItem extends React.PureComponent {
10
10
  renderOverlay() {
@@ -23,4 +23,4 @@ export default class GridLayout extends React.PureComponent<any, any, any> {
23
23
  _onStop: (newLayout: any) => void;
24
24
  render(): JSX.Element;
25
25
  }
26
- import React from "react";
26
+ import React from 'react';
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import ReactGridLayout, { WidthProvider } from 'react-grid-layout';
3
- import GridItem from '../GridItem/GridItem';
4
- import { DashKitContext } from '../../context/DashKitContext';
5
3
  import { OVERLAY_CONTROLS_CLASS_NAME } from '../../constants';
4
+ import { DashKitContext } from '../../context/DashKitContext';
5
+ import GridItem from '../GridItem/GridItem';
6
6
  const Layout = WidthProvider(ReactGridLayout); // eslint-disable-line new-cap
7
- export default class GridLayout extends React.PureComponent {
7
+ class GridLayout extends React.PureComponent {
8
8
  constructor(props, context) {
9
9
  super(props, context);
10
10
  this.onVisibilityChange = () => {
@@ -81,3 +81,4 @@ export default class GridLayout extends React.PureComponent {
81
81
  }
82
82
  }
83
83
  GridLayout.contextType = DashKitContext;
84
+ export default GridLayout;
@@ -1,16 +1,10 @@
1
1
  .dashkit-item__renderer {
2
2
  position: absolute;
3
- top: 0;
4
- bottom: 0;
5
- left: 0;
6
- right: 0;
3
+ inset: 0;
7
4
  }
8
5
  .dashkit-item__loader {
9
6
  position: absolute;
10
- top: 0;
11
- bottom: 0;
12
- left: 0;
13
- right: 0;
7
+ inset: 0;
14
8
  display: flex;
15
9
  align-items: center;
16
10
  justify-content: center;
@@ -61,3 +61,4 @@ declare const _default: {
61
61
  contextType: React.Context<any>;
62
62
  };
63
63
  export default _default;
64
+ import React from 'react';
@@ -13,4 +13,4 @@ export default class MobileLayout extends React.PureComponent<any, any, any> {
13
13
  }) => void;
14
14
  render(): JSX.Element;
15
15
  }
16
- import React from "react";
16
+ import React from 'react';
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import Item from '../Item/Item';
3
2
  import { DashKitContext } from '../../context/DashKitContext';
4
3
  import { cn } from '../../utils/cn';
4
+ import Item from '../Item/Item';
5
5
  import { getSortedConfigItems } from './helpers';
6
6
  import './MobileLayout.css';
7
7
  const b = cn('dashkit-mobile-layout');
8
- export default class MobileLayout extends React.PureComponent {
8
+ class MobileLayout extends React.PureComponent {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this.pluginsRefs = [];
@@ -49,3 +49,4 @@ export default class MobileLayout extends React.PureComponent {
49
49
  }
50
50
  }
51
51
  MobileLayout.contextType = DashKitContext;
52
+ export default MobileLayout;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { ButtonView, ButtonSize, IconProps, MenuItemProps } from '@gravity-ui/uikit';
3
- import { ConfigItem, PluginBase, StringParams, Config, ItemState } from '../../shared';
2
+ import { ButtonSize, ButtonView, IconProps, MenuItemProps } from '@gravity-ui/uikit';
3
+ import { Config, ConfigItem, ItemState, PluginBase, StringParams } from '../../shared';
4
4
  import type { RegisterManager } from '../../utils/register-manager';
5
5
  import './OverlayControls.css';
6
6
  export declare enum OverlayControlsPosition {
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
- import i18n from '../../i18n';
2
+ import { Button, DropdownMenu, Icon, } from '@gravity-ui/uikit';
3
3
  import noop from 'lodash/noop';
4
+ import { COPIED_WIDGET_STORE_KEY, MenuItems, OVERLAY_CONTROLS_CLASS_NAME } from '../../constants';
4
5
  import { DashKitContext } from '../../context/DashKitContext';
5
- import { Icon, DropdownMenu, Button, } from '@gravity-ui/uikit';
6
- import { COPIED_WIDGET_STORE_KEY, OVERLAY_CONTROLS_CLASS_NAME, MenuItems } from '../../constants';
7
- import { DotsIcon } from '../../icons/DotsIcon';
8
- import { CogIcon } from '../../icons/CogIcon';
6
+ import { i18n } from '../../i18n';
9
7
  import { CloseIcon } from '../../icons/CloseIcon';
8
+ import { CogIcon } from '../../icons/CogIcon';
9
+ import { DotsIcon } from '../../icons/DotsIcon';
10
10
  import { cn } from '../../utils/cn';
11
11
  import './OverlayControls.css';
12
12
  const b = cn(OVERLAY_CONTROLS_CLASS_NAME);
@@ -171,6 +171,7 @@ class OverlayControls extends React.Component {
171
171
  ? () => itemHandler(configItem, itemParams, itemState)
172
172
  : ((_a = this.getDropDownMenuItemConfig(item.id)) === null || _a === void 0 ? void 0 : _a.action) || (() => { });
173
173
  return {
174
+ // @ts-expect-error
174
175
  text: item.title || i18n(item.id),
175
176
  icon: item.icon,
176
177
  action: itemAction,
@@ -1,2 +1,2 @@
1
1
  export const DashKitContext: React.Context<any>;
2
- import React from "react";
2
+ import React from 'react';
@@ -60,3 +60,4 @@ export function prepareItem(Component: any): {
60
60
  };
61
61
  contextType: React.Context<any>;
62
62
  };
63
+ import React from 'react';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { DashKitContext } from '../context/DashKitContext';
3
2
  import PropTypes from 'prop-types';
3
+ import { DashKitContext } from '../context/DashKitContext';
4
4
  export function prepareItem(Component) {
5
5
  var _a;
6
6
  return _a = class PrepareItem extends React.Component {
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
+ import isEqual from 'lodash/isEqual';
2
3
  import { DashKitContext } from '../context/DashKitContext';
3
- import { UpdateManager } from '../utils';
4
4
  import { getItemsParams, getItemsState } from '../shared';
5
- import isEqual from 'lodash/isEqual';
5
+ import { UpdateManager } from '../utils';
6
6
  function useMemoStateContext(props) {
7
7
  // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
8
8
  // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,
@@ -1,4 +1 @@
1
- import { I18N } from '@gravity-ui/i18n';
2
- export declare const i18n: I18N;
3
- declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
4
- export default _default;
1
+ export declare const i18n: (key: "button_retry" | "label_render-markdown-error" | "label_settings" | "label_copy" | "label_delete" | "label_error", params?: import("@gravity-ui/i18n").Params | undefined) => string;
@@ -1,15 +1,4 @@
1
- import { I18N } from '@gravity-ui/i18n';
2
- import { getConfig, subscribeConfigure } from '../utils/configure';
1
+ import { addComponentKeysets } from '@gravity-ui/uikit/i18n';
3
2
  import en from './en.json';
4
3
  import ru from './ru.json';
5
- export const i18n = new I18N();
6
- const COMPONENT = 'dashkit';
7
- i18n.registerKeyset('en', COMPONENT, en);
8
- i18n.registerKeyset('ru', COMPONENT, ru);
9
- i18n.setLang(getConfig().lang || 'en');
10
- subscribeConfigure((config) => {
11
- if (config.lang) {
12
- i18n.setLang(config.lang);
13
- }
14
- });
15
- export default i18n.keyset(COMPONENT);
4
+ export const i18n = addComponentKeysets({ en, ru }, 'dashkit');
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PluginWidgetProps, Plugin } from '../../typings';
2
+ import { Plugin, PluginWidgetProps } from '../../typings';
3
3
  import './Text.css';
4
4
  declare enum LoadStatus {
5
5
  Pending = "pending",
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Loader, Button } from '@gravity-ui/uikit';
3
- import i18n from '../../i18n';
2
+ import { Button, Loader } from '@gravity-ui/uikit';
3
+ import { i18n } from '../../i18n';
4
4
  import { cn } from '../../utils/cn';
5
5
  import './Text.css';
6
6
  // need to set markdown styles separately
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PluginWidgetProps, Plugin } from '../../typings';
2
+ import { Plugin, PluginWidgetProps } from '../../typings';
3
3
  import './Title.css';
4
4
  export interface PluginTitleProps extends PluginWidgetProps {
5
5
  data: {
@@ -1,5 +1,5 @@
1
1
  import Hashids from 'hashids';
2
- import { generateUniqId, extractIdsFromConfig } from '../uniq-id';
2
+ import { extractIdsFromConfig, generateUniqId } from '../uniq-id';
3
3
  const salt = 'salt';
4
4
  const hashids = new Hashids(salt);
5
5
  const testCounter = 1;
@@ -1,4 +1,4 @@
1
- import { PluginBase, ConfigItem, ItemsStateAndParams, StateAndParamsMetaData, StringParams, ConfigConnection, ConfigAliases, ConfigItemWithTabs, Config, ItemStateAndParams } from '../types';
1
+ import { Config, ConfigAliases, ConfigConnection, ConfigItem, ConfigItemWithTabs, ItemStateAndParams, ItemsStateAndParams, PluginBase, StateAndParamsMetaData, StringParams } from '../types';
2
2
  export declare function prerenderItems({ items, plugins, }: {
3
3
  items: ConfigItem[];
4
4
  plugins: PluginBase[];
@@ -1,9 +1,9 @@
1
- import keyBy from 'lodash/keyBy';
2
1
  import get from 'lodash/get';
3
2
  import invert from 'lodash/invert';
4
3
  import isEmpty from 'lodash/isEmpty';
4
+ import keyBy from 'lodash/keyBy';
5
5
  import pick from 'lodash/pick';
6
- import { META_KEY, CURRENT_VERSION, ACTION_PARAM_PREFIX } from '../constants';
6
+ import { ACTION_PARAM_PREFIX, CURRENT_VERSION, META_KEY } from '../constants';
7
7
  function getNormalizedPlugins(plugins) {
8
8
  return keyBy(plugins, 'type');
9
9
  }
@@ -1,4 +1,4 @@
1
- import { GlobalParams, Config, ItemsStateAndParams, PluginBase, StringParams, ItemState } from '../types';
1
+ import { Config, GlobalParams, ItemState, ItemsStateAndParams, PluginBase, StringParams } from '../types';
2
2
  export interface GetItemsParamsArg {
3
3
  defaultGlobalParams: GlobalParams;
4
4
  globalParams: GlobalParams;
@@ -1,6 +1,6 @@
1
1
  import groupBy from 'lodash/groupBy';
2
2
  import { META_KEY } from '../constants';
3
- import { prerenderItems, formQueueData, getMapItemsIgnores, mergeParamsWithAliases, getCurrentVersion, pickActionParamsFromParams, hasActionParam, pickExceptActionParamsFromParams, isItemWithTabs, resolveItemInnerId, } from './helpers';
3
+ import { formQueueData, getCurrentVersion, getMapItemsIgnores, hasActionParam, isItemWithTabs, mergeParamsWithAliases, pickActionParamsFromParams, pickExceptActionParamsFromParams, prerenderItems, resolveItemInnerId, } from './helpers';
4
4
  export function getItemsParams({ defaultGlobalParams = {}, globalParams = {}, config, itemsStateAndParams, plugins, }) {
5
5
  const { aliases, connections } = config;
6
6
  const items = prerenderItems({ items: config.items, plugins });
@@ -1,5 +1,5 @@
1
1
  import { GetItemsParamsArg } from '../../modules';
2
- import { PluginBase, ItemsStateAndParamsBase } from '../../types';
2
+ import { ItemsStateAndParamsBase, PluginBase } from '../../types';
3
3
  export declare const pluginControlBaseDL: PluginBase;
4
4
  export declare const pluginWidgetBaseDL: PluginBase;
5
5
  export declare function getItemsStateAndParamsDL(data: Omit<GetItemsParamsArg, 'plugins'>): ItemsStateAndParamsBase;
@@ -1,6 +1,6 @@
1
1
  import omit from 'lodash/omit';
2
- import { getItemsStateAndParams } from '../../modules';
3
2
  import { META_KEY } from '../../constants';
3
+ import { getItemsStateAndParams } from '../../modules';
4
4
  export const pluginControlBaseDL = {
5
5
  type: 'control',
6
6
  };
@@ -1,6 +1,6 @@
1
+ import type { ReactGridLayoutProps } from 'react-grid-layout';
1
2
  import { OverlayCustomControlItem } from '../components/OverlayControls/OverlayControls';
2
3
  import { MenuItems } from '../constants';
3
- import type { ReactGridLayoutProps } from 'react-grid-layout';
4
4
  export interface Settings {
5
5
  gridLayout?: ReactGridLayoutProps;
6
6
  theme?: string;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { ContextProps, SettingsProps, WidgetLayout } from './common';
3
- import { StringParams, ConfigItem, ItemState, ItemStateAndParams, PluginBase, ItemStateAndParamsChangeOptions } from '../shared';
4
2
  import type { ReactGridLayoutProps } from 'react-grid-layout';
3
+ import { ConfigItem, ItemState, ItemStateAndParams, ItemStateAndParamsChangeOptions, PluginBase, StringParams } from '../shared';
4
+ import { ContextProps, SettingsProps, WidgetLayout } from './common';
5
5
  export interface PluginWidgetProps {
6
6
  id: string;
7
7
  editMode: boolean;
@@ -1,3 +1,2 @@
1
- export * from './i18n';
2
1
  export * from './register-manager';
3
2
  export * from './update-manager';
@@ -1,3 +1,2 @@
1
- export * from './i18n';
2
1
  export * from './register-manager';
3
2
  export * from './update-manager';