x_ite 4.0.5 → 4.7.5

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 (1007) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  2. package/.vscode/settings.json +15 -0
  3. package/.vscode/tasks.json +25 -0
  4. package/Makefile +55 -15
  5. package/README.md +13 -130
  6. package/build/bin/dist.pl +156 -0
  7. package/build/bin/version-number.pl +25 -0
  8. package/build/{version.pl → bin/version.pl} +64 -21
  9. package/build/components/annotation.build.js +15 -0
  10. package/build/components/cad-geometry.build.js +15 -0
  11. package/build/components/cube-map-texturing.build.js +15 -0
  12. package/build/components/dis.build.js +15 -0
  13. package/build/components/event-utilities.build.js +15 -0
  14. package/build/components/geometry2d.build.js +15 -0
  15. package/build/components/geospatial.build.js +15 -0
  16. package/build/components/h-anim.build.js +15 -0
  17. package/build/components/key-device-sensor.build.js +15 -0
  18. package/build/components/layout.build.js +15 -0
  19. package/build/components/nurbs.build.js +15 -0
  20. package/build/components/particle-systems.build.js +15 -0
  21. package/build/components/picking.build.js +15 -0
  22. package/build/components/projective-texture-mapping.build.js +15 -0
  23. package/build/components/rigid-body-physics.build.js +15 -0
  24. package/build/components/scripting.build.js +15 -0
  25. package/build/components/texturing-3d.build.js +15 -0
  26. package/build/components/volume-rendering.build.js +15 -0
  27. package/build/components/x_ite.build.js +15 -0
  28. package/build/parts/default.end.frag +2 -0
  29. package/build/parts/default.start.frag +6 -0
  30. package/build/parts/x_ite.end.frag +23 -0
  31. package/build/parts/x_ite.start.frag +8 -0
  32. package/build/x_ite.build.js +18 -0
  33. package/dist/LICENSE.txt +49 -0
  34. package/dist/assets/components/annotation.js +813 -0
  35. package/dist/assets/components/annotation.min.js +1 -0
  36. package/dist/assets/components/cad-geometry.js +1037 -0
  37. package/dist/assets/components/cad-geometry.min.js +1 -0
  38. package/dist/assets/components/cube-map-texturing.js +1212 -0
  39. package/dist/assets/components/cube-map-texturing.min.js +1 -0
  40. package/dist/assets/components/dis.js +908 -0
  41. package/dist/assets/components/dis.min.js +1 -0
  42. package/dist/assets/components/event-utilities.js +1114 -0
  43. package/dist/assets/components/event-utilities.min.js +1 -0
  44. package/dist/assets/components/geometry2d.js +2190 -0
  45. package/dist/assets/components/geometry2d.min.js +1 -0
  46. package/dist/assets/components/geospatial.js +3850 -0
  47. package/dist/assets/components/geospatial.min.js +2 -0
  48. package/dist/assets/components/h-anim.js +1084 -0
  49. package/dist/assets/components/h-anim.min.js +1 -0
  50. package/dist/assets/components/key-device-sensor.js +850 -0
  51. package/dist/assets/components/key-device-sensor.min.js +1 -0
  52. package/dist/assets/components/layout.js +2008 -0
  53. package/dist/assets/components/layout.min.js +1 -0
  54. package/dist/assets/components/nurbs.js +5388 -0
  55. package/dist/assets/components/nurbs.min.js +2 -0
  56. package/dist/assets/components/particle-systems.js +4216 -0
  57. package/dist/assets/components/particle-systems.min.js +2 -0
  58. package/dist/assets/components/picking.js +2481 -0
  59. package/dist/assets/components/picking.min.js +1 -0
  60. package/dist/assets/components/projective-texture-mapping.js +813 -0
  61. package/dist/assets/components/projective-texture-mapping.min.js +1 -0
  62. package/dist/assets/components/rigid-body-physics.js +4569 -0
  63. package/dist/assets/components/rigid-body-physics.min.js +59 -0
  64. package/dist/assets/components/scripting.js +801 -0
  65. package/dist/assets/components/scripting.min.js +1 -0
  66. package/dist/assets/components/texturing-3d.js +10054 -0
  67. package/dist/assets/components/texturing-3d.min.js +48 -0
  68. package/dist/assets/components/volume-rendering.js +3966 -0
  69. package/dist/assets/components/volume-rendering.min.js +3 -0
  70. package/dist/assets/components/x_ite.js +285 -0
  71. package/dist/assets/components/x_ite.min.js +1 -0
  72. package/{fonts → dist/assets/fonts}/DroidSerif-Bold.ttf +0 -0
  73. package/{fonts → dist/assets/fonts}/DroidSerif-BoldItalic.ttf +0 -0
  74. package/{fonts → dist/assets/fonts}/DroidSerif-Italic.ttf +0 -0
  75. package/{fonts → dist/assets/fonts}/DroidSerif-Regular.ttf +0 -0
  76. package/{fonts → dist/assets/fonts}/Ubuntu-B.ttf +0 -0
  77. package/{fonts → dist/assets/fonts}/Ubuntu-BI.ttf +0 -0
  78. package/{fonts → dist/assets/fonts}/Ubuntu-R.ttf +0 -0
  79. package/{fonts → dist/assets/fonts}/Ubuntu-RI.ttf +0 -0
  80. package/{fonts → dist/assets/fonts}/UbuntuMono-B.ttf +0 -0
  81. package/{fonts → dist/assets/fonts}/UbuntuMono-BI.ttf +0 -0
  82. package/{fonts → dist/assets/fonts}/UbuntuMono-R.ttf +0 -0
  83. package/{fonts → dist/assets/fonts}/UbuntuMono-RI.ttf +0 -0
  84. package/dist/assets/hatching/0.png +0 -0
  85. package/dist/assets/hatching/1.png +0 -0
  86. package/dist/assets/hatching/10.png +0 -0
  87. package/dist/assets/hatching/11.png +0 -0
  88. package/dist/assets/hatching/12.png +0 -0
  89. package/dist/assets/hatching/13.png +0 -0
  90. package/dist/assets/hatching/14.png +0 -0
  91. package/dist/assets/hatching/15.png +0 -0
  92. package/dist/assets/hatching/16.png +0 -0
  93. package/dist/assets/hatching/17.png +0 -0
  94. package/dist/assets/hatching/18.png +0 -0
  95. package/dist/assets/hatching/19.png +0 -0
  96. package/dist/assets/hatching/2.png +0 -0
  97. package/dist/assets/hatching/3.png +0 -0
  98. package/dist/assets/hatching/4.png +0 -0
  99. package/dist/assets/hatching/5.png +0 -0
  100. package/dist/assets/hatching/6.png +0 -0
  101. package/dist/assets/hatching/7.png +0 -0
  102. package/dist/assets/hatching/8.png +0 -0
  103. package/dist/assets/hatching/9.png +0 -0
  104. package/dist/{images → assets/images}/ExamineViewer.png +0 -0
  105. package/dist/{images → assets/images}/FlyViewer.png +0 -0
  106. package/dist/{images → assets/images}/NoneViewer.png +0 -0
  107. package/dist/{images → assets/images}/PlaneViewer.png +0 -0
  108. package/dist/{images → assets/images}/PrimitiveQuality.png +0 -0
  109. package/dist/{images → assets/images}/TextureQuality.png +0 -0
  110. package/dist/{images → assets/images}/Time.png +0 -0
  111. package/dist/{images → assets/images}/Viewpoint.png +0 -0
  112. package/dist/{images → assets/images}/WalkViewer.png +0 -0
  113. package/dist/assets/images/go-next.png +0 -0
  114. package/dist/{images → assets/images}/gtk-fullscreen.png +0 -0
  115. package/dist/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
  116. package/dist/{images → assets/images}/gtk-zoom-fit.png +0 -0
  117. package/dist/{images → assets/images}/gtk-zoom-in.png +0 -0
  118. package/dist/{images → assets/images}/help-about.png +0 -0
  119. package/dist/{images → assets/images}/icon.bw.png +0 -0
  120. package/dist/{images → assets/images}/icon.png +0 -0
  121. package/dist/assets/images/logo.128.png +0 -0
  122. package/dist/{images → assets/images}/logo.bw.png +0 -0
  123. package/dist/{images → assets/images}/logo.png +0 -0
  124. package/dist/assets/linetype/0.png +0 -0
  125. package/dist/assets/linetype/1.png +0 -0
  126. package/dist/assets/linetype/10.png +0 -0
  127. package/dist/assets/linetype/11.png +0 -0
  128. package/dist/assets/linetype/12.png +0 -0
  129. package/dist/assets/linetype/13.png +0 -0
  130. package/dist/assets/linetype/14.png +0 -0
  131. package/dist/assets/linetype/15.png +0 -0
  132. package/dist/assets/linetype/16.png +0 -0
  133. package/dist/assets/linetype/2.png +0 -0
  134. package/dist/assets/linetype/3.png +0 -0
  135. package/dist/assets/linetype/4.png +0 -0
  136. package/dist/assets/linetype/5.png +0 -0
  137. package/dist/assets/linetype/6.png +0 -0
  138. package/dist/assets/linetype/7.png +0 -0
  139. package/dist/assets/linetype/8.png +0 -0
  140. package/dist/assets/linetype/9.png +0 -0
  141. package/dist/assets/shaders/webgl1/Background.fs +23 -0
  142. package/dist/assets/shaders/webgl1/Background.vs +16 -0
  143. package/dist/assets/shaders/webgl1/Depth.fs +60 -0
  144. package/dist/assets/shaders/webgl1/Depth.vs +13 -0
  145. package/dist/assets/shaders/webgl1/Fallback.fs +28 -0
  146. package/dist/assets/shaders/webgl1/Fallback.vs +24 -0
  147. package/dist/assets/shaders/webgl1/FallbackUnlit.fs +16 -0
  148. package/dist/assets/shaders/webgl1/FallbackUnlit.vs +18 -0
  149. package/dist/assets/shaders/webgl1/Gouraud.fs +529 -0
  150. package/dist/assets/shaders/webgl1/Gouraud.vs +108 -0
  151. package/dist/assets/shaders/webgl1/Phong.fs +838 -0
  152. package/dist/assets/shaders/webgl1/Phong.vs +52 -0
  153. package/dist/assets/shaders/webgl1/PointSet.fs +541 -0
  154. package/dist/assets/shaders/webgl1/PointSet.vs +48 -0
  155. package/dist/assets/shaders/webgl1/Unlit.fs +541 -0
  156. package/dist/assets/shaders/webgl1/Unlit.vs +52 -0
  157. package/dist/assets/shaders/webgl1/Wireframe.fs +93 -0
  158. package/dist/assets/shaders/webgl1/Wireframe.vs +47 -0
  159. package/dist/assets/shaders/webgl2/Background.fs +25 -0
  160. package/dist/assets/shaders/webgl2/Background.vs +17 -0
  161. package/dist/assets/shaders/webgl2/Depth.fs +62 -0
  162. package/dist/assets/shaders/webgl2/Depth.vs +14 -0
  163. package/dist/assets/shaders/webgl2/Gouraud.fs +684 -0
  164. package/dist/assets/shaders/webgl2/Gouraud.vs +109 -0
  165. package/dist/assets/shaders/webgl2/Phong.fs +1014 -0
  166. package/dist/assets/shaders/webgl2/Phong.vs +53 -0
  167. package/dist/assets/shaders/webgl2/PointSet.fs +696 -0
  168. package/dist/assets/shaders/webgl2/PointSet.vs +49 -0
  169. package/dist/assets/shaders/webgl2/Unlit.fs +696 -0
  170. package/dist/assets/shaders/webgl2/Unlit.vs +53 -0
  171. package/dist/assets/shaders/webgl2/Wireframe.fs +102 -0
  172. package/dist/assets/shaders/webgl2/Wireframe.vs +48 -0
  173. package/dist/example.html +8 -7
  174. package/dist/x_ite.css +180 -59
  175. package/dist/x_ite.js +74696 -68048
  176. package/dist/x_ite.min.js +42 -41
  177. package/dist/x_ite.zip +0 -0
  178. package/docs/404.md +5 -0
  179. package/docs/Accessing-the-External-Browser.md +290 -0
  180. package/docs/Browser-Support.md +47 -0
  181. package/docs/Custom-Shaders.md +905 -0
  182. package/docs/Features.md +49 -0
  183. package/docs/Glossary.md +339 -0
  184. package/docs/How-To-Configure-Your-Web-Server.md +56 -0
  185. package/docs/Supported-Nodes.md +370 -0
  186. package/docs/What's-New.md +1240 -0
  187. package/docs/XHTML-DOM-Integration.md +82 -0
  188. package/docs/_config.yml +140 -0
  189. package/docs/_data/navigation.yml +137 -0
  190. package/docs/assets/css/main.scss +100 -0
  191. package/docs/assets/images/logo.png +0 -0
  192. package/docs/google3696ee938394d7b6.html +1 -0
  193. package/docs/index.md +1026 -0
  194. package/docs/reference/Browser-Services.md +333 -0
  195. package/docs/reference/Constants-Services.md +376 -0
  196. package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +128 -0
  197. package/docs/reference/Field-Services-and-Objects.md +1006 -0
  198. package/docs/reference/Prototype-Services.md +121 -0
  199. package/docs/reference/Route-Services.md +49 -0
  200. package/docs/reference/Scene-Services.md +360 -0
  201. package/docs/reference/Script-Node-Authoring-Interface.md +334 -0
  202. package/docs/tutorials/Adding-backgrounds.md +268 -0
  203. package/docs/tutorials/Adding-fog.md +67 -0
  204. package/docs/tutorials/Adding-sound.md +326 -0
  205. package/docs/tutorials/Animating-transforms.md +385 -0
  206. package/docs/tutorials/Basic-Nodes.md +317 -0
  207. package/docs/tutorials/Building-a-X3D-world.md +152 -0
  208. package/docs/tutorials/Building-elevation-grids.md +170 -0
  209. package/docs/tutorials/Building-extruded-shapes.md +145 -0
  210. package/docs/tutorials/Building-primitive-shapes.md +204 -0
  211. package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +311 -0
  212. package/docs/tutorials/Controlling-appearance-with-materials.md +186 -0
  213. package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +208 -0
  214. package/docs/tutorials/Controlling-detail.md +130 -0
  215. package/docs/tutorials/Controlling-how-textures-are-mapped.md +277 -0
  216. package/docs/tutorials/Controlling-navigation.md +70 -0
  217. package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +180 -0
  218. package/docs/tutorials/Controlling-the-viewpoint.md +49 -0
  219. package/docs/tutorials/Creating-new-node-types.md +313 -0
  220. package/docs/tutorials/Grouping-nodes.md +237 -0
  221. package/docs/tutorials/Hello,-World!.md +204 -0
  222. package/docs/tutorials/Improving-Performance.md +227 -0
  223. package/docs/tutorials/Increasing-Rendering-Speed.md +110 -0
  224. package/docs/tutorials/Introducing-X3D.md +94 -0
  225. package/docs/tutorials/Introducing-animation.md +211 -0
  226. package/docs/tutorials/Introducing-script-use.md +127 -0
  227. package/docs/tutorials/Lighting-your-world.md +139 -0
  228. package/docs/tutorials/Mapping-textures.md +212 -0
  229. package/docs/tutorials/Naming-nodes.md +161 -0
  230. package/docs/tutorials/Providing-information-about-your-world.md +30 -0
  231. package/docs/tutorials/Sensing-the-viewer.md +205 -0
  232. package/docs/tutorials/Sensing-viewer-actions.md +214 -0
  233. package/docs/tutorials/Transforming-Shapes.md +270 -0
  234. package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +631 -0
  235. package/docs/tutorials/index.md +78 -0
  236. package/meta/logo/logo.png +0 -0
  237. package/meta/logo/logo.svg +216 -217
  238. package/meta/web3d.html +76 -54
  239. package/package.json +41 -24
  240. package/src/assets/components/annotation.js +87 -0
  241. package/src/assets/components/cad-geometry.js +88 -0
  242. package/src/assets/components/cube-map-texturing.js +78 -0
  243. package/src/assets/components/dis.js +84 -0
  244. package/src/assets/components/event-utilities.js +93 -0
  245. package/src/assets/components/geometry2d.js +93 -0
  246. package/src/assets/components/geospatial.js +102 -0
  247. package/src/assets/components/h-anim.js +83 -0
  248. package/src/assets/components/key-device-sensor.js +78 -0
  249. package/src/assets/components/layout.js +87 -0
  250. package/src/assets/components/nurbs.js +118 -0
  251. package/src/assets/components/particle-systems.js +105 -0
  252. package/src/assets/components/picking.js +87 -0
  253. package/src/assets/components/projective-texture-mapping.js +75 -0
  254. package/src/assets/components/rigid-body-physics.js +123 -0
  255. package/src/assets/components/scripting.js +72 -0
  256. package/src/assets/components/texturing-3d.js +91 -0
  257. package/src/assets/components/volume-rendering.js +118 -0
  258. package/src/assets/components/x_ite.js +69 -0
  259. package/src/assets/fonts/DroidSerif-Bold.ttf +0 -0
  260. package/src/assets/fonts/DroidSerif-BoldItalic.ttf +0 -0
  261. package/src/assets/fonts/DroidSerif-Italic.ttf +0 -0
  262. package/src/assets/fonts/DroidSerif-Regular.ttf +0 -0
  263. package/src/assets/fonts/Ubuntu-B.ttf +0 -0
  264. package/src/assets/fonts/Ubuntu-BI.ttf +0 -0
  265. package/src/assets/fonts/Ubuntu-R.ttf +0 -0
  266. package/src/assets/fonts/Ubuntu-RI.ttf +0 -0
  267. package/src/assets/fonts/UbuntuMono-B.ttf +0 -0
  268. package/src/assets/fonts/UbuntuMono-BI.ttf +0 -0
  269. package/src/assets/fonts/UbuntuMono-R.ttf +0 -0
  270. package/src/assets/fonts/UbuntuMono-RI.ttf +0 -0
  271. package/src/assets/hatching/0.png +0 -0
  272. package/src/assets/hatching/1.png +0 -0
  273. package/src/assets/hatching/10.png +0 -0
  274. package/src/assets/hatching/11.png +0 -0
  275. package/src/assets/hatching/12.png +0 -0
  276. package/src/assets/hatching/13.png +0 -0
  277. package/src/assets/hatching/14.png +0 -0
  278. package/src/assets/hatching/15.png +0 -0
  279. package/src/assets/hatching/16.png +0 -0
  280. package/src/assets/hatching/17.png +0 -0
  281. package/src/assets/hatching/18.png +0 -0
  282. package/src/assets/hatching/19.png +0 -0
  283. package/src/assets/hatching/2.png +0 -0
  284. package/src/assets/hatching/3.png +0 -0
  285. package/src/assets/hatching/4.png +0 -0
  286. package/src/assets/hatching/5.png +0 -0
  287. package/src/assets/hatching/6.png +0 -0
  288. package/src/assets/hatching/7.png +0 -0
  289. package/src/assets/hatching/8.png +0 -0
  290. package/src/assets/hatching/9.png +0 -0
  291. package/src/{images → assets/images}/ExamineViewer.png +0 -0
  292. package/src/{images → assets/images}/FlyViewer.png +0 -0
  293. package/src/{images → assets/images}/NoneViewer.png +0 -0
  294. package/src/{images → assets/images}/PlaneViewer.png +0 -0
  295. package/src/{images → assets/images}/PrimitiveQuality.png +0 -0
  296. package/src/{images → assets/images}/TextureQuality.png +0 -0
  297. package/src/{images → assets/images}/Time.png +0 -0
  298. package/src/{images → assets/images}/Viewpoint.png +0 -0
  299. package/src/{images → assets/images}/WalkViewer.png +0 -0
  300. package/src/assets/images/go-next.png +0 -0
  301. package/src/{images → assets/images}/gtk-fullscreen.png +0 -0
  302. package/src/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
  303. package/src/{images → assets/images}/gtk-zoom-fit.png +0 -0
  304. package/src/{images → assets/images}/gtk-zoom-in.png +0 -0
  305. package/src/{images → assets/images}/help-about.png +0 -0
  306. package/src/{images → assets/images}/icon.bw.png +0 -0
  307. package/src/{images → assets/images}/icon.png +0 -0
  308. package/src/assets/images/logo.128.png +0 -0
  309. package/src/{images → assets/images}/logo.bw.png +0 -0
  310. package/src/{images → assets/images}/logo.png +0 -0
  311. package/src/assets/linetype/0.png +0 -0
  312. package/src/assets/linetype/1.png +0 -0
  313. package/src/assets/linetype/10.png +0 -0
  314. package/src/assets/linetype/11.png +0 -0
  315. package/src/assets/linetype/12.png +0 -0
  316. package/src/assets/linetype/13.png +0 -0
  317. package/src/assets/linetype/14.png +0 -0
  318. package/src/assets/linetype/15.png +0 -0
  319. package/src/assets/linetype/16.png +0 -0
  320. package/src/assets/linetype/2.png +0 -0
  321. package/src/assets/linetype/3.png +0 -0
  322. package/src/assets/linetype/4.png +0 -0
  323. package/src/assets/linetype/5.png +0 -0
  324. package/src/assets/linetype/6.png +0 -0
  325. package/src/assets/linetype/7.png +0 -0
  326. package/src/assets/linetype/8.png +0 -0
  327. package/src/assets/linetype/9.png +0 -0
  328. package/src/assets/shaders/Types.glsl +102 -0
  329. package/src/assets/shaders/webgl1/Background.fs +16 -0
  330. package/src/assets/shaders/webgl1/Background.vs +22 -0
  331. package/src/assets/shaders/webgl1/Depth.fs +16 -0
  332. package/src/assets/shaders/webgl1/Depth.vs +20 -0
  333. package/src/assets/shaders/webgl1/Fallback.fs +38 -0
  334. package/src/assets/shaders/webgl1/Fallback.vs +30 -0
  335. package/src/assets/shaders/webgl1/FallbackUnlit.fs +22 -0
  336. package/src/assets/shaders/webgl1/FallbackUnlit.vs +24 -0
  337. package/src/assets/shaders/webgl1/Gouraud.fs +66 -0
  338. package/src/assets/shaders/webgl1/Gouraud.vs +148 -0
  339. package/src/assets/shaders/webgl1/Phong.fs +173 -0
  340. package/src/assets/shaders/webgl1/Phong.vs +67 -0
  341. package/src/assets/shaders/webgl1/PointSet.fs +100 -0
  342. package/src/assets/shaders/webgl1/PointSet.vs +70 -0
  343. package/src/assets/shaders/webgl1/Unlit.fs +89 -0
  344. package/src/assets/shaders/webgl1/Unlit.vs +67 -0
  345. package/src/assets/shaders/webgl1/Wireframe.fs +74 -0
  346. package/src/assets/shaders/webgl1/Wireframe.vs +63 -0
  347. package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +16 -0
  348. package/src/assets/shaders/webgl1/include/Fog.glsl +38 -0
  349. package/src/assets/shaders/webgl1/include/Hatch.glsl +18 -0
  350. package/src/assets/shaders/webgl1/include/Pack.glsl +51 -0
  351. package/src/assets/shaders/webgl1/include/Perlin.glsl +40 -0
  352. package/src/assets/shaders/webgl1/include/Shadow.glsl +310 -0
  353. package/src/assets/shaders/webgl1/include/Texture.glsl +488 -0
  354. package/src/assets/shaders/webgl2/Background.fs +19 -0
  355. package/src/assets/shaders/webgl2/Background.vs +23 -0
  356. package/src/assets/shaders/webgl2/Depth.fs +19 -0
  357. package/src/assets/shaders/webgl2/Depth.vs +21 -0
  358. package/src/assets/shaders/webgl2/Gouraud.fs +64 -0
  359. package/src/assets/shaders/webgl2/Gouraud.vs +149 -0
  360. package/src/assets/shaders/webgl2/Phong.fs +171 -0
  361. package/src/assets/shaders/webgl2/Phong.vs +68 -0
  362. package/src/assets/shaders/webgl2/PointSet.fs +99 -0
  363. package/src/assets/shaders/webgl2/PointSet.vs +71 -0
  364. package/src/assets/shaders/webgl2/Unlit.fs +88 -0
  365. package/src/assets/shaders/webgl2/Unlit.vs +68 -0
  366. package/src/assets/shaders/webgl2/Wireframe.fs +73 -0
  367. package/src/assets/shaders/webgl2/Wireframe.vs +64 -0
  368. package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +16 -0
  369. package/src/assets/shaders/webgl2/include/Fog.glsl +46 -0
  370. package/src/assets/shaders/webgl2/include/Hatch.glsl +18 -0
  371. package/src/assets/shaders/webgl2/include/Pack.glsl +51 -0
  372. package/src/assets/shaders/webgl2/include/Perlin.glsl +40 -0
  373. package/src/assets/shaders/webgl2/include/Shadow.glsl +324 -0
  374. package/src/assets/shaders/webgl2/include/Texture.glsl +623 -0
  375. package/src/bookmarks.js +83 -164
  376. package/src/dummy.js +1 -0
  377. package/src/example.html +8 -7
  378. package/src/examples.js +150 -0
  379. package/src/lib/ammojs/AmmoJS.js +58 -0
  380. package/src/lib/ammojs/Makefile +26 -0
  381. package/src/lib/ammojs/ammo.idl +1031 -0
  382. package/src/lib/ammojs/ammo.js +40 -0
  383. package/src/lib/jpeg/jpeg.js +1019 -0
  384. package/src/lib/nurbs/extras/sample.js +242 -0
  385. package/src/lib/nurbs/nurbs.js +342 -0
  386. package/src/lib/nurbs/src/evaluate.js +413 -0
  387. package/src/lib/nurbs/src/numerical-derivative.js +54 -0
  388. package/src/lib/nurbs/src/support.js +151 -0
  389. package/src/lib/nurbs/src/transform.js +78 -0
  390. package/src/lib/nurbs/src/utils/accessor-preamble.js +33 -0
  391. package/src/lib/nurbs/src/utils/bisection-search.js +28 -0
  392. package/src/lib/nurbs/src/utils/cache-key.js +57 -0
  393. package/src/lib/nurbs/src/utils/create-accessors.js +110 -0
  394. package/src/lib/nurbs/src/utils/infer-type.js +52 -0
  395. package/src/lib/nurbs/src/utils/is-array-like.js +10 -0
  396. package/src/lib/nurbs/src/utils/is-ndarray-like.js +18 -0
  397. package/src/lib/nurbs/src/utils/is-ndarray.js +21 -0
  398. package/src/lib/nurbs/src/utils/ndloop.js +23 -0
  399. package/src/lib/nurbs/src/utils/size-getter.js +22 -0
  400. package/src/lib/nurbs/src/utils/variable.js +31 -0
  401. package/src/locale/de.po +8 -3
  402. package/src/locale/fr.po +9 -4
  403. package/src/locale/gettext.js +3 -3
  404. package/src/spinner.css +21 -8
  405. package/src/standard/Geospatial/Geodetic.js +48 -48
  406. package/src/standard/Geospatial/ReferenceEllipsoids.js +1 -1
  407. package/src/standard/Geospatial/UniversalTransverseMercator.js +43 -43
  408. package/src/standard/Math/Algorithm.js +25 -41
  409. package/src/standard/Math/Algorithms/Bezier.js +147 -0
  410. package/src/standard/Math/Algorithms/MergeSort.js +2 -2
  411. package/src/standard/Math/Algorithms/PartialSort.js +97 -0
  412. package/src/standard/Math/Algorithms/QuickSort.js +8 -6
  413. package/src/standard/Math/Algorithms/SAT.js +4 -8
  414. package/src/standard/Math/Algorithms/eigendecomposition.js +37 -33
  415. package/src/standard/Math/Geometry/Box2.js +84 -56
  416. package/src/standard/Math/Geometry/Box3.js +457 -284
  417. package/src/standard/Math/Geometry/Camera.js +24 -15
  418. package/src/standard/Math/Geometry/Cylinder3.js +13 -13
  419. package/src/standard/Math/Geometry/Line3.js +61 -53
  420. package/src/standard/Math/Geometry/Plane3.js +16 -16
  421. package/src/standard/Math/Geometry/Sphere3.js +122 -105
  422. package/src/standard/Math/Geometry/Spheroid3.js +1 -1
  423. package/src/standard/Math/Geometry/Triangle2.js +6 -6
  424. package/src/standard/Math/Geometry/Triangle3.js +80 -88
  425. package/src/standard/Math/Geometry/ViewVolume.js +315 -116
  426. package/src/standard/Math/Numbers/Color3.js +45 -29
  427. package/src/standard/Math/Numbers/Color4.js +25 -14
  428. package/src/standard/Math/Numbers/Complex.js +15 -22
  429. package/src/standard/Math/Numbers/Matrix2.js +37 -17
  430. package/src/standard/Math/Numbers/Matrix3.js +181 -212
  431. package/src/standard/Math/Numbers/Matrix4.js +204 -262
  432. package/src/standard/Math/Numbers/Quaternion.js +60 -147
  433. package/src/standard/Math/Numbers/Rotation4.js +197 -129
  434. package/src/standard/Math/Numbers/Vector2.js +53 -109
  435. package/src/standard/Math/Numbers/Vector3.js +75 -144
  436. package/src/standard/Math/Numbers/Vector4.js +85 -155
  437. package/src/standard/Math/Utility/BVH.js +35 -30
  438. package/src/standard/Math/Utility/MatrixStack.js +6 -9
  439. package/src/standard/Networking/BinaryTransport.js +8 -8
  440. package/src/standard/Time/MicroTime.js +79 -0
  441. package/src/standard/Utility/DataStorage.js +40 -17
  442. package/src/standard/Utility/MapUtilities.js +69 -0
  443. package/src/standard/Utility/ObjectCache.js +2 -3
  444. package/src/standard/Utility/Shuffle.js +5 -6
  445. package/src/tests.js +386 -0
  446. package/src/x_ite/Base/Events.js +22 -30
  447. package/src/x_ite/Base/X3DChildObject.js +35 -19
  448. package/src/x_ite/Base/X3DEventObject.js +10 -12
  449. package/src/x_ite/Base/X3DObject.js +63 -43
  450. package/src/x_ite/Basic/FieldDefinitionArray.js +16 -10
  451. package/src/x_ite/Basic/X3DArrayField.js +3 -430
  452. package/src/x_ite/Basic/X3DBaseNode.js +551 -288
  453. package/src/x_ite/Basic/X3DField.js +133 -96
  454. package/src/x_ite/Basic/X3DFieldDefinition.js +0 -4
  455. package/src/x_ite/Basic/X3DObjectArrayField.js +545 -0
  456. package/src/x_ite/Basic/X3DTypedArrayField.js +839 -0
  457. package/src/x_ite/Bits/TraverseType.js +2 -5
  458. package/src/x_ite/Bits/X3DConstants.js +12 -322
  459. package/src/x_ite/Browser/Core/BrowserOptions.js +205 -77
  460. package/src/x_ite/Browser/Core/BrowserProperties.js +2 -4
  461. package/src/x_ite/Browser/Core/BrowserTimings.js +16 -15
  462. package/src/x_ite/Browser/Core/ContextMenu.js +202 -80
  463. package/src/x_ite/Browser/Core/Notification.js +14 -6
  464. package/src/x_ite/Browser/Core/PrimitiveQuality.js +3 -7
  465. package/src/x_ite/Browser/Core/RenderingProperties.js +10 -11
  466. package/src/x_ite/Browser/Core/Shading.js +66 -0
  467. package/src/x_ite/Browser/Core/TextureQuality.js +3 -7
  468. package/src/x_ite/Browser/Core/X3DCoreContext.js +495 -48
  469. package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +714 -0
  470. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +17 -23
  471. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +12 -20
  472. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +82 -34
  473. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +3 -5
  474. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +3 -5
  475. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +12 -9
  476. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +60 -42
  477. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +16 -20
  478. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +51 -12
  479. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +17 -21
  480. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +2 -4
  481. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +2 -4
  482. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +2 -4
  483. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +3 -5
  484. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -9
  485. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +98 -0
  486. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +12 -12
  487. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +2 -4
  488. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +2 -4
  489. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +22 -200
  490. package/src/x_ite/Browser/Layout/ScreenText.js +287 -295
  491. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +15 -12
  492. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +18 -12
  493. package/src/x_ite/Browser/NURBS/NURBS.js +481 -0
  494. package/src/x_ite/Browser/Navigation/ExamineViewer.js +587 -127
  495. package/src/x_ite/Browser/Navigation/FlyViewer.js +23 -5
  496. package/src/x_ite/Browser/Navigation/LookAtViewer.js +402 -18
  497. package/src/x_ite/Browser/Navigation/NoneViewer.js +13 -3
  498. package/src/x_ite/Browser/Navigation/PlaneViewer.js +46 -28
  499. package/src/x_ite/Browser/Navigation/WalkViewer.js +45 -17
  500. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +414 -207
  501. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +65 -48
  502. package/src/x_ite/Browser/Navigation/X3DViewer.js +99 -45
  503. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +39 -38
  504. package/src/x_ite/Browser/Networking/urls.js +34 -5
  505. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +7 -9
  506. package/src/x_ite/Browser/Picking/IntersectionType.js +63 -0
  507. package/src/x_ite/Browser/Picking/MatchCriterion.js +64 -0
  508. package/src/x_ite/Browser/Picking/SortOrder.js +65 -0
  509. package/src/x_ite/Browser/Picking/VolumePicker.js +197 -0
  510. package/src/x_ite/Browser/Picking/X3DPickingContext.js +130 -0
  511. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +89 -30
  512. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +1 -3
  513. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +33 -15
  514. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +39 -151
  515. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +70 -0
  516. package/src/x_ite/Browser/Shaders/Shader.js +150 -50
  517. package/src/x_ite/Browser/Shaders/ShaderSource.js +140 -0
  518. package/src/x_ite/Browser/Shaders/ShaderTest.js +94 -77
  519. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +220 -5
  520. package/src/x_ite/Browser/Shape/AlphaMode.js +65 -0
  521. package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
  522. package/src/x_ite/Browser/Shape/X3DShapeContext.js +108 -4
  523. package/src/x_ite/Browser/Sound/X3DSoundContext.js +1 -20
  524. package/src/x_ite/Browser/Text/PolygonText.js +165 -359
  525. package/src/x_ite/Browser/Text/TextAlignment.js +3 -7
  526. package/src/x_ite/Browser/Text/X3DTextContext.js +38 -30
  527. package/src/x_ite/Browser/Text/X3DTextGeometry.js +58 -84
  528. package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +64 -0
  529. package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +81 -0
  530. package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +65 -0
  531. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +73 -0
  532. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +148 -41
  533. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1126 -0
  534. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +686 -0
  535. package/src/x_ite/Browser/Time/X3DTimeContext.js +20 -17
  536. package/src/x_ite/Browser/VERSION.js +2 -2
  537. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +120 -0
  538. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +28 -0
  539. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +114 -0
  540. package/src/x_ite/Browser/X3DBrowser.js +282 -182
  541. package/src/x_ite/Browser/X3DBrowserContext.js +77 -43
  542. package/src/x_ite/Components/Annotation/AnnotationLayer.js +108 -0
  543. package/src/x_ite/Components/Annotation/AnnotationTarget.js +101 -0
  544. package/src/x_ite/Components/{PointingDeviceSensor/TouchGroup.js → Annotation/GroupAnnotation.js} +30 -24
  545. package/src/x_ite/Components/Annotation/IconAnnotation.js +110 -0
  546. package/src/x_ite/Components/Annotation/TextAnnotation.js +102 -0
  547. package/src/x_ite/Components/Annotation/URLAnnotation.js +101 -0
  548. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +76 -0
  549. package/src/x_ite/Components/CADGeometry/CADAssembly.js +6 -8
  550. package/src/x_ite/Components/CADGeometry/CADFace.js +137 -33
  551. package/src/x_ite/Components/CADGeometry/CADLayer.js +5 -18
  552. package/src/x_ite/Components/CADGeometry/CADPart.js +6 -12
  553. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +20 -36
  554. package/src/x_ite/Components/CADGeometry/QuadSet.js +11 -24
  555. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +2 -4
  556. package/src/x_ite/Components/Core/MetadataBoolean.js +2 -4
  557. package/src/x_ite/Components/Core/MetadataDouble.js +2 -4
  558. package/src/x_ite/Components/Core/MetadataFloat.js +2 -4
  559. package/src/x_ite/Components/Core/MetadataInteger.js +2 -4
  560. package/src/x_ite/Components/Core/MetadataSet.js +2 -4
  561. package/src/x_ite/Components/Core/MetadataString.js +2 -4
  562. package/src/x_ite/Components/Core/WorldInfo.js +18 -10
  563. package/src/x_ite/Components/Core/X3DBindableNode.js +5 -36
  564. package/src/x_ite/Components/Core/X3DChildNode.js +16 -5
  565. package/src/x_ite/Components/Core/X3DInfoNode.js +2 -4
  566. package/src/x_ite/Components/Core/X3DMetadataObject.js +1 -3
  567. package/src/x_ite/Components/Core/X3DNode.js +2 -64
  568. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +190 -210
  569. package/src/x_ite/Components/Core/X3DSensorNode.js +2 -4
  570. package/src/x_ite/Components/Core.js +111 -0
  571. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +42 -50
  572. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +41 -42
  573. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +44 -59
  574. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +48 -46
  575. package/src/x_ite/Components/DIS/DISEntityManager.js +2 -4
  576. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +2 -4
  577. package/src/x_ite/Components/DIS/EspduTransform.js +13 -9
  578. package/src/x_ite/Components/DIS/ReceiverPdu.js +13 -9
  579. package/src/x_ite/Components/DIS/SignalPdu.js +13 -9
  580. package/src/x_ite/Components/DIS/TransmitterPdu.js +13 -9
  581. package/src/x_ite/Components/EnvironmentalEffects/Background.js +2 -4
  582. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +15 -18
  583. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +59 -7
  584. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +12 -10
  585. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +2 -4
  586. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +149 -143
  587. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +61 -22
  588. package/src/x_ite/Components/EnvironmentalEffects.js +90 -0
  589. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +121 -121
  590. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +173 -53
  591. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +33 -31
  592. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +19 -11
  593. package/src/x_ite/Components/EnvironmentalSensor.js +81 -0
  594. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +2 -4
  595. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +2 -4
  596. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +2 -4
  597. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +2 -4
  598. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +2 -4
  599. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +2 -4
  600. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +2 -4
  601. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +2 -4
  602. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +2 -4
  603. package/src/x_ite/Components/Followers/ColorChaser.js +3 -7
  604. package/src/x_ite/Components/Followers/ColorDamper.js +3 -7
  605. package/src/x_ite/Components/Followers/CoordinateChaser.js +3 -11
  606. package/src/x_ite/Components/Followers/CoordinateDamper.js +2 -10
  607. package/src/x_ite/Components/Followers/OrientationChaser.js +9 -7
  608. package/src/x_ite/Components/Followers/OrientationDamper.js +9 -7
  609. package/src/x_ite/Components/Followers/PositionChaser.js +3 -7
  610. package/src/x_ite/Components/Followers/PositionChaser2D.js +3 -7
  611. package/src/x_ite/Components/Followers/PositionDamper.js +3 -7
  612. package/src/x_ite/Components/Followers/PositionDamper2D.js +3 -7
  613. package/src/x_ite/Components/Followers/ScalarChaser.js +7 -7
  614. package/src/x_ite/Components/Followers/ScalarDamper.js +3 -7
  615. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +3 -11
  616. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +3 -11
  617. package/src/x_ite/Components/Followers/X3DChaserNode.js +26 -26
  618. package/src/x_ite/Components/Followers/X3DDamperNode.js +6 -10
  619. package/src/x_ite/Components/Followers/X3DFollowerNode.js +11 -11
  620. package/src/x_ite/Components/Followers.js +120 -0
  621. package/src/x_ite/Components/Geometry2D/Arc2D.js +28 -30
  622. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +95 -93
  623. package/src/x_ite/Components/Geometry2D/Circle2D.js +16 -15
  624. package/src/x_ite/Components/Geometry2D/Disk2D.js +80 -88
  625. package/src/x_ite/Components/Geometry2D/Polyline2D.js +13 -19
  626. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +12 -18
  627. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +13 -13
  628. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +31 -30
  629. package/src/x_ite/Components/Geometry3D/Box.js +12 -12
  630. package/src/x_ite/Components/Geometry3D/Cone.js +34 -36
  631. package/src/x_ite/Components/Geometry3D/Cylinder.js +52 -54
  632. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +90 -52
  633. package/src/x_ite/Components/Geometry3D/Extrusion.js +472 -388
  634. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +193 -163
  635. package/src/x_ite/Components/Geometry3D/Sphere.js +17 -19
  636. package/src/x_ite/Components/Geometry3D.js +90 -0
  637. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +124 -61
  638. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +54 -36
  639. package/src/x_ite/Components/Geospatial/GeoLOD.js +190 -98
  640. package/src/x_ite/Components/Geospatial/GeoLocation.js +8 -10
  641. package/src/x_ite/Components/Geospatial/GeoMetadata.js +2 -4
  642. package/src/x_ite/Components/Geospatial/GeoOrigin.js +2 -4
  643. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +4 -4
  644. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +10 -7
  645. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +4 -4
  646. package/src/x_ite/Components/Geospatial/GeoTransform.js +13 -13
  647. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +131 -78
  648. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +7 -9
  649. package/src/x_ite/Components/Grouping/Group.js +5 -7
  650. package/src/x_ite/Components/Grouping/StaticGroup.js +194 -22
  651. package/src/x_ite/Components/Grouping/Switch.js +174 -25
  652. package/src/x_ite/Components/Grouping/Transform.js +5 -7
  653. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +70 -16
  654. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +442 -151
  655. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +53 -29
  656. package/src/x_ite/Components/Grouping/X3DTransformNode.js +6 -9
  657. package/src/x_ite/Components/Grouping.js +93 -0
  658. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimDisplacer.js +8 -10
  659. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +360 -0
  660. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimJoint.js +108 -23
  661. package/src/x_ite/Components/HAnim/HAnimMotion.js +113 -0
  662. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSegment.js +14 -14
  663. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSite.js +14 -16
  664. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +13 -11
  665. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +21 -13
  666. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +19 -11
  667. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +8 -8
  668. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +28 -14
  669. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +27 -16
  670. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +10 -8
  671. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +10 -8
  672. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +2 -4
  673. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +7 -9
  674. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +7 -9
  675. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +7 -9
  676. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +10 -11
  677. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +2 -4
  678. package/src/x_ite/Components/Interpolation.js +111 -0
  679. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +72 -8
  680. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +65 -4
  681. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +5 -29
  682. package/src/x_ite/Components/Layering/Layer.js +14 -6
  683. package/src/x_ite/Components/Layering/LayerSet.js +6 -10
  684. package/src/x_ite/Components/Layering/Viewport.js +10 -12
  685. package/src/x_ite/Components/Layering/X3DLayerNode.js +76 -69
  686. package/src/x_ite/Components/Layering/X3DViewportNode.js +2 -6
  687. package/src/x_ite/Components/Layering.js +84 -0
  688. package/src/x_ite/Components/Layout/Layout.js +163 -173
  689. package/src/x_ite/Components/Layout/LayoutGroup.js +20 -19
  690. package/src/x_ite/Components/Layout/LayoutLayer.js +12 -9
  691. package/src/x_ite/Components/Layout/ScreenFontStyle.js +4 -8
  692. package/src/x_ite/Components/Layout/ScreenGroup.js +63 -56
  693. package/src/x_ite/Components/Layout/X3DLayoutNode.js +2 -4
  694. package/src/x_ite/Components/Lighting/DirectionalLight.js +41 -31
  695. package/src/x_ite/Components/Lighting/PointLight.js +117 -104
  696. package/src/x_ite/Components/Lighting/SpotLight.js +77 -53
  697. package/src/x_ite/Components/Lighting/X3DLightNode.js +90 -68
  698. package/src/x_ite/Components/Lighting.js +81 -0
  699. package/src/x_ite/Components/NURBS/Contour2D.js +47 -5
  700. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +69 -5
  701. package/src/x_ite/Components/NURBS/CoordinateDouble.js +2 -4
  702. package/src/x_ite/Components/NURBS/NurbsCurve.js +140 -10
  703. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +117 -8
  704. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +139 -10
  705. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +3 -5
  706. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +125 -10
  707. package/src/x_ite/Components/NURBS/NurbsSet.js +92 -11
  708. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +96 -12
  709. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +88 -7
  710. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +88 -7
  711. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +62 -13
  712. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +41 -6
  713. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +2 -4
  714. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +333 -7
  715. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +9 -5
  716. package/src/x_ite/Components/Navigation/Billboard.js +14 -15
  717. package/src/x_ite/Components/Navigation/Collision.js +13 -12
  718. package/src/x_ite/Components/Navigation/LOD.js +221 -66
  719. package/src/x_ite/Components/Navigation/NavigationInfo.js +110 -99
  720. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +138 -45
  721. package/src/x_ite/Components/Navigation/Viewpoint.js +55 -33
  722. package/src/x_ite/Components/Navigation/ViewpointGroup.js +18 -10
  723. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +241 -181
  724. package/src/x_ite/Components/Navigation.js +93 -0
  725. package/src/x_ite/Components/Networking/Anchor.js +24 -28
  726. package/src/x_ite/Components/Networking/Inline.js +68 -50
  727. package/src/x_ite/Components/Networking/LoadSensor.js +2 -4
  728. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +2 -4
  729. package/src/x_ite/Components/Networking/X3DUrlObject.js +93 -11
  730. package/src/x_ite/Components/Networking.js +84 -0
  731. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -8
  732. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +8 -4
  733. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +7 -4
  734. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +4 -4
  735. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +451 -287
  736. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +7 -4
  737. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +53 -40
  738. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +62 -55
  739. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +133 -123
  740. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +25 -22
  741. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +28 -27
  742. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +2 -4
  743. package/src/x_ite/Components/Picking/LinePickSensor.js +253 -10
  744. package/src/x_ite/Components/Picking/PickableGroup.js +121 -10
  745. package/src/x_ite/Components/Picking/PointPickSensor.js +262 -12
  746. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +176 -8
  747. package/src/x_ite/Components/Picking/VolumePickSensor.js +152 -8
  748. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +378 -7
  749. package/src/x_ite/Components/Picking/X3DPickableObject.js +22 -4
  750. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +33 -15
  751. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +7 -4
  752. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +2 -4
  753. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +4 -4
  754. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +4 -4
  755. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +3 -5
  756. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +2 -4
  757. package/src/x_ite/Components/PointingDeviceSensor.js +90 -0
  758. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +282 -0
  759. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +227 -0
  760. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +217 -0
  761. package/src/x_ite/Components/Rendering/ClipPlane.js +12 -16
  762. package/src/x_ite/Components/Rendering/Color.js +62 -17
  763. package/src/x_ite/Components/Rendering/ColorRGBA.js +65 -17
  764. package/src/x_ite/Components/Rendering/Coordinate.js +4 -4
  765. package/src/x_ite/Components/Rendering/IndexedLineSet.js +68 -81
  766. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +20 -19
  767. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +10 -7
  768. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +21 -23
  769. package/src/x_ite/Components/Rendering/LineSet.js +54 -37
  770. package/src/x_ite/Components/Rendering/Normal.js +65 -13
  771. package/src/x_ite/Components/Rendering/PointSet.js +52 -33
  772. package/src/x_ite/Components/Rendering/TriangleFanSet.js +10 -14
  773. package/src/x_ite/Components/Rendering/TriangleSet.js +2 -4
  774. package/src/x_ite/Components/Rendering/TriangleStripSet.js +9 -13
  775. package/src/x_ite/Components/Rendering/X3DColorNode.js +13 -12
  776. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +118 -79
  777. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +103 -44
  778. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +2 -4
  779. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +722 -591
  780. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +129 -92
  781. package/src/x_ite/Components/Rendering/X3DNormalNode.js +2 -4
  782. package/src/x_ite/Components/Rendering.js +132 -0
  783. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +116 -7
  784. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +199 -11
  785. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +436 -11
  786. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +118 -10
  787. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +192 -9
  788. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +84 -8
  789. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +20 -14
  790. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +200 -12
  791. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +14 -4
  792. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +424 -17
  793. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +295 -19
  794. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +162 -10
  795. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +135 -8
  796. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +10 -6
  797. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +93 -9
  798. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +5 -8
  799. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +150 -4
  800. package/src/x_ite/Components/Scripting/Script.js +156 -105
  801. package/src/x_ite/Components/Scripting/X3DScriptNode.js +3 -7
  802. package/src/x_ite/Components/Shaders/ComposedShader.js +38 -53
  803. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +38 -15
  804. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +32 -14
  805. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +32 -14
  806. package/src/x_ite/Components/Shaders/PackagedShader.js +19 -17
  807. package/src/x_ite/Components/Shaders/ProgramShader.js +2 -4
  808. package/src/x_ite/Components/Shaders/ShaderPart.js +38 -26
  809. package/src/x_ite/Components/Shaders/ShaderProgram.js +16 -14
  810. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +836 -699
  811. package/src/x_ite/Components/Shaders/X3DShaderNode.js +61 -101
  812. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +2 -4
  813. package/src/x_ite/Components/Shaders.js +102 -0
  814. package/src/x_ite/Components/Shape/Appearance.js +179 -69
  815. package/src/x_ite/Components/Shape/FillProperties.js +65 -8
  816. package/src/x_ite/Components/Shape/LineProperties.js +29 -9
  817. package/src/x_ite/Components/Shape/Material.js +50 -64
  818. package/src/x_ite/Components/Shape/PointProperties.js +162 -0
  819. package/src/x_ite/Components/Shape/Shape.js +116 -68
  820. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +56 -62
  821. package/src/x_ite/Components/Shape/UnlitMaterial.js +109 -0
  822. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +2 -4
  823. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +14 -11
  824. package/src/x_ite/Components/Shape/X3DMaterialNode.js +17 -6
  825. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +111 -0
  826. package/src/x_ite/Components/Shape/X3DShapeNode.js +54 -29
  827. package/src/x_ite/Components/Shape.js +108 -0
  828. package/src/x_ite/Components/Sound/AudioClip.js +47 -57
  829. package/src/x_ite/Components/Sound/Sound.js +177 -83
  830. package/src/x_ite/Components/Sound/X3DSoundNode.js +2 -4
  831. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +38 -24
  832. package/src/x_ite/Components/Sound.js +81 -0
  833. package/src/x_ite/Components/Text/FontStyle.js +4 -6
  834. package/src/x_ite/Components/Text/Text.js +21 -18
  835. package/src/x_ite/Components/Text/X3DFontStyleNode.js +58 -93
  836. package/src/x_ite/Components/Text.js +78 -0
  837. package/src/x_ite/Components/Texturing/ImageTexture.js +57 -67
  838. package/src/x_ite/Components/Texturing/MovieTexture.js +59 -70
  839. package/src/x_ite/Components/Texturing/MultiTexture.js +238 -15
  840. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +85 -8
  841. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +47 -8
  842. package/src/x_ite/Components/Texturing/PixelTexture.js +61 -27
  843. package/src/x_ite/Components/Texturing/TextureCoordinate.js +72 -22
  844. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +69 -11
  845. package/src/x_ite/Components/Texturing/TextureProperties.js +98 -69
  846. package/src/x_ite/Components/Texturing/TextureTransform.js +58 -52
  847. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +91 -0
  848. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +183 -0
  849. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +77 -0
  850. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +42 -97
  851. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +209 -0
  852. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +4 -12
  853. package/src/x_ite/Components/Texturing/X3DTextureNode.js +10 -71
  854. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +5 -14
  855. package/src/x_ite/Components/Texturing.js +120 -0
  856. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +90 -8
  857. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +106 -16
  858. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +126 -8
  859. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +75 -25
  860. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +74 -24
  861. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +42 -36
  862. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +19 -16
  863. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +110 -8
  864. package/src/x_ite/Components/Time/TimeSensor.js +68 -38
  865. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +29 -29
  866. package/src/x_ite/Components/Time.js +75 -0
  867. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +311 -12
  868. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +60 -8
  869. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +219 -10
  870. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +134 -7
  871. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +88 -9
  872. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +311 -15
  873. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +87 -7
  874. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +136 -6
  875. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +224 -13
  876. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +193 -12
  877. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +87 -10
  878. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +97 -9
  879. package/src/x_ite/Components/VolumeRendering/VolumeData.js +155 -12
  880. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +2 -4
  881. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +155 -5
  882. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +64 -4
  883. package/src/x_ite/Components/X_ITE/BlendMode.js +206 -0
  884. package/src/x_ite/Components.js +110 -0
  885. package/src/x_ite/Configuration/ComponentInfo.js +21 -15
  886. package/src/x_ite/Configuration/ComponentInfoArray.js +11 -16
  887. package/src/x_ite/Configuration/ProfileInfo.js +10 -10
  888. package/src/x_ite/Configuration/ProfileInfoArray.js +10 -3
  889. package/src/x_ite/Configuration/SupportedComponents.js +312 -303
  890. package/src/x_ite/Configuration/SupportedNodes.js +44 -716
  891. package/src/x_ite/Configuration/SupportedProfiles.js +196 -168
  892. package/src/x_ite/Configuration/UnitInfo.js +22 -8
  893. package/src/x_ite/Configuration/UnitInfoArray.js +2 -3
  894. package/src/x_ite/Configuration/X3DInfoArray.js +46 -26
  895. package/src/x_ite/DEBUG.js +4 -5
  896. package/src/x_ite/Execution/BindableList.js +99 -34
  897. package/src/x_ite/Execution/BindableStack.js +65 -74
  898. package/src/x_ite/Execution/ExportedNode.js +32 -9
  899. package/src/x_ite/Execution/ImportedNode.js +144 -63
  900. package/src/x_ite/Execution/Scene.js +33 -35
  901. package/src/x_ite/Execution/World.js +31 -29
  902. package/src/x_ite/Execution/X3DExecutionContext.js +452 -194
  903. package/src/x_ite/Execution/X3DScene.js +303 -74
  904. package/src/x_ite/{Error.js → Fallback.js} +25 -24
  905. package/src/x_ite/Fields/ArrayFields.js +315 -112
  906. package/src/x_ite/Fields/SFBool.js +11 -10
  907. package/src/x_ite/Fields/SFColor.js +43 -19
  908. package/src/x_ite/Fields/SFColorRGBA.js +40 -18
  909. package/src/x_ite/Fields/SFDouble.js +17 -10
  910. package/src/x_ite/Fields/SFFloat.js +18 -11
  911. package/src/x_ite/Fields/SFImage.js +47 -38
  912. package/src/x_ite/Fields/SFInt32.js +10 -9
  913. package/src/x_ite/Fields/SFMatrix3.js +24 -17
  914. package/src/x_ite/Fields/SFMatrix4.js +24 -17
  915. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +15 -8
  916. package/src/x_ite/Fields/SFNode.js +119 -39
  917. package/src/x_ite/Fields/SFNodeCache.js +89 -0
  918. package/src/x_ite/Fields/SFRotation.js +42 -27
  919. package/src/x_ite/Fields/SFString.js +14 -15
  920. package/src/x_ite/Fields/SFTime.js +12 -11
  921. package/src/x_ite/Fields/SFVec2.js +17 -14
  922. package/src/x_ite/Fields/SFVec3.js +23 -17
  923. package/src/x_ite/Fields/SFVec4.js +25 -19
  924. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +51 -19
  925. package/src/x_ite/Fields.js +3 -9
  926. package/src/x_ite/InputOutput/FileLoader.js +264 -181
  927. package/src/x_ite/InputOutput/Generator.js +136 -60
  928. package/src/x_ite/Parser/HTMLSupport.js +3 -596
  929. package/src/x_ite/Parser/JSONParser.js +446 -0
  930. package/src/x_ite/Parser/Parser.js +617 -652
  931. package/src/x_ite/Parser/X3DParser.js +176 -0
  932. package/src/x_ite/Parser/XMLParser.js +359 -94
  933. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +19 -3
  934. package/src/x_ite/Prototype/ProtoDeclarationArray.js +19 -3
  935. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +120 -61
  936. package/src/x_ite/Prototype/X3DProtoDeclaration.js +144 -59
  937. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +16 -18
  938. package/src/x_ite/Rendering/DependentRenderer.js +9 -13
  939. package/src/x_ite/Rendering/{DepthBuffer.js → TextureBuffer.js} +84 -53
  940. package/src/x_ite/Rendering/X3DRenderObject.js +640 -531
  941. package/src/x_ite/Routing/RouteArray.js +38 -16
  942. package/src/x_ite/Routing/X3DRoute.js +67 -68
  943. package/src/x_ite/Routing/X3DRoutingContext.js +6 -6
  944. package/src/x_ite/X3D.js +74 -70
  945. package/src/x_ite.config.js +91 -0
  946. package/src/x_ite.css +175 -53
  947. package/src/x_ite.html +128 -439
  948. package/src/x_ite.js +87 -25
  949. package/tests/{SEE.txt → README.md} +1 -0
  950. package/tests/tests.mdproj +1 -1
  951. package/x_ite.min.html +128 -439
  952. package/.bzrignore +0 -3
  953. package/.npmignore +0 -3
  954. package/AUTHORS.md +0 -6
  955. package/STYLE_GUIDE.md +0 -51
  956. package/X_ITE.sln +0 -56
  957. package/X_ITE.userprefs +0 -13
  958. package/build/build.mdproj +0 -24
  959. package/build/dist.pl +0 -97
  960. package/build/parts/end.frag +0 -10
  961. package/build/parts/start.frag +0 -7
  962. package/dist/LICENCES.txt +0 -344
  963. package/dist/dist.mdproj +0 -45
  964. package/dist/images/logo.128.png +0 -0
  965. package/fonts/fonts.mdproj +0 -29
  966. package/meta/meta.mdproj +0 -35
  967. package/require.build.js +0 -15
  968. package/require.build.min.js +0 -15
  969. package/src/images/logo.128.png +0 -0
  970. package/src/lib/jquery-contextMenu/README.md +0 -355
  971. package/src/lib/jquery-contextMenu/dist/images/cut.png +0 -0
  972. package/src/lib/jquery-contextMenu/dist/images/door.png +0 -0
  973. package/src/lib/jquery-contextMenu/dist/images/page_white_add.png +0 -0
  974. package/src/lib/jquery-contextMenu/dist/images/page_white_copy.png +0 -0
  975. package/src/lib/jquery-contextMenu/dist/images/page_white_delete.png +0 -0
  976. package/src/lib/jquery-contextMenu/dist/images/page_white_edit.png +0 -0
  977. package/src/lib/jquery-contextMenu/dist/images/page_white_paste.png +0 -0
  978. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.css +0 -155
  979. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.js +0 -1811
  980. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.css +0 -16
  981. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.css.map +0 -1
  982. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.js +0 -18
  983. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.js.map +0 -1
  984. package/src/lib/jquery-contextMenu/dist/jquery.ui.position.js +0 -517
  985. package/src/lib/jquery-contextMenu/dist/jquery.ui.position.min.js +0 -4
  986. package/src/lib/jquery-contextMenu/package.json +0 -99
  987. package/src/lib/opentype.js/.npmignore +0 -5
  988. package/src/locale/de.mo +0 -0
  989. package/src/locale/fr.mo +0 -0
  990. package/src/require.config.js +0 -51
  991. package/src/src.mdproj +0 -729
  992. package/src/standard/Networking/URI.js +0 -687
  993. package/src/x_ite/Browser/Shaders/BackgroundSphereFragmentShader.fs +0 -29
  994. package/src/x_ite/Browser/Shaders/BackgroundSphereVertexShader.vs +0 -22
  995. package/src/x_ite/Browser/Shaders/Bits/Line3.h +0 -14
  996. package/src/x_ite/Browser/Shaders/Bits/Plane3.h +0 -47
  997. package/src/x_ite/Browser/Shaders/Bits/Random.h +0 -31
  998. package/src/x_ite/Browser/Shaders/Depth.fs +0 -51
  999. package/src/x_ite/Browser/Shaders/Depth.vs +0 -20
  1000. package/src/x_ite/Browser/Shaders/Gouraud.fs +0 -110
  1001. package/src/x_ite/Browser/Shaders/Gouraud.vs +0 -188
  1002. package/src/x_ite/Browser/Shaders/Phong.fs +0 -255
  1003. package/src/x_ite/Browser/Shaders/Phong.vs +0 -38
  1004. package/src/x_ite/Browser/Shaders/PointSet.fs +0 -64
  1005. package/src/x_ite/Browser/Shaders/Wireframe.fs +0 -61
  1006. package/src/x_ite/Browser/Shaders/Wireframe.vs +0 -55
  1007. package/src/x_ite/Components/H-Anim/HAnimHumanoid.js +0 -118
@@ -1,16 +0,0 @@
1
- /*!
2
- * jQuery contextMenu - Plugin for simple contextMenu handling
3
- *
4
- * Version: v1.8.1
5
- *
6
- * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)
7
- * Web: http://swisnl.github.io/jQuery-contextMenu/
8
- *
9
- * Copyright (c) 2011-2015 SWIS BV and contributors
10
- *
11
- * Licensed under
12
- * MIT License http://www.opensource.org/licenses/mit-license
13
-
14
- * Date: 2015-09-20T18:47:54.927Z
15
- */.context-menu-list{position:absolute;display:inline-block;min-width:90pt;max-width:250px;padding:0;margin:0;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;list-style-type:none;background:#eee;border:1px solid #ddd;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5)}.context-menu-item{position:relative;padding:2px 2px 2px 24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee}.context-menu-separator{padding-bottom:0;border-bottom:1px solid #ddd}.context-menu-item>label>input,.context-menu-item>label>textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.context-menu-item.hover{cursor:pointer;background-color:#39f}.context-menu-item.disabled{color:#666}.context-menu-input.hover,.context-menu-item.disabled.hover{cursor:default;background-color:#eee}.context-menu-submenu:after{position:absolute;top:0;right:3px;z-index:1;color:#666;content:">"}.context-menu-item.icon{min-height:18px;list-style-type:none;background-repeat:no-repeat;background-position:4px 2px}.context-menu-item.icon-edit{background-image:url(images/page_white_edit.png)}.context-menu-item.icon-cut{background-image:url(images/cut.png)}.context-menu-item.icon-copy{background-image:url(images/page_white_copy.png)}.context-menu-item.icon-paste{background-image:url(images/page_white_paste.png)}.context-menu-item.icon-delete{background-image:url(images/page_white_delete.png)}.context-menu-item.icon-add{background-image:url(images/page_white_add.png)}.context-menu-item.icon-quit{background-image:url(images/door.png)}.context-menu-input>label>*{vertical-align:top}.context-menu-input>label>input[type=checkbox],.context-menu-input>label>input[type=radio]{margin-left:-17px}.context-menu-input>label>span{margin-left:5px}.context-menu-input>label,.context-menu-input>label>input[type=text],.context-menu-input>label>select,.context-menu-input>label>textarea{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.context-menu-input>label>textarea{height:75pt}.context-menu-item>.context-menu-list{top:5px;right:-5px;display:none}.context-menu-item.visible>.context-menu-list{display:block}.context-menu-accesskey{text-decoration:underline}
16
- /*# sourceMappingURL=jquery.contextMenu.min.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["jquery.contextMenu.css","jquery.contextMenu.min.css"],"names":[],"mappings":";;;;;;;;;;;;;;AAgBA,mBCCE,SDAE,SCCF,QDAE,aCCF,UAAW,KACX,UDAE,MCCF,QDAE,ECCF,ODAE,ECCF,YDAE,QAAmB,MAAA,UAAA,WCCrB,UDAE,KCCF,gBAAiB,KACjB,WDAE,KCCF,ODAE,IAAA,MAAA,KCCF,mBAAoB,EAAE,IAAI,IAAI,eDC5B,WAAA,EAAA,IAAA,IAAA,eCGJ,mBACE,SDFE,SCGF,QDFE,IAAA,IAAA,IAAgB,KACnB,oBAAA,KCGI,iBAAkB,KDDvB,gBAAA,KACI,YAAA,KCGF,iBDFE,KCKJ,wBACE,eDJE,ECKF,cDLE,IAAA,MAAA,KAGJ,+BCMA,kCACE,oBDLE,KACH,iBAAA,KCMK,gBAAiB,KDJvB,YAAA,KCQA,yBACE,ODPE,QCQF,iBDRE,KAGJ,4BCSE,MDRE,KCWJ,0BDPA,kCCSE,ODRE,QACH,iBAAA,KCWD,4BACE,SDRE,SCSF,IDRE,EACH,MAAA,ICSC,QAAS,EDPX,MAAA,KCSE,QDRE,ICiBJ,wBACE,WAAY,KACZ,gBAAiB,KACjB,kBAAmB,UACnB,oBDRC,IAAA,IAEH,6BACA,iBAAA,gCAEA,4BACA,iBAAA,oBAEA,6BCSE,iBAAkB,gCDNpB,8BCSE,iBAAkB,iCDNpB,+BCSE,iBAAkB,kCAEpB,4BDPA,iBAAA,+BCUA,6BACE,iBAAkB,qBAIpB,4BACE,eDRE,ICYJ,+CACA,4CACE,YAAa,MAEf,+BDTC,YAAA,ICaD,0BACA,2CAEA,iCADA,mCAEE,QAAS,MDTX,MAAA,KCWE,mBDViB,WAClB,gBAAA,WCWS,WAAY,WAGtB,mCACE,OAAQ,KAEV,sCACE,IAAK,IAEL,MAAuH,KACvH,QAAS,KAGX,8CACE,QAAS,MAGX,wBACE,gBAAiB","file":"jquery.contextMenu.min.css","sourcesContent":["/*!\n * jQuery contextMenu - Plugin for simple contextMenu handling\n *\n * Version: v@VERSION\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-@YEAR SWIS BV and contributors\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n\n * Date: @DATE\n */\n\n.context-menu-list {\n margin:0; \n padding:0;\n \n min-width: 120px;\n max-width: 250px;\n display: inline-block;\n position: absolute;\n list-style-type: none;\n \n border: 1px solid #DDD;\n background: #EEE;\n \n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);\n \n font-family: Verdana, Arial, Helvetica, sans-serif;\n font-size: 11px;\n}\n\n.context-menu-item {\n padding: 2px 2px 2px 24px;\n background-color: #EEE;\n position: relative;\n user-select: none;\n}\n\n.context-menu-separator {\n padding-bottom:0;\n border-bottom: 1px solid #DDD;\n}\n\n.context-menu-item > label > input,\n.context-menu-item > label > textarea {\n user-select: text;\n}\n\n.context-menu-item.hover {\n cursor: pointer;\n background-color: #39F;\n}\n\n.context-menu-item.disabled {\n color: #666;\n}\n\n.context-menu-input.hover,\n.context-menu-item.disabled.hover {\n cursor: default;\n background-color: #EEE;\n}\n\n.context-menu-submenu:after {\n content: \">\";\n color: #666;\n position: absolute;\n top: 0;\n right: 3px;\n z-index: 1;\n}\n\n/* icons\n #protip:\n In case you want to use sprites for icons (which I would suggest you do) have a look at\n http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement \n .context-menu-item.icon:before {}\n */\n.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; list-style-type: none;}\n.context-menu-item.icon-edit { background-image: url(images/page_white_edit.png); }\n.context-menu-item.icon-cut { background-image: url(images/cut.png); }\n.context-menu-item.icon-copy { background-image: url(images/page_white_copy.png); }\n.context-menu-item.icon-paste { background-image: url(images/page_white_paste.png); }\n.context-menu-item.icon-delete { background-image: url(images/page_white_delete.png); }\n.context-menu-item.icon-add { background-image: url(images/page_white_add.png); }\n.context-menu-item.icon-quit { background-image: url(images/door.png); }\n\n/* vertically align inside labels */\n.context-menu-input > label > * { vertical-align: top; }\n\n/* position checkboxes and radios as icons */\n.context-menu-input > label > input[type=\"checkbox\"],\n.context-menu-input > label > input[type=\"radio\"] {\n margin-left: -17px;\n}\n.context-menu-input > label > span {\n margin-left: 5px;\n}\n\n.context-menu-input > label,\n.context-menu-input > label > input[type=\"text\"],\n.context-menu-input > label > textarea,\n.context-menu-input > label > select {\n display: block;\n width: 100%;\n box-sizing: border-box;\n}\n\n.context-menu-input > label > textarea {\n height: 100px;\n}\n.context-menu-item > .context-menu-list {\n display: none;\n /* re-positioned by js */\n right: -5px;\n top: 5px;\n}\n\n.context-menu-item.visible > .context-menu-list {\n display: block;\n}\n\n.context-menu-accesskey {\n text-decoration: underline;\n}\n","/*!\n * jQuery contextMenu - Plugin for simple contextMenu handling\n *\n * Version: v1.8.1\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-2015 SWIS BV and contributors\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n\n * Date: 2015-09-14T19:40:44.273Z\n */.context-menu-list{position:absolute;display:inline-block;min-width:90pt;max-width:250px;padding:0;margin:0;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;list-style-type:none;background:#eee;border:1px solid #ddd;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5)}.context-menu-item{position:relative;padding:2px 2px 2px 24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#eee}.context-menu-separator{padding-bottom:0;border-bottom:1px solid #ddd}.context-menu-item>label>input,.context-menu-item>label>textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.context-menu-item.hover{cursor:pointer;background-color:#39f}.context-menu-item.disabled{color:#666}.context-menu-input.hover,.context-menu-item.disabled.hover{cursor:default;background-color:#eee}.context-menu-submenu:after{position:absolute;top:0;right:3px;z-index:1;color:#666;content:\">\"}.context-menu-item.icon{min-height:18px;list-style-type:none;background-repeat:no-repeat;background-position:4px 2px}.context-menu-item.icon-edit{background-image:url(images/page_white_edit.png)}.context-menu-item.icon-cut{background-image:url(images/cut.png)}.context-menu-item.icon-copy{background-image:url(images/page_white_copy.png)}.context-menu-item.icon-paste{background-image:url(images/page_white_paste.png)}.context-menu-item.icon-delete{background-image:url(images/page_white_delete.png)}.context-menu-item.icon-add{background-image:url(images/page_white_add.png)}.context-menu-item.icon-quit{background-image:url(images/door.png)}.context-menu-input>label>*{vertical-align:top}.context-menu-input>label>input[type=checkbox],.context-menu-input>label>input[type=radio]{margin-left:-17px}.context-menu-input>label>span{margin-left:5px}.context-menu-input>label,.context-menu-input>label>input[type=text],.context-menu-input>label>select,.context-menu-input>label>textarea{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.context-menu-input>label>textarea{height:75pt}.context-menu-item>.context-menu-list{top:5px;right:-5px;display:none}.context-menu-item.visible>.context-menu-list{display:block}.context-menu-accesskey{text-decoration:underline}\n/*# sourceMappingURL=jquery.contextMenu.min.css.map */"],"sourceRoot":"/source/"}
@@ -1,18 +0,0 @@
1
- /*!
2
- * jQuery contextMenu v1.8.1 - Plugin for simple contextMenu handling
3
- *
4
- * Version: v1.8.1
5
- *
6
- * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)
7
- * Web: http://swisnl.github.io/jQuery-contextMenu/
8
- *
9
- * Copyright (c) 2011-2015 SWIS BV and contributors
10
- *
11
- * Licensed under
12
- * MIT License http://www.opensource.org/licenses/mit-license
13
- * GPL v3 http://opensource.org/licenses/GPL-3.0
14
- *
15
- * Date: 2015-09-20T18:47:55.817Z
16
- */
17
- !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof exports?require("jquery"):jQuery)}(function(e){"use strict";function t(e){for(var t,n=e.split(/\s+/),a=[],o=0;t=n[o];o++)t=t.charAt(0).toUpperCase(),a.push(t);return a}function n(t){return t.id&&e('label[for="'+t.id+'"]').val()||t.name}function a(t,o,i){return i||(i=0),o.each(function(){var o,s,c=e(this),r=this,l=this.nodeName.toLowerCase();switch("label"===l&&c.find("input, textarea, select").length&&(o=c.text(),c=c.children().first(),r=c.get(0),l=r.nodeName.toLowerCase()),l){case"menu":s={name:c.attr("label"),items:{}},i=a(s.items,c.children(),i);break;case"a":case"button":s={name:c.text(),disabled:!!c.attr("disabled"),callback:function(){return function(){c.click()}}()};break;case"menuitem":case"command":switch(c.attr("type")){case void 0:case"command":case"menuitem":s={name:c.attr("label"),disabled:!!c.attr("disabled"),icon:c.attr("icon"),callback:function(){return function(){c.click()}}()};break;case"checkbox":s={type:"checkbox",disabled:!!c.attr("disabled"),name:c.attr("label"),selected:!!c.attr("checked")};break;case"radio":s={type:"radio",disabled:!!c.attr("disabled"),name:c.attr("label"),radio:c.attr("radiogroup"),value:c.attr("id"),selected:!!c.attr("checked")};break;default:s=void 0}break;case"hr":s="-------";break;case"input":switch(c.attr("type")){case"text":s={type:"text",name:o||n(r),disabled:!!c.attr("disabled"),value:c.val()};break;case"checkbox":s={type:"checkbox",name:o||n(r),disabled:!!c.attr("disabled"),selected:!!c.attr("checked")};break;case"radio":s={type:"radio",name:o||n(r),disabled:!!c.attr("disabled"),radio:!!c.attr("name"),value:c.val(),selected:!!c.attr("checked")};break;default:s=void 0}break;case"select":s={type:"select",name:o||n(r),disabled:!!c.attr("disabled"),selected:c.val(),options:{}},c.children().each(function(){s.options[this.value]=e(this).text()});break;case"textarea":s={type:"textarea",name:o||n(r),disabled:!!c.attr("disabled"),value:c.val()};break;case"label":break;default:s={type:"html",html:c.clone(!0)}}s&&(i++,t["key"+i]=s)}),i}e.support.htmlMenuitem="HTMLMenuItemElement"in window,e.support.htmlCommand="HTMLCommandElement"in window,e.support.eventSelectstart="onselectstart"in document.documentElement,e.ui&&e.widget||(e.cleanData=function(t){return function(n){var a,o,i;for(i=0;null!=(o=n[i]);i++)try{a=e._data(o,"events"),a&&a.remove&&e(o).triggerHandler("remove")}catch(s){}t(n)}}(e.cleanData));var o=null,i=!1,s=e(window),c=0,r={},l={},u={},d={selector:null,appendTo:null,trigger:"right",autoHide:!1,delay:200,reposition:!0,classNames:{hover:"hover",disabled:"disabled",visible:"visible",notSelectable:"not-selectable",icon:"icon",iconEdit:"icon-edit",iconCut:"icon-cut",iconCopy:"icon-copy",iconPaste:"icon-paste",iconDelete:"icon-delete",iconAdd:"icon-add",iconQuit:"icon-quit"},determinePosition:function(t){if(e.ui&&e.ui.position)t.css("display","block").position({my:"center top",at:"center bottom",of:this,offset:"0 5",collision:"fit"}).css("display","none");else{var n=this.offset();n.top+=this.outerHeight(),n.left+=this.outerWidth()/2-t.outerWidth()/2,t.css(n)}},position:function(e,t,n){var a;if(!t&&!n)return void e.determinePosition.call(this,e.$menu);a="maintain"===t&&"maintain"===n?e.$menu.position():{top:n,left:t};var o=s.scrollTop()+s.height(),i=s.scrollLeft()+s.width(),c=e.$menu.outerHeight(),r=e.$menu.outerWidth();a.top+c>o&&(a.top-=c),a.top<0&&(a.top=0),a.left+r>i&&(a.left-=r),e.$menu.css(a)},positionSubmenu:function(t){if(e.ui&&e.ui.position)t.css("display","block").position({my:"left top",at:"right top",of:this,collision:"flipfit fit"}).css("display","");else{var n={top:0,left:this.outerWidth()};t.css(n)}},zIndex:1,animation:{duration:50,show:"slideDown",hide:"slideUp"},events:{show:e.noop,hide:e.noop},callback:null,items:{}},m={timer:null,pageX:null,pageY:null},p=function(e){for(var t=0,n=e;;)if(t=Math.max(t,parseInt(n.css("z-index"),10)||0),n=n.parent(),!n||!n.length||"html body".indexOf(n.prop("nodeName").toLowerCase())>-1)break;return t},h={abortevent:function(e){e.preventDefault(),e.stopImmediatePropagation()},contextmenu:function(t){var n=e(this);if("right"===t.data.trigger&&(t.preventDefault(),t.stopImmediatePropagation()),!("right"!==t.data.trigger&&"demand"!==t.data.trigger&&t.originalEvent||n.hasClass("context-menu-active")||n.hasClass("context-menu-disabled"))){if(o=n,t.data.build){var a=t.data.build(o,t);if(a===!1)return;if(t.data=e.extend(!0,{},d,t.data,a||{}),!t.data.items||e.isEmptyObject(t.data.items))throw window.console&&(console.error||console.log).call(console,"No items specified to show in contextMenu"),new Error("No Items specified");t.data.$trigger=o,f.create(t.data)}var i=!1;for(var s in t.data.items)if(t.data.items.hasOwnProperty(s)){var c;c=e.isFunction(t.data.items[s].visible)?t.data.items[s].visible.call(e(t.currentTarget),s,t.data):"undefined"!=typeof s.visible?t.data.items[s].visible===!0:!0,c&&(i=!0)}i&&f.show.call(n,t.data,t.pageX,t.pageY)}},click:function(t){t.preventDefault(),t.stopImmediatePropagation(),e(this).trigger(e.Event("contextmenu",{data:t.data,pageX:t.pageX,pageY:t.pageY}))},mousedown:function(t){var n=e(this);o&&o.length&&!o.is(n)&&o.data("contextMenu").$menu.trigger("contextmenu:hide"),2===t.button&&(o=n.data("contextMenuActive",!0))},mouseup:function(t){var n=e(this);n.data("contextMenuActive")&&o&&o.length&&o.is(n)&&!n.hasClass("context-menu-disabled")&&(t.preventDefault(),t.stopImmediatePropagation(),o=n,n.trigger(e.Event("contextmenu",{data:t.data,pageX:t.pageX,pageY:t.pageY}))),n.removeData("contextMenuActive")},mouseenter:function(t){var n=e(this),a=e(t.relatedTarget),i=e(document);a.is(".context-menu-list")||a.closest(".context-menu-list").length||o&&o.length||(m.pageX=t.pageX,m.pageY=t.pageY,m.data=t.data,i.on("mousemove.contextMenuShow",h.mousemove),m.timer=setTimeout(function(){m.timer=null,i.off("mousemove.contextMenuShow"),o=n,n.trigger(e.Event("contextmenu",{data:m.data,pageX:m.pageX,pageY:m.pageY}))},t.data.delay))},mousemove:function(e){m.pageX=e.pageX,m.pageY=e.pageY},mouseleave:function(t){var n=e(t.relatedTarget);if(!n.is(".context-menu-list")&&!n.closest(".context-menu-list").length){try{clearTimeout(m.timer)}catch(t){}m.timer=null}},layerClick:function(t){var n,a,o=e(this),i=o.data("contextMenuRoot"),c=t.button,r=t.pageX,l=t.pageY;t.preventDefault(),t.stopImmediatePropagation(),setTimeout(function(){var o,u="left"===i.trigger&&0===c||"right"===i.trigger&&2===c;if(document.elementFromPoint&&(i.$layer.hide(),n=document.elementFromPoint(r-s.scrollLeft(),l-s.scrollTop()),i.$layer.show()),i.reposition&&u)if(document.elementFromPoint){if(i.$trigger.is(n)||i.$trigger.has(n).length)return void i.position.call(i.$trigger,i,r,l)}else if(a=i.$trigger.offset(),o=e(window),a.top+=o.scrollTop(),a.top<=t.pageY&&(a.left+=o.scrollLeft(),a.left<=t.pageX&&(a.bottom=a.top+i.$trigger.outerHeight(),a.bottom>=t.pageY&&(a.right=a.left+i.$trigger.outerWidth(),a.right>=t.pageX))))return void i.position.call(i.$trigger,i,r,l);n&&u&&i.$trigger.one("contextmenu:hidden",function(){e(n).contextMenu({x:r,y:l})}),i.$menu.trigger("contextmenu:hide")},50)},keyStop:function(e,t){t.isInput||e.preventDefault(),e.stopPropagation()},key:function(e){var t={};switch(o&&(t=o.data("contextMenu")||{}),e.keyCode){case 9:case 38:if(h.keyStop(e,t),t.isInput){if(9===e.keyCode&&e.shiftKey)return e.preventDefault(),t.$selected&&t.$selected.find("input, textarea, select").blur(),void t.$menu.trigger("prevcommand");if(38===e.keyCode&&"checkbox"===t.$selected.find("input, textarea, select").prop("type"))return void e.preventDefault()}else if(9!==e.keyCode||e.shiftKey)return void t.$menu.trigger("prevcommand");case 40:if(h.keyStop(e,t),!t.isInput)return void t.$menu.trigger("nextcommand");if(9===e.keyCode)return e.preventDefault(),t.$selected&&t.$selected.find("input, textarea, select").blur(),void t.$menu.trigger("nextcommand");if(40===e.keyCode&&"checkbox"===t.$selected.find("input, textarea, select").prop("type"))return void e.preventDefault();break;case 37:if(h.keyStop(e,t),t.isInput||!t.$selected||!t.$selected.length)break;if(!t.$selected.parent().hasClass("context-menu-root")){var n=t.$selected.parent().parent();return t.$selected.trigger("contextmenu:blur"),void(t.$selected=n)}break;case 39:if(h.keyStop(e,t),t.isInput||!t.$selected||!t.$selected.length)break;var a=t.$selected.data("contextMenu")||{};if(a.$menu&&t.$selected.hasClass("context-menu-submenu"))return t.$selected=null,a.$selected=null,void a.$menu.trigger("nextcommand");break;case 35:case 36:return t.$selected&&t.$selected.find("input, textarea, select").length?void 0:((t.$selected&&t.$selected.parent()||t.$menu).children(":not(."+t.classNames.disabled+", ."+t.classNames.notSelectable+")")[36===e.keyCode?"first":"last"]().trigger("contextmenu:focus"),void e.preventDefault());case 13:if(h.keyStop(e,t),t.isInput){if(t.$selected&&!t.$selected.is("textarea, select"))return void e.preventDefault();break}return void("undefined"!=typeof t.$selected&&t.$selected.trigger("mouseup"));case 32:case 33:case 34:return void h.keyStop(e,t);case 27:return h.keyStop(e,t),void t.$menu.trigger("contextmenu:hide");default:var i=String.fromCharCode(e.keyCode).toUpperCase();if(t.accesskeys&&t.accesskeys[i])return void t.accesskeys[i].$node.trigger(t.accesskeys[i].$menu?"contextmenu:focus":"mouseup")}e.stopPropagation(),"undefined"!=typeof t.$selected&&t.$selected.trigger(e)},prevItem:function(t){t.stopPropagation();var n=e(this).data("contextMenu")||{},a=e(this).data("contextMenuRoot")||{};if(n.$selected){var o=n.$selected;n=n.$selected.parent().data("contextMenu")||{},n.$selected=o}for(var i=n.$menu.children(),s=n.$selected&&n.$selected.prev().length?n.$selected.prev():i.last(),c=s;s.hasClass(a.classNames.disabled)||s.hasClass(a.classNames.notSelectable);)if(s=s.prev().length?s.prev():i.last(),s.is(c))return;n.$selected&&h.itemMouseleave.call(n.$selected.get(0),t),h.itemMouseenter.call(s.get(0),t);var r=s.find("input, textarea, select");r.length&&r.focus()},nextItem:function(t){t.stopPropagation();var n=e(this).data("contextMenu")||{},a=e(this).data("contextMenuRoot")||{};if(n.$selected){var o=n.$selected;n=n.$selected.parent().data("contextMenu")||{},n.$selected=o}for(var i=n.$menu.children(),s=n.$selected&&n.$selected.next().length?n.$selected.next():i.first(),c=s;s.hasClass(a.classNames.disabled)||s.hasClass(a.classNames.notSelectable);)if(s=s.next().length?s.next():i.first(),s.is(c))return;n.$selected&&h.itemMouseleave.call(n.$selected.get(0),t),h.itemMouseenter.call(s.get(0),t);var r=s.find("input, textarea, select");r.length&&r.focus()},focusInput:function(){var t=e(this).closest(".context-menu-item"),n=t.data(),a=n.contextMenu,o=n.contextMenuRoot;o.$selected=a.$selected=t,o.isInput=a.isInput=!0},blurInput:function(){var t=e(this).closest(".context-menu-item"),n=t.data(),a=n.contextMenu,o=n.contextMenuRoot;o.isInput=a.isInput=!1},menuMouseenter:function(){var t=e(this).data().contextMenuRoot;t.hovering=!0},menuMouseleave:function(t){var n=e(this).data().contextMenuRoot;n.$layer&&n.$layer.is(t.relatedTarget)&&(n.hovering=!1)},itemMouseenter:function(t){var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;return i.hovering=!0,t&&i.$layer&&i.$layer.is(t.relatedTarget)&&(t.preventDefault(),t.stopImmediatePropagation()),(o.$menu?o:i).$menu.children(".hover").trigger("contextmenu:blur"),n.hasClass(i.classNames.disabled)||n.hasClass(i.classNames.notSelectable)?void(o.$selected=null):void n.trigger("contextmenu:focus")},itemMouseleave:function(t){var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;return i!==o&&i.$layer&&i.$layer.is(t.relatedTarget)?("undefined"!=typeof i.$selected&&i.$selected.trigger("contextmenu:blur"),t.preventDefault(),t.stopImmediatePropagation(),void(i.$selected=o.$selected=o.$node)):void n.trigger("contextmenu:blur")},itemClick:function(t){var n,a=e(this),o=a.data(),i=o.contextMenu,s=o.contextMenuRoot,c=o.contextMenuKey;if(i.items[c]&&!a.is("."+s.classNames.disabled+", .context-menu-submenu, .context-menu-separator, ."+s.classNames.notSelectable)){if(t.preventDefault(),t.stopImmediatePropagation(),e.isFunction(s.callbacks[c])&&Object.prototype.hasOwnProperty.call(s.callbacks,c))n=s.callbacks[c];else{if(!e.isFunction(s.callback))return;n=s.callback}n.call(s.$trigger,c,s)!==!1?s.$menu.trigger("contextmenu:hide"):s.$menu.parent().length&&f.update.call(s.$trigger,s)}},inputClick:function(e){e.stopImmediatePropagation()},hideMenu:function(t,n){var a=e(this).data("contextMenuRoot");f.hide.call(a.$trigger,a,n&&n.force)},focusItem:function(t){t.stopPropagation();var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;n.addClass([i.classNames.hover,i.classNames.visible].join(" ")).siblings().removeClass(i.classNames.visible).filter(i.classNames.hover).trigger("contextmenu:blur"),o.$selected=i.$selected=n,o.$node&&i.positionSubmenu.call(o.$node,o.$menu)},blurItem:function(t){t.stopPropagation();var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;o.autoHide&&n.removeClass(i.classNames.visible),n.removeClass(i.classNames.hover),o.$selected=null}},f={show:function(t,n,a){var i=e(this),s={};return e("#context-menu-layer").trigger("mousedown"),t.$trigger=i,t.events.show.call(i,t)===!1?void(o=null):(f.update.call(i,t),t.position.call(i,t,n,a),t.zIndex&&(s.zIndex=p(i)+t.zIndex),f.layer.call(t.$menu,t,s.zIndex),t.$menu.find("ul").css("zIndex",s.zIndex+1),t.$menu.css(s)[t.animation.show](t.animation.duration,function(){i.trigger("contextmenu:visible")}),i.data("contextMenu",t).addClass("context-menu-active"),e(document).off("keydown.contextMenu").on("keydown.contextMenu",h.key),void(t.autoHide&&e(document).on("mousemove.contextMenuAutoHide",function(e){var n=i.offset();n.right=n.left+i.outerWidth(),n.bottom=n.top+i.outerHeight(),!t.$layer||t.hovering||e.pageX>=n.left&&e.pageX<=n.right&&e.pageY>=n.top&&e.pageY<=n.bottom||t.$menu.trigger("contextmenu:hide")})))},hide:function(t,n){var a=e(this);if(t||(t=a.data("contextMenu")||{}),n||!t.events||t.events.hide.call(a,t)!==!1){if(a.removeData("contextMenu").removeClass("context-menu-active"),t.$layer){setTimeout(function(e){return function(){e.remove()}}(t.$layer),10);try{delete t.$layer}catch(i){t.$layer=null}}o=null,t.$menu.find("."+t.classNames.hover).trigger("contextmenu:blur"),t.$selected=null,e(document).off(".contextMenuAutoHide").off("keydown.contextMenu"),t.$menu&&t.$menu[t.animation.hide](t.animation.duration,function(){t.build&&(t.$menu.remove(),e.each(t,function(e){switch(e){case"ns":case"selector":case"build":case"trigger":return!0;default:t[e]=void 0;try{delete t[e]}catch(n){}return!0}})),setTimeout(function(){a.trigger("contextmenu:hidden")},10)})}},create:function(n,a){void 0===a&&(a=n),n.$menu=e('<ul class="context-menu-list"></ul>').addClass(n.className||"").data({contextMenu:n,contextMenuRoot:a}),e.each(["callbacks","commands","inputs"],function(e,t){n[t]={},a[t]||(a[t]={})}),a.accesskeys||(a.accesskeys={}),e.each(n.items,function(o,i){var s=e('<li class="context-menu-item"></li>').addClass(i.className||""),c=null,r=null;if(s.on("click",e.noop),"string"==typeof i&&(i={type:"cm_seperator"}),i.$node=s.data({contextMenu:n,contextMenuRoot:a,contextMenuKey:o}),"undefined"!=typeof i.accesskey)for(var l,d=t(i.accesskey),m=0;l=d[m];m++)if(!a.accesskeys[l]){a.accesskeys[l]=i,i._name=i.name.replace(new RegExp("("+l+")","i"),'<span class="context-menu-accesskey">$1</span>');break}if(i.type&&u[i.type])u[i.type].call(s,i,n,a),e.each([n,a],function(t,n){n.commands[o]=i,e.isFunction(i.callback)&&(n.callbacks[o]=i.callback)});else{switch("cm_seperator"===i.type?s.addClass("context-menu-separator "+n.classNames.notSelectable):"html"===i.type?s.addClass("context-menu-html "+n.classNames.notSelectable):i.type?(c=e("<label></label>").appendTo(s),e("<span></span>").html(i._name||i.name).appendTo(c),s.addClass("context-menu-input"),n.hasTypes=!0,e.each([n,a],function(e,t){t.commands[o]=i,t.inputs[o]=i})):i.items&&(i.type="sub"),i.type){case"seperator":break;case"text":r=e('<input type="text" value="1" name="" value="">').attr("name","context-menu-input-"+o).val(i.value||"").appendTo(c);break;case"textarea":r=e('<textarea name=""></textarea>').attr("name","context-menu-input-"+o).val(i.value||"").appendTo(c),i.height&&r.height(i.height);break;case"checkbox":r=e('<input type="checkbox" value="1" name="" value="">').attr("name","context-menu-input-"+o).val(i.value||"").prop("checked",!!i.selected).prependTo(c);break;case"radio":r=e('<input type="radio" value="1" name="" value="">').attr("name","context-menu-input-"+i.radio).val(i.value||"").prop("checked",!!i.selected).prependTo(c);break;case"select":r=e('<select name="">').attr("name","context-menu-input-"+o).appendTo(c),i.options&&(e.each(i.options,function(t,n){e("<option></option>").val(t).text(n).appendTo(r)}),r.val(i.selected));break;case"sub":e("<span></span>").html(i._name||i.name).appendTo(s),i.appendTo=i.$node,f.create(i,a),s.data("contextMenu",i).addClass("context-menu-submenu"),i.callback=null;break;case"html":e(i.html).appendTo(s);break;default:e.each([n,a],function(t,n){n.commands[o]=i,e.isFunction(i.callback)&&(n.callbacks[o]=i.callback)}),e("<span></span>").html(i._name||i.name||"").appendTo(s)}i.type&&"sub"!==i.type&&"html"!==i.type&&"cm_seperator"!==i.type&&(r.on("focus",h.focusInput).on("blur",h.blurInput),i.events&&r.on(i.events,n)),i.icon&&(e.isFunction(i.icon)?i._icon=i.icon.call(this,s,o,i):i._icon=n.classNames.icon+" "+n.classNames.icon+"-"+i.icon,s.addClass(i._icon))}i.$input=r,i.$label=c,s.appendTo(n.$menu),!n.hasTypes&&e.support.eventSelectstart&&s.on("selectstart.disableTextSelect",h.abortevent)}),n.$node||n.$menu.css("display","none").addClass("context-menu-root"),n.$menu.appendTo(n.appendTo||document.body)},resize:function(t,n){t.css({position:"absolute",display:"block"}),t.data("width",Math.ceil(t.width())),t.css({position:"static",minWidth:"0px",maxWidth:"100000px"}),t.find("> li > ul").each(function(){f.resize(e(this),!0)}),n||t.find("ul").addBack().css({position:"",display:"",minWidth:"",maxWidth:""}).width(function(){return e(this).data("width")})},update:function(t,n){var a=this;void 0===n&&(n=t,f.resize(t.$menu)),t.$menu.children().each(function(){var o,i=e(this),s=i.data("contextMenuKey"),c=t.items[s],r=e.isFunction(c.disabled)&&c.disabled.call(a,s,n)||c.disabled===!0;if(o=e.isFunction(c.visible)?c.visible.call(a,s,n):"undefined"!=typeof c.visible?c.visible===!0:!0,i[o?"show":"hide"](),i[r?"addClass":"removeClass"](n.classNames.disabled),e.isFunction(c.icon)&&(i.removeClass(c._icon),c._icon=c.icon.call(this,a,s,c),i.addClass(c._icon)),c.type)switch(i.find("input, select, textarea").prop("disabled",r),c.type){case"text":case"textarea":c.$input.val(c.value||"");break;case"checkbox":case"radio":c.$input.val(c.value||"").prop("checked",!!c.selected);break;case"select":c.$input.val(c.selected||"")}c.$menu&&f.update.call(a,c,n)})},layer:function(t,n){var a=t.$layer=e('<div id="context-menu-layer" style="position:fixed; z-index:'+n+'; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>').css({height:s.height(),width:s.width(),display:"block"}).data("contextMenuRoot",t).insertBefore(this).on("contextmenu",h.abortevent).on("mousedown",h.layerClick);return void 0===document.body.style.maxWidth&&a.css({position:"absolute",height:e(document).height()}),a}};e.fn.contextMenu=function(t){var n=this,a=t;if(this.length>0)if(void 0===t)this.first().trigger("contextmenu");else if(void 0!==t.x&&void 0!==t.y)this.first().trigger(e.Event("contextmenu",{pageX:t.x,pageY:t.y}));else if("hide"===t){var o=this.first().data("contextMenu")?this.first().data("contextMenu").$menu:null;o&&o.trigger("contextmenu:hide")}else"destroy"===t?e.contextMenu("destroy",{context:this}):e.isPlainObject(t)?(t.context=this,e.contextMenu("create",t)):t?this.removeClass("context-menu-disabled"):t||this.addClass("context-menu-disabled");else e.each(l,function(){this.selector===n.selector&&(a.data=this,e.extend(a.data,{trigger:"demand"}))}),h.contextmenu.call(a.target,a);return this},e.contextMenu=function(t,n){"string"!=typeof t&&(n=t,t="create"),"string"==typeof n?n={selector:n}:void 0===n&&(n={});var a=e.extend(!0,{},d,n||{}),o=e(document),s=o,u=!1;switch(a.context&&a.context.length?(s=e(a.context).first(),a.context=s.get(0),u=a.context!==document):a.context=document,t){case"create":if(!a.selector)throw new Error("No selector specified");if(a.selector.match(/.context-menu-(list|item|input)($|\s)/))throw new Error('Cannot bind to selector "'+a.selector+'" as it contains a reserved className');if(!a.build&&(!a.items||e.isEmptyObject(a.items)))throw new Error("No Items specified");switch(c++,a.ns=".contextMenu"+c,u||(r[a.selector]=a.ns),l[a.ns]=a,a.trigger||(a.trigger="right"),i||(o.on({"contextmenu:hide.contextMenu":h.hideMenu,"prevcommand.contextMenu":h.prevItem,"nextcommand.contextMenu":h.nextItem,"contextmenu.contextMenu":h.abortevent,"mouseenter.contextMenu":h.menuMouseenter,"mouseleave.contextMenu":h.menuMouseleave},".context-menu-list").on("mouseup.contextMenu",".context-menu-input",h.inputClick).on({"mouseup.contextMenu":h.itemClick,"contextmenu:focus.contextMenu":h.focusItem,"contextmenu:blur.contextMenu":h.blurItem,"contextmenu.contextMenu":h.abortevent,"mouseenter.contextMenu":h.itemMouseenter,"mouseleave.contextMenu":h.itemMouseleave},".context-menu-item"),i=!0),s.on("contextmenu"+a.ns,a.selector,a,h.contextmenu),u&&s.on("remove"+a.ns,function(){e(this).contextMenu("destroy")}),a.trigger){case"hover":s.on("mouseenter"+a.ns,a.selector,a,h.mouseenter).on("mouseleave"+a.ns,a.selector,a,h.mouseleave);break;case"left":s.on("click"+a.ns,a.selector,a,h.click)}a.build||f.create(a);break;case"destroy":var m;if(u){var p=a.context;e.each(l,function(t,n){if(n.context!==p)return!0;m=e(".context-menu-list").filter(":visible"),m.length&&m.data().contextMenuRoot.$trigger.is(e(n.context).find(n.selector))&&m.trigger("contextmenu:hide",{force:!0});try{l[n.ns].$menu&&l[n.ns].$menu.remove(),delete l[n.ns]}catch(a){l[n.ns]=null}return e(n.context).off(n.ns),!0})}else if(a.selector){if(r[a.selector]){m=e(".context-menu-list").filter(":visible"),m.length&&m.data().contextMenuRoot.$trigger.is(a.selector)&&m.trigger("contextmenu:hide",{force:!0});try{l[r[a.selector]].$menu&&l[r[a.selector]].$menu.remove(),delete l[r[a.selector]]}catch(x){l[r[a.selector]]=null}o.off(r[a.selector])}}else o.off(".contextMenu .contextMenuAutoHide"),e.each(l,function(t,n){e(n.context).off(n.ns)}),r={},l={},c=0,i=!1,e("#context-menu-layer, .context-menu-list").remove();break;case"html5":(!e.support.htmlCommand&&!e.support.htmlMenuitem||"boolean"==typeof n&&n)&&e('menu[type="context"]').each(function(){this.id&&e.contextMenu({selector:"[contextmenu="+this.id+"]",items:e.contextMenu.fromMenu(this)})}).css("display","none");break;default:throw new Error('Unknown operation "'+t+'"')}return this},e.contextMenu.setInputValues=function(t,n){void 0===n&&(n={}),e.each(t.inputs,function(e,t){switch(t.type){case"text":case"textarea":t.value=n[e]||"";break;case"checkbox":t.selected=n[e]?!0:!1;break;case"radio":t.selected=(n[t.radio]||"")===t.value;break;case"select":t.selected=n[e]||""}})},e.contextMenu.getInputValues=function(t,n){return void 0===n&&(n={}),e.each(t.inputs,function(e,t){switch(t.type){case"text":case"textarea":case"select":n[e]=t.$input.val();break;case"checkbox":n[e]=t.$input.prop("checked");break;case"radio":t.$input.prop("checked")&&(n[t.radio]=t.value)}}),n},e.contextMenu.fromMenu=function(t){var n=e(t),o={};return a(o,n.children()),o},e.contextMenu.defaults=d,e.contextMenu.types=u,e.contextMenu.handle=h,e.contextMenu.op=f,e.contextMenu.menus=l});
18
- //# sourceMappingURL=jquery.contextMenu.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["jquery.contextMenu.min.js"],"names":["factory","define","amd","exports","require","jQuery","$","splitAccesskey","val","k","t","split","keys","i","charAt","toUpperCase","push","inputLabel","node","id","name","menuChildren","items","$children","counter","each","label","item","$node","this","nodeName","toLowerCase","find","length","text","children","first","get","attr","disabled","callback","click","undefined","icon","type","selected","radio","value","options","html","clone","support","htmlMenuitem","window","htmlCommand","eventSelectstart","document","documentElement","ui","widget","cleanData","orig","elems","events","elem","_data","remove","triggerHandler","e","$currentTrigger","initialized","$win","namespaces","menus","types","defaults","selector","appendTo","trigger","autoHide","delay","reposition","classNames","hover","visible","notSelectable","iconEdit","iconCut","iconCopy","iconPaste","iconDelete","iconAdd","iconQuit","determinePosition","$menu","position","css","my","at","of","offset","collision","top","outerHeight","left","outerWidth","opt","x","y","call","bottom","scrollTop","height","right","scrollLeft","width","positionSubmenu","zIndex","animation","duration","show","hide","noop","hoveract","timer","pageX","pageY","zindex","$t","zin","$tt","Math","max","parseInt","parent","indexOf","prop","handle","abortevent","preventDefault","stopImmediatePropagation","contextmenu","$this","data","originalEvent","hasClass","build","built","extend","isEmptyObject","console","error","log","Error","$trigger","op","create","showMenu","hasOwnProperty","isFunction","currentTarget","Event","mousedown","is","button","mouseup","removeData","mouseenter","$related","relatedTarget","$document","closest","on","mousemove","setTimeout","off","mouseleave","clearTimeout","layerClick","target","root","$window","triggerAction","elementFromPoint","$layer","has","one","contextMenu","keyStop","isInput","stopPropagation","key","keyCode","shiftKey","$selected","blur","$parent","itemdata","String","fromCharCode","accesskeys","prevItem","$s","$prev","prev","last","$round","itemMouseleave","itemMouseenter","$input","focus","nextItem","$next","next","focusInput","contextMenuRoot","blurInput","menuMouseenter","hovering","menuMouseleave","itemClick","contextMenuKey","callbacks","Object","prototype","update","inputClick","hideMenu","force","focusItem","addClass","join","siblings","removeClass","filter","blurItem","layer","pos","className","$label","accesskey","ak","aks","_name","replace","RegExp","commands","hasTypes","inputs","prependTo","_icon","body","resize","nested","display","ceil","minWidth","maxWidth","addBack","$item","insertBefore","style","fn","operation","$o","context","isPlainObject","o","$context","_hasContext","match","ns","contextmenu:hide.contextMenu","prevcommand.contextMenu","nextcommand.contextMenu","contextmenu.contextMenu","mouseenter.contextMenu","mouseleave.contextMenu","mouseup.contextMenu","contextmenu:focus.contextMenu","contextmenu:blur.contextMenu","$visibleMenu","fromMenu","setInputValues","getInputValues","element"],"mappings":"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","file":"jquery.contextMenu.min.js","sourcesContent":["/*!\n * jQuery contextMenu v1.8.1 - Plugin for simple contextMenu handling\n *\n * Version: v1.8.1\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-2015 SWIS BV and contributors\n *\n * Licensed under\n * MIT License http://www.opensource.org/licenses/mit-license\n * GPL v3 http://opensource.org/licenses/GPL-3.0\n *\n * Date: 2015-09-17T21:35:58.016Z\n */\n!function(e){\"function\"==typeof define&&define.amd?define([\"jquery\"],e):e(\"object\"==typeof exports?require(\"jquery\"):jQuery)}(function(e){\"use strict\";function t(e){for(var t,n=e.split(/\\s+/),a=[],o=0;t=n[o];o++)t=t.charAt(0).toUpperCase(),a.push(t);return a}function n(t){return t.id&&e('label[for=\"'+t.id+'\"]').val()||t.name}function a(t,o,i){return i||(i=0),o.each(function(){var o,s,c=e(this),r=this,l=this.nodeName.toLowerCase();switch(\"label\"===l&&c.find(\"input, textarea, select\").length&&(o=c.text(),c=c.children().first(),r=c.get(0),l=r.nodeName.toLowerCase()),l){case\"menu\":s={name:c.attr(\"label\"),items:{}},i=a(s.items,c.children(),i);break;case\"a\":case\"button\":s={name:c.text(),disabled:!!c.attr(\"disabled\"),callback:function(){return function(){c.click()}}()};break;case\"menuitem\":case\"command\":switch(c.attr(\"type\")){case void 0:case\"command\":case\"menuitem\":s={name:c.attr(\"label\"),disabled:!!c.attr(\"disabled\"),icon:c.attr(\"icon\"),callback:function(){return function(){c.click()}}()};break;case\"checkbox\":s={type:\"checkbox\",disabled:!!c.attr(\"disabled\"),name:c.attr(\"label\"),selected:!!c.attr(\"checked\")};break;case\"radio\":s={type:\"radio\",disabled:!!c.attr(\"disabled\"),name:c.attr(\"label\"),radio:c.attr(\"radiogroup\"),value:c.attr(\"id\"),selected:!!c.attr(\"checked\")};break;default:s=void 0}break;case\"hr\":s=\"-------\";break;case\"input\":switch(c.attr(\"type\")){case\"text\":s={type:\"text\",name:o||n(r),disabled:!!c.attr(\"disabled\"),value:c.val()};break;case\"checkbox\":s={type:\"checkbox\",name:o||n(r),disabled:!!c.attr(\"disabled\"),selected:!!c.attr(\"checked\")};break;case\"radio\":s={type:\"radio\",name:o||n(r),disabled:!!c.attr(\"disabled\"),radio:!!c.attr(\"name\"),value:c.val(),selected:!!c.attr(\"checked\")};break;default:s=void 0}break;case\"select\":s={type:\"select\",name:o||n(r),disabled:!!c.attr(\"disabled\"),selected:c.val(),options:{}},c.children().each(function(){s.options[this.value]=e(this).text()});break;case\"textarea\":s={type:\"textarea\",name:o||n(r),disabled:!!c.attr(\"disabled\"),value:c.val()};break;case\"label\":break;default:s={type:\"html\",html:c.clone(!0)}}s&&(i++,t[\"key\"+i]=s)}),i}e.support.htmlMenuitem=\"HTMLMenuItemElement\"in window,e.support.htmlCommand=\"HTMLCommandElement\"in window,e.support.eventSelectstart=\"onselectstart\"in document.documentElement,e.ui&&e.widget||(e.cleanData=function(t){return function(n){var a,o,i;for(i=0;null!=(o=n[i]);i++)try{a=e._data(o,\"events\"),a&&a.remove&&e(o).triggerHandler(\"remove\")}catch(s){}t(n)}}(e.cleanData));var o=null,i=!1,s=e(window),c=0,r={},l={},u={},d={selector:null,appendTo:null,trigger:\"right\",autoHide:!1,delay:200,reposition:!0,classNames:{hover:\"hover\",disabled:\"disabled\",visible:\"visible\",notSelectable:\"not-selectable\",icon:\"icon\",iconEdit:\"icon-edit\",iconCut:\"icon-cut\",iconCopy:\"icon-copy\",iconPaste:\"icon-paste\",iconDelete:\"icon-delete\",iconAdd:\"icon-add\",iconQuit:\"icon-quit\"},determinePosition:function(t){if(e.ui&&e.ui.position)t.css(\"display\",\"block\").position({my:\"center top\",at:\"center bottom\",of:this,offset:\"0 5\",collision:\"fit\"}).css(\"display\",\"none\");else{var n=this.offset();n.top+=this.outerHeight(),n.left+=this.outerWidth()/2-t.outerWidth()/2,t.css(n)}},position:function(e,t,n){var a;if(!t&&!n)return void e.determinePosition.call(this,e.$menu);a=\"maintain\"===t&&\"maintain\"===n?e.$menu.position():{top:n,left:t};var o=s.scrollTop()+s.height(),i=s.scrollLeft()+s.width(),c=e.$menu.outerHeight(),r=e.$menu.outerWidth();a.top+c>o&&(a.top-=c),a.top<0&&(a.top=0),a.left+r>i&&(a.left-=r),e.$menu.css(a)},positionSubmenu:function(t){if(e.ui&&e.ui.position)t.css(\"display\",\"block\").position({my:\"left top\",at:\"right top\",of:this,collision:\"flipfit fit\"}).css(\"display\",\"\");else{var n={top:0,left:this.outerWidth()};t.css(n)}},zIndex:1,animation:{duration:50,show:\"slideDown\",hide:\"slideUp\"},events:{show:e.noop,hide:e.noop},callback:null,items:{}},m={timer:null,pageX:null,pageY:null},p=function(e){for(var t=0,n=e;;)if(t=Math.max(t,parseInt(n.css(\"z-index\"),10)||0),n=n.parent(),!n||!n.length||\"html body\".indexOf(n.prop(\"nodeName\").toLowerCase())>-1)break;return t},h={abortevent:function(e){e.preventDefault(),e.stopImmediatePropagation()},contextmenu:function(t){var n=e(this);if(\"right\"===t.data.trigger&&(t.preventDefault(),t.stopImmediatePropagation()),!(\"right\"!==t.data.trigger&&\"demand\"!==t.data.trigger&&t.originalEvent||n.hasClass(\"context-menu-active\")||n.hasClass(\"context-menu-disabled\"))){if(o=n,t.data.build){var a=t.data.build(o,t);if(a===!1)return;if(t.data=e.extend(!0,{},d,t.data,a||{}),!t.data.items||e.isEmptyObject(t.data.items))throw window.console&&(console.error||console.log).call(console,\"No items specified to show in contextMenu\"),new Error(\"No Items specified\");t.data.$trigger=o,f.create(t.data)}var i=!1;for(var s in t.data.items)if(t.data.items.hasOwnProperty(s)){var c;c=e.isFunction(t.data.items[s].visible)?t.data.items[s].visible.call(e(t.currentTarget),s,t.data):\"undefined\"!=typeof s.visible?t.data.items[s].visible===!0:!0,c&&(i=!0)}i&&f.show.call(n,t.data,t.pageX,t.pageY)}},click:function(t){t.preventDefault(),t.stopImmediatePropagation(),e(this).trigger(e.Event(\"contextmenu\",{data:t.data,pageX:t.pageX,pageY:t.pageY}))},mousedown:function(t){var n=e(this);o&&o.length&&!o.is(n)&&o.data(\"contextMenu\").$menu.trigger(\"contextmenu:hide\"),2===t.button&&(o=n.data(\"contextMenuActive\",!0))},mouseup:function(t){var n=e(this);n.data(\"contextMenuActive\")&&o&&o.length&&o.is(n)&&!n.hasClass(\"context-menu-disabled\")&&(t.preventDefault(),t.stopImmediatePropagation(),o=n,n.trigger(e.Event(\"contextmenu\",{data:t.data,pageX:t.pageX,pageY:t.pageY}))),n.removeData(\"contextMenuActive\")},mouseenter:function(t){var n=e(this),a=e(t.relatedTarget),i=e(document);a.is(\".context-menu-list\")||a.closest(\".context-menu-list\").length||o&&o.length||(m.pageX=t.pageX,m.pageY=t.pageY,m.data=t.data,i.on(\"mousemove.contextMenuShow\",h.mousemove),m.timer=setTimeout(function(){m.timer=null,i.off(\"mousemove.contextMenuShow\"),o=n,n.trigger(e.Event(\"contextmenu\",{data:m.data,pageX:m.pageX,pageY:m.pageY}))},t.data.delay))},mousemove:function(e){m.pageX=e.pageX,m.pageY=e.pageY},mouseleave:function(t){var n=e(t.relatedTarget);if(!n.is(\".context-menu-list\")&&!n.closest(\".context-menu-list\").length){try{clearTimeout(m.timer)}catch(t){}m.timer=null}},layerClick:function(t){var n,a,o=e(this),i=o.data(\"contextMenuRoot\"),c=t.button,r=t.pageX,l=t.pageY;t.preventDefault(),t.stopImmediatePropagation(),setTimeout(function(){var o,u=\"left\"===i.trigger&&0===c||\"right\"===i.trigger&&2===c;if(document.elementFromPoint&&(i.$layer.hide(),n=document.elementFromPoint(r-s.scrollLeft(),l-s.scrollTop()),i.$layer.show()),i.reposition&&u)if(document.elementFromPoint){if(i.$trigger.is(n)||i.$trigger.has(n).length)return void i.position.call(i.$trigger,i,r,l)}else if(a=i.$trigger.offset(),o=e(window),a.top+=o.scrollTop(),a.top<=t.pageY&&(a.left+=o.scrollLeft(),a.left<=t.pageX&&(a.bottom=a.top+i.$trigger.outerHeight(),a.bottom>=t.pageY&&(a.right=a.left+i.$trigger.outerWidth(),a.right>=t.pageX))))return void i.position.call(i.$trigger,i,r,l);n&&u&&i.$trigger.one(\"contextmenu:hidden\",function(){e(n).contextMenu({x:r,y:l})}),i.$menu.trigger(\"contextmenu:hide\")},50)},keyStop:function(e,t){t.isInput||e.preventDefault(),e.stopPropagation()},key:function(e){var t={};switch(o&&(t=o.data(\"contextMenu\")||{}),e.keyCode){case 9:case 38:if(h.keyStop(e,t),t.isInput){if(9===e.keyCode&&e.shiftKey)return e.preventDefault(),t.$selected&&t.$selected.find(\"input, textarea, select\").blur(),void t.$menu.trigger(\"prevcommand\");if(38===e.keyCode&&\"checkbox\"===t.$selected.find(\"input, textarea, select\").prop(\"type\"))return void e.preventDefault()}else if(9!==e.keyCode||e.shiftKey)return void t.$menu.trigger(\"prevcommand\");case 40:if(h.keyStop(e,t),!t.isInput)return void t.$menu.trigger(\"nextcommand\");if(9===e.keyCode)return e.preventDefault(),t.$selected&&t.$selected.find(\"input, textarea, select\").blur(),void t.$menu.trigger(\"nextcommand\");if(40===e.keyCode&&\"checkbox\"===t.$selected.find(\"input, textarea, select\").prop(\"type\"))return void e.preventDefault();break;case 37:if(h.keyStop(e,t),t.isInput||!t.$selected||!t.$selected.length)break;if(!t.$selected.parent().hasClass(\"context-menu-root\")){var n=t.$selected.parent().parent();return t.$selected.trigger(\"contextmenu:blur\"),void(t.$selected=n)}break;case 39:if(h.keyStop(e,t),t.isInput||!t.$selected||!t.$selected.length)break;var a=t.$selected.data(\"contextMenu\")||{};if(a.$menu&&t.$selected.hasClass(\"context-menu-submenu\"))return t.$selected=null,a.$selected=null,void a.$menu.trigger(\"nextcommand\");break;case 35:case 36:return t.$selected&&t.$selected.find(\"input, textarea, select\").length?void 0:((t.$selected&&t.$selected.parent()||t.$menu).children(\":not(.\"+t.classNames.disabled+\", .\"+t.classNames.notSelectable+\")\")[36===e.keyCode?\"first\":\"last\"]().trigger(\"contextmenu:focus\"),void e.preventDefault());case 13:if(h.keyStop(e,t),t.isInput){if(t.$selected&&!t.$selected.is(\"textarea, select\"))return void e.preventDefault();break}return void(\"undefined\"!=typeof t.$selected&&t.$selected.trigger(\"mouseup\"));case 32:case 33:case 34:return void h.keyStop(e,t);case 27:return h.keyStop(e,t),void t.$menu.trigger(\"contextmenu:hide\");default:var i=String.fromCharCode(e.keyCode).toUpperCase();if(t.accesskeys&&t.accesskeys[i])return void t.accesskeys[i].$node.trigger(t.accesskeys[i].$menu?\"contextmenu:focus\":\"mouseup\")}e.stopPropagation(),\"undefined\"!=typeof t.$selected&&t.$selected.trigger(e)},prevItem:function(t){t.stopPropagation();var n=e(this).data(\"contextMenu\")||{},a=e(this).data(\"contextMenuRoot\")||{};if(n.$selected){var o=n.$selected;n=n.$selected.parent().data(\"contextMenu\")||{},n.$selected=o}for(var i=n.$menu.children(),s=n.$selected&&n.$selected.prev().length?n.$selected.prev():i.last(),c=s;s.hasClass(a.classNames.disabled)||s.hasClass(a.classNames.notSelectable);)if(s=s.prev().length?s.prev():i.last(),s.is(c))return;n.$selected&&h.itemMouseleave.call(n.$selected.get(0),t),h.itemMouseenter.call(s.get(0),t);var r=s.find(\"input, textarea, select\");r.length&&r.focus()},nextItem:function(t){t.stopPropagation();var n=e(this).data(\"contextMenu\")||{},a=e(this).data(\"contextMenuRoot\")||{};if(n.$selected){var o=n.$selected;n=n.$selected.parent().data(\"contextMenu\")||{},n.$selected=o}for(var i=n.$menu.children(),s=n.$selected&&n.$selected.next().length?n.$selected.next():i.first(),c=s;s.hasClass(a.classNames.disabled)||s.hasClass(a.classNames.notSelectable);)if(s=s.next().length?s.next():i.first(),s.is(c))return;n.$selected&&h.itemMouseleave.call(n.$selected.get(0),t),h.itemMouseenter.call(s.get(0),t);var r=s.find(\"input, textarea, select\");r.length&&r.focus()},focusInput:function(){var t=e(this).closest(\".context-menu-item\"),n=t.data(),a=n.contextMenu,o=n.contextMenuRoot;o.$selected=a.$selected=t,o.isInput=a.isInput=!0},blurInput:function(){var t=e(this).closest(\".context-menu-item\"),n=t.data(),a=n.contextMenu,o=n.contextMenuRoot;o.isInput=a.isInput=!1},menuMouseenter:function(){var t=e(this).data().contextMenuRoot;t.hovering=!0},menuMouseleave:function(t){var n=e(this).data().contextMenuRoot;n.$layer&&n.$layer.is(t.relatedTarget)&&(n.hovering=!1)},itemMouseenter:function(t){var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;return i.hovering=!0,t&&i.$layer&&i.$layer.is(t.relatedTarget)&&(t.preventDefault(),t.stopImmediatePropagation()),(o.$menu?o:i).$menu.children(\".hover\").trigger(\"contextmenu:blur\"),n.hasClass(i.classNames.disabled)||n.hasClass(i.classNames.notSelectable)?void(o.$selected=null):void n.trigger(\"contextmenu:focus\")},itemMouseleave:function(t){var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;return i!==o&&i.$layer&&i.$layer.is(t.relatedTarget)?(\"undefined\"!=typeof i.$selected&&i.$selected.trigger(\"contextmenu:blur\"),t.preventDefault(),t.stopImmediatePropagation(),void(i.$selected=o.$selected=o.$node)):void n.trigger(\"contextmenu:blur\")},itemClick:function(t){var n,a=e(this),o=a.data(),i=o.contextMenu,s=o.contextMenuRoot,c=o.contextMenuKey;if(i.items[c]&&!a.is(\".\"+s.classNames.disabled+\", .context-menu-submenu, .context-menu-separator, .\"+s.classNames.notSelectable)){if(t.preventDefault(),t.stopImmediatePropagation(),e.isFunction(s.callbacks[c])&&Object.prototype.hasOwnProperty.call(s.callbacks,c))n=s.callbacks[c];else{if(!e.isFunction(s.callback))return;n=s.callback}n.call(s.$trigger,c,s)!==!1?s.$menu.trigger(\"contextmenu:hide\"):s.$menu.parent().length&&f.update.call(s.$trigger,s)}},inputClick:function(e){e.stopImmediatePropagation()},hideMenu:function(t,n){var a=e(this).data(\"contextMenuRoot\");f.hide.call(a.$trigger,a,n&&n.force)},focusItem:function(t){t.stopPropagation();var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;n.addClass([i.classNames.hover,i.classNames.visible].join(\" \")).siblings().removeClass(i.classNames.visible).filter(i.classNames.hover).trigger(\"contextmenu:blur\"),o.$selected=i.$selected=n,o.$node&&i.positionSubmenu.call(o.$node,o.$menu)},blurItem:function(t){t.stopPropagation();var n=e(this),a=n.data(),o=a.contextMenu,i=a.contextMenuRoot;o.autoHide&&n.removeClass(i.classNames.visible),n.removeClass(i.classNames.hover),o.$selected=null}},f={show:function(t,n,a){var i=e(this),s={};return e(\"#context-menu-layer\").trigger(\"mousedown\"),t.$trigger=i,t.events.show.call(i,t)===!1?void(o=null):(f.update.call(i,t),t.position.call(i,t,n,a),t.zIndex&&(s.zIndex=p(i)+t.zIndex),f.layer.call(t.$menu,t,s.zIndex),t.$menu.find(\"ul\").css(\"zIndex\",s.zIndex+1),t.$menu.css(s)[t.animation.show](t.animation.duration,function(){i.trigger(\"contextmenu:visible\")}),i.data(\"contextMenu\",t).addClass(\"context-menu-active\"),e(document).off(\"keydown.contextMenu\").on(\"keydown.contextMenu\",h.key),void(t.autoHide&&e(document).on(\"mousemove.contextMenuAutoHide\",function(e){var n=i.offset();n.right=n.left+i.outerWidth(),n.bottom=n.top+i.outerHeight(),!t.$layer||t.hovering||e.pageX>=n.left&&e.pageX<=n.right&&e.pageY>=n.top&&e.pageY<=n.bottom||t.$menu.trigger(\"contextmenu:hide\")})))},hide:function(t,n){var a=e(this);if(t||(t=a.data(\"contextMenu\")||{}),n||!t.events||t.events.hide.call(a,t)!==!1){if(a.removeData(\"contextMenu\").removeClass(\"context-menu-active\"),t.$layer){setTimeout(function(e){return function(){e.remove()}}(t.$layer),10);try{delete t.$layer}catch(i){t.$layer=null}}o=null,t.$menu.find(\".\"+t.classNames.hover).trigger(\"contextmenu:blur\"),t.$selected=null,e(document).off(\".contextMenuAutoHide\").off(\"keydown.contextMenu\"),t.$menu&&t.$menu[t.animation.hide](t.animation.duration,function(){t.build&&(t.$menu.remove(),e.each(t,function(e){switch(e){case\"ns\":case\"selector\":case\"build\":case\"trigger\":return!0;default:t[e]=void 0;try{delete t[e]}catch(n){}return!0}})),setTimeout(function(){a.trigger(\"contextmenu:hidden\")},10)})}},create:function(n,a){void 0===a&&(a=n),n.$menu=e('<ul class=\"context-menu-list\"></ul>').addClass(n.className||\"\").data({contextMenu:n,contextMenuRoot:a}),e.each([\"callbacks\",\"commands\",\"inputs\"],function(e,t){n[t]={},a[t]||(a[t]={})}),a.accesskeys||(a.accesskeys={}),e.each(n.items,function(o,i){var s=e('<li class=\"context-menu-item\"></li>').addClass(i.className||\"\"),c=null,r=null;if(s.on(\"click\",e.noop),\"string\"==typeof i&&(i={type:\"cm_seperator\"}),i.$node=s.data({contextMenu:n,contextMenuRoot:a,contextMenuKey:o}),\"undefined\"!=typeof i.accesskey)for(var l,d=t(i.accesskey),m=0;l=d[m];m++)if(!a.accesskeys[l]){a.accesskeys[l]=i,i._name=i.name.replace(new RegExp(\"(\"+l+\")\",\"i\"),'<span class=\"context-menu-accesskey\">$1</span>');break}if(i.type&&u[i.type])u[i.type].call(s,i,n,a),e.each([n,a],function(t,n){n.commands[o]=i,e.isFunction(i.callback)&&(n.callbacks[o]=i.callback)});else{switch(\"cm_seperator\"===i.type?s.addClass(\"context-menu-separator \"+n.classNames.notSelectable):\"html\"===i.type?s.addClass(\"context-menu-html \"+n.classNames.notSelectable):i.type?(c=e(\"<label></label>\").appendTo(s),e(\"<span></span>\").html(i._name||i.name).appendTo(c),s.addClass(\"context-menu-input\"),n.hasTypes=!0,e.each([n,a],function(e,t){t.commands[o]=i,t.inputs[o]=i})):i.items&&(i.type=\"sub\"),i.type){case\"seperator\":break;case\"text\":r=e('<input type=\"text\" value=\"1\" name=\"\" value=\"\">').attr(\"name\",\"context-menu-input-\"+o).val(i.value||\"\").appendTo(c);break;case\"textarea\":r=e('<textarea name=\"\"></textarea>').attr(\"name\",\"context-menu-input-\"+o).val(i.value||\"\").appendTo(c),i.height&&r.height(i.height);break;case\"checkbox\":r=e('<input type=\"checkbox\" value=\"1\" name=\"\" value=\"\">').attr(\"name\",\"context-menu-input-\"+o).val(i.value||\"\").prop(\"checked\",!!i.selected).prependTo(c);break;case\"radio\":r=e('<input type=\"radio\" value=\"1\" name=\"\" value=\"\">').attr(\"name\",\"context-menu-input-\"+i.radio).val(i.value||\"\").prop(\"checked\",!!i.selected).prependTo(c);break;case\"select\":r=e('<select name=\"\">').attr(\"name\",\"context-menu-input-\"+o).appendTo(c),i.options&&(e.each(i.options,function(t,n){e(\"<option></option>\").val(t).text(n).appendTo(r)}),r.val(i.selected));break;case\"sub\":e(\"<span></span>\").html(i._name||i.name).appendTo(s),i.appendTo=i.$node,f.create(i,a),s.data(\"contextMenu\",i).addClass(\"context-menu-submenu\"),i.callback=null;break;case\"html\":e(i.html).appendTo(s);break;default:e.each([n,a],function(t,n){n.commands[o]=i,e.isFunction(i.callback)&&(n.callbacks[o]=i.callback)}),e(\"<span></span>\").html(i._name||i.name||\"\").appendTo(s)}i.type&&\"sub\"!==i.type&&\"html\"!==i.type&&\"cm_seperator\"!==i.type&&(r.on(\"focus\",h.focusInput).on(\"blur\",h.blurInput),i.events&&r.on(i.events,n)),i.icon&&(e.isFunction(i.icon)?i._icon=i.icon.call(this,s,o,i):i._icon=n.classNames.icon+\" \"+n.classNames.icon+\"-\"+i.icon,s.addClass(i._icon))}i.$input=r,i.$label=c,s.appendTo(n.$menu),!n.hasTypes&&e.support.eventSelectstart&&s.on(\"selectstart.disableTextSelect\",h.abortevent)}),n.$node||n.$menu.css(\"display\",\"none\").addClass(\"context-menu-root\"),n.$menu.appendTo(n.appendTo||document.body)},resize:function(t,n){t.css({position:\"absolute\",display:\"block\"}),t.data(\"width\",Math.ceil(t.width())),t.css({position:\"static\",minWidth:\"0px\",maxWidth:\"100000px\"}),t.find(\"> li > ul\").each(function(){f.resize(e(this),!0)}),n||t.find(\"ul\").addBack().css({position:\"\",display:\"\",minWidth:\"\",maxWidth:\"\"}).width(function(){return e(this).data(\"width\")})},update:function(t,n){var a=this;void 0===n&&(n=t,f.resize(t.$menu)),t.$menu.children().each(function(){var o,i=e(this),s=i.data(\"contextMenuKey\"),c=t.items[s],r=e.isFunction(c.disabled)&&c.disabled.call(a,s,n)||c.disabled===!0;if(o=e.isFunction(c.visible)?c.visible.call(a,s,n):\"undefined\"!=typeof c.visible?c.visible===!0:!0,i[o?\"show\":\"hide\"](),i[r?\"addClass\":\"removeClass\"](n.classNames.disabled),e.isFunction(c.icon)&&(i.removeClass(c._icon),c._icon=c.icon.call(this,a,s,c),i.addClass(c._icon)),c.type)switch(i.find(\"input, select, textarea\").prop(\"disabled\",r),c.type){case\"text\":case\"textarea\":c.$input.val(c.value||\"\");break;case\"checkbox\":case\"radio\":c.$input.val(c.value||\"\").prop(\"checked\",!!c.selected);break;case\"select\":c.$input.val(c.selected||\"\")}c.$menu&&f.update.call(a,c,n)})},layer:function(t,n){var a=t.$layer=e('<div id=\"context-menu-layer\" style=\"position:fixed; z-index:'+n+'; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;\"></div>').css({height:s.height(),width:s.width(),display:\"block\"}).data(\"contextMenuRoot\",t).insertBefore(this).on(\"contextmenu\",h.abortevent).on(\"mousedown\",h.layerClick);return void 0===document.body.style.maxWidth&&a.css({position:\"absolute\",height:e(document).height()}),a}};e.fn.contextMenu=function(t){var n=this,a=t;if(this.length>0)if(void 0===t)this.first().trigger(\"contextmenu\");else if(t.x&&t.y)this.first().trigger(e.Event(\"contextmenu\",{pageX:t.x,pageY:t.y}));else if(\"hide\"===t){var o=this.first().data(\"contextMenu\")?this.first().data(\"contextMenu\").$menu:null;o&&o.trigger(\"contextmenu:hide\")}else\"destroy\"===t?e.contextMenu(\"destroy\",{context:this}):e.isPlainObject(t)?(t.context=this,e.contextMenu(\"create\",t)):t?this.removeClass(\"context-menu-disabled\"):t||this.addClass(\"context-menu-disabled\");else e.each(l,function(){this.selector===n.selector&&(a.data=this,e.extend(a.data,{trigger:\"demand\"}))}),h.contextmenu.call(a.target,a);return this},e.contextMenu=function(t,n){\"string\"!=typeof t&&(n=t,t=\"create\"),\"string\"==typeof n?n={selector:n}:void 0===n&&(n={});var a=e.extend(!0,{},d,n||{}),o=e(document),s=o,u=!1;switch(a.context&&a.context.length?(s=e(a.context).first(),a.context=s.get(0),u=a.context!==document):a.context=document,t){case\"create\":if(!a.selector)throw new Error(\"No selector specified\");if(a.selector.match(/.context-menu-(list|item|input)($|\\s)/))throw new Error('Cannot bind to selector \"'+a.selector+'\" as it contains a reserved className');if(!a.build&&(!a.items||e.isEmptyObject(a.items)))throw new Error(\"No Items specified\");switch(c++,a.ns=\".contextMenu\"+c,u||(r[a.selector]=a.ns),l[a.ns]=a,a.trigger||(a.trigger=\"right\"),i||(o.on({\"contextmenu:hide.contextMenu\":h.hideMenu,\"prevcommand.contextMenu\":h.prevItem,\"nextcommand.contextMenu\":h.nextItem,\"contextmenu.contextMenu\":h.abortevent,\"mouseenter.contextMenu\":h.menuMouseenter,\"mouseleave.contextMenu\":h.menuMouseleave},\".context-menu-list\").on(\"mouseup.contextMenu\",\".context-menu-input\",h.inputClick).on({\"mouseup.contextMenu\":h.itemClick,\"contextmenu:focus.contextMenu\":h.focusItem,\"contextmenu:blur.contextMenu\":h.blurItem,\"contextmenu.contextMenu\":h.abortevent,\"mouseenter.contextMenu\":h.itemMouseenter,\"mouseleave.contextMenu\":h.itemMouseleave},\".context-menu-item\"),i=!0),s.on(\"contextmenu\"+a.ns,a.selector,a,h.contextmenu),u&&s.on(\"remove\"+a.ns,function(){e(this).contextMenu(\"destroy\")}),a.trigger){case\"hover\":s.on(\"mouseenter\"+a.ns,a.selector,a,h.mouseenter).on(\"mouseleave\"+a.ns,a.selector,a,h.mouseleave);break;case\"left\":s.on(\"click\"+a.ns,a.selector,a,h.click)}a.build||f.create(a);break;case\"destroy\":var m;if(u){var p=a.context;e.each(l,function(t,n){if(n.context!==p)return!0;m=e(\".context-menu-list\").filter(\":visible\"),m.length&&m.data().contextMenuRoot.$trigger.is(e(n.context).find(n.selector))&&m.trigger(\"contextmenu:hide\",{force:!0});try{l[n.ns].$menu&&l[n.ns].$menu.remove(),delete l[n.ns]}catch(a){l[n.ns]=null}return e(n.context).off(n.ns),!0})}else if(a.selector){if(r[a.selector]){m=e(\".context-menu-list\").filter(\":visible\"),m.length&&m.data().contextMenuRoot.$trigger.is(a.selector)&&m.trigger(\"contextmenu:hide\",{force:!0});try{l[r[a.selector]].$menu&&l[r[a.selector]].$menu.remove(),delete l[r[a.selector]]}catch(x){l[r[a.selector]]=null}o.off(r[a.selector])}}else o.off(\".contextMenu .contextMenuAutoHide\"),e.each(l,function(t,n){e(n.context).off(n.ns)}),r={},l={},c=0,i=!1,e(\"#context-menu-layer, .context-menu-list\").remove();break;case\"html5\":(!e.support.htmlCommand&&!e.support.htmlMenuitem||\"boolean\"==typeof n&&n)&&e('menu[type=\"context\"]').each(function(){this.id&&e.contextMenu({selector:\"[contextmenu=\"+this.id+\"]\",items:e.contextMenu.fromMenu(this)})}).css(\"display\",\"none\");break;default:throw new Error('Unknown operation \"'+t+'\"')}return this},e.contextMenu.setInputValues=function(t,n){void 0===n&&(n={}),e.each(t.inputs,function(e,t){switch(t.type){case\"text\":case\"textarea\":t.value=n[e]||\"\";break;case\"checkbox\":t.selected=n[e]?!0:!1;break;case\"radio\":t.selected=(n[t.radio]||\"\")===t.value;break;case\"select\":t.selected=n[e]||\"\"}})},e.contextMenu.getInputValues=function(t,n){return void 0===n&&(n={}),e.each(t.inputs,function(e,t){switch(t.type){case\"text\":case\"textarea\":case\"select\":n[e]=t.$input.val();break;case\"checkbox\":n[e]=t.$input.prop(\"checked\");break;case\"radio\":t.$input.prop(\"checked\")&&(n[t.radio]=t.value)}}),n},e.contextMenu.fromMenu=function(t){var n=e(t),o={};return a(o,n.children()),o},e.contextMenu.defaults=d,e.contextMenu.types=u,e.contextMenu.handle=h,e.contextMenu.op=f,e.contextMenu.menus=l});\n//# sourceMappingURL=jquery.contextMenu.min.js.map"],"sourceRoot":"/source/"}