@clikvn/showroom-visualizer 0.1.3-dev → 0.1.5-dev

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 (82) hide show
  1. package/dist/components/SkinLayer/Floorplan/Minimap/index.d.ts.map +1 -1
  2. package/dist/components/SkinLayer/HotspotOverview/index.d.ts.map +1 -1
  3. package/dist/components/SkinLayer/PlayAll/index.d.ts +0 -8
  4. package/dist/components/SkinLayer/PlayAll/index.d.ts.map +0 -1
  5. package/dist/components/SkinLayer/PoiDetailSlideIn/GalleryProduct.d.ts +9 -0
  6. package/dist/components/SkinLayer/PoiDetailSlideIn/GalleryProduct.d.ts.map +1 -0
  7. package/dist/components/SkinLayer/PoiDetailSlideIn/Tabs.d.ts +28 -0
  8. package/dist/components/SkinLayer/PoiDetailSlideIn/Tabs.d.ts.map +1 -0
  9. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent/GalleryProduct.d.ts +9 -0
  10. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent/GalleryProduct.d.ts.map +1 -0
  11. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent/TabsContent.d.ts +9 -0
  12. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent/TabsContent.d.ts.map +1 -0
  13. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent.d.ts +9 -0
  14. package/dist/components/SkinLayer/PoiDetailSlideIn/TabsContent.d.ts.map +1 -0
  15. package/dist/components/SkinLayer/PoiDetailSlideIn/gallery.d.ts +9 -0
  16. package/dist/components/SkinLayer/PoiDetailSlideIn/gallery.d.ts.map +1 -0
  17. package/dist/components/SkinLayer/PoiDetailSlideIn/group-action-button.d.ts +14 -0
  18. package/dist/components/SkinLayer/PoiDetailSlideIn/group-action-button.d.ts.map +1 -0
  19. package/dist/components/SkinLayer/PoiDetailSlideIn/header.d.ts +12 -0
  20. package/dist/components/SkinLayer/PoiDetailSlideIn/header.d.ts.map +1 -0
  21. package/dist/components/SkinLayer/PoiDetailSlideIn/rating.d.ts +7 -0
  22. package/dist/components/SkinLayer/PoiDetailSlideIn/rating.d.ts.map +1 -0
  23. package/dist/components/SkinLayer/RightPanel/index.d.ts +2 -0
  24. package/dist/components/SkinLayer/RightPanel/index.d.ts.map +1 -0
  25. package/dist/constants/Visualizer/fallback-images.d.ts +27 -0
  26. package/dist/constants/Visualizer/fallback-images.d.ts.map +1 -0
  27. package/dist/constants/Visualizer/index.d.ts +2 -1
  28. package/dist/constants/Visualizer/index.d.ts.map +1 -1
  29. package/dist/index.html +67 -88
  30. package/dist/types/Visualizer/itemInfo.type.d.ts +1 -0
  31. package/dist/types/Visualizer/itemInfo.type.d.ts.map +1 -1
  32. package/dist/utils/Visualizer/asset.utils.d.ts +19 -0
  33. package/dist/utils/Visualizer/asset.utils.d.ts.map +1 -0
  34. package/dist/utils/Visualizer/cors-bypass.utils.d.ts +16 -0
  35. package/dist/utils/Visualizer/cors-bypass.utils.d.ts.map +1 -0
  36. package/dist/utils/Visualizer/cors-proxy.d.ts +8 -0
  37. package/dist/utils/Visualizer/cors-proxy.d.ts.map +1 -0
  38. package/dist/utils/Visualizer/cors-test.d.ts +12 -0
  39. package/dist/utils/Visualizer/cors-test.d.ts.map +1 -0
  40. package/dist/utils/Visualizer/global-cors-handler.d.ts +13 -0
  41. package/dist/utils/Visualizer/global-cors-handler.d.ts.map +1 -0
  42. package/dist/utils/Visualizer/no-cors-fetch.d.ts +20 -0
  43. package/dist/utils/Visualizer/no-cors-fetch.d.ts.map +1 -0
  44. package/dist/utils/Visualizer/simple-cors-handler.d.ts +9 -0
  45. package/dist/utils/Visualizer/simple-cors-handler.d.ts.map +1 -0
  46. package/dist/web.js +1 -1
  47. package/package.json +1 -1
  48. package/.idea/inspectionProfiles/Project_Default.xml +0 -36
  49. package/.idea/jsLinters/eslint.xml +0 -7
  50. package/.idea/misc.xml +0 -9
  51. package/.idea/modules.xml +0 -8
  52. package/.idea/prettier.xml +0 -8
  53. package/.idea/showroom-visualizer.iml +0 -9
  54. package/.idea/vcs.xml +0 -6
  55. package/dist/components/SkinLayer/GalleryFullScreen/Content/ARViewer.d.ts +0 -30
  56. package/dist/components/SkinLayer/GalleryFullScreen/Content/ARViewer.d.ts.map +0 -1
  57. package/dist/components/SkinLayer/ModalItemInfo/Description.d.ts +0 -10
  58. package/dist/components/SkinLayer/ModalItemInfo/Description.d.ts.map +0 -1
  59. package/dist/components/SkinLayer/ModalItemInfo/Intro.d.ts +0 -9
  60. package/dist/components/SkinLayer/ModalItemInfo/Intro.d.ts.map +0 -1
  61. package/dist/components/SkinLayer/ModalItemInfo/Media.d.ts +0 -13
  62. package/dist/components/SkinLayer/ModalItemInfo/Media.d.ts.map +0 -1
  63. package/dist/components/SkinLayer/ModalItemInfo/index.d.ts +0 -10
  64. package/dist/components/SkinLayer/ModalItemInfo/index.d.ts.map +0 -1
  65. package/dist/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.d.ts +0 -13
  66. package/dist/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.d.ts.map +0 -1
  67. package/dist/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.d.ts +0 -13
  68. package/dist/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.d.ts.map +0 -1
  69. package/dist/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.d.ts +0 -15
  70. package/dist/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.d.ts.map +0 -1
  71. package/dist/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.d.ts +0 -13
  72. package/dist/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.d.ts.map +0 -1
  73. package/dist/context/StoreContext.d.ts +0 -5
  74. package/dist/context/StoreContext.d.ts.map +0 -1
  75. package/dist/features/ShowroomVisualizer/Scripts.d.ts +0 -4
  76. package/dist/features/ShowroomVisualizer/Scripts.d.ts.map +0 -1
  77. package/dist/features/ShowroomVisualizer/TourContainer.d.ts +0 -9
  78. package/dist/features/ShowroomVisualizer/TourContainer.d.ts.map +0 -1
  79. package/dist/features/ShowroomVisualizer/Tours.d.ts +0 -3
  80. package/dist/features/ShowroomVisualizer/Tours.d.ts.map +0 -1
  81. package/dist/hooks/Visualizer/reducer.d.ts +0 -116
  82. package/dist/hooks/Visualizer/reducer.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/Floorplan/Minimap/index.tsx"],"names":[],"mappings":"AA0BA,KAAK,0BAA0B,GAAG;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;AAkYF,wBAAsC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/Floorplan/Minimap/index.tsx"],"names":[],"mappings":"AA0BA,KAAK,0BAA0B,GAAG;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;AA+sBF,wBAAsC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/HotspotOverview/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AA+Ef,QAAA,MAAM,eAAe,EAAE,EAkctB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/HotspotOverview/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,EAAE,EAOH,MAAM,OAAO,CAAC;AA+Ef,QAAA,MAAM,eAAe,EAAE,EAoctB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,8 +0,0 @@
