oolib 2.88.2 → 2.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,13 @@ export namespace UIContent {
4
4
  const onlyFirstFileConsiderErrMsg: string;
5
5
  const corruptUrlErrMsg: string;
6
6
  }
7
+ namespace VideoInput {
8
+ const uploadError: string;
9
+ }
10
+ namespace Pdf {
11
+ const uploadError_1: string;
12
+ export { uploadError_1 as uploadError };
13
+ }
7
14
  namespace SimpleTable {
8
15
  const _delete: string;
9
16
  export { _delete as delete };
@@ -7,6 +7,12 @@ exports.UIContent = {
7
7
  onlyFirstFileConsiderErrMsg: "This is a single image input. Only first file will be considered",
8
8
  corruptUrlErrMsg: "Image URL seems to be corrupt. Cannot render it"
9
9
  },
10
+ VideoInput: {
11
+ uploadError: "Unable to upload file"
12
+ },
13
+ Pdf: {
14
+ uploadError: "Unable to upload file"
15
+ },
10
16
  SimpleTable: {
11
17
  delete: 'Delete',
12
18
  duplicate: 'Duplicate',
@@ -1,4 +1,20 @@
1
+ export function UploadShell({ isLoading, children, disabled, enableFilesDrop, setDragOverActive: parentSetDragOverActive, handleUpload, onChange, value, id, multiple, mediaType, height, width }: {
2
+ isLoading: any;
3
+ children: any;
4
+ disabled: any;
5
+ enableFilesDrop?: boolean;
6
+ setDragOverActive: any;
7
+ handleUpload: any;
8
+ onChange: any;
9
+ value: any;
10
+ id: any;
11
+ multiple: any;
12
+ mediaType: any;
13
+ height: any;
14
+ width: any;
15
+ }): React.JSX.Element;
1
16
  export default ImageUploadShell;
17
+ import React from "react";
2
18
  declare function ImageUploadShell({ style, isLoading, children, disabled, enableFilesDrop, setDragOverActive }: {
3
19
  style: any;
4
20
  isLoading: any;
@@ -7,4 +23,3 @@ declare function ImageUploadShell({ style, isLoading, children, disabled, enable
7
23
  enableFilesDrop: any;
8
24
  setDragOverActive: any;
9
25
  }): React.JSX.Element;
10
- import React from "react";
@@ -43,10 +43,72 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
43
43
  return to.concat(ar || Array.prototype.slice.call(from));
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.UploadShell = void 0;
46
47
  var react_1 = __importStar(require("react"));
47
48
  var ImageInputContext_1 = require("../../ImageInputContext");
48
49
  var bannerContext_1 = require("../../../Banners/bannerContext");
49
50
  var UIContent_1 = require("../../../../UIContent");
51
+ var mediaFormat = {
52
+ image: 'image/*',
53
+ video: 'video/*',
54
+ pdf: 'application/pdf'
55
+ };
56
+ var mediaErrorMessage = {
57
+ image: UIContent_1.UIContent.ImageInput.onlyFirstFileConsiderErrMsg,
58
+ video: UIContent_1.UIContent.VideoInput.uploadError,
59
+ pdf: UIContent_1.UIContent.Pdf.uploadError
60
+ };
61
+ var UploadShell = function (_a) {
62
+ var isLoading = _a.isLoading, children = _a.children, disabled = _a.disabled, _b = _a.enableFilesDrop, enableFilesDrop = _b === void 0 ? true : _b, parentSetDragOverActive = _a.setDragOverActive, handleUpload = _a.handleUpload, onChange = _a.onChange, value = _a.value, id = _a.id, multiple = _a.multiple, mediaType = _a.mediaType, height = _a.height, width = _a.width;
63
+ var SET_ALERT_BANNER = (0, bannerContext_1.useBannerContext)().SET_ALERT_BANNER;
64
+ var inputRef = (0, react_1.useRef)(null);
65
+ if (disabled)
66
+ return react_1.default.createElement("div", { style: { width: '100%', height: '100%' } }, children);
67
+ var fireHandleUpload = function (files) {
68
+ handleUpload({
69
+ files: files,
70
+ callback: function (_a) {
71
+ var successfulUploads = _a.successfulUploads;
72
+ onChange(id, multiple
73
+ ? __spreadArray(__spreadArray([], successfulUploads, true), (value || []), true) : successfulUploads);
74
+ }
75
+ });
76
+ };
77
+ return (react_1.default.createElement(react_1.default.Fragment, null,
78
+ react_1.default.createElement("input", { type: "file", accept: mediaFormat[mediaType], style: { display: 'none' }, ref: inputRef, onChange: function (e) { return fireHandleUpload(e.target.files); }, multiple: multiple }),
79
+ react_1.default.createElement("div", __assign({}, (isLoading
80
+ ? {}
81
+ : {
82
+ onDragEnter: function (e) {
83
+ e.preventDefault();
84
+ parentSetDragOverActive(true);
85
+ },
86
+ onDragLeave: function (e) {
87
+ e.preventDefault();
88
+ parentSetDragOverActive(false);
89
+ },
90
+ onDragOver: enableFilesDrop
91
+ ? function (e) { return e.preventDefault(); }
92
+ : function () { },
93
+ onDrop: enableFilesDrop
94
+ ? function (e) {
95
+ var _a, _b;
96
+ e.preventDefault();
97
+ e.stopPropagation();
98
+ if ((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files) {
99
+ if (!multiple && ((_b = e.dataTransfer) === null || _b === void 0 ? void 0 : _b.files.length) > 1) { //then set alert saying only first image will be attempted to upload
100
+ SET_ALERT_BANNER(mediaErrorMessage[mediaType], 'red', 3000);
101
+ }
102
+ var filesToUpload = multiple
103
+ ? Array.from(e.dataTransfer.files)
104
+ : [Array.from(e.dataTransfer.files)[0]];
105
+ fireHandleUpload(filesToUpload);
106
+ }
107
+ }
108
+ : function () { }
109
+ }), { onClick: function () { return inputRef.current.click(); }, style: { height: height || '100%', width: width || '100%' } }), children)));
110
+ };
111
+ exports.UploadShell = UploadShell;
50
112
  var ImageUploadShell = function (_a) {
51
113
  var style = _a.style, isLoading = _a.isLoading, children = _a.children, disabled = _a.disabled, enableFilesDrop = _a.enableFilesDrop, setDragOverActive = _a.setDragOverActive;
52
114
  var SET_ALERT_BANNER = (0, bannerContext_1.useBannerContext)().SET_ALERT_BANNER;
@@ -47,6 +47,7 @@ var icons_1 = require("../../../../icons");
47
47
  var themes_1 = require("../../../../themes");
48
48
  var Typo_1 = require("../../../Typo");
49
49
  var ProgressBar_1 = require("../../../LoadersAndProgress/ProgressBar");
50
+ var PlaceholderWrapper_1 = require("../../../PlaceholderWrapper");
50
51
  var ImageSquare = icons_1.icons.ImageSquare;
51
52
  var greyColor100 = themes_1.colors.greyColor100;
52
53
  var Placeholder = function (_a) {
@@ -75,24 +76,22 @@ var Placeholder = function (_a) {
75
76
  * then that image is rendered instead of placeholder
76
77
  *
77
78
  */
78
- var _d = (0, react_1.useState)(false), dragOverActive = _d[0], setDragOverActive = _d[1];
79
+ // const [dragOverActive, setDragOverActive] = useState(false)
80
+ var _d = (0, ImageInputContext_1.useImageInputContext)(), handleUpload = _d.handleUpload, onChange = _d.onChange, value = _d.value, id = _d.id;
79
81
  return (react_1.default.createElement(AspectRatioShell_1.default, __assign({}, {
80
82
  aspectRatio: aspectRatio,
81
83
  containerShape: containerShape,
82
84
  stretchToFullHeight: stretchToFullHeight,
83
85
  onShellPrepared: decideUIStyle,
84
86
  }),
85
- react_1.default.createElement(styled_1.StyledPlaceholderWrapper, { smallPlaceholderUI: smallPlaceholderUI, ref: styledPlaceholderWrapperRef, dragOverActive: dragOverActive }, isLoading ? (react_1.default.createElement(ProgressBar_1.ProgressBar, { progress: uploadProgress, text: uploadProgress && uploadProgress !== 100
86
- ? uploadProgress + "%"
87
- : "Almost Done..." })) : (react_1.default.createElement(ImageUploadShell_1.default, { isLoading: isLoading, enableFilesDrop: true, multiple: multiple, setDragOverActive: setDragOverActive },
88
- react_1.default.createElement(styled_1.StyledPlaceholder, __assign({}, { containerShape: containerShape }, { smallPlaceholderUI: smallPlaceholderUI }), smallPlaceholderUI ? (react_1.default.createElement(react_1.Fragment, null,
89
- react_1.default.createElement(ImageSquare, { size: 16, color: greyColor100 }),
90
- react_1.default.createElement(Typo_1.SANS_0, { semibold: true }, dropzoneLabel),
91
- showOptionalLabelInDropzone && isRequired === false && react_1.default.createElement(Typo_1.SANS_0, null, "(optional)"))) : (react_1.default.createElement(react_1.Fragment, null,
92
- react_1.default.createElement(ImageSquare, { size: 30, color: greyColor100 }),
93
- react_1.default.createElement(Typo_1.SANS_2, { semibold: true }, "".concat(dropzoneLabel, " ").concat(showOptionalLabelInDropzone && isRequired === false
94
- ? "(optional)"
95
- : "")),
96
- react_1.default.createElement(Typo_1.SANS_2, null, dropzoneSublabel)))))))));
87
+ react_1.default.createElement(PlaceholderWrapper_1.PlaceHolderWrapper, { ref: styledPlaceholderWrapperRef, uploadProgress: uploadProgress, isLoading: isLoading, containerShape: containerShape, multiple: multiple, smallPlaceholderUI: smallPlaceholderUI, mediaType: 'image', handleUpload: handleUpload, onChange: onChange, value: value, id: id }, smallPlaceholderUI ? (react_1.default.createElement(react_1.Fragment, null,
88
+ react_1.default.createElement(ImageSquare, { size: 16, color: greyColor100 }),
89
+ react_1.default.createElement(Typo_1.SANS_0, { semibold: true }, dropzoneLabel),
90
+ showOptionalLabelInDropzone && isRequired === false && react_1.default.createElement(Typo_1.SANS_0, null, "(optional)"))) : (react_1.default.createElement(react_1.Fragment, null,
91
+ react_1.default.createElement(ImageSquare, { size: 30, color: greyColor100 }),
92
+ react_1.default.createElement(Typo_1.SANS_2, { semibold: true }, "".concat(dropzoneLabel, " ").concat(showOptionalLabelInDropzone && isRequired === false
93
+ ? "(optional)"
94
+ : "")),
95
+ react_1.default.createElement(Typo_1.SANS_2, null, dropzoneSublabel))))));
97
96
  };
98
97
  exports.default = Placeholder;
@@ -0,0 +1,14 @@
1
+ export const PlaceHolderWrapper: React.ForwardRefExoticComponent<{
2
+ smallPlaceholderUI: any;
3
+ isLoading: any;
4
+ multiple: any;
5
+ containerShape: any;
6
+ uploadProgress: any;
7
+ mediaType: any;
8
+ handleUpload: any;
9
+ onChange: any;
10
+ value: any;
11
+ id: any;
12
+ children: any;
13
+ } & React.RefAttributes<any>>;
14
+ import React from "react";
@@ -0,0 +1,50 @@
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.PlaceHolderWrapper = void 0;
38
+ var react_1 = __importStar(require("react"));
39
+ var ProgressBar_1 = require("../LoadersAndProgress/ProgressBar");
40
+ var styled_1 = require("./styled");
41
+ var ImageUploadShell_1 = require("../ImageInput/comps/ImageUploadShell");
42
+ var PlaceHolder = function (_a, ref) {
43
+ var smallPlaceholderUI = _a.smallPlaceholderUI, isLoading = _a.isLoading, multiple = _a.multiple, containerShape = _a.containerShape, uploadProgress = _a.uploadProgress, mediaType = _a.mediaType, handleUpload = _a.handleUpload, onChange = _a.onChange, value = _a.value, id = _a.id, children = _a.children;
44
+ var _b = (0, react_1.useState)(false), dragOverActive = _b[0], setDragOverActive = _b[1];
45
+ return (react_1.default.createElement(styled_1.StyledPlaceholderWrapper, { smallPlaceholderUI: smallPlaceholderUI, ref: ref, dragOverActive: dragOverActive }, isLoading ? (react_1.default.createElement(ProgressBar_1.ProgressBar, { progress: uploadProgress, text: uploadProgress && uploadProgress !== 100
46
+ ? uploadProgress + "%"
47
+ : "Almost Done..." })) : (react_1.default.createElement(ImageUploadShell_1.UploadShell, { isLoading: isLoading, enableFilesDrop: true, multiple: multiple, setDragOverActive: setDragOverActive, handleUpload: handleUpload, onChange: onChange, value: value, id: id, mediaType: mediaType },
48
+ react_1.default.createElement(styled_1.StyledPlaceholder, __assign({}, { containerShape: containerShape }, { smallPlaceholderUI: smallPlaceholderUI }), children)))));
49
+ };
50
+ exports.PlaceHolderWrapper = (0, react_1.forwardRef)(PlaceHolder);
@@ -0,0 +1,2 @@
1
+ export const StyledPlaceholderWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export const StyledPlaceholder: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,35 @@
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.StyledPlaceholder = exports.StyledPlaceholderWrapper = void 0;
11
+ var styled_components_1 = __importDefault(require("styled-components"));
12
+ var utilsOolib_1 = require("../../utilsOolib");
13
+ var mixins_1 = require("../../themes/mixins");
14
+ var themes_1 = require("../../themes");
15
+ var greyColor100 = themes_1.colors.greyColor100;
16
+ exports.StyledPlaceholderWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n padding: ", ";\n width: 100%;\n height: 100%;\n ", "\n"], ["\n background-color: ", ";\n padding: ", ";\n width: 100%;\n height: 100%;\n ", "\n"])), function (_a) {
17
+ var theme = _a.theme, dragOverActive = _a.dragOverActive;
18
+ return dragOverActive
19
+ ? (0, utilsOolib_1.getPrimaryColor40)(theme === null || theme === void 0 ? void 0 : theme.colors)
20
+ : (0, utilsOolib_1.getPrimaryColor10)(theme === null || theme === void 0 ? void 0 : theme.colors);
21
+ }, function (_a) {
22
+ var smallPlaceholderUI = _a.smallPlaceholderUI;
23
+ return !smallPlaceholderUI && "1.2rem";
24
+ }, (0, mixins_1.transition)("background-color"));
25
+ exports.StyledPlaceholder = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n height: 100%;\n width: 100%;\n gap: ", ";\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: ", ";\n border: 0.12rem dashed ", ";\n padding: ", ";\n cursor: pointer;\n"], ["\n display: flex;\n flex-flow: column nowrap;\n height: 100%;\n width: 100%;\n gap: ", ";\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: ", ";\n border: 0.12rem dashed ", ";\n padding: ", ";\n cursor: pointer;\n"])), function (_a) {
26
+ var smallPlaceholderUI = _a.smallPlaceholderUI;
27
+ return !smallPlaceholderUI && "0.3rem";
28
+ }, function (_a) {
29
+ var containerShape = _a.containerShape;
30
+ return containerShape === "circle" ? "50%" : "unset";
31
+ }, greyColor100, function (_a) {
32
+ var smallPlaceholderUI = _a.smallPlaceholderUI;
33
+ return !smallPlaceholderUI && "2rem";
34
+ });
35
+ var templateObject_1, templateObject_2;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oolib",
3
- "version": "2.88.2",
3
+ "version": "2.89.0",
4
4
  "description": " OKE Component Library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",