shop-components 0.0.26 → 0.1.0

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 (227) hide show
  1. package/dist/shop-components.mjs +62289 -0
  2. package/dist/shop-components.umd.js +9644 -0
  3. package/package.json +1 -1
  4. package/dist/assets/Color-RQJUDNI5-leAiB7jg.js +0 -1
  5. package/dist/assets/Configure-OUhXg2g0.js +0 -173
  6. package/dist/assets/DRACOLoader-FOpiHRUS.js +0 -2
  7. package/dist/assets/DocsRenderer-K4EAMTCU-wTc0yUaa.js +0 -7
  8. package/dist/assets/Header-Yyx952jD.css +0 -1
  9. package/dist/assets/Header.stories-8tnkOwSt.js +0 -31
  10. package/dist/assets/Page-fZ7a-HXz.css +0 -1
  11. package/dist/assets/Page.stories-53Crpe03.js +0 -61
  12. package/dist/assets/RGBELoader-re-MEsjP.js +0 -5
  13. package/dist/assets/SFL-CDD14-9UY62fbR.glb +0 -0
  14. package/dist/assets/WithTooltip-Y7J54OF7-e8Yh5ASp.js +0 -1
  15. package/dist/assets/_commonjsHelpers-4gQjN7DL.js +0 -1
  16. package/dist/assets/accessibility-Fv4dmnDm.png +0 -0
  17. package/dist/assets/addon-library-VlAgJsjc.png +0 -0
  18. package/dist/assets/bg-circle-d8WfpvaX.png +0 -0
  19. package/dist/assets/context-tKiKnkuP.png +0 -0
  20. package/dist/assets/docs-Pvr7BWzI.png +0 -0
  21. package/dist/assets/entry-preview-TptA_luc.js +0 -8
  22. package/dist/assets/entry-preview-docs-AhrJ3R4Z.js +0 -2
  23. package/dist/assets/figma-plugin-h9oRC4jr.png +0 -0
  24. package/dist/assets/formatter-B5HCVTEV-DKi3GmSv.js +0 -58
  25. package/dist/assets/iframe-tlQuLR4E.js +0 -7
  26. package/dist/assets/img-radar-kufDNNXQ.png +0 -0
  27. package/dist/assets/img-radar2-1cPZO_cj.png +0 -0
  28. package/dist/assets/index-CXFn8OGe.js +0 -513
  29. package/dist/assets/index-C_uo8BdM.js +0 -1
  30. package/dist/assets/index-PPLHz8o0.js +0 -6
  31. package/dist/assets/index-jFdhmKfM.js +0 -3
  32. package/dist/assets/index-jtEywAqJ.js +0 -1
  33. package/dist/assets/index-ogXoivrg.js +0 -1
  34. package/dist/assets/index.stories-TVZrSYZv.js +0 -20
  35. package/dist/assets/index.stories-Uq0Yg-kp.js +0 -896
  36. package/dist/assets/index.stories-VJP6Jo4U.js +0 -22
  37. package/dist/assets/index.stories-VoNcNCFd.js +0 -27
  38. package/dist/assets/index.stories-YIFSciWI.js +0 -1174
  39. package/dist/assets/index.stories-iMKoZNyH.js +0 -46
  40. package/dist/assets/lightroom_14b-MJkJLVlP.hdr +0 -0
  41. package/dist/assets/lightroom_14b_512-e_XJNpR6.js +0 -3981
  42. package/dist/assets/lightroom_14b_512-nMVn659Q.hdr +0 -0
  43. package/dist/assets/lit-element-P_wTzRvl.js +0 -19
  44. package/dist/assets/preview-1q4RDNOi.js +0 -1
  45. package/dist/assets/preview-6iG64ELu.js +0 -20
  46. package/dist/assets/preview-7nNmfNVr.js +0 -7
  47. package/dist/assets/preview-9bpQVOkQ.js +0 -1
  48. package/dist/assets/preview-FnnPJHgu.js +0 -1
  49. package/dist/assets/preview-VI2eoWmp.js +0 -1
  50. package/dist/assets/preview-bEa2SesL.js +0 -7
  51. package/dist/assets/preview-u8M_OEO2.js +0 -396
  52. package/dist/assets/preview-zZA4w0lH.js +0 -1
  53. package/dist/assets/property-EQZXZ3dt.js +0 -5
  54. package/dist/assets/query-7eORIRsG.js +0 -13
  55. package/dist/assets/roller-8Vy8W3X_.glb +0 -0
  56. package/dist/assets/roller-hopper-Heae_wy5.glb +0 -0
  57. package/dist/assets/share-xgPlHEHy.png +0 -0
  58. package/dist/assets/styling-ZOs40c1G.png +0 -0
  59. package/dist/assets/syntaxhighlighter-JOJW2KGS-uBo08tOF.js +0 -1
  60. package/dist/assets/testing-HG80fZfa.png +0 -0
  61. package/dist/assets/theming--liSzaFj.png +0 -0
  62. package/dist/assets/three.module-9MfFqitO.js +0 -3825
  63. package/dist/assets/tiny-invariant-VyoA2Os1.js +0 -1
  64. package/dist/assets/worker-h5IcTUxB.js +0 -1
  65. package/dist/favicon.svg +0 -7
  66. package/dist/iframe.html +0 -495
  67. package/dist/index.html +0 -155
  68. package/dist/index.json +0 -1
  69. package/dist/package.json +0 -60
  70. package/dist/project.json +0 -1
  71. package/dist/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
  72. package/dist/sb-addons/essentials-actions-3/manager-bundle.js.LEGAL.txt +0 -0
  73. package/dist/sb-addons/essentials-backgrounds-4/manager-bundle.js +0 -12
  74. package/dist/sb-addons/essentials-backgrounds-4/manager-bundle.js.LEGAL.txt +0 -0
  75. package/dist/sb-addons/essentials-controls-2/manager-bundle.js +0 -60
  76. package/dist/sb-addons/essentials-controls-2/manager-bundle.js.LEGAL.txt +0 -18
  77. package/dist/sb-addons/essentials-measure-7/manager-bundle.js +0 -3
  78. package/dist/sb-addons/essentials-measure-7/manager-bundle.js.LEGAL.txt +0 -0
  79. package/dist/sb-addons/essentials-outline-8/manager-bundle.js +0 -3
  80. package/dist/sb-addons/essentials-outline-8/manager-bundle.js.LEGAL.txt +0 -0
  81. package/dist/sb-addons/essentials-toolbars-6/manager-bundle.js +0 -3
  82. package/dist/sb-addons/essentials-toolbars-6/manager-bundle.js.LEGAL.txt +0 -0
  83. package/dist/sb-addons/essentials-viewport-5/manager-bundle.js +0 -3
  84. package/dist/sb-addons/essentials-viewport-5/manager-bundle.js.LEGAL.txt +0 -0
  85. package/dist/sb-addons/links-1/manager-bundle.js +0 -3
  86. package/dist/sb-addons/links-1/manager-bundle.js.LEGAL.txt +0 -0
  87. package/dist/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -3
  88. package/dist/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
  89. package/dist/sb-common-assets/fonts.css +0 -31
  90. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  91. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  92. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  93. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  94. package/dist/sb-manager/WithTooltip-Y7J54OF7-3AIPQNGM.js +0 -1
  95. package/dist/sb-manager/chunk-I53COLQ6.js +0 -183
  96. package/dist/sb-manager/chunk-L35575BZ.js +0 -234
  97. package/dist/sb-manager/chunk-TZAR34JC.js +0 -6
  98. package/dist/sb-manager/chunk-UOBNU442.js +0 -347
  99. package/dist/sb-manager/chunk-VMGB76WP.js +0 -9
  100. package/dist/sb-manager/chunk-XP3HGWTR.js +0 -1
  101. package/dist/sb-manager/formatter-B5HCVTEV-7DCBOGO6.js +0 -58
  102. package/dist/sb-manager/globals-module-info.js +0 -1
  103. package/dist/sb-manager/globals-runtime.js +0 -1
  104. package/dist/sb-manager/globals.js +0 -1
  105. package/dist/sb-manager/index.js +0 -1
  106. package/dist/sb-manager/runtime.js +0 -1
  107. package/dist/sb-manager/syntaxhighlighter-JOJW2KGS-7BF26SBB.js +0 -1
  108. package/dist/sb-preview/globals.js +0 -1
  109. package/dist/sb-preview/runtime.js +0 -128
  110. package/dist/stories/cropper/index.d.ts +0 -18
  111. package/dist/stories/cropper/index.js +0 -118
  112. package/dist/stories/cropper/index.js.map +0 -1
  113. package/dist/stories/cropper/index.stories.d.ts +0 -11
  114. package/dist/stories/cropper/index.stories.js +0 -14
  115. package/dist/stories/cropper/index.stories.js.map +0 -1
  116. package/dist/stories/device-viewer/amr.d.ts +0 -75
  117. package/dist/stories/device-viewer/amr.js +0 -554
  118. package/dist/stories/device-viewer/amr.js.map +0 -1
  119. package/dist/stories/device-viewer/assembly.d.ts +0 -11
  120. package/dist/stories/device-viewer/assembly.js +0 -47
  121. package/dist/stories/device-viewer/assembly.js.map +0 -1
  122. package/dist/stories/device-viewer/asserts/fonts/type.json +0 -1281
  123. package/dist/stories/device-viewer/dimension/index.d.ts +0 -31
  124. package/dist/stories/device-viewer/dimension/index.js +0 -131
  125. package/dist/stories/device-viewer/dimension/index.js.map +0 -1
  126. package/dist/stories/device-viewer/dimension/line3.d.ts +0 -21
  127. package/dist/stories/device-viewer/dimension/line3.js +0 -98
  128. package/dist/stories/device-viewer/dimension/line3.js.map +0 -1
  129. package/dist/stories/device-viewer/dimension/size-box.d.ts +0 -39
  130. package/dist/stories/device-viewer/dimension/size-box.js +0 -176
  131. package/dist/stories/device-viewer/dimension/size-box.js.map +0 -1
  132. package/dist/stories/device-viewer/group-roller.d.ts +0 -20
  133. package/dist/stories/device-viewer/group-roller.js +0 -65
  134. package/dist/stories/device-viewer/group-roller.js.map +0 -1
  135. package/dist/stories/device-viewer/index.d.ts +0 -47
  136. package/dist/stories/device-viewer/index.js +0 -530
  137. package/dist/stories/device-viewer/index.js.map +0 -1
  138. package/dist/stories/device-viewer/index.stories.d.ts +0 -27
  139. package/dist/stories/device-viewer/index.stories.js +0 -37
  140. package/dist/stories/device-viewer/index.stories.js.map +0 -1
  141. package/dist/stories/device-viewer/lines.d.ts +0 -36
  142. package/dist/stories/device-viewer/lines.js +0 -171
  143. package/dist/stories/device-viewer/lines.js.map +0 -1
  144. package/dist/stories/device-viewer/main.d.ts +0 -1
  145. package/dist/stories/device-viewer/main.js +0 -2
  146. package/dist/stories/device-viewer/main.js.map +0 -1
  147. package/dist/stories/device-viewer/mechanism/mechanism.d.ts +0 -29
  148. package/dist/stories/device-viewer/mechanism/mechanism.js +0 -164
  149. package/dist/stories/device-viewer/mechanism/mechanism.js.map +0 -1
  150. package/dist/stories/device-viewer/outerline.d.ts +0 -16
  151. package/dist/stories/device-viewer/outerline.js +0 -63
  152. package/dist/stories/device-viewer/outerline.js.map +0 -1
  153. package/dist/stories/device-viewer/roller.d.ts +0 -31
  154. package/dist/stories/device-viewer/roller.js +0 -121
  155. package/dist/stories/device-viewer/roller.js.map +0 -1
  156. package/dist/stories/device-viewer/row.d.ts +0 -18
  157. package/dist/stories/device-viewer/row.js +0 -58
  158. package/dist/stories/device-viewer/row.js.map +0 -1
  159. package/dist/stories/device-viewer/scene.d.ts +0 -101
  160. package/dist/stories/device-viewer/scene.js +0 -535
  161. package/dist/stories/device-viewer/scene.js.map +0 -1
  162. package/dist/stories/device-viewer/slot/slot-item.d.ts +0 -20
  163. package/dist/stories/device-viewer/slot/slot-item.js +0 -82
  164. package/dist/stories/device-viewer/slot/slot-item.js.map +0 -1
  165. package/dist/stories/device-viewer/slot.d.ts +0 -71
  166. package/dist/stories/device-viewer/slot.js +0 -272
  167. package/dist/stories/device-viewer/slot.js.map +0 -1
  168. package/dist/stories/device-viewer/sound.d.ts +0 -5
  169. package/dist/stories/device-viewer/sound.js +0 -13
  170. package/dist/stories/device-viewer/sound.js.map +0 -1
  171. package/dist/stories/device-viewer/text2.d.ts +0 -4
  172. package/dist/stories/device-viewer/text2.js +0 -12
  173. package/dist/stories/device-viewer/text2.js.map +0 -1
  174. package/dist/stories/device-viewer/text3.d.ts +0 -4
  175. package/dist/stories/device-viewer/text3.js +0 -14
  176. package/dist/stories/device-viewer/text3.js.map +0 -1
  177. package/dist/stories/device-viewer/utils/index.d.ts +0 -36
  178. package/dist/stories/device-viewer/utils/index.js +0 -166
  179. package/dist/stories/device-viewer/utils/index.js.map +0 -1
  180. package/dist/stories/device-viewer/worker/generate-mesh-bvh-worker.d.ts +0 -8
  181. package/dist/stories/device-viewer/worker/generate-mesh-bvh-worker.js +0 -88
  182. package/dist/stories/device-viewer/worker/generate-mesh-bvh-worker.js.map +0 -1
  183. package/dist/stories/device-viewer/worker/generateAsync.worker.d.ts +0 -1
  184. package/dist/stories/device-viewer/worker/generateAsync.worker.js +0 -57
  185. package/dist/stories/device-viewer/worker/generateAsync.worker.js.map +0 -1
  186. package/dist/stories/device-viewer/worker/path-tracing-scene-worker.d.ts +0 -16
  187. package/dist/stories/device-viewer/worker/path-tracing-scene-worker.js +0 -29
  188. package/dist/stories/device-viewer/worker/path-tracing-scene-worker.js.map +0 -1
  189. package/dist/stories/main/index.d.ts +0 -1
  190. package/dist/stories/main/index.js +0 -2
  191. package/dist/stories/main/index.js.map +0 -1
  192. package/dist/stories/main.d.ts +0 -4
  193. package/dist/stories/main.js +0 -5
  194. package/dist/stories/main.js.map +0 -1
  195. package/dist/stories/plugin.d.ts +0 -5
  196. package/dist/stories/plugin.js +0 -6
  197. package/dist/stories/plugin.js.map +0 -1
  198. package/dist/stories/plugins/change-slot/index.d.ts +0 -0
  199. package/dist/stories/plugins/change-slot/index.js +0 -2
  200. package/dist/stories/plugins/change-slot/index.js.map +0 -1
  201. package/dist/stories/sglb/index.d.ts +0 -27
  202. package/dist/stories/sglb/index.js +0 -151
  203. package/dist/stories/sglb/index.js.map +0 -1
  204. package/dist/stories/smap-viewer/index.d.ts +0 -14
  205. package/dist/stories/smap-viewer/index.js +0 -59
  206. package/dist/stories/smap-viewer/index.js.map +0 -1
  207. package/dist/stories/smap-viewer/index.stories.d.ts +0 -22
  208. package/dist/stories/smap-viewer/index.stories.js +0 -27
  209. package/dist/stories/smap-viewer/index.stories.js.map +0 -1
  210. package/dist/stories/step-viewer/index.d.ts +0 -17
  211. package/dist/stories/step-viewer/index.js +0 -109
  212. package/dist/stories/step-viewer/index.js.map +0 -1
  213. package/dist/stories/step-viewer/index.stories.d.ts +0 -20
  214. package/dist/stories/step-viewer/index.stories.js +0 -24
  215. package/dist/stories/step-viewer/index.stories.js.map +0 -1
  216. package/dist/stories/test/index.d.ts +0 -25
  217. package/dist/stories/test/index.js +0 -99
  218. package/dist/stories/test/index.js.map +0 -1
  219. package/dist/stories/test/index.stories.d.ts +0 -14
  220. package/dist/stories/test/index.stories.js +0 -16
  221. package/dist/stories/test/index.stories.js.map +0 -1
  222. package/dist/stories/test/scene.d.ts +0 -20
  223. package/dist/stories/test/scene.js +0 -86
  224. package/dist/stories/test/scene.js.map +0 -1
  225. package/dist/stories/utils/index.d.ts +0 -4
  226. package/dist/stories/utils/index.js +0 -28
  227. package/dist/stories/utils/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot-item.js","sourceRoot":"","sources":["../../../../stories/device-viewer/slot/slot-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAe,KAAK,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,MAAM,MAAkC,mBAAmB,CAAA;AAClE,OAAO,QAAQ,MAAgC,0BAA0B,CAAA;AAOlE,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;aAM/B,WAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,AAAhB,CAAgB;IAE7B,YAAmB,KAAoB;QACrC,KAAK,EAAE,CAAA;QADU,UAAK,GAAL,KAAK,CAAe;QAL/B,UAAK,GAAG,EAAE,CAAA;QAUlB,aAAQ,GAAG,KAAK,CAAA;QAGhB,aAAQ,GAAG,KAAK,CAAA;QAGhB,eAAU,GAAG,KAAK,CAAA;QAGlB,SAAI,GAAG,KAAK,CAAA;QAGZ,YAAO,GAAG,KAAK,CAAA;QAGf,WAAM,GAAG,KAAK,CAAA;IAlBd,CAAC;IAwBD,OAAO,CAAC,CAAa;QACnB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,CAAC,CAAC,eAAe,EAAE,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,EAAE;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAES,MAAM;QACd,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;sBAEjB,UAAU,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE;;oCAE5C,IAAI,CAAC,OAAO;6BACnB,QAAQ;;cAEvB,IAAI,CAAC,IAAI,EAAE,IAAI;;;;KAIxB,CAAA;IACH,CAAC;;AA7DO;IADP,KAAK,EAAE;uCACU;AAUlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACZ;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACZ;AAGhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACV;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCAChB;AAGZ;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACb;AAGf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACd;AAId;IAFC,QAAQ,EAAE;sCAEP;AAhCO,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAiEpB"}
@@ -1,71 +0,0 @@
1
- import { Mesh, Object3D } from 'three';
2
- import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
3
- import EventEmitter from 'eventemitter3';
4
- import { Scene3D } from './scene';
5
- export interface SlotProps {
6
- name: string;
7
- follows: Map<string, {
8
- scale: number;
9
- origin: number;
10
- }>;
11
- slot: Object3D;
12
- }
13
- export interface DeviceInfo {
14
- name: string;
15
- id: string;
16
- url: string;
17
- logo?: string;
18
- bracketUrl?: string;
19
- }
20
- export declare const SLOT_EVENTS: {
21
- ON_DROP: string;
22
- ON_BEFORE_SELECTED: string;
23
- ON_SELECTED: string;
24
- ON_DEVICE_SELECTED: string;
25
- ON_DROP_ERROR: string;
26
- ON_ERROR_STATE_CHANGE: string;
27
- };
28
- export declare class Slot extends CSS2DObject {
29
- private props;
30
- private target;
31
- private _emitter;
32
- private _slotContainer;
33
- private _slotUI;
34
- private _bracketSlots;
35
- private _hasError;
36
- useBracket: boolean;
37
- addEventListener: <T extends string | symbol>(event: T, fn: (...args: any[]) => void, context?: any) => EventEmitter<string | symbol, any>;
38
- removeEventListener: <T extends string | symbol>(event: T, fn?: ((...args: any[]) => void) | undefined, context?: any, once?: boolean | undefined) => EventEmitter<string | symbol, any>;
39
- private _canInstall;
40
- private _loading;
41
- private _selected;
42
- private _deviceSelected;
43
- private _timer;
44
- get hasDevice(): boolean;
45
- deviceInfo: DeviceInfo | undefined;
46
- constructor(props: SlotProps, target: Mesh | undefined);
47
- shapeKeyChanged(key: string, value: number): void;
48
- private _tick;
49
- loadGlb(sglb: string): Promise<Object3D<import("three").Object3DEventMap> | undefined>;
50
- installBracket(url: string): Promise<void>;
51
- install(info: DeviceInfo): Promise<void>;
52
- getWP: (target: import("three").Vector3) => import("three").Vector3;
53
- get device(): Object3D<import("three").Object3DEventMap> | null;
54
- changeName(name: string): void;
55
- clearSlot(): void;
56
- enable(): void;
57
- disable(): void;
58
- hide(): void;
59
- show(): void;
60
- get selected(): boolean;
61
- set selected(s: boolean);
62
- get deviceSelected(): boolean;
63
- set deviceSelected(s: boolean);
64
- get error(): boolean;
65
- set error(hasError: boolean);
66
- getCanInstall(): boolean;
67
- canInstall(c: boolean): void;
68
- dispose(): void;
69
- render(app: Scene3D): void;
70
- clone(recursive?: boolean): this;
71
- }
@@ -1,272 +0,0 @@
1
- import { Group, Vector2 } from 'three';
2
- import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
3
- import EventEmitter from 'eventemitter3';
4
- import { clearThreeObjectMesh, generateMorphTargetWithTarget } from './utils';
5
- import { SGLBLoader } from '../sglb';
6
- import { SlotItem } from './slot/slot-item';
7
- export const SLOT_EVENTS = {
8
- ON_DROP: 'slot-on-drop',
9
- ON_BEFORE_SELECTED: 'slot-on-before-selected',
10
- ON_SELECTED: 'slot-on-selected',
11
- ON_DEVICE_SELECTED: 'slot-on-device-selected',
12
- ON_DROP_ERROR: 'slot-on-drop-error',
13
- ON_ERROR_STATE_CHANGE: 'slot-on-error-state-change'
14
- };
15
- export class Slot extends CSS2DObject {
16
- get hasDevice() {
17
- return this._slotContainer.children.length > 0;
18
- }
19
- constructor(props, target) {
20
- const box = document.createElement('div');
21
- super(box);
22
- this.props = props;
23
- this.target = target;
24
- this._emitter = new EventEmitter();
25
- this._slotContainer = new Group();
26
- this._bracketSlots = [];
27
- this._hasError = false;
28
- this.useBracket = false;
29
- this.addEventListener = this._emitter.addListener.bind(this._emitter);
30
- this.removeEventListener = this._emitter.removeListener.bind(this._emitter);
31
- this._canInstall = false;
32
- this._loading = false;
33
- this._selected = false;
34
- this._deviceSelected = false;
35
- this._timer = 0;
36
- this._tick = () => {
37
- this._timer = requestAnimationFrame(this._tick);
38
- if (this.target) {
39
- this.props.slot.position.copy(generateMorphTargetWithTarget(this.target));
40
- }
41
- };
42
- this.getWP = this._slotContainer.getWorldPosition.bind(this._slotContainer);
43
- this.name = props.name;
44
- this._slotUI = new SlotItem({ name: props.name });
45
- this._slotUI.slot = this;
46
- box.append(this._slotUI);
47
- this.add(this._slotContainer);
48
- this.props.slot.add(this);
49
- if (target) {
50
- this._tick();
51
- }
52
- box.addEventListener('click', (e) => {
53
- e.preventDefault();
54
- e.stopPropagation();
55
- this.selected = !this.selected;
56
- });
57
- box.addEventListener('dragover', e => {
58
- e.preventDefault();
59
- if (!this._canInstall) {
60
- if (e.dataTransfer) {
61
- e.dataTransfer.dropEffect = 'none';
62
- }
63
- return;
64
- }
65
- });
66
- box.addEventListener('drop', async (e) => {
67
- e.preventDefault();
68
- e.stopPropagation();
69
- if (!this._canInstall)
70
- return;
71
- const jsonDataString = e.dataTransfer?.getData('application/json');
72
- if (jsonDataString) {
73
- const r = JSON.parse(jsonDataString);
74
- try {
75
- await this.install(r);
76
- this._emitter.emit(SLOT_EVENTS.ON_DROP, this);
77
- }
78
- catch (e) {
79
- this._emitter.emit(SLOT_EVENTS.ON_DROP_ERROR, e);
80
- }
81
- }
82
- else {
83
- this._emitter.emit(SLOT_EVENTS.ON_DROP_ERROR, new Error('No device info'));
84
- }
85
- });
86
- }
87
- shapeKeyChanged(key, value) {
88
- if (this.props.follows.has(key)) {
89
- const obj = this.props.follows.get(key);
90
- if (obj) {
91
- let direction = 'x';
92
- if (key === 'height') {
93
- direction = 'y';
94
- }
95
- else if (key === 'width') {
96
- direction = 'z';
97
- }
98
- this.position[direction] = (value - obj.origin) * obj.scale;
99
- }
100
- }
101
- }
102
- async loadGlb(sglb) {
103
- const sglbLoader = new SGLBLoader({ useCache: true });
104
- const result = await sglbLoader.loadAsync(sglb);
105
- if (!result.glb)
106
- return;
107
- return result.glb.clone(true);
108
- }
109
- async installBracket(url) {
110
- const sglbLoader = new SGLBLoader({ useCache: true });
111
- const result = await sglbLoader.loadAsync(url);
112
- if (!result.glb)
113
- return;
114
- const glb = result.glb.clone(true);
115
- this.useBracket = true;
116
- this._slotContainer.add(glb);
117
- }
118
- async install(info) {
119
- if (this._loading)
120
- return;
121
- this._loading = true;
122
- try {
123
- const glb = await this.loadGlb(info.url);
124
- if (!glb) {
125
- throw new Error(`Fail to load device from: ${info.url}`);
126
- }
127
- if (info.bracketUrl) {
128
- const bracket = await this.loadGlb(info.bracketUrl);
129
- if (!bracket) {
130
- throw new Error(`Fail to load bracket from: ${info.bracketUrl}`);
131
- }
132
- else {
133
- this.clearSlot();
134
- bracket.traverse(m => {
135
- if (m.name.startsWith('Slot')) {
136
- this._bracketSlots.push(m);
137
- }
138
- });
139
- this._slotContainer.add(bracket);
140
- }
141
- this._bracketSlots.forEach(b => {
142
- b.add(glb);
143
- });
144
- }
145
- else {
146
- this.clearSlot();
147
- this._slotContainer.add(glb);
148
- }
149
- this.deviceInfo = info;
150
- this._slotUI.filled = true;
151
- }
152
- catch (e) {
153
- throw e;
154
- }
155
- finally {
156
- this._loading = false;
157
- }
158
- }
159
- get device() {
160
- if (this._slotContainer.children.length) {
161
- return this._slotContainer.children[0];
162
- }
163
- else {
164
- return null;
165
- }
166
- }
167
- changeName(name) {
168
- this.name = name;
169
- this.props.slot.userData.name = name;
170
- this.props.name = name;
171
- this.element?.setAttribute('data-name', this.props.name);
172
- }
173
- clearSlot() {
174
- this._bracketSlots = [];
175
- this._slotContainer.children.forEach(s => {
176
- s.removeFromParent();
177
- clearThreeObjectMesh(s);
178
- });
179
- this._slotUI.filled = false;
180
- this.deviceInfo = undefined;
181
- }
182
- enable() {
183
- this._slotUI.disable = false;
184
- }
185
- disable() {
186
- this._slotUI.disable = true;
187
- }
188
- hide() {
189
- this._slotUI.hide = true;
190
- }
191
- show() {
192
- this._slotUI.hide = false;
193
- }
194
- get selected() {
195
- return this._selected;
196
- }
197
- set selected(s) {
198
- if (s) {
199
- this._emitter.emit(SLOT_EVENTS.ON_BEFORE_SELECTED, s);
200
- }
201
- this._selected = s;
202
- this._slotUI.selected = s;
203
- this._emitter.emit(SLOT_EVENTS.ON_SELECTED, s);
204
- }
205
- get deviceSelected() {
206
- return this._deviceSelected;
207
- }
208
- set deviceSelected(s) {
209
- this._deviceSelected = s;
210
- this._emitter.emit(SLOT_EVENTS.ON_DEVICE_SELECTED, s);
211
- }
212
- get error() {
213
- return this._hasError;
214
- }
215
- set error(hasError) {
216
- if (this._loading) {
217
- setTimeout(() => {
218
- this.error = hasError;
219
- }, 100);
220
- }
221
- this._hasError = hasError;
222
- this._slotUI.hasError = hasError;
223
- this._emitter.emit(SLOT_EVENTS.ON_ERROR_STATE_CHANGE, hasError);
224
- }
225
- getCanInstall() {
226
- return this._canInstall;
227
- }
228
- canInstall(c) {
229
- this._canInstall = c;
230
- this._slotUI.canInstall = c;
231
- }
232
- dispose() {
233
- cancelAnimationFrame(this._timer);
234
- this.clearSlot();
235
- this._emitter.removeAllListeners();
236
- clearThreeObjectMesh(this._slotContainer);
237
- this.element.remove();
238
- }
239
- render(app) {
240
- const transform = this.element.style.transform;
241
- const match = /translate\(-?\d*\.?\d*%?,?\s-?\d*\.?\d*%?\)\s*translate\((-?\d*\.?\d*)px,\s*(-?\d*\.?\d*)px\)/.exec(transform);
242
- if (!match)
243
- return;
244
- const p = new Vector2(parseFloat(match[1]), parseFloat(match[2]));
245
- const distance = app.mousePos.distanceTo(p);
246
- let initialSize = 12;
247
- let max = 24;
248
- let offset = 30;
249
- if (this._canInstall) {
250
- initialSize = 34;
251
- max = 60;
252
- offset = 60;
253
- }
254
- if (distance < offset) {
255
- let size = (offset - distance) * 1 + initialSize;
256
- if (distance < 20) {
257
- size = max;
258
- }
259
- if (size > max) {
260
- size = max;
261
- }
262
- this._slotUI.setSize(size);
263
- }
264
- else {
265
- this._slotUI.setSize(initialSize);
266
- }
267
- }
268
- clone(recursive) {
269
- return new Group();
270
- }
271
- }
272
- //# sourceMappingURL=slot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../stories/device-viewer/slot.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare class Sound {
2
- private sound;
3
- constructor();
4
- play(): void;
5
- }
@@ -1,13 +0,0 @@
1
- import { Howl } from 'howler';
2
- import SoundInstall from './asserts/audios/install.mp3';
3
- export class Sound {
4
- constructor() {
5
- this.sound = new Howl({
6
- src: [SoundInstall]
7
- });
8
- }
9
- play() {
10
- this.sound.play();
11
- }
12
- }
13
- //# sourceMappingURL=sound.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sound.js","sourceRoot":"","sources":["../../../stories/device-viewer/sound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAU,QAAQ,CAAA;AACjC,OAAO,YAAY,MAAM,8BAA8B,CAAA;AAEvD,MAAM,OAAO,KAAK;IAKhB;QAJQ,UAAK,GAAG,IAAI,IAAI,CAAC;YACvB,GAAG,EAAE,CAAC,YAAY,CAAC;SACpB,CAAC,CAAA;IAGF,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
2
- export declare class Text2 extends CSS2DObject {
3
- constructor(text: string);
4
- }
@@ -1,12 +0,0 @@
1
- import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
2
- export class Text2 extends CSS2DObject {
3
- constructor(text) {
4
- const box = document.createElement('div');
5
- super(box);
6
- box.innerText = text;
7
- box.style.background = 'transparent';
8
- box.style.fontSize = '10px';
9
- box.style.color = '#00FF95';
10
- }
11
- }
12
- //# sourceMappingURL=text2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text2.js","sourceRoot":"","sources":["../../../stories/device-viewer/text2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AAExE,MAAM,OAAO,KAAM,SAAQ,WAAW;IACpC,YAAY,IAAY;QACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;QACpB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAA;QACpC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAA;QAC3B,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;IAC7B,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
2
- export declare class Text3 extends CSS3DObject {
3
- constructor(text: string);
4
- }
@@ -1,14 +0,0 @@
1
- import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
2
- export class Text3 extends CSS3DObject {
3
- constructor(text) {
4
- const box = document.createElement('div');
5
- super(box);
6
- box.innerText = text;
7
- box.style.background = 'transparent';
8
- box.style.fontSize = '5px';
9
- box.style.color = '#fff';
10
- this.scale.set(0.01, 0.01, 0.01);
11
- this.rotateY(Math.PI);
12
- }
13
- }
14
- //# sourceMappingURL=text3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text3.js","sourceRoot":"","sources":["../../../stories/device-viewer/text3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AAExE,MAAM,OAAO,KAAM,SAAQ,WAAW;IACpC,YAAY,IAAY;QACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;QACpB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAA;QACpC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAA;QAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;QAExB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;CACF"}
@@ -1,36 +0,0 @@
1
- import { Box3, Mesh, Object3D, Vector3 } from 'three';
2
- export declare const clearThreeObjectMesh: (object: Object3D) => void;
3
- export declare const uuid: () => string;
4
- export declare function getElementLeftPosition(element: any): {
5
- x: number;
6
- y: number;
7
- };
8
- export declare function getRelativePosition(child: Element, target: Element): {
9
- y: number;
10
- x: number;
11
- };
12
- export declare function getVector3FromArray(arr: number[]): Vector3;
13
- export declare function getLocationPosition(obj: Object3D, wp: Vector3): Vector3;
14
- export declare function getScaledSettings(): {
15
- tiles: number;
16
- renderScale: number;
17
- };
18
- export declare function generateMorphTargetWithTarget(target: Mesh): Vector3;
19
- export declare function generateMorphTarget(originPoint: Vector3, morphPositions: any[], influences: number[]): Vector3;
20
- export declare function calculateTotalDimensionsUsingVertices(object: Object3D): {
21
- box: Box3;
22
- maxRadius: number;
23
- height: number;
24
- hasLength: boolean;
25
- hasWidth: boolean;
26
- hasHeight: boolean;
27
- };
28
- export declare function calculateInscribedCircleRadius(length: number, width: number): number;
29
- export declare function calculateCircleRadiusByBox3(box: Box3): number;
30
- export declare function debounce(fn: any, delay: number, scope?: any): () => void;
31
- export declare class ObjectSize {
32
- length: number;
33
- width: number;
34
- height: number;
35
- constructor(length: number, width: number, height: number);
36
- }
@@ -1,166 +0,0 @@
1
- import { Box3, Mesh, Vector3 } from 'three';
2
- export const clearThreeObjectMesh = (object) => {
3
- while (object.children.length > 0) {
4
- clearThreeObjectMesh(object.children[0]);
5
- object.children[0]?.removeFromParent();
6
- }
7
- if (object instanceof Mesh) {
8
- try {
9
- object.geometry?.dispose();
10
- }
11
- catch (e) {
12
- }
13
- }
14
- else {
15
- if (object.dispose) {
16
- object.dispose();
17
- }
18
- }
19
- };
20
- export const uuid = () => {
21
- return URL.createObjectURL(new Blob([])).substr(-36);
22
- };
23
- export function getElementLeftPosition(element) {
24
- var rect = element.getBoundingClientRect();
25
- var parentRect = element.parentNode ? element.parentNode.getBoundingClientRect() : { left: 0, top: 0 };
26
- var xPos = rect.left - parentRect.left;
27
- var yPos = rect.top - parentRect.top + rect.height / 2;
28
- if (!element.parentNode || element.parentNode === document.body) {
29
- xPos = rect.left + window.scrollX;
30
- yPos = rect.top + window.scrollY + rect.height / 2;
31
- }
32
- return {
33
- x: xPos,
34
- y: yPos
35
- };
36
- }
37
- export function getRelativePosition(child, target) {
38
- const childRect = child.getBoundingClientRect();
39
- const targetRect = target.getBoundingClientRect();
40
- const relativeTop = childRect.top - targetRect.top;
41
- const relativeLeft = childRect.left - targetRect.left;
42
- return { y: relativeTop, x: relativeLeft };
43
- }
44
- export function getVector3FromArray(arr) {
45
- return new Vector3(arr[0], arr[1], arr[2]);
46
- }
47
- export function getLocationPosition(obj, wp) {
48
- obj.updateMatrixWorld(true);
49
- const worldMatrix = obj.matrixWorld.invert();
50
- return wp.clone().applyMatrix4(worldMatrix);
51
- }
52
- export function getScaledSettings() {
53
- let tiles = 3;
54
- let renderScale = Math.max(1 / window.devicePixelRatio, 0.5);
55
- const aspectRatio = window.innerWidth / window.innerHeight;
56
- if (aspectRatio < 0.65) {
57
- tiles = 4;
58
- renderScale = 1 / window.devicePixelRatio;
59
- }
60
- return { tiles, renderScale };
61
- }
62
- export function generateMorphTargetWithTarget(target) {
63
- try {
64
- const originArr = target.geometry.attributes.position.array;
65
- const originPoint = new Vector3(...originArr);
66
- return generateMorphTarget(originPoint, target.geometry.morphAttributes.position, target.morphTargetInfluences || []);
67
- }
68
- catch (e) {
69
- return new Vector3();
70
- }
71
- }
72
- export function generateMorphTarget(originPoint, morphPositions, influences) {
73
- const target = originPoint.clone();
74
- const displacements = morphPositions.map(morphPosition => {
75
- const displacement = new Vector3();
76
- for (let i = 0; i < morphPosition.count; i++) {
77
- displacement.set(morphPosition.getX(i), morphPosition.getY(i), morphPosition.getZ(i));
78
- }
79
- return displacement;
80
- });
81
- displacements.forEach((dist, index) => {
82
- const influence = influences[index] || 0;
83
- target.add(dist.clone().multiplyScalar(influence));
84
- });
85
- return target;
86
- }
87
- export function calculateTotalDimensionsUsingVertices(object) {
88
- let hasLength = false, hasWidth = false, hasHeight = false;
89
- let minX = Infinity, minY = Infinity, minZ = Infinity;
90
- let maxX = -Infinity, maxY = -Infinity, maxZ = -Infinity;
91
- let maxRadius = 0;
92
- let height = 0;
93
- object.traverse((child) => {
94
- if (child.isMesh && child.geometry) {
95
- const mesh = child;
96
- mesh.geometry.computeBoundingBox();
97
- let positionAttribute = mesh.geometry.attributes.position;
98
- const morphAttributes = mesh.geometry.morphAttributes.position;
99
- let morphInfluences = mesh.morphTargetInfluences;
100
- const keys = Object.keys(mesh.morphTargetDictionary || {});
101
- if (keys.includes('width'))
102
- hasWidth = true;
103
- if (keys.includes('length'))
104
- hasLength = true;
105
- if (keys.includes('height'))
106
- hasHeight = true;
107
- for (let i = 0; i < positionAttribute.count; i++) {
108
- let x = positionAttribute.getX(i);
109
- let y = positionAttribute.getY(i);
110
- let z = positionAttribute.getZ(i);
111
- height = Math.max(y, height);
112
- if (morphAttributes && morphInfluences) {
113
- morphAttributes.forEach((morphAttr, index) => {
114
- const val = (morphInfluences && morphInfluences[index]) || 0;
115
- x += morphAttr.getX(i) * val;
116
- y += morphAttr.getY(i) * val;
117
- z += morphAttr.getZ(i) * val;
118
- });
119
- }
120
- if (x < minX)
121
- minX = x;
122
- if (y < minY)
123
- minY = y;
124
- if (z < minZ)
125
- minZ = z;
126
- if (x > maxX)
127
- maxX = x;
128
- if (y > maxY)
129
- maxY = y;
130
- if (z > maxZ)
131
- maxZ = z;
132
- const distance = Math.sqrt(x * x + z * z);
133
- if (distance > maxRadius)
134
- maxRadius = distance;
135
- }
136
- }
137
- });
138
- const box = new Box3(new Vector3(minX, minY, minZ), new Vector3(maxX, maxY, maxZ));
139
- return { box, maxRadius, height, hasWidth, hasLength, hasHeight };
140
- }
141
- export function calculateInscribedCircleRadius(length, width) {
142
- const diagonal = Math.sqrt(length * length + width * width);
143
- return diagonal / 2;
144
- }
145
- export function calculateCircleRadiusByBox3(box) {
146
- const center = new Vector3();
147
- return Math.max(center.distanceTo(new Vector3(box.min.x, box.min.y, box.min.z)), center.distanceTo(new Vector3(box.min.x, box.min.y, box.max.z)), center.distanceTo(new Vector3(box.min.x, box.max.y, box.min.z)), center.distanceTo(new Vector3(box.min.x, box.max.y, box.max.z)), center.distanceTo(new Vector3(box.max.x, box.min.y, box.min.z)), center.distanceTo(new Vector3(box.max.x, box.min.y, box.max.z)), center.distanceTo(new Vector3(box.max.x, box.max.y, box.min.z)), center.distanceTo(new Vector3(box.max.x, box.max.y, box.max.z)));
148
- }
149
- export function debounce(fn, delay, scope = null) {
150
- let timer = 0;
151
- return function () {
152
- let context = scope || this, args = arguments;
153
- clearTimeout(timer);
154
- timer = window.setTimeout(function () {
155
- fn.apply(context, args);
156
- }, delay);
157
- };
158
- }
159
- export class ObjectSize {
160
- constructor(length, width, height) {
161
- this.length = length;
162
- this.width = width;
163
- this.height = height;
164
- }
165
- }
166
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../stories/device-viewer/utils/index.ts"],"names":[],"mappings":"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"}