oolib 2.63.0 → 2.63.2
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/ImageInput/ImageInputContext.d.ts +29 -0
- package/dist/components/ImageInput/ImageInputContext.js +199 -0
- package/dist/components/ImageInput/comps/AspectRatioShell/index.d.ts +12 -0
- package/dist/components/ImageInput/comps/AspectRatioShell/index.js +61 -0
- package/dist/components/ImageInput/comps/AspectRatioShell/styled.d.ts +1 -0
- package/dist/components/ImageInput/comps/AspectRatioShell/styled.js +46 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/GalleryThumbnails/index.d.ts +5 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/GalleryThumbnails/index.js +94 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/GalleryThumbnails/styled.d.ts +5 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/GalleryThumbnails/styled.js +68 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/SliderShell/index.d.ts +7 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/SliderShell/index.js +58 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/SliderShell/styled.d.ts +5 -0
- package/dist/components/ImageInput/comps/GallerySlider/comps/SliderShell/styled.js +49 -0
- package/dist/components/ImageInput/comps/GallerySlider/index.d.ts +3 -0
- package/dist/components/ImageInput/comps/GallerySlider/index.js +69 -0
- package/dist/components/ImageInput/comps/GallerySlider/styled.d.ts +3 -0
- package/dist/components/ImageInput/comps/GallerySlider/styled.js +23 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ConfirmDeleteModal/index.d.ts +6 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ConfirmDeleteModal/index.js +20 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/EditToolbar/index.d.ts +15 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/EditToolbar/index.js +96 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ImageActionsMenu/index.d.ts +12 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ImageActionsMenu/index.js +80 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ImageReposManager/index.d.ts +7 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ImageReposManager/index.js +129 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ImageReposManager/styled.d.ts +2 -0
- package/dist/components/ImageInput/comps/ImageEditor/comps/ImageReposManager/styled.js +14 -0
- package/dist/components/ImageInput/comps/ImageEditor/index.d.ts +26 -0
- package/dist/components/ImageInput/comps/ImageEditor/index.js +217 -0
- package/dist/components/ImageInput/comps/ImageEditor/styled.d.ts +4 -0
- package/dist/components/ImageInput/comps/ImageEditor/styled.js +72 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/calcAspectRatio.d.ts +1 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/calcAspectRatio.js +10 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/changesMadeToUnderEditImageData.d.ts +5 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/changesMadeToUnderEditImageData.js +27 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/decideIfFullWidthOrFullHeightImg.d.ts +5 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/decideIfFullWidthOrFullHeightImg.js +22 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/smallImageInputUIConditionsMet.d.ts +5 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/smallImageInputUIConditionsMet.js +8 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/useReorientImage/changeImageOrientation.d.ts +5 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/useReorientImage/changeImageOrientation.js +76 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/useReorientImage/index.d.ts +11 -0
- package/dist/components/ImageInput/comps/ImageEditor/utils/useReorientImage/index.js +66 -0
- package/dist/components/ImageInput/comps/ImageUploadShell/index.d.ts +7 -0
- package/dist/components/ImageInput/comps/ImageUploadShell/index.js +54 -0
- package/dist/components/ImageInput/comps/InlineImageInput/index.d.ts +2 -0
- package/dist/components/ImageInput/comps/InlineImageInput/index.js +19 -0
- package/dist/components/ImageInput/comps/Placeholder/index.d.ts +5 -0
- package/dist/components/ImageInput/comps/Placeholder/index.js +96 -0
- package/dist/components/ImageInput/comps/Placeholder/styled.d.ts +4 -0
- package/dist/components/ImageInput/comps/Placeholder/styled.js +41 -0
- package/dist/components/ImageInput/comps/SingleImageInput/index.d.ts +4 -0
- package/dist/components/ImageInput/comps/SingleImageInput/index.js +57 -0
- package/dist/components/ImageInput/derivedComps/ImageDisplayInMask/index.d.ts +6 -0
- package/dist/components/ImageInput/derivedComps/ImageDisplayInMask/index.js +53 -0
- package/dist/components/ImageInput/derivedComps/ImageDisplayInMask/styled.d.ts +1 -0
- package/dist/components/ImageInput/derivedComps/ImageDisplayInMask/styled.js +37 -0
- package/dist/components/ImageInput/index.d.ts +34 -0
- package/dist/components/ImageInput/index.js +72 -0
- package/dist/components/cards/CardContent/styled.js +1 -1
- package/dist/components/cards/ListContent/styled.js +1 -1
- package/dist/components/cards/comps/CardPlaceholder/index.js +9 -1
- package/dist/components/cards/styled.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -1
- package/dist/utilsOolib/infoAlertBannerFnPlaceholder.d.ts +4 -0
- package/dist/utilsOolib/infoAlertBannerFnPlaceholder.js +10 -0
- package/dist/utilsOolib/renderRTEPlaceholderForOolibPreview.d.ts +2 -0
- package/dist/utilsOolib/renderRTEPlaceholderForOolibPreview.js +25 -0
- package/package.json +1 -1
|
@@ -0,0 +1,217 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.ImageEditor = void 0;
|
|
41
|
+
var react_1 = __importStar(require("react"));
|
|
42
|
+
var AspectRatioShell_1 = __importDefault(require("../AspectRatioShell"));
|
|
43
|
+
var Divider_1 = require("../../../Divider");
|
|
44
|
+
var Wrappers_1 = require("../../../Wrappers");
|
|
45
|
+
var Container_1 = require("../../../Container");
|
|
46
|
+
var Paddings_1 = require("../../../Paddings");
|
|
47
|
+
var ConfirmDeleteModal_1 = require("./comps/ConfirmDeleteModal");
|
|
48
|
+
var EditToolbar_1 = require("./comps/EditToolbar");
|
|
49
|
+
var ImageActionsMenu_1 = require("./comps/ImageActionsMenu");
|
|
50
|
+
var ImageReposManager_1 = require("./comps/ImageReposManager");
|
|
51
|
+
var styled_1 = require("./styled");
|
|
52
|
+
var smallImageInputUIConditionsMet_1 = require("./utils/smallImageInputUIConditionsMet");
|
|
53
|
+
var useReorientImage_1 = require("./utils/useReorientImage");
|
|
54
|
+
var styled_components_1 = require("styled-components");
|
|
55
|
+
var renderRTEPlaceholderForOolibPreview_1 = require("../../../../utilsOolib/renderRTEPlaceholderForOolibPreview");
|
|
56
|
+
var themes_1 = require("../../../../themes");
|
|
57
|
+
var ModalLarge_1 = require("../../../Modals/ModalLarge");
|
|
58
|
+
var SkeletonLoader_1 = require("../../../LoadersAndProgress/SkeletonLoader");
|
|
59
|
+
/**
|
|
60
|
+
* fiddle for dealing with rotation: https://jsfiddle.net/wunderbart/w1hw5kv1/
|
|
61
|
+
*/
|
|
62
|
+
function ImageEditor(_a) {
|
|
63
|
+
var id = _a.id, readOnly = _a.readOnly, imageData = _a.value, defaultImageSpread = _a.defaultImageSpread, handleSingleImageDataChange = _a.handleSingleImageDataChange, handleDeleteSingleImage = _a.handleDeleteSingleImage, handleReplaceSingleImage = _a.handleReplaceSingleImage, aspectRatio = _a.aspectRatio, invert = _a.invert, handleUpload = _a.handleUpload, setImageUnderEdit = _a.setImageUnderEdit, //comes from ImageInput context if used inside it
|
|
64
|
+
disableImageBorder = _a.disableImageBorder, stretchToFullHeight = _a.stretchToFullHeight, containerShape = _a.containerShape, omitEditorTools = _a.omitEditorTools, enableCaptions = _a.enableCaptions,
|
|
65
|
+
//sent by parent ImageEditor to child (modal) ImageEditor
|
|
66
|
+
_underEditImageData = _a.underEditImageData, //ImageEditor passes this to its recursive self when opening in popup
|
|
67
|
+
_setUnderEditImageData = _a.setUnderEditImageData, isInPopUp = _a.isInPopUp, isInRTE = _a.isInRTE;
|
|
68
|
+
var theme = (0, styled_components_1.useTheme)();
|
|
69
|
+
var _b = theme || {}, RichTextEditor = _b.RichTextEditor, _c = _b.richTextHasValue //we are just defaulting to false for oolib preview. Meaning, when previewing in oolib, since this function doesnt exist (as it has to be provided by okf-fe), we will always return false from it.
|
|
70
|
+
, richTextHasValue = _c === void 0 ? function () { return false; } : _c //we are just defaulting to false for oolib preview. Meaning, when previewing in oolib, since this function doesnt exist (as it has to be provided by okf-fe), we will always return false from it.
|
|
71
|
+
; //temporarily passed thru from okf
|
|
72
|
+
var _d = (0, react_1.useState)(_underEditImageData || undefined), underEditImageData = _d[0], setUnderEditImageData = _d[1];
|
|
73
|
+
//set state in parent imageeditor
|
|
74
|
+
(0, react_1.useEffect)(function () {
|
|
75
|
+
_setUnderEditImageData && _setUnderEditImageData(underEditImageData);
|
|
76
|
+
}, [underEditImageData]);
|
|
77
|
+
var props = arguments[0];
|
|
78
|
+
/** rotation */
|
|
79
|
+
/**
|
|
80
|
+
* if underEditImageData exists, render the temp 'formattings' as well,
|
|
81
|
+
* which are stored in underEditImageData.
|
|
82
|
+
*
|
|
83
|
+
* underEditImageData is merged into imageData, only if the 'formattings'
|
|
84
|
+
* are 'saved'
|
|
85
|
+
*/
|
|
86
|
+
var _e = underEditImageData || imageData, publicUrl = _e.publicUrl, _f = _e.imageSpread, imageSpread = _f === void 0 ? defaultImageSpread : _f, _g = _e.imageRotate, imageRotate = _g === void 0 ? 0 : _g, _h = _e.cropX, cropX = _h === void 0 ? 0 : _h, _j = _e.cropY, cropY = _j === void 0 ? 0 : _j;
|
|
87
|
+
/**
|
|
88
|
+
* repos management
|
|
89
|
+
*/
|
|
90
|
+
var wrapperRef = (0, react_1.useRef)(null);
|
|
91
|
+
var renderedImageRef = (0, react_1.useRef)(null);
|
|
92
|
+
var isFirstMount = (0, react_1.useRef)(true);
|
|
93
|
+
var _k = (0, react_1.useState)(undefined), fullWidthOrFullHeightImg = _k[0], setFullWidthOrFullHeightImg = _k[1];
|
|
94
|
+
var _l = (0, useReorientImage_1.useReorientImage)({
|
|
95
|
+
imageRotate: imageRotate,
|
|
96
|
+
setFullWidthOrFullHeightImg: setFullWidthOrFullHeightImg,
|
|
97
|
+
setUnderEditImageData: setUnderEditImageData,
|
|
98
|
+
publicUrl: publicUrl,
|
|
99
|
+
aspectRatio: aspectRatio,
|
|
100
|
+
underEditImageData: underEditImageData,
|
|
101
|
+
isFirstMount: isFirstMount
|
|
102
|
+
}), reorientedImageTempUrl = _l.reorientedImageTempUrl, imageLazyLoading = _l.imageLazyLoading;
|
|
103
|
+
var _m = (0, react_1.useState)(undefined), showDeleteImageModal = _m[0], setShowDeleteImageModal = _m[1];
|
|
104
|
+
var inputRef = (0, react_1.useRef)(null);
|
|
105
|
+
var _o = (0, react_1.useState)(undefined), editorStyle = _o[0], setEditorStyle = _o[1]; //alt: modal
|
|
106
|
+
(0, react_1.useEffect)(function () { isFirstMount.current = false; }, []);
|
|
107
|
+
var decideEditorStyle = function () {
|
|
108
|
+
var _a = wrapperRef.current.getBoundingClientRect(), width = _a.width, height = _a.height;
|
|
109
|
+
if (isInPopUp) {
|
|
110
|
+
setEditorStyle("toolbar");
|
|
111
|
+
}
|
|
112
|
+
else if ((0, smallImageInputUIConditionsMet_1.smallImageInputUIConditionsMet)({ width: width, height: height, containerShape: containerShape })) {
|
|
113
|
+
setEditorStyle("modal");
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
setEditorStyle("toolbar");
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
var modalStyleEditorIsCurrentlyOpen = function () {
|
|
120
|
+
return editorStyle === "modal" && !!underEditImageData;
|
|
121
|
+
};
|
|
122
|
+
var genModalStyleEditor = function () { return (react_1.default.createElement(ModalLarge_1.ModalLarge, { title: "Edit Image" },
|
|
123
|
+
react_1.default.createElement(Container_1.Container, null,
|
|
124
|
+
react_1.default.createElement(Wrappers_1.Wrapper650, null,
|
|
125
|
+
react_1.default.createElement(Paddings_1.PaddingTopBottom40, null,
|
|
126
|
+
react_1.default.createElement(ImageEditor, __assign({}, props, { id: 'insideModal', underEditImageData: underEditImageData, setUnderEditImageData: setUnderEditImageData, isInPopUp: true }))))))); };
|
|
127
|
+
var genToolbarStyledEditor = function () { return (react_1.default.createElement(EditToolbar_1.EditToolbar, __assign({}, {
|
|
128
|
+
setUnderEditImageData: setUnderEditImageData,
|
|
129
|
+
underEditImageData: underEditImageData,
|
|
130
|
+
imageData: imageData,
|
|
131
|
+
handleSingleImageDataChange: handleSingleImageDataChange,
|
|
132
|
+
setImageUnderEdit: setImageUnderEdit,
|
|
133
|
+
imageSpread: imageSpread,
|
|
134
|
+
publicUrl: publicUrl,
|
|
135
|
+
defaultImageSpread: defaultImageSpread,
|
|
136
|
+
omitEditorTools: omitEditorTools,
|
|
137
|
+
}))); };
|
|
138
|
+
return (react_1.default.createElement("div", { id: id && id + '_ImageEditor', style: {
|
|
139
|
+
position: "relative",
|
|
140
|
+
height: stretchToFullHeight ? "100%" : "auto",
|
|
141
|
+
} }, imageLazyLoading && !modalStyleEditorIsCurrentlyOpen() ? (react_1.default.createElement(AspectRatioShell_1.default, __assign({}, {
|
|
142
|
+
key: "loaderShell",
|
|
143
|
+
aspectRatio: aspectRatio,
|
|
144
|
+
stretchToFullHeight: stretchToFullHeight,
|
|
145
|
+
containerShape: containerShape,
|
|
146
|
+
disableImageBorder: disableImageBorder,
|
|
147
|
+
}),
|
|
148
|
+
react_1.default.createElement(SkeletonLoader_1.SkeletonLoader, { style: { height: "100%" } }))) : (react_1.default.createElement(react_1.Fragment, null,
|
|
149
|
+
react_1.default.createElement(AspectRatioShell_1.default, __assign({}, {
|
|
150
|
+
id: id,
|
|
151
|
+
invert: invert,
|
|
152
|
+
key: "imageShell",
|
|
153
|
+
aspectRatio: aspectRatio,
|
|
154
|
+
stretchToFullHeight: stretchToFullHeight,
|
|
155
|
+
containerShape: containerShape,
|
|
156
|
+
disableImageBorder: disableImageBorder,
|
|
157
|
+
onShellPrepared: decideEditorStyle,
|
|
158
|
+
}),
|
|
159
|
+
showDeleteImageModal && (react_1.default.createElement(ConfirmDeleteModal_1.ConfirmDeleteModal, __assign({}, {
|
|
160
|
+
showDeleteImageModal: showDeleteImageModal,
|
|
161
|
+
setShowDeleteImageModal: setShowDeleteImageModal,
|
|
162
|
+
handleDeleteSingleImage: handleDeleteSingleImage,
|
|
163
|
+
}))),
|
|
164
|
+
react_1.default.createElement(styled_1.StyledFullWidthImgWrapper, { ref: wrapperRef, invert: invert, disableImageBorder: disableImageBorder },
|
|
165
|
+
react_1.default.createElement(styled_1.StyledImg, __assign({}, {
|
|
166
|
+
ref: renderedImageRef,
|
|
167
|
+
fullWidthOrFullHeightImg: fullWidthOrFullHeightImg,
|
|
168
|
+
src: reorientedImageTempUrl || publicUrl,
|
|
169
|
+
imageSpread: imageSpread,
|
|
170
|
+
cropX: cropX,
|
|
171
|
+
cropY: cropY,
|
|
172
|
+
})),
|
|
173
|
+
underEditImageData !== undefined &&
|
|
174
|
+
!omitEditorTools.includes("reposition") && (react_1.default.createElement(ImageReposManager_1.ImageReposManager, __assign({}, {
|
|
175
|
+
fullWidthOrFullHeightImg: fullWidthOrFullHeightImg,
|
|
176
|
+
wrapperRef: wrapperRef,
|
|
177
|
+
renderedImageRef: renderedImageRef,
|
|
178
|
+
setUnderEditImageData: setUnderEditImageData,
|
|
179
|
+
}))))),
|
|
180
|
+
!readOnly && (react_1.default.createElement(styled_1.StyledImageEditToolbar, __assign({}, {
|
|
181
|
+
underEditImageData: underEditImageData,
|
|
182
|
+
containerShape: containerShape,
|
|
183
|
+
isInPopUp: isInPopUp,
|
|
184
|
+
}), underEditImageData === undefined ? (react_1.default.createElement(ImageActionsMenu_1.ImageActionsMenu, __assign({}, {
|
|
185
|
+
invert: invert,
|
|
186
|
+
setUnderEditImageData: setUnderEditImageData,
|
|
187
|
+
setImageUnderEdit: setImageUnderEdit,
|
|
188
|
+
inputRef: inputRef,
|
|
189
|
+
setShowDeleteImageModal: setShowDeleteImageModal,
|
|
190
|
+
publicUrl: publicUrl,
|
|
191
|
+
imageData: imageData,
|
|
192
|
+
handleReplaceSingleImage: handleReplaceSingleImage,
|
|
193
|
+
handleUpload: handleUpload,
|
|
194
|
+
isInRTE: isInRTE
|
|
195
|
+
}))) : editorStyle === "toolbar" ? (genToolbarStyledEditor()) : (editorStyle === "modal" && genModalStyleEditor()))),
|
|
196
|
+
enableCaptions && (readOnly && !richTextHasValue(imageData.caption)
|
|
197
|
+
? null
|
|
198
|
+
: react_1.default.createElement(react_1.Fragment, null,
|
|
199
|
+
react_1.default.createElement(Divider_1.Divider, { invert: invert }),
|
|
200
|
+
react_1.default.createElement("div", { style: {
|
|
201
|
+
borderRadius: "0.2rem",
|
|
202
|
+
padding: readOnly ? "1rem" : "2rem",
|
|
203
|
+
backgroundColor: readOnly ? "initial" : invert ? themes_1.colors.greyColor90 : themes_1.colors.greyColor5,
|
|
204
|
+
} }, !RichTextEditor
|
|
205
|
+
? (0, renderRTEPlaceholderForOolibPreview_1.renderRTEPlaceholderForOolibPreview)({
|
|
206
|
+
width: '100%',
|
|
207
|
+
height: '30px'
|
|
208
|
+
})
|
|
209
|
+
: react_1.default.createElement(RichTextEditor, { variant: 'simple', disableNewline: true, invert: invert, placeholder: "type caption for image (optional)", readOnly: readOnly, charLimit: 100, typo: "SANS_3", placeholderColor: invert ? themes_1.colors.greyColor70 : themes_1.colors.greyColor40, value: imageData.caption, onChange: function (id, val) {
|
|
210
|
+
handleSingleImageDataChange({
|
|
211
|
+
publicUrl: publicUrl,
|
|
212
|
+
imageData: __assign(__assign({}, imageData), { caption: val }),
|
|
213
|
+
});
|
|
214
|
+
} })),
|
|
215
|
+
readOnly && react_1.default.createElement(Divider_1.Divider, { invert: invert })))))));
|
|
216
|
+
}
|
|
217
|
+
exports.ImageEditor = ImageEditor;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const StyledImageEditToolbar: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
2
|
+
export const StyledFullWidthImgWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
3
|
+
export const StyledImg: import("styled-components").StyledComponent<"img", any, {}, never>;
|
|
4
|
+
export const StyledImageWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -0,0 +1,72 @@
|
|
|
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.StyledImageWrapper = exports.StyledImg = exports.StyledFullWidthImgWrapper = exports.StyledImageEditToolbar = void 0;
|
|
31
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
32
|
+
var utilsOolib_1 = require("../../../../utilsOolib");
|
|
33
|
+
exports.StyledImageEditToolbar = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: absolute;\n\n display: flex;\n gap: 0.5rem;\n width: ", ";\n ", "\n"], ["\n position: absolute;\n\n display: flex;\n gap: 0.5rem;\n width: ", ";\n ", "\n"])), function (_a) {
|
|
34
|
+
var underEditImageData = _a.underEditImageData;
|
|
35
|
+
return (!underEditImageData ? "auto" : "100%");
|
|
36
|
+
}, function (_a) {
|
|
37
|
+
var containerShape = _a.containerShape, isInPopUp = _a.isInPopUp;
|
|
38
|
+
if (isInPopUp) {
|
|
39
|
+
return (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n top: 0;\n right: 0;\n transform: translateY(-100%);\n "], ["\n top: 0;\n right: 0;\n transform: translateY(-100%);\n "])));
|
|
40
|
+
}
|
|
41
|
+
//else it is not in popup
|
|
42
|
+
return containerShape === "circle"
|
|
43
|
+
? (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n top: 7%;\n right: 4%;\n /* transform: translate(50%, -50%); */\n "], ["\n top: 7%;\n right: 4%;\n /* transform: translate(50%, -50%); */\n "]))) : (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n top: 0;\n right: 0;\n "], ["\n top: 0;\n right: 0;\n "])));
|
|
44
|
+
});
|
|
45
|
+
exports.StyledFullWidthImgWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n position: relative;\n \n"], ["\n width: 100%;\n height: 100%;\n position: relative;\n \n"])));
|
|
46
|
+
exports.StyledImg = styled_components_1.default.img(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n /* z-index: -1; */\n position: absolute;\n left: 0;\n top: 0;\n transform: ", ";\n margin-left: ", "; //when image is 'contain'ed\n margin-top: ", "; //when image is 'contain'ed\n ", "\n"], ["\n /* z-index: -1; */\n position: absolute;\n left: 0;\n top: 0;\n transform: ", ";\n margin-left: ", "; //when image is 'contain'ed\n margin-top: ", "; //when image is 'contain'ed\n ", "\n"])), function (_a) {
|
|
47
|
+
var _b = _a.cropX, cropX = _b === void 0 ? 0 : _b, _c = _a.cropY, cropY = _c === void 0 ? 0 : _c;
|
|
48
|
+
return "translate(".concat(cropX, "%,").concat(cropY, "%)");
|
|
49
|
+
}, function (_a) {
|
|
50
|
+
var _b = _a.marginLeft, marginLeft = _b === void 0 ? 0 : _b;
|
|
51
|
+
return marginLeft;
|
|
52
|
+
}, function (_a) {
|
|
53
|
+
var _b = _a.marginTop, marginTop = _b === void 0 ? 0 : _b;
|
|
54
|
+
return marginTop;
|
|
55
|
+
}, function (_a) {
|
|
56
|
+
var fullWidthOrFullHeightImg = _a.fullWidthOrFullHeightImg, imageSpread = _a.imageSpread;
|
|
57
|
+
if (fullWidthOrFullHeightImg === 'fullWidth') {
|
|
58
|
+
return imageSpread === 'cover'
|
|
59
|
+
? "width: 100%; height: auto;"
|
|
60
|
+
: "\n height: 100%; \n width: auto;\n left: 50%;\n transform: translateX(-50%);\n "; //contain
|
|
61
|
+
}
|
|
62
|
+
else if (fullWidthOrFullHeightImg === 'fullHeight') {
|
|
63
|
+
return imageSpread === 'cover'
|
|
64
|
+
? "height: 100%; width: auto;"
|
|
65
|
+
: "\n width: 100%; \n height: auto;\n top: 50%;\n transform: translateY(-50%);\n ";
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
exports.StyledImageWrapper = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n position: relative;\n height: 100%;\n border: 2px solid ", ";\n"], ["\n position: relative;\n height: 100%;\n border: 2px solid ", ";\n"])), function (_a) {
|
|
69
|
+
var theme = _a.theme;
|
|
70
|
+
return (0, utilsOolib_1.getPrimaryColor10)(theme === null || theme === void 0 ? void 0 : theme.colors);
|
|
71
|
+
});
|
|
72
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function calcAspectRatio(aspectRatio: any): number;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calcAspectRatio = void 0;
|
|
4
|
+
var calcAspectRatio = function (aspectRatio) {
|
|
5
|
+
var split = aspectRatio.split("/");
|
|
6
|
+
return !split[1]
|
|
7
|
+
? parseInt(split[0])
|
|
8
|
+
: parseInt(split[0]) / parseInt(split[1]);
|
|
9
|
+
};
|
|
10
|
+
exports.calcAspectRatio = calcAspectRatio;
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.changesMadeToUnderEditImageData = void 0;
|
|
15
|
+
var lodash_1 = require("lodash");
|
|
16
|
+
/**
|
|
17
|
+
* we have to shove the defaults into imageData,
|
|
18
|
+
* else equality check wont work
|
|
19
|
+
*/
|
|
20
|
+
var changesMadeToUnderEditImageData = function (_a) {
|
|
21
|
+
var imageData = _a.imageData, underEditImageData = _a.underEditImageData, defaultImageSpread = _a.defaultImageSpread;
|
|
22
|
+
var fullImageData = __assign(__assign({ imageSpread: defaultImageSpread, imageRotate: 0, cropX: 0, cropY: 0 }, imageData), { caption: undefined //we dont compare changes in caption
|
|
23
|
+
});
|
|
24
|
+
var fullUnderEditImageData = __assign(__assign({ imageSpread: defaultImageSpread, imageRotate: 0, cropX: 0, cropY: 0 }, underEditImageData), { caption: undefined });
|
|
25
|
+
return !(0, lodash_1.isEqual)(fullImageData, fullUnderEditImageData);
|
|
26
|
+
};
|
|
27
|
+
exports.changesMadeToUnderEditImageData = changesMadeToUnderEditImageData;
|
package/dist/components/ImageInput/comps/ImageEditor/utils/decideIfFullWidthOrFullHeightImg.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decideIfFullWidthOrFullHeightImg = void 0;
|
|
4
|
+
var calcAspectRatio_1 = require("./calcAspectRatio");
|
|
5
|
+
var decideIfFullWidthOrFullHeightImg = function (_a) {
|
|
6
|
+
var imgWidth = _a.imgWidth, imgHeight = _a.imgHeight, wrapperAspectRatio = _a.wrapperAspectRatio;
|
|
7
|
+
var wrapperAspectRatioCalc = (0, calcAspectRatio_1.calcAspectRatio)(wrapperAspectRatio);
|
|
8
|
+
var imgRatioCalc = imgWidth / imgHeight;
|
|
9
|
+
//if image is relatively 'narrower' than the wrapper, then it should take full width
|
|
10
|
+
if (wrapperAspectRatioCalc > imgRatioCalc) {
|
|
11
|
+
return "fullWidth";
|
|
12
|
+
}
|
|
13
|
+
//if they are exactly the same, then image can take fullWidth
|
|
14
|
+
else if (imgRatioCalc === wrapperAspectRatioCalc) {
|
|
15
|
+
return "fullWidth";
|
|
16
|
+
}
|
|
17
|
+
//if image is relatively 'wider' than the wrapper, then it should take full height
|
|
18
|
+
else if (imgRatioCalc > wrapperAspectRatioCalc) {
|
|
19
|
+
return "fullHeight";
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.decideIfFullWidthOrFullHeightImg = decideIfFullWidthOrFullHeightImg;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.smallImageInputUIConditionsMet = void 0;
|
|
4
|
+
var smallImageInputUIConditionsMet = function (_a) {
|
|
5
|
+
var width = _a.width, height = _a.height, containerShape = _a.containerShape;
|
|
6
|
+
return width < 300 || height < 300 || containerShape === "circle";
|
|
7
|
+
};
|
|
8
|
+
exports.smallImageInputUIConditionsMet = smallImageInputUIConditionsMet;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//this is a child function to useReorientImage. is not meant to be used
|
|
3
|
+
//for anything else
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.changeImageOrientation = void 0;
|
|
6
|
+
var changeImageOrientation = function (_a) {
|
|
7
|
+
var srcUrl = _a.srcUrl, imageRotate = _a.imageRotate, callback = _a.callback;
|
|
8
|
+
var img = new Image();
|
|
9
|
+
img.crossOrigin = "anonymous"; // This enables CORS
|
|
10
|
+
img.src = srcUrl;
|
|
11
|
+
img.onload = function () {
|
|
12
|
+
var width = img.width, height = img.height, canvas = document.createElement("canvas"), ctx = canvas.getContext("2d");
|
|
13
|
+
var degToOrientationValueMap = [
|
|
14
|
+
{ deg: -0, orientation: 1 },
|
|
15
|
+
{ deg: 0, orientation: 1 },
|
|
16
|
+
{ deg: -360, orientation: 1 },
|
|
17
|
+
{ deg: 90, orientation: 6 },
|
|
18
|
+
{ deg: -270, orientation: 6 },
|
|
19
|
+
{ deg: 180, orientation: 3 },
|
|
20
|
+
{ deg: -180, orientation: 3 },
|
|
21
|
+
{ deg: 270, orientation: 8 },
|
|
22
|
+
{ deg: -90, orientation: 8 },
|
|
23
|
+
//later : permutations and combinations of these can enable flip
|
|
24
|
+
];
|
|
25
|
+
// console.log({imageRotate})
|
|
26
|
+
var orientationToSet = degToOrientationValueMap.find(function (d) { return d.deg === (imageRotate % 360); } //so that we bring all numbers within the range of -360 & 360
|
|
27
|
+
).orientation;
|
|
28
|
+
// set proper canvas dimensions before transform & export
|
|
29
|
+
if (orientationToSet >= 5 && orientationToSet <= 8) {
|
|
30
|
+
canvas.width = height;
|
|
31
|
+
canvas.height = width;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
canvas.width = width;
|
|
35
|
+
canvas.height = height;
|
|
36
|
+
}
|
|
37
|
+
// transform context before drawing image
|
|
38
|
+
switch (orientationToSet) {
|
|
39
|
+
case 2:
|
|
40
|
+
ctx.transform(-1, 0, 0, 1, width, 0);
|
|
41
|
+
break;
|
|
42
|
+
case 3:
|
|
43
|
+
ctx.transform(-1, 0, 0, -1, width, height);
|
|
44
|
+
break;
|
|
45
|
+
case 4:
|
|
46
|
+
ctx.transform(1, 0, 0, -1, 0, height);
|
|
47
|
+
break;
|
|
48
|
+
case 5:
|
|
49
|
+
ctx.transform(0, 1, 1, 0, 0, 0);
|
|
50
|
+
break;
|
|
51
|
+
case 6:
|
|
52
|
+
ctx.transform(0, 1, -1, 0, height, 0);
|
|
53
|
+
break;
|
|
54
|
+
case 7:
|
|
55
|
+
ctx.transform(0, -1, -1, 0, height, width);
|
|
56
|
+
break;
|
|
57
|
+
case 8:
|
|
58
|
+
ctx.transform(0, -1, 1, 0, 0, width);
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
// draw image
|
|
64
|
+
ctx.drawImage(img, 0, 0);
|
|
65
|
+
// console.log({newUrl: 'newUrl'})
|
|
66
|
+
// console.log({newUrl: canvas.toDataURL()})
|
|
67
|
+
// export base64
|
|
68
|
+
callback({
|
|
69
|
+
reorientedUrl: canvas.toDataURL(),
|
|
70
|
+
imageWidth: canvas.width,
|
|
71
|
+
imageHeight: canvas.height
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
// console.log({ srcUrl });
|
|
75
|
+
};
|
|
76
|
+
exports.changeImageOrientation = changeImageOrientation;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function useReorientImage({ imageRotate, setFullWidthOrFullHeightImg, setUnderEditImageData, publicUrl, aspectRatio, isFirstMount, }: {
|
|
2
|
+
imageRotate: any;
|
|
3
|
+
setFullWidthOrFullHeightImg: any;
|
|
4
|
+
setUnderEditImageData: any;
|
|
5
|
+
publicUrl: any;
|
|
6
|
+
aspectRatio: any;
|
|
7
|
+
isFirstMount: any;
|
|
8
|
+
}): {
|
|
9
|
+
reorientedImageTempUrl: any;
|
|
10
|
+
imageLazyLoading: boolean;
|
|
11
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useReorientImage = void 0;
|
|
4
|
+
var lodash_1 = require("lodash");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var decideIfFullWidthOrFullHeightImg_1 = require("../decideIfFullWidthOrFullHeightImg");
|
|
7
|
+
var changeImageOrientation_1 = require("./changeImageOrientation");
|
|
8
|
+
var useReorientImage = function (_a) {
|
|
9
|
+
var imageRotate = _a.imageRotate, setFullWidthOrFullHeightImg = _a.setFullWidthOrFullHeightImg, setUnderEditImageData = _a.setUnderEditImageData, publicUrl = _a.publicUrl, aspectRatio = _a.aspectRatio, isFirstMount = _a.isFirstMount;
|
|
10
|
+
var _b = (0, react_1.useState)(true), imageLazyLoading = _b[0], setImageLazyLoading = _b[1];
|
|
11
|
+
var _c = (0, react_1.useState)(undefined), reorientedImageTempUrl = _c[0], setReorientedImageTempUrl = _c[1];
|
|
12
|
+
(0, react_1.useEffect)(function () {
|
|
13
|
+
if (!imageLazyLoading)
|
|
14
|
+
setImageLazyLoading(true);
|
|
15
|
+
//if image rotation = undefined / 0 / -0, set reorientedImgTemp -> undefined
|
|
16
|
+
//this way the og public url will be used to render
|
|
17
|
+
if (imageRotate === undefined || [0, -0].indexOf(imageRotate) !== -1) {
|
|
18
|
+
if (reorientedImageTempUrl)
|
|
19
|
+
setReorientedImageTempUrl(undefined);
|
|
20
|
+
var img = new Image();
|
|
21
|
+
img.src = publicUrl;
|
|
22
|
+
img.onload = function () {
|
|
23
|
+
setFullWidthOrFullHeightImg((0, decideIfFullWidthOrFullHeightImg_1.decideIfFullWidthOrFullHeightImg)({
|
|
24
|
+
imgWidth: this.width,
|
|
25
|
+
imgHeight: this.height,
|
|
26
|
+
wrapperAspectRatio: aspectRatio,
|
|
27
|
+
}));
|
|
28
|
+
setImageLazyLoading(false);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
(0, changeImageOrientation_1.changeImageOrientation)({
|
|
33
|
+
srcUrl: publicUrl,
|
|
34
|
+
imageRotate: imageRotate,
|
|
35
|
+
callback: function (_a) {
|
|
36
|
+
//cuz its possible that this may run even if not in edit mode
|
|
37
|
+
//e.g first mount, and on 'dont save changes'
|
|
38
|
+
var reorientedUrl = _a.reorientedUrl, imageWidth = _a.imageWidth, imageHeight = _a.imageHeight;
|
|
39
|
+
setFullWidthOrFullHeightImg((0, decideIfFullWidthOrFullHeightImg_1.decideIfFullWidthOrFullHeightImg)({
|
|
40
|
+
imgWidth: imageWidth,
|
|
41
|
+
imgHeight: imageHeight,
|
|
42
|
+
wrapperAspectRatio: aspectRatio,
|
|
43
|
+
}));
|
|
44
|
+
setReorientedImageTempUrl(reorientedUrl);
|
|
45
|
+
setImageLazyLoading(false);
|
|
46
|
+
// setUrlAfterRotate(resetBase64Image);
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* if is not first mount, then rotate just happened.
|
|
52
|
+
* so reset crop data
|
|
53
|
+
*/
|
|
54
|
+
if (!isFirstMount) {
|
|
55
|
+
//means if it is in edit mode
|
|
56
|
+
setUnderEditImageData(function (prev) {
|
|
57
|
+
var newData = (0, lodash_1.cloneDeep)(prev);
|
|
58
|
+
delete newData.cropX;
|
|
59
|
+
delete newData.cropY;
|
|
60
|
+
return newData;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}, [imageRotate]);
|
|
64
|
+
return { reorientedImageTempUrl: reorientedImageTempUrl, imageLazyLoading: imageLazyLoading };
|
|
65
|
+
};
|
|
66
|
+
exports.useReorientImage = useReorientImage;
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
var react_1 = __importStar(require("react"));
|
|
36
|
+
var ImageInputContext_1 = require("../../ImageInputContext");
|
|
37
|
+
var ImageUploadShell = function (_a) {
|
|
38
|
+
var style = _a.style, children = _a.children, disabled = _a.disabled;
|
|
39
|
+
var inputRef = (0, react_1.useRef)(null);
|
|
40
|
+
var _b = (0, ImageInputContext_1.useImageInputContext)(), handleUpload = _b.handleUpload, onChange = _b.onChange, value = _b.value, id = _b.id, multiple = _b.multiple;
|
|
41
|
+
if (disabled)
|
|
42
|
+
return react_1.default.createElement("div", { style: { width: '100%', height: '100%' } }, children);
|
|
43
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
44
|
+
react_1.default.createElement("input", { type: "file", accept: "image/*", style: { display: 'none' }, ref: inputRef, onChange: function (e) { return handleUpload({
|
|
45
|
+
files: e.target.files,
|
|
46
|
+
callback: function (_a) {
|
|
47
|
+
var successfulUploads = _a.successfulUploads;
|
|
48
|
+
onChange(id, multiple
|
|
49
|
+
? __spreadArray(__spreadArray([], successfulUploads, true), (value || []), true) : successfulUploads);
|
|
50
|
+
}
|
|
51
|
+
}); }, multiple: multiple }),
|
|
52
|
+
react_1.default.createElement("div", { onClick: function () { return inputRef.current.click(); }, style: { height: '100%', width: '100%' } }, children)));
|
|
53
|
+
};
|
|
54
|
+
exports.default = ImageUploadShell;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InlineImageInput = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var ImageInputContext_1 = require("../../ImageInputContext");
|
|
9
|
+
var Placeholder_1 = __importDefault(require("../Placeholder"));
|
|
10
|
+
/**
|
|
11
|
+
* this component will expand in its complexity with time
|
|
12
|
+
*/
|
|
13
|
+
var InlineImageInput = function (_a) {
|
|
14
|
+
var _b, _c;
|
|
15
|
+
var _d = (0, ImageInputContext_1.useImageInputContext)(), isLoading = _d.isLoading, value = _d.value;
|
|
16
|
+
return isLoading ? (react_1.default.createElement(Placeholder_1.default, { aspectRatio: "4/1" })) : value && ((_b = value[0]) === null || _b === void 0 ? void 0 : _b.publicUrl) && (react_1.default.createElement("div", null,
|
|
17
|
+
react_1.default.createElement("img", { src: (_c = value[0]) === null || _c === void 0 ? void 0 : _c.publicUrl, style: { width: '100%', height: 'auto' } })));
|
|
18
|
+
};
|
|
19
|
+
exports.InlineImageInput = InlineImageInput;
|