@lideralia/alife-uikit 1.2.30 → 1.2.32
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.
- package/dist/atoms/Button/Button.js +2 -1
- package/dist/atoms/Icons/IconClockBig.js +2 -2
- package/dist/atoms/Icons/IconHeadphones.js +45 -0
- package/dist/atoms/Icons/IconMicrophone.js +54 -0
- package/dist/atoms/Icons/index.js +16 -0
- package/dist/organisms/Audios/Audio.js +135 -0
- package/dist/organisms/Audios/Audio.stories.js +36 -0
- package/dist/organisms/Audios/CreateAudio.js +404 -0
- package/dist/organisms/Audios/CreateAudio.stories.js +34 -0
- package/dist/organisms/Audios/index.js +13 -0
- package/dist/organisms/Cards/Badges.js +32 -11
- package/package.json +3 -1
|
@@ -57,7 +57,8 @@ var ButtonTabs = function ButtonTabs(_ref2) {
|
|
|
57
57
|
}, rest), _react.default.createElement(_Layout.Flex, {
|
|
58
58
|
backgroundColor: "black12",
|
|
59
59
|
borderRadius: 3,
|
|
60
|
-
padding: 1
|
|
60
|
+
padding: 1,
|
|
61
|
+
overflow: "hidden"
|
|
61
62
|
}, items === null || items === void 0 ? void 0 : items.map(function (item) {
|
|
62
63
|
return _react.default.createElement(Button, (0, _extends2.default)({
|
|
63
64
|
key: item.id,
|
|
@@ -19,8 +19,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
19
19
|
|
|
20
20
|
function SvgIconClockBig(props) {
|
|
21
21
|
return React.createElement("svg", (0, _extends2.default)({
|
|
22
|
-
width: "
|
|
23
|
-
height: "
|
|
22
|
+
width: "1em",
|
|
23
|
+
height: "1em",
|
|
24
24
|
viewBox: "0 0 120 120",
|
|
25
25
|
fill: "none",
|
|
26
26
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
function SvgIconHeadphones(props) {
|
|
21
|
+
return React.createElement("svg", (0, _extends2.default)({
|
|
22
|
+
width: "1em",
|
|
23
|
+
height: "1em",
|
|
24
|
+
viewBox: "0 0 18 18",
|
|
25
|
+
fill: "none",
|
|
26
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
27
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
28
|
+
stroke: props.stroke
|
|
29
|
+
}, props), React.createElement("path", {
|
|
30
|
+
d: "M3 12.75v0a.75.75 0 01-.75-.75V9A6.75 6.75 0 019 2.25v0A6.75 6.75 0 0115.75 9v3a.75.75 0 01-.75.75v0",
|
|
31
|
+
stroke: "inherit",
|
|
32
|
+
strokeWidth: 1.5,
|
|
33
|
+
strokeLinecap: "round",
|
|
34
|
+
strokeLinejoin: "round"
|
|
35
|
+
}), React.createElement("path", {
|
|
36
|
+
d: "M3 12.25a2.5 2.5 0 012.5-2.5v0c.69 0 1.25.56 1.25 1.25v3.5c0 .69-.56 1.25-1.25 1.25v0a2.5 2.5 0 01-2.5-2.5v-1zM11.25 11c0-.69.56-1.25 1.25-1.25v0a2.5 2.5 0 012.5 2.5v1a2.5 2.5 0 01-2.5 2.5v0c-.69 0-1.25-.56-1.25-1.25V11z",
|
|
37
|
+
stroke: "inherit",
|
|
38
|
+
strokeWidth: 1.5,
|
|
39
|
+
strokeLinecap: "round",
|
|
40
|
+
strokeLinejoin: "round"
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
var _default = SvgIconHeadphones;
|
|
45
|
+
exports.default = _default;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
function SvgIconMicrophone(props) {
|
|
21
|
+
return React.createElement("svg", (0, _extends2.default)({
|
|
22
|
+
width: "1em",
|
|
23
|
+
height: "1em",
|
|
24
|
+
viewBox: "0 0 24 24",
|
|
25
|
+
fill: "none",
|
|
26
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
27
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
28
|
+
stroke: props.stroke
|
|
29
|
+
}, props), React.createElement("path", {
|
|
30
|
+
d: "M9 21h6M12 21v-3",
|
|
31
|
+
stroke: "inherit",
|
|
32
|
+
strokeWidth: 2,
|
|
33
|
+
strokeLinecap: "round",
|
|
34
|
+
strokeLinejoin: "round"
|
|
35
|
+
}), React.createElement("rect", {
|
|
36
|
+
x: 9,
|
|
37
|
+
y: 2,
|
|
38
|
+
width: 6,
|
|
39
|
+
height: 12,
|
|
40
|
+
rx: 3,
|
|
41
|
+
stroke: "inherit",
|
|
42
|
+
strokeWidth: 2,
|
|
43
|
+
strokeLinejoin: "round"
|
|
44
|
+
}), React.createElement("path", {
|
|
45
|
+
d: "M5 11l.151 1.06A6.918 6.918 0 0012 18v0a6.918 6.918 0 006.849-5.94L19 11",
|
|
46
|
+
stroke: "inherit",
|
|
47
|
+
strokeWidth: 2,
|
|
48
|
+
strokeLinecap: "round",
|
|
49
|
+
strokeLinejoin: "round"
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
var _default = SvgIconMicrophone;
|
|
54
|
+
exports.default = _default;
|
|
@@ -413,6 +413,12 @@ Object.defineProperty(exports, "IconGrave", {
|
|
|
413
413
|
return _IconGrave.default;
|
|
414
414
|
}
|
|
415
415
|
});
|
|
416
|
+
Object.defineProperty(exports, "IconHeadphones", {
|
|
417
|
+
enumerable: true,
|
|
418
|
+
get: function get() {
|
|
419
|
+
return _IconHeadphones.default;
|
|
420
|
+
}
|
|
421
|
+
});
|
|
416
422
|
Object.defineProperty(exports, "IconHelp", {
|
|
417
423
|
enumerable: true,
|
|
418
424
|
get: function get() {
|
|
@@ -527,6 +533,12 @@ Object.defineProperty(exports, "IconMenu", {
|
|
|
527
533
|
return _IconMenu.default;
|
|
528
534
|
}
|
|
529
535
|
});
|
|
536
|
+
Object.defineProperty(exports, "IconMicrophone", {
|
|
537
|
+
enumerable: true,
|
|
538
|
+
get: function get() {
|
|
539
|
+
return _IconMicrophone.default;
|
|
540
|
+
}
|
|
541
|
+
});
|
|
530
542
|
Object.defineProperty(exports, "IconNotification", {
|
|
531
543
|
enumerable: true,
|
|
532
544
|
get: function get() {
|
|
@@ -994,6 +1006,8 @@ var _IconFrame = _interopRequireDefault(require("./IconFrame"));
|
|
|
994
1006
|
|
|
995
1007
|
var _IconGrave = _interopRequireDefault(require("./IconGrave"));
|
|
996
1008
|
|
|
1009
|
+
var _IconHeadphones = _interopRequireDefault(require("./IconHeadphones"));
|
|
1010
|
+
|
|
997
1011
|
var _IconHelpCircle = _interopRequireDefault(require("./IconHelpCircle"));
|
|
998
1012
|
|
|
999
1013
|
var _IconHelp = _interopRequireDefault(require("./IconHelp"));
|
|
@@ -1032,6 +1046,8 @@ var _IconManagement = _interopRequireDefault(require("./IconManagement"));
|
|
|
1032
1046
|
|
|
1033
1047
|
var _IconMenu = _interopRequireDefault(require("./IconMenu"));
|
|
1034
1048
|
|
|
1049
|
+
var _IconMicrophone = _interopRequireDefault(require("./IconMicrophone"));
|
|
1050
|
+
|
|
1035
1051
|
var _IconNotification = _interopRequireDefault(require("./IconNotification"));
|
|
1036
1052
|
|
|
1037
1053
|
var _IconPauseCircle = _interopRequireDefault(require("./IconPauseCircle"));
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.CardAudio = void 0;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _wavesurfer = _interopRequireDefault(require("wavesurfer.js"));
|
|
19
|
+
|
|
20
|
+
var _Icons = require("../../atoms/Icons");
|
|
21
|
+
|
|
22
|
+
var _Icon = require("../../atoms/Icon");
|
|
23
|
+
|
|
24
|
+
var _Layout = require("../../atoms/Layout");
|
|
25
|
+
|
|
26
|
+
var _Typography = require("../../atoms/Typography");
|
|
27
|
+
|
|
28
|
+
var _Button = require("../../atoms/Button");
|
|
29
|
+
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
34
|
+
var CardAudio = function CardAudio(_ref) {
|
|
35
|
+
var contentColor = _ref.contentColor,
|
|
36
|
+
audio = _ref.audio;
|
|
37
|
+
var waveformRef = (0, _react.useRef)();
|
|
38
|
+
var waveSurferRef = (0, _react.useRef)({
|
|
39
|
+
isPlaying: function isPlaying() {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
var _useState = (0, _react.useState)(false),
|
|
45
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
+
isPlaying = _useState2[0],
|
|
47
|
+
toggleIsPlaying = _useState2[1];
|
|
48
|
+
|
|
49
|
+
var _useState3 = (0, _react.useState)('00:00'),
|
|
50
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
51
|
+
durationTime = _useState4[0],
|
|
52
|
+
setDurationTime = _useState4[1];
|
|
53
|
+
|
|
54
|
+
var _useState5 = (0, _react.useState)('00:00'),
|
|
55
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
56
|
+
currentTime = _useState6[0],
|
|
57
|
+
setCurrentTime = _useState6[1];
|
|
58
|
+
|
|
59
|
+
var secondsToMMss = function secondsToMMss(seconds) {
|
|
60
|
+
return new Date(seconds * 1000).toISOString().substring(14, 19);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
(0, _react.useEffect)(function () {
|
|
64
|
+
var waveSurfer = _wavesurfer.default.create({
|
|
65
|
+
container: waveformRef.current,
|
|
66
|
+
waveColor: 'rgba(242, 242, 243, 1)',
|
|
67
|
+
progressColor: contentColor,
|
|
68
|
+
barWidth: 3,
|
|
69
|
+
barRadius: 3,
|
|
70
|
+
cursorWidth: 0,
|
|
71
|
+
height: 100,
|
|
72
|
+
barGap: 4
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
waveSurfer.load(audio);
|
|
76
|
+
waveSurfer.on('ready', function () {
|
|
77
|
+
waveSurfer.setProgressColor(contentColor);
|
|
78
|
+
waveSurferRef.current = waveSurfer;
|
|
79
|
+
setDurationTime(secondsToMMss(waveSurfer.getDuration()));
|
|
80
|
+
var peaks = waveSurfer.backend.getPeaks(1024);
|
|
81
|
+
var minValue = Math.min.apply(Math, (0, _toConsumableArray2.default)(peaks));
|
|
82
|
+
var maxValue = Math.max.apply(Math, (0, _toConsumableArray2.default)(peaks));
|
|
83
|
+
var volume = peaks.map(function (value) {
|
|
84
|
+
return value > 0.05 ? value - minValue - 0.01 / (maxValue - minValue) : 0.05;
|
|
85
|
+
});
|
|
86
|
+
waveSurfer.drawer.drawPeaks(volume, waveSurfer.drawer.width, 0, volume.length);
|
|
87
|
+
});
|
|
88
|
+
waveSurfer.on('audioprocess', function () {
|
|
89
|
+
setCurrentTime(secondsToMMss(waveSurfer.getCurrentTime()));
|
|
90
|
+
});
|
|
91
|
+
waveSurfer.on('seek', function () {
|
|
92
|
+
setCurrentTime(secondsToMMss(waveSurfer.getCurrentTime()));
|
|
93
|
+
});
|
|
94
|
+
waveSurfer.on('error', function (e) {});
|
|
95
|
+
waveSurfer.on('finish', function () {
|
|
96
|
+
toggleIsPlaying(false);
|
|
97
|
+
});
|
|
98
|
+
return function () {
|
|
99
|
+
waveSurfer.destroy();
|
|
100
|
+
};
|
|
101
|
+
}, []);
|
|
102
|
+
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
|
|
103
|
+
ref: waveformRef,
|
|
104
|
+
style: {
|
|
105
|
+
margin: '-13px auto'
|
|
106
|
+
}
|
|
107
|
+
}), _react.default.createElement(_Layout.Flex, {
|
|
108
|
+
justifyContent: "space-between"
|
|
109
|
+
}, _react.default.createElement(_Layout.Box, null, _react.default.createElement(_Typography.Text, {
|
|
110
|
+
color: "black36",
|
|
111
|
+
sizeText: "display12"
|
|
112
|
+
}, currentTime)), _react.default.createElement(_Layout.Box, null, _react.default.createElement(_Typography.Text, {
|
|
113
|
+
color: "black36",
|
|
114
|
+
sizeText: "display12"
|
|
115
|
+
}, durationTime))), _react.default.createElement(_Button.Button, {
|
|
116
|
+
colorType: contentColor,
|
|
117
|
+
backgroundColor: contentColor,
|
|
118
|
+
rounded: true,
|
|
119
|
+
sizeButton: "none",
|
|
120
|
+
action: function action() {
|
|
121
|
+
waveSurferRef.current.playPause();
|
|
122
|
+
toggleIsPlaying(!isPlaying);
|
|
123
|
+
},
|
|
124
|
+
width: "45px",
|
|
125
|
+
height: "45px",
|
|
126
|
+
marginTop: 2
|
|
127
|
+
}, _react.default.createElement(_Icon.Icon, {
|
|
128
|
+
sizeIcon: "display24",
|
|
129
|
+
color: "white"
|
|
130
|
+
}, isPlaying ? _react.default.createElement(_Icons.IconPause, null) : _react.default.createElement(_Icons.IconPlay, {
|
|
131
|
+
fill: "#fff"
|
|
132
|
+
}))));
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
exports.CardAudio = CardAudio;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = exports.Audio = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Audio = require("./Audio");
|
|
13
|
+
|
|
14
|
+
var _Layout = require("../../atoms/Layout");
|
|
15
|
+
|
|
16
|
+
var _default = {
|
|
17
|
+
title: 'Organisms/Audios',
|
|
18
|
+
component: _Audio.CardAudio
|
|
19
|
+
};
|
|
20
|
+
exports.default = _default;
|
|
21
|
+
|
|
22
|
+
var Template = function Template(args) {
|
|
23
|
+
return _react.default.createElement(_Layout.Container, null, _react.default.createElement(_Layout.Row, {
|
|
24
|
+
justifyContent: "center",
|
|
25
|
+
alignItems: "center"
|
|
26
|
+
}, _react.default.createElement(_Layout.Col, {
|
|
27
|
+
width: [1, 1, 1 / 2]
|
|
28
|
+
}, _react.default.createElement(_Audio.CardAudio, args))));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var Audio = Template.bind({});
|
|
32
|
+
exports.Audio = Audio;
|
|
33
|
+
Audio.args = {
|
|
34
|
+
contentColor: 'orange',
|
|
35
|
+
audio: "https://s3-eu-west-1.amazonaws.com/alife-cdn-test/audios/21/63/or_1163-3a4659f286180e236fc7db552889cd16.mp3"
|
|
36
|
+
};
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.CreateAudio = void 0;
|
|
11
|
+
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
18
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _recordrtc = _interopRequireDefault(require("recordrtc"));
|
|
23
|
+
|
|
24
|
+
var _wavesurfer = _interopRequireDefault(require("wavesurfer.js"));
|
|
25
|
+
|
|
26
|
+
var _Button = require("../../atoms/Button");
|
|
27
|
+
|
|
28
|
+
var _Icon = require("../../atoms/Icon");
|
|
29
|
+
|
|
30
|
+
var _Icons = require("../../atoms/Icons");
|
|
31
|
+
|
|
32
|
+
var _Layout = require("../../atoms/Layout");
|
|
33
|
+
|
|
34
|
+
var _Typography = require("../../atoms/Typography");
|
|
35
|
+
|
|
36
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
|
+
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
+
|
|
40
|
+
var CreateAudio = function CreateAudio(_ref) {
|
|
41
|
+
var textStopRecording = _ref.textStopRecording,
|
|
42
|
+
textStartRecording = _ref.textStartRecording,
|
|
43
|
+
audioData = _ref.audioData,
|
|
44
|
+
contentColor = _ref.contentColor,
|
|
45
|
+
textMicrophonePermissionDenied = _ref.textMicrophonePermissionDenied;
|
|
46
|
+
var mediaRecorderRef = (0, _react.useRef)(null);
|
|
47
|
+
var waveSurferRef = (0, _react.useRef)({
|
|
48
|
+
isPlaying: function isPlaying() {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
var waveformRef = (0, _react.useRef)();
|
|
53
|
+
var waveformRefPlaceholder = (0, _react.useRef)();
|
|
54
|
+
|
|
55
|
+
var _useState = (0, _react.useState)(false),
|
|
56
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
57
|
+
isRecording = _useState2[0],
|
|
58
|
+
setIsRecording = _useState2[1];
|
|
59
|
+
|
|
60
|
+
var _useState3 = (0, _react.useState)(null),
|
|
61
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
62
|
+
waveSurfer = _useState4[0],
|
|
63
|
+
setWaveSurfer = _useState4[1];
|
|
64
|
+
|
|
65
|
+
var _useState5 = (0, _react.useState)(false),
|
|
66
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
67
|
+
isPlaying = _useState6[0],
|
|
68
|
+
toggleIsPlaying = _useState6[1];
|
|
69
|
+
|
|
70
|
+
var _useState7 = (0, _react.useState)(false),
|
|
71
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
72
|
+
countdownActive = _useState8[0],
|
|
73
|
+
setCountdownActive = _useState8[1];
|
|
74
|
+
|
|
75
|
+
var _useState9 = (0, _react.useState)('00:00'),
|
|
76
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
77
|
+
durationTimerAudio = _useState10[0],
|
|
78
|
+
setDurationTimerAudio = _useState10[1];
|
|
79
|
+
|
|
80
|
+
var _useState11 = (0, _react.useState)(20),
|
|
81
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
82
|
+
durationTime = _useState12[0],
|
|
83
|
+
setDurationTime = _useState12[1];
|
|
84
|
+
|
|
85
|
+
var _useState13 = (0, _react.useState)(false),
|
|
86
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
87
|
+
isMicrophoneBlocked = _useState14[0],
|
|
88
|
+
setIsMicrophoneBlocked = _useState14[1];
|
|
89
|
+
|
|
90
|
+
var handleToggleRecording = function handleToggleRecording() {
|
|
91
|
+
if (isMicrophoneBlocked) return;
|
|
92
|
+
|
|
93
|
+
if (isRecording) {
|
|
94
|
+
setCountdownActive(false);
|
|
95
|
+
mediaRecorderRef.current.stopRecording((0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
|
|
96
|
+
var audioBlob;
|
|
97
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
98
|
+
while (1) {
|
|
99
|
+
switch (_context.prev = _context.next) {
|
|
100
|
+
case 0:
|
|
101
|
+
audioBlob = mediaRecorderRef.current.getBlob();
|
|
102
|
+
waveSurfer.load(URL.createObjectURL(audioBlob));
|
|
103
|
+
audioData(audioBlob);
|
|
104
|
+
|
|
105
|
+
case 3:
|
|
106
|
+
case "end":
|
|
107
|
+
return _context.stop();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, _callee);
|
|
111
|
+
})));
|
|
112
|
+
} else {
|
|
113
|
+
navigator.mediaDevices.getUserMedia({
|
|
114
|
+
audio: true
|
|
115
|
+
}).then(function (stream) {
|
|
116
|
+
var options = {
|
|
117
|
+
type: 'audio',
|
|
118
|
+
mimeType: 'audio/webm',
|
|
119
|
+
timeSlice: 1000
|
|
120
|
+
};
|
|
121
|
+
setCountdownActive(true);
|
|
122
|
+
setDurationTime(20);
|
|
123
|
+
var mediaRecorder = new _recordrtc.default(stream, options);
|
|
124
|
+
mediaRecorderRef.current = mediaRecorder;
|
|
125
|
+
mediaRecorderRef.current.startRecording();
|
|
126
|
+
}).catch(function (error) {
|
|
127
|
+
if (error.name === 'NotAllowedError' || error.name === 'PermissionDeniedError') setIsMicrophoneBlocked(true);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
setIsRecording(function (prevIsRecording) {
|
|
132
|
+
return !prevIsRecording;
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var handleDeleteAudio = function handleDeleteAudio() {
|
|
137
|
+
setDurationTime(20);
|
|
138
|
+
waveSurfer.empty();
|
|
139
|
+
audioData(null);
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
(0, _react.useEffect)(function () {
|
|
143
|
+
var interval;
|
|
144
|
+
|
|
145
|
+
if (countdownActive) {
|
|
146
|
+
interval = setInterval(function () {
|
|
147
|
+
setDurationTime(function (prevSegundos) {
|
|
148
|
+
return prevSegundos - 1;
|
|
149
|
+
});
|
|
150
|
+
}, 1000);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (durationTime === 0 && countdownActive) {
|
|
154
|
+
setCountdownActive(false);
|
|
155
|
+
handleToggleRecording();
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return function () {
|
|
159
|
+
clearInterval(interval);
|
|
160
|
+
};
|
|
161
|
+
}, [countdownActive, durationTime]);
|
|
162
|
+
(0, _react.useEffect)(function () {
|
|
163
|
+
var colorWave = 'rgba(242, 242, 243, 1)';
|
|
164
|
+
|
|
165
|
+
var waveSurferCreate = _wavesurfer.default.create({
|
|
166
|
+
container: waveformRef.current,
|
|
167
|
+
waveColor: colorWave,
|
|
168
|
+
progressColor: contentColor,
|
|
169
|
+
barWidth: 3,
|
|
170
|
+
barRadius: 3,
|
|
171
|
+
cursorWidth: 0,
|
|
172
|
+
height: 100,
|
|
173
|
+
hideScrollbar: true,
|
|
174
|
+
width: '100%',
|
|
175
|
+
fillParent: true,
|
|
176
|
+
barGap: 4,
|
|
177
|
+
scrollParent: true,
|
|
178
|
+
partialRender: true,
|
|
179
|
+
responsive: true
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
var waveSurferCreatePlaceholder = _wavesurfer.default.create({
|
|
183
|
+
container: waveformRefPlaceholder.current,
|
|
184
|
+
waveColor: colorWave,
|
|
185
|
+
progressColor: colorWave,
|
|
186
|
+
barWidth: 3,
|
|
187
|
+
barRadius: 3,
|
|
188
|
+
cursorWidth: 0,
|
|
189
|
+
height: 100,
|
|
190
|
+
width: '100%',
|
|
191
|
+
fillParent: true,
|
|
192
|
+
hideScrollbar: true,
|
|
193
|
+
minPxPerSec: 50,
|
|
194
|
+
barGap: 4,
|
|
195
|
+
scrollParent: true,
|
|
196
|
+
partialRender: true,
|
|
197
|
+
responsive: true
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
setWaveSurfer(waveSurferCreate);
|
|
201
|
+
var fakePeaks = [0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05];
|
|
202
|
+
waveSurferCreatePlaceholder.load('https://www.mfiles.co.uk/mp3-downloads/gs-cd-track2.mp3', fakePeaks);
|
|
203
|
+
return function () {
|
|
204
|
+
waveSurferCreate.destroy();
|
|
205
|
+
waveSurferCreatePlaceholder.destroy();
|
|
206
|
+
};
|
|
207
|
+
}, []);
|
|
208
|
+
|
|
209
|
+
var secondsToMMss = function secondsToMMss(seconds) {
|
|
210
|
+
return new Date(seconds * 1000).toISOString().substring(14, 19);
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
(0, _react.useEffect)(function () {
|
|
214
|
+
if (!waveSurfer) return;
|
|
215
|
+
waveSurfer.on('ready', function () {
|
|
216
|
+
waveSurfer.setProgressColor(contentColor);
|
|
217
|
+
waveSurferRef.current = waveSurfer;
|
|
218
|
+
setDurationTimerAudio(secondsToMMss(waveSurfer.getDuration()));
|
|
219
|
+
var peaks = waveSurfer.backend.getPeaks(1024);
|
|
220
|
+
var minValue = Math.min.apply(Math, (0, _toConsumableArray2.default)(peaks));
|
|
221
|
+
var maxValue = Math.max.apply(Math, (0, _toConsumableArray2.default)(peaks));
|
|
222
|
+
var volume = peaks.map(function (value) {
|
|
223
|
+
return value > 0.05 ? value - minValue - 0.01 / (maxValue - minValue) : 0.05;
|
|
224
|
+
});
|
|
225
|
+
waveSurfer.drawer.drawPeaks(volume, waveSurfer.drawer.width, 0, volume.length);
|
|
226
|
+
waveSurfer.drawer.containerWidth = waveSurfer.drawer.container.clientWidth;
|
|
227
|
+
waveSurfer.drawBuffer();
|
|
228
|
+
});
|
|
229
|
+
waveSurfer.on('audioprocess', function () {
|
|
230
|
+
setDurationTimerAudio(secondsToMMss(waveSurfer.getCurrentTime()));
|
|
231
|
+
});
|
|
232
|
+
waveSurfer.on('finish', function () {
|
|
233
|
+
toggleIsPlaying(false);
|
|
234
|
+
});
|
|
235
|
+
}, [waveSurfer]);
|
|
236
|
+
|
|
237
|
+
if (isMicrophoneBlocked) {
|
|
238
|
+
return _react.default.createElement(_Typography.Text, {
|
|
239
|
+
sizeText: "display16",
|
|
240
|
+
fontWeight: "bold",
|
|
241
|
+
display: "flex",
|
|
242
|
+
style: {
|
|
243
|
+
justifyContent: 'center'
|
|
244
|
+
}
|
|
245
|
+
}, textMicrophonePermissionDenied);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return _react.default.createElement(_Layout.Box, {
|
|
249
|
+
position: "relative",
|
|
250
|
+
display: "flex",
|
|
251
|
+
alignItems: "center",
|
|
252
|
+
style: {
|
|
253
|
+
gap: '10px'
|
|
254
|
+
}
|
|
255
|
+
}, !(waveSurfer !== null && waveSurfer !== void 0 && waveSurfer.isReady) ? _react.default.createElement(_Button.Button, {
|
|
256
|
+
colorType: contentColor,
|
|
257
|
+
backgroundColor: contentColor,
|
|
258
|
+
rounded: true,
|
|
259
|
+
sizeButton: "none",
|
|
260
|
+
action: handleToggleRecording,
|
|
261
|
+
width: "45px",
|
|
262
|
+
height: "45px"
|
|
263
|
+
}, _react.default.createElement(_Icon.Icon, {
|
|
264
|
+
sizeIcon: "display24",
|
|
265
|
+
color: "white"
|
|
266
|
+
}, isRecording ? _react.default.createElement(_Icons.IconPause, null) : _react.default.createElement(_Icons.IconMicrophone, null))) : _react.default.createElement(_Button.Button, {
|
|
267
|
+
colorType: contentColor,
|
|
268
|
+
backgroundColor: contentColor,
|
|
269
|
+
rounded: true,
|
|
270
|
+
sizeButton: "none",
|
|
271
|
+
action: function action() {
|
|
272
|
+
waveSurferRef.current.playPause();
|
|
273
|
+
toggleIsPlaying(!isPlaying);
|
|
274
|
+
},
|
|
275
|
+
width: "45px",
|
|
276
|
+
height: "45px"
|
|
277
|
+
}, _react.default.createElement(_Icon.Icon, {
|
|
278
|
+
sizeIcon: "display24",
|
|
279
|
+
color: "white"
|
|
280
|
+
}, isPlaying ? _react.default.createElement(_Icons.IconPause, null) : _react.default.createElement(_Icons.IconPlay, {
|
|
281
|
+
stroke: "white"
|
|
282
|
+
}))), _react.default.createElement(TextExplainButton, {
|
|
283
|
+
isRecording: isRecording,
|
|
284
|
+
textStopRecording: textStopRecording,
|
|
285
|
+
textStartRecording: textStartRecording
|
|
286
|
+
}), _react.default.createElement("div", {
|
|
287
|
+
ref: waveformRef,
|
|
288
|
+
style: {
|
|
289
|
+
display: "".concat(waveSurfer !== null && waveSurfer !== void 0 && waveSurfer.isReady ? 'block' : 'none'),
|
|
290
|
+
width: '100%'
|
|
291
|
+
}
|
|
292
|
+
}), _react.default.createElement("div", {
|
|
293
|
+
ref: waveformRefPlaceholder,
|
|
294
|
+
style: {
|
|
295
|
+
display: "".concat(!(waveSurfer !== null && waveSurfer !== void 0 && waveSurfer.isReady) ? 'initial' : 'none'),
|
|
296
|
+
width: '100%'
|
|
297
|
+
}
|
|
298
|
+
}), _react.default.createElement(_Typography.Text, {
|
|
299
|
+
color: "black36",
|
|
300
|
+
sizeText: "display12"
|
|
301
|
+
}, countdownActive || durationTime === 20 ? "-00:".concat(durationTime < 10 ? "0".concat(durationTime) : durationTime) : durationTimerAudio), (waveSurfer === null || waveSurfer === void 0 ? void 0 : waveSurfer.isReady) && _react.default.createElement(_Button.Button, {
|
|
302
|
+
colorType: "none",
|
|
303
|
+
action: function action() {
|
|
304
|
+
return handleDeleteAudio();
|
|
305
|
+
},
|
|
306
|
+
padding: 0,
|
|
307
|
+
minWidth: "auto"
|
|
308
|
+
}, _react.default.createElement(_Icon.Icon, {
|
|
309
|
+
sizeIcon: "display24",
|
|
310
|
+
color: "red"
|
|
311
|
+
}, _react.default.createElement(_Icons.IconTrash, null))));
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
exports.CreateAudio = CreateAudio;
|
|
315
|
+
|
|
316
|
+
var TextExplainButton = function TextExplainButton(_ref3) {
|
|
317
|
+
var textStopRecording = _ref3.textStopRecording,
|
|
318
|
+
textStartRecording = _ref3.textStartRecording,
|
|
319
|
+
isRecording = _ref3.isRecording;
|
|
320
|
+
var firstStart = (0, _react.useRef)(true);
|
|
321
|
+
var firstStop = (0, _react.useRef)(true);
|
|
322
|
+
|
|
323
|
+
var _useState15 = (0, _react.useState)(firstStop.current),
|
|
324
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
325
|
+
firstTimeStop = _useState16[0],
|
|
326
|
+
setFirstTimeStop = _useState16[1];
|
|
327
|
+
|
|
328
|
+
var _useState17 = (0, _react.useState)(firstStart.current),
|
|
329
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
330
|
+
firstTimeStart = _useState18[0],
|
|
331
|
+
setFirstTimeStart = _useState18[1];
|
|
332
|
+
|
|
333
|
+
var stylesDiv = {
|
|
334
|
+
backgroundColor: 'white',
|
|
335
|
+
position: 'absolute',
|
|
336
|
+
top: '90px',
|
|
337
|
+
left: '5px',
|
|
338
|
+
padding: '14px',
|
|
339
|
+
zIndex: '10',
|
|
340
|
+
borderRadius: '9px',
|
|
341
|
+
filter: 'drop-shadow(0px 8px 18px rgba(60, 54, 58, 0.1)) drop-shadow(0px -8px 18px rgba(60, 54, 58, 0.1))'
|
|
342
|
+
};
|
|
343
|
+
var stylesTriangle = {
|
|
344
|
+
position: 'absolute',
|
|
345
|
+
top: '-20px',
|
|
346
|
+
borderLeft: '5px solid transparent',
|
|
347
|
+
borderRight: '5px solid transparent',
|
|
348
|
+
borderBottom: '10px solid white',
|
|
349
|
+
width: 0,
|
|
350
|
+
height: 0,
|
|
351
|
+
filter: 'drop-shadow(0px 8px 18px rgba(60, 54, 58, 0.1)) drop-shadow(0px -8px 18px rgba(60, 54, 58, 0.1))'
|
|
352
|
+
};
|
|
353
|
+
(0, _react.useEffect)(function () {
|
|
354
|
+
var timeout;
|
|
355
|
+
if (!firstStop.current && !firstStart.current) return;
|
|
356
|
+
|
|
357
|
+
if (isRecording) {
|
|
358
|
+
if (!firstStop.current) return;
|
|
359
|
+
timeout = setTimeout(function () {
|
|
360
|
+
firstStop.current = false;
|
|
361
|
+
setFirstTimeStop(false);
|
|
362
|
+
}, 2000);
|
|
363
|
+
} else {
|
|
364
|
+
if (!firstStart.current) return;
|
|
365
|
+
timeout = setTimeout(function () {
|
|
366
|
+
firstStart.current = false;
|
|
367
|
+
setFirstTimeStart(false);
|
|
368
|
+
}, 2000);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
return function () {
|
|
372
|
+
return clearTimeout(timeout);
|
|
373
|
+
};
|
|
374
|
+
}, [isRecording]);
|
|
375
|
+
if (!firstStart.current && !firstStop.current) return null;
|
|
376
|
+
|
|
377
|
+
if (isRecording && firstTimeStop) {
|
|
378
|
+
return _react.default.createElement("div", {
|
|
379
|
+
style: stylesDiv
|
|
380
|
+
}, _react.default.createElement(_Layout.Box, {
|
|
381
|
+
position: "relative"
|
|
382
|
+
}, _react.default.createElement("div", {
|
|
383
|
+
style: stylesTriangle
|
|
384
|
+
})), _react.default.createElement(_Typography.Text, {
|
|
385
|
+
color: "black84",
|
|
386
|
+
sizeText: "display12"
|
|
387
|
+
}, textStopRecording));
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
if (!isRecording && firstTimeStart) {
|
|
391
|
+
return _react.default.createElement("div", {
|
|
392
|
+
style: stylesDiv
|
|
393
|
+
}, _react.default.createElement(_Layout.Box, {
|
|
394
|
+
position: "relative"
|
|
395
|
+
}, _react.default.createElement("div", {
|
|
396
|
+
style: stylesTriangle
|
|
397
|
+
})), _react.default.createElement(_Typography.Text, {
|
|
398
|
+
color: "black84",
|
|
399
|
+
sizeText: "display12"
|
|
400
|
+
}, textStartRecording));
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
return null;
|
|
404
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = exports.AddAudio = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _CreateAudio = require("./CreateAudio");
|
|
13
|
+
|
|
14
|
+
var _default = {
|
|
15
|
+
title: 'Organisms/Audios',
|
|
16
|
+
component: _CreateAudio.CreateAudio
|
|
17
|
+
};
|
|
18
|
+
exports.default = _default;
|
|
19
|
+
|
|
20
|
+
var Template = function Template(args) {
|
|
21
|
+
return _react.default.createElement(_CreateAudio.CreateAudio, args);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var AddAudio = Template.bind({});
|
|
25
|
+
exports.AddAudio = AddAudio;
|
|
26
|
+
AddAudio.args = {
|
|
27
|
+
textStopRecording: 'Pulsa para parar la grabación',
|
|
28
|
+
textStartRecording: 'Pulsa para empezar a grabar',
|
|
29
|
+
textMicrophonePermissionDenied: 'Tienes el micrófono deshabilitado, por favor actívalo e inténtelo de nuevo.',
|
|
30
|
+
contentColor: '#aed603',
|
|
31
|
+
audioData: function audioData(data) {
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
@@ -29,6 +29,8 @@ var _PlaceholderLoad = require("../../atoms/PlaceholderLoad");
|
|
|
29
29
|
|
|
30
30
|
var _IconClose = _interopRequireDefault(require("../../atoms/Icons/IconClose"));
|
|
31
31
|
|
|
32
|
+
var _Audio = require("../Audios/Audio");
|
|
33
|
+
|
|
32
34
|
var CardBadges = function CardBadges(_ref) {
|
|
33
35
|
var props = (0, _extends2.default)({}, _ref);
|
|
34
36
|
return _react.default.createElement(_Card.Card, {
|
|
@@ -90,17 +92,17 @@ CardBadges.Body = function (props) {
|
|
|
90
92
|
var text = props.text,
|
|
91
93
|
picture = props.picture,
|
|
92
94
|
countryCode = props.countryCode,
|
|
93
|
-
showCountry = props.showCountry
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
})
|
|
95
|
+
showCountry = props.showCountry,
|
|
96
|
+
audio = props.audio,
|
|
97
|
+
contentColor = props.contentColor;
|
|
98
|
+
return _react.default.createElement(_react.default.Fragment, null, text && !picture && _react.default.createElement(CardText, {
|
|
99
|
+
text: text
|
|
100
|
+
}), picture && _react.default.createElement(CardPicture, {
|
|
101
|
+
picture: picture
|
|
102
|
+
}), audio ? _react.default.createElement(_Audio.CardAudio, {
|
|
103
|
+
contentColor: contentColor,
|
|
104
|
+
audio: audio
|
|
105
|
+
}) : null, showCountry && countryCode && _react.default.createElement(_Layout.Flex, {
|
|
104
106
|
style: {
|
|
105
107
|
flexFlow: 'row-reverse'
|
|
106
108
|
}
|
|
@@ -110,6 +112,25 @@ CardBadges.Body = function (props) {
|
|
|
110
112
|
}, countryCode)));
|
|
111
113
|
};
|
|
112
114
|
|
|
115
|
+
var CardText = function CardText(_ref2) {
|
|
116
|
+
var text = _ref2.text;
|
|
117
|
+
return _react.default.createElement(_Layout.Flex, null, _react.default.createElement(_Typography.Text, {
|
|
118
|
+
sizeText: "display16",
|
|
119
|
+
color: "black"
|
|
120
|
+
}, text || _react.default.createElement(_PlaceholderLoad.PlaceholderLoad, {
|
|
121
|
+
height: "22px"
|
|
122
|
+
})));
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
var CardPicture = function CardPicture(_ref3) {
|
|
126
|
+
var picture = _ref3.picture;
|
|
127
|
+
return _react.default.createElement(_Layout.Flex, null, _react.default.createElement(_Image.Image, {
|
|
128
|
+
height: "176px",
|
|
129
|
+
width: "100%",
|
|
130
|
+
src: picture
|
|
131
|
+
}));
|
|
132
|
+
};
|
|
133
|
+
|
|
113
134
|
CardBadges.Header.propTypes = {
|
|
114
135
|
authorName: _propTypes.default.string.isRequired,
|
|
115
136
|
contentIcon: _propTypes.default.element.isRequired,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lideralia/alife-uikit",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.32",
|
|
4
4
|
"description": "Librería y documentación de componentes, basada en el Design System de Alife.",
|
|
5
5
|
"homepage": "https://github.com/lideralia/alife-frontend-components#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -93,8 +93,10 @@
|
|
|
93
93
|
"react-livechat": "^1.1.1",
|
|
94
94
|
"react-scripts": "4.0.3",
|
|
95
95
|
"react-select": "^4.1.0",
|
|
96
|
+
"recordrtc": "^5.6.2",
|
|
96
97
|
"styled-components": "^5.2.0",
|
|
97
98
|
"styled-system": "^5.1.4",
|
|
99
|
+
"wavesurfer.js": "^6.6.3",
|
|
98
100
|
"web-vitals": "^0.2.4"
|
|
99
101
|
},
|
|
100
102
|
"devDependencies": {
|