oolib 2.187.9 → 2.187.11
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/index.js +4 -0
- package/dist/components/Banners/index.js +7 -3
- package/dist/components/DatePicker/index.js +3 -2
- package/dist/components/Dropdowns/utils/useHideShowOptions.js +1 -1
- package/dist/components/Dropdowns/utils/useKeyboardControl.js +2 -1
- package/dist/components/IFrameInput/utils/DisplayCoachmark.js +2 -1
- package/dist/components/ImageInput/ImageInputContext.js +4 -3
- package/dist/components/ImageInput/comps/GallerySlider/comps/SliderShell/index.js +3 -3
- package/dist/components/ImageInput/comps/GallerySlider/index.js +3 -6
- package/dist/components/ImageInput/comps/ImageEditor/index.js +2 -7
- package/dist/components/ImageInput/comps/ImageEditor/utils/useReorientImage/changeImageOrientation.js +0 -4
- package/dist/components/Lexical/Plugins/TableCellResizer/index.js +3 -2
- package/dist/components/Modals/Modal/index.js +2 -1
- package/dist/components/Modals/ModalConfirm/index.js +2 -1
- package/dist/components/PDFInput/index.js +4 -0
- package/dist/components/SimpleTable/index.js +3 -2
- package/dist/components/TabBar/index.js +4 -34
- package/dist/components/VideoInput/index.js +4 -0
- package/dist/stories/Oolib/components/Dropdowns.stories.js +2 -1
- package/dist/stories/Oolib/components/SimpleTable.stories.js +3 -3
- package/dist/stories/Oolib/components/Tooltip.stories.js +4 -35
- package/dist/stories/v2/components/Dropdowns.stories.js +2 -1
- package/dist/utils/customHooks/useContainerQuery.js +3 -2
- package/dist/utils/customHooks/useHandleClickOutside.js +2 -1
- package/dist/utils/customHooks/useScreenWidth.js +3 -2
- package/dist/utils/useStyleUpdateAfterToggleTransition.js +3 -2
- package/dist/v2/components/BarChart/index.js +3 -2
- package/dist/v2/components/DatePicker/utils/useDatePickerState.js +5 -4
- package/dist/v2/components/Dropdowns/utils/useHideShowOptions.js +1 -1
- package/dist/v2/components/Dropdowns/utils/useKeyboardControl.js +2 -1
- package/dist/v2/components/HomeCover/comps/ImageSwitcher/index.js +3 -2
- package/dist/v2/components/ImagePlaceholder/index.js +3 -2
- package/dist/v2/themes/utils/createSafeCleanup.d.ts +1 -0
- package/dist/v2/themes/utils/createSafeCleanup.js +18 -0
- package/package.json +1 -1
|
@@ -66,6 +66,7 @@ var AudioAction_1 = require("./comps/AudioAction");
|
|
|
66
66
|
var AudioPlayer_1 = require("./comps/AudioPlayer");
|
|
67
67
|
var styled_js_1 = require("./styled.js");
|
|
68
68
|
var FileUploadWrapper_1 = require("../FileUploadWrapper");
|
|
69
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
69
70
|
function AudioInput(_a) {
|
|
70
71
|
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"]);
|
|
71
72
|
var audioData = value || [];
|
|
@@ -102,6 +103,9 @@ function AudioInput(_a) {
|
|
|
102
103
|
if (files) {
|
|
103
104
|
handleUpload({ files: files });
|
|
104
105
|
}
|
|
106
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
107
|
+
//
|
|
108
|
+
});
|
|
105
109
|
}, []);
|
|
106
110
|
return (react_1.default.createElement(react_1.Fragment, null,
|
|
107
111
|
react_1.default.createElement(BlockLabel_1.BlockLabel, __assign({}, (0, getBlockLabelProps_1.getBlockLabelProps)(props))),
|
|
@@ -51,6 +51,7 @@ var react_router_dom_1 = require("react-router-dom");
|
|
|
51
51
|
var Buttons_1 = require("../Buttons");
|
|
52
52
|
var icons_1 = require("../../icons");
|
|
53
53
|
var Typo_1 = require("../Typo");
|
|
54
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
54
55
|
var ICONS = {
|
|
55
56
|
red: "XCircle",
|
|
56
57
|
green: "CheckCircle",
|
|
@@ -93,10 +94,10 @@ var Banner = function (_a) {
|
|
|
93
94
|
remove(null, id);
|
|
94
95
|
}, timeOut);
|
|
95
96
|
}
|
|
96
|
-
return function () {
|
|
97
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
97
98
|
if (timer)
|
|
98
99
|
clearTimeout(timer);
|
|
99
|
-
};
|
|
100
|
+
});
|
|
100
101
|
}, [cta, id, msg, timeOut]);
|
|
101
102
|
var remove = function (e, id) {
|
|
102
103
|
setHeight(0);
|
|
@@ -139,12 +140,15 @@ var BannerAlert = function (_a) {
|
|
|
139
140
|
var BANNER_STATE = _a.BANNER_STATE, REMOVE_ALERT_BANNER = _a.REMOVE_ALERT_BANNER;
|
|
140
141
|
var _c = (0, react_1.useState)(0), top = _c[0], setTop = _c[1];
|
|
141
142
|
(0, react_1.useEffect)(function () {
|
|
142
|
-
setTimeout(function () {
|
|
143
|
+
var timerId = setTimeout(function () {
|
|
143
144
|
var ele = document.getElementById("bannerInfo");
|
|
144
145
|
if (ele) {
|
|
145
146
|
setTop(ele.offsetHeight);
|
|
146
147
|
}
|
|
147
148
|
}, 100);
|
|
149
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
150
|
+
clearTimeout(timerId);
|
|
151
|
+
});
|
|
148
152
|
}, []);
|
|
149
153
|
return (react_1.default.createElement(styled_1.BannerAlertStyled, { top: top }, (_b = BANNER_STATE === null || BANNER_STATE === void 0 ? void 0 : BANNER_STATE.alertState) === null || _b === void 0 ? void 0 : _b.map(function (e) { return (react_1.default.createElement(Banner, { key: e.id, id: e.id, color: e.color, msg: e.msg, cta: e.cta, handleRemove: REMOVE_ALERT_BANNER, timeOut: e.timeOut, showIcon: e.showIcon, hideCloseButton: e.hideCloseButton })); })));
|
|
150
154
|
};
|
|
@@ -56,6 +56,7 @@ var styled_1 = require("./styled");
|
|
|
56
56
|
var Buttons_1 = require("../Buttons");
|
|
57
57
|
var mixins_1 = require("../../themes/mixins");
|
|
58
58
|
var Modal_1 = require("../Modals/Modal");
|
|
59
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
59
60
|
var white = themes_1.colors.white, greyColor40 = themes_1.colors.greyColor40;
|
|
60
61
|
var months = [
|
|
61
62
|
"January",
|
|
@@ -114,9 +115,9 @@ function DatePicker(props) {
|
|
|
114
115
|
// Add an event listener to the 'scroll' event on the 'window'.
|
|
115
116
|
// When the user scrolls the page, the 'handleVerticalPosDebounced' function will be called.
|
|
116
117
|
window.addEventListener("scroll", handleVerticalPosDebounced);
|
|
117
|
-
return function () {
|
|
118
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
118
119
|
window.removeEventListener("scroll", handleVerticalPosDebounced);
|
|
119
|
-
};
|
|
120
|
+
});
|
|
120
121
|
}, []);
|
|
121
122
|
(0, react_1.useEffect)(function () {
|
|
122
123
|
if (readOnly)
|
|
@@ -14,7 +14,7 @@ var useHideShowOptions = function (options) {
|
|
|
14
14
|
(0, react_1.useEffect)(function () {
|
|
15
15
|
!isFirstMount.current && broadcastShowOptions && broadcastShowOptions(showOptions);
|
|
16
16
|
}, [showOptions]);
|
|
17
|
-
(0, react_1.useEffect)(function () {
|
|
17
|
+
(0, react_1.useEffect)(function () { isFirstMount.current = false; }, []);
|
|
18
18
|
return { showOptions: showOptions, handleHideOptions: handleHideOptions, handleShowOptions: handleShowOptions };
|
|
19
19
|
};
|
|
20
20
|
exports.useHideShowOptions = useHideShowOptions;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useKeyboardControl = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
5
|
var getKeyCode_1 = require("../../../utils/getKeyCode");
|
|
6
|
+
var createSafeCleanup_1 = require("../../../v2/themes/utils/createSafeCleanup");
|
|
6
7
|
var useKeyboardControl = function (_a) {
|
|
7
8
|
var showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, optionsWrapperRef = _a.optionsWrapperRef, handleSelect = _a.handleSelect, options = _a.options, searchString = _a.searchString, id = _a.id;
|
|
8
9
|
var _b = (0, react_1.useState)(-1), focussedOp = _b[0], setFocussedOp = _b[1];
|
|
@@ -47,7 +48,7 @@ var useKeyboardControl = function (_a) {
|
|
|
47
48
|
}
|
|
48
49
|
};
|
|
49
50
|
window.addEventListener('keydown', handleKeyDown);
|
|
50
|
-
return function () { return window.removeEventListener('keydown', handleKeyDown); };
|
|
51
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { return window.removeEventListener('keydown', handleKeyDown); });
|
|
51
52
|
});
|
|
52
53
|
var scrollFocussedOpIntoView = function (el) {
|
|
53
54
|
var _a = el.getBoundingClientRect(), elBottom = _a.bottom, elTop = _a.top;
|
|
@@ -40,6 +40,7 @@ var react_1 = __importStar(require("react"));
|
|
|
40
40
|
var config_1 = __importDefault(require("../../Coachmark/config"));
|
|
41
41
|
var index_1 = require("../../Coachmark/index");
|
|
42
42
|
var mixins_1 = require("../../../themes/mixins");
|
|
43
|
+
var createSafeCleanup_1 = require("../../../v2/themes/utils/createSafeCleanup");
|
|
43
44
|
var DisplayCoachmark = function (_a, ref) {
|
|
44
45
|
var user = _a.user, url = _a.url, setUrl = _a.setUrl;
|
|
45
46
|
var _b = (0, index_1.useCoachmark)({ coachmarks: config_1.default.H5PEmbed, compIdentifier: "H5PEmbed" }), activeMark = _b.activeMark, rank = _b.rank, removeCoachmark = _b.removeCoachmark, showNextMark = _b.showNextMark, useReliableRef = _b.useReliableRef;
|
|
@@ -85,7 +86,7 @@ var DisplayCoachmark = function (_a, ref) {
|
|
|
85
86
|
};
|
|
86
87
|
var adjustOptimized_1 = optimizeForResize(adjustSlidesHeight, 100);
|
|
87
88
|
window.addEventListener('resize', adjustOptimized_1);
|
|
88
|
-
return function () { return window.removeEventListener('resize', adjustOptimized_1); };
|
|
89
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { return window.removeEventListener('resize', adjustOptimized_1); });
|
|
89
90
|
}
|
|
90
91
|
}, []);
|
|
91
92
|
return (react_1.default.createElement(index_1.Coachmark, { active: (user === null || user === void 0 ? void 0 : user.coachmarkChecklist.H5PEmbed) === false && url && url.includes("h5p"), rank: rank, observerThreshold: 0.3, currentMark: activeMark, handleNext: showNextMarkOnTilt, handleSkip: removeCoachmark }));
|
|
@@ -58,6 +58,7 @@ var react_1 = __importStar(require("react"));
|
|
|
58
58
|
var styled_components_1 = require("styled-components");
|
|
59
59
|
var useFakeUploadMedia_1 = require("../../utilsOolib/useFakeUploadMedia");
|
|
60
60
|
var bannerContext_1 = require("../Banners/bannerContext");
|
|
61
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
61
62
|
exports.ImageInputContext = (0, react_1.createContext)();
|
|
62
63
|
var ImageInputContextProvider = function (_a) {
|
|
63
64
|
var children = _a.children, value = _a.value, multiple = _a.multiple, allowedFormats = _a.allowedFormats, formatConvertConfig = _a.formatConvertConfig, folderName = _a.folderName, bucketEnv = _a.bucketEnv, onChange = _a.onChange, id = _a.id, aspectRatio = _a.aspectRatio, readOnly = _a.readOnly, enableCaptions = _a.enableCaptions, defaultImageSpread = _a.defaultImageSpread, invert = _a.invert, containerShape = _a.containerShape, stretchToFullHeight = _a.stretchToFullHeight, dropzoneLabel = _a.dropzoneLabel, dropzoneSublabel = _a.dropzoneSublabel, disableImageBorder = _a.disableImageBorder, omitEditorTools = _a.omitEditorTools, files = _a.files, showOptionalLabelInDropzone = _a.showOptionalLabelInDropzone, isRequired = _a.isRequired, isInRTE = _a.isInRTE, showImageUploadCaution = _a.showImageUploadCaution;
|
|
@@ -144,8 +145,10 @@ var ImageInputContextProvider = function (_a) {
|
|
|
144
145
|
}
|
|
145
146
|
});
|
|
146
147
|
}
|
|
148
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
149
|
+
//
|
|
150
|
+
});
|
|
147
151
|
}, []);
|
|
148
|
-
console.log({ outside_value: value });
|
|
149
152
|
// Create a ref to always track the latest value
|
|
150
153
|
var valueRef = (0, react_1.useRef)(value);
|
|
151
154
|
// Keep the ref updated whenever value changes
|
|
@@ -155,11 +158,9 @@ var ImageInputContextProvider = function (_a) {
|
|
|
155
158
|
var handleSingleImageDataChange = function (_a) {
|
|
156
159
|
var publicUrl = _a.publicUrl, imageData = _a.imageData;
|
|
157
160
|
//publicUrl is used as an 'id' identifier
|
|
158
|
-
console.log({ publicUrl: publicUrl, imageData: imageData, valueToUpdate: JSON.parse(JSON.stringify(value)) });
|
|
159
161
|
var currentValue = valueRef.current;
|
|
160
162
|
var newValue = __spreadArray([], currentValue, true);
|
|
161
163
|
var imgIdxToReplace = newValue.findIndex(function (d) { return d.publicUrl === publicUrl; });
|
|
162
|
-
console.log({ imgIdxToReplace: imgIdxToReplace, valueAfterFindIndex: JSON.parse(JSON.stringify(value)) });
|
|
163
164
|
newValue[imgIdxToReplace] = imageData;
|
|
164
165
|
onChange(id, newValue);
|
|
165
166
|
};
|
|
@@ -41,6 +41,7 @@ var calcAspectRatio_1 = require("../../../ImageEditor/utils/calcAspectRatio");
|
|
|
41
41
|
var themes_1 = require("../../../../../../themes");
|
|
42
42
|
var icons_1 = require("../../../../../../icons");
|
|
43
43
|
var Typo_1 = require("../../../../../Typo");
|
|
44
|
+
var createSafeCleanup_1 = require("../../../../../../v2/themes/utils/createSafeCleanup");
|
|
44
45
|
var greyColor80 = themes_1.colors.greyColor80;
|
|
45
46
|
var CaretLeft = icons_1.icons.CaretLeft, CaretRight = icons_1.icons.CaretRight;
|
|
46
47
|
var SliderShell = function (_a) {
|
|
@@ -58,7 +59,6 @@ var SliderShell = function (_a) {
|
|
|
58
59
|
(0, react_1.useEffect)(function () {
|
|
59
60
|
updateHeight();
|
|
60
61
|
window.addEventListener('resize', updateHeight);
|
|
61
|
-
// console.log({ imageMinusCaptionHeight, wrapperRef })
|
|
62
62
|
var intervalId = setInterval(function () {
|
|
63
63
|
// to avoid issues in cases where height is initally 0 because parent block has display:hidden condition on initial render
|
|
64
64
|
if (!isHeightSet) {
|
|
@@ -68,10 +68,10 @@ var SliderShell = function (_a) {
|
|
|
68
68
|
clearInterval(intervalId);
|
|
69
69
|
}
|
|
70
70
|
}, 100);
|
|
71
|
-
return function () {
|
|
71
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
72
72
|
window.removeEventListener('resize', updateHeight);
|
|
73
73
|
intervalId && clearInterval(intervalId);
|
|
74
|
-
};
|
|
74
|
+
});
|
|
75
75
|
}, []);
|
|
76
76
|
return (react_1.default.createElement(styled_1.StyledFlexWrapper, { ref: wrapperRef },
|
|
77
77
|
value.map(function (v, idx) { return (react_1.default.createElement(styled_1.StyledFlexItem, { key: (v === null || v === void 0 ? void 0 : v.publicUrl) || idx, marginLeft: idx === 0 && activeIdx * -100 + "%" }, render(v, idx) /* explicitly called, cuz we want an error to throw if render prop aint passed thru */)); }),
|
|
@@ -57,7 +57,7 @@ var useSwipe_1 = require("../../../../utils/customHooks/useSwipe");
|
|
|
57
57
|
var GallerySlider = function () {
|
|
58
58
|
var _a = (0, ImageInputContext_1.useImageInputContext)(), value = _a.value, noOfImagesUploading = _a.noOfImagesUploading, invert = _a.invert;
|
|
59
59
|
var _b = (0, react_1.useState)(0), activeIdx = _b[0], setActiveIdx = _b[1];
|
|
60
|
-
(0, react_1.useEffect)(function () {
|
|
60
|
+
(0, react_1.useEffect)(function () { setActiveIdx(0), [value === null || value === void 0 ? void 0 : value.length]; }, []); // reset the activeidx with uploading new images(focus on the newly added Images)
|
|
61
61
|
var uploadingPlaceholders = (0, makeArrayFromLength_1.makeArrayFromLength)(noOfImagesUploading).map(function (d) { return undefined; });
|
|
62
62
|
var isTouchDevice = (0, react_1.useRef)('ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0);
|
|
63
63
|
var handleDragStart = (0, useSwipe_1.useSwipe)({
|
|
@@ -70,10 +70,7 @@ var GallerySlider = function () {
|
|
|
70
70
|
}).handleDragStart;
|
|
71
71
|
return (react_1.default.createElement(styled_1.StyledGallery, { invert: invert },
|
|
72
72
|
react_1.default.createElement(GalleryThumbnails_1.GalleryThumbnails, { setActiveIdx: setActiveIdx, activeIdx: activeIdx }),
|
|
73
|
-
(value === null || value === void 0 ? void 0 : value.length) > 0 ? (react_1.default.createElement(SliderShell_1.SliderShell, { value: __spreadArray(__spreadArray([], uploadingPlaceholders, true), value, true), activeIdx: activeIdx, setActiveIdx: setActiveIdx, render: function (v, idx) {
|
|
74
|
-
|
|
75
|
-
return (react_1.default.createElement(SingleImageInput_1.SingleImageInput, { key: (v === null || v === void 0 ? void 0 : v.publicUrl) || idx,
|
|
76
|
-
value: v, handleDragStart: handleDragStart }));
|
|
77
|
-
} })) : (react_1.default.createElement(Placeholder_1.default, null))));
|
|
73
|
+
(value === null || value === void 0 ? void 0 : value.length) > 0 ? (react_1.default.createElement(SliderShell_1.SliderShell, { value: __spreadArray(__spreadArray([], uploadingPlaceholders, true), value, true), activeIdx: activeIdx, setActiveIdx: setActiveIdx, render: function (v, idx) { return (react_1.default.createElement(SingleImageInput_1.SingleImageInput, { key: (v === null || v === void 0 ? void 0 : v.publicUrl) || idx,
|
|
74
|
+
value: v, handleDragStart: handleDragStart })); } })) : (react_1.default.createElement(Placeholder_1.default, null))));
|
|
78
75
|
};
|
|
79
76
|
exports.default = GallerySlider;
|
|
@@ -164,19 +164,14 @@ function ImageEditor(_a) {
|
|
|
164
164
|
padding: readOnly ? "1rem" : "2rem",
|
|
165
165
|
backgroundColor: invert ? themes_1.colors.greyColor90 : themes_1.colors.greyColor5,
|
|
166
166
|
} }, !LexicalTextEditor
|
|
167
|
-
? react_1.default.createElement(TextInputs_1.TextInput
|
|
168
|
-
|
|
167
|
+
? react_1.default.createElement(TextInputs_1.TextInput //basically on oolib it renders this for preview purposes.
|
|
168
|
+
, { value: imageData.caption, onChange: function (id, val) {
|
|
169
169
|
handleSingleImageDataChange({
|
|
170
170
|
publicUrl: publicUrl,
|
|
171
171
|
imageData: __assign(__assign({}, imageData), { caption: val }),
|
|
172
172
|
});
|
|
173
173
|
} })
|
|
174
|
-
// renderRTEPlaceholderForOolibPreview({
|
|
175
|
-
// width: '100%',
|
|
176
|
-
// height: '30px'
|
|
177
|
-
// })
|
|
178
174
|
: react_1.default.createElement(LexicalTextEditor, { 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) {
|
|
179
|
-
console.log('in lex caption change handler', { imageData: imageData, caption: val, publicUrl: publicUrl });
|
|
180
175
|
handleSingleImageDataChange({
|
|
181
176
|
publicUrl: publicUrl,
|
|
182
177
|
imageData: __assign(__assign({}, imageData), { caption: val }),
|
|
@@ -22,7 +22,6 @@ var changeImageOrientation = function (_a) {
|
|
|
22
22
|
{ deg: -90, orientation: 8 },
|
|
23
23
|
//later : permutations and combinations of these can enable flip
|
|
24
24
|
];
|
|
25
|
-
// console.log({imageRotate})
|
|
26
25
|
var orientationToSet = degToOrientationValueMap.find(function (d) { return d.deg === (imageRotate % 360); } //so that we bring all numbers within the range of -360 & 360
|
|
27
26
|
).orientation;
|
|
28
27
|
// set proper canvas dimensions before transform & export
|
|
@@ -62,8 +61,6 @@ var changeImageOrientation = function (_a) {
|
|
|
62
61
|
}
|
|
63
62
|
// draw image
|
|
64
63
|
ctx.drawImage(img, 0, 0);
|
|
65
|
-
// console.log({newUrl: 'newUrl'})
|
|
66
|
-
// console.log({newUrl: canvas.toDataURL()})
|
|
67
64
|
// export base64
|
|
68
65
|
callback({
|
|
69
66
|
reorientedUrl: canvas.toDataURL(),
|
|
@@ -71,6 +68,5 @@ var changeImageOrientation = function (_a) {
|
|
|
71
68
|
imageHeight: canvas.height
|
|
72
69
|
});
|
|
73
70
|
};
|
|
74
|
-
// console.log({ srcUrl });
|
|
75
71
|
};
|
|
76
72
|
exports.changeImageOrientation = changeImageOrientation;
|
|
@@ -54,6 +54,7 @@ var React = __importStar(require("react"));
|
|
|
54
54
|
var react_1 = require("react");
|
|
55
55
|
var react_dom_1 = require("react-dom");
|
|
56
56
|
var index_styled_1 = require("./index.styled");
|
|
57
|
+
var createSafeCleanup_1 = require("../../../../v2/themes/utils/createSafeCleanup");
|
|
57
58
|
var MIN_ROW_HEIGHT = 33;
|
|
58
59
|
var MIN_COLUMN_WIDTH = 50;
|
|
59
60
|
function TableCellResizer(_a) {
|
|
@@ -123,9 +124,9 @@ function TableCellResizer(_a) {
|
|
|
123
124
|
}, 0);
|
|
124
125
|
};
|
|
125
126
|
document.addEventListener('mousemove', onMouseMove);
|
|
126
|
-
return function () {
|
|
127
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
127
128
|
document.removeEventListener('mousemove', onMouseMove);
|
|
128
|
-
};
|
|
129
|
+
});
|
|
129
130
|
}, [activeCell, draggingDirection, editor, resetState]);
|
|
130
131
|
var isHeightChanging = function (direction) {
|
|
131
132
|
if (direction === 'bottom') {
|
|
@@ -55,6 +55,7 @@ var ModalHeaderStyle2_1 = require("./comps/ModalHeaderStyle2");
|
|
|
55
55
|
var styled_1 = require("./styled");
|
|
56
56
|
var Buttons_1 = require("../../Buttons");
|
|
57
57
|
var Divider_1 = require("../../Divider");
|
|
58
|
+
var createSafeCleanup_1 = require("../../../v2/themes/utils/createSafeCleanup");
|
|
58
59
|
/**
|
|
59
60
|
* @component Renders a modal component with customizable title, content, and actions.
|
|
60
61
|
*
|
|
@@ -89,7 +90,7 @@ var Modal = function (_a) {
|
|
|
89
90
|
var _o = (0, react_1.useState)(endAnimPos), animPos = _o[0], setAnimPos = _o[1];
|
|
90
91
|
(0, react_1.useEffect)(function () {
|
|
91
92
|
document.body.style.overflow = "hidden";
|
|
92
|
-
return function () { document.body.style.overflow = "unset"; };
|
|
93
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { document.body.style.overflow = "unset"; });
|
|
93
94
|
}, []);
|
|
94
95
|
var genHeader = function () {
|
|
95
96
|
var headerStyles = {
|
|
@@ -41,6 +41,7 @@ var useScreenWidth_1 = require("../../../utils/customHooks/useScreenWidth");
|
|
|
41
41
|
var Buttons_1 = require("../../Buttons");
|
|
42
42
|
var Typo_1 = require("../../Typo");
|
|
43
43
|
var styled_1 = require("./styled");
|
|
44
|
+
var createSafeCleanup_1 = require("../../../v2/themes/utils/createSafeCleanup");
|
|
44
45
|
/**
|
|
45
46
|
* @component Renders a modal confirmation component with customizable text, buttons and styling.
|
|
46
47
|
*
|
|
@@ -65,7 +66,7 @@ var ModalConfirm = function (_a) {
|
|
|
65
66
|
var _g = (0, react_1.useState)(endAnimPos), animPos = _g[0], setAnimPos = _g[1];
|
|
66
67
|
(0, react_1.useEffect)(function () {
|
|
67
68
|
document.body.style.overflow = "hidden";
|
|
68
|
-
return function () { document.body.style.overflow = "unset"; };
|
|
69
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { document.body.style.overflow = "unset"; });
|
|
69
70
|
}, []);
|
|
70
71
|
var SubTitleText = screenWidth >= (0, mixins_1.getBreakPoint)('sm') ? Typo_1.SANS_4 : Typo_1.SANS_3;
|
|
71
72
|
var genModalContents = function () { return (react_1.default.createElement(react_1.Fragment, null,
|
|
@@ -74,6 +74,7 @@ var useFakeUploadImpression_1 = require("../../utilsOolib/useFakeUploadImpressio
|
|
|
74
74
|
var react_3 = require("react");
|
|
75
75
|
var PDFActions_1 = require("./comps/PDFActions");
|
|
76
76
|
var FileUploadWrapper_1 = require("../FileUploadWrapper");
|
|
77
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
77
78
|
var StyledActionsButtonWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1000;\n margin: 0.5rem;\n"], ["\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1000;\n margin: 0.5rem;\n"])));
|
|
78
79
|
function PDFInput(_a) {
|
|
79
80
|
var id = _a.id, parentOnChange = _a.onChange, value = _a.value, files = _a.files, readOnly = _a.readOnly, invert = _a.invert, isInRTE = _a.isInRTE, props = __rest(_a, ["id", "onChange", "value", "files", "readOnly", "invert", "isInRTE"]);
|
|
@@ -111,6 +112,9 @@ function PDFInput(_a) {
|
|
|
111
112
|
if (files) {
|
|
112
113
|
handleUpload({ files: files });
|
|
113
114
|
}
|
|
115
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
116
|
+
//
|
|
117
|
+
});
|
|
114
118
|
}, []);
|
|
115
119
|
return (react_1.default.createElement(react_3.Fragment, null,
|
|
116
120
|
react_1.default.createElement(BlockLabel_1.BlockLabel, __assign({}, (0, getBlockLabelProps_1.getBlockLabelProps)(props), { invert: invert })),
|
|
@@ -80,6 +80,7 @@ var DropdownSingle_1 = require("../Dropdowns/DropdownSingle");
|
|
|
80
80
|
var TextInputs_1 = require("../TextInputs");
|
|
81
81
|
var icons_1 = require("../../icons");
|
|
82
82
|
var Typo2_1 = require("../../v2/components/Typo2");
|
|
83
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
83
84
|
var ArrowDown = icons_1.icons.ArrowDown;
|
|
84
85
|
var greyColor100 = themes_1.colors.greyColor100;
|
|
85
86
|
/**
|
|
@@ -138,10 +139,10 @@ function SimpleTable(_a) {
|
|
|
138
139
|
(0, react_1.useEffect)(function () {
|
|
139
140
|
window.addEventListener("mouseup", resetColResizeState);
|
|
140
141
|
window.addEventListener("mousemove", handleResizeColumn);
|
|
141
|
-
return function () {
|
|
142
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
142
143
|
window.removeEventListener("mousemove", handleResizeColumn);
|
|
143
144
|
window.removeEventListener("mouseup", resetColResizeState);
|
|
144
|
-
};
|
|
145
|
+
});
|
|
145
146
|
}, [colResizeState]);
|
|
146
147
|
var CellContentBlocks = {
|
|
147
148
|
RichTextEditor: RichTextEditor,
|
|
@@ -10,42 +10,12 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
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 () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
46
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
17
|
exports.TabBarStyle2 = exports.TabBarStyle1 = void 0;
|
|
48
|
-
var react_1 =
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
49
19
|
var useScrollBar_1 = require("../../utils/customHooks/useScrollBar");
|
|
50
20
|
var Buttons_1 = require("../Buttons");
|
|
51
21
|
var index_styled_1 = require("./index.styled");
|
|
@@ -62,6 +62,7 @@ var VideoActionMenu_1 = require("./comps/VideoActionMenu");
|
|
|
62
62
|
var FileUploadWrapper_1 = require("../FileUploadWrapper");
|
|
63
63
|
var getBlockLabelProps_1 = require("../../utils/getBlockLabelProps");
|
|
64
64
|
var utils_1 = require("./utils");
|
|
65
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
65
66
|
function VideoInput(_a) {
|
|
66
67
|
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
|
|
67
68
|
width = _a.width, height = _a.height;
|
|
@@ -108,6 +109,9 @@ function VideoInput(_a) {
|
|
|
108
109
|
if (files) {
|
|
109
110
|
handleUpload({ files: files });
|
|
110
111
|
}
|
|
112
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
113
|
+
//cleanup
|
|
114
|
+
});
|
|
111
115
|
}, []);
|
|
112
116
|
var createVideoPreview = function (_a) {
|
|
113
117
|
var _b;
|
|
@@ -65,6 +65,7 @@ var Paddings_1 = require("../../../components/Paddings");
|
|
|
65
65
|
var themes_1 = require("../../../themes");
|
|
66
66
|
var Dropdowns_mdx_1 = __importDefault(require("./Dropdowns.mdx"));
|
|
67
67
|
var icons_1 = require("../../../icons");
|
|
68
|
+
var createSafeCleanup_1 = require("../../../v2/themes/utils/createSafeCleanup");
|
|
68
69
|
// import { faker } from '@faker-js/faker';
|
|
69
70
|
// const generateRandomCountry = () => ({
|
|
70
71
|
// display: faker.address.country(),
|
|
@@ -249,7 +250,7 @@ var Dropdowns = function (args) {
|
|
|
249
250
|
setOptions(newOptions);
|
|
250
251
|
}, 2000);
|
|
251
252
|
// Cleanup the timeout on component unmount
|
|
252
|
-
return function () { return clearTimeout(delayOptions); };
|
|
253
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { return clearTimeout(delayOptions); });
|
|
253
254
|
}, [args.optionDescription, args.optionImage, args.optionIcon, args.colors]);
|
|
254
255
|
var Comp = args.selection === "single" ? DropdownSingle_1.DropdownSingle : DropdownMulti_1.DropdownMulti;
|
|
255
256
|
return (react_1.default.createElement("div", { style: { background: args.invert && themes_1.colors.greyColor100 } },
|
|
@@ -115,9 +115,9 @@ var SimpleTable = function (args) {
|
|
|
115
115
|
value: val,
|
|
116
116
|
onChange: function (k, v) { return setVal(v); }
|
|
117
117
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}, [props])
|
|
118
|
+
// useEffect(() => {
|
|
119
|
+
// console.log({data: props})
|
|
120
|
+
// }, [props])
|
|
121
121
|
return (react_1.default.createElement("div", { style: { backgroundColor: themes_1.colors.greyColor10 } },
|
|
122
122
|
react_1.default.createElement(Wrappers_1.Wrapper700, { style: { backgroundColor: 'white' } },
|
|
123
123
|
react_1.default.createElement(Paddings_1.PaddingTopBottom40, null,
|
|
@@ -10,46 +10,15 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
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 () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
46
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
17
|
exports.Tooltip = void 0;
|
|
48
|
-
var react_1 =
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
49
19
|
var Tooltip_1 = require("../../../components/Tooltip");
|
|
50
20
|
// import { ButtonPrimary } from '../components/Buttons';
|
|
51
21
|
var phosphor_react_1 = require("phosphor-react");
|
|
52
|
-
var lodash_1 = require("lodash");
|
|
53
22
|
var themes_1 = require("../../../themes");
|
|
54
23
|
exports.default = {
|
|
55
24
|
title: 'Components/Tooltip',
|
|
@@ -61,6 +61,7 @@ var themes_1 = require("../../../themes");
|
|
|
61
61
|
var icons_1 = require("../../../icons");
|
|
62
62
|
var DropdownMulti_1 = require("../../../v2/components/Dropdowns/DropdownMulti");
|
|
63
63
|
var DropdownSingle_1 = require("../../../v2/components/Dropdowns/DropdownSingle");
|
|
64
|
+
var createSafeCleanup_1 = require("../../../v2/themes/utils/createSafeCleanup");
|
|
64
65
|
// import { faker } from '@faker-js/faker';
|
|
65
66
|
// const generateRandomCountry = () => ({
|
|
66
67
|
// display: faker.address.country(),
|
|
@@ -240,7 +241,7 @@ var Dropdowns = function (args) {
|
|
|
240
241
|
setOptions(newOptions);
|
|
241
242
|
}, 2000);
|
|
242
243
|
// Cleanup the timeout on component unmount
|
|
243
|
-
return function () { return clearTimeout(delayOptions); };
|
|
244
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { return clearTimeout(delayOptions); });
|
|
244
245
|
}, [args.optionDescription, args.optionImage, args.optionIcon, args.colors]);
|
|
245
246
|
var Comp = args.selection === "single" ? DropdownSingle_1.DropdownSingle : DropdownMulti_1.DropdownMulti;
|
|
246
247
|
return (react_1.default.createElement("div", { style: { background: args.invert && themes_1.colors.greyColor100 } },
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useContainerQuery = void 0;
|
|
4
4
|
var mixins_1 = require("../../themes/mixins");
|
|
5
5
|
var react_1 = require("react");
|
|
6
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
6
7
|
var useContainerQuery = function (options) {
|
|
7
8
|
if (options === void 0) { options = {}; }
|
|
8
9
|
var enabled = options.enabled;
|
|
@@ -19,11 +20,11 @@ var useContainerQuery = function (options) {
|
|
|
19
20
|
if (ref.current) {
|
|
20
21
|
resizeObserver.observe(ref.current);
|
|
21
22
|
}
|
|
22
|
-
return function () {
|
|
23
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
23
24
|
if (ref.current) {
|
|
24
25
|
resizeObserver.unobserve(ref.current);
|
|
25
26
|
}
|
|
26
|
-
};
|
|
27
|
+
});
|
|
27
28
|
}, [ref]);
|
|
28
29
|
//if container queries are written for multiple breakpoints
|
|
29
30
|
//then they must be written in the order of small to big.
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useHandleClickOutside = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
5
|
var toArray_1 = require("../toArray");
|
|
6
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
6
7
|
/**
|
|
7
8
|
*
|
|
8
9
|
* @param {*} ref can be a ref or an array of refs
|
|
@@ -22,7 +23,7 @@ var useHandleClickOutside = function (ref, setShowOptions, options) {
|
|
|
22
23
|
};
|
|
23
24
|
(0, react_1.useEffect)(function () {
|
|
24
25
|
document.addEventListener('mousedown', handleClickOutside); //its very important for this to be mousedown. 'click' acts unpredictable
|
|
25
|
-
return function () { return document.removeEventListener('mousedown', handleClickOutside); };
|
|
26
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { return document.removeEventListener('mousedown', handleClickOutside); });
|
|
26
27
|
}, [enabled]);
|
|
27
28
|
};
|
|
28
29
|
exports.useHandleClickOutside = useHandleClickOutside;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useScreenWidth = void 0;
|
|
4
4
|
var lodash_1 = require("lodash");
|
|
5
5
|
var react_1 = require("react");
|
|
6
|
+
var createSafeCleanup_1 = require("../../v2/themes/utils/createSafeCleanup");
|
|
6
7
|
/**
|
|
7
8
|
* Custom hook that tracks the screen width and invokes a resize function if provided.
|
|
8
9
|
*
|
|
@@ -19,9 +20,9 @@ var useScreenWidth = function (options) {
|
|
|
19
20
|
}, 500);
|
|
20
21
|
(0, react_1.useEffect)(function () {
|
|
21
22
|
window.addEventListener('resize', handleResize);
|
|
22
|
-
return function () {
|
|
23
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
23
24
|
window.removeEventListener('resize', handleResize);
|
|
24
|
-
};
|
|
25
|
+
});
|
|
25
26
|
}, [handleResize]);
|
|
26
27
|
return screenWidth;
|
|
27
28
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useStyleUpdateAfterToggleTransition = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
+
var createSafeCleanup_1 = require("../v2/themes/utils/createSafeCleanup");
|
|
5
6
|
var useStyleUpdateAfterToggleTransition = function (_a) {
|
|
6
7
|
var styleOptions = _a.styleOptions, // ['hidden', 'visible']
|
|
7
8
|
_initStyle = _a.initStyle, //hidden
|
|
@@ -28,11 +29,11 @@ var useStyleUpdateAfterToggleTransition = function (_a) {
|
|
|
28
29
|
setStyle(initStyle.current);
|
|
29
30
|
}
|
|
30
31
|
// Cleanup function to clear timeout if component updates/unmounts
|
|
31
|
-
return function () {
|
|
32
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
32
33
|
if (timeoutId) {
|
|
33
34
|
clearTimeout(timeoutId);
|
|
34
35
|
}
|
|
35
|
-
};
|
|
36
|
+
});
|
|
36
37
|
}, [toggleState, transitionDuration]);
|
|
37
38
|
return ({
|
|
38
39
|
style: style
|
|
@@ -64,6 +64,7 @@ var getTotalCount_1 = require("../../../utils/getTotalCount");
|
|
|
64
64
|
var CustomizedLabel_1 = require("./comps/CustomizedLabel");
|
|
65
65
|
var colors_1 = require("../../themes/colors");
|
|
66
66
|
var CustomTooltip_1 = __importDefault(require("./comps/CustomTooltip"));
|
|
67
|
+
var createSafeCleanup_1 = require("../../themes/utils/createSafeCleanup");
|
|
67
68
|
var usePrepareData = function (_a) {
|
|
68
69
|
var _data = _a._data, labelPath = _a.labelPath, valuePath = _a.valuePath, tooltipLabelsMapping = _a.tooltipLabelsMapping, tooltipLabelsPath = _a.tooltipLabelsPath, isBreakdown = _a.isBreakdown, showPercent = _a.showPercent;
|
|
69
70
|
return (0, react_1.useMemo)(function () {
|
|
@@ -214,9 +215,9 @@ var BarChart = function (_a) {
|
|
|
214
215
|
};
|
|
215
216
|
window.addEventListener('mousemove', handleMouseMove);
|
|
216
217
|
// Clean up
|
|
217
|
-
return function () {
|
|
218
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
218
219
|
window.removeEventListener('mousemove', handleMouseMove);
|
|
219
|
-
};
|
|
220
|
+
});
|
|
220
221
|
}, []);
|
|
221
222
|
// menu options for grouped and stacked
|
|
222
223
|
var renderBar = function (stackIndex, lastIndex) {
|
|
@@ -13,6 +13,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.useDatePickerState = void 0;
|
|
15
15
|
var react_1 = require("react");
|
|
16
|
+
var createSafeCleanup_1 = require("../../../themes/utils/createSafeCleanup");
|
|
16
17
|
var useDatePickerState = function (_a) {
|
|
17
18
|
var _b = _a.withPortal, withPortal = _b === void 0 ? false : _b, portalId = _a.portalId, onDateSelect = _a.onDateSelect;
|
|
18
19
|
var _c = (0, react_1.useState)(false), isOpen = _c[0], setIsOpen = _c[1];
|
|
@@ -78,17 +79,17 @@ var useDatePickerState = function (_a) {
|
|
|
78
79
|
(0, react_1.useEffect)(function () {
|
|
79
80
|
if (withPortal && portalOpen) {
|
|
80
81
|
document.addEventListener('mousedown', handleClickOutside);
|
|
81
|
-
return function () {
|
|
82
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
82
83
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
83
|
-
};
|
|
84
|
+
});
|
|
84
85
|
}
|
|
85
86
|
}, [withPortal, portalOpen, handleClickOutside]);
|
|
86
87
|
(0, react_1.useEffect)(function () {
|
|
87
|
-
return function () {
|
|
88
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
88
89
|
if (withPortal) {
|
|
89
90
|
cleanupPortalBackdrop(portalId);
|
|
90
91
|
}
|
|
91
|
-
};
|
|
92
|
+
});
|
|
92
93
|
}, [withPortal, portalId, cleanupPortalBackdrop]);
|
|
93
94
|
var datePickerProps = __assign({ open: withPortal ? portalOpen : isOpen, onInputClick: handleInputClick, onChange: handleDateChange }, (withPortal ? {
|
|
94
95
|
withPortal: true,
|
|
@@ -14,7 +14,7 @@ var useHideShowOptions = function (options) {
|
|
|
14
14
|
(0, react_1.useEffect)(function () {
|
|
15
15
|
!isFirstMount.current && broadcastShowOptions && broadcastShowOptions(showOptions);
|
|
16
16
|
}, [showOptions]);
|
|
17
|
-
(0, react_1.useEffect)(function () {
|
|
17
|
+
(0, react_1.useEffect)(function () { isFirstMount.current = false; }, []);
|
|
18
18
|
return { showOptions: showOptions, handleHideOptions: handleHideOptions, handleShowOptions: handleShowOptions };
|
|
19
19
|
};
|
|
20
20
|
exports.useHideShowOptions = useHideShowOptions;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useKeyboardControl = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
5
|
var getKeyCode_1 = require("../../../../utils/getKeyCode");
|
|
6
|
+
var createSafeCleanup_1 = require("../../../themes/utils/createSafeCleanup");
|
|
6
7
|
var useKeyboardControl = function (_a) {
|
|
7
8
|
var showOptions = _a.showOptions, handleHideOptions = _a.handleHideOptions, optionsWrapperRef = _a.optionsWrapperRef, handleSelect = _a.handleSelect, options = _a.options, searchString = _a.searchString, id = _a.id;
|
|
8
9
|
var _b = (0, react_1.useState)(-1), focussedOp = _b[0], setFocussedOp = _b[1];
|
|
@@ -47,7 +48,7 @@ var useKeyboardControl = function (_a) {
|
|
|
47
48
|
}
|
|
48
49
|
};
|
|
49
50
|
window.addEventListener('keydown', handleKeyDown);
|
|
50
|
-
return function () { return window.removeEventListener('keydown', handleKeyDown); };
|
|
51
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () { return window.removeEventListener('keydown', handleKeyDown); });
|
|
51
52
|
});
|
|
52
53
|
var scrollFocussedOpIntoView = function (el) {
|
|
53
54
|
var _a = el.getBoundingClientRect(), elBottom = _a.bottom, elTop = _a.top;
|
|
@@ -47,6 +47,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
47
47
|
exports.ImageSwitcher = void 0;
|
|
48
48
|
var react_1 = __importStar(require("react"));
|
|
49
49
|
var styled_1 = require("./styled");
|
|
50
|
+
var createSafeCleanup_1 = require("../../../../themes/utils/createSafeCleanup");
|
|
50
51
|
var ImageSwitcher = function (_a) {
|
|
51
52
|
var images = _a.images, _b = _a.isDesktop, isDesktop = _b === void 0 ? true : _b, theme = _a.theme;
|
|
52
53
|
// Common state structure for both desktop and mobile
|
|
@@ -76,10 +77,10 @@ var ImageSwitcher = function (_a) {
|
|
|
76
77
|
}, 800); // Match transition duration
|
|
77
78
|
}, 3000);
|
|
78
79
|
}
|
|
79
|
-
return function () {
|
|
80
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
80
81
|
clearTimeout(timeout);
|
|
81
82
|
clearInterval(interval);
|
|
82
|
-
};
|
|
83
|
+
});
|
|
83
84
|
}, [isDesktop, images.length]);
|
|
84
85
|
if (isDesktop) {
|
|
85
86
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -40,6 +40,7 @@ exports.ImagePlaceholder = void 0;
|
|
|
40
40
|
var react_1 = __importStar(require("react"));
|
|
41
41
|
var gradient_background_jpg_1 = __importDefault(require("../../../assets/images/gradient_background.jpg"));
|
|
42
42
|
var styled_1 = require("./styled");
|
|
43
|
+
var createSafeCleanup_1 = require("../../themes/utils/createSafeCleanup");
|
|
43
44
|
var ImagePlaceholder = function (_a) {
|
|
44
45
|
var title = _a.title, height = _a.height, fontWeight = _a.fontWeight, _b = _a.aspectRatio, aspectRatio = _b === void 0 ? "5/3" : _b, _c = _a.letterSizeMultiplier, letterSizeMultiplier = _c === void 0 ? 1.8 : _c, _d = _a.strechToFullHeight, strechToFullHeight = _d === void 0 ? false : _d, _e = _a.style, style = _e === void 0 ? {} : _e;
|
|
45
46
|
var containerRef = (0, react_1.useRef)(null);
|
|
@@ -55,9 +56,9 @@ var ImagePlaceholder = function (_a) {
|
|
|
55
56
|
calculateLetterSize();
|
|
56
57
|
window.addEventListener('resize', calculateLetterSize);
|
|
57
58
|
// Cleanup listener
|
|
58
|
-
return function () {
|
|
59
|
+
return (0, createSafeCleanup_1.createSafeCleanup)(function () {
|
|
59
60
|
window.removeEventListener('resize', calculateLetterSize);
|
|
60
|
-
};
|
|
61
|
+
});
|
|
61
62
|
}, []);
|
|
62
63
|
var colors = [
|
|
63
64
|
'#9EE4F1',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createSafeCleanup(cleanupFn: any): () => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSafeCleanup = void 0;
|
|
4
|
+
var createSafeCleanup = function (cleanupFn) {
|
|
5
|
+
// Return a function that will be called by React when unmounting
|
|
6
|
+
return function () {
|
|
7
|
+
try {
|
|
8
|
+
// Only call the cleanup if it's a function
|
|
9
|
+
if (typeof cleanupFn === 'function') {
|
|
10
|
+
cleanupFn();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
console.warn('Error in cleanup function:', err);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
exports.createSafeCleanup = createSafeCleanup;
|