@clikvn/showroom-visualizer 0.3.0-dev-05 → 0.3.0-dev-07

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.
Files changed (67) hide show
  1. package/CLAUDE.md +140 -0
  2. package/Planning/README-middleware.md +582 -0
  3. package/Planning/README.md +67 -0
  4. package/Planning/TEMPLATE.md +270 -0
  5. package/README.md +181 -15
  6. package/dist/commons/SkinLayer/components/LazyImage/index.d.ts +15 -1
  7. package/dist/commons/SkinLayer/components/LazyImage/index.d.ts.map +1 -1
  8. package/dist/components/SkinLayer/GalleryFullScreen/Content/index.d.ts.map +1 -1
  9. package/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
  10. package/dist/components/SkinLayer/PinActionButtons/index.d.ts.map +1 -1
  11. package/dist/components/SkinLayer/SceneCategories/index.d.ts.map +1 -1
  12. package/dist/components/SkinLayer/SearchAndDiscoverySlideIn/PoiInfoActionPart/index.d.ts.map +1 -1
  13. package/dist/components/SkinLayer/TourScenarios/index.d.ts.map +1 -1
  14. package/dist/features/ShowroomVisualizer/index.d.ts +2 -1
  15. package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
  16. package/dist/hooks/Visualizer/useTourVisualizer.d.ts.map +1 -1
  17. package/dist/hooks/useActionMiddleware.d.ts +25 -0
  18. package/dist/hooks/useActionMiddleware.d.ts.map +1 -0
  19. package/dist/hooks/useConfiguration.d.ts +3 -1
  20. package/dist/hooks/useConfiguration.d.ts.map +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/models/Visualizer/Plugins/BasePlugin.d.ts.map +1 -1
  24. package/dist/models/Visualizer/Poi/PoiLensFlare.d.ts.map +1 -1
  25. package/dist/models/Visualizer/Poi/PoiMultimedia/PoiSound.d.ts.map +1 -1
  26. package/dist/models/Visualizer/Poi/PoiMultimedia/PoiVideo.d.ts.map +1 -1
  27. package/dist/register.d.ts +2 -1
  28. package/dist/register.d.ts.map +1 -1
  29. package/dist/types/SkinLayer/index.d.ts +1 -0
  30. package/dist/types/SkinLayer/index.d.ts.map +1 -1
  31. package/dist/types/SkinLayer/middleware.type.d.ts +41 -0
  32. package/dist/types/SkinLayer/middleware.type.d.ts.map +1 -0
  33. package/dist/types/SkinLayer/visualizer.type.d.ts +2 -0
  34. package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
  35. package/dist/types/Visualizer/tourScenario/tourScenario.type.d.ts.map +1 -1
  36. package/dist/utils/Visualizer/image.utils.d.ts.map +1 -1
  37. package/dist/utils/middleware/listenerWrapper.d.ts +31 -0
  38. package/dist/utils/middleware/listenerWrapper.d.ts.map +1 -0
  39. package/dist/web.js +1 -1
  40. package/package.json +3 -3
  41. package/.claude/settings.local.json +0 -19
  42. package/dist/components/SkinLayer/DefaultLayout/index.d.ts +0 -8
  43. package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +0 -1
  44. package/dist/context/CustomLayoutContext.d.ts +0 -20
  45. package/dist/context/CustomLayoutContext.d.ts.map +0 -1
  46. package/dist/context/SwizzleContext.d.ts +0 -21
  47. package/dist/context/SwizzleContext.d.ts.map +0 -1
  48. package/dist/hooks/headless/index.d.ts +0 -150
  49. package/dist/hooks/headless/index.d.ts.map +0 -1
  50. package/dist/hooks/headless/useFloorplanControl.d.ts +0 -18
  51. package/dist/hooks/headless/useFloorplanControl.d.ts.map +0 -1
  52. package/dist/hooks/headless/usePOIInteraction.d.ts +0 -23
  53. package/dist/hooks/headless/usePOIInteraction.d.ts.map +0 -1
  54. package/dist/hooks/headless/useScenarioControl.d.ts +0 -22
  55. package/dist/hooks/headless/useScenarioControl.d.ts.map +0 -1
  56. package/dist/hooks/headless/useSceneNavigation.d.ts +0 -26
  57. package/dist/hooks/headless/useSceneNavigation.d.ts.map +0 -1
  58. package/dist/hooks/headless/useTourCore.d.ts +0 -23
  59. package/dist/hooks/headless/useTourCore.d.ts.map +0 -1
  60. package/dist/hooks/headless/useViewportControl.d.ts +0 -22
  61. package/dist/hooks/headless/useViewportControl.d.ts.map +0 -1
  62. package/dist/index.html +0 -110
  63. package/dist/index.js +0 -1
  64. package/dist/types/custom-layout.d.ts +0 -63
  65. package/dist/types/custom-layout.d.ts.map +0 -1
  66. package/dist/types/swizzle.d.ts +0 -59
  67. package/dist/types/swizzle.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PoiVideo.d.ts","sourceRoot":"","sources":["../../../../../src/models/Visualizer/Poi/PoiMultimedia/PoiVideo.ts"],"names":[],"mappings":"AACA,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"}
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"}
@@ -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;
@@ -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;;IAOzB,gBAAgB,CAAC,UAAU,EAAE,yBAAyB;IAYtD,iBAAiB;IAMjB,MAAM;CAeP;AAED,eAAO,MAAM,qBAAqB,YAKjC,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"}
@@ -8,4 +8,5 @@ export * from './listeners.type';
8
8
  export * from './store.type';
9
9
  export * from './product.type';
10
10
  export * from './overrideConfigs.type';
11
+ export * from './middleware.type';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -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,41 @@
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
+ };
18
+ }
19
+ /**
20
+ * Action tracking middleware function signature
21
+ *
22
+ * This middleware is called for each user action, allowing external applications
23
+ * to track and log user interactions within the showroom visualizer.
24
+ *
25
+ * @param event - The event metadata containing action name, payload, timestamp, and context
26
+ * @returns void | Promise<void> - Middleware is for tracking only, return value is ignored
27
+ * @throws Error - If middleware throws an error, it will be caught and logged
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const loggingMiddleware: ActionMiddleware = (event) => {
32
+ * console.log('Action:', event.actionName, event.payload);
33
+ * };
34
+ *
35
+ * const analyticsMiddleware: ActionMiddleware = async (event) => {
36
+ * await analytics.track(event.actionName, event.payload);
37
+ * };
38
+ * ```
39
+ */
40
+ export type ActionMiddleware = (event: ActionEvent) => void | Promise<void>;
41
+ //# 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;KACpB,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;AAE7C,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;CAC1B,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,CAAA;CACF;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
+ {"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,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEtF,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"}
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"}