@elice/material-video-file 1.221026.0 → 1.221028.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.
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { MaterialVideoFilePlayerProps } from './MaterialVideoFilePlayer';
3
- declare type PickedVideoPlayerProps = Pick<MaterialVideoFilePlayerProps, 'materialVideoFileTrackerDisabled' | 'mainLecturePageId' | 'lms' | 'lmsOrganizationBusinessType' | 'emptyComponent' | 'autoPlay' | 'autoPlayNext' | 'eliceVideoPlayerUrl' | 'onNavigatePreviousLecturePage' | 'onNavigateNextLecturePage'>;
3
+ declare type PickedVideoPlayerProps = Pick<MaterialVideoFilePlayerProps, 'materialVideoFileTrackerDisabled' | 'mainLecturePageId' | 'lms' | 'lmsOrganizationBusinessType' | 'emptyComponent' | 'autoPlay' | 'autoPlayNext' | 'endControl' | 'eliceVideoPlayerUrl' | 'onNavigatePreviousLecturePage' | 'onNavigateNextLecturePage'>;
4
4
  export interface MaterialVideoFileProps extends PickedVideoPlayerProps {
5
5
  materialVideoFileId: number;
6
6
  className?: string;
@@ -25,6 +25,8 @@ export interface MaterialVideoFilePlayerProps {
25
25
  autoPlay?: EliceVideoPlayerSearchParams['autoplay'];
26
26
  /** Auto play next lecture page. */
27
27
  autoPlayNext?: EliceVideoPlayerSearchParams['autoplaynext'];
28
+ /** End control overlay. */
29
+ endControl?: EliceVideoPlayerSearchParams['endctrl'];
28
30
  /** Locale. */
29
31
  locale?: EliceVideoPlayerSearchParams['locale'];
30
32
  /** Elice video player url. */
@@ -13,6 +13,15 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
14
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
15
15
 
16
+ var VideoUploadStatus;
17
+
18
+ (function (VideoUploadStatus) {
19
+ VideoUploadStatus[VideoUploadStatus["Empty"] = 0] = "Empty";
20
+ VideoUploadStatus[VideoUploadStatus["Encoding"] = 1] = "Encoding";
21
+ VideoUploadStatus[VideoUploadStatus["EncodingFailed"] = 2] = "EncodingFailed";
22
+ VideoUploadStatus[VideoUploadStatus["Ready"] = 3] = "Ready";
23
+ })(VideoUploadStatus || (VideoUploadStatus = {}));
24
+
16
25
  var VideoMimeType;
17
26
 
18
27
  (function (VideoMimeType) {
@@ -38,8 +47,9 @@ const MaterialVideoFilePlayer = ({
38
47
  orgNameShort,
39
48
  lms = false,
40
49
  lmsOrganizationBusinessType = null,
41
- autoPlay = true,
42
- autoPlayNext = true,
50
+ autoPlay = false,
51
+ autoPlayNext = false,
52
+ endControl = false,
43
53
  locale,
44
54
  eliceVideoPlayerUrl,
45
55
  emptyComponent = null,
@@ -47,12 +57,32 @@ const MaterialVideoFilePlayer = ({
47
57
  onNavigatePreviousLecturePage,
48
58
  onNavigateNextLecturePage
49
59
  }) => {
50
- var _a, _b, _c;
51
-
52
60
  const prefixCls = 'em-video-player';
53
- const isVideoEncoding = ((_a = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _a === void 0 ? void 0 : _a.status) === types.enums.AzureMediaVideoStatus.Encoding;
54
- const isVideoUploaded = ((_b = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _b === void 0 ? void 0 : _b.status) === types.enums.AzureMediaVideoStatus.Done && typeof ((_c = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _c === void 0 ? void 0 : _c.videoStreamingUrl) === 'string';
55
- const [playerFrameSrc, setPlayerFrameSrc] = React__default["default"].useState(null); //
61
+ const [playerFrameSrc, setPlayerFrameSrc] = React__default["default"].useState(null);
62
+ /**
63
+ * Current video status.
64
+ */
65
+
66
+ const materialVideoFileUploadStatus = React__default["default"].useMemo(() => {
67
+ var _a, _b, _c, _d;
68
+
69
+ switch (true) {
70
+ case typeof ((_a = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _a === void 0 ? void 0 : _a.status) === 'undefined':
71
+ return VideoUploadStatus.Empty;
72
+
73
+ case ((_b = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _b === void 0 ? void 0 : _b.status) === types.enums.AzureMediaVideoStatus.Encoding:
74
+ return VideoUploadStatus.Encoding;
75
+
76
+ case ((_c = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _c === void 0 ? void 0 : _c.status) === types.enums.AzureMediaVideoStatus.Error:
77
+ return VideoUploadStatus.EncodingFailed;
78
+
79
+ case ((_d = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _d === void 0 ? void 0 : _d.status) === types.enums.AzureMediaVideoStatus.Done && typeof materialVideoFile.azureMediaVideo.videoStreamingUrl === 'string':
80
+ return VideoUploadStatus.Ready;
81
+
82
+ default:
83
+ return VideoUploadStatus.Empty;
84
+ }
85
+ }, [materialVideoFile]); //
56
86
  // Get video iframe src.
57
87
  //
58
88
 
@@ -75,6 +105,7 @@ const MaterialVideoFilePlayer = ({
75
105
  codec: VideoMimeType.Smooth,
76
106
  autoplay: autoPlay,
77
107
  autoplaynext: autoPlayNext,
108
+ endctrl: endControl,
78
109
  notrack: materialVideoFileTrackerDisabled,
79
110
  origin: window.location.origin,
80
111
  locale,
@@ -96,7 +127,7 @@ const MaterialVideoFilePlayer = ({
96
127
  return () => {
97
128
  abortCtrl.abort();
98
129
  };
99
- }, [orgNameShort, materialVideoFile, materialVideoFileTrackerDisabled, mainLecturePageId, lms, lmsOrganizationBusinessType, eliceVideoPlayerUrl, autoPlay, autoPlayNext, locale]); //
130
+ }, [orgNameShort, materialVideoFile, materialVideoFileTrackerDisabled, mainLecturePageId, lms, lmsOrganizationBusinessType, eliceVideoPlayerUrl, autoPlay, autoPlayNext, endControl, locale]); //
100
131
  // Add event listener for navigating prev and next lecture page.
101
132
  //
102
133
 
@@ -142,21 +173,36 @@ const MaterialVideoFilePlayer = ({
142
173
 
143
174
  if (materialVideoFileStatus === 'idle' || materialVideoFileStatus === 'pending' || materialVideoFileStatus === 'resolved' && !playerFrameSrc) {
144
175
  return React__default["default"].createElement(MaterialVideoFilePlayer_styled.StyledVideoPlayerLoading, null, React__default["default"].createElement(blocks.Spinner, null));
145
- } // empty video / rejected
176
+ } // rejected / empty video
146
177
 
147
178
 
148
- if (!isVideoUploaded || materialVideoFileStatus === 'rejected') {
179
+ if (materialVideoFileStatus === 'rejected' || materialVideoFileUploadStatus === VideoUploadStatus.Empty) {
149
180
  return React__default["default"].createElement(React__default["default"].Fragment, {
150
181
  children: emptyComponent
151
182
  });
152
183
  } // encoding
153
184
 
154
185
 
155
- if (isVideoEncoding) {
186
+ if (materialVideoFileUploadStatus === VideoUploadStatus.Encoding) {
156
187
  return React__default["default"].createElement(MaterialVideoFilePlayer_styled.StyledVideoPlayerLoading, null, React__default["default"].createElement(blocks.Spinner, null), React__default["default"].createElement(blocks.Text, {
157
- role: "gray3"
188
+ role: "gray3",
189
+ lineHeight: 1.5,
190
+ textAlign: "center",
191
+ preWrap: true
192
+ }, React__default["default"].createElement(reactIntl.FormattedMessage, {
193
+ id: "videoFile.player.encoding"
194
+ })));
195
+ } // encoding failed
196
+
197
+
198
+ if (materialVideoFileUploadStatus === VideoUploadStatus.EncodingFailed) {
199
+ return React__default["default"].createElement(MaterialVideoFilePlayer_styled.StyledVideoPlayerLoading, null, React__default["default"].createElement(blocks.Text, {
200
+ role: "gray3",
201
+ lineHeight: 1.5,
202
+ textAlign: "center",
203
+ preWrap: true
158
204
  }, React__default["default"].createElement(reactIntl.FormattedMessage, {
159
- id: "videoFile.player.onEncoding"
205
+ id: "videoFile.player.encodingFailed"
160
206
  })));
161
207
  } // resolved
162
208
 
@@ -13,7 +13,7 @@ const StyledVideoPlayerWrap = styled__default["default"].iframe.withConfig({
13
13
  })(["width:100%;height:100%;border:0;"]);
14
14
  const StyledVideoPlayerLoading = styled__default["default"].div.withConfig({
15
15
  componentId: "sc-1ocq3lp-1"
16
- })(["width:100%;height:100%;display:flex;align-items:center;justify-content:center;"]);
16
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;"]);
17
17
 
18
18
  exports.StyledVideoPlayerLoading = StyledVideoPlayerLoading;
19
19
  exports.StyledVideoPlayerWrap = StyledVideoPlayerWrap;
@@ -1,7 +1,8 @@
1
1
  export declare const en: {
2
2
  'videoFile.player.preparing': string;
3
3
  'videoFile.player.uploadVideoBtn': string;
4
- 'videoFile.player.onEncoding': string;
4
+ 'videoFile.player.encoding': string;
5
+ 'videoFile.player.encodingFailed': string;
5
6
  'videoFile.player.noVideo': string;
6
7
  };
7
8
  export declare const ko: typeof en;
@@ -5,13 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const en = {
6
6
  'videoFile.player.preparing': 'Material on preparing.',
7
7
  'videoFile.player.uploadVideoBtn': 'Upload File',
8
- 'videoFile.player.onEncoding': 'Encoding file..',
8
+ 'videoFile.player.encoding': 'A video is being prepared.\nPlease check back later.',
9
+ 'videoFile.player.encodingFailed': 'There was a problem processing the video.\nIf the problem persists, please contact customer service.',
9
10
  'videoFile.player.noVideo': 'This file does not exist.'
10
11
  };
11
12
  const ko = {
12
13
  'videoFile.player.preparing': '자료를 준비 중입니다.',
13
14
  'videoFile.player.uploadVideoBtn': '파일 업로드',
14
- 'videoFile.player.onEncoding': '파일 인코딩 중..',
15
+ 'videoFile.player.encoding': '동영상을 준비 중 입니다.\n잠시 후 다시 확인해주세요.',
16
+ 'videoFile.player.encodingFailed': '동영상 준비 중 문제가 발생하였습니다.\n문제가 지속될 경우 고객센터에 문의해주세요.',
15
17
  'videoFile.player.noVideo': '존재하지 않는 파일입니다.'
16
18
  };
17
19
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { MaterialVideoFilePlayerProps } from './MaterialVideoFilePlayer';
3
- declare type PickedVideoPlayerProps = Pick<MaterialVideoFilePlayerProps, 'materialVideoFileTrackerDisabled' | 'mainLecturePageId' | 'lms' | 'lmsOrganizationBusinessType' | 'emptyComponent' | 'autoPlay' | 'autoPlayNext' | 'eliceVideoPlayerUrl' | 'onNavigatePreviousLecturePage' | 'onNavigateNextLecturePage'>;
3
+ declare type PickedVideoPlayerProps = Pick<MaterialVideoFilePlayerProps, 'materialVideoFileTrackerDisabled' | 'mainLecturePageId' | 'lms' | 'lmsOrganizationBusinessType' | 'emptyComponent' | 'autoPlay' | 'autoPlayNext' | 'endControl' | 'eliceVideoPlayerUrl' | 'onNavigatePreviousLecturePage' | 'onNavigateNextLecturePage'>;
4
4
  export interface MaterialVideoFileProps extends PickedVideoPlayerProps {
5
5
  materialVideoFileId: number;
6
6
  className?: string;
@@ -25,6 +25,8 @@ export interface MaterialVideoFilePlayerProps {
25
25
  autoPlay?: EliceVideoPlayerSearchParams['autoplay'];
26
26
  /** Auto play next lecture page. */
27
27
  autoPlayNext?: EliceVideoPlayerSearchParams['autoplaynext'];
28
+ /** End control overlay. */
29
+ endControl?: EliceVideoPlayerSearchParams['endctrl'];
28
30
  /** Locale. */
29
31
  locale?: EliceVideoPlayerSearchParams['locale'];
30
32
  /** Elice video player url. */
@@ -6,6 +6,15 @@ import { enums } from '@elice/types';
6
6
  import classnames from 'classnames';
7
7
  import { StyledVideoPlayerLoading, StyledVideoPlayerWrap } from './MaterialVideoFilePlayer.styled.js';
8
8
 
9
+ var VideoUploadStatus;
10
+
11
+ (function (VideoUploadStatus) {
12
+ VideoUploadStatus[VideoUploadStatus["Empty"] = 0] = "Empty";
13
+ VideoUploadStatus[VideoUploadStatus["Encoding"] = 1] = "Encoding";
14
+ VideoUploadStatus[VideoUploadStatus["EncodingFailed"] = 2] = "EncodingFailed";
15
+ VideoUploadStatus[VideoUploadStatus["Ready"] = 3] = "Ready";
16
+ })(VideoUploadStatus || (VideoUploadStatus = {}));
17
+
9
18
  var VideoMimeType;
10
19
 
11
20
  (function (VideoMimeType) {
@@ -31,8 +40,9 @@ const MaterialVideoFilePlayer = ({
31
40
  orgNameShort,
32
41
  lms = false,
33
42
  lmsOrganizationBusinessType = null,
34
- autoPlay = true,
35
- autoPlayNext = true,
43
+ autoPlay = false,
44
+ autoPlayNext = false,
45
+ endControl = false,
36
46
  locale,
37
47
  eliceVideoPlayerUrl,
38
48
  emptyComponent = null,
@@ -40,12 +50,32 @@ const MaterialVideoFilePlayer = ({
40
50
  onNavigatePreviousLecturePage,
41
51
  onNavigateNextLecturePage
42
52
  }) => {
43
- var _a, _b, _c;
44
-
45
53
  const prefixCls = 'em-video-player';
46
- const isVideoEncoding = ((_a = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _a === void 0 ? void 0 : _a.status) === enums.AzureMediaVideoStatus.Encoding;
47
- const isVideoUploaded = ((_b = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _b === void 0 ? void 0 : _b.status) === enums.AzureMediaVideoStatus.Done && typeof ((_c = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _c === void 0 ? void 0 : _c.videoStreamingUrl) === 'string';
48
- const [playerFrameSrc, setPlayerFrameSrc] = React.useState(null); //
54
+ const [playerFrameSrc, setPlayerFrameSrc] = React.useState(null);
55
+ /**
56
+ * Current video status.
57
+ */
58
+
59
+ const materialVideoFileUploadStatus = React.useMemo(() => {
60
+ var _a, _b, _c, _d;
61
+
62
+ switch (true) {
63
+ case typeof ((_a = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _a === void 0 ? void 0 : _a.status) === 'undefined':
64
+ return VideoUploadStatus.Empty;
65
+
66
+ case ((_b = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _b === void 0 ? void 0 : _b.status) === enums.AzureMediaVideoStatus.Encoding:
67
+ return VideoUploadStatus.Encoding;
68
+
69
+ case ((_c = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _c === void 0 ? void 0 : _c.status) === enums.AzureMediaVideoStatus.Error:
70
+ return VideoUploadStatus.EncodingFailed;
71
+
72
+ case ((_d = materialVideoFile === null || materialVideoFile === void 0 ? void 0 : materialVideoFile.azureMediaVideo) === null || _d === void 0 ? void 0 : _d.status) === enums.AzureMediaVideoStatus.Done && typeof materialVideoFile.azureMediaVideo.videoStreamingUrl === 'string':
73
+ return VideoUploadStatus.Ready;
74
+
75
+ default:
76
+ return VideoUploadStatus.Empty;
77
+ }
78
+ }, [materialVideoFile]); //
49
79
  // Get video iframe src.
50
80
  //
51
81
 
@@ -68,6 +98,7 @@ const MaterialVideoFilePlayer = ({
68
98
  codec: VideoMimeType.Smooth,
69
99
  autoplay: autoPlay,
70
100
  autoplaynext: autoPlayNext,
101
+ endctrl: endControl,
71
102
  notrack: materialVideoFileTrackerDisabled,
72
103
  origin: window.location.origin,
73
104
  locale,
@@ -89,7 +120,7 @@ const MaterialVideoFilePlayer = ({
89
120
  return () => {
90
121
  abortCtrl.abort();
91
122
  };
92
- }, [orgNameShort, materialVideoFile, materialVideoFileTrackerDisabled, mainLecturePageId, lms, lmsOrganizationBusinessType, eliceVideoPlayerUrl, autoPlay, autoPlayNext, locale]); //
123
+ }, [orgNameShort, materialVideoFile, materialVideoFileTrackerDisabled, mainLecturePageId, lms, lmsOrganizationBusinessType, eliceVideoPlayerUrl, autoPlay, autoPlayNext, endControl, locale]); //
93
124
  // Add event listener for navigating prev and next lecture page.
94
125
  //
95
126
 
@@ -135,21 +166,36 @@ const MaterialVideoFilePlayer = ({
135
166
 
136
167
  if (materialVideoFileStatus === 'idle' || materialVideoFileStatus === 'pending' || materialVideoFileStatus === 'resolved' && !playerFrameSrc) {
137
168
  return React.createElement(StyledVideoPlayerLoading, null, React.createElement(Spinner, null));
138
- } // empty video / rejected
169
+ } // rejected / empty video
139
170
 
140
171
 
141
- if (!isVideoUploaded || materialVideoFileStatus === 'rejected') {
172
+ if (materialVideoFileStatus === 'rejected' || materialVideoFileUploadStatus === VideoUploadStatus.Empty) {
142
173
  return React.createElement(React.Fragment, {
143
174
  children: emptyComponent
144
175
  });
145
176
  } // encoding
146
177
 
147
178
 
148
- if (isVideoEncoding) {
179
+ if (materialVideoFileUploadStatus === VideoUploadStatus.Encoding) {
149
180
  return React.createElement(StyledVideoPlayerLoading, null, React.createElement(Spinner, null), React.createElement(Text, {
150
- role: "gray3"
181
+ role: "gray3",
182
+ lineHeight: 1.5,
183
+ textAlign: "center",
184
+ preWrap: true
185
+ }, React.createElement(FormattedMessage, {
186
+ id: "videoFile.player.encoding"
187
+ })));
188
+ } // encoding failed
189
+
190
+
191
+ if (materialVideoFileUploadStatus === VideoUploadStatus.EncodingFailed) {
192
+ return React.createElement(StyledVideoPlayerLoading, null, React.createElement(Text, {
193
+ role: "gray3",
194
+ lineHeight: 1.5,
195
+ textAlign: "center",
196
+ preWrap: true
151
197
  }, React.createElement(FormattedMessage, {
152
- id: "videoFile.player.onEncoding"
198
+ id: "videoFile.player.encodingFailed"
153
199
  })));
154
200
  } // resolved
155
201
 
@@ -5,6 +5,6 @@ const StyledVideoPlayerWrap = styled.iframe.withConfig({
5
5
  })(["width:100%;height:100%;border:0;"]);
6
6
  const StyledVideoPlayerLoading = styled.div.withConfig({
7
7
  componentId: "sc-1ocq3lp-1"
8
- })(["width:100%;height:100%;display:flex;align-items:center;justify-content:center;"]);
8
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;"]);
9
9
 
10
10
  export { StyledVideoPlayerLoading, StyledVideoPlayerWrap };
@@ -1,7 +1,8 @@
1
1
  export declare const en: {
2
2
  'videoFile.player.preparing': string;
3
3
  'videoFile.player.uploadVideoBtn': string;
4
- 'videoFile.player.onEncoding': string;
4
+ 'videoFile.player.encoding': string;
5
+ 'videoFile.player.encodingFailed': string;
5
6
  'videoFile.player.noVideo': string;
6
7
  };
7
8
  export declare const ko: typeof en;
@@ -1,13 +1,15 @@
1
1
  const en = {
2
2
  'videoFile.player.preparing': 'Material on preparing.',
3
3
  'videoFile.player.uploadVideoBtn': 'Upload File',
4
- 'videoFile.player.onEncoding': 'Encoding file..',
4
+ 'videoFile.player.encoding': 'A video is being prepared.\nPlease check back later.',
5
+ 'videoFile.player.encodingFailed': 'There was a problem processing the video.\nIf the problem persists, please contact customer service.',
5
6
  'videoFile.player.noVideo': 'This file does not exist.'
6
7
  };
7
8
  const ko = {
8
9
  'videoFile.player.preparing': '자료를 준비 중입니다.',
9
10
  'videoFile.player.uploadVideoBtn': '파일 업로드',
10
- 'videoFile.player.onEncoding': '파일 인코딩 중..',
11
+ 'videoFile.player.encoding': '동영상을 준비 중 입니다.\n잠시 후 다시 확인해주세요.',
12
+ 'videoFile.player.encodingFailed': '동영상 준비 중 문제가 발생하였습니다.\n문제가 지속될 경우 고객센터에 문의해주세요.',
11
13
  'videoFile.player.noVideo': '존재하지 않는 파일입니다.'
12
14
  };
13
15
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elice/material-video-file",
3
- "version": "1.221026.0",
3
+ "version": "1.221028.1",
4
4
  "description": "User view and editing components of Elice material video file",
5
5
  "repository": "https://git.elicer.io/elice/frontend/library/elice-material",
6
6
  "license": "UNLICENSED",
@@ -35,7 +35,7 @@
35
35
  "@elice/icons": "^1.220803.0",
36
36
  "@elice/material-shared-types": "*",
37
37
  "@elice/material-shared-utils": "*",
38
- "@elice/types": "^1.221026.1",
38
+ "@elice/types": "^1.221027.0",
39
39
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
40
40
  "react-intl": "^5.0.0",
41
41
  "react-use": "^17.0.0",
@@ -52,9 +52,9 @@
52
52
  "@elice/design-tokens": "^1.220803.0",
53
53
  "@elice/icons": "^1.220803.0",
54
54
  "@elice/icons-legacy": "npm:@elice/icons@0.220803.1",
55
- "@elice/material-shared-types": "1.221026.0",
56
- "@elice/material-shared-utils": "1.221026.0",
57
- "@elice/types": "^1.221026.1",
55
+ "@elice/material-shared-types": "1.221028.1",
56
+ "@elice/material-shared-utils": "1.221028.1",
57
+ "@elice/types": "^1.221027.0",
58
58
  "@types/classnames": "^2.3.1",
59
59
  "@types/query-string": "^6.3.0",
60
60
  "@types/react": "~17.0.9",
@@ -64,5 +64,5 @@
64
64
  "react-use": "^17.2.4",
65
65
  "styled-components": "^5.3.0"
66
66
  },
67
- "gitHead": "7de772c5b7ffa0c09afe214c732b3557f5958471"
67
+ "gitHead": "817b927e18aea831f69af7b40c23ff6699ab14f9"
68
68
  }