@gravity-ui/dashkit 5.6.1 → 6.0.0-beta.1

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.
@@ -10,7 +10,7 @@ const OverlayControls_1 = tslib_1.__importDefault(require("../OverlayControls/Ov
10
10
  const b = (0, bem_cn_lite_1.default)('dashkit-grid-item');
11
11
  class GridItem extends react_1.default.PureComponent {
12
12
  renderOverlay() {
13
- const { overlayControls, isDragging } = this.props;
13
+ const { overlayControls } = this.props;
14
14
  const { editMode } = this.context;
15
15
  if (!editMode || this.props.item.data._editActive) {
16
16
  return null;
@@ -19,7 +19,7 @@ class GridItem extends react_1.default.PureComponent {
19
19
  const controls = overlayControls && overlayControls[item.type];
20
20
  return (react_1.default.createElement(react_1.default.Fragment, null,
21
21
  react_1.default.createElement("div", { className: b('overlay') }),
22
- react_1.default.createElement(OverlayControls_1.default, { configItem: item, items: controls, isDragging: isDragging, overlayControls: overlayControls })));
22
+ react_1.default.createElement(OverlayControls_1.default, { configItem: item, items: controls, overlayControls: overlayControls })));
23
23
  }
24
24
  render() {
25
25
  // из-за бага, что Grid Items unmounts при изменении static, isDraggable, isResaizable
@@ -4,8 +4,8 @@
4
4
  }
5
5
  .dashkit-overlay-controls__default-controls {
6
6
  display: flex;
7
- background: var(--yc-color-base-generic-ultralight);
8
- border-radius: var(--yc-border-radius-m);
7
+ background: var(--g-color-base-generic-ultralight);
8
+ border-radius: var(--g-border-radius-m);
9
9
  }
10
10
  .dashkit-overlay-controls_position_top_right {
11
11
  top: 7px;
@@ -24,5 +24,5 @@
24
24
  left: 7px;
25
25
  }
26
26
  .dashkit-overlay-controls__item_danger {
27
- color: var(--yc-color-text-danger);
27
+ color: var(--g-color-text-danger);
28
28
  }
@@ -34,7 +34,6 @@ interface OverlayControlsDefaultProps {
34
34
  size: ButtonSize;
35
35
  }
36
36
  interface OverlayControlsProps extends OverlayControlsDefaultProps {
37
- isDragging?: boolean;
38
37
  configItem: ConfigItem;
39
38
  items?: OverlayControlItem[];
40
39
  overlayControls?: Record<string, OverlayControlItem[]>;
@@ -76,11 +76,6 @@ class OverlayControls extends react_1.default.Component {
76
76
  this.context.editItem(this.props.configItem);
77
77
  };
78
78
  this.onRemoveItem = () => {
79
- // Otherwise it will crush an app dute to the issue in react-grid-layout
80
- // https://github.com/react-grid-layout/react-grid-layout/issues/1836
81
- if (this.props.isDragging) {
82
- return;
83
- }
84
79
  const { id } = this.props.configItem;
85
80
  this.context.removeItem(id);
86
81
  };
@@ -1,2 +1,2 @@
1
1
  export * from './DashKit';
2
- export { OverlayControlItem } from './OverlayControls/OverlayControls';
2
+ export type { OverlayControlItem } from './OverlayControls/OverlayControls';
@@ -1,6 +1,6 @@
1
1
  .dashkit-plugin-text {
2
- --rc-loader-active-color: var(--yc-color-base-special);
3
- --rc-loader-off-color: var(--yc-color-base-selection-hover);
2
+ --rc-loader-active-color: var(--g-color-base-brand);
3
+ --rc-loader-off-color: var(--g-color-base-selection-hover);
4
4
  white-space: pre-wrap;
5
5
  overflow: auto;
6
6
  height: 100%;
@@ -18,7 +18,7 @@
18
18
  padding: 10px;
19
19
  }
20
20
  .dashkit-plugin-text__error {
21
- color: var(--yc-color-text-danger);
21
+ color: var(--g-color-text-danger);
22
22
  }
23
23
  .dashkit-plugin-text__loader {
24
24
  display: flex;
@@ -36,6 +36,7 @@ class PluginText extends react_1.default.PureComponent {
36
36
  };
37
37
  }
38
38
  componentDidMount() {
39
+ this._isUnmounted = false;
39
40
  this.getMarkdown();
40
41
  }
41
42
  componentDidUpdate() {
@@ -15,7 +15,7 @@
15
15
  line-height: 24px;
16
16
  }
17
17
  .dashkit-plugin-title_size_s {
18
- font-size: var(--yc-text-body-3-font-size);
18
+ font-size: var(--g-text-body-3-font-size);
19
19
  line-height: 24px;
20
20
  }
21
21
  .dashkit-plugin-title_size_xs {
@@ -7,7 +7,7 @@ export interface Settings {
7
7
  isMobile?: boolean;
8
8
  menu?: Array<MenuItem>;
9
9
  }
10
- export type MenuItem = typeof MenuItems[keyof typeof MenuItems] | OverlayCustomControlItem;
10
+ export type MenuItem = (typeof MenuItems)[keyof typeof MenuItems] | OverlayCustomControlItem;
11
11
  export interface SettingsProps {
12
12
  autoupdateInterval: number;
13
13
  silentLoading: boolean;
@@ -8,7 +8,7 @@ import OverlayControls from '../OverlayControls/OverlayControls';
8
8
  const b = block('dashkit-grid-item');
9
9
  class GridItem extends React.PureComponent {
10
10
  renderOverlay() {
11
- const { overlayControls, isDragging } = this.props;
11
+ const { overlayControls } = this.props;
12
12
  const { editMode } = this.context;
13
13
  if (!editMode || this.props.item.data._editActive) {
14
14
  return null;
@@ -17,7 +17,7 @@ class GridItem extends React.PureComponent {
17
17
  const controls = overlayControls && overlayControls[item.type];
18
18
  return (React.createElement(React.Fragment, null,
19
19
  React.createElement("div", { className: b('overlay') }),
20
- React.createElement(OverlayControls, { configItem: item, items: controls, isDragging: isDragging, overlayControls: overlayControls })));
20
+ React.createElement(OverlayControls, { configItem: item, items: controls, overlayControls: overlayControls })));
21
21
  }
22
22
  render() {
23
23
  // из-за бага, что Grid Items unmounts при изменении static, isDraggable, isResaizable
@@ -4,8 +4,8 @@
4
4
  }
5
5
  .dashkit-overlay-controls__default-controls {
6
6
  display: flex;
7
- background: var(--yc-color-base-generic-ultralight);
8
- border-radius: var(--yc-border-radius-m);
7
+ background: var(--g-color-base-generic-ultralight);
8
+ border-radius: var(--g-border-radius-m);
9
9
  }
10
10
  .dashkit-overlay-controls_position_top_right {
11
11
  top: 7px;
@@ -24,5 +24,5 @@
24
24
  left: 7px;
25
25
  }
26
26
  .dashkit-overlay-controls__item_danger {
27
- color: var(--yc-color-text-danger);
27
+ color: var(--g-color-text-danger);
28
28
  }
@@ -35,7 +35,6 @@ interface OverlayControlsDefaultProps {
35
35
  size: ButtonSize;
36
36
  }
37
37
  interface OverlayControlsProps extends OverlayControlsDefaultProps {
38
- isDragging?: boolean;
39
38
  configItem: ConfigItem;
40
39
  items?: OverlayControlItem[];
41
40
  overlayControls?: Record<string, OverlayControlItem[]>;
@@ -73,11 +73,6 @@ class OverlayControls extends React.Component {
73
73
  this.context.editItem(this.props.configItem);
74
74
  };
75
75
  this.onRemoveItem = () => {
76
- // Otherwise it will crush an app dute to the issue in react-grid-layout
77
- // https://github.com/react-grid-layout/react-grid-layout/issues/1836
78
- if (this.props.isDragging) {
79
- return;
80
- }
81
76
  const { id } = this.props.configItem;
82
77
  this.context.removeItem(id);
83
78
  };
@@ -1,2 +1,2 @@
1
1
  export * from './DashKit';
2
- export { OverlayControlItem } from './OverlayControls/OverlayControls';
2
+ export type { OverlayControlItem } from './OverlayControls/OverlayControls';
@@ -1,6 +1,6 @@
1
1
  .dashkit-plugin-text {
2
- --rc-loader-active-color: var(--yc-color-base-special);
3
- --rc-loader-off-color: var(--yc-color-base-selection-hover);
2
+ --rc-loader-active-color: var(--g-color-base-brand);
3
+ --rc-loader-off-color: var(--g-color-base-selection-hover);
4
4
  white-space: pre-wrap;
5
5
  overflow: auto;
6
6
  height: 100%;
@@ -18,7 +18,7 @@
18
18
  padding: 10px;
19
19
  }
20
20
  .dashkit-plugin-text__error {
21
- color: var(--yc-color-text-danger);
21
+ color: var(--g-color-text-danger);
22
22
  }
23
23
  .dashkit-plugin-text__loader {
24
24
  display: flex;
@@ -33,6 +33,7 @@ export class PluginText extends React.PureComponent {
33
33
  };
34
34
  }
35
35
  componentDidMount() {
36
+ this._isUnmounted = false;
36
37
  this.getMarkdown();
37
38
  }
38
39
  componentDidUpdate() {
@@ -15,7 +15,7 @@
15
15
  line-height: 24px;
16
16
  }
17
17
  .dashkit-plugin-title_size_s {
18
- font-size: var(--yc-text-body-3-font-size);
18
+ font-size: var(--g-text-body-3-font-size);
19
19
  line-height: 24px;
20
20
  }
21
21
  .dashkit-plugin-title_size_xs {
@@ -7,7 +7,7 @@ export interface Settings {
7
7
  isMobile?: boolean;
8
8
  menu?: Array<MenuItem>;
9
9
  }
10
- export type MenuItem = typeof MenuItems[keyof typeof MenuItems] | OverlayCustomControlItem;
10
+ export type MenuItem = (typeof MenuItems)[keyof typeof MenuItems] | OverlayCustomControlItem;
11
11
  export interface SettingsProps {
12
12
  autoupdateInterval: number;
13
13
  silentLoading: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/dashkit",
3
- "version": "5.6.1",
3
+ "version": "6.0.0-beta.1",
4
4
  "description": "Library for rendering dashboard grid layout",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,9 +28,9 @@
28
28
  "test": "jest",
29
29
  "clean": "gulp clean",
30
30
  "build": "gulp",
31
- "start": "env TS_NODE_PROJECT=.storybook/tsconfig.json start-storybook -p 7120",
31
+ "start": "storybook dev -p 7120",
32
32
  "typecheck": "tsc --noEmit",
33
- "build-storybook": "env TS_NODE_PROJECT=.storybook/tsconfig.json build-storybook -c .storybook -o storybook-static",
33
+ "build-storybook": "sb build -c .storybook -o storybook-static",
34
34
  "prepare": "husky install",
35
35
  "prepublishOnly": "npm run lint && npm run test && npm run build"
36
36
  },
@@ -41,7 +41,7 @@
41
41
  "react-grid-layout": "^1.3.4"
42
42
  },
43
43
  "peerDependencies": {
44
- "@gravity-ui/uikit": "^4.0.0",
44
+ "@gravity-ui/uikit": "5.0.0-beta.4",
45
45
  "bem-cn-lite": "^4.0.0",
46
46
  "react": "^16.8.0 || ^17 || ^18"
47
47
  },
@@ -52,10 +52,13 @@
52
52
  "@gravity-ui/prettier-config": "^1.0.1",
53
53
  "@gravity-ui/stylelint-config": "^1.0.1",
54
54
  "@gravity-ui/tsconfig": "^1.0.0",
55
- "@gravity-ui/uikit": "^4.0.5",
56
- "@storybook/addon-essentials": "^6.5.9",
55
+ "@gravity-ui/uikit": "^5.0.0-beta.4",
56
+ "@storybook/addon-essentials": "^7.0.18",
57
+ "@storybook/addon-knobs": "^7.0.2",
58
+ "@storybook/cli": "^7.0.18",
57
59
  "@storybook/preset-scss": "^1.0.3",
58
- "@storybook/react": "^6.5.9",
60
+ "@storybook/react": "^7.0.18",
61
+ "@storybook/react-webpack5": "^7.0.18",
59
62
  "@types/enzyme": "^3.10.8",
60
63
  "@types/jest": "^26.0.20",
61
64
  "@types/lodash": "^4.14.170",
@@ -85,7 +88,11 @@
85
88
  "rimraf": "^3.0.2",
86
89
  "sass": "^1.53.0",
87
90
  "sass-loader": "^10.3.1",
91
+ "source-map": "^0.7.4",
92
+ "storybook": "^7.0.18",
93
+ "style-loader": "^3.3.3",
88
94
  "stylelint": "^14.6.0",
95
+ "terser-webpack-plugin": "^4.2.3",
89
96
  "ts-jest": "^26.5.3",
90
97
  "typescript": "^4.9.5"
91
98
  },
package/CHANGELOG.md DELETED
@@ -1,182 +0,0 @@
1
- # Changelog
2
-
3
- ## [5.6.1](https://github.com/gravity-ui/dashkit/compare/v5.6.0...v5.6.1) (2023-06-15)
4
-
5
-
6
- ### Bug Fixes
7
-
8
- * **react-grid-layout:** fixed react-grid-layout issue ([#59](https://github.com/gravity-ui/dashkit/issues/59)) ([bdb3f87](https://github.com/gravity-ui/dashkit/commit/bdb3f87731cf82b8267c913bb0010c65f7014018))
9
-
10
- ## [5.6.0](https://github.com/gravity-ui/dashkit/compare/v5.5.0...v5.6.0) (2023-04-18)
11
-
12
-
13
- ### Features
14
-
15
- * add item state to overlay dropdown menu action handler ([#57](https://github.com/gravity-ui/dashkit/issues/57)) ([78b13fa](https://github.com/gravity-ui/dashkit/commit/78b13fa4107e94abd93c6e469a36840b61b6a10a))
16
-
17
- ## [5.5.0](https://github.com/gravity-ui/dashkit/compare/v5.4.0...v5.5.0) (2023-04-17)
18
-
19
-
20
- ### Features
21
-
22
- * support all props from react-grid-layout ([#54](https://github.com/gravity-ui/dashkit/issues/54)) ([7e3d316](https://github.com/gravity-ui/dashkit/commit/7e3d316a4cc0fbbf24a23f52408c4fa10f69a4b5))
23
-
24
- ## [5.4.0](https://github.com/gravity-ui/dashkit/compare/v5.3.0...v5.4.0) (2023-04-13)
25
-
26
-
27
- ### Features
28
-
29
- * add widget defaults ([#52](https://github.com/gravity-ui/dashkit/issues/52)) ([a6e512d](https://github.com/gravity-ui/dashkit/commit/a6e512d132e6c9f0fc93d63527f233656863831e))
30
- * clear default actionParams ([#55](https://github.com/gravity-ui/dashkit/issues/55)) ([4184b82](https://github.com/gravity-ui/dashkit/commit/4184b828228c6faae21a9c9731fee544f7dd5362))
31
-
32
- ## [5.3.0](https://github.com/gravity-ui/dashkit/compare/v5.2.0...v5.3.0) (2023-04-06)
33
-
34
-
35
- ### Features
36
-
37
- * add actionParams support ([#47](https://github.com/gravity-ui/dashkit/issues/47)) ([0c78ae2](https://github.com/gravity-ui/dashkit/commit/0c78ae2b96d9882ea27a7e7742d40728fadcfa84))
38
-
39
- ## [5.2.0](https://github.com/gravity-ui/dashkit/compare/v5.1.0...v5.2.0) (2023-03-27)
40
-
41
-
42
- ### Features
43
-
44
- * add custom qa attribute for overlay controls ([#45](https://github.com/gravity-ui/dashkit/issues/45)) ([738ce14](https://github.com/gravity-ui/dashkit/commit/738ce14a7883a88d3096ed4c9bd21bcc16f3fd20))
45
- * export OverlayControlItem type ([#50](https://github.com/gravity-ui/dashkit/issues/50)) ([a68cc5c](https://github.com/gravity-ui/dashkit/commit/a68cc5cb4e4470278220e18f79f9b82dc6a7cfba))
46
-
47
- ## [5.1.0](https://github.com/gravity-ui/dashkit/compare/v5.0.0...v5.1.0) (2023-02-09)
48
-
49
-
50
- ### Features
51
-
52
- * generating a unique id for config ([#41](https://github.com/gravity-ui/dashkit/issues/41)) ([062c8d0](https://github.com/gravity-ui/dashkit/commit/062c8d015e334061fac193cf8c0a549a932e3a87))
53
-
54
- ## [5.0.0](https://github.com/gravity-ui/dashkit/compare/v4.1.0...v5.0.0) (2023-02-01)
55
-
56
-
57
- ### ⚠ BREAKING CHANGES
58
-
59
- * up @gravity-ui/uikit to 4 version ([#39](https://github.com/gravity-ui/dashkit/issues/39))
60
-
61
- ### Features
62
-
63
- * up @gravity-ui/uikit to 4 version ([#39](https://github.com/gravity-ui/dashkit/issues/39)) ([8b4c123](https://github.com/gravity-ui/dashkit/commit/8b4c123a69009918518d4c296af3c315f811afd9))
64
-
65
- ## [4.1.0](https://github.com/gravity-ui/dashkit/compare/v4.0.0...v4.1.0) (2023-01-31)
66
-
67
-
68
- ### Features
69
-
70
- * remove preventDoubleCompact flag ([#37](https://github.com/gravity-ui/dashkit/issues/37)) ([9b95e61](https://github.com/gravity-ui/dashkit/commit/9b95e61b7939a9883fda832947e70728b8f66410))
71
-
72
- ## [4.0.0](https://github.com/gravity-ui/dashkit/compare/v3.5.0...v4.0.0) (2022-12-19)
73
-
74
-
75
- ### ⚠ BREAKING CHANGES
76
-
77
- * rename types in plugin Text ([#33](https://github.com/gravity-ui/dashkit/issues/33))
78
- * change grid item forward ref behavior
79
-
80
- ### Features
81
-
82
- * rename types in plugin Text ([#33](https://github.com/gravity-ui/dashkit/issues/33)) ([c55917f](https://github.com/gravity-ui/dashkit/commit/c55917f918a4592c680e4e3bf3173fb53514b185))
83
- * update react-grid-layout major release ([#31](https://github.com/gravity-ui/dashkit/issues/31)) ([e31ff70](https://github.com/gravity-ui/dashkit/commit/e31ff707f48038435a63d95ad34b8685c39fb1ba))
84
-
85
- ## [3.5.0](https://github.com/gravity-ui/dashkit/compare/v3.4.0...v3.5.0) (2022-12-19)
86
-
87
-
88
- ### Features
89
-
90
- * export plugins ([#29](https://github.com/gravity-ui/dashkit/issues/29)) ([d589546](https://github.com/gravity-ui/dashkit/commit/d5895469e9917f4c5f43aaf5802b5d8a865bd185))
91
-
92
- ## [3.4.0](https://github.com/gravity-ui/dashkit/compare/v3.3.0...v3.4.0) (2022-11-16)
93
-
94
-
95
- ### Features
96
-
97
- * delete _EXPERIMENTAL_memoContext props ([#27](https://github.com/gravity-ui/dashkit/issues/27)) ([c9d6b64](https://github.com/gravity-ui/dashkit/commit/c9d6b644e0235fd6d08d24090bb959c1fe112936))
98
-
99
- ## [3.3.0](https://github.com/gravity-ui/dashkit/compare/v3.2.0...v3.3.0) (2022-11-10)
100
-
101
-
102
- ### Features
103
-
104
- * improve autoupdate reload logic ([#25](https://github.com/gravity-ui/dashkit/issues/25)) ([3060d92](https://github.com/gravity-ui/dashkit/commit/3060d921407d02f136d58ea1cbd3c272d9f3def7))
105
-
106
- ## [3.2.0](https://github.com/gravity-ui/dashkit/compare/v3.1.0...v3.2.0) (2022-10-27)
107
-
108
-
109
- ### Features
110
-
111
- * add item params to edit menu item handler ([#22](https://github.com/gravity-ui/dashkit/issues/22)) ([f220322](https://github.com/gravity-ui/dashkit/commit/f2203224699a3b5ab3e9915ed236736009dfb27a))
112
-
113
- ## [3.1.0](https://github.com/gravity-ui/dashkit/compare/v3.0.2...v3.1.0) (2022-10-27)
114
-
115
-
116
- ### Features
117
-
118
- * add experimental props for use memo context ([#21](https://github.com/gravity-ui/dashkit/issues/21)) ([b1fd5dd](https://github.com/gravity-ui/dashkit/commit/b1fd5ddfb212e4c1402244184f5e436896ef24d6))
119
-
120
- ## [3.0.2](https://github.com/gravity-ui/dashkit/compare/v3.0.1...v3.0.2) (2022-10-04)
121
-
122
-
123
- ### Bug Fixes
124
-
125
- * i18n deps moved from peer to deps ([#19](https://github.com/gravity-ui/dashkit/issues/19)) ([d62e7fb](https://github.com/gravity-ui/dashkit/commit/d62e7fbc6caaaaea0d5623aae7572b7e59616b53))
126
-
127
- ## [3.0.1](https://github.com/gravity-ui/dashkit/compare/v3.0.0...v3.0.1) (2022-10-03)
128
-
129
-
130
- ### Bug Fixes
131
-
132
- * move to gravity-ui org ([#17](https://github.com/gravity-ui/dashkit/issues/17)) ([6748e5f](https://github.com/gravity-ui/dashkit/commit/6748e5f51589dfa027ef69ef5d4d59abb13e9d79))
133
-
134
- ## [3.0.0](https://github.com/yandex-cloud/dashkit/compare/v2.0.1...v3.0.0) (2022-09-30)
135
-
136
-
137
- ### ⚠ BREAKING CHANGES
138
-
139
- * migrate to gravity-ui deps and new i18n usage (#15)
140
-
141
- ### Features
142
-
143
- * migrate to gravity-ui deps and new i18n usage ([#15](https://github.com/yandex-cloud/dashkit/issues/15)) ([1b4eeb1](https://github.com/yandex-cloud/dashkit/commit/1b4eeb1165b02f37af27d11958858ae571160194))
144
-
145
- ## [2.0.1](https://github.com/yandex-cloud/dashkit/compare/v2.0.0...v2.0.1) (2022-08-22)
146
-
147
-
148
- ### Bug Fixes
149
-
150
- * downgrade dependent package ([#13](https://github.com/yandex-cloud/dashkit/issues/13)) ([d0a30d3](https://github.com/yandex-cloud/dashkit/commit/d0a30d3b0fbf3da6f1c82608a430f6a989b3cd3a))
151
-
152
- ## [2.0.0](https://github.com/yandex-cloud/dashkit/compare/v1.2.0...v2.0.0) (2022-08-11)
153
-
154
-
155
- ### ⚠ BREAKING CHANGES
156
-
157
- * migrate to i18n 0.6.0 (#11)
158
-
159
- ### Features
160
-
161
- * migrate to i18n 0.6.0 ([#11](https://github.com/yandex-cloud/dashkit/issues/11)) ([8cbdda6](https://github.com/yandex-cloud/dashkit/commit/8cbdda6d035411cb8f6b6c5d11f7949a997314f5))
162
-
163
- ## [1.2.0](https://github.com/yandex-cloud/dashkit/compare/v1.1.0...v1.2.0) (2022-08-08)
164
-
165
-
166
- ### Features
167
-
168
- * add custom dropdown menu item filter in edit mode ([#8](https://github.com/yandex-cloud/dashkit/issues/8)) ([5c2824a](https://github.com/yandex-cloud/dashkit/commit/5c2824a4a9a25174eff69b2f0b7b04b74cf74e0c))
169
-
170
- ## [1.1.0](https://github.com/yandex-cloud/dashkit/compare/v1.0.0...v1.1.0) (2022-08-02)
171
-
172
-
173
- ### Features
174
-
175
- * flag to prevent double height optimizer ([#6](https://github.com/yandex-cloud/dashkit/issues/6)) ([8503a59](https://github.com/yandex-cloud/dashkit/commit/8503a59293bdff0b69a28ffb171b96d0b2551c16))
176
-
177
- ## 1.0.0 (2022-07-15)
178
-
179
-
180
- ### Bug Fixes
181
-
182
- * try publish ([#2](https://github.com/yandex-cloud/dashkit/issues/2)) ([a76fb55](https://github.com/yandex-cloud/dashkit/commit/a76fb5552e0f4697f3d889e03d9740fa8ad948d4))