@threekit-tools/treble 0.0.66 → 0.0.67
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/PortalToArOverlay/index.d.ts +3 -0
- package/dist/components/PortalToArOverlay/index.js +67 -0
- package/dist/hooks/useNestedConfigurator/index.d.ts +4 -3
- package/dist/hooks/useNestedConfigurator/index.js +5 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/package.json +1 -1
|
@@ -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;
|
|
@@ -1,8 +1,9 @@
|
|
|
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];
|
|
3
3
|
declare type UseNestedConfiguratorSuccess = [
|
|
4
4
|
Record<string, IHydratedAttribute>,
|
|
5
|
-
(val: ISetConfiguration) => Promise<void
|
|
5
|
+
(val: ISetConfiguration) => Promise<void>,
|
|
6
|
+
IMetadata
|
|
6
7
|
];
|
|
7
8
|
declare const useNestedConfigurator: (address: string | Array<string>) => UseNestedConfiguratorError | UseNestedConfiguratorSuccess;
|
|
8
9
|
export default useNestedConfigurator;
|
|
@@ -47,10 +47,10 @@ var useNestedConfigurator = function (address) {
|
|
|
47
47
|
var playerLoading = (0, store_1.useThreekitSelector)(treble_1.isPlayerLoading);
|
|
48
48
|
var _a = (0, store_1.useThreekitSelector)(attributes_1.getHydrationData), _ = _a[0], translations = _a[1], language = _a[2];
|
|
49
49
|
var _b = (0, react_1.useState)(), attributes = _b[0], setAttributes = _b[1];
|
|
50
|
+
var metadataRef = (0, react_1.useRef)({});
|
|
50
51
|
var configurator = (0, react_1.useRef)();
|
|
51
52
|
(0, react_1.useEffect)(function () {
|
|
52
53
|
(function () {
|
|
53
|
-
var _a;
|
|
54
54
|
if (!hasInitialized)
|
|
55
55
|
return;
|
|
56
56
|
if (playerLoading)
|
|
@@ -59,12 +59,13 @@ var useNestedConfigurator = function (address) {
|
|
|
59
59
|
window.threekit.treble.getNestedConfigurator(address);
|
|
60
60
|
if (!configurator.current)
|
|
61
61
|
return;
|
|
62
|
-
var updatedAttrs =
|
|
62
|
+
var updatedAttrs = configurator.current.getDisplayAttributes();
|
|
63
63
|
setAttributes(updatedAttrs);
|
|
64
|
+
metadataRef.current = configurator.current.getMetadata();
|
|
64
65
|
})();
|
|
65
66
|
}, [hasInitialized, address, playerLoading]);
|
|
66
67
|
if (!hasInitialized || !configurator.current || !attributes)
|
|
67
|
-
return [undefined, undefined];
|
|
68
|
+
return [undefined, undefined, undefined];
|
|
68
69
|
var handleSelect = function (config) { return __awaiter(void 0, void 0, void 0, function () {
|
|
69
70
|
var updatedAttrs;
|
|
70
71
|
var _a, _b;
|
|
@@ -88,6 +89,6 @@ var useNestedConfigurator = function (address) {
|
|
|
88
89
|
return Object.assign(output, (_a = {}, _a[attr.name] = attr, _a));
|
|
89
90
|
}, {});
|
|
90
91
|
var preppedAttributes = (0, utils_1.hydrateAttribute)([attributeObj, translations, language], handleSelect);
|
|
91
|
-
return [preppedAttributes, handleSelect];
|
|
92
|
+
return [preppedAttributes, handleSelect, metadataRef.current];
|
|
92
93
|
};
|
|
93
94
|
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"));
|