1
- import { FC } from 'react';
2
- export type PlayAllPropsType = {
3
- onClickAutoPlay?: () => void;
4
- loading?: boolean;
5
- };
6
- declare const PlayAll: FC<PlayAllPropsType>;
7
- export default PlayAll;
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PlayAll/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAIF,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAoCjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface GalleryProps {
3
+ items: any[];
4
+ className?: string;
5
+ onClick?: (index: number, type?: string) => void;
6
+ }
7
+ declare const Gallery: React.FC<GalleryProps>;
8
+ export default Gallery;
9
+ //# sourceMappingURL=GalleryProduct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GalleryProduct.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/GalleryProduct.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAqFnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,28 @@
1
+ export declare const TabsList: {
2
+ info: {
3
+ label: string;
4
+ key: string;
5
+ title: import("react/jsx-runtime").JSX.Element;
6
+ };
7
+ gallery: {
8
+ label: string;
9
+ key: string;
10
+ title: string;
11
+ };
12
+ webRotate: {
13
+ label: string;
14
+ key: string;
15
+ title: string;
16
+ };
17
+ ar: {
18
+ label: string;
19
+ key: string;
20
+ title: string;
21
+ };
22
+ };
23
+ declare const Tabs: ({ activeTab, setActiveTab, }: {
24
+ activeTab: string;
25
+ setActiveTab: (key: string) => void;
26
+ }) => import("react/jsx-runtime").JSX.Element;
27
+ export default Tabs;
28
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/Tabs.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAqBpB,CAAC;AAEF,QAAA,MAAM,IAAI,GAAI,8BAGX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,4CA4BA,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface GalleryProps {
3
+ items: any[];
4
+ className?: string;
5
+ onClick?: (index: number, type: string) => void;
6
+ }
7
+ declare const Gallery: React.FC<GalleryProps>;
8
+ export default Gallery;
9
+ //# sourceMappingURL=GalleryProduct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GalleryProduct.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/PoiDetailSlideIn/TabsContent/GalleryProduct.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAqFnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ type TabsContentProps = {
3
+ activeTab: string;
4
+ product: any;
5
+ galleryProduct: any;
6
+ };
7
+ declare const Content: FC<TabsContentProps>;
8
+ export default Content;
9
+ //# sourceMappingURL=TabsContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/PoiDetailSlideIn/TabsContent/TabsContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAGhD,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAiDjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ type TabsContentProps = {
3
+ activeTab: string;
4
+ product: any;
5
+ galleryProduct: any;
6
+ };
7
+ declare const Content: FC<TabsContentProps>;
8
+ export default Content;
9
+ //# sourceMappingURL=TabsContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsContent.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/TabsContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAGhD,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAiDjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface GalleryProps {
3
+ items: any[];
4
+ className?: string;
5
+ onClick?: (index: number) => void;
6
+ }
7
+ declare const Gallery: React.FC<GalleryProps>;
8
+ export default Gallery;
9
+ //# sourceMappingURL=gallery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/gallery.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAqFnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { FC } from 'react';
2
+ interface GroupActionButtonProps {
3
+ actions: {
4
+ key: string;
5
+ label: string;
6
+ icon: React.ElementType;
7
+ disabled?: boolean;
8
+ }[];
9
+ activeKey?: string;
10
+ onClick?: (key: string) => void;
11
+ }
12
+ declare const GroupActionButton: FC<GroupActionButtonProps>;
13
+ export default GroupActionButton;
14
+ //# sourceMappingURL=group-action-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-action-button.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/group-action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,UAAU,sBAAsB;IAC9B,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAgDjD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ interface HeaderProps {
3
+ onBack: () => void;
4
+ title: string;
5
+ children?: React.ReactNode;
6
+ displayPrice?: string;
7
+ salePrice?: string;
8
+ rating?: number;
9
+ }
10
+ declare const Header: FC<HeaderProps>;
11
+ export default Header;
12
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAmD3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ interface RatingProps {
3
+ rating: number;
4
+ }
5
+ declare const Rating: FC<RatingProps>;
6
+ export default Rating;
7
+ //# sourceMappingURL=rating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/PoiDetailSlideIn/rating.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAgC3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function RightPanel(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/RightPanel/index.tsx"],"names":[],"mappings":"AA8QA,MAAM,CAAC,OAAO,UAAU,UAAU,4CAQjC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Fallback images dạng base64 cho development khi CORS fail
3
+ */
4
+ export declare const TRANSPARENT_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChAI9jU77yQAAAABJRU5ErkJggg==";
5
+ export declare const PLACEHOLDER_ICON = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iNCIgZmlsbD0iIzMzMzMzMyIvPgo8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSI4IiBmaWxsPSIjNjY2NjY2Ii8+Cjwvc3ZnPgo=";
6
+ export declare const NAVIGATION_ARROW_PLACEHOLDER = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJMMjIgMTJMMTIgMjJMMTAgMjBMMTggMTJMMTAgNEwxMiAyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";
7
+ export declare const FALLBACK_IMAGES: {
8
+ 'vtourskin.png': string;
9
+ 'hotspot_sound_icon.png': string;
10
+ 'tag.png': string;
11
+ 'gallery.png': string;
12
+ 'hotspot_video_icon.png': string;
13
+ 'play-solid.png': string;
14
+ 'stop-solid.png': string;
15
+ 'bgshadow.png': string;
16
+ 'vtourskin_hotspot.png': string;
17
+ 'promotion_lg.png': string;
18
+ 'caret_up_icon.png': string;
19
+ 'navigation_north.svg': string;
20
+ 'navigation_east.svg': string;
21
+ 'navigation_south.svg': string;
22
+ 'navigation_west.svg': string;
23
+ 'audio_shake.png': string;
24
+ 'navigation.svg': string;
25
+ 'navigation-highlight.svg': string;
26
+ };
27
+ //# sourceMappingURL=fallback-images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-images.d.ts","sourceRoot":"","sources":["../../../src/constants/Visualizer/fallback-images.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,eAAe,2HAC8F,CAAC;AAG3H,eAAO,MAAM,gBAAgB,+SACiR,CAAC;AAG/S,eAAO,MAAM,4BAA4B,mQACyN,CAAC;AAEnQ,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAmB3B,CAAC"}
@@ -196,7 +196,8 @@ export declare enum UNIT {
196
196
  CENTIMETER = "cm",
197
197
  GRAM = "g",
198
198
  LITER = "l",
199
- METER = "m"
199
+ METER = "m",
200
+ PIECE = "pc"
200
201
  }
201
202
  export declare enum FUNCTION_BUTTON_OPEN_TYPE {
202
203
  IFRAME = "IFRAME",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/Visualizer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/Visualizer/index.ts"],"names":[],"mappings":"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"}
package/dist/index.html CHANGED
@@ -1,95 +1,74 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
5
  <meta
6
- name="viewport"
7
- content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"
6
+ name="viewport"
7
+ content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"
8
8
  />
9
9
  <title>Title</title>
10
- </head>
11
- <body>
12
- <div class="flex h-screen w-screen">
13
- <!-- <div class="h-full" style="width: 72px"></div>-->
14
- <div class="h-full" style="width: /*calc(100% - 462px);*/ 100%;">
15
- <div class="h-full w-full relative">
16
- <showroom-visualizer></showroom-visualizer>
17
- </div>
18
- </div>
19
- <!-- <div class="h-full" style="width: 390px"></div>-->
20
- </div>
21
- <script type="module">
22
- // import ShowroomVisualizer from 'https://85f81d7dc992.ngrok-free.app/web.js';
23
- import ShowroomVisualizer from 'http://localhost:3000/web.js';
24
-
25
- ShowroomVisualizer.initVisualizer({
26
- apiHost: 'https://ci-api.clik.vn/vt360',
27
- webRotateApiHost: 'https://ci-api.clik.vn/cms',
28
- webRotateClientHost: 'https://ci-webrotate360-client.clik.vn',
29
- config: {
30
- // tourCode: 'TOUR_FXYCEN7ZZVW6',
31
- // startScene: 'scene_kr3rgeezzvw6',
32
- // hLookAt: -254,
33
- // vLookAt: 1
34
- // tourCode: 'TOUR_GEVEXLWNPT74',
35
- // tourCode: 'TOUR_7YUL2ALGFL94',
36
- // tourCode: 'TOUR_KUFGDEPDTJA4',
37
- // startScene: 'SCENE_KNLRAKUHFL94',
38
- // hLookAt: -54.11884505373274,
39
- // vLookAt: -9.111287009391969
10
+ <script type="module">
11
+ import ShowroomVisualizer from 'http://localhost:3000/web.js';
40
12
 
41
- tourCode: 'tour_7a6hchjljga4'.toUpperCase(),
13
+ ShowroomVisualizer.initVisualizer({
14
+ apiHost: 'https://ci-api.clik.vn/vt360',
15
+ webRotateClientHost: 'https://ci-webrotate360-client.clik.vn',
16
+ config: {
17
+ tourCode: 'TOUR_FXYCEN7ZZVW6',
18
+ language: 'EN',
19
+ },
20
+ listeners: {
21
+ onLoaded: (tool) => {
22
+ window.tool = tool;
23
+ },
24
+ onPinActionClicked: (key) => {
25
+ console.log('onPinActionClicked', key);
26
+ },
27
+ onAIProductClicked: (poi) => {
28
+ console.log('onPoiClicked', poi);
29
+ },
30
+ },
31
+ mobile: false,
32
+ });
33
+ </script>
34
+ <style>
35
+ .toggle-btn {
36
+ position: fixed;
37
+ top: 20px;
38
+ right: 20px;
39
+ z-index: 9999;
40
+ padding: 10px 15px;
41
+ background: #3585f7;
42
+ color: white;
43
+ border: none;
44
+ border-radius: 5px;
45
+ cursor: pointer;
46
+ font-family: 'Be Vietnam Pro', sans-serif;
47
+ font-size: 14px;
48
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
49
+ transition: background 0.3s ease;
50
+ }
51
+ .toggle-btn:hover {
52
+ background: #2574e6;
53
+ }
54
+ </style>
55
+ </head>
56
+ <body>
57
+ <button class="toggle-btn" onclick="toggleWidth()">Toggle Width</button>
58
+ <div id="container" style="width: 100vw; height: 100vh; overflow: hidden">
59
+ <showroom-visualizer></showroom-visualizer>
60
+ </div>
61
+ <script>
62
+ function toggleWidth() {
63
+ const container = document.getElementById('container');
64
+ const currentWidth = container.style.width;
42
65
 
43
- // tourCode: 'TOUR_ZJMHKMJEACAH',
44
- // language: 'VI',
45
- // startScene: 'SCENE_LVN4DLUFACAH',
46
- // hLookAt: -179.145,
47
- // vLookAt: 11.597,
48
- },
49
- listeners: {
50
- onTourSwitchLoaded: (tool) => {
51
- window.switchTour = tool.switchTour;
52
- },
53
- onSceneCompleted: (...args) => {
54
- // console.log('onSceneCompleted', args);
55
- },
56
- onLoaded: tool => {
57
- // console.log('TOOL_LOADED')
58
- window.tool = tool;
59
- },
60
- onPoiClicked: (poi) => {
61
- // console.log('onPoiClicked', poi);
62
- },
63
- onPoiOut: () => {
64
- // console.log('onPoiOut');
65
- },
66
- onPoiOver: (poi) => {
67
- // console.log('onPoiOver', poi);
68
- },
69
- onPoiInCenter: (poi) => {
70
- // console.log('onPoiInCenter', poi);
71
- },
72
- onStartScenario: (code) => {
73
- // console.log('onStartScenario', code);
74
- },
75
- onScenarioPaused: (code) => {
76
- // console.log('onScenarioPaused', code);
77
- },
78
- onScenarioEnded: (code) => {
79
- // console.log('onScenarioEnded', code);
80
- },
81
- onChanged: (args) => {
82
- // console.log('onChanged', args);
83
- },
84
- onStartLoadingTour: (code) => {
85
- // console.log('onStartLoadingTour', code);
86
- },
87
- onFinishedLoadingTour: (code) => {
88
- // console.log('onFinishedLoadingTour', code);
66
+ if (currentWidth === '80vw') {
67
+ container.style.width = '100vw';
68
+ } else {
69
+ container.style.width = '80vw';
70
+ }
89
71
  }
90
- },
91
- mobile: false
92
- });
93
- </script>
94
- </body>
95
- </html>
72
+ </script>
73
+ </body>
74
+ </html>
@@ -31,6 +31,7 @@ export interface ItemInfoType {
31
31
  configurableOptions?: ConfigurableOption[];
32
32
  included?: boolean;
33
33
  sound?: TourGuideType;
34
+ shortDescription?: string;
34
35
  }
35
36
  export interface Option {
36
37
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"itemInfo.type.d.ts","sourceRoot":"","sources":["../../../src/types/Visualizer/itemInfo.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAEtC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"itemInfo.type.d.ts","sourceRoot":"","sources":["../../../src/types/Visualizer/itemInfo.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAEtC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Get asset URL - đơn giản chỉ return URL gốc
3
+ * CORS sẽ được xử lý ở level component/image loading
4
+ */
5
+ export declare const getAssetUrl: (originalUrl: string) => string;
6
+ /**
7
+ * Load image với CORS handling
8
+ * Sử dụng crossOrigin = 'anonymous' để bypass CORS
9
+ */
10
+ export declare const loadImageWithCORS: (url: string) => Promise<string>;
11
+ /**
12
+ * Preload image để kiểm tra CORS
13
+ */
14
+ export declare const preloadImage: (url: string) => Promise<boolean>;
15
+ /**
16
+ * Tạo img element với CORS handling
17
+ */
18
+ export declare const createImageWithCORS: (url: string) => HTMLImageElement;
19
+ //# sourceMappingURL=asset.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/asset.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,aAAa,MAAM,KAAG,MAEjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CAiB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAQzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,gBAKjD,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * CORS bypass utilities cho development
3
+ */
4
+ /**
5
+ * Bypass CORS bằng cách sử dụng proxy service
6
+ */
7
+ export declare const bypassCORS: (originalUrl: string, proxyIndex?: number) => string;
8
+ /**
9
+ * Tạo img element với CORS bypass
10
+ */
11
+ export declare const createCORSImage: (url: string) => Promise<HTMLImageElement>;
12
+ /**
13
+ * Set image src với CORS handling
14
+ */
15
+ export declare const setImageSrcWithCORS: (imgElement: HTMLImageElement, url: string, onSuccess?: () => void, onError?: () => void) => void;
16
+ //# sourceMappingURL=cors-bypass.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors-bypass.utils.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/cors-bypass.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,EAAE,mBAAc,KAAG,MAahE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAqBrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,gBAAgB,EAC5B,KAAK,MAAM,EACX,YAAY,MAAM,IAAI,EACtB,UAAU,MAAM,IAAI,SAiBrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Simple CORS proxy solution
3
+ */
4
+ /**
5
+ * Fetch with CORS proxy fallback
6
+ */
7
+ export declare const fetchWithCORSProxy: (url: string, options?: RequestInit) => Promise<Response>;
8
+ //# sourceMappingURL=cors-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors-proxy.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/cors-proxy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,MAAM,EACX,UAAS,WAAgB,KACxB,OAAO,CAAC,QAAQ,CA+ClB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Test utilities để kiểm tra CORS handling
3
+ */
4
+ /**
5
+ * Test global CORS handler
6
+ */
7
+ export declare const testCORSHandler: () => void;
8
+ /**
9
+ * Test với proxy trực tiếp
10
+ */
11
+ export declare const testProxyDirectly: () => void;
12
+ //# sourceMappingURL=cors-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors-test.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/cors-test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,eAAe,YAuB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAW7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Global CORS handler cho tất cả images
3
+ * Đơn giản và hiệu quả
4
+ */
5
+ /**
6
+ * Initialize global CORS handling
7
+ */
8
+ export declare const initGlobalCORSHandler: () => void;
9
+ /**
10
+ * Disable global CORS handling
11
+ */
12
+ export declare const disableGlobalCORSHandler: () => void;
13
+ //# sourceMappingURL=global-cors-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-cors-handler.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/global-cors-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,eAAO,MAAM,qBAAqB,YAmUjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAOpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Alternative fetch methods that work with no-cors
3
+ */
4
+ /**
5
+ * Load JSON data bằng dynamic script tag (JSONP alternative)
6
+ */
7
+ export declare const loadJSONWithScript: (url: string) => Promise<any>;
8
+ /**
9
+ * Load JSON bằng Image tag trick (for very small data)
10
+ */
11
+ export declare const loadJSONWithImage: (url: string) => Promise<any>;
12
+ /**
13
+ * Load JSON bằng iframe trick
14
+ */
15
+ export declare const loadJSONWithIframe: (url: string) => Promise<any>;
16
+ /**
17
+ * Fallback method - try multiple approaches
18
+ */
19
+ export declare const loadJSONFallback: (url: string) => Promise<any>;
20
+ //# sourceMappingURL=no-cors-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-cors-fetch.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/no-cors-fetch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,GAAG,CA8B3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,GAAG,CAe1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,OAAO,CAAC,GAAG,CAqC3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,GAAG,CAmB/D,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Simple CORS handler - chỉ thay thế URLs với proxy
3
+ * Approach đơn giản và đáng tin cậy hơn
4
+ */
5
+ /**
6
+ * Thay thế tất cả CDN URLs với proxy URLs
7
+ */
8
+ export declare const initSimpleCORSHandler: () => void;
9
+ //# sourceMappingURL=simple-cors-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-cors-handler.d.ts","sourceRoot":"","sources":["../../../src/utils/Visualizer/simple-cors-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,eAAO,MAAM,qBAAqB,YA+FjC,CAAC"}