@threekit-tools/treble 0.0.81 → 0.0.82
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/Treble/Treble.d.ts +2 -2
- package/dist/Treble/Treble.js +1 -1
- package/dist/Treble/index.js +5 -1
- package/dist/api/index.js +5 -1
- package/dist/components/Accordion/index.js +5 -1
- package/dist/components/Drawer/index.js +7 -3
- package/dist/components/Dropdown/index.js +7 -3
- package/dist/components/FlatForm/index.js +5 -1
- package/dist/components/Modal/index.js +2 -2
- package/dist/components/PortalToArOverlay/index.js +5 -1
- package/dist/components/Share/index.js +2 -2
- package/dist/components/Snapshots/index.js +2 -2
- package/dist/components/Tabs/index.js +5 -1
- package/dist/components/ThreekitProvider/index.js +5 -1
- package/dist/components/TrebleApp/index.js +5 -1
- package/dist/components/Upload/index.js +14 -9
- package/dist/components/UploadArea/index.js +12 -8
- package/dist/components/Wishlist/index.d.ts +1 -1
- package/dist/components/Wishlist/index.js +10 -5
- package/dist/components/Zoom/index.d.ts +1 -1
- package/dist/components/Zoom/index.js +5 -4
- package/dist/components/formComponents.js +5 -1
- package/dist/components/message/index.js +4 -22
- package/dist/hooks/useAttribute/index.d.ts +1 -1
- package/dist/http/index.js +5 -1
- package/dist/icons/Spinner.js +5 -1
- package/dist/index.js +5 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/product.d.ts +4 -4
- package/dist/store/translations.d.ts +1 -1
- package/dist/store/treble.d.ts +1 -1
- package/dist/types.d.ts +50 -10
- package/dist/utils.d.ts +8 -8
- package/package.json +1 -1
- package/dist/hooks/useImageEditor/index.d.ts +0 -14
- package/dist/hooks/useImageEditor/index.js +0 -320
package/dist/Treble/Treble.d.ts
CHANGED
|
@@ -22,13 +22,13 @@ declare class Treble {
|
|
|
22
22
|
takeSnapshots: Snapshots['takeSnapshots'];
|
|
23
23
|
_debugMode: boolean;
|
|
24
24
|
constructor({ player, orgId, initialConfiguration }: ITreble);
|
|
25
|
-
saveConfiguration: (config?: Partial<Omit<ISaveConfiguration,
|
|
25
|
+
saveConfiguration: (config?: Partial<Omit<ISaveConfiguration, 'configuration'>>) => Promise<{
|
|
26
26
|
resumableUrl: string;
|
|
27
27
|
} & import("../http/configurations").IConfigurationResponse & {
|
|
28
28
|
thumbnail: string;
|
|
29
29
|
}>;
|
|
30
30
|
getNestedConfigurator: (address: string | Array<string>) => undefined | IThreekitPrivateConfigurator;
|
|
31
|
-
resetConfiguration: (configuration?: ISetConfiguration
|
|
31
|
+
resetConfiguration: (configuration?: ISetConfiguration) => void;
|
|
32
32
|
sendEmail: (credentials: IEmailShareCredentials, templateData: Record<string, any>) => Promise<import("../http/server").IPostEmailResponse>;
|
|
33
33
|
}
|
|
34
34
|
export default Treble;
|
package/dist/Treble/Treble.js
CHANGED
|
@@ -47,8 +47,8 @@ var Wishlist_1 = __importDefault(require("./Wishlist"));
|
|
|
47
47
|
var Snapshots_1 = __importDefault(require("./Snapshots"));
|
|
48
48
|
var Treble = /** @class */ (function () {
|
|
49
49
|
function Treble(_a) {
|
|
50
|
-
var _this = this;
|
|
51
50
|
var player = _a.player, orgId = _a.orgId, initialConfiguration = _a.initialConfiguration;
|
|
51
|
+
var _this = this;
|
|
52
52
|
this.saveConfiguration = function (config) { return __awaiter(_this, void 0, void 0, function () {
|
|
53
53
|
var threekitDomain, _a, customerId, metadata, productVersion, attachments, player, response, params, url;
|
|
54
54
|
var _b;
|
package/dist/Treble/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/api/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -12,7 +12,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
14
|
if (k2 === undefined) k2 = k;
|
|
15
|
-
Object.
|
|
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);
|
|
16
20
|
}) : (function(o, m, k, k2) {
|
|
17
21
|
if (k2 === undefined) k2 = k;
|
|
18
22
|
o[k2] = m[k];
|
|
@@ -39,7 +43,7 @@ var prop_types_1 = __importDefault(require("prop-types"));
|
|
|
39
43
|
var react_dom_1 = __importDefault(require("react-dom"));
|
|
40
44
|
var drawer_styles_1 = require("./drawer.styles");
|
|
41
45
|
var utils_1 = require("../../utils");
|
|
42
|
-
var
|
|
46
|
+
var Remove_1 = __importDefault(require("../../icons/Remove"));
|
|
43
47
|
var TRANSITION_DURATION = 0.2;
|
|
44
48
|
var Drawer = function (props) {
|
|
45
49
|
var title = props.title, children = props.children, handleClose = props.handleClose, showHeader = props.showHeader, className = props.className;
|
|
@@ -63,7 +67,7 @@ var Drawer = function (props) {
|
|
|
63
67
|
showHeader ? (react_1.default.createElement(drawer_styles_1.Header, { className: "".concat(cls, " drawer-header") },
|
|
64
68
|
react_1.default.createElement("div", { className: "".concat(cls, " drawer-title") }, title),
|
|
65
69
|
react_1.default.createElement("div", { onClick: handleClickClose },
|
|
66
|
-
react_1.default.createElement(
|
|
70
|
+
react_1.default.createElement(Remove_1.default, null)))) : null,
|
|
67
71
|
react_1.default.createElement(drawer_styles_1.Content, { className: "".concat(cls, " drawer-content") }, children))));
|
|
68
72
|
};
|
|
69
73
|
exports.Drawer = Drawer;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -28,7 +32,7 @@ var prop_types_1 = __importDefault(require("prop-types"));
|
|
|
28
32
|
var FormComponentTitle_1 = __importDefault(require("../FormComponentTitle"));
|
|
29
33
|
var FormComponentDescription_1 = __importDefault(require("../FormComponentDescription"));
|
|
30
34
|
var dropdown_styles_1 = require("./dropdown.styles");
|
|
31
|
-
var
|
|
35
|
+
var CaretDown_1 = __importDefault(require("../../icons/CaretDown"));
|
|
32
36
|
var utils_1 = require("../../utils");
|
|
33
37
|
var constants_1 = require("../../constants");
|
|
34
38
|
var formInputContainer_1 = __importDefault(require("../containers/formInputContainer"));
|
|
@@ -90,7 +94,7 @@ var Dropdown = function (props) {
|
|
|
90
94
|
react_1.default.createElement(Description, { description: selectedOpt === null || selectedOpt === void 0 ? void 0 : selectedOpt.description, className: "".concat(cls, " selected") })),
|
|
91
95
|
react_1.default.createElement(Price, { price: selectedOpt === null || selectedOpt === void 0 ? void 0 : selectedOpt.price, className: cls }),
|
|
92
96
|
react_1.default.createElement(dropdown_styles_1.IconWrapper, null,
|
|
93
|
-
react_1.default.createElement(
|
|
97
|
+
react_1.default.createElement(CaretDown_1.default, null))),
|
|
94
98
|
react_1.default.createElement(dropdown_styles_1.DropdownOptions, { hide: hide, dropdownMaxHeight: dropdownMaxHeight },
|
|
95
99
|
react_1.default.createElement("div", null, options === null || options === void 0 ? void 0 : options.map(function (el, i) {
|
|
96
100
|
var _a = Object.assign({}, el, {
|
|
@@ -12,7 +12,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
14
|
if (k2 === undefined) k2 = k;
|
|
15
|
-
Object.
|
|
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);
|
|
16
20
|
}) : (function(o, m, k, k2) {
|
|
17
21
|
if (k2 === undefined) k2 = k;
|
|
18
22
|
o[k2] = m[k];
|
|
@@ -20,14 +20,14 @@ var prop_types_1 = __importDefault(require("prop-types"));
|
|
|
20
20
|
var react_dom_1 = __importDefault(require("react-dom"));
|
|
21
21
|
var modal_styles_1 = require("./modal.styles");
|
|
22
22
|
var utils_1 = require("../../utils");
|
|
23
|
-
var
|
|
23
|
+
var Remove_1 = __importDefault(require("../../icons/Remove"));
|
|
24
24
|
var ModalComponent = function (props) {
|
|
25
25
|
var title = props.title, children = props.children, handleClose = props.handleClose, showHeader = props.showHeader, className = props.className;
|
|
26
26
|
return (react_1.default.createElement(modal_styles_1.Wrapper, { onClick: function (e) { return e.stopPropagation(); }, className: "".concat(className, " modal-main") },
|
|
27
27
|
showHeader ? (react_1.default.createElement(modal_styles_1.Header, { className: "".concat(className, " modal-header") },
|
|
28
28
|
react_1.default.createElement("div", { className: "".concat(className, " modal-title") }, title),
|
|
29
29
|
react_1.default.createElement("div", { onClick: handleClose },
|
|
30
|
-
react_1.default.createElement(
|
|
30
|
+
react_1.default.createElement(Remove_1.default, null)))) : null,
|
|
31
31
|
react_1.default.createElement(modal_styles_1.Content, { className: "".concat(className, " modal-content") }, children)));
|
|
32
32
|
};
|
|
33
33
|
exports.ModalComponent = ModalComponent;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -7,7 +7,7 @@ exports.Share = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
9
9
|
var Button_1 = __importDefault(require("../Button"));
|
|
10
|
-
var
|
|
10
|
+
var Share_1 = __importDefault(require("../../icons/Share"));
|
|
11
11
|
var useThreekitInitStatus_1 = __importDefault(require("../../hooks/useThreekitInitStatus"));
|
|
12
12
|
var useShare_1 = __importDefault(require("../../hooks/useShare"));
|
|
13
13
|
var utils_1 = require("../../utils");
|
|
@@ -21,7 +21,7 @@ var Share = function (props) {
|
|
|
21
21
|
var handleClick = function () {
|
|
22
22
|
handleShare(message);
|
|
23
23
|
};
|
|
24
|
-
return (react_1.default.createElement(Button_1.default, { className: cls, shape: shape, type: type, icon:
|
|
24
|
+
return (react_1.default.createElement(Button_1.default, { className: cls, shape: shape, type: type, icon: Share_1.default.iconName, onClick: handleClick }));
|
|
25
25
|
};
|
|
26
26
|
exports.Share = Share;
|
|
27
27
|
exports.Share.propTypes = {
|
|
@@ -7,7 +7,7 @@ exports.Snapshots = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
9
9
|
var Button_1 = __importDefault(require("../Button"));
|
|
10
|
-
var
|
|
10
|
+
var Download_1 = __importDefault(require("../../icons/Download"));
|
|
11
11
|
var useThreekitInitStatus_1 = __importDefault(require("../../hooks/useThreekitInitStatus"));
|
|
12
12
|
var useSnapshot_1 = __importDefault(require("../../hooks/useSnapshot"));
|
|
13
13
|
var utils_1 = require("../../utils");
|
|
@@ -19,7 +19,7 @@ var Snapshots = function (props) {
|
|
|
19
19
|
if (!hasLoaded)
|
|
20
20
|
return null;
|
|
21
21
|
var cls = (0, utils_1.generateWidgetClassName)('snapshots', className);
|
|
22
|
-
return (react_1.default.createElement(Button_1.default, { className: cls, shape: shape, type: type, icon:
|
|
22
|
+
return (react_1.default.createElement(Button_1.default, { className: cls, shape: shape, type: type, icon: Download_1.default.iconName, onClick: takeSnapshot }));
|
|
23
23
|
};
|
|
24
24
|
exports.Snapshots = Snapshots;
|
|
25
25
|
exports.Snapshots.propTypes = {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -65,13 +69,14 @@ var FormComponentTitle_1 = __importDefault(require("../FormComponentTitle"));
|
|
|
65
69
|
var FormComponentDescription_1 = __importDefault(require("../FormComponentDescription"));
|
|
66
70
|
var shared_styles_1 = require("../shared.styles");
|
|
67
71
|
var utils_1 = require("../../utils");
|
|
68
|
-
var
|
|
72
|
+
var Spinner_1 = __importDefault(require("../../icons/Spinner"));
|
|
73
|
+
var Add_1 = __importDefault(require("../../icons/Add"));
|
|
74
|
+
var Delete_1 = __importDefault(require("../../icons/Delete"));
|
|
69
75
|
var formInputContainer_1 = __importDefault(require("../containers/formInputContainer"));
|
|
70
76
|
var upload_styles_1 = require("./upload.styles");
|
|
71
77
|
var Upload = function (props) {
|
|
72
|
-
var _a, _b;
|
|
73
78
|
var title = props.title, description = props.description, value = props.value, onChange = props.onChange, customClassName = props.className;
|
|
74
|
-
var
|
|
79
|
+
var _a = (0, react_1.useState)(false), isUploading = _a[0], setIsUploading = _a[1];
|
|
75
80
|
var inputRef = (0, react_1.useRef)(null);
|
|
76
81
|
var imgRef = (0, react_1.useRef)(null);
|
|
77
82
|
var cls = (0, utils_1.generateInputClassName)('upload', customClassName, title);
|
|
@@ -110,7 +115,7 @@ var Upload = function (props) {
|
|
|
110
115
|
return (react_1.default.createElement(shared_styles_1.FormComponentWrapper, null,
|
|
111
116
|
react_1.default.createElement(FormComponentTitle_1.default, { title: title, className: cls }),
|
|
112
117
|
react_1.default.createElement(FormComponentDescription_1.default, { description: description, className: cls }),
|
|
113
|
-
react_1.default.createElement(upload_styles_1.UploadWrapper, { className: cls, uploaded: !!(!isUploading && (
|
|
118
|
+
react_1.default.createElement(upload_styles_1.UploadWrapper, { className: cls, uploaded: !!(!isUploading && (value === null || value === void 0 ? void 0 : value.length)) },
|
|
114
119
|
react_1.default.createElement("input", { type: "file", ref: inputRef, onChange: function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
115
120
|
var _a;
|
|
116
121
|
return __generator(this, function (_b) {
|
|
@@ -122,8 +127,8 @@ var Upload = function (props) {
|
|
|
122
127
|
}); } }),
|
|
123
128
|
react_1.default.createElement("button", { type: "button", onClick: handleClick }, isUploading ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
124
129
|
react_1.default.createElement(upload_styles_1.IconWrapper, null,
|
|
125
|
-
react_1.default.createElement(
|
|
126
|
-
react_1.default.createElement("div", null, "Uploading..."))) : (
|
|
130
|
+
react_1.default.createElement(Spinner_1.default, { size: "28px" })),
|
|
131
|
+
react_1.default.createElement("div", null, "Uploading..."))) : (value === null || value === void 0 ? void 0 : value.length) ? (react_1.default.createElement(upload_styles_1.ImageWrapper, null,
|
|
127
132
|
react_1.default.createElement("div", null,
|
|
128
133
|
react_1.default.createElement("img", { ref: imgRef, src: "#" })),
|
|
129
134
|
react_1.default.createElement(upload_styles_1.ImageActionArea, null,
|
|
@@ -131,9 +136,9 @@ var Upload = function (props) {
|
|
|
131
136
|
handleUpload(undefined);
|
|
132
137
|
e.stopPropagation();
|
|
133
138
|
} },
|
|
134
|
-
react_1.default.createElement(
|
|
139
|
+
react_1.default.createElement(Delete_1.default, null))))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
135
140
|
react_1.default.createElement(upload_styles_1.IconWrapper, null,
|
|
136
|
-
react_1.default.createElement(
|
|
141
|
+
react_1.default.createElement(Add_1.default, null)),
|
|
137
142
|
react_1.default.createElement("div", null, "Upload")))))));
|
|
138
143
|
};
|
|
139
144
|
exports.Upload = Upload;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -65,14 +69,14 @@ var FormComponentTitle_1 = __importDefault(require("../FormComponentTitle"));
|
|
|
65
69
|
var FormComponentDescription_1 = __importDefault(require("../FormComponentDescription"));
|
|
66
70
|
var shared_styles_1 = require("../shared.styles");
|
|
67
71
|
var utils_1 = require("../../utils");
|
|
68
|
-
var
|
|
72
|
+
var Spinner_1 = __importDefault(require("../../icons/Spinner"));
|
|
73
|
+
var Image_1 = __importDefault(require("../../icons/Image"));
|
|
69
74
|
var formInputContainer_1 = __importDefault(require("../containers/formInputContainer"));
|
|
70
75
|
var uploadArea_styles_1 = require("./uploadArea.styles");
|
|
71
76
|
var UploadArea = function (props) {
|
|
72
|
-
var _a;
|
|
73
77
|
var title = props.title, description = props.description, value = props.value, onChange = props.onChange, customClassName = props.className;
|
|
74
|
-
var
|
|
75
|
-
var
|
|
78
|
+
var _a = (0, react_1.useState)(false), isUploading = _a[0], setIsUploading = _a[1];
|
|
79
|
+
var _b = (0, react_1.useState)(undefined), filename = _b[0], setFilename = _b[1];
|
|
76
80
|
var inputRef = (0, react_1.useRef)(null);
|
|
77
81
|
var imgRef = (0, react_1.useRef)(null);
|
|
78
82
|
var cls = (0, utils_1.generateInputClassName)('upload', customClassName, title);
|
|
@@ -120,15 +124,15 @@ var UploadArea = function (props) {
|
|
|
120
124
|
}); } }),
|
|
121
125
|
react_1.default.createElement("button", { type: "button", onClick: handleClick }, isUploading ? (react_1.default.createElement(uploadArea_styles_1.UploadingWrapper, null,
|
|
122
126
|
react_1.default.createElement("div", null,
|
|
123
|
-
react_1.default.createElement(
|
|
124
|
-
react_1.default.createElement("div", null, "Uploading..."))) : (
|
|
127
|
+
react_1.default.createElement(Spinner_1.default, { size: "28px" })),
|
|
128
|
+
react_1.default.createElement("div", null, "Uploading..."))) : (value === null || value === void 0 ? void 0 : value.length) ? (react_1.default.createElement(uploadArea_styles_1.UploadingWrapper, null,
|
|
125
129
|
react_1.default.createElement("div", null,
|
|
126
130
|
react_1.default.createElement("img", { ref: imgRef, src: "#" })),
|
|
127
131
|
react_1.default.createElement("div", null,
|
|
128
132
|
react_1.default.createElement("div", null, filename),
|
|
129
133
|
react_1.default.createElement("div", null, "Upload another file.")))) : (react_1.default.createElement("div", null,
|
|
130
134
|
react_1.default.createElement("div", null,
|
|
131
|
-
react_1.default.createElement(
|
|
135
|
+
react_1.default.createElement(Image_1.default, null)),
|
|
132
136
|
react_1.default.createElement("div", null, "Click to upload"),
|
|
133
137
|
react_1.default.createElement("div", null, "Supported file types: PNG, JPEG, SVG")))))));
|
|
134
138
|
};
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -61,7 +65,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
61
65
|
exports.Wishlist = exports.WishlistButton = exports.AddWishlistButton = void 0;
|
|
62
66
|
var react_1 = __importStar(require("react"));
|
|
63
67
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
64
|
-
var
|
|
68
|
+
var Heart_1 = __importDefault(require("../../icons/Heart"));
|
|
69
|
+
var Wishlist_1 = __importDefault(require("../../icons/Wishlist"));
|
|
65
70
|
var Button_1 = require("../Button");
|
|
66
71
|
var Drawer_1 = __importDefault(require("../Drawer"));
|
|
67
72
|
var shared_styles_1 = require("../shared.styles");
|
|
@@ -71,12 +76,12 @@ var wishlist_styles_1 = require("./wishlist.styles");
|
|
|
71
76
|
var useWishlist_1 = __importDefault(require("../../hooks/useWishlist"));
|
|
72
77
|
var AddWishlistButton = function (props) {
|
|
73
78
|
var title = props.title, type = props.type, shape = props.shape, className = props.className, onClick = props.onClick;
|
|
74
|
-
return (react_1.default.createElement(Button_1.Button, { title: title, icon:
|
|
79
|
+
return (react_1.default.createElement(Button_1.Button, { title: title, icon: Heart_1.default.iconName, className: className, onClick: onClick, type: type, shape: shape }));
|
|
75
80
|
};
|
|
76
81
|
exports.AddWishlistButton = AddWishlistButton;
|
|
77
82
|
var WishlistButton = function (props) {
|
|
78
83
|
var title = props.title, type = props.type, shape = props.shape, className = props.className, onClick = props.onClick;
|
|
79
|
-
return (react_1.default.createElement(Button_1.Button, { title: title, icon:
|
|
84
|
+
return (react_1.default.createElement(Button_1.Button, { title: title, icon: Wishlist_1.default.iconName, className: className, onClick: onClick, type: type, shape: shape }));
|
|
80
85
|
};
|
|
81
86
|
exports.WishlistButton = WishlistButton;
|
|
82
87
|
var Wishlist = function (props) {
|
|
@@ -122,5 +127,5 @@ exports.Wishlist.defaultProps = {
|
|
|
122
127
|
type: 'threekit',
|
|
123
128
|
};
|
|
124
129
|
exports.Wishlist.componentName = 'wishlist';
|
|
125
|
-
exports.Wishlist.Icon =
|
|
130
|
+
exports.Wishlist.Icon = Wishlist_1.default;
|
|
126
131
|
exports.default = exports.Wishlist;
|
|
@@ -46,7 +46,7 @@ export declare const Zoom: {
|
|
|
46
46
|
type: string;
|
|
47
47
|
};
|
|
48
48
|
componentName: string;
|
|
49
|
-
Icon: import("
|
|
49
|
+
Icon: import("../..").IIcon;
|
|
50
50
|
ZoomOut: (props: ZoomComponentProps) => JSX.Element | null;
|
|
51
51
|
ZoomIn: (props: ZoomComponentProps) => JSX.Element | null;
|
|
52
52
|
};
|
|
@@ -19,7 +19,8 @@ var react_1 = __importDefault(require("react"));
|
|
|
19
19
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
20
20
|
var shared_styles_1 = require("../shared.styles");
|
|
21
21
|
var Button_1 = __importDefault(require("../Button"));
|
|
22
|
-
var
|
|
22
|
+
var ZoomIn_1 = __importDefault(require("../../icons/ZoomIn"));
|
|
23
|
+
var ZoomOut_1 = __importDefault(require("../../icons/ZoomOut"));
|
|
23
24
|
var useThreekitInitStatus_1 = __importDefault(require("../../hooks/useThreekitInitStatus"));
|
|
24
25
|
var useZoom_1 = __importDefault(require("../../hooks/useZoom"));
|
|
25
26
|
var utils_1 = require("../../utils");
|
|
@@ -40,7 +41,7 @@ var ZoomOutComponent = function (props) {
|
|
|
40
41
|
return null;
|
|
41
42
|
var handleZoomOut = function () { return zoomOut(Math.abs(step)); };
|
|
42
43
|
var cls = (0, utils_1.generateWidgetClassName)('zoom', className);
|
|
43
|
-
return (react_1.default.createElement(Button_1.default, { className: "".concat(cls, " zoom-out"), shape: shape, type: type, icon:
|
|
44
|
+
return (react_1.default.createElement(Button_1.default, { className: "".concat(cls, " zoom-out"), shape: shape, type: type, icon: ZoomOut_1.default.iconName, onClick: handleZoomOut }));
|
|
44
45
|
};
|
|
45
46
|
exports.ZoomOutComponent = ZoomOutComponent;
|
|
46
47
|
var ZoomInComponent = function (props) {
|
|
@@ -55,7 +56,7 @@ var ZoomInComponent = function (props) {
|
|
|
55
56
|
return null;
|
|
56
57
|
var handleZoomOut = function () { return zoomIn(Math.abs(step)); };
|
|
57
58
|
var cls = (0, utils_1.generateWidgetClassName)('zoom', className);
|
|
58
|
-
return (react_1.default.createElement(Button_1.default, { className: "".concat(cls, " zoom-in"), shape: shape, type: type, icon:
|
|
59
|
+
return (react_1.default.createElement(Button_1.default, { className: "".concat(cls, " zoom-in"), shape: shape, type: type, icon: ZoomIn_1.default.iconName, onClick: handleZoomOut }));
|
|
59
60
|
};
|
|
60
61
|
exports.ZoomInComponent = ZoomInComponent;
|
|
61
62
|
var Zoom = function (props) {
|
|
@@ -113,7 +114,7 @@ exports.Zoom.defaultProps = {
|
|
|
113
114
|
type: 'threekit',
|
|
114
115
|
};
|
|
115
116
|
exports.Zoom.componentName = 'zoom';
|
|
116
|
-
exports.Zoom.Icon =
|
|
117
|
+
exports.Zoom.Icon = ZoomIn_1.default;
|
|
117
118
|
exports.Zoom.ZoomOut = exports.ZoomOutComponent;
|
|
118
119
|
exports.Zoom.ZoomIn = exports.ZoomInComponent;
|
|
119
120
|
exports.default = exports.Zoom;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
4
|
};
|
|
@@ -27,7 +8,8 @@ var react_1 = __importDefault(require("react"));
|
|
|
27
8
|
var react_dom_1 = __importDefault(require("react-dom"));
|
|
28
9
|
var prop_types_1 = __importDefault(require("prop-types"));
|
|
29
10
|
var message_styles_1 = require("./message.styles");
|
|
30
|
-
var icons_1 =
|
|
11
|
+
var icons_1 = __importDefault(require("../../icons"));
|
|
12
|
+
var Info_1 = __importDefault(require("../../icons/Info"));
|
|
31
13
|
var styled_components_1 = require("styled-components");
|
|
32
14
|
var theme_1 = __importDefault(require("../../theme"));
|
|
33
15
|
var messagesEl;
|
|
@@ -57,7 +39,7 @@ var MessageComponent = function (props) {
|
|
|
57
39
|
var content = props.content, icon = props.icon;
|
|
58
40
|
if (!content)
|
|
59
41
|
return null;
|
|
60
|
-
var Icon = icon ? icons_1.default[icon] :
|
|
42
|
+
var Icon = icon ? icons_1.default[icon] : Info_1.default;
|
|
61
43
|
return (react_1.default.createElement(styled_components_1.ThemeProvider, { theme: theme_1.default },
|
|
62
44
|
react_1.default.createElement(message_styles_1.Wrapper, null,
|
|
63
45
|
react_1.default.createElement(message_styles_1.IconWrapper, null,
|
|
@@ -105,7 +87,7 @@ exports.MessageComponent.propTypes = {
|
|
|
105
87
|
};
|
|
106
88
|
exports.MessageComponent.defaultProps = {
|
|
107
89
|
content: undefined,
|
|
108
|
-
icon:
|
|
90
|
+
icon: Info_1.default.iconName,
|
|
109
91
|
className: undefined,
|
|
110
92
|
};
|
|
111
93
|
exports.default = { config: config, info: info };
|
|
@@ -6,5 +6,5 @@ declare type UseAttributeSuccess = [
|
|
|
6
6
|
(val: RawAttributeValue) => Promise<void>
|
|
7
7
|
];
|
|
8
8
|
declare type UseAttributeHook = UseAttributeError | UseAttributeSuccess;
|
|
9
|
-
declare const useAttribute: (attributeName?: string
|
|
9
|
+
declare const useAttribute: (attributeName?: string) => UseAttributeHook;
|
|
10
10
|
export default useAttribute;
|
package/dist/http/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/icons/Spinner.js
CHANGED
|
@@ -5,7 +5,11 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
5
5
|
};
|
|
6
6
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
7
|
if (k2 === undefined) k2 = k;
|
|
8
|
-
Object.
|
|
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);
|
|
9
13
|
}) : (function(o, m, k, k2) {
|
|
10
14
|
if (k2 === undefined) k2 = k;
|
|
11
15
|
o[k2] = m[k];
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/store/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
|
29
29
|
wishlist: import("../Treble").WishlistArray;
|
|
30
30
|
price: import("./price").PriceState;
|
|
31
31
|
}, import("redux").Dispatch<import("redux").AnyAction>>>>;
|
|
32
|
-
export declare const createStore: (reducer?: Record<string, Reducer
|
|
32
|
+
export declare const createStore: (reducer?: Record<string, Reducer>) => import("@reduxjs/toolkit").EnhancedStore<{
|
|
33
33
|
treble: import("./treble").TrebleState;
|
|
34
34
|
product: import("./product").ProductState;
|
|
35
35
|
attributes: import("./attributes").AttributesState;
|
package/dist/store/product.d.ts
CHANGED
|
@@ -58,13 +58,13 @@ export declare const getProductCache: (state: RootState) => Array<Pick<CachedPro
|
|
|
58
58
|
/*****************************************************
|
|
59
59
|
* Complex Actions
|
|
60
60
|
****************************************************/
|
|
61
|
-
export declare const initProduct: (prods?: IHydratedProducts
|
|
62
|
-
export declare const cacheActiveProduct: (config?: Pick<IReloadConfig,
|
|
61
|
+
export declare const initProduct: (prods?: IHydratedProducts) => (dispatch: ThreekitDispatch, getState: () => RootState) => void;
|
|
62
|
+
export declare const cacheActiveProduct: (config?: Pick<IReloadConfig, 'label' | 'thumbnail'>) => (dispatch: ThreekitDispatch, getState: () => RootState) => {
|
|
63
63
|
payload: CachedProductState;
|
|
64
64
|
type: string;
|
|
65
65
|
};
|
|
66
|
-
export declare const loadProduct: (id: string, config?: LoadProductConfig
|
|
66
|
+
export declare const loadProduct: (id: string, config?: LoadProductConfig) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
|
67
67
|
export declare const loadNewProduct: (config: undefined | string | IReloadConfig) => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
68
68
|
export declare const changeActiveCacheIdx: (idx: number) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
|
69
|
-
export declare const removeProductIdx: (idx?: number
|
|
69
|
+
export declare const removeProductIdx: (idx?: number) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
|
70
70
|
export default reducer;
|
|
@@ -14,7 +14,7 @@ export declare let TRANSLATIONS: undefined | ITranslationMap;
|
|
|
14
14
|
* Actions
|
|
15
15
|
****************************************************/
|
|
16
16
|
export declare const setLanguage: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>;
|
|
17
|
-
export declare const initTranslations: (language?: string
|
|
17
|
+
export declare const initTranslations: (language?: string) => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
18
18
|
declare const reducer: import("redux").Reducer<TranslationsState, import("redux").AnyAction>;
|
|
19
19
|
/*****************************************************
|
|
20
20
|
* Standard Selectors
|
package/dist/store/treble.d.ts
CHANGED
|
@@ -73,7 +73,7 @@ export declare const getLoadingProgress: (state: RootState) => number;
|
|
|
73
73
|
* Complex Actions
|
|
74
74
|
****************************************************/
|
|
75
75
|
export declare const initPlayer: (config: IPlayerInit) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
|
76
|
-
export declare const launch: (launchConfig?: Partial<ILaunchConfig>
|
|
76
|
+
export declare const launch: (launchConfig?: Partial<ILaunchConfig>) => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
77
77
|
export declare const unloadPlayer: () => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
78
78
|
export declare const reloadPlayer: (config: undefined | string | Pick<IReloadConfig, 'assetId' | 'stageId' | 'configurationId' | 'configuration'>) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
|
79
79
|
export default reducer;
|
package/dist/types.d.ts
CHANGED
|
@@ -161,6 +161,56 @@ export interface ISnapshotConfig {
|
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
163
|
export declare type SNAPSHOT_FORMAT_TYPES = 'jpg' | 'png';
|
|
164
|
+
/***************************************************
|
|
165
|
+
* Tools
|
|
166
|
+
**************************************************/
|
|
167
|
+
export interface Node {
|
|
168
|
+
name: string;
|
|
169
|
+
nodeId: string;
|
|
170
|
+
type: string;
|
|
171
|
+
}
|
|
172
|
+
export interface HitNode {
|
|
173
|
+
distance: number;
|
|
174
|
+
intersection: ICoordinates;
|
|
175
|
+
nodeId: string;
|
|
176
|
+
hierarchy: Array<Node>;
|
|
177
|
+
}
|
|
178
|
+
export interface PlayerToolEvent {
|
|
179
|
+
altKey: boolean;
|
|
180
|
+
clientX: number;
|
|
181
|
+
clientY: number;
|
|
182
|
+
deltaX: number;
|
|
183
|
+
deltaY: number;
|
|
184
|
+
ctrlKey: boolean;
|
|
185
|
+
isTouch: boolean;
|
|
186
|
+
metaKey: boolean;
|
|
187
|
+
shiftKey: boolean;
|
|
188
|
+
which: number;
|
|
189
|
+
originalEvent: MouseEvent;
|
|
190
|
+
rect: DOMRect;
|
|
191
|
+
hitNodes: Array<HitNode>;
|
|
192
|
+
}
|
|
193
|
+
export interface CustomPlayerTool {
|
|
194
|
+
key: string;
|
|
195
|
+
label: string;
|
|
196
|
+
active: boolean;
|
|
197
|
+
enabled: boolean;
|
|
198
|
+
handlers: {
|
|
199
|
+
click?: (event: PlayerToolEvent) => void | Promise<void>;
|
|
200
|
+
mousedown?: (event: PlayerToolEvent) => void | Promise<void>;
|
|
201
|
+
mouseup?: (event: PlayerToolEvent) => void | Promise<void>;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
export interface IThreekitTools {
|
|
205
|
+
addTool: (tool: string | CustomPlayerTool) => void;
|
|
206
|
+
addTools: (tools: Array<string | CustomPlayerTool>) => void;
|
|
207
|
+
removeTool: (tool: string) => void;
|
|
208
|
+
removeTools: (tools: Array<string>) => void;
|
|
209
|
+
setPrimary: (tool: string) => void;
|
|
210
|
+
getPrimaryTool: () => string;
|
|
211
|
+
setTool: () => void;
|
|
212
|
+
setTools: () => void;
|
|
213
|
+
}
|
|
164
214
|
/***************************************************
|
|
165
215
|
* Threekit Api
|
|
166
216
|
**************************************************/
|
|
@@ -189,16 +239,6 @@ export interface IThreekitScene {
|
|
|
189
239
|
find: (query: ISceneQuery | string) => ISceneResult;
|
|
190
240
|
set: (query: ISceneQuery | string, transform: ICoordinates) => void;
|
|
191
241
|
}
|
|
192
|
-
export interface IThreekitTools {
|
|
193
|
-
addTool: (tool: string) => void;
|
|
194
|
-
addTools: (tools: string[]) => void;
|
|
195
|
-
removeTool: (tool: string) => void;
|
|
196
|
-
removeTools: (tools: string[]) => void;
|
|
197
|
-
setPrimary: (tool: string) => void;
|
|
198
|
-
getPrimaryTool: () => string;
|
|
199
|
-
setTool: () => void;
|
|
200
|
-
setTools: () => void;
|
|
201
|
-
}
|
|
202
242
|
export interface IThreekitCamera {
|
|
203
243
|
frameBoundingSphere: () => void;
|
|
204
244
|
getPosition: () => ICoordinates;
|
package/dist/utils.d.ts
CHANGED
|
@@ -15,13 +15,13 @@ interface IAttributeComponentProps {
|
|
|
15
15
|
interface IAttributesComponentProps {
|
|
16
16
|
[attributeName: string]: undefined | false | IAttributeComponentProps;
|
|
17
17
|
}
|
|
18
|
-
export declare const generateClassName: (baseClass: string) => (component: string, customClassName?: string
|
|
19
|
-
export declare const generateInputClassName: (component: string, customClassName?: string
|
|
20
|
-
export declare const generateWidgetClassName: (component: string, customClassName?: string
|
|
21
|
-
export declare const generateLayoutClassName: (component: string, customClassName?: string
|
|
22
|
-
export declare const generateToolClassName: (component: string, customClassName?: string
|
|
23
|
-
export declare const generateDisplayClassName: (component: string, customClassName?: string
|
|
24
|
-
export declare const generateFormClassName: (component: string, customClassName?: string
|
|
18
|
+
export declare const generateClassName: (baseClass: string) => (component: string, customClassName?: string, title?: string) => string;
|
|
19
|
+
export declare const generateInputClassName: (component: string, customClassName?: string, title?: string) => string;
|
|
20
|
+
export declare const generateWidgetClassName: (component: string, customClassName?: string, title?: string) => string;
|
|
21
|
+
export declare const generateLayoutClassName: (component: string, customClassName?: string, title?: string) => string;
|
|
22
|
+
export declare const generateToolClassName: (component: string, customClassName?: string, title?: string) => string;
|
|
23
|
+
export declare const generateDisplayClassName: (component: string, customClassName?: string, title?: string) => string;
|
|
24
|
+
export declare const generateFormClassName: (component: string, customClassName?: string, title?: string) => string;
|
|
25
25
|
export declare const isIOS: () => RegExpMatchArray | null;
|
|
26
26
|
export declare const isJsonString: (str: string) => boolean;
|
|
27
27
|
export declare const objectToQueryStr: (obj: Record<string, any>) => string;
|
|
@@ -57,7 +57,7 @@ export declare const selectionToConfiguration: (value: RawAttributeValue, attrib
|
|
|
57
57
|
assetId: RawAttributeValue;
|
|
58
58
|
} | undefined;
|
|
59
59
|
export declare const filterFormAttributes: (attributes: Record<string, IThreekitDisplayAttribute>, attributeComponentProps: IAttributesComponentProps, includeReservedAttributes: boolean) => IThreekitDisplayAttribute[];
|
|
60
|
-
export declare const isUuid: (str?: string
|
|
60
|
+
export declare const isUuid: (str?: string) => boolean;
|
|
61
61
|
export declare const runDebugger: () => Promise<void>;
|
|
62
62
|
export declare const loadTrebleConfig: () => Partial<ITrebleConfig>;
|
|
63
63
|
export {};
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
interface UseImageEditorConfig {
|
|
3
|
-
canvasHeight?: number;
|
|
4
|
-
canvasWidth?: number;
|
|
5
|
-
cornerCircleSize?: number;
|
|
6
|
-
cropRatio?: number;
|
|
7
|
-
}
|
|
8
|
-
declare function useImageEditor(image: string, config: UseImageEditorConfig): null[] | (import("react").MutableRefObject<HTMLCanvasElement | null> | {
|
|
9
|
-
handleCrop: () => void;
|
|
10
|
-
} | {
|
|
11
|
-
handleInvert: () => void;
|
|
12
|
-
handleGrayscale: () => void;
|
|
13
|
-
})[];
|
|
14
|
-
export default useImageEditor;
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var react_1 = require("react");
|
|
4
|
-
var CANVAS_HEIGHT = 600;
|
|
5
|
-
var CANVAS_WIDTH = 900;
|
|
6
|
-
var INVERT_COLOR = false;
|
|
7
|
-
var APPLY_GRAYSCALE = false;
|
|
8
|
-
var CORNER_BOX_SIZE = 4;
|
|
9
|
-
var CROP_RATIO = 'custom';
|
|
10
|
-
function useImageEditor(image, config) {
|
|
11
|
-
var _a = Object.assign({}, {
|
|
12
|
-
canvasHeight: CANVAS_HEIGHT,
|
|
13
|
-
canvasWidth: CANVAS_WIDTH,
|
|
14
|
-
cornerCircleSize: CORNER_BOX_SIZE,
|
|
15
|
-
cropRatio: CROP_RATIO,
|
|
16
|
-
}, config), canvasHeight = _a.canvasHeight, canvasWidth = _a.canvasWidth, cornerCircleSize = _a.cornerCircleSize;
|
|
17
|
-
var _b = (0, react_1.useState)(INVERT_COLOR), invertColor = _b[0], setInvertColor = _b[1];
|
|
18
|
-
var _c = (0, react_1.useState)(APPLY_GRAYSCALE), applyGrayscale = _c[0], setApplyGrayscale = _c[1];
|
|
19
|
-
var imageRef = (0, react_1.useRef)(null);
|
|
20
|
-
var canvasRef = (0, react_1.useRef)(null);
|
|
21
|
-
var cropStartRef = (0, react_1.useRef)(null);
|
|
22
|
-
var cropBoxRef = (0, react_1.useRef)(null);
|
|
23
|
-
var moveCropBoxOffsetRef = (0, react_1.useRef)(null);
|
|
24
|
-
var resizeCropBoxOffsetRef = (0, react_1.useRef)(null);
|
|
25
|
-
(0, react_1.useEffect)(function () {
|
|
26
|
-
if (!image || !canvasRef.current)
|
|
27
|
-
return;
|
|
28
|
-
var ctx = canvasRef.current.getContext('2d');
|
|
29
|
-
if (!ctx)
|
|
30
|
-
return;
|
|
31
|
-
canvasRef.current.height = canvasHeight;
|
|
32
|
-
canvasRef.current.width = canvasWidth;
|
|
33
|
-
var background = new Image();
|
|
34
|
-
background.src = image;
|
|
35
|
-
background.onload = function () {
|
|
36
|
-
imageRef.current = background;
|
|
37
|
-
drawImage(ctx, background);
|
|
38
|
-
};
|
|
39
|
-
}, [image, canvasHeight, canvasWidth]);
|
|
40
|
-
(0, react_1.useEffect)(function () {
|
|
41
|
-
if (!image)
|
|
42
|
-
return function () { };
|
|
43
|
-
if (canvasRef && canvasRef.current) {
|
|
44
|
-
canvasRef.current.addEventListener('mousedown', handleMouseDown);
|
|
45
|
-
canvasRef.current.addEventListener('mousemove', handleMouseMove);
|
|
46
|
-
canvasRef.current.addEventListener('mouseup', handleMouseUp);
|
|
47
|
-
return function () {
|
|
48
|
-
var _a, _b, _c;
|
|
49
|
-
(_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('mousedown', handleMouseDown);
|
|
50
|
-
(_b = canvasRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('mousemove', handleMouseMove);
|
|
51
|
-
(_c = canvasRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseup', handleMouseUp);
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return function () { };
|
|
55
|
-
function handleMouseDown(e) {
|
|
56
|
-
if (cropBoxRef === null || cropBoxRef === void 0 ? void 0 : cropBoxRef.current) {
|
|
57
|
-
if (e.offsetX >= cropBoxRef.current.startX &&
|
|
58
|
-
e.offsetX <= cropBoxRef.current.startX + cropBoxRef.current.deltaX &&
|
|
59
|
-
e.offsetY >= cropBoxRef.current.startY &&
|
|
60
|
-
e.offsetY <= cropBoxRef.current.startY + cropBoxRef.current.deltaY) {
|
|
61
|
-
moveCropBoxOffsetRef.current = { x: e.offsetX, y: e.offsetY };
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (e.offsetX >=
|
|
65
|
-
cropBoxRef.current.startX +
|
|
66
|
-
cropBoxRef.current.deltaX -
|
|
67
|
-
cornerCircleSize / 2 &&
|
|
68
|
-
e.offsetX <=
|
|
69
|
-
cropBoxRef.current.startX +
|
|
70
|
-
cropBoxRef.current.deltaX +
|
|
71
|
-
cornerCircleSize / 2 &&
|
|
72
|
-
e.offsetY >=
|
|
73
|
-
cropBoxRef.current.startY +
|
|
74
|
-
cropBoxRef.current.deltaY -
|
|
75
|
-
cornerCircleSize / 2 &&
|
|
76
|
-
e.offsetY <=
|
|
77
|
-
cropBoxRef.current.startY +
|
|
78
|
-
cropBoxRef.current.deltaY +
|
|
79
|
-
cornerCircleSize / 2) {
|
|
80
|
-
resizeCropBoxOffsetRef.current = { x: e.offsetX, y: e.offsetY };
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
cropStartRef.current = { x: e.offsetX, y: e.offsetY };
|
|
85
|
-
cropBoxRef.current = null;
|
|
86
|
-
}
|
|
87
|
-
function handleMouseMove(e) {
|
|
88
|
-
var _a, _b, _c, _d;
|
|
89
|
-
var ctx = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.getContext('2d');
|
|
90
|
-
if (!ctx || !cropBoxRef.current)
|
|
91
|
-
return;
|
|
92
|
-
if ((_b = moveCropBoxOffsetRef.current) === null || _b === void 0 ? void 0 : _b.x) {
|
|
93
|
-
var deltaX = e.offsetX - moveCropBoxOffsetRef.current.x;
|
|
94
|
-
var deltaY = e.offsetY - moveCropBoxOffsetRef.current.y;
|
|
95
|
-
var rect_1 = Object.assign({}, cropBoxRef.current, {
|
|
96
|
-
startX: cropBoxRef.current.startX + deltaX,
|
|
97
|
-
startY: cropBoxRef.current.startY + deltaY,
|
|
98
|
-
});
|
|
99
|
-
draw(ctx, rect_1, { invertColor: invertColor, applyGrayscale: applyGrayscale });
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
if ((_c = resizeCropBoxOffsetRef === null || resizeCropBoxOffsetRef === void 0 ? void 0 : resizeCropBoxOffsetRef.current) === null || _c === void 0 ? void 0 : _c.x) {
|
|
103
|
-
var deltaX = e.offsetX - resizeCropBoxOffsetRef.current.x;
|
|
104
|
-
var deltaY = e.offsetY - resizeCropBoxOffsetRef.current.y;
|
|
105
|
-
var rect_2 = Object.assign({}, cropBoxRef.current, {
|
|
106
|
-
deltaX: cropBoxRef.current.deltaX + deltaX,
|
|
107
|
-
deltaY: cropBoxRef.current.deltaY + deltaY,
|
|
108
|
-
});
|
|
109
|
-
draw(ctx, rect_2, { invertColor: invertColor, applyGrayscale: applyGrayscale });
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
if (!((_d = cropStartRef === null || cropStartRef === void 0 ? void 0 : cropStartRef.current) === null || _d === void 0 ? void 0 : _d.x))
|
|
113
|
-
return;
|
|
114
|
-
var rect = {
|
|
115
|
-
startX: cropStartRef.current.x,
|
|
116
|
-
startY: cropStartRef.current.y,
|
|
117
|
-
deltaX: e.offsetX - cropStartRef.current.x,
|
|
118
|
-
deltaY: e.offsetY - cropStartRef.current.y,
|
|
119
|
-
};
|
|
120
|
-
draw(ctx, rect, { invertColor: invertColor, applyGrayscale: applyGrayscale });
|
|
121
|
-
}
|
|
122
|
-
function handleMouseUp(e) {
|
|
123
|
-
var _a, _b;
|
|
124
|
-
var ctx = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.getContext('2d');
|
|
125
|
-
if (!ctx || !cropBoxRef.current || !cropStartRef.current)
|
|
126
|
-
return;
|
|
127
|
-
if (moveCropBoxOffsetRef.current) {
|
|
128
|
-
var deltaX_1 = moveCropBoxOffsetRef.current.x - e.offsetX;
|
|
129
|
-
var deltaY_1 = moveCropBoxOffsetRef.current.y - e.offsetY;
|
|
130
|
-
var rect_3 = Object.assign(cropBoxRef.current, {
|
|
131
|
-
startX: cropBoxRef.current.startX - deltaX_1,
|
|
132
|
-
startY: cropBoxRef.current.startY - deltaY_1,
|
|
133
|
-
});
|
|
134
|
-
draw(ctx, rect_3, { drawCornerBoxes: true, invertColor: invertColor, applyGrayscale: applyGrayscale });
|
|
135
|
-
cropBoxRef.current = rect_3;
|
|
136
|
-
moveCropBoxOffsetRef.current = null;
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if ((_b = resizeCropBoxOffsetRef === null || resizeCropBoxOffsetRef === void 0 ? void 0 : resizeCropBoxOffsetRef.current) === null || _b === void 0 ? void 0 : _b.x) {
|
|
140
|
-
var deltaX_2 = e.offsetX - resizeCropBoxOffsetRef.current.x;
|
|
141
|
-
var deltaY_2 = e.offsetY - resizeCropBoxOffsetRef.current.y;
|
|
142
|
-
var rect_4 = Object.assign({}, cropBoxRef.current, {
|
|
143
|
-
deltaX: cropBoxRef.current.deltaX + deltaX_2,
|
|
144
|
-
deltaY: cropBoxRef.current.deltaY + deltaY_2,
|
|
145
|
-
});
|
|
146
|
-
draw(ctx, rect_4, { drawCornerBoxes: true, invertColor: invertColor, applyGrayscale: applyGrayscale });
|
|
147
|
-
cropBoxRef.current = rect_4;
|
|
148
|
-
resizeCropBoxOffsetRef.current = null;
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
var deltaX = e.offsetX - cropStartRef.current.x;
|
|
152
|
-
var deltaY = e.offsetY - cropStartRef.current.y;
|
|
153
|
-
var rect = {
|
|
154
|
-
startX: deltaX > 0 ? cropStartRef.current.x : cropStartRef.current.x + deltaX,
|
|
155
|
-
startY: deltaY > 0 ? cropStartRef.current.y : cropStartRef.current.y + deltaY,
|
|
156
|
-
deltaX: Math.abs(deltaX),
|
|
157
|
-
deltaY: Math.abs(deltaY),
|
|
158
|
-
};
|
|
159
|
-
cropBoxRef.current = rect;
|
|
160
|
-
draw(ctx, rect, { drawCornerBoxes: true });
|
|
161
|
-
cropStartRef.current = null;
|
|
162
|
-
}
|
|
163
|
-
}, [image, canvasHeight, canvasWidth]);
|
|
164
|
-
// useEffect(() => {
|
|
165
|
-
// if (!image) return;
|
|
166
|
-
// if (canvasRef && canvasRef.current) {
|
|
167
|
-
// canvasRef.current.addEventListener("mousemove", handleMouseMove);
|
|
168
|
-
// return () => {
|
|
169
|
-
// canvasRef.current.removeEventListener("mousemove", handleMouseMove);
|
|
170
|
-
// };
|
|
171
|
-
// }
|
|
172
|
-
// function handleMouseMove(e) {
|
|
173
|
-
// if (cropBoxRef?.current) {
|
|
174
|
-
// if (
|
|
175
|
-
// e.offsetX >= cropBoxRef.current.startX &&
|
|
176
|
-
// e.offsetX <= cropBoxRef.current.startX + cropBoxRef.current.deltaX &&
|
|
177
|
-
// e.offsetY >= cropBoxRef.current.startY &&
|
|
178
|
-
// e.offsetY <= cropBoxRef.current.startY + cropBoxRef.current.deltaY
|
|
179
|
-
// ) {
|
|
180
|
-
// canvasRef.current.style.cursor = "move";
|
|
181
|
-
// return;
|
|
182
|
-
// }
|
|
183
|
-
// if (
|
|
184
|
-
// e.offsetX >=
|
|
185
|
-
// cropBoxRef.current.startX +
|
|
186
|
-
// cropBoxRef.current.deltaX -
|
|
187
|
-
// cornerCircleSize / 2 &&
|
|
188
|
-
// e.offsetX <=
|
|
189
|
-
// cropBoxRef.current.startX +
|
|
190
|
-
// cropBoxRef.current.deltaX +
|
|
191
|
-
// cornerCircleSize / 2 &&
|
|
192
|
-
// e.offsetY >=
|
|
193
|
-
// cropBoxRef.current.startY +
|
|
194
|
-
// cropBoxRef.current.deltaY -
|
|
195
|
-
// cornerCircleSize / 2 &&
|
|
196
|
-
// e.offsetY <=
|
|
197
|
-
// cropBoxRef.current.startY +
|
|
198
|
-
// cropBoxRef.current.deltaY +
|
|
199
|
-
// cornerCircleSize / 2
|
|
200
|
-
// ) {
|
|
201
|
-
// canvasRef.current.style.cursor = "pointer";
|
|
202
|
-
// return;
|
|
203
|
-
// }
|
|
204
|
-
// }
|
|
205
|
-
// canvasRef.current.style.cursor = "default";
|
|
206
|
-
// }
|
|
207
|
-
// }, [image, canvasHeight, canvasWidth]);
|
|
208
|
-
function drawImage(ctx, image, config) {
|
|
209
|
-
var _a = config || {}, invertColor = _a.invertColor, applyGrayscale = _a.applyGrayscale;
|
|
210
|
-
if (invertColor)
|
|
211
|
-
ctx.filter = 'invert(1)';
|
|
212
|
-
else if (applyGrayscale)
|
|
213
|
-
ctx.filter = 'grayscale(1)';
|
|
214
|
-
else
|
|
215
|
-
ctx.filter = 'invert(0)';
|
|
216
|
-
// else ctx.filter = "grayscale(0)";
|
|
217
|
-
var wRatio = ctx.canvas.width / image.width;
|
|
218
|
-
var hRatio = ctx.canvas.height / image.height;
|
|
219
|
-
var ratio = Math.min(wRatio, hRatio);
|
|
220
|
-
var centerOffsetX = (ctx.canvas.width - image.width * ratio) / 2;
|
|
221
|
-
var centerOffsetY = (ctx.canvas.height - image.height * ratio) / 2;
|
|
222
|
-
ctx.drawImage(image, 0, 0, image.width, image.height, centerOffsetX, centerOffsetY, image.width * ratio, image.height * ratio);
|
|
223
|
-
}
|
|
224
|
-
function draw(ctx, rect, config) {
|
|
225
|
-
var _a = config || {}, drawCornerBoxes = _a.drawCornerBoxes, invertColor = _a.invertColor;
|
|
226
|
-
// clear the canvas
|
|
227
|
-
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
|
|
228
|
-
// redraw the image
|
|
229
|
-
if (!imageRef.current)
|
|
230
|
-
return;
|
|
231
|
-
drawImage(ctx, imageRef.current, { invertColor: invertColor });
|
|
232
|
-
if (!rect)
|
|
233
|
-
return;
|
|
234
|
-
// redraw one or more things based on their javascript objects
|
|
235
|
-
ctx.beginPath();
|
|
236
|
-
ctx.setLineDash([]);
|
|
237
|
-
ctx.rect(rect.startX, rect.startY, rect.deltaX, rect.deltaY);
|
|
238
|
-
ctx.rect(canvasWidth, 0, 0 - canvasWidth, canvasHeight);
|
|
239
|
-
ctx.closePath();
|
|
240
|
-
ctx.strokeStyle = '#fff';
|
|
241
|
-
ctx.stroke();
|
|
242
|
-
ctx.fillStyle = '#00000055';
|
|
243
|
-
ctx.fill();
|
|
244
|
-
if (!drawCornerBoxes)
|
|
245
|
-
return;
|
|
246
|
-
ctx.beginPath();
|
|
247
|
-
ctx.arc(rect.startX, rect.startY, cornerCircleSize, 0, 2 * Math.PI);
|
|
248
|
-
ctx.fillStyle = '#fff';
|
|
249
|
-
ctx.fill();
|
|
250
|
-
ctx.closePath();
|
|
251
|
-
ctx.beginPath();
|
|
252
|
-
ctx.arc(rect.startX, rect.startY + rect.deltaY, cornerCircleSize, 0, 2 * Math.PI);
|
|
253
|
-
ctx.fillStyle = '#fff';
|
|
254
|
-
ctx.fill();
|
|
255
|
-
ctx.closePath();
|
|
256
|
-
ctx.beginPath();
|
|
257
|
-
ctx.arc(rect.startX + rect.deltaX, rect.startY, cornerCircleSize, 0, 2 * Math.PI);
|
|
258
|
-
ctx.fillStyle = '#fff';
|
|
259
|
-
ctx.fill();
|
|
260
|
-
ctx.closePath();
|
|
261
|
-
ctx.beginPath();
|
|
262
|
-
ctx.arc(rect.startX + rect.deltaX, rect.startY + rect.deltaY, cornerCircleSize, 0, 2 * Math.PI);
|
|
263
|
-
ctx.fillStyle = '#fff';
|
|
264
|
-
ctx.fill();
|
|
265
|
-
ctx.closePath();
|
|
266
|
-
}
|
|
267
|
-
function handleCrop() {
|
|
268
|
-
var _a, _b;
|
|
269
|
-
if (!cropBoxRef.current)
|
|
270
|
-
return;
|
|
271
|
-
var ctx = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.getContext('2d');
|
|
272
|
-
if (!ctx || !imageRef.current)
|
|
273
|
-
return;
|
|
274
|
-
var rect = cropBoxRef.current;
|
|
275
|
-
ctx.clearRect(0, 0, canvasWidth, canvasHeight);
|
|
276
|
-
drawImage(ctx, imageRef.current, { invertColor: invertColor, applyGrayscale: applyGrayscale });
|
|
277
|
-
var imageData = ctx.getImageData(rect.startX, rect.startY, rect.deltaX, rect.deltaY);
|
|
278
|
-
var clone = (_b = canvasRef.current) === null || _b === void 0 ? void 0 : _b.cloneNode();
|
|
279
|
-
if (!clone)
|
|
280
|
-
return;
|
|
281
|
-
clone.width = rect.deltaX;
|
|
282
|
-
clone.height = rect.deltaY;
|
|
283
|
-
var cloneCtx = clone.getContext('2d');
|
|
284
|
-
if (!cloneCtx)
|
|
285
|
-
return;
|
|
286
|
-
cloneCtx.putImageData(imageData, 0, 0);
|
|
287
|
-
var url = clone.toDataURL();
|
|
288
|
-
console.log(url);
|
|
289
|
-
cropBoxRef.current = null;
|
|
290
|
-
}
|
|
291
|
-
function handleInvert() {
|
|
292
|
-
var _a;
|
|
293
|
-
if (!cropBoxRef.current)
|
|
294
|
-
return;
|
|
295
|
-
var updated = !invertColor;
|
|
296
|
-
setInvertColor(updated);
|
|
297
|
-
var ctx = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.getContext('2d');
|
|
298
|
-
if (!ctx)
|
|
299
|
-
return;
|
|
300
|
-
draw(ctx, cropBoxRef.current, {
|
|
301
|
-
invertColor: updated,
|
|
302
|
-
drawCornerBoxes: true,
|
|
303
|
-
applyGrayscale: applyGrayscale,
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
function handleGrayscale() {
|
|
307
|
-
setApplyGrayscale(!applyGrayscale);
|
|
308
|
-
}
|
|
309
|
-
if (!image)
|
|
310
|
-
return [null, null];
|
|
311
|
-
var crop = {
|
|
312
|
-
handleCrop: handleCrop,
|
|
313
|
-
};
|
|
314
|
-
var color = {
|
|
315
|
-
handleInvert: handleInvert,
|
|
316
|
-
handleGrayscale: handleGrayscale,
|
|
317
|
-
};
|
|
318
|
-
return [canvasRef, crop, color];
|
|
319
|
-
}
|
|
320
|
-
exports.default = useImageEditor;
|