@clikvn/showroom-visualizer 0.3.0-dev-06 → 0.3.0-dev-08
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/CLAUDE.md +145 -0
- package/README.md +338 -15
- package/dist/commons/SkinLayer/components/CardItemGroup/Item.d.ts.map +1 -1
- package/dist/components/SkinLayer/ActionsChangeScene/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/Floorplan/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/Guide/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/PinActionButtons/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/PlayBar/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/PoiDetailSlideIn/Detail.d.ts.map +1 -1
- package/dist/components/SkinLayer/PoiDetailSlideIn/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/ScenarioList/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SceneCategories/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/ContentItem/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PromotionPart/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/ScenariosPart/Item.d.ts.map +1 -1
- package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/TourScenarios/index.d.ts.map +1 -1
- package/dist/features/ShowroomVisualizer/index.d.ts +2 -1
- package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
- package/dist/hooks/Visualizer/useTourVisualizer.d.ts.map +1 -1
- package/dist/hooks/useActionMiddleware.d.ts +25 -0
- package/dist/hooks/useActionMiddleware.d.ts.map +1 -0
- package/dist/hooks/useConfiguration.d.ts +3 -1
- package/dist/hooks/useConfiguration.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/models/Visualizer/Plugins/BasePlugin.d.ts.map +1 -1
- package/dist/models/Visualizer/Poi/PoiLensFlare.d.ts.map +1 -1
- package/dist/models/Visualizer/Poi/PoiMultimedia/PoiSound.d.ts.map +1 -1
- package/dist/models/Visualizer/Poi/PoiMultimedia/PoiVideo.d.ts.map +1 -1
- package/dist/register.d.ts +2 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/types/SkinLayer/index.d.ts +1 -0
- package/dist/types/SkinLayer/index.d.ts.map +1 -1
- package/dist/types/SkinLayer/middleware.type.d.ts +42 -0
- package/dist/types/SkinLayer/middleware.type.d.ts.map +1 -0
- package/dist/types/SkinLayer/visualizer.type.d.ts +2 -0
- package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
- package/dist/types/Visualizer/tourScenario/tourScenario.type.d.ts.map +1 -1
- package/dist/utils/Visualizer/image.utils.d.ts.map +1 -1
- package/dist/utils/middleware/listenerWrapper.d.ts +31 -0
- package/dist/utils/middleware/listenerWrapper.d.ts.map +1 -0
- package/dist/web.js +1 -1
- package/package.json +3 -3
- package/.claude/settings.local.json +0 -19
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts +0 -8
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +0 -1
- package/dist/context/CustomLayoutContext.d.ts +0 -20
- package/dist/context/CustomLayoutContext.d.ts.map +0 -1
- package/dist/context/SwizzleContext.d.ts +0 -21
- package/dist/context/SwizzleContext.d.ts.map +0 -1
- package/dist/hooks/headless/index.d.ts +0 -150
- package/dist/hooks/headless/index.d.ts.map +0 -1
- package/dist/hooks/headless/useFloorplanControl.d.ts +0 -18
- package/dist/hooks/headless/useFloorplanControl.d.ts.map +0 -1
- package/dist/hooks/headless/usePOIInteraction.d.ts +0 -23
- package/dist/hooks/headless/usePOIInteraction.d.ts.map +0 -1
- package/dist/hooks/headless/useScenarioControl.d.ts +0 -22
- package/dist/hooks/headless/useScenarioControl.d.ts.map +0 -1
- package/dist/hooks/headless/useSceneNavigation.d.ts +0 -26
- package/dist/hooks/headless/useSceneNavigation.d.ts.map +0 -1
- package/dist/hooks/headless/useTourCore.d.ts +0 -23
- package/dist/hooks/headless/useTourCore.d.ts.map +0 -1
- package/dist/hooks/headless/useViewportControl.d.ts +0 -22
- package/dist/hooks/headless/useViewportControl.d.ts.map +0 -1
- package/dist/index.html +0 -110
- package/dist/index.js +0 -1
- package/dist/types/custom-layout.d.ts +0 -63
- package/dist/types/custom-layout.d.ts.map +0 -1
- package/dist/types/swizzle.d.ts +0 -59
- package/dist/types/swizzle.d.ts.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to execute middleware for component-level actions
|
|
3
|
+
* This allows tracking all actions regardless of whether listeners are configured
|
|
4
|
+
*
|
|
5
|
+
* @returns trackAction function to call from component handlers
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const { trackAction } = useActionMiddleware();
|
|
10
|
+
*
|
|
11
|
+
* const handleClick = () => {
|
|
12
|
+
* trackAction('onPoiClicked', poi);
|
|
13
|
+
*
|
|
14
|
+
* // Continue with action
|
|
15
|
+
* if (listeners?.onPoiClicked) {
|
|
16
|
+
* listeners.onPoiClicked(poi);
|
|
17
|
+
* }
|
|
18
|
+
* };
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const useActionMiddleware: () => {
|
|
22
|
+
trackAction: (actionName: string, payload?: any) => void;
|
|
23
|
+
hasMiddleware: boolean;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=useActionMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActionMiddleware.d.ts","sourceRoot":"","sources":["../../src/hooks/useActionMiddleware.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,mBAAmB;8BAYf,MAAM,YAAY,GAAG,KAAG,IAAI;;CAuC5C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { InternalListenersType, OverrideConfigsType, TourSwitchType } from '../types/SkinLayer';
|
|
2
|
+
import { ActionMiddleware, InternalListenersType, OverrideConfigsType, TourSwitchType } from '../types/SkinLayer';
|
|
3
3
|
import { ProductType } from '../types/SkinLayer/product.type';
|
|
4
4
|
type ConfigurationData = {
|
|
5
5
|
elementId?: string;
|
|
@@ -10,6 +10,8 @@ type ConfigurationData = {
|
|
|
10
10
|
products: ProductType[];
|
|
11
11
|
listeners: InternalListenersType;
|
|
12
12
|
tool: TourSwitchType;
|
|
13
|
+
middleware?: ActionMiddleware;
|
|
14
|
+
tourCode?: string;
|
|
13
15
|
};
|
|
14
16
|
type ReturnType = ConfigurationData & {
|
|
15
17
|
elementId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConfiguration.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfiguration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,mBAAmB,CAAC;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useConfiguration.d.ts","sourceRoot":"","sources":["../../src/hooks/useConfiguration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAIlE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,mBAAmB,CAAC;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,UAAU,GAAG,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAI5D,eAAO,MAAM,qBAAqB,GAAI,uBAGnC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,4CA6BA,CAAC;AAEF,eAAO,MAAM,gBAAgB,kBAQ5B,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,YAAY,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,mCAAmC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePlugin.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Plugins/BasePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"BasePlugin.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Plugins/BasePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoiLensFlare.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Poi/PoiLensFlare.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PoiLensFlare.d.ts","sourceRoot":"","sources":["../../../../src/models/Visualizer/Poi/PoiLensFlare.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,cAAM,YAAa,SAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;gBAEhB,KAAK,EAAE,YAAY;IAgBxB,MAAM,IAAI,IAAI;IAQd,OAAO,IAAI,IAAI;IAWtB,OAAO,CAAC,KAAK;IA0Bb,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,cAAc;IAsItB,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,YAAY,CA4ClB;CACH;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoiSound.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiSound.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PoiSound.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiSound.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAQrE,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,QAAS,SAAQ,aAAa;IAClC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAqB;gBAE5B,KAAK,EAAE,YAAY;IAa/B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM;IAI1B,IAAI;IAYJ,KAAK;IAUL,IAAI;IAmCV,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAWlC,OAAO;IAgBP,MAAM;IAWN,OAAO,CAAC,WAAW,CAKjB;CACH;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoiVideo.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiVideo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PoiVideo.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiVideo.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAGrE,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,cAAM,QAAS,SAAQ,aAAa;IAC3B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAExB,KAAK,EAAE,YAAY;IAWxB,IAAI;IAQJ,IAAI;IASJ,KAAK;IAQZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CA+D3C;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/register.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProductType, VirtualTourVisualizerType, VisualizerListenersType } from './types/SkinLayer';
|
|
1
|
+
import { ActionMiddleware, ProductType, VirtualTourVisualizerType, VisualizerListenersType } from './types/SkinLayer';
|
|
2
2
|
export declare class VisualizerUIComponent extends HTMLElement {
|
|
3
3
|
elementId?: string;
|
|
4
4
|
apiHost?: string;
|
|
@@ -16,6 +16,7 @@ export declare class VisualizerUIComponent extends HTMLElement {
|
|
|
16
16
|
};
|
|
17
17
|
listeners?: VisualizerListenersType;
|
|
18
18
|
products?: ProductType[];
|
|
19
|
+
middleware?: ActionMiddleware;
|
|
19
20
|
constructor();
|
|
20
21
|
updateAttributes(attributes: VirtualTourVisualizerType): void;
|
|
21
22
|
connectedCallback(): void;
|
package/dist/register.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;;IAO9B,gBAAgB,CAAC,UAAU,EAAE,yBAAyB;IAatD,iBAAiB;IAMjB,MAAM;CAgBP;AAED,eAAO,MAAM,qBAAqB,YAKjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/SkinLayer/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/SkinLayer/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event metadata structure passed to middleware
|
|
3
|
+
*/
|
|
4
|
+
export interface ActionEvent<T = any> {
|
|
5
|
+
/** The action/listener name (e.g., "onPoiClicked", "onPinActionClicked") */
|
|
6
|
+
actionName: string;
|
|
7
|
+
/** The payload data passed to the listener */
|
|
8
|
+
payload: T;
|
|
9
|
+
/** ISO timestamp when the event was triggered */
|
|
10
|
+
timestamp: string;
|
|
11
|
+
/** Optional metadata about the event context */
|
|
12
|
+
metadata?: {
|
|
13
|
+
/** Current tour code if available */
|
|
14
|
+
tourCode?: string;
|
|
15
|
+
/** Current scene code if available */
|
|
16
|
+
sceneCode?: string;
|
|
17
|
+
categoryCode?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Action tracking middleware function signature
|
|
22
|
+
*
|
|
23
|
+
* This middleware is called for each user action, allowing external applications
|
|
24
|
+
* to track and log user interactions within the showroom visualizer.
|
|
25
|
+
*
|
|
26
|
+
* @param event - The event metadata containing action name, payload, timestamp, and context
|
|
27
|
+
* @returns void | Promise<void> - Middleware is for tracking only, return value is ignored
|
|
28
|
+
* @throws Error - If middleware throws an error, it will be caught and logged
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const loggingMiddleware: ActionMiddleware = (event) => {
|
|
33
|
+
* console.log('Action:', event.actionName, event.payload);
|
|
34
|
+
* };
|
|
35
|
+
*
|
|
36
|
+
* const analyticsMiddleware: ActionMiddleware = async (event) => {
|
|
37
|
+
* await analytics.track(event.actionName, event.payload);
|
|
38
|
+
* };
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export type ActionMiddleware = (event: ActionEvent) => void | Promise<void>;
|
|
42
|
+
//# sourceMappingURL=middleware.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.type.d.ts","sourceRoot":"","sources":["../../../src/types/SkinLayer/middleware.type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,EAAE,CAAC,CAAC;IACX,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE;QACT,qCAAqC;QACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,sCAAsC;QACtC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { VisualizerListenersType } from './listeners.type';
|
|
2
2
|
import { OverrideConfigsType } from './overrideConfigs.type';
|
|
3
3
|
import { ProductType } from './product.type';
|
|
4
|
+
import { ActionMiddleware } from './middleware.type';
|
|
4
5
|
export type VirtualTourVisualizerType = {
|
|
5
6
|
elementId?: string;
|
|
6
7
|
apiHost?: string;
|
|
@@ -10,5 +11,6 @@ export type VirtualTourVisualizerType = {
|
|
|
10
11
|
config?: OverrideConfigsType;
|
|
11
12
|
listeners?: VisualizerListenersType;
|
|
12
13
|
products?: ProductType[];
|
|
14
|
+
middleware?: ActionMiddleware;
|
|
13
15
|
};
|
|
14
16
|
//# sourceMappingURL=visualizer.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualizer.type.d.ts","sourceRoot":"","sources":["../../../src/types/SkinLayer/visualizer.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"visualizer.type.d.ts","sourceRoot":"","sources":["../../../src/types/SkinLayer/visualizer.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tourScenario.type.d.ts","sourceRoot":"","sources":["../../../../src/types/Visualizer/tourScenario/tourScenario.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,GAAG,MAAM,oCAAoC,CAAC;AACrD,OAAO,WAAW,MAAM,4CAA4C,CAAC;AACrE,OAAO,YAAY,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,
|
|
1
|
+
{"version":3,"file":"tourScenario.type.d.ts","sourceRoot":"","sources":["../../../../src/types/Visualizer/tourScenario/tourScenario.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,GAAG,MAAM,oCAAoC,CAAC;AACrD,OAAO,WAAW,MAAM,4CAA4C,CAAC;AACrE,OAAO,YAAY,MAAM,6CAA6C,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAA0B,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IAC1E,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAEpC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/image.utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"image.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/image.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,eAAO,MAAM,cAAc,GACzB,MAAM,SAAS,EACf,WAAW,MAAM,KAChB,qBAAqB,GAAG,IAqD1B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,SAAS,EACf,WAAW,MAAM,KAChB,MAAM,GAAG,IAKX,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,GAAG,IAAI,KAClB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiBlD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ActionMiddleware } from '../../types/SkinLayer/middleware.type';
|
|
2
|
+
import { InternalListenersType } from '../../types/SkinLayer/listeners.type';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps all listeners in the InternalListenersType with middleware
|
|
5
|
+
*
|
|
6
|
+
* This function takes an object of listener callbacks and wraps each one with
|
|
7
|
+
* the provided middleware, allowing the middleware to intercept, track, and
|
|
8
|
+
* optionally cancel actions before they reach the original listeners.
|
|
9
|
+
*
|
|
10
|
+
* @param listeners - The listeners object to wrap
|
|
11
|
+
* @param middleware - The middleware function to apply to all listeners
|
|
12
|
+
* @param tourContext - Optional tour context to include in event metadata
|
|
13
|
+
* @returns A new listeners object with all listeners wrapped by middleware
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const wrappedListeners = wrapListenersWithMiddleware(
|
|
18
|
+
* originalListeners,
|
|
19
|
+
* (event) => {
|
|
20
|
+
* console.log('Action:', event.actionName);
|
|
21
|
+
* return true; // Continue
|
|
22
|
+
* },
|
|
23
|
+
* { tourCode: 'TOUR_123' }
|
|
24
|
+
* );
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function wrapListenersWithMiddleware(listeners: InternalListenersType, middleware: ActionMiddleware | undefined, tourContext?: {
|
|
28
|
+
tourCode?: string;
|
|
29
|
+
sceneCode?: string;
|
|
30
|
+
}): InternalListenersType;
|
|
31
|
+
//# sourceMappingURL=listenerWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listenerWrapper.d.ts","sourceRoot":"","sources":["../../../src/utils/middleware/listenerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AA8E7E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,qBAAqB,EAChC,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,WAAW,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,qBAAqB,CA4JvB"}
|