@threekit-tools/treble 0.0.66 → 0.0.69
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/DevTools/devTools.styles.d.ts +2 -0
- package/dist/components/DevTools/devTools.styles.js +14 -0
- package/dist/components/DevTools/index.d.ts +3 -0
- package/dist/components/DevTools/index.js +18 -0
- package/dist/components/PortalToArOverlay/index.d.ts +3 -0
- package/dist/components/PortalToArOverlay/index.js +67 -0
- package/dist/components/ThreekitProvider/index.js +3 -1
- package/dist/components/TrebleApp/index.js +2 -2
- package/dist/hooks/useDevTools/index.d.ts +3 -0
- package/dist/hooks/useDevTools/index.js +43 -0
- package/dist/hooks/useNestedConfigurator/index.d.ts +5 -3
- package/dist/hooks/useNestedConfigurator/index.js +11 -5
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/store/price.d.ts +6 -5
- package/dist/store/price.js +8 -1
- package/dist/store/treble.d.ts +1 -1
- package/dist/store/treble.js +55 -39
- package/dist/types.d.ts +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.Header = exports.Wrapper = void 0;
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
exports.Wrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 10px 15px;\n"], ["\n padding: 10px 15px;\n"])));
|
|
13
|
+
exports.Header = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-size: 18px;\n font-weight: 400;\n text-align: center;\n"], ["\n font-size: 18px;\n font-weight: 400;\n text-align: center;\n"])));
|
|
14
|
+
var templateObject_1, templateObject_2;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DevTools = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var useDevTools_1 = __importDefault(require("../../hooks/useDevTools"));
|
|
9
|
+
var Drawer_1 = __importDefault(require("../Drawer"));
|
|
10
|
+
var devTools_styles_1 = require("./devTools.styles");
|
|
11
|
+
var DevTools = function () {
|
|
12
|
+
var _a = (0, useDevTools_1.default)(), showDevTools = _a[0], setShowDevTools = _a[1];
|
|
13
|
+
return (react_1.default.createElement(Drawer_1.default, { showHeader: false, show: showDevTools, handleClose: function () { return setShowDevTools(false); } },
|
|
14
|
+
react_1.default.createElement(devTools_styles_1.Wrapper, null,
|
|
15
|
+
react_1.default.createElement(devTools_styles_1.Header, null, "Treble - Dev Tools"))));
|
|
16
|
+
};
|
|
17
|
+
exports.DevTools = DevTools;
|
|
18
|
+
exports.default = exports.DevTools;
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.PortalToArOverlay = void 0;
|
|
26
|
+
var react_1 = __importStar(require("react"));
|
|
27
|
+
var react_dom_1 = require("react-dom");
|
|
28
|
+
var useThreekitInitStatus_1 = __importDefault(require("../../hooks/useThreekitInitStatus"));
|
|
29
|
+
var store_1 = require("../../store");
|
|
30
|
+
var treble_1 = require("../../store/treble");
|
|
31
|
+
var PortalToArOverlay = function (props) {
|
|
32
|
+
var children = props.children;
|
|
33
|
+
var isLoaded = (0, useThreekitInitStatus_1.default)();
|
|
34
|
+
var playerEl = (0, store_1.useThreekitSelector)(treble_1.getPlayerElementId);
|
|
35
|
+
var _a = (0, react_1.useState)(false), isAvailable = _a[0], setIsAvailable = _a[1];
|
|
36
|
+
(0, react_1.useEffect)(function () {
|
|
37
|
+
(function () {
|
|
38
|
+
if (!isLoaded || !playerEl)
|
|
39
|
+
return;
|
|
40
|
+
if (!isAvailable)
|
|
41
|
+
return;
|
|
42
|
+
var observer = new MutationObserver(function () {
|
|
43
|
+
if (document.getElementById('threekitArOverlay')) {
|
|
44
|
+
setIsAvailable(true);
|
|
45
|
+
observer.disconnect();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
var playerHtmlEl = document.getElementById(playerEl);
|
|
49
|
+
if (!playerHtmlEl)
|
|
50
|
+
return;
|
|
51
|
+
observer.observe(playerHtmlEl, {
|
|
52
|
+
attributes: false,
|
|
53
|
+
childList: true,
|
|
54
|
+
characterData: false,
|
|
55
|
+
subtree: true,
|
|
56
|
+
});
|
|
57
|
+
})();
|
|
58
|
+
}, []);
|
|
59
|
+
if (!isLoaded || !playerEl)
|
|
60
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
61
|
+
var htmlEl = document.getElementById('threekitArOverlay');
|
|
62
|
+
if (!htmlEl)
|
|
63
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
64
|
+
return (0, react_dom_1.createPortal)(children, htmlEl);
|
|
65
|
+
};
|
|
66
|
+
exports.PortalToArOverlay = PortalToArOverlay;
|
|
67
|
+
exports.default = exports.PortalToArOverlay;
|
|
@@ -29,6 +29,7 @@ var react_redux_1 = require("react-redux");
|
|
|
29
29
|
var styled_components_1 = require("styled-components");
|
|
30
30
|
var theme_1 = __importDefault(require("../../theme"));
|
|
31
31
|
var GlobalStyles_styles_1 = __importDefault(require("./GlobalStyles.styles"));
|
|
32
|
+
var DevTools_1 = __importDefault(require("../DevTools"));
|
|
32
33
|
var App = function (props) {
|
|
33
34
|
var dispatch = (0, store_1.useThreekitDispatch)();
|
|
34
35
|
var playerConfig = props.playerConfig, productId = props.productId, project = props.project, locale = props.locale, threekitEnv = props.threekitEnv, eventHandlers = props.eventHandlers;
|
|
@@ -52,6 +53,7 @@ var ThreekitProvider = function (props) {
|
|
|
52
53
|
return (react_1.default.createElement(react_redux_1.Provider, { store: (0, store_1.default)(props.reducer) },
|
|
53
54
|
react_1.default.createElement(styled_components_1.ThemeProvider, { theme: theme_1.default },
|
|
54
55
|
react_1.default.createElement(GlobalStyles_styles_1.default, null),
|
|
55
|
-
react_1.default.createElement(App, { locale: props.locale, productId: props.productId, project: props.project, playerConfig: props.playerConfig, threekitEnv: props.threekitEnv, eventHandlers: props.eventHandlers }, props.children)
|
|
56
|
+
react_1.default.createElement(App, { locale: props.locale, productId: props.productId, project: props.project, playerConfig: props.playerConfig, threekitEnv: props.threekitEnv, eventHandlers: props.eventHandlers }, props.children),
|
|
57
|
+
react_1.default.createElement(DevTools_1.default, null))));
|
|
56
58
|
};
|
|
57
59
|
exports.default = ThreekitProvider;
|
|
@@ -44,7 +44,7 @@ var Products = function () {
|
|
|
44
44
|
exports.Products = Products;
|
|
45
45
|
function TrebleApp(props) {
|
|
46
46
|
var _a;
|
|
47
|
-
var project = props.project, productId = props.productId, playerConfig = props.playerConfig, threekitEnv = props.threekitEnv, locale = props.locale, theme = props.theme, eventHandlers = props.eventHandlers;
|
|
47
|
+
var project = props.project, productId = props.productId, playerConfig = props.playerConfig, threekitEnv = props.threekitEnv, locale = props.locale, theme = props.theme, eventHandlers = props.eventHandlers, reducer = props.reducer;
|
|
48
48
|
var config = constants_1.IS_TREBLE_SCRIPTS ? (0, utils_1.loadTrebleConfig)() : {};
|
|
49
49
|
if (!((_a = config.treble) === null || _a === void 0 ? void 0 : _a.productsCtx)) {
|
|
50
50
|
console.error('Treble Config is not setup correctly');
|
|
@@ -85,7 +85,7 @@ function TrebleApp(props) {
|
|
|
85
85
|
var preppedProject = Object.assign({}, project, {
|
|
86
86
|
products: productsMap,
|
|
87
87
|
});
|
|
88
|
-
return (react_1.default.createElement(ThreekitProvider_1.default, { productId: id, project: preppedProject, locale: locale, playerConfig: playerConfig, theme: theme, threekitEnv: threekitEnv, eventHandlers: eventHandlers },
|
|
88
|
+
return (react_1.default.createElement(ThreekitProvider_1.default, { productId: id, project: preppedProject, locale: locale, playerConfig: playerConfig, theme: theme, threekitEnv: threekitEnv, eventHandlers: eventHandlers, reducer: reducer },
|
|
89
89
|
react_1.default.createElement(exports.Products, null)));
|
|
90
90
|
}
|
|
91
91
|
exports.default = TrebleApp;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDevTools = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var useDevTools = function () {
|
|
6
|
+
var _a = (0, react_1.useState)(false), showDevTools = _a[0], setShowDevTools = _a[1];
|
|
7
|
+
var pressedKeysRef = (0, react_1.useRef)({
|
|
8
|
+
t: false,
|
|
9
|
+
k: false,
|
|
10
|
+
});
|
|
11
|
+
var keydownListener = function (event) {
|
|
12
|
+
if (event.altKey && event.code === 'KeyT')
|
|
13
|
+
pressedKeysRef.current.t = true;
|
|
14
|
+
else if (event.altKey && event.code === 'KeyK')
|
|
15
|
+
pressedKeysRef.current.k = true;
|
|
16
|
+
var allPressed = Object.values(pressedKeysRef.current).reduce(function (result, bool) {
|
|
17
|
+
if (!result || !bool)
|
|
18
|
+
return false;
|
|
19
|
+
return bool;
|
|
20
|
+
}, true);
|
|
21
|
+
if (allPressed)
|
|
22
|
+
setShowDevTools(true);
|
|
23
|
+
};
|
|
24
|
+
var keyupListener = function (event) {
|
|
25
|
+
if (event.code === 'KeyT')
|
|
26
|
+
pressedKeysRef.current.t = false;
|
|
27
|
+
else if (event.code === 'KeyK')
|
|
28
|
+
pressedKeysRef.current.k = false;
|
|
29
|
+
};
|
|
30
|
+
(0, react_1.useEffect)(function () {
|
|
31
|
+
(function () {
|
|
32
|
+
document.addEventListener('keydown', keydownListener);
|
|
33
|
+
document.addEventListener('keyup', keyupListener);
|
|
34
|
+
})();
|
|
35
|
+
return function () {
|
|
36
|
+
document.removeEventListener('keydown', keydownListener);
|
|
37
|
+
document.removeEventListener('keyup', keyupListener);
|
|
38
|
+
};
|
|
39
|
+
}, []);
|
|
40
|
+
return [showDevTools, function (val) { return setShowDevTools(val); }];
|
|
41
|
+
};
|
|
42
|
+
exports.useDevTools = useDevTools;
|
|
43
|
+
exports.default = exports.useDevTools;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { IHydratedAttribute, ISetConfiguration } from '../../types';
|
|
2
|
-
declare type UseNestedConfiguratorError = [undefined, undefined];
|
|
1
|
+
import { IHydratedAttribute, IMetadata, ISetConfiguration } from '../../types';
|
|
2
|
+
declare type UseNestedConfiguratorError = [undefined, undefined, undefined, undefined];
|
|
3
3
|
declare type UseNestedConfiguratorSuccess = [
|
|
4
4
|
Record<string, IHydratedAttribute>,
|
|
5
|
-
(val: ISetConfiguration) => Promise<void
|
|
5
|
+
(val: ISetConfiguration) => Promise<void>,
|
|
6
|
+
IMetadata,
|
|
7
|
+
number | undefined
|
|
6
8
|
];
|
|
7
9
|
declare const useNestedConfigurator: (address: string | Array<string>) => UseNestedConfiguratorError | UseNestedConfiguratorSuccess;
|
|
8
10
|
export default useNestedConfigurator;
|
|
@@ -41,16 +41,18 @@ var store_1 = require("../../store");
|
|
|
41
41
|
var treble_1 = require("../../store/treble");
|
|
42
42
|
var utils_1 = require("../../utils");
|
|
43
43
|
var attributes_1 = require("../../store/attributes");
|
|
44
|
+
var price_1 = require("../../store/price");
|
|
44
45
|
var useNestedConfigurator = function (address) {
|
|
45
46
|
var dispatch = (0, store_1.useThreekitDispatch)();
|
|
46
47
|
var hasInitialized = (0, store_1.useThreekitSelector)(treble_1.isThreekitInitialized);
|
|
47
48
|
var playerLoading = (0, store_1.useThreekitSelector)(treble_1.isPlayerLoading);
|
|
49
|
+
var priceConfig = (0, store_1.useThreekitSelector)(price_1.getPriceConfig);
|
|
48
50
|
var _a = (0, store_1.useThreekitSelector)(attributes_1.getHydrationData), _ = _a[0], translations = _a[1], language = _a[2];
|
|
49
51
|
var _b = (0, react_1.useState)(), attributes = _b[0], setAttributes = _b[1];
|
|
52
|
+
var metadataRef = (0, react_1.useRef)({});
|
|
50
53
|
var configurator = (0, react_1.useRef)();
|
|
51
54
|
(0, react_1.useEffect)(function () {
|
|
52
55
|
(function () {
|
|
53
|
-
var _a;
|
|
54
56
|
if (!hasInitialized)
|
|
55
57
|
return;
|
|
56
58
|
if (playerLoading)
|
|
@@ -59,12 +61,13 @@ var useNestedConfigurator = function (address) {
|
|
|
59
61
|
window.threekit.treble.getNestedConfigurator(address);
|
|
60
62
|
if (!configurator.current)
|
|
61
63
|
return;
|
|
62
|
-
var updatedAttrs =
|
|
64
|
+
var updatedAttrs = configurator.current.getDisplayAttributes();
|
|
63
65
|
setAttributes(updatedAttrs);
|
|
66
|
+
metadataRef.current = configurator.current.getMetadata();
|
|
64
67
|
})();
|
|
65
|
-
}, [hasInitialized,
|
|
68
|
+
}, [hasInitialized, playerLoading]);
|
|
66
69
|
if (!hasInitialized || !configurator.current || !attributes)
|
|
67
|
-
return [undefined, undefined];
|
|
70
|
+
return [undefined, undefined, undefined, undefined];
|
|
68
71
|
var handleSelect = function (config) { return __awaiter(void 0, void 0, void 0, function () {
|
|
69
72
|
var updatedAttrs;
|
|
70
73
|
var _a, _b;
|
|
@@ -88,6 +91,9 @@ var useNestedConfigurator = function (address) {
|
|
|
88
91
|
return Object.assign(output, (_a = {}, _a[attr.name] = attr, _a));
|
|
89
92
|
}, {});
|
|
90
93
|
var preppedAttributes = (0, utils_1.hydrateAttribute)([attributeObj, translations, language], handleSelect);
|
|
91
|
-
|
|
94
|
+
var price = priceConfig
|
|
95
|
+
? configurator.current.getPrice(priceConfig.id, priceConfig.currency)
|
|
96
|
+
: undefined;
|
|
97
|
+
return [preppedAttributes, handleSelect, metadataRef.current, price];
|
|
92
98
|
};
|
|
93
99
|
exports.default = useNestedConfigurator;
|
package/dist/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ import Modal from './components/Modal';
|
|
|
33
33
|
import Drawer from './components/Drawer';
|
|
34
34
|
import Accordion from './components/Accordion';
|
|
35
35
|
import Tabs from './components/Tabs';
|
|
36
|
+
import PortalToArOverlay from './components/PortalToArOverlay';
|
|
36
37
|
import PortalToElement from './components/PortalToElement';
|
|
37
38
|
import AwaitThreekitLoad from './components/AwaitThreekitLoad';
|
|
38
39
|
import FlatForm from './components/FlatForm';
|
|
@@ -44,4 +45,4 @@ import icons from './icons';
|
|
|
44
45
|
export * from './icons';
|
|
45
46
|
import TrebleApp from './components/TrebleApp';
|
|
46
47
|
import ProductLayout from './components/ProductLayout';
|
|
47
|
-
export { useAttribute, useConfigurator, useMetadata, useName, usePlayerLoadingStatus, usePrice, useThreekitInitStatus, useZoom, useSnapshot, useWishlist, useShare, usePlayerPortal, useProductCache, useNestedConfigurator, ThreekitProvider, Player, Button, Cards, Dropdown, Strips, Swatch, Tiles, TilesGroup, Upload, Switch, ProductName, ProductDescription, AttributeTitle, AttributeValue, TotalPrice, message, Modal, Drawer, Accordion, Tabs, PortalToElement, AwaitThreekitLoad, FlatForm, Zoom, Snapshots, Wishlist, Share, icons, TrebleApp, ProductLayout, };
|
|
48
|
+
export { useAttribute, useConfigurator, useMetadata, useName, usePlayerLoadingStatus, usePrice, useThreekitInitStatus, useZoom, useSnapshot, useWishlist, useShare, usePlayerPortal, useProductCache, useNestedConfigurator, ThreekitProvider, Player, Button, Cards, Dropdown, Strips, Swatch, Tiles, TilesGroup, Upload, Switch, ProductName, ProductDescription, AttributeTitle, AttributeValue, TotalPrice, message, Modal, Drawer, Accordion, Tabs, PortalToArOverlay, PortalToElement, AwaitThreekitLoad, FlatForm, Zoom, Snapshots, Wishlist, Share, icons, TrebleApp, ProductLayout, };
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.ProductLayout = exports.TrebleApp = exports.icons = exports.Share = exports.Wishlist = exports.Snapshots = exports.Zoom = exports.FlatForm = exports.AwaitThreekitLoad = exports.PortalToElement = exports.Tabs = exports.Accordion = exports.Drawer = exports.Modal = exports.message = exports.TotalPrice = exports.AttributeValue = exports.AttributeTitle = exports.ProductDescription = exports.ProductName = exports.Switch = exports.Upload = exports.TilesGroup = exports.Tiles = exports.Swatch = exports.Strips = exports.Dropdown = exports.Cards = exports.Button = exports.Player = exports.ThreekitProvider = exports.useNestedConfigurator = exports.useProductCache = exports.usePlayerPortal = exports.useShare = exports.useWishlist = exports.useSnapshot = exports.useZoom = exports.useThreekitInitStatus = exports.usePrice = exports.usePlayerLoadingStatus = exports.useName = exports.useMetadata = exports.useConfigurator = exports.useAttribute = void 0;
|
|
16
|
+
exports.ProductLayout = exports.TrebleApp = exports.icons = exports.Share = exports.Wishlist = exports.Snapshots = exports.Zoom = exports.FlatForm = exports.AwaitThreekitLoad = exports.PortalToElement = exports.PortalToArOverlay = exports.Tabs = exports.Accordion = exports.Drawer = exports.Modal = exports.message = exports.TotalPrice = exports.AttributeValue = exports.AttributeTitle = exports.ProductDescription = exports.ProductName = exports.Switch = exports.Upload = exports.TilesGroup = exports.Tiles = exports.Swatch = exports.Strips = exports.Dropdown = exports.Cards = exports.Button = exports.Player = exports.ThreekitProvider = exports.useNestedConfigurator = exports.useProductCache = exports.usePlayerPortal = exports.useShare = exports.useWishlist = exports.useSnapshot = exports.useZoom = exports.useThreekitInitStatus = exports.usePrice = exports.usePlayerLoadingStatus = exports.useName = exports.useMetadata = exports.useConfigurator = exports.useAttribute = void 0;
|
|
17
17
|
// Hooks
|
|
18
18
|
var useAttribute_1 = __importDefault(require("./hooks/useAttribute"));
|
|
19
19
|
exports.useAttribute = useAttribute_1.default;
|
|
@@ -92,6 +92,8 @@ exports.Accordion = Accordion_1.default;
|
|
|
92
92
|
var Tabs_1 = __importDefault(require("./components/Tabs"));
|
|
93
93
|
exports.Tabs = Tabs_1.default;
|
|
94
94
|
// Wrappers
|
|
95
|
+
var PortalToArOverlay_1 = __importDefault(require("./components/PortalToArOverlay"));
|
|
96
|
+
exports.PortalToArOverlay = PortalToArOverlay_1.default;
|
|
95
97
|
var PortalToElement_1 = __importDefault(require("./components/PortalToElement"));
|
|
96
98
|
exports.PortalToElement = PortalToElement_1.default;
|
|
97
99
|
var AwaitThreekitLoad_1 = __importDefault(require("./components/AwaitThreekitLoad"));
|
package/dist/store/price.d.ts
CHANGED
|
@@ -2,11 +2,6 @@ import { RootState, ThreekitDispatch } from './index';
|
|
|
2
2
|
/*****************************************************
|
|
3
3
|
* Types and Interfaces
|
|
4
4
|
****************************************************/
|
|
5
|
-
export interface PriceState {
|
|
6
|
-
id: undefined | string;
|
|
7
|
-
currency: undefined | string;
|
|
8
|
-
price: undefined | number;
|
|
9
|
-
}
|
|
10
5
|
export interface IPriceConfig {
|
|
11
6
|
id: string;
|
|
12
7
|
currency: string;
|
|
@@ -15,6 +10,11 @@ export interface IPrice {
|
|
|
15
10
|
currency: string;
|
|
16
11
|
price: number;
|
|
17
12
|
}
|
|
13
|
+
export interface PriceState {
|
|
14
|
+
id: undefined | string;
|
|
15
|
+
currency: undefined | string;
|
|
16
|
+
price: undefined | number;
|
|
17
|
+
}
|
|
18
18
|
/*****************************************************
|
|
19
19
|
* Actions
|
|
20
20
|
****************************************************/
|
|
@@ -26,6 +26,7 @@ declare const reducer: import("redux").Reducer<PriceState, import("redux").AnyAc
|
|
|
26
26
|
* Standard Selectors
|
|
27
27
|
****************************************************/
|
|
28
28
|
export declare const getPrice: (state: RootState) => undefined | IPrice;
|
|
29
|
+
export declare const getPriceConfig: (state: RootState) => undefined | IPriceConfig;
|
|
29
30
|
/*****************************************************
|
|
30
31
|
* Complex Actions
|
|
31
32
|
****************************************************/
|
package/dist/store/price.js
CHANGED
|
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.updatePrice = exports.getPrice = exports.initPrice = exports.setPrice = exports.setPriceConfig = void 0;
|
|
42
|
+
exports.updatePrice = exports.getPriceConfig = exports.getPrice = exports.initPrice = exports.setPrice = exports.setPriceConfig = void 0;
|
|
43
43
|
var toolkit_1 = require("@reduxjs/toolkit");
|
|
44
44
|
var api_1 = __importDefault(require("../api"));
|
|
45
45
|
/*****************************************************
|
|
@@ -103,6 +103,13 @@ var getPrice = function (state) {
|
|
|
103
103
|
return { price: price, currency: currency };
|
|
104
104
|
};
|
|
105
105
|
exports.getPrice = getPrice;
|
|
106
|
+
var getPriceConfig = function (state) {
|
|
107
|
+
var _a = state.price, id = _a.id, currency = _a.currency;
|
|
108
|
+
if (!id || !currency)
|
|
109
|
+
return undefined;
|
|
110
|
+
return { id: id, currency: currency };
|
|
111
|
+
};
|
|
112
|
+
exports.getPriceConfig = getPriceConfig;
|
|
106
113
|
/*****************************************************
|
|
107
114
|
* Complex Actions
|
|
108
115
|
****************************************************/
|
package/dist/store/treble.d.ts
CHANGED
|
@@ -68,7 +68,7 @@ export declare const getPlayerElementId: (state: RootState) => undefined | strin
|
|
|
68
68
|
/*****************************************************
|
|
69
69
|
* Complex Actions
|
|
70
70
|
****************************************************/
|
|
71
|
-
export declare const initPlayer: (config: IPlayerInit) => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
71
|
+
export declare const initPlayer: (config: IPlayerInit) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
|
72
72
|
export declare const launch: (launchConfig?: Partial<ILaunchConfig> | undefined) => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
73
73
|
export declare const unloadPlayer: () => (dispatch: ThreekitDispatch) => Promise<void>;
|
|
74
74
|
export declare const reloadPlayer: (config: undefined | string | Pick<IReloadConfig, 'assetId' | 'stageId' | 'configurationId' | 'configuration'>) => (dispatch: ThreekitDispatch, getState: () => RootState) => Promise<void>;
|
package/dist/store/treble.js
CHANGED
|
@@ -166,46 +166,62 @@ exports.getPlayerElementId = getPlayerElementId;
|
|
|
166
166
|
/*****************************************************
|
|
167
167
|
* Complex Actions
|
|
168
168
|
****************************************************/
|
|
169
|
-
var initPlayer = function (config) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
configurator: configurator,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
else
|
|
190
|
-
window.threekit = {
|
|
191
|
-
player: player,
|
|
192
|
-
configurator: configurator,
|
|
193
|
-
services: api_1.default,
|
|
194
|
-
treble: new Treble_1.default({
|
|
169
|
+
var initPlayer = function (config) {
|
|
170
|
+
return function (dispatch, getState) { return __awaiter(void 0, void 0, void 0, function () {
|
|
171
|
+
var el, authToken, assetId, stageId, orgId, playerConfig, initialConfiguration, player, configurator;
|
|
172
|
+
return __generator(this, function (_a) {
|
|
173
|
+
switch (_a.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
el = config.el, authToken = config.authToken, assetId = config.assetId, stageId = config.stageId, orgId = config.orgId, playerConfig = config.playerConfig, initialConfiguration = config.initialConfiguration;
|
|
176
|
+
return [4 /*yield*/, window.threekitPlayer(__assign(__assign({ el: el,
|
|
177
|
+
// Variables to sort out
|
|
178
|
+
authToken: authToken, stageId: stageId, assetId: assetId }, playerConfig), { initialConfiguration: initialConfiguration }))];
|
|
179
|
+
case 1:
|
|
180
|
+
player = _a.sent();
|
|
181
|
+
return [4 /*yield*/, player.getConfigurator()];
|
|
182
|
+
case 2:
|
|
183
|
+
configurator = _a.sent();
|
|
184
|
+
if (window.threekit) {
|
|
185
|
+
window.threekit = Object.assign(window.threekit, {
|
|
195
186
|
player: player,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
})
|
|
187
|
+
configurator: configurator,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
else
|
|
191
|
+
window.threekit = {
|
|
192
|
+
player: player,
|
|
193
|
+
configurator: configurator,
|
|
194
|
+
services: api_1.default,
|
|
195
|
+
treble: new Treble_1.default({
|
|
196
|
+
player: player,
|
|
197
|
+
orgId: orgId,
|
|
198
|
+
initialConfiguration: configurator.getConfiguration(),
|
|
199
|
+
}),
|
|
200
|
+
};
|
|
201
|
+
dispatch((0, exports.setThreekitInitialized)(true));
|
|
202
|
+
dispatch((0, exports.setPlayerLoading)(false));
|
|
203
|
+
window.threekit.player.on('setConfiguration', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
204
|
+
var attributes, previousAttributes, updatedAttributes;
|
|
205
|
+
var _a;
|
|
206
|
+
return __generator(this, function (_b) {
|
|
207
|
+
switch (_b.label) {
|
|
208
|
+
case 0:
|
|
209
|
+
attributes = getState().attributes;
|
|
210
|
+
previousAttributes = Object.values(attributes);
|
|
211
|
+
updatedAttributes = window.threekit.configurator.getDisplayAttributes();
|
|
212
|
+
dispatch((0, attributes_1.setAttributes)(updatedAttributes));
|
|
213
|
+
return [4 /*yield*/, ((_a = EVENTS.postConfigurationChange) === null || _a === void 0 ? void 0 : _a.call(EVENTS, updatedAttributes, {}, previousAttributes))];
|
|
214
|
+
case 1:
|
|
215
|
+
_b.sent();
|
|
216
|
+
return [2 /*return*/];
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}); });
|
|
220
|
+
return [2 /*return*/];
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}); };
|
|
224
|
+
};
|
|
209
225
|
exports.initPlayer = initPlayer;
|
|
210
226
|
var launch = function (launchConfig) {
|
|
211
227
|
return function (dispatch) { return __awaiter(void 0, void 0, void 0, function () {
|
package/dist/types.d.ts
CHANGED
|
@@ -164,6 +164,13 @@ export declare type SNAPSHOT_FORMAT_TYPES = 'jpg' | 'png';
|
|
|
164
164
|
/***************************************************
|
|
165
165
|
* Threekit Api
|
|
166
166
|
**************************************************/
|
|
167
|
+
export interface IConfigurationChangeEvent {
|
|
168
|
+
name: string;
|
|
169
|
+
appliedConfiguration: Record<string, string>;
|
|
170
|
+
previousConfiguration: IConfiguration;
|
|
171
|
+
configuration: IConfiguration;
|
|
172
|
+
metadata: Record<string, string>;
|
|
173
|
+
}
|
|
167
174
|
export interface IThreekitConfigurator {
|
|
168
175
|
getMetadata: () => IMetadata;
|
|
169
176
|
getAttributes: () => Array<IThreekitAttribute>;
|