oolib 2.69.5 → 2.70.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.
- package/dist/components/AudioInput/comps/AudioAction.d.ts +6 -0
- package/dist/components/AudioInput/comps/AudioAction.js +37 -0
- package/dist/components/AudioInput/comps/AudioPlayer.d.ts +4 -0
- package/dist/components/AudioInput/comps/AudioPlayer.js +34 -0
- package/dist/components/AudioInput/index.d.ts +12 -0
- package/dist/components/AudioInput/index.js +111 -0
- package/dist/components/AudioInput/styled.d.ts +4 -0
- package/dist/components/AudioInput/styled.js +17 -0
- package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/index.d.ts +12 -0
- package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/index.js +67 -0
- package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/styled.d.ts +2 -0
- package/dist/components/Dropdowns/comps/OptionsShell/comps/OptionsAnimateWrapper/styled.js +25 -0
- package/dist/components/Dropdowns/comps/OptionsShell/index.js +14 -12
- package/dist/components/VideoInput/comps/EmbedLinkModal.js +2 -2
- package/dist/components/VideoInput/comps/VideoActionMenu.d.ts +10 -0
- package/dist/components/VideoInput/comps/VideoActionMenu.js +47 -0
- package/dist/components/VideoInput/index.js +20 -77
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -2
- package/dist/utilsOolib/useFakeUploadImpression.d.ts +4 -0
- package/dist/utilsOolib/useFakeUploadImpression.js +94 -0
- package/package.json +1 -1
- /package/dist/components/VideoInput/{styled.index.d.ts → styled.d.ts} +0 -0
- /package/dist/components/VideoInput/{styled.index.js → styled.js} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.AudioAction = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var ActionMenu_1 = require("../../ActionMenu");
|
|
20
|
+
var AudioAction = function (_a) {
|
|
21
|
+
var inputRef = _a.inputRef, parentOnChange = _a.parentOnChange, isInRTE = _a.isInRTE;
|
|
22
|
+
return (react_1.default.createElement("div", { style: __assign({}, (isInRTE ? { display: "none" } : {})) },
|
|
23
|
+
react_1.default.createElement(ActionMenu_1.ActionMenu, { popOutOfOverflowHiddenParent: true, ButtonComp: "ButtonGhost", M: true, actions: [
|
|
24
|
+
{
|
|
25
|
+
id: "reuploadAudio",
|
|
26
|
+
display: "Replace Audio",
|
|
27
|
+
onClick: function () {
|
|
28
|
+
inputRef.current.click();
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
display: "Delete",
|
|
33
|
+
onClick: function () { return parentOnChange(undefined); },
|
|
34
|
+
},
|
|
35
|
+
] })));
|
|
36
|
+
};
|
|
37
|
+
exports.AudioAction = AudioAction;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.AudioPlayer = void 0;
|
|
27
|
+
var react_1 = __importStar(require("react"));
|
|
28
|
+
var styled_1 = require("../styled");
|
|
29
|
+
var AudioPlayer = function (_a) {
|
|
30
|
+
var audioData = _a.audioData;
|
|
31
|
+
return (react_1.default.createElement(react_1.Fragment, null, audioData.map(function (i, d) { return (react_1.default.createElement(styled_1.StyledAudioElement, { key: "".concat(i - d), controls: true, src: d.publicUrl, controlsList: "nodownload noplaybackrate" // to hide controls
|
|
32
|
+
})); })));
|
|
33
|
+
};
|
|
34
|
+
exports.AudioPlayer = AudioPlayer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default AudioInput;
|
|
2
|
+
declare function AudioInput({ id, value, onChange: parentOnChange, readOnly, invert, isInRTE, files, ...props }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
id: any;
|
|
5
|
+
value: any;
|
|
6
|
+
onChange: any;
|
|
7
|
+
readOnly: any;
|
|
8
|
+
invert: any;
|
|
9
|
+
isInRTE: any;
|
|
10
|
+
files: any;
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
import React from "react";
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
37
|
+
var t = {};
|
|
38
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
39
|
+
t[p] = s[p];
|
|
40
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
41
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
42
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
43
|
+
t[p[i]] = s[p[i]];
|
|
44
|
+
}
|
|
45
|
+
return t;
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
var react_1 = __importStar(require("react"));
|
|
49
|
+
var Buttons_1 = require("../Buttons");
|
|
50
|
+
var BlockLabel_1 = require("../BlockLabel");
|
|
51
|
+
var getBlockLabelProps_1 = require("../../utils/getBlockLabelProps");
|
|
52
|
+
var bannerContext_1 = require("../Banners/bannerContext");
|
|
53
|
+
var styled_1 = require("../VideoInput/styled");
|
|
54
|
+
var ProgressBar_1 = require("../LoadersAndProgress/ProgressBar");
|
|
55
|
+
var styled_components_1 = require("styled-components");
|
|
56
|
+
var useFakeUploadImpression_1 = require("../../utilsOolib/useFakeUploadImpression");
|
|
57
|
+
var AudioAction_1 = require("./comps/AudioAction");
|
|
58
|
+
var AudioPlayer_1 = require("./comps/AudioPlayer");
|
|
59
|
+
var styled_js_1 = require("./styled.js");
|
|
60
|
+
function AudioInput(_a) {
|
|
61
|
+
var id = _a.id, value = _a.value, parentOnChange = _a.onChange, readOnly = _a.readOnly, invert = _a.invert, isInRTE = _a.isInRTE, files = _a.files, props = __rest(_a, ["id", "value", "onChange", "readOnly", "invert", "isInRTE", "files"]);
|
|
62
|
+
var audioData = value || [];
|
|
63
|
+
var theme = (0, styled_components_1.useTheme)();
|
|
64
|
+
var _b = (0, react_1.useState)(null), uploadProgress = _b[0], setUploadProgress = _b[1];
|
|
65
|
+
var SET_ALERT_BANNER = (0, bannerContext_1.useBannerContext)().SET_ALERT_BANNER;
|
|
66
|
+
var handleUploadProgess = function (progress) { return setUploadProgress(progress); };
|
|
67
|
+
var inputRef = (0, react_1.useRef)();
|
|
68
|
+
var _c = (theme === null || theme === void 0 ? void 0 : theme.useUploadMedia({
|
|
69
|
+
mediaConfigs: {
|
|
70
|
+
type: "files",
|
|
71
|
+
folderName: "audios",
|
|
72
|
+
mediaType: "audio",
|
|
73
|
+
},
|
|
74
|
+
handleUploadProgess: handleUploadProgess,
|
|
75
|
+
})) || (0, useFakeUploadImpression_1.useFakeUploadImpression)({ handleUploadProgess: handleUploadProgess, fileType: "audio" }), upload = _c.mutate, isLoading = _c.isLoading;
|
|
76
|
+
var handleUpload = function (files) {
|
|
77
|
+
if (!files)
|
|
78
|
+
return;
|
|
79
|
+
if (!upload)
|
|
80
|
+
return;
|
|
81
|
+
upload(files, {
|
|
82
|
+
onSuccess: function (data) {
|
|
83
|
+
parentOnChange(id, [data[0].fileData]);
|
|
84
|
+
},
|
|
85
|
+
onError: function (err) {
|
|
86
|
+
var _a;
|
|
87
|
+
SET_ALERT_BANNER(((_a = err.response) === null || _a === void 0 ? void 0 : _a.data.errors[0].msg) || err.message, "red", 3500);
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
(0, react_1.useEffect)(function () {
|
|
92
|
+
if (files) {
|
|
93
|
+
handleUpload(files);
|
|
94
|
+
}
|
|
95
|
+
}, []);
|
|
96
|
+
return (react_1.default.createElement(react_1.Fragment, null,
|
|
97
|
+
react_1.default.createElement(BlockLabel_1.BlockLabel, __assign({}, (0, getBlockLabelProps_1.getBlockLabelProps)(props))),
|
|
98
|
+
readOnly ? (react_1.default.createElement(AudioPlayer_1.AudioPlayer, { audioData: audioData })) : (audioData === null || audioData === void 0 ? void 0 : audioData.length) === 0 && !isLoading ? (react_1.default.createElement(styled_1.StyledUploadEmbedBlock, { invert: invert },
|
|
99
|
+
react_1.default.createElement(styled_1.StyledInnerWrapper, null,
|
|
100
|
+
react_1.default.createElement(Buttons_1.ButtonSecondary, { onClick: function () { return inputRef.current.click(); }, icon: "UploadSimple", value: "Upload Audio", accept: "audio/*", invert: invert })))) : isLoading ? (react_1.default.createElement(styled_1.StyledUploadEmbedBlock, { invert: invert },
|
|
101
|
+
react_1.default.createElement(styled_1.StyledInnerWrapper, null,
|
|
102
|
+
react_1.default.createElement(ProgressBar_1.ProgressBar, { progress: uploadProgress, text: uploadProgress && uploadProgress !== 100
|
|
103
|
+
? uploadProgress + "%"
|
|
104
|
+
: "Almost Done..." })))) : (audioData && (react_1.default.createElement(styled_js_1.StyledAudioPlayerWrapper, null,
|
|
105
|
+
react_1.default.createElement(AudioPlayer_1.AudioPlayer, { audioData: audioData }),
|
|
106
|
+
react_1.default.createElement(AudioAction_1.AudioAction, __assign({}, __assign(__assign({}, isInRTE), { inputRef: inputRef, parentOnChange: parentOnChange })))))),
|
|
107
|
+
react_1.default.createElement("input", { type: "file" // When user clicks on upload new video from action menu inputRef.current.click() this does not work for upload button. this approch deals with that issue.
|
|
108
|
+
, accept: "audio/*", ref: inputRef, style: { display: "none" }, id: "AudioField", onChange: function (v) { return handleUpload(v.target.files); } })));
|
|
109
|
+
}
|
|
110
|
+
;
|
|
111
|
+
exports.default = AudioInput;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const StyledAudioEmbedPreview: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
2
|
+
export const StyledAudioEmbedPlayed: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
3
|
+
export const StyledAudioElement: import("styled-components").StyledComponent<"audio", any, {}, never>;
|
|
4
|
+
export const StyledAudioPlayerWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.StyledAudioPlayerWrapper = exports.StyledAudioElement = exports.StyledAudioEmbedPlayed = exports.StyledAudioEmbedPreview = void 0;
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var themes_1 = require("../../themes");
|
|
13
|
+
exports.StyledAudioEmbedPreview = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding-top: 2rem;\n"], ["\n padding-top: 2rem;\n"])));
|
|
14
|
+
exports.StyledAudioEmbedPlayed = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding-top: 56.25%;\n position: relative;\n"], ["\n padding-top: 56.25%;\n position: relative;\n"])));
|
|
15
|
+
exports.StyledAudioElement = styled_components_1.default.audio(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n width: 300px;\n height: 40px;\n background-color: ", ";\n &::-webkit-media-controls-enclosure {\n border-radius: 0;\n }\n\n &::-webkit-media-controls-panel {\n background-color: ", ";\n }\n /* -webkit-appearance: none; */\n \n /* Reset webkit border-radius to 0 */\n /* -webkit-border-radius: 0; */\n"], ["\n width: 300px;\n height: 40px;\n background-color: ", ";\n &::-webkit-media-controls-enclosure {\n border-radius: 0;\n }\n\n &::-webkit-media-controls-panel {\n background-color: ", ";\n }\n /* -webkit-appearance: none; */\n \n /* Reset webkit border-radius to 0 */\n /* -webkit-border-radius: 0; */\n"])), themes_1.colors.greyColor10, themes_1.colors.greyColor10);
|
|
16
|
+
exports.StyledAudioPlayerWrapper = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n width: inherit;\n margin: 2rem 0rem;\n"], ["\n display: flex;\n align-items: center;\n width: inherit;\n margin: 2rem 0rem;\n"])));
|
|
17
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function OptionsAnimateWrapper({ options, optionsRef, relativeToRef, showOptions, invert, yOrientation, fixPos, optionsAnchor, children, }: {
|
|
2
|
+
options: any;
|
|
3
|
+
optionsRef: any;
|
|
4
|
+
relativeToRef: any;
|
|
5
|
+
showOptions: any;
|
|
6
|
+
invert: any;
|
|
7
|
+
yOrientation: any;
|
|
8
|
+
fixPos: any;
|
|
9
|
+
optionsAnchor: any;
|
|
10
|
+
children: any;
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
import React from "react";
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.OptionsAnimateWrapper = void 0;
|
|
38
|
+
var react_1 = __importStar(require("react"));
|
|
39
|
+
var styled_1 = require("./styled");
|
|
40
|
+
var OptionsAnimateWrapper = function (_a) {
|
|
41
|
+
var _b;
|
|
42
|
+
var _c;
|
|
43
|
+
var options = _a.options, optionsRef = _a.optionsRef, relativeToRef = _a.relativeToRef, showOptions = _a.showOptions, invert = _a.invert, yOrientation = _a.yOrientation, fixPos = _a.fixPos, optionsAnchor = _a.optionsAnchor, children = _a.children;
|
|
44
|
+
var selectCompRect = (_c = relativeToRef === null || relativeToRef === void 0 ? void 0 : relativeToRef.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect();
|
|
45
|
+
//we need to recalc when ops length change because, in tag comps, when loading a fixed set of 'loading' options are shown
|
|
46
|
+
//before the actual number of options are loaded
|
|
47
|
+
//useMemo wont work cuz it runs before render, and before render ref doesnt exist.
|
|
48
|
+
var _d = (0, react_1.useState)({
|
|
49
|
+
width: undefined,
|
|
50
|
+
openHeight: undefined,
|
|
51
|
+
}), _e = _d[0], width = _e.width, openHeight = _e.openHeight, setWidthAndOpenHeight = _d[1];
|
|
52
|
+
(0, react_1.useEffect)(function () {
|
|
53
|
+
var _a, _b, _c, _d;
|
|
54
|
+
setWidthAndOpenHeight({
|
|
55
|
+
width: (_b = (_a = optionsRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.width,
|
|
56
|
+
openHeight: (_d = (_c = optionsRef.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect()) === null || _d === void 0 ? void 0 : _d.height,
|
|
57
|
+
});
|
|
58
|
+
}, [options.length]);
|
|
59
|
+
return (react_1.default.createElement(styled_1.StyledOptionsAnimateWrapper, { invert: invert, isOpen: showOptions, width: width, openHeight: openHeight, style: __assign({ zIndex: 100000 }, (fixPos
|
|
60
|
+
? __assign({ position: "fixed", top: "".concat(fixPos.y -
|
|
61
|
+
(yOrientation === "top" ? (selectCompRect === null || selectCompRect === void 0 ? void 0 : selectCompRect.height) || 0 : 0), "px"), left: "".concat(fixPos.x, "px") }, (yOrientation === "top"
|
|
62
|
+
? { transform: "translateY(-100%)" }
|
|
63
|
+
: {})) : __assign(__assign({ position: "absolute" }, (optionsAnchor ? (_b = {}, _b[optionsAnchor] = 0, _b) : { left: 0 })), (yOrientation === "bottom"
|
|
64
|
+
? { bottom: 0, transform: "translateY(100%)" }
|
|
65
|
+
: { top: 0, transform: "translateY(-100%)" })))) }, children));
|
|
66
|
+
};
|
|
67
|
+
exports.OptionsAnimateWrapper = OptionsAnimateWrapper;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.StyledOptionsAnimateWrapper = void 0;
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var globalVariables_1 = require("../../../../../../globalStyles/globalVariables");
|
|
13
|
+
var mixins_1 = require("../../../../../../themes/mixins");
|
|
14
|
+
/** for lightbox shell */
|
|
15
|
+
exports.StyledOptionsAnimateWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: ", ";\n /**\n 'else 100%' is very important. \n what this does is, on first render, it allows the optionsWrapper within to take whatever width \n its supposed to i.e max-content / 100% width of select / 36rem.\n Then on the next render (after the ref has already been attached to optionsWrapper), the proper width\n gets calculated and passed to this component.\n\n Without this 100%, this will not work > scenarios where there is enough space for the dropdown to \n stretch to the width of the select OR 36rem. Instead it will always stick to its min-width which is \n max-content\n */\n width: ", ";\n overflow: hidden;\n ", ";\n ", ";\n border-width: ", "; //hack, otherwsie this shit line shows when options are closed\n"], ["\n height: ", ";\n /**\n 'else 100%' is very important. \n what this does is, on first render, it allows the optionsWrapper within to take whatever width \n its supposed to i.e max-content / 100% width of select / 36rem.\n Then on the next render (after the ref has already been attached to optionsWrapper), the proper width\n gets calculated and passed to this component.\n\n Without this 100%, this will not work > scenarios where there is enough space for the dropdown to \n stretch to the width of the select OR 36rem. Instead it will always stick to its min-width which is \n max-content\n */\n width: ", ";\n overflow: hidden;\n ", ";\n ", ";\n border-width: ", "; //hack, otherwsie this shit line shows when options are closed\n"])), function (_a) {
|
|
16
|
+
var isOpen = _a.isOpen, openHeight = _a.openHeight;
|
|
17
|
+
return isOpen ? (openHeight ? openHeight + 'px' : 'auto') : 0;
|
|
18
|
+
}, function (_a) {
|
|
19
|
+
var width = _a.width;
|
|
20
|
+
return width ? width + 'px' : '100%';
|
|
21
|
+
}, (0, mixins_1.transition)('height', 'border-width'), globalVariables_1.globalLightboxStyle, function (_a) {
|
|
22
|
+
var isOpen = _a.isOpen;
|
|
23
|
+
return isOpen ? '1px' : 0;
|
|
24
|
+
});
|
|
25
|
+
var templateObject_1;
|
|
@@ -44,13 +44,12 @@ var usePopOutOfOverflowHiddenParent_1 = require("../../../../utils/usePopOutOfOv
|
|
|
44
44
|
var Buttons_1 = require("../../../Buttons");
|
|
45
45
|
var ModalLarge_1 = require("../../../Modals/ModalLarge");
|
|
46
46
|
var styled_1 = require("./styled");
|
|
47
|
+
var OptionsAnimateWrapper_1 = require("./comps/OptionsAnimateWrapper");
|
|
47
48
|
exports.OptionsShell = react_1.default.forwardRef(function (_a, ref) {
|
|
48
|
-
var _b;
|
|
49
|
-
var _c, _d, _e, _f, _g;
|
|
50
|
-
var yOrientation = _a.yOrientation, lightboxHeight = _a.lightboxHeight, lightboxStyle = _a.lightboxStyle, options = _a.options, optionsAnchor = _a.optionsAnchor, showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, children = _a.children, SelectComp = _a.SelectComp, label = _a.label, optionsModalLabel = _a.optionsModalLabel, invert = _a.invert, showDoneButton = _a.showDoneButton, _h = _a.popOutOfOverflowHiddenParent, popOutOfOverflowHiddenParent = _h === void 0 ? false : _h, relativeToRef = _a.relativeToRef, S = _a.S;
|
|
49
|
+
var yOrientation = _a.yOrientation, lightboxHeight = _a.lightboxHeight, lightboxStyle = _a.lightboxStyle, options = _a.options, optionsAnchor = _a.optionsAnchor, showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, children = _a.children, SelectComp = _a.SelectComp, label = _a.label, optionsModalLabel = _a.optionsModalLabel, invert = _a.invert, showDoneButton = _a.showDoneButton, _b = _a.popOutOfOverflowHiddenParent, popOutOfOverflowHiddenParent = _b === void 0 ? false : _b, relativeToRef = _a.relativeToRef, S = _a.S;
|
|
51
50
|
var screenWidth = (0, useScreenWidth_1.useScreenWidth)();
|
|
52
51
|
var isDesktop = screenWidth >= (0, mixins_1.getBreakPoint)("sm");
|
|
53
|
-
var
|
|
52
|
+
var _c = (0, usePopOutOfOverflowHiddenParent_1.usePopOutOfOverflowHiddenParent)(popOutOfOverflowHiddenParent), fixPos = _c.fixPos, applyFixedPos = _c.applyFixedPos, removeFixedPos = _c.removeFixedPos, trackerRef = _c.trackerRef;
|
|
54
53
|
(0, react_1.useEffect)(function () {
|
|
55
54
|
if (popOutOfOverflowHiddenParent) {
|
|
56
55
|
if (showOptions)
|
|
@@ -59,16 +58,19 @@ exports.OptionsShell = react_1.default.forwardRef(function (_a, ref) {
|
|
|
59
58
|
removeFixedPos();
|
|
60
59
|
}
|
|
61
60
|
}, [showOptions]);
|
|
62
|
-
var selectCompRect = (_c = relativeToRef === null || relativeToRef === void 0 ? void 0 : relativeToRef.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect();
|
|
63
61
|
return isDesktop ? (react_1.default.createElement(react_1.Fragment, null,
|
|
64
62
|
popOutOfOverflowHiddenParent && react_1.default.createElement("div", { ref: trackerRef }),
|
|
65
|
-
react_1.default.createElement(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
react_1.default.createElement(OptionsAnimateWrapper_1.OptionsAnimateWrapper, __assign({}, {
|
|
64
|
+
options: options,
|
|
65
|
+
optionsRef: ref,
|
|
66
|
+
relativeToRef: relativeToRef,
|
|
67
|
+
showOptions: showOptions,
|
|
68
|
+
invert: invert,
|
|
69
|
+
yOrientation: yOrientation,
|
|
70
|
+
fixPos: fixPos,
|
|
71
|
+
optionsAnchor: optionsAnchor,
|
|
72
|
+
children: children,
|
|
73
|
+
}),
|
|
72
74
|
react_1.default.createElement(styled_1.StyledOptionsWrapper, { id: "StyledOptionsWrapper", ref: ref, invert: invert, lightboxHeight: lightboxHeight,
|
|
73
75
|
// className={className}
|
|
74
76
|
style: __assign(__assign({}, (lightboxStyle || {})), { position: "absolute", bottom: yOrientation === "top" ? undefined : 0, top: yOrientation === "top" ? 0 : undefined }) }, children)))) : (react_1.default.createElement(framer_motion_1.AnimatePresence, null, showOptions ? (react_1.default.createElement(ModalLarge_1.ModalLarge, { fitToContentHeight: true, title: optionsModalLabel || label, onClose: handleHideOptions, invert: invert, S: S },
|
|
@@ -29,7 +29,7 @@ var ModalSmall_1 = require("../../Modals/ModalSmall");
|
|
|
29
29
|
var TextInputs_1 = require("../../TextInputs");
|
|
30
30
|
var Paddings_1 = require("../../Paddings");
|
|
31
31
|
var Buttons_1 = require("../../Buttons");
|
|
32
|
-
var
|
|
32
|
+
var styled_1 = require("../styled");
|
|
33
33
|
var EmbedLinkModal = function (_a) {
|
|
34
34
|
var _b;
|
|
35
35
|
var id = _a.id, setShowEmbedLinkModal = _a.setShowEmbedLinkModal, value = _a.value, createVideoPreview = _a.createVideoPreview, canPlay = _a.canPlay, onChange = _a.onChange, invert = _a.invert;
|
|
@@ -42,7 +42,7 @@ var EmbedLinkModal = function (_a) {
|
|
|
42
42
|
react_1.default.createElement(TextInputs_1.TextInput, { icon: "LinkSimple", onChange: function (k, v) { return setLocalValue(v ? [{ publicUrl: v }] : undefined); }, value: localValue && ((_b = localValue[0]) === null || _b === void 0 ? void 0 : _b.publicUrl), placeholder: "Paste a url here", clearBtn: { icon: 'X' } }),
|
|
43
43
|
localValue && react_1.default.createElement(Paddings_1.PaddingBottom20, null),
|
|
44
44
|
createVideoPreview({ value: localValue }),
|
|
45
|
-
react_1.default.createElement(
|
|
45
|
+
react_1.default.createElement(styled_1.StyledModalActionButtons, null,
|
|
46
46
|
react_1.default.createElement(Buttons_1.ButtonPrimary, { value: "Embed", disabled: !canPlay(localValue) || !localValue,
|
|
47
47
|
// invert={invert}
|
|
48
48
|
onClick: function () {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function VideoActionMenu({ isInRTE, value, inputRef, setShowEmbedLinkModal, onChange, isUploadedVideo, invert }: {
|
|
2
|
+
isInRTE: any;
|
|
3
|
+
value: any;
|
|
4
|
+
inputRef: any;
|
|
5
|
+
setShowEmbedLinkModal: any;
|
|
6
|
+
onChange: any;
|
|
7
|
+
isUploadedVideo: any;
|
|
8
|
+
invert: any;
|
|
9
|
+
}): React.JSX.Element;
|
|
10
|
+
import React from "react";
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.VideoActionMenu = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var styled_1 = require("../styled");
|
|
20
|
+
var ActionMenu_1 = require("../../ActionMenu");
|
|
21
|
+
var VideoActionMenu = function (_a) {
|
|
22
|
+
var isInRTE = _a.isInRTE, value = _a.value, inputRef = _a.inputRef, setShowEmbedLinkModal = _a.setShowEmbedLinkModal, onChange = _a.onChange, isUploadedVideo = _a.isUploadedVideo, invert = _a.invert;
|
|
23
|
+
return (react_1.default.createElement(styled_1.StyledActionButtonWrapper, null,
|
|
24
|
+
react_1.default.createElement("div", { style: __assign({}, (isInRTE ? { display: "none" } : {})) },
|
|
25
|
+
react_1.default.createElement(ActionMenu_1.ActionMenu, { popOutOfOverflowHiddenParent: true, ButtonComp: "ButtonPrimary", iconSize: "M", invert: invert, actions: [
|
|
26
|
+
isUploadedVideo(value) // Only allow user to replace URL when embed method is URL
|
|
27
|
+
? {
|
|
28
|
+
id: "uploadNewVideo",
|
|
29
|
+
display: "Upload New Video",
|
|
30
|
+
onClick: function () {
|
|
31
|
+
inputRef.current.click(); // Trigger file explorer popup
|
|
32
|
+
},
|
|
33
|
+
}
|
|
34
|
+
: {
|
|
35
|
+
id: "replaceUrl",
|
|
36
|
+
display: "Replace URL",
|
|
37
|
+
onClick: function (e) {
|
|
38
|
+
setShowEmbedLinkModal(true);
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
display: "Delete",
|
|
43
|
+
onClick: function () { return onChange(undefined); },
|
|
44
|
+
},
|
|
45
|
+
] }))));
|
|
46
|
+
};
|
|
47
|
+
exports.VideoActionMenu = VideoActionMenu;
|
|
@@ -41,16 +41,16 @@ var react_1 = __importStar(require("react"));
|
|
|
41
41
|
var styled_components_1 = require("styled-components");
|
|
42
42
|
var react_player_1 = __importDefault(require("react-player"));
|
|
43
43
|
var BlockLabel_1 = require("../BlockLabel");
|
|
44
|
-
var
|
|
44
|
+
var styled_1 = require("./styled");
|
|
45
45
|
var LoadersAndProgress_1 = require("../LoadersAndProgress");
|
|
46
46
|
var Buttons_1 = require("../Buttons");
|
|
47
47
|
var Typo_1 = require("../Typo");
|
|
48
48
|
var EmbedLinkModal_1 = require("./comps/EmbedLinkModal");
|
|
49
|
-
var ActionMenu_1 = require("../ActionMenu");
|
|
50
49
|
var themes_1 = require("../../themes");
|
|
51
|
-
var
|
|
50
|
+
var useFakeUploadImpression_1 = require("../../utilsOolib/useFakeUploadImpression");
|
|
52
51
|
var bannerContext_1 = require("../Banners/bannerContext");
|
|
53
|
-
var
|
|
52
|
+
var VideoActionMenu_1 = require("./comps/VideoActionMenu");
|
|
53
|
+
function VideoInput(_a) {
|
|
54
54
|
var id = _a.id, label = _a.label, sublabel = _a.sublabel, isRequired = _a.isRequired, _value = _a.value, onChange = _a.onChange, readOnly = _a.readOnly, lightPlayer = _a.light, _b = _a.enableVideoUpload, enableVideoUpload = _b === void 0 ? false : _b, isInRTE = _a.isInRTE, invert = _a.invert, files = _a.files, // //used by RTEVideoInput
|
|
55
55
|
width = _a.width, height = _a.height;
|
|
56
56
|
//backwards compatibility
|
|
@@ -65,27 +65,15 @@ var VideoInput = function (_a) {
|
|
|
65
65
|
var inputRef = (0, react_1.useRef)();
|
|
66
66
|
var handleUploadProgess = function (progress) { return setUploadProgress(progress); };
|
|
67
67
|
var isUploadedVideo = function (value) { return value && Object.keys(value === null || value === void 0 ? void 0 : value[0]).length > 1; };
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
handleUploadProgess: handleUploadProgess,
|
|
78
|
-
});
|
|
79
|
-
if (uploadMediaContext) {
|
|
80
|
-
upload = uploadMediaContext.mutate;
|
|
81
|
-
isLoading = uploadMediaContext.isLoading;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
var fakeUploadMedia = (0, useFakeUploadMedia_1.useFakeUploadMedia)({ handleUploadProgess: handleUploadProgess });
|
|
86
|
-
upload = fakeUploadMedia.mutate;
|
|
87
|
-
isLoading = fakeUploadMedia.isLoading;
|
|
88
|
-
}
|
|
68
|
+
var _e = (theme === null || theme === void 0 ? void 0 : theme.useUploadMedia({
|
|
69
|
+
mediaConfigs: {
|
|
70
|
+
type: "files",
|
|
71
|
+
folderName: "videos",
|
|
72
|
+
mediaType: "video",
|
|
73
|
+
},
|
|
74
|
+
handleUploadProgess: handleUploadProgess,
|
|
75
|
+
})) ||
|
|
76
|
+
(0, useFakeUploadImpression_1.useFakeUploadImpression)({ handleUploadProgess: handleUploadProgess, fileType: "video" }), upload = _e.mutate, isLoading = _e.isLoading;
|
|
89
77
|
var handleUpload = function (files) {
|
|
90
78
|
// onChange(id, undefined) //so that the prev video is cleared and loader shows up
|
|
91
79
|
if (!files)
|
|
@@ -107,29 +95,6 @@ var VideoInput = function (_a) {
|
|
|
107
95
|
handleUpload(files);
|
|
108
96
|
}
|
|
109
97
|
}, []);
|
|
110
|
-
var genVideoActionMenu = function () { return (react_1.default.createElement(styled_index_1.StyledActionButtonWrapper, null,
|
|
111
|
-
react_1.default.createElement("div", { style: __assign({}, (isInRTE ? { display: "none" } : {})) },
|
|
112
|
-
react_1.default.createElement(ActionMenu_1.ActionMenu, { popOutOfOverflowHiddenParent: true, ButtonComp: "ButtonPrimary", iconSize: "M", invert: invert, actions: [
|
|
113
|
-
isUploadedVideo(value) // Only allow user to replace URL when embed method is URL
|
|
114
|
-
? {
|
|
115
|
-
id: "uploadNewVideo",
|
|
116
|
-
display: "Upload New Video",
|
|
117
|
-
onClick: function () {
|
|
118
|
-
inputRef.current.click(); // Trigger file explorer popup
|
|
119
|
-
},
|
|
120
|
-
}
|
|
121
|
-
: {
|
|
122
|
-
id: "replaceUrl",
|
|
123
|
-
display: "Replace URL",
|
|
124
|
-
onClick: function (e) {
|
|
125
|
-
setShowEmbedLinkModal(true);
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
display: "Delete",
|
|
130
|
-
onClick: function () { return onChange(undefined); },
|
|
131
|
-
},
|
|
132
|
-
] })))); };
|
|
133
98
|
var createVideoPreview = function (_a) {
|
|
134
99
|
var _b;
|
|
135
100
|
var value = _a.value, _c = _a.actionMenuButton, actionMenuButton = _c === void 0 ? false : _c;
|
|
@@ -149,20 +114,20 @@ var VideoInput = function (_a) {
|
|
|
149
114
|
"https://www.youtube.com/watch?v=" +
|
|
150
115
|
url.split("&list=")[0].match(regex)[1];
|
|
151
116
|
}
|
|
152
|
-
return (react_1.default.createElement(
|
|
153
|
-
actionMenuButton &&
|
|
117
|
+
return (react_1.default.createElement(styled_1.StyledVideoEmbedPreviewSection, { style: { height: height } },
|
|
118
|
+
actionMenuButton && react_1.default.createElement(VideoActionMenu_1.VideoActionMenu, __assign({}, __assign(__assign({}, isInRTE), { value: value, inputRef: inputRef, setShowEmbedLinkModal: setShowEmbedLinkModal, onChange: onChange, isUploadedVideo: isUploadedVideo, invert: invert }))),
|
|
154
119
|
react_1.default.createElement(react_player_1.default, { id: "outVideo", url: url, controls: true, width: width || "100%", height: height, light: lightPlayer, style: { overflow: "hidden" } })));
|
|
155
120
|
}
|
|
156
121
|
};
|
|
157
122
|
return (react_1.default.createElement(react_1.Fragment, null,
|
|
158
123
|
react_1.default.createElement(BlockLabel_1.BlockLabel, { label: label, sublabel: sublabel, isRequired: isRequired, readOnly: readOnly, invert: invert }),
|
|
159
124
|
readOnly ? (createVideoPreview({ value: value })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
160
|
-
|
|
161
|
-
react_1.default.createElement(
|
|
125
|
+
isLoading ? (react_1.default.createElement(styled_1.StyledUploadEmbedBlock, { invert: invert },
|
|
126
|
+
react_1.default.createElement(styled_1.StyledInnerWrapper, null,
|
|
162
127
|
react_1.default.createElement(LoadersAndProgress_1.ProgressBar, { progress: uploadProgress, text: uploadProgress && uploadProgress !== 100
|
|
163
128
|
? uploadProgress + "%"
|
|
164
|
-
: "Almost Done..." })))) : value ? (createVideoPreview({ value: value, actionMenuButton: true })) : (react_1.default.createElement(
|
|
165
|
-
react_1.default.createElement(
|
|
129
|
+
: "Almost Done..." })))) : value ? (createVideoPreview({ value: value, actionMenuButton: true })) : (react_1.default.createElement(styled_1.StyledUploadEmbedBlock, { invert: invert },
|
|
130
|
+
react_1.default.createElement(styled_1.StyledInnerWrapper, null,
|
|
166
131
|
react_1.default.createElement(Buttons_1.ButtonSecondary, { value: "Add Video link", icon: "Plus", onClick: function () { return setShowEmbedLinkModal(true); }, invert: invert }),
|
|
167
132
|
enableVideoUpload && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
168
133
|
react_1.default.createElement(Typo_1.SANS_2, { semibold: true, color: invert ? themes_1.colors.white_opacity60 : themes_1.colors.greyColor80 }, "OR"),
|
|
@@ -178,27 +143,5 @@ var VideoInput = function (_a) {
|
|
|
178
143
|
}))))),
|
|
179
144
|
react_1.default.createElement("input", { type: "file" // When user clicks on upload new video from action menu inputRef.current.click() this does not work for upload button. this approch deals with that issue.
|
|
180
145
|
, accept: "video/*", ref: inputRef, style: { display: "none" }, id: "videoField", onChange: function (v) { return handleUpload(v.target.files); } })));
|
|
181
|
-
};
|
|
182
|
-
exports.default = VideoInput;
|
|
183
|
-
function uploadVideoToLocalStorage(videoFile) {
|
|
184
|
-
console.log({ videoFile: videoFile });
|
|
185
|
-
// if (!videoFile) return
|
|
186
|
-
// // Check if the selected file is a Blob
|
|
187
|
-
// if (!(videoFile[0] instanceof Blob)) {
|
|
188
|
-
// console.error('Invalid file type. Please select a video file.');
|
|
189
|
-
// return;
|
|
190
|
-
// }
|
|
191
|
-
// // Create a new FileReader instance
|
|
192
|
-
// const reader = new FileReader();
|
|
193
|
-
// // When the FileReader finishes loading the video file
|
|
194
|
-
// reader.onloadend = () => {
|
|
195
|
-
// // Retrieve the base64-encoded video data
|
|
196
|
-
// const base64Data = reader.result;
|
|
197
|
-
// // Save the video data to local storage
|
|
198
|
-
// localStorage.setItem('uploadedVideo', base64Data);
|
|
199
|
-
// // Display a success message or perform any desired actions
|
|
200
|
-
// console.log('Video uploaded to local storage successfully.');
|
|
201
|
-
// };
|
|
202
|
-
// // Read the video file as a data URL
|
|
203
|
-
// reader.readAsDataURL(videoFile);
|
|
204
146
|
}
|
|
147
|
+
exports.default = VideoInput;
|
package/dist/index.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export { default as MetaBlock } from "./components/MetaBlock";
|
|
|
56
56
|
export { ImageInput } from "./components/ImageInput";
|
|
57
57
|
export { ProfileImageInput } from "./components/ImageInput/derivedComps/ProfileImageInput";
|
|
58
58
|
export { default as VideoInput } from "./components/VideoInput";
|
|
59
|
+
export { default as AudioInput } from "./components/AudioInput";
|
|
59
60
|
export { SimpleTable } from "./components/SimpleTable";
|
|
60
61
|
export { LoaderCircle, ProgressBar, LoaderCircle as Loader, LoaderOverlay } from "./components/LoadersAndProgress";
|
|
61
62
|
export { BannerAlert, BannerInfo } from "./components/Banners";
|
package/dist/index.js
CHANGED
|
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
21
|
-
exports.SimpleTable = exports.BannerProvider = void 0;
|
|
20
|
+
exports.BannerContext = exports.BannerInfo = exports.BannerAlert = exports.AudioInput = exports.VideoInput = exports.ProfileImageInput = exports.ImageInput = exports.MetaBlock = exports.HintsProvider = exports.genTagComp = exports.generateOptions = exports.OptionsSingle = exports.DropdownMulti = exports.DropdownSingle = exports.parseCardConfig = exports.ListProfile = exports.CardProfile = exports.CardEmbed = exports.ListContent = exports.CardContent = exports.DateTimeRangePicker = exports.DateTimePicker = exports.TimeRangePicker = exports.TimePicker = exports.DateRangePicker = exports.DatePicker = exports.TextLoader = exports.BarChart = exports.PageScrollIndicator = exports.HomeCover = exports.EmptyStates = exports.ModalSmall = exports.ModalLarge = exports.ModalConfirm = exports.SkeletonLoader = exports.Divider = exports.PercentCompletedPie = exports.Accordion = exports.ActionMenu = exports.Tooltip = exports.OKELink = exports.UserRoleBadge = exports.Section = exports.LoaderOverlay = exports.Loader = exports.ProgressBar = exports.LoaderCircle = exports.icons = exports.colors = exports.GlobalStyles = void 0;
|
|
21
|
+
exports.SimpleTable = exports.BannerProvider = exports.useBannerContext = void 0;
|
|
22
22
|
//css and styling related ( styled-components )
|
|
23
23
|
var globalStyles_1 = require("./globalStyles");
|
|
24
24
|
Object.defineProperty(exports, "GlobalStyles", { enumerable: true, get: function () { return globalStyles_1.GlobalStyles; } });
|
|
@@ -140,6 +140,8 @@ var ProfileImageInput_1 = require("./components/ImageInput/derivedComps/ProfileI
|
|
|
140
140
|
Object.defineProperty(exports, "ProfileImageInput", { enumerable: true, get: function () { return ProfileImageInput_1.ProfileImageInput; } });
|
|
141
141
|
var VideoInput_1 = require("./components/VideoInput");
|
|
142
142
|
Object.defineProperty(exports, "VideoInput", { enumerable: true, get: function () { return __importDefault(VideoInput_1).default; } });
|
|
143
|
+
var AudioInput_1 = require("./components/AudioInput");
|
|
144
|
+
Object.defineProperty(exports, "AudioInput", { enumerable: true, get: function () { return __importDefault(AudioInput_1).default; } });
|
|
143
145
|
//banners
|
|
144
146
|
var Banners_1 = require("./components/Banners");
|
|
145
147
|
Object.defineProperty(exports, "BannerAlert", { enumerable: true, get: function () { return Banners_1.BannerAlert; } });
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFakeUploadImpression = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var data = {
|
|
6
|
+
audio: [{
|
|
7
|
+
fileData: {
|
|
8
|
+
"kind": "storage#object",
|
|
9
|
+
"id": "cata_dev__media/audios/sampleaudio3_d9022d06-c304-4fbb-ade6-7d0784704768.wav/1694442705602562",
|
|
10
|
+
"selfLink": "https://www.googleapis.com/storage/v1/b/cata_dev__media/o/audios%2Fsampleaudio3_d9022d06-c304-4fbb-ade6-7d0784704768.wav",
|
|
11
|
+
"mediaLink": "https://storage.googleapis.com/download/storage/v1/b/cata_dev__media/o/audios%2Fsampleaudio3_d9022d06-c304-4fbb-ade6-7d0784704768.wav?generation=1694442705602562&alt=media",
|
|
12
|
+
"name": "audios/sampleaudio3_d9022d06-c304-4fbb-ade6-7d0784704768.wav",
|
|
13
|
+
"bucket": "cata_dev__media",
|
|
14
|
+
"generation": "1694442705602562",
|
|
15
|
+
"metageneration": "1",
|
|
16
|
+
"contentType": "audio/wav",
|
|
17
|
+
"storageClass": "STANDARD",
|
|
18
|
+
"size": 10544134,
|
|
19
|
+
"md5Hash": "G4cmpod1v6ysmkrndou8kQ==",
|
|
20
|
+
"crc32c": "SAkgWg==",
|
|
21
|
+
"etag": "CIKQvfziooEDEAE=",
|
|
22
|
+
"timeCreated": "2023-09-11T14:31:45.605Z",
|
|
23
|
+
"updated": "2023-09-11T14:31:45.605Z",
|
|
24
|
+
"timeStorageClassUpdated": "2023-09-11T14:31:45.605Z",
|
|
25
|
+
"originalFilename": "sampleaudio3.wav",
|
|
26
|
+
"mediaHost": "gcs",
|
|
27
|
+
"publicUrl": "https://storage.googleapis.com/cata_dev__media/audios/sampleaudio3_d9022d06-c304-4fbb-ade6-7d0784704768.wav"
|
|
28
|
+
},
|
|
29
|
+
"status": "success"
|
|
30
|
+
}],
|
|
31
|
+
video: [{
|
|
32
|
+
fileData: {
|
|
33
|
+
"kind": "storage#object",
|
|
34
|
+
"id": "cata_dev__media/videos/file_example_mp4_1920_18mg_1dded13e-9090-4477-b00e-78591823fd41.mp4/1694442756300353",
|
|
35
|
+
"selfLink": "https://www.googleapis.com/storage/v1/b/cata_dev__media/o/videos%2Ffile_example_mp4_1920_18mg_1dded13e-9090-4477-b00e-78591823fd41.mp4",
|
|
36
|
+
"mediaLink": "https://storage.googleapis.com/download/storage/v1/b/cata_dev__media/o/videos%2Ffile_example_mp4_1920_18mg_1dded13e-9090-4477-b00e-78591823fd41.mp4?generation=1694442756300353&alt=media",
|
|
37
|
+
"name": "videos/file_example_mp4_1920_18mg_1dded13e-9090-4477-b00e-78591823fd41.mp4",
|
|
38
|
+
"bucket": "cata_dev__media",
|
|
39
|
+
"generation": "1694442756300353",
|
|
40
|
+
"metageneration": "1",
|
|
41
|
+
"contentType": "video/mp4",
|
|
42
|
+
"storageClass": "STANDARD",
|
|
43
|
+
"size": 17839845,
|
|
44
|
+
"md5Hash": "16PezbYoDrDvOgWaw16g7g==",
|
|
45
|
+
"crc32c": "xo062A==",
|
|
46
|
+
"etag": "CMG805TjooEDEAE=",
|
|
47
|
+
"timeCreated": "2023-09-11T14:32:36.302Z",
|
|
48
|
+
"updated": "2023-09-11T14:32:36.302Z",
|
|
49
|
+
"timeStorageClassUpdated": "2023-09-11T14:32:36.302Z",
|
|
50
|
+
"originalFilename": "file_example_MP4_1920_18MG.mp4",
|
|
51
|
+
"mediaHost": "gcs",
|
|
52
|
+
"publicUrl": "https://storage.googleapis.com/cata_dev__media/videos/file_example_mp4_1920_18mg_1dded13e-9090-4477-b00e-78591823fd41.mp4"
|
|
53
|
+
}
|
|
54
|
+
}]
|
|
55
|
+
};
|
|
56
|
+
var useFakeUploadImpression = function (options) {
|
|
57
|
+
if (options === void 0) { options = {}; }
|
|
58
|
+
var handleUploadProgess = options.handleUploadProgess, fileType = options.fileType;
|
|
59
|
+
var _a = (0, react_1.useState)(false), isLoading = _a[0], setIsLoading = _a[1];
|
|
60
|
+
var simulateUploadProgress = function () {
|
|
61
|
+
var progress = 0;
|
|
62
|
+
var interval = setInterval(function () {
|
|
63
|
+
if (progress < 100) {
|
|
64
|
+
var increment = Math.floor(Math.random() * (101 - progress)); // Randomly increment up to remaining progress
|
|
65
|
+
progress = Math.min(progress + increment, 100);
|
|
66
|
+
handleUploadProgess && handleUploadProgess(progress);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
clearInterval(interval);
|
|
70
|
+
setIsLoading(false);
|
|
71
|
+
}
|
|
72
|
+
}, 500); //interval duration as needed
|
|
73
|
+
return interval;
|
|
74
|
+
};
|
|
75
|
+
var mutate = function (files, callbacks) {
|
|
76
|
+
if (callbacks === void 0) { callbacks = {}; }
|
|
77
|
+
var fileTypeData = data[fileType] && data[fileType][0];
|
|
78
|
+
if (fileTypeData) {
|
|
79
|
+
files = [{ fileData: fileTypeData.fileData, status: "success" }];
|
|
80
|
+
}
|
|
81
|
+
var onSuccess = callbacks.onSuccess;
|
|
82
|
+
setIsLoading(true);
|
|
83
|
+
// Simulate upload progress with setInterval
|
|
84
|
+
var uploadInterval = simulateUploadProgress();
|
|
85
|
+
// Simulate a successful upload after a delay (you can modify this as needed)
|
|
86
|
+
setTimeout(function () {
|
|
87
|
+
clearInterval(uploadInterval);
|
|
88
|
+
setIsLoading(false);
|
|
89
|
+
onSuccess(files);
|
|
90
|
+
}, 3000); // Adjust the delay duration as needed
|
|
91
|
+
};
|
|
92
|
+
return { mutate: mutate, isLoading: isLoading };
|
|
93
|
+
};
|
|
94
|
+
exports.useFakeUploadImpression = useFakeUploadImpression;
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|