@megafon/ui-shared 6.6.0 → 6.8.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 (76) hide show
  1. package/dist/es/components/Breadcrumbs/Breadcrumbs.css +3 -0
  2. package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  3. package/dist/es/components/Breadcrumbs/Breadcrumbs.js +18 -3
  4. package/dist/es/components/ImageBanner/ImageBanner.css +3 -0
  5. package/dist/es/components/ImageBanner/ImageBanner.d.ts +2 -0
  6. package/dist/es/components/ImageBanner/ImageBanner.js +6 -2
  7. package/dist/es/components/Instructions/img/android-new.png +0 -0
  8. package/dist/es/components/Instructions/img/android.png +0 -0
  9. package/dist/es/components/Instructions/img/blackIphone.png +0 -0
  10. package/dist/es/components/Instructions/img/iphone-new.png +0 -0
  11. package/dist/es/components/Instructions/img/iphone15.png +0 -0
  12. package/dist/es/components/Instructions/img/laptop-new.png +0 -0
  13. package/dist/es/components/Instructions/img/laptop.png +0 -0
  14. package/dist/es/components/Instructions/img/newIphone.png +0 -0
  15. package/dist/es/components/Instructions/img/whiteIphone.png +0 -0
  16. package/dist/es/components/PageTitle/PageTitle.css +0 -8
  17. package/dist/es/components/PageTitle/PageTitle.js +2 -0
  18. package/dist/es/components/StoreBanner/doc/img/android-screen.png +0 -0
  19. package/dist/es/components/StoreBanner/doc/img/qr-code.png +0 -0
  20. package/dist/es/components/StoreBanner/doc/img/screen.png +0 -0
  21. package/dist/es/components/StoreBanner/img/android.png +0 -0
  22. package/dist/es/components/StoreBanner/img/black-iphone.png +0 -0
  23. package/dist/es/components/StoreBanner/img/new-iphone.png +0 -0
  24. package/dist/es/components/StoreBanner/img/white-iphone.png +0 -0
  25. package/dist/es/components/StoreButton/img/app-store-large.png +0 -0
  26. package/dist/es/components/StoreButton/img/galaxy-store-large.png +0 -0
  27. package/dist/es/components/StoreButton/img/google-play-large.png +0 -0
  28. package/dist/es/components/StoreButton/img/huawei-store-large.png +0 -0
  29. package/dist/es/components/StoreButton/img/mi-store-large.png +0 -0
  30. package/dist/es/components/StoreButton/img/ru-store-large.png +0 -0
  31. package/dist/es/components/StoreButton/img/v-appstore-large.png +0 -0
  32. package/dist/es/components/StoreButton/img/v-appstore.png +0 -0
  33. package/dist/es/components/VideoBanner/VideoBanner.css +0 -5
  34. package/dist/es/components/VideoBanner/VideoBanner.js +1 -0
  35. package/dist/es/components/VideoBlock/VideoBlock.css +3 -1
  36. package/dist/es/components/VideoBlock/VideoBlock.d.ts +3 -1
  37. package/dist/es/components/VideoBlock/VideoBlock.js +87 -0
  38. package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +3 -0
  39. package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  40. package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +19 -3
  41. package/dist/lib/components/ImageBanner/ImageBanner.css +3 -0
  42. package/dist/lib/components/ImageBanner/ImageBanner.d.ts +2 -0
  43. package/dist/lib/components/ImageBanner/ImageBanner.js +6 -2
  44. package/dist/lib/components/Instructions/img/android-new.png +0 -0
  45. package/dist/lib/components/Instructions/img/android.png +0 -0
  46. package/dist/lib/components/Instructions/img/blackIphone.png +0 -0
  47. package/dist/lib/components/Instructions/img/iphone-new.png +0 -0
  48. package/dist/lib/components/Instructions/img/iphone15.png +0 -0
  49. package/dist/lib/components/Instructions/img/laptop-new.png +0 -0
  50. package/dist/lib/components/Instructions/img/laptop.png +0 -0
  51. package/dist/lib/components/Instructions/img/newIphone.png +0 -0
  52. package/dist/lib/components/Instructions/img/whiteIphone.png +0 -0
  53. package/dist/lib/components/PageTitle/PageTitle.css +0 -8
  54. package/dist/lib/components/PageTitle/PageTitle.js +2 -0
  55. package/dist/lib/components/StoreBanner/doc/img/android-screen.png +0 -0
  56. package/dist/lib/components/StoreBanner/doc/img/qr-code.png +0 -0
  57. package/dist/lib/components/StoreBanner/doc/img/screen.png +0 -0
  58. package/dist/lib/components/StoreBanner/img/android.png +0 -0
  59. package/dist/lib/components/StoreBanner/img/black-iphone.png +0 -0
  60. package/dist/lib/components/StoreBanner/img/new-iphone.png +0 -0
  61. package/dist/lib/components/StoreBanner/img/white-iphone.png +0 -0
  62. package/dist/lib/components/StoreButton/img/app-store-large.png +0 -0
  63. package/dist/lib/components/StoreButton/img/galaxy-store-large.png +0 -0
  64. package/dist/lib/components/StoreButton/img/google-play-large.png +0 -0
  65. package/dist/lib/components/StoreButton/img/huawei-store-large.png +0 -0
  66. package/dist/lib/components/StoreButton/img/mi-store-large.png +0 -0
  67. package/dist/lib/components/StoreButton/img/ru-store-large.png +0 -0
  68. package/dist/lib/components/StoreButton/img/v-appstore-large.png +0 -0
  69. package/dist/lib/components/StoreButton/img/v-appstore.png +0 -0
  70. package/dist/lib/components/VideoBanner/VideoBanner.css +0 -5
  71. package/dist/lib/components/VideoBanner/VideoBanner.js +1 -0
  72. package/dist/lib/components/VideoBlock/VideoBlock.css +3 -1
  73. package/dist/lib/components/VideoBlock/VideoBlock.d.ts +3 -1
  74. package/dist/lib/components/VideoBlock/VideoBlock.js +91 -0
  75. package/package.json +92 -92
  76. package/CHANGELOG.md +0 -4136
@@ -7,8 +7,14 @@ exports["default"] = exports.testIdPrefix = exports.VideoTypes = void 0;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
10
12
  require("core-js/modules/es.array.concat.js");
11
13
 
14
+ require("core-js/modules/es.regexp.exec.js");
15
+
16
+ require("core-js/modules/es.string.split.js");
17
+
12
18
  require("core-js/modules/es.symbol.js");
13
19
 
14
20
  require("core-js/modules/es.symbol.description.js");
@@ -27,6 +33,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
27
33
 
28
34
  var VideoTypes = {
29
35
  YOUTUBE: 'youtube',
36
+ RUTUBE: 'rutube',
37
+ VK: 'vk',
30
38
  VIDEO: 'video'
31
39
  };
32
40
  exports.VideoTypes = VideoTypes;
@@ -56,6 +64,41 @@ var VideoBlock = function VideoBlock(_ref) {
56
64
  _ref$fixWhiteVideoBac = _ref.fixWhiteVideoBackground,
57
65
  fixWhiteVideoBackground = _ref$fixWhiteVideoBac === void 0 ? false : _ref$fixWhiteVideoBac;
58
66
 
67
+ var rutubeRef = _react["default"].useRef(null);
68
+
69
+ var autoPlayRutube = function autoPlayRutube() {
70
+ var current = rutubeRef.current;
71
+
72
+ if (current == null) {
73
+ return;
74
+ }
75
+
76
+ window.IntersectionObserver && new window.IntersectionObserver(function (entries, obs) {
77
+ var _a;
78
+
79
+ var _entries = (0, _slicedToArray2["default"])(entries, 1),
80
+ entry = _entries[0];
81
+
82
+ if (entry && entry.isIntersecting) {
83
+ (_a = current.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(JSON.stringify({
84
+ type: 'player:play',
85
+ data: {}
86
+ }), '*');
87
+ obs.disconnect();
88
+ }
89
+ }, {
90
+ threshold: 0.5
91
+ }).observe(current);
92
+ };
93
+
94
+ _react["default"].useEffect(function () {
95
+ if (!isAutoplay || videoType !== VideoTypes.RUTUBE) {
96
+ return;
97
+ }
98
+
99
+ autoPlayRutube();
100
+ }, [isAutoplay, videoType]);
101
+
59
102
  var renderVideo = _react["default"].useCallback(function () {
60
103
  switch (videoType) {
61
104
  case VideoTypes.YOUTUBE:
@@ -86,6 +129,54 @@ var VideoBlock = function VideoBlock(_ref) {
86
129
  }));
87
130
  }
88
131
 
132
+ case VideoTypes.RUTUBE:
133
+ {
134
+ var _src = "https://rutube.ru/play/embed/".concat(videoSrc, "?");
135
+
136
+ return /*#__PURE__*/_react["default"].createElement("div", {
137
+ className: cn('rutube')
138
+ }, /*#__PURE__*/_react["default"].createElement("iframe", {
139
+ className: cn('iframe'),
140
+ ref: rutubeRef,
141
+ src: _src,
142
+ width: "100%",
143
+ height: "100%",
144
+ frameBorder: "0",
145
+ allow: "autoplay",
146
+ title: "iframe",
147
+ allowFullScreen: true,
148
+ "data-testid": "".concat(testIdPrefix, "-iframe-video")
149
+ }));
150
+ }
151
+
152
+ case VideoTypes.VK:
153
+ {
154
+ var _videoSrc$split = videoSrc.split('_'),
155
+ _videoSrc$split2 = (0, _slicedToArray2["default"])(_videoSrc$split, 2),
156
+ oid = _videoSrc$split2[0],
157
+ id = _videoSrc$split2[1];
158
+
159
+ var _url = "https://vk.com/video_ext.php?oid=-".concat(oid, "}&id=").concat(id, "&");
160
+
161
+ var _autoplay = "&autoplay=".concat(isAutoplay ? 1 : 0);
162
+
163
+ var _src2 = "".concat(_url).concat(_autoplay);
164
+
165
+ return /*#__PURE__*/_react["default"].createElement("div", {
166
+ className: cn('vk')
167
+ }, /*#__PURE__*/_react["default"].createElement("iframe", {
168
+ className: cn('iframe'),
169
+ src: _src2,
170
+ width: "100%",
171
+ height: "100%",
172
+ frameBorder: "0",
173
+ allow: "autoplay",
174
+ title: "iframe",
175
+ allowFullScreen: true,
176
+ "data-testid": "".concat(testIdPrefix, "-iframe-video")
177
+ }));
178
+ }
179
+
89
180
  case VideoTypes.VIDEO:
90
181
  {
91
182
  return (
package/package.json CHANGED
@@ -1,94 +1,94 @@
1
1
  {
2
- "name": "@megafon/ui-shared",
3
- "version": "6.6.0",
4
- "files": [
5
- "dist"
6
- ],
7
- "main": "dist/lib/index.js",
8
- "module": "dist/es/index.js",
9
- "typings": "dist/lib/index.d.ts",
10
- "sideEffects": [
11
- "*.css",
12
- "*.less"
13
- ],
14
- "author": "MegaFon",
15
- "license": "MIT",
16
- "scripts": {
17
- "build": "gulp build",
18
- "cleanDist": "rm -rf dist",
19
- "coverage": "yarn coverage:unit",
20
- "coverage:unit": "jest --coverage",
21
- "typecheck": "tsc --noEmit -p .",
22
- "prettier:check": "prettier --list-different \"src/**/*.{js,jsx,ts,tsx}\"",
23
- "prettier:fix": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
24
- "lint": "yarn lint:ts && yarn lint:less",
25
- "lint:ts": "eslint --ext .js,.jsx,.ts,.tsx src --max-warnings=0",
26
- "lint:less": "stylelint --syntax less src/**/*.less src/**/**/*.less",
27
- "lint:less:fix": "yarn lint:less --fix",
28
- "test": "yarn test:unit",
29
- "test:unit": "jest",
30
- "test:update": "jest --updateSnapshot"
31
- },
32
- "publishConfig": {
33
- "access": "public"
34
- },
35
- "lint-staged": {
36
- "src/**/**/*.(js|jsx|ts|tsx)": [
37
- "eslint --max-warnings=0 --config ../../.eslintrc.json"
38
- ]
39
- },
40
- "peerDependencies": {
41
- "react": ">=16.13.0",
42
- "react-dom": ">=16.13.0"
43
- },
44
- "devDependencies": {
45
- "@babel/core": "^7.8.6",
46
- "@babel/plugin-transform-object-assign": "^7.8.3",
47
- "@babel/plugin-transform-runtime": "^7.8.3",
48
- "@babel/preset-env": "^7.8.6",
49
- "@babel/preset-react": "^7.8.3",
50
- "@babel/preset-typescript": "^7.8.3",
51
- "@megafon/ui-icons": "^2.29.0",
52
- "@svgr/core": "^2.4.1",
53
- "@testing-library/jest-dom": "5.16.2",
54
- "@testing-library/react": "12.1.2",
55
- "@testing-library/react-hooks": "^8.0.1",
56
- "@testing-library/user-event": "13.5.0",
57
- "@types/enzyme": "^3.10.5",
58
- "@types/enzyme-adapter-react-16": "^1.0.6",
59
- "@types/jest": "^25.1.3",
60
- "@types/prop-types": "^15.7.3",
61
- "@types/react": "^16.9.23",
62
- "@types/react-dom": "^16.9.5",
63
- "babel-plugin-module-resolver": "^3.2.0",
64
- "del": "^3.0.0",
65
- "enzyme": "^3.11.0",
66
- "enzyme-adapter-react-16": "^1.15.2",
67
- "enzyme-to-json": "^3.4.4",
68
- "glob": "^7.1.6",
69
- "gulp": "^4.0.2",
70
- "gulp-babel": "^8.0.0-beta.2",
71
- "gulp-imagemin": "^7.1.0",
72
- "gulp-less": "^4.0.1",
73
- "gulp-typescript": "^5.0.1",
74
- "jest": "^25.1.0",
75
- "less-plugin-autoprefix": "^2.0.0",
76
- "merge2": "^1.3.0",
77
- "react": "^16.13.0",
78
- "react-dom": "^16.13.0",
79
- "stylelint": "^9.10.1",
80
- "through2": "^2.0.5",
81
- "typescript": "^3.8.3"
82
- },
83
- "dependencies": {
84
- "@babel/runtime": "^7.8.4",
85
- "@megafon/ui-core": "^6.4.0",
86
- "@megafon/ui-helpers": "^2.6.0",
87
- "core-js": "^3.6.4",
88
- "htmr": "^0.9.2",
89
- "lodash.throttle": "^4.1.1",
90
- "prop-types": "^15.7.2",
91
- "swiper": "^6.5.6"
92
- },
93
- "gitHead": "b1eeb93c7ce3fb201938cc46130367d0334c2914"
2
+ "name": "@megafon/ui-shared",
3
+ "version": "6.8.0",
4
+ "files": [
5
+ "dist"
6
+ ],
7
+ "main": "dist/lib/index.js",
8
+ "module": "dist/es/index.js",
9
+ "typings": "dist/lib/index.d.ts",
10
+ "sideEffects": [
11
+ "*.css",
12
+ "*.less"
13
+ ],
14
+ "author": "MegaFon",
15
+ "license": "MIT",
16
+ "scripts": {
17
+ "build": "gulp build",
18
+ "cleanDist": "rm -rf dist",
19
+ "coverage": "yarn coverage:unit",
20
+ "coverage:unit": "jest --coverage",
21
+ "typecheck": "tsc --noEmit -p .",
22
+ "prettier:check": "prettier --list-different \"src/**/*.{js,jsx,ts,tsx}\"",
23
+ "prettier:fix": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
24
+ "lint": "yarn lint:ts && yarn lint:less",
25
+ "lint:ts": "eslint --ext .js,.jsx,.ts,.tsx src --max-warnings=0",
26
+ "lint:less": "stylelint --syntax less src/**/*.less src/**/**/*.less",
27
+ "lint:less:fix": "yarn lint:less --fix",
28
+ "test": "yarn test:unit",
29
+ "test:unit": "jest",
30
+ "test:update": "jest --updateSnapshot"
31
+ },
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "lint-staged": {
36
+ "src/**/**/*.(js|jsx|ts|tsx)": [
37
+ "eslint --max-warnings=0 --config ../../.eslintrc.json"
38
+ ]
39
+ },
40
+ "peerDependencies": {
41
+ "react": ">=16.13.0",
42
+ "react-dom": ">=16.13.0"
43
+ },
44
+ "devDependencies": {
45
+ "@babel/core": "^7.8.6",
46
+ "@babel/plugin-transform-object-assign": "^7.8.3",
47
+ "@babel/plugin-transform-runtime": "^7.8.3",
48
+ "@babel/preset-env": "^7.8.6",
49
+ "@babel/preset-react": "^7.8.3",
50
+ "@babel/preset-typescript": "^7.8.3",
51
+ "@megafon/ui-icons": "^2.30.0",
52
+ "@svgr/core": "^2.4.1",
53
+ "@testing-library/jest-dom": "5.16.2",
54
+ "@testing-library/react": "12.1.2",
55
+ "@testing-library/react-hooks": "^8.0.1",
56
+ "@testing-library/user-event": "13.5.0",
57
+ "@types/enzyme": "^3.10.5",
58
+ "@types/enzyme-adapter-react-16": "^1.0.6",
59
+ "@types/jest": "^25.1.3",
60
+ "@types/prop-types": "^15.7.3",
61
+ "@types/react": "^16.9.23",
62
+ "@types/react-dom": "^16.9.5",
63
+ "babel-plugin-module-resolver": "^3.2.0",
64
+ "del": "^3.0.0",
65
+ "enzyme": "^3.11.0",
66
+ "enzyme-adapter-react-16": "^1.15.2",
67
+ "enzyme-to-json": "^3.4.4",
68
+ "glob": "^7.1.6",
69
+ "gulp": "^4.0.2",
70
+ "gulp-babel": "^8.0.0-beta.2",
71
+ "gulp-imagemin": "^7.1.0",
72
+ "gulp-less": "^4.0.1",
73
+ "gulp-typescript": "^5.0.1",
74
+ "jest": "^25.1.0",
75
+ "less-plugin-autoprefix": "^2.0.0",
76
+ "merge2": "^1.3.0",
77
+ "react": "^16.13.0",
78
+ "react-dom": "^16.13.0",
79
+ "stylelint": "^9.10.1",
80
+ "through2": "^2.0.5",
81
+ "typescript": "^3.8.3"
82
+ },
83
+ "dependencies": {
84
+ "@babel/runtime": "^7.8.4",
85
+ "@megafon/ui-core": "^6.4.2",
86
+ "@megafon/ui-helpers": "^2.6.0",
87
+ "core-js": "^3.6.4",
88
+ "htmr": "^0.9.2",
89
+ "lodash.throttle": "^4.1.1",
90
+ "prop-types": "^15.7.2",
91
+ "swiper": "^6.5.6"
92
+ },
93
+ "gitHead": "fea7e711b2427c835cd6ec8016df37d7996ef4de"
94
94
  }