zhui-plus 1.0.0 → 1.0.10

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 (820) hide show
  1. package/dist/Heatmap.js +689 -0
  2. package/dist/WSPlayer/PlaySDKInterface.js +1 -0
  3. package/dist/WSPlayer/WSPlayer.js +1 -0
  4. package/dist/WSPlayer/audioTalkWorker.js +1 -0
  5. package/dist/WSPlayer/commonThread/libH264Enc.js +21 -0
  6. package/dist/WSPlayer/commonThread/libH264Enc.wasm +0 -0
  7. package/dist/WSPlayer/commonThread/libIVSDrawer.js +21 -0
  8. package/dist/WSPlayer/commonThread/libIVSDrawer.wasm +0 -0
  9. package/dist/WSPlayer/commonThread/libRenderEngine.js +21 -0
  10. package/dist/WSPlayer/commonThread/libRenderEngine.wasm +0 -0
  11. package/dist/WSPlayer/commonThread/libmavasp_litepacket.data +50 -0
  12. package/dist/WSPlayer/commonThread/libmavasp_litepacket.js +21 -0
  13. package/dist/WSPlayer/commonThread/libmavasp_litepacket.wasm +0 -0
  14. package/dist/WSPlayer/icon/IotComboBackGround-alarm.png +0 -0
  15. package/dist/WSPlayer/icon/IotComboBackGround.png +0 -0
  16. package/dist/WSPlayer/icon/RecordHover.svg +13 -0
  17. package/dist/WSPlayer/icon/RecordNormal.svg +13 -0
  18. package/dist/WSPlayer/icon/Recording.svg +15 -0
  19. package/dist/WSPlayer/icon/arrow-b.svg +9 -0
  20. package/dist/WSPlayer/icon/arrow-l.svg +9 -0
  21. package/dist/WSPlayer/icon/arrow-lb.svg +10 -0
  22. package/dist/WSPlayer/icon/arrow-lt.svg +10 -0
  23. package/dist/WSPlayer/icon/arrow-r.svg +9 -0
  24. package/dist/WSPlayer/icon/arrow-rb.svg +10 -0
  25. package/dist/WSPlayer/icon/arrow-rt.svg +10 -0
  26. package/dist/WSPlayer/icon/arrow-t.svg +9 -0
  27. package/dist/WSPlayer/icon/close-all-hover.svg +18 -0
  28. package/dist/WSPlayer/icon/close-all.svg +18 -0
  29. package/dist/WSPlayer/icon/close.svg +16 -0
  30. package/dist/WSPlayer/icon/close_hover.svg +16 -0
  31. package/dist/WSPlayer/icon/default.png +0 -0
  32. package/dist/WSPlayer/icon/draw-triangle_off.svg +14 -0
  33. package/dist/WSPlayer/icon/draw-triangle_off_hover.svg +14 -0
  34. package/dist/WSPlayer/icon/draw-triangle_on.svg +15 -0
  35. package/dist/WSPlayer/icon/draw-triangle_on_hover.svg +15 -0
  36. package/dist/WSPlayer/icon/drops.png +0 -0
  37. package/dist/WSPlayer/icon/fullscreen-hover.svg +13 -0
  38. package/dist/WSPlayer/icon/fullscreen.svg +13 -0
  39. package/dist/WSPlayer/icon/hide-pantilt-on.svg +13 -0
  40. package/dist/WSPlayer/icon/hide-pantilt.svg +13 -0
  41. package/dist/WSPlayer/icon/mobile-speed-control-icon.svg +13 -0
  42. package/dist/WSPlayer/icon/more.svg +13 -0
  43. package/dist/WSPlayer/icon/play-h.png +0 -0
  44. package/dist/WSPlayer/icon/play-n.png +0 -0
  45. package/dist/WSPlayer/icon/play-p.png +0 -0
  46. package/dist/WSPlayer/icon/ptz-icon1.svg +4 -0
  47. package/dist/WSPlayer/icon/ptz-icon2.svg +13 -0
  48. package/dist/WSPlayer/icon/ptz-icon3.svg +10 -0
  49. package/dist/WSPlayer/icon/ptz-icon4.svg +10 -0
  50. package/dist/WSPlayer/icon/ptz-icon5.svg +12 -0
  51. package/dist/WSPlayer/icon/ptz-icon6.svg +14 -0
  52. package/dist/WSPlayer/icon/ptz-select-hover.svg +3 -0
  53. package/dist/WSPlayer/icon/ptz-select.svg +3 -0
  54. package/dist/WSPlayer/icon/record_pause.svg +5 -0
  55. package/dist/WSPlayer/icon/record_play.svg +5 -0
  56. package/dist/WSPlayer/icon/refresh-replay.svg +11 -0
  57. package/dist/WSPlayer/icon/refresh-replay_hover.svg +11 -0
  58. package/dist/WSPlayer/icon/screen-more-icon.svg +15 -0
  59. package/dist/WSPlayer/icon/screen_1.svg +11 -0
  60. package/dist/WSPlayer/icon/screen_16.svg +18 -0
  61. package/dist/WSPlayer/icon/screen_16_hover.svg +18 -0
  62. package/dist/WSPlayer/icon/screen_1_hover.svg +11 -0
  63. package/dist/WSPlayer/icon/screen_2.svg +18 -0
  64. package/dist/WSPlayer/icon/screen_25.svg +19 -0
  65. package/dist/WSPlayer/icon/screen_25_hover.svg +19 -0
  66. package/dist/WSPlayer/icon/screen_2_hover.svg +18 -0
  67. package/dist/WSPlayer/icon/screen_3.svg +13 -0
  68. package/dist/WSPlayer/icon/screen_3_hover.svg +13 -0
  69. package/dist/WSPlayer/icon/screen_4.svg +12 -0
  70. package/dist/WSPlayer/icon/screen_4_hover.svg +12 -0
  71. package/dist/WSPlayer/icon/screen_6.svg +16 -0
  72. package/dist/WSPlayer/icon/screen_6_hover.svg +16 -0
  73. package/dist/WSPlayer/icon/screen_8.svg +18 -0
  74. package/dist/WSPlayer/icon/screen_8_hover.svg +18 -0
  75. package/dist/WSPlayer/icon/screen_9.svg +17 -0
  76. package/dist/WSPlayer/icon/screen_9_hover.svg +17 -0
  77. package/dist/WSPlayer/icon/screen_custom_division.svg +9 -0
  78. package/dist/WSPlayer/icon/screen_custom_division_hover.svg +9 -0
  79. package/dist/WSPlayer/icon/screen_custom_division_merge.svg +3 -0
  80. package/dist/WSPlayer/icon/screen_custom_division_split.svg +6 -0
  81. package/dist/WSPlayer/icon/snapshot.svg +38 -0
  82. package/dist/WSPlayer/icon/snapshot_hover.svg +38 -0
  83. package/dist/WSPlayer/icon/speed_left.svg +15 -0
  84. package/dist/WSPlayer/icon/speed_right.svg +15 -0
  85. package/dist/WSPlayer/icon/spread.png +0 -0
  86. package/dist/WSPlayer/icon/tag-left-alarm.png +0 -0
  87. package/dist/WSPlayer/icon/tag-left-normal.png +0 -0
  88. package/dist/WSPlayer/icon/tag-middle-alarm.png +0 -0
  89. package/dist/WSPlayer/icon/tag-middle-normal.png +0 -0
  90. package/dist/WSPlayer/icon/tag-right-alarm.png +0 -0
  91. package/dist/WSPlayer/icon/tag-right-normal.png +0 -0
  92. package/dist/WSPlayer/icon/talk-off-hover.svg +11 -0
  93. package/dist/WSPlayer/icon/talk-off.svg +11 -0
  94. package/dist/WSPlayer/icon/talk-on.svg +9 -0
  95. package/dist/WSPlayer/icon/voice-have.svg +43 -0
  96. package/dist/WSPlayer/icon/voice-have_hover.svg +43 -0
  97. package/dist/WSPlayer/icon/voice-null.svg +38 -0
  98. package/dist/WSPlayer/icon/voice-null_hover.svg +38 -0
  99. package/dist/WSPlayer/icon/ws-ctrl-ellipsis-hover.svg +14 -0
  100. package/dist/WSPlayer/icon/ws-ctrl-ellipsis.svg +14 -0
  101. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-b-bg.png +0 -0
  102. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-bg.png +0 -0
  103. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-l-bg.png +0 -0
  104. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-lb-bg.png +0 -0
  105. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-lt-bg.png +0 -0
  106. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-r-bg.png +0 -0
  107. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-rb-bg.png +0 -0
  108. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-rt-bg.png +0 -0
  109. package/dist/WSPlayer/icon/wsplayer-mobile-pantilt-t-bg.png +0 -0
  110. package/dist/WSPlayer/jquery-3.6.0.min.js +2 -0
  111. package/dist/WSPlayer/multiThread/libStreamClient.js +21 -0
  112. package/dist/WSPlayer/multiThread/libStreamClient.wasm +0 -0
  113. package/dist/WSPlayer/multiThread/libStreamClient.worker.js +1 -0
  114. package/dist/WSPlayer/multiThread/libplay.data +0 -0
  115. package/dist/WSPlayer/multiThread/libplay.js +1 -0
  116. package/dist/WSPlayer/multiThread/libplay.wasm +0 -0
  117. package/dist/WSPlayer/multiThread/libplay.worker.js +1 -0
  118. package/dist/WSPlayer/player.css +1490 -0
  119. package/dist/WSPlayer/singleThread/VideoDecodeWorker.js +1439 -0
  120. package/dist/WSPlayer/singleThread/libStreamClient.js +21 -0
  121. package/dist/WSPlayer/singleThread/libStreamClient.wasm +0 -0
  122. package/dist/WSPlayer/singleThread/libplay.data +0 -0
  123. package/dist/WSPlayer/singleThread/libplay.js +1 -0
  124. package/dist/WSPlayer/singleThread/libplay.wasm +0 -0
  125. package/dist/WSPlayer/window.division.css +80 -0
  126. package/dist/index.js +467 -0
  127. package/dist/locale/af.js +193 -0
  128. package/dist/locale/af.min.js +3 -0
  129. package/dist/locale/af.min.js.map +1 -0
  130. package/dist/locale/af.min.mjs +3 -0
  131. package/dist/locale/af.min.mjs.map +1 -0
  132. package/dist/locale/af.mjs +186 -0
  133. package/dist/locale/ar-eg.js +193 -0
  134. package/dist/locale/ar-eg.min.js +3 -0
  135. package/dist/locale/ar-eg.min.js.map +1 -0
  136. package/dist/locale/ar-eg.min.mjs +3 -0
  137. package/dist/locale/ar-eg.min.mjs.map +1 -0
  138. package/dist/locale/ar-eg.mjs +186 -0
  139. package/dist/locale/ar.js +193 -0
  140. package/dist/locale/ar.min.js +3 -0
  141. package/dist/locale/ar.min.js.map +1 -0
  142. package/dist/locale/ar.min.mjs +3 -0
  143. package/dist/locale/ar.min.mjs.map +1 -0
  144. package/dist/locale/ar.mjs +186 -0
  145. package/dist/locale/az.js +194 -0
  146. package/dist/locale/az.min.js +3 -0
  147. package/dist/locale/az.min.js.map +1 -0
  148. package/dist/locale/az.min.mjs +3 -0
  149. package/dist/locale/az.min.mjs.map +1 -0
  150. package/dist/locale/az.mjs +187 -0
  151. package/dist/locale/bg.js +193 -0
  152. package/dist/locale/bg.min.js +3 -0
  153. package/dist/locale/bg.min.js.map +1 -0
  154. package/dist/locale/bg.min.mjs +3 -0
  155. package/dist/locale/bg.min.mjs.map +1 -0
  156. package/dist/locale/bg.mjs +186 -0
  157. package/dist/locale/bn.js +193 -0
  158. package/dist/locale/bn.min.js +3 -0
  159. package/dist/locale/bn.min.js.map +1 -0
  160. package/dist/locale/bn.min.mjs +3 -0
  161. package/dist/locale/bn.min.mjs.map +1 -0
  162. package/dist/locale/bn.mjs +186 -0
  163. package/dist/locale/ca.js +193 -0
  164. package/dist/locale/ca.min.js +3 -0
  165. package/dist/locale/ca.min.js.map +1 -0
  166. package/dist/locale/ca.min.mjs +3 -0
  167. package/dist/locale/ca.min.mjs.map +1 -0
  168. package/dist/locale/ca.mjs +186 -0
  169. package/dist/locale/ckb.js +193 -0
  170. package/dist/locale/ckb.min.js +3 -0
  171. package/dist/locale/ckb.min.js.map +1 -0
  172. package/dist/locale/ckb.min.mjs +3 -0
  173. package/dist/locale/ckb.min.mjs.map +1 -0
  174. package/dist/locale/ckb.mjs +186 -0
  175. package/dist/locale/cs.js +195 -0
  176. package/dist/locale/cs.min.js +3 -0
  177. package/dist/locale/cs.min.js.map +1 -0
  178. package/dist/locale/cs.min.mjs +3 -0
  179. package/dist/locale/cs.min.mjs.map +1 -0
  180. package/dist/locale/cs.mjs +188 -0
  181. package/dist/locale/da.js +193 -0
  182. package/dist/locale/da.min.js +3 -0
  183. package/dist/locale/da.min.js.map +1 -0
  184. package/dist/locale/da.min.mjs +3 -0
  185. package/dist/locale/da.min.mjs.map +1 -0
  186. package/dist/locale/da.mjs +186 -0
  187. package/dist/locale/de.js +195 -0
  188. package/dist/locale/de.min.js +3 -0
  189. package/dist/locale/de.min.js.map +1 -0
  190. package/dist/locale/de.min.mjs +3 -0
  191. package/dist/locale/de.min.mjs.map +1 -0
  192. package/dist/locale/de.mjs +188 -0
  193. package/dist/locale/el.js +193 -0
  194. package/dist/locale/el.min.js +3 -0
  195. package/dist/locale/el.min.js.map +1 -0
  196. package/dist/locale/el.min.mjs +3 -0
  197. package/dist/locale/el.min.mjs.map +1 -0
  198. package/dist/locale/el.mjs +186 -0
  199. package/dist/locale/en.js +193 -0
  200. package/dist/locale/en.min.js +3 -0
  201. package/dist/locale/en.min.js.map +1 -0
  202. package/dist/locale/en.min.mjs +3 -0
  203. package/dist/locale/en.min.mjs.map +1 -0
  204. package/dist/locale/en.mjs +186 -0
  205. package/dist/locale/eo.js +193 -0
  206. package/dist/locale/eo.min.js +3 -0
  207. package/dist/locale/eo.min.js.map +1 -0
  208. package/dist/locale/eo.min.mjs +3 -0
  209. package/dist/locale/eo.min.mjs.map +1 -0
  210. package/dist/locale/eo.mjs +186 -0
  211. package/dist/locale/es.js +193 -0
  212. package/dist/locale/es.min.js +3 -0
  213. package/dist/locale/es.min.js.map +1 -0
  214. package/dist/locale/es.min.mjs +3 -0
  215. package/dist/locale/es.min.mjs.map +1 -0
  216. package/dist/locale/es.mjs +186 -0
  217. package/dist/locale/et.js +193 -0
  218. package/dist/locale/et.min.js +3 -0
  219. package/dist/locale/et.min.js.map +1 -0
  220. package/dist/locale/et.min.mjs +3 -0
  221. package/dist/locale/et.min.mjs.map +1 -0
  222. package/dist/locale/et.mjs +186 -0
  223. package/dist/locale/eu.js +193 -0
  224. package/dist/locale/eu.min.js +3 -0
  225. package/dist/locale/eu.min.js.map +1 -0
  226. package/dist/locale/eu.min.mjs +3 -0
  227. package/dist/locale/eu.min.mjs.map +1 -0
  228. package/dist/locale/eu.mjs +186 -0
  229. package/dist/locale/fa.js +193 -0
  230. package/dist/locale/fa.min.js +3 -0
  231. package/dist/locale/fa.min.js.map +1 -0
  232. package/dist/locale/fa.min.mjs +3 -0
  233. package/dist/locale/fa.min.mjs.map +1 -0
  234. package/dist/locale/fa.mjs +186 -0
  235. package/dist/locale/fi.js +193 -0
  236. package/dist/locale/fi.min.js +3 -0
  237. package/dist/locale/fi.min.js.map +1 -0
  238. package/dist/locale/fi.min.mjs +3 -0
  239. package/dist/locale/fi.min.mjs.map +1 -0
  240. package/dist/locale/fi.mjs +186 -0
  241. package/dist/locale/fr.js +193 -0
  242. package/dist/locale/fr.min.js +3 -0
  243. package/dist/locale/fr.min.js.map +1 -0
  244. package/dist/locale/fr.min.mjs +3 -0
  245. package/dist/locale/fr.min.mjs.map +1 -0
  246. package/dist/locale/fr.mjs +186 -0
  247. package/dist/locale/he.js +193 -0
  248. package/dist/locale/he.min.js +3 -0
  249. package/dist/locale/he.min.js.map +1 -0
  250. package/dist/locale/he.min.mjs +3 -0
  251. package/dist/locale/he.min.mjs.map +1 -0
  252. package/dist/locale/he.mjs +186 -0
  253. package/dist/locale/hi.js +193 -0
  254. package/dist/locale/hi.min.js +3 -0
  255. package/dist/locale/hi.min.js.map +1 -0
  256. package/dist/locale/hi.min.mjs +3 -0
  257. package/dist/locale/hi.min.mjs.map +1 -0
  258. package/dist/locale/hi.mjs +186 -0
  259. package/dist/locale/hr.js +193 -0
  260. package/dist/locale/hr.min.js +3 -0
  261. package/dist/locale/hr.min.js.map +1 -0
  262. package/dist/locale/hr.min.mjs +3 -0
  263. package/dist/locale/hr.min.mjs.map +1 -0
  264. package/dist/locale/hr.mjs +186 -0
  265. package/dist/locale/hu.js +193 -0
  266. package/dist/locale/hu.min.js +3 -0
  267. package/dist/locale/hu.min.js.map +1 -0
  268. package/dist/locale/hu.min.mjs +3 -0
  269. package/dist/locale/hu.min.mjs.map +1 -0
  270. package/dist/locale/hu.mjs +186 -0
  271. package/dist/locale/hy-am.js +193 -0
  272. package/dist/locale/hy-am.min.js +3 -0
  273. package/dist/locale/hy-am.min.js.map +1 -0
  274. package/dist/locale/hy-am.min.mjs +3 -0
  275. package/dist/locale/hy-am.min.mjs.map +1 -0
  276. package/dist/locale/hy-am.mjs +186 -0
  277. package/dist/locale/id.js +193 -0
  278. package/dist/locale/id.min.js +3 -0
  279. package/dist/locale/id.min.js.map +1 -0
  280. package/dist/locale/id.min.mjs +3 -0
  281. package/dist/locale/id.min.mjs.map +1 -0
  282. package/dist/locale/id.mjs +186 -0
  283. package/dist/locale/it.js +193 -0
  284. package/dist/locale/it.min.js +3 -0
  285. package/dist/locale/it.min.js.map +1 -0
  286. package/dist/locale/it.min.mjs +3 -0
  287. package/dist/locale/it.min.mjs.map +1 -0
  288. package/dist/locale/it.mjs +186 -0
  289. package/dist/locale/ja.js +193 -0
  290. package/dist/locale/ja.min.js +3 -0
  291. package/dist/locale/ja.min.js.map +1 -0
  292. package/dist/locale/ja.min.mjs +3 -0
  293. package/dist/locale/ja.min.mjs.map +1 -0
  294. package/dist/locale/ja.mjs +186 -0
  295. package/dist/locale/kk.js +193 -0
  296. package/dist/locale/kk.min.js +3 -0
  297. package/dist/locale/kk.min.js.map +1 -0
  298. package/dist/locale/kk.min.mjs +3 -0
  299. package/dist/locale/kk.min.mjs.map +1 -0
  300. package/dist/locale/kk.mjs +186 -0
  301. package/dist/locale/km.js +193 -0
  302. package/dist/locale/km.min.js +3 -0
  303. package/dist/locale/km.min.js.map +1 -0
  304. package/dist/locale/km.min.mjs +3 -0
  305. package/dist/locale/km.min.mjs.map +1 -0
  306. package/dist/locale/km.mjs +186 -0
  307. package/dist/locale/ko.js +193 -0
  308. package/dist/locale/ko.min.js +3 -0
  309. package/dist/locale/ko.min.js.map +1 -0
  310. package/dist/locale/ko.min.mjs +3 -0
  311. package/dist/locale/ko.min.mjs.map +1 -0
  312. package/dist/locale/ko.mjs +186 -0
  313. package/dist/locale/ku.js +193 -0
  314. package/dist/locale/ku.min.js +3 -0
  315. package/dist/locale/ku.min.js.map +1 -0
  316. package/dist/locale/ku.min.mjs +3 -0
  317. package/dist/locale/ku.min.mjs.map +1 -0
  318. package/dist/locale/ku.mjs +186 -0
  319. package/dist/locale/ky.js +193 -0
  320. package/dist/locale/ky.min.js +3 -0
  321. package/dist/locale/ky.min.js.map +1 -0
  322. package/dist/locale/ky.min.mjs +3 -0
  323. package/dist/locale/ky.min.mjs.map +1 -0
  324. package/dist/locale/ky.mjs +186 -0
  325. package/dist/locale/lo.js +193 -0
  326. package/dist/locale/lo.min.js +3 -0
  327. package/dist/locale/lo.min.js.map +1 -0
  328. package/dist/locale/lo.min.mjs +3 -0
  329. package/dist/locale/lo.min.mjs.map +1 -0
  330. package/dist/locale/lo.mjs +186 -0
  331. package/dist/locale/lt.js +193 -0
  332. package/dist/locale/lt.min.js +3 -0
  333. package/dist/locale/lt.min.js.map +1 -0
  334. package/dist/locale/lt.min.mjs +3 -0
  335. package/dist/locale/lt.min.mjs.map +1 -0
  336. package/dist/locale/lt.mjs +186 -0
  337. package/dist/locale/lv.js +193 -0
  338. package/dist/locale/lv.min.js +3 -0
  339. package/dist/locale/lv.min.js.map +1 -0
  340. package/dist/locale/lv.min.mjs +3 -0
  341. package/dist/locale/lv.min.mjs.map +1 -0
  342. package/dist/locale/lv.mjs +186 -0
  343. package/dist/locale/mg.js +193 -0
  344. package/dist/locale/mg.min.js +3 -0
  345. package/dist/locale/mg.min.js.map +1 -0
  346. package/dist/locale/mg.min.mjs +3 -0
  347. package/dist/locale/mg.min.mjs.map +1 -0
  348. package/dist/locale/mg.mjs +186 -0
  349. package/dist/locale/mn.js +193 -0
  350. package/dist/locale/mn.min.js +3 -0
  351. package/dist/locale/mn.min.js.map +1 -0
  352. package/dist/locale/mn.min.mjs +3 -0
  353. package/dist/locale/mn.min.mjs.map +1 -0
  354. package/dist/locale/mn.mjs +186 -0
  355. package/dist/locale/ms.js +195 -0
  356. package/dist/locale/ms.min.js +3 -0
  357. package/dist/locale/ms.min.js.map +1 -0
  358. package/dist/locale/ms.min.mjs +3 -0
  359. package/dist/locale/ms.min.mjs.map +1 -0
  360. package/dist/locale/ms.mjs +188 -0
  361. package/dist/locale/my.js +193 -0
  362. package/dist/locale/my.min.js +3 -0
  363. package/dist/locale/my.min.js.map +1 -0
  364. package/dist/locale/my.min.mjs +3 -0
  365. package/dist/locale/my.min.mjs.map +1 -0
  366. package/dist/locale/my.mjs +186 -0
  367. package/dist/locale/nb-no.js +193 -0
  368. package/dist/locale/nb-no.min.js +3 -0
  369. package/dist/locale/nb-no.min.js.map +1 -0
  370. package/dist/locale/nb-no.min.mjs +3 -0
  371. package/dist/locale/nb-no.min.mjs.map +1 -0
  372. package/dist/locale/nb-no.mjs +186 -0
  373. package/dist/locale/nl.js +193 -0
  374. package/dist/locale/nl.min.js +3 -0
  375. package/dist/locale/nl.min.js.map +1 -0
  376. package/dist/locale/nl.min.mjs +3 -0
  377. package/dist/locale/nl.min.mjs.map +1 -0
  378. package/dist/locale/nl.mjs +186 -0
  379. package/dist/locale/no.js +193 -0
  380. package/dist/locale/no.min.js +3 -0
  381. package/dist/locale/no.min.js.map +1 -0
  382. package/dist/locale/no.min.mjs +3 -0
  383. package/dist/locale/no.min.mjs.map +1 -0
  384. package/dist/locale/no.mjs +186 -0
  385. package/dist/locale/pa.js +193 -0
  386. package/dist/locale/pa.min.js +3 -0
  387. package/dist/locale/pa.min.js.map +1 -0
  388. package/dist/locale/pa.min.mjs +3 -0
  389. package/dist/locale/pa.min.mjs.map +1 -0
  390. package/dist/locale/pa.mjs +186 -0
  391. package/dist/locale/pl.js +193 -0
  392. package/dist/locale/pl.min.js +3 -0
  393. package/dist/locale/pl.min.js.map +1 -0
  394. package/dist/locale/pl.min.mjs +3 -0
  395. package/dist/locale/pl.min.mjs.map +1 -0
  396. package/dist/locale/pl.mjs +186 -0
  397. package/dist/locale/pt-br.js +193 -0
  398. package/dist/locale/pt-br.min.js +3 -0
  399. package/dist/locale/pt-br.min.js.map +1 -0
  400. package/dist/locale/pt-br.min.mjs +3 -0
  401. package/dist/locale/pt-br.min.mjs.map +1 -0
  402. package/dist/locale/pt-br.mjs +186 -0
  403. package/dist/locale/pt.js +193 -0
  404. package/dist/locale/pt.min.js +3 -0
  405. package/dist/locale/pt.min.js.map +1 -0
  406. package/dist/locale/pt.min.mjs +3 -0
  407. package/dist/locale/pt.min.mjs.map +1 -0
  408. package/dist/locale/pt.mjs +186 -0
  409. package/dist/locale/ro.js +193 -0
  410. package/dist/locale/ro.min.js +3 -0
  411. package/dist/locale/ro.min.js.map +1 -0
  412. package/dist/locale/ro.min.mjs +3 -0
  413. package/dist/locale/ro.min.mjs.map +1 -0
  414. package/dist/locale/ro.mjs +186 -0
  415. package/dist/locale/ru.js +193 -0
  416. package/dist/locale/ru.min.js +3 -0
  417. package/dist/locale/ru.min.js.map +1 -0
  418. package/dist/locale/ru.min.mjs +3 -0
  419. package/dist/locale/ru.min.mjs.map +1 -0
  420. package/dist/locale/ru.mjs +186 -0
  421. package/dist/locale/sk.js +195 -0
  422. package/dist/locale/sk.min.js +3 -0
  423. package/dist/locale/sk.min.js.map +1 -0
  424. package/dist/locale/sk.min.mjs +3 -0
  425. package/dist/locale/sk.min.mjs.map +1 -0
  426. package/dist/locale/sk.mjs +188 -0
  427. package/dist/locale/sl.js +193 -0
  428. package/dist/locale/sl.min.js +3 -0
  429. package/dist/locale/sl.min.js.map +1 -0
  430. package/dist/locale/sl.min.mjs +3 -0
  431. package/dist/locale/sl.min.mjs.map +1 -0
  432. package/dist/locale/sl.mjs +186 -0
  433. package/dist/locale/sr.js +193 -0
  434. package/dist/locale/sr.min.js +3 -0
  435. package/dist/locale/sr.min.js.map +1 -0
  436. package/dist/locale/sr.min.mjs +3 -0
  437. package/dist/locale/sr.min.mjs.map +1 -0
  438. package/dist/locale/sr.mjs +186 -0
  439. package/dist/locale/sv.js +193 -0
  440. package/dist/locale/sv.min.js +3 -0
  441. package/dist/locale/sv.min.js.map +1 -0
  442. package/dist/locale/sv.min.mjs +3 -0
  443. package/dist/locale/sv.min.mjs.map +1 -0
  444. package/dist/locale/sv.mjs +186 -0
  445. package/dist/locale/sw.js +193 -0
  446. package/dist/locale/sw.min.js +3 -0
  447. package/dist/locale/sw.min.js.map +1 -0
  448. package/dist/locale/sw.min.mjs +3 -0
  449. package/dist/locale/sw.min.mjs.map +1 -0
  450. package/dist/locale/sw.mjs +186 -0
  451. package/dist/locale/ta.js +193 -0
  452. package/dist/locale/ta.min.js +3 -0
  453. package/dist/locale/ta.min.js.map +1 -0
  454. package/dist/locale/ta.min.mjs +3 -0
  455. package/dist/locale/ta.min.mjs.map +1 -0
  456. package/dist/locale/ta.mjs +186 -0
  457. package/dist/locale/te.js +193 -0
  458. package/dist/locale/te.min.js +3 -0
  459. package/dist/locale/te.min.js.map +1 -0
  460. package/dist/locale/te.min.mjs +3 -0
  461. package/dist/locale/te.min.mjs.map +1 -0
  462. package/dist/locale/te.mjs +186 -0
  463. package/dist/locale/th.js +193 -0
  464. package/dist/locale/th.min.js +3 -0
  465. package/dist/locale/th.min.js.map +1 -0
  466. package/dist/locale/th.min.mjs +3 -0
  467. package/dist/locale/th.min.mjs.map +1 -0
  468. package/dist/locale/th.mjs +186 -0
  469. package/dist/locale/tk.js +193 -0
  470. package/dist/locale/tk.min.js +3 -0
  471. package/dist/locale/tk.min.js.map +1 -0
  472. package/dist/locale/tk.min.mjs +3 -0
  473. package/dist/locale/tk.min.mjs.map +1 -0
  474. package/dist/locale/tk.mjs +186 -0
  475. package/dist/locale/tr.js +193 -0
  476. package/dist/locale/tr.min.js +3 -0
  477. package/dist/locale/tr.min.js.map +1 -0
  478. package/dist/locale/tr.min.mjs +3 -0
  479. package/dist/locale/tr.min.mjs.map +1 -0
  480. package/dist/locale/tr.mjs +186 -0
  481. package/dist/locale/ug-cn.js +193 -0
  482. package/dist/locale/ug-cn.min.js +3 -0
  483. package/dist/locale/ug-cn.min.js.map +1 -0
  484. package/dist/locale/ug-cn.min.mjs +3 -0
  485. package/dist/locale/ug-cn.min.mjs.map +1 -0
  486. package/dist/locale/ug-cn.mjs +186 -0
  487. package/dist/locale/uk.js +193 -0
  488. package/dist/locale/uk.min.js +3 -0
  489. package/dist/locale/uk.min.js.map +1 -0
  490. package/dist/locale/uk.min.mjs +3 -0
  491. package/dist/locale/uk.min.mjs.map +1 -0
  492. package/dist/locale/uk.mjs +186 -0
  493. package/dist/locale/uz-uz.js +193 -0
  494. package/dist/locale/uz-uz.min.js +3 -0
  495. package/dist/locale/uz-uz.min.js.map +1 -0
  496. package/dist/locale/uz-uz.min.mjs +3 -0
  497. package/dist/locale/uz-uz.min.mjs.map +1 -0
  498. package/dist/locale/uz-uz.mjs +186 -0
  499. package/dist/locale/vi.js +193 -0
  500. package/dist/locale/vi.min.js +3 -0
  501. package/dist/locale/vi.min.js.map +1 -0
  502. package/dist/locale/vi.min.mjs +3 -0
  503. package/dist/locale/vi.min.mjs.map +1 -0
  504. package/dist/locale/vi.mjs +186 -0
  505. package/dist/locale/zh-cn.js +193 -0
  506. package/dist/locale/zh-cn.min.js +3 -0
  507. package/dist/locale/zh-cn.min.js.map +1 -0
  508. package/dist/locale/zh-cn.min.mjs +3 -0
  509. package/dist/locale/zh-cn.min.mjs.map +1 -0
  510. package/dist/locale/zh-cn.mjs +186 -0
  511. package/dist/locale/zh-hk.js +193 -0
  512. package/dist/locale/zh-hk.min.js +3 -0
  513. package/dist/locale/zh-hk.min.js.map +1 -0
  514. package/dist/locale/zh-hk.min.mjs +3 -0
  515. package/dist/locale/zh-hk.min.mjs.map +1 -0
  516. package/dist/locale/zh-hk.mjs +186 -0
  517. package/dist/locale/zh-mo.js +193 -0
  518. package/dist/locale/zh-mo.min.js +3 -0
  519. package/dist/locale/zh-mo.min.js.map +1 -0
  520. package/dist/locale/zh-mo.min.mjs +3 -0
  521. package/dist/locale/zh-mo.min.mjs.map +1 -0
  522. package/dist/locale/zh-mo.mjs +186 -0
  523. package/dist/locale/zh-tw.js +193 -0
  524. package/dist/locale/zh-tw.min.js +3 -0
  525. package/dist/locale/zh-tw.min.js.map +1 -0
  526. package/dist/locale/zh-tw.min.mjs +3 -0
  527. package/dist/locale/zh-tw.min.mjs.map +1 -0
  528. package/dist/locale/zh-tw.mjs +186 -0
  529. package/dist/style.css +1 -1
  530. package/dist/test/demo.docx +0 -0
  531. package/dist/test/demo.et +0 -0
  532. package/dist/test/demo.ofd +0 -0
  533. package/dist/test/demo.pdf +0 -0
  534. package/dist/test/test.ofd +0 -0
  535. package/dist/test/unzip.ofd +0 -0
  536. package/dist/test/zip.ofd +0 -0
  537. package/dist/types/auto-imports.d.ts +9 -0
  538. package/dist/types/components.d.ts +55 -0
  539. package/dist/zhui-plus.cjs.js +1 -0
  540. package/dist/zhui-plus.es.js +2 -0
  541. package/dist/zhui.svg +1 -0
  542. package/package.json +90 -4
  543. package/packages/components/AI/index.ts +10 -0
  544. package/packages/components/AI/src/zh-aiChat.vue +841 -0
  545. package/packages/components/badge/__tests__/badge.test.ts +38 -0
  546. package/packages/components/badge/index.ts +10 -0
  547. package/packages/components/badge/src/zh-badge.vue +86 -0
  548. package/packages/components/badge/style.scss +1 -0
  549. package/packages/components/button/__tests__/button.test.ts +94 -0
  550. package/packages/components/button/__tests__/buttonGroup.test.ts +46 -0
  551. package/packages/components/button/index.ts +11 -0
  552. package/packages/components/button/src/zh-button-group.vue +50 -0
  553. package/packages/components/button/src/zh-button.vue +152 -0
  554. package/packages/components/button/style/index.css +140 -0
  555. package/packages/components/charts/geo.json +11147 -0
  556. package/packages/components/charts/index.ts +35 -0
  557. package/packages/components/charts/src/zh-barChart.vue +97 -0
  558. package/packages/components/charts/src/zh-baseChart.vue +196 -0
  559. package/packages/components/charts/src/zh-lineBarChart.vue +113 -0
  560. package/packages/components/charts/src/zh-lineChart.vue +93 -0
  561. package/packages/components/charts/src/zh-mapChart.vue +214 -0
  562. package/packages/components/charts/src/zh-pictorialBar.vue +72 -0
  563. package/packages/components/charts/src/zh-pieChart.vue +67 -0
  564. package/packages/components/charts/src/zh-radarChart.vue +131 -0
  565. package/packages/components/charts/src/zh-scatterChart.vue +152 -0
  566. package/packages/components/chat/index.ts +10 -0
  567. package/packages/components/chat/src/zh-chat.vue +889 -0
  568. package/packages/components/container/index.ts +18 -0
  569. package/packages/components/container/src/zh-aside.vue +34 -0
  570. package/packages/components/container/src/zh-container.vue +45 -0
  571. package/packages/components/container/src/zh-footer.vue +33 -0
  572. package/packages/components/container/src/zh-header.vue +34 -0
  573. package/packages/components/container/src/zh-main.vue +26 -0
  574. package/packages/components/directive/focus.ts +14 -0
  575. package/packages/components/directive/idCard.ts +12 -0
  576. package/packages/components/directive/index.ts +19 -0
  577. package/packages/components/directive/number.ts +10 -0
  578. package/packages/components/directive/permission.ts +57 -0
  579. package/packages/components/directive/phone.ts +12 -0
  580. package/packages/components/drawer/index.ts +10 -0
  581. package/packages/components/drawer/src/zh-drawer.vue +78 -0
  582. package/packages/components/drawer/style/animation.scss +35 -0
  583. package/packages/components/drawer/style/index.scss +52 -0
  584. package/packages/components/drawer/style/media.scss +6 -0
  585. package/packages/components/fileViewer/index.ts +9 -0
  586. package/packages/components/fileViewer/src/liteofd/annotLayer.ts +203 -0
  587. package/packages/components/fileViewer/src/liteofd/asn1js/LICENSE +15 -0
  588. package/packages/components/fileViewer/src/liteofd/asn1js/README.md +108 -0
  589. package/packages/components/fileViewer/src/liteofd/asn1js/asn1.js +627 -0
  590. package/packages/components/fileViewer/src/liteofd/asn1js/base64.js +103 -0
  591. package/packages/components/fileViewer/src/liteofd/asn1js/defs.js +138 -0
  592. package/packages/components/fileViewer/src/liteofd/asn1js/dumpASN1.js +79 -0
  593. package/packages/components/fileViewer/src/liteofd/asn1js/hex.js +69 -0
  594. package/packages/components/fileViewer/src/liteofd/asn1js/int10.js +106 -0
  595. package/packages/components/fileViewer/src/liteofd/asn1js/oids.js +2725 -0
  596. package/packages/components/fileViewer/src/liteofd/asn1js/rfcdef.js +10377 -0
  597. package/packages/components/fileViewer/src/liteofd/attrType.ts +173 -0
  598. package/packages/components/fileViewer/src/liteofd/contentLayer.ts +203 -0
  599. package/packages/components/fileViewer/src/liteofd/elements/AnnotationPathSvg.ts +122 -0
  600. package/packages/components/fileViewer/src/liteofd/elements/BaseSvg.ts +6 -0
  601. package/packages/components/fileViewer/src/liteofd/elements/ImageSvg.ts +212 -0
  602. package/packages/components/fileViewer/src/liteofd/elements/PathSvg.ts +460 -0
  603. package/packages/components/fileViewer/src/liteofd/elements/SignatureElement.ts +231 -0
  604. package/packages/components/fileViewer/src/liteofd/elements/TextSvg.ts +235 -0
  605. package/packages/components/fileViewer/src/liteofd/elements/ofdAnnotationElement.ts +133 -0
  606. package/packages/components/fileViewer/src/liteofd/elements/ofdPageContainer.ts +183 -0
  607. package/packages/components/fileViewer/src/liteofd/elements/ofdPageRender.ts +71 -0
  608. package/packages/components/fileViewer/src/liteofd/elements/signObject.json +10084 -0
  609. package/packages/components/fileViewer/src/liteofd/elements/signature.json +381 -0
  610. package/packages/components/fileViewer/src/liteofd/font/arithmetic_decoder.js +182 -0
  611. package/packages/components/fileViewer/src/liteofd/font/ascii_85_stream.js +98 -0
  612. package/packages/components/fileViewer/src/liteofd/font/ascii_hex_stream.js +79 -0
  613. package/packages/components/fileViewer/src/liteofd/font/base_stream.js +110 -0
  614. package/packages/components/fileViewer/src/liteofd/font/bidi.js +440 -0
  615. package/packages/components/fileViewer/src/liteofd/font/binary_cmap.js +326 -0
  616. package/packages/components/fileViewer/src/liteofd/font/calibri_factors.js +309 -0
  617. package/packages/components/fileViewer/src/liteofd/font/ccitt.js +1059 -0
  618. package/packages/components/fileViewer/src/liteofd/font/ccitt_stream.js +60 -0
  619. package/packages/components/fileViewer/src/liteofd/font/cff_font.js +139 -0
  620. package/packages/components/fileViewer/src/liteofd/font/cff_parser.js +1940 -0
  621. package/packages/components/fileViewer/src/liteofd/font/charsets.js +119 -0
  622. package/packages/components/fileViewer/src/liteofd/font/chunked_stream.js +94 -0
  623. package/packages/components/fileViewer/src/liteofd/font/cmap.js +726 -0
  624. package/packages/components/fileViewer/src/liteofd/font/colorspace.js +1336 -0
  625. package/packages/components/fileViewer/src/liteofd/font/core_utils.js +636 -0
  626. package/packages/components/fileViewer/src/liteofd/font/decode_stream.js +177 -0
  627. package/packages/components/fileViewer/src/liteofd/font/differences.js +906 -0
  628. package/packages/components/fileViewer/src/liteofd/font/encodings.js +301 -0
  629. package/packages/components/fileViewer/src/liteofd/font/flate_stream.js +413 -0
  630. package/packages/components/fileViewer/src/liteofd/font/font_loader.js +455 -0
  631. package/packages/components/fileViewer/src/liteofd/font/font_renderer.js +900 -0
  632. package/packages/components/fileViewer/src/liteofd/font/font_substitutions.js +553 -0
  633. package/packages/components/fileViewer/src/liteofd/font/fonts copy.js +3391 -0
  634. package/packages/components/fileViewer/src/liteofd/font/fonts.js +3585 -0
  635. package/packages/components/fileViewer/src/liteofd/font/fonts_utils.js +178 -0
  636. package/packages/components/fileViewer/src/liteofd/font/function.js +1241 -0
  637. package/packages/components/fileViewer/src/liteofd/font/glyf.js +701 -0
  638. package/packages/components/fileViewer/src/liteofd/font/glyphlist.js +4557 -0
  639. package/packages/components/fileViewer/src/liteofd/font/helvetica_factors.js +352 -0
  640. package/packages/components/fileViewer/src/liteofd/font/image.js +986 -0
  641. package/packages/components/fileViewer/src/liteofd/font/image_resizer.js +398 -0
  642. package/packages/components/fileViewer/src/liteofd/font/image_utils.js +286 -0
  643. package/packages/components/fileViewer/src/liteofd/font/jbig2_stream.js +74 -0
  644. package/packages/components/fileViewer/src/liteofd/font/jpeg_stream.js +106 -0
  645. package/packages/components/fileViewer/src/liteofd/font/jpg.js +1590 -0
  646. package/packages/components/fileViewer/src/liteofd/font/jpx.js +2349 -0
  647. package/packages/components/fileViewer/src/liteofd/font/jpx_stream.js +87 -0
  648. package/packages/components/fileViewer/src/liteofd/font/liberationsans_widths.js +429 -0
  649. package/packages/components/fileViewer/src/liteofd/font/lzw_stream.js +150 -0
  650. package/packages/components/fileViewer/src/liteofd/font/metrics.d.ts +1 -0
  651. package/packages/components/fileViewer/src/liteofd/font/metrics.js +3057 -0
  652. package/packages/components/fileViewer/src/liteofd/font/murmurhash3.js +135 -0
  653. package/packages/components/fileViewer/src/liteofd/font/myriadpro_factors.js +291 -0
  654. package/packages/components/fileViewer/src/liteofd/font/ofd_stream.js +402 -0
  655. package/packages/components/fileViewer/src/liteofd/font/opentype_file_builder.js +154 -0
  656. package/packages/components/fileViewer/src/liteofd/font/parser.js +1409 -0
  657. package/packages/components/fileViewer/src/liteofd/font/pattern.js +1005 -0
  658. package/packages/components/fileViewer/src/liteofd/font/predictor_stream.js +234 -0
  659. package/packages/components/fileViewer/src/liteofd/font/primitives.js +354 -0
  660. package/packages/components/fileViewer/src/liteofd/font/properties.json +2110 -0
  661. package/packages/components/fileViewer/src/liteofd/font/ps_parser.js +268 -0
  662. package/packages/components/fileViewer/src/liteofd/font/run_length_stream.js +61 -0
  663. package/packages/components/fileViewer/src/liteofd/font/segoeui_factors.js +308 -0
  664. package/packages/components/fileViewer/src/liteofd/font/standard_fonts.js +915 -0
  665. package/packages/components/fileViewer/src/liteofd/font/stream.js +99 -0
  666. package/packages/components/fileViewer/src/liteofd/font/to_unicode_map.js +111 -0
  667. package/packages/components/fileViewer/src/liteofd/font/translatedFont.js +3125 -0
  668. package/packages/components/fileViewer/src/liteofd/font/type1_font.js +443 -0
  669. package/packages/components/fileViewer/src/liteofd/font/type1_parser.js +804 -0
  670. package/packages/components/fileViewer/src/liteofd/font/unicode.js +274 -0
  671. package/packages/components/fileViewer/src/liteofd/font/util.js +1159 -0
  672. package/packages/components/fileViewer/src/liteofd/font/xfa_fonts.js +296 -0
  673. package/packages/components/fileViewer/src/liteofd/jbig2/arithmetic_decoder.js +183 -0
  674. package/packages/components/fileViewer/src/liteofd/jbig2/ccitt.js +1070 -0
  675. package/packages/components/fileViewer/src/liteofd/jbig2/core_utils.js +180 -0
  676. package/packages/components/fileViewer/src/liteofd/jbig2/is_node.js +27 -0
  677. package/packages/components/fileViewer/src/liteofd/jbig2/jbig2.js +2589 -0
  678. package/packages/components/fileViewer/src/liteofd/jbig2/jbig2_stream.js +81 -0
  679. package/packages/components/fileViewer/src/liteofd/jbig2/primitives.js +371 -0
  680. package/packages/components/fileViewer/src/liteofd/jbig2/stream.js +1348 -0
  681. package/packages/components/fileViewer/src/liteofd/jbig2/util.js +970 -0
  682. package/packages/components/fileViewer/src/liteofd/layer.ts +12 -0
  683. package/packages/components/fileViewer/src/liteofd/liteOfd.ts +185 -0
  684. package/packages/components/fileViewer/src/liteofd/ofdActions.ts +29 -0
  685. package/packages/components/fileViewer/src/liteofd/ofdCanvas.ts +19 -0
  686. package/packages/components/fileViewer/src/liteofd/ofdData.ts +28 -0
  687. package/packages/components/fileViewer/src/liteofd/ofdDocument.ts +109 -0
  688. package/packages/components/fileViewer/src/liteofd/ofdFont.ts +425 -0
  689. package/packages/components/fileViewer/src/liteofd/ofdRender.ts +259 -0
  690. package/packages/components/fileViewer/src/liteofd/ofdWriter.ts +142 -0
  691. package/packages/components/fileViewer/src/liteofd/ofdtools.ts +43 -0
  692. package/packages/components/fileViewer/src/liteofd/parser.ts +499 -0
  693. package/packages/components/fileViewer/src/liteofd/promiseCapability.ts +47 -0
  694. package/packages/components/fileViewer/src/liteofd/utils/commonFont.ts +15 -0
  695. package/packages/components/fileViewer/src/liteofd/utils/elementUtils.ts +362 -0
  696. package/packages/components/fileViewer/src/liteofd/utils/jsonToXml.ts +95 -0
  697. package/packages/components/fileViewer/src/liteofd/utils/ofdUtils.ts +301 -0
  698. package/packages/components/fileViewer/src/liteofd/utils/signatureUtil.ts +246 -0
  699. package/packages/components/fileViewer/src/liteofd/utils/sm3.ts +235 -0
  700. package/packages/components/fileViewer/src/liteofd/utils/utils.ts +489 -0
  701. package/packages/components/fileViewer/src/liteofd/utils/verify_signature_util.ts +41 -0
  702. package/packages/components/fileViewer/src/ofd/CircleLoading.vue +64 -0
  703. package/packages/components/fileViewer/src/ofd/OfdPreview.vue +456 -0
  704. package/packages/components/fileViewer/src/ofd/OfdViewer.vue +211 -0
  705. package/packages/components/fileViewer/src/ofd/PageIndicator.vue +88 -0
  706. package/packages/components/fileViewer/src/ofd/RatioIndicator.vue +271 -0
  707. package/packages/components/fileViewer/src/ofd/ToolTip.vue +81 -0
  708. package/packages/components/fileViewer/src/zh-fileViewer.vue +426 -0
  709. package/packages/components/form/index.ts +11 -0
  710. package/packages/components/form/src/zh-form-item.vue +299 -0
  711. package/packages/components/form/src/zh-form.vue +90 -0
  712. package/packages/components/hideNumber/index.ts +9 -0
  713. package/packages/components/hideNumber/src/zh-hide-number.vue +37 -0
  714. package/packages/components/icon/index.ts +10 -0
  715. package/packages/components/icon/src/zh-icon.vue +32 -0
  716. package/packages/components/image/index.ts +9 -0
  717. package/packages/components/image/src/zh-image.vue +245 -0
  718. package/packages/components/index.ts +112 -0
  719. package/packages/components/input/index.ts +10 -0
  720. package/packages/components/input/src/input.com.ts +30 -0
  721. package/packages/components/input/src/input.type.ts +1 -0
  722. package/packages/components/input/src/zh-input.vue +92 -0
  723. package/packages/components/input/style/index.scss +30 -0
  724. package/packages/components/layout/index.ts +12 -0
  725. package/packages/components/layout/src/zh-col.tsx +81 -0
  726. package/packages/components/layout/src/zh-row.tsx +58 -0
  727. package/packages/components/layout/style/row.scss +6 -0
  728. package/packages/components/map/index.ts +18 -0
  729. package/packages/components/map/src/zh-amap.vue +999 -0
  730. package/packages/components/map/src/zh-bmap.vue +1578 -0
  731. package/packages/components/map/src/zh-omap.vue +1522 -0
  732. package/packages/components/map/src/zh-smap.vue +1555 -0
  733. package/packages/components/map/src/zh-tmap.vue +1058 -0
  734. package/packages/components/message/index.ts +8 -0
  735. package/packages/components/message/src/data.com.ts +61 -0
  736. package/packages/components/message/src/message-icon.vue +60 -0
  737. package/packages/components/message/src/message.ts +89 -0
  738. package/packages/components/message/src/message.type.ts +40 -0
  739. package/packages/components/message/src/zh-message.vue +133 -0
  740. package/packages/components/message-box/index.ts +12 -0
  741. package/packages/components/message-box/src/messageBox.help.ts +40 -0
  742. package/packages/components/message-box/src/messageBox.ts +126 -0
  743. package/packages/components/message-box/src/zh-message-box.vue +94 -0
  744. package/packages/components/message-box/style/index.css +29 -0
  745. package/packages/components/noData/index.ts +9 -0
  746. package/packages/components/noData/src/zh-no-data.vue +42 -0
  747. package/packages/components/operationColumn/index.ts +9 -0
  748. package/packages/components/operationColumn/src/zh-operationColumn.vue +113 -0
  749. package/packages/components/provider/index.ts +11 -0
  750. package/packages/components/provider/src/zh-authControl.vue +28 -0
  751. package/packages/components/provider/src/zh-authProvider.vue +36 -0
  752. package/packages/components/qrcode/index.ts +9 -0
  753. package/packages/components/qrcode/src/zh-qrcode.vue +271 -0
  754. package/packages/components/radio/index.ts +10 -0
  755. package/packages/components/radio/src/zh-radio.vue +86 -0
  756. package/packages/components/searchForm/index.ts +9 -0
  757. package/packages/components/searchForm/src/zh-search-form.vue +340 -0
  758. package/packages/components/signature/index.ts +10 -0
  759. package/packages/components/signature/src/zh-signature.vue +355 -0
  760. package/packages/components/switch/index.ts +10 -0
  761. package/packages/components/switch/src/zh-switch.vue +162 -0
  762. package/packages/components/table/index.ts +10 -0
  763. package/packages/components/table/src/types.ts +62 -0
  764. package/packages/components/table/src/zh-table.vue +220 -0
  765. package/packages/components/upload/index.ts +15 -0
  766. package/packages/components/upload/src/zh-cupload.vue +147 -0
  767. package/packages/components/upload/src/zh-upload.vue +258 -0
  768. package/packages/components/upload/src/zh-uploadCard.vue +176 -0
  769. package/packages/components/upload/src/zh-uploadDialog.vue +165 -0
  770. package/packages/components/videoPlayer/index.ts +12 -0
  771. package/packages/components/videoPlayer/src/PlayerManager.js +706 -0
  772. package/packages/components/videoPlayer/src/api.js +354 -0
  773. package/packages/components/videoPlayer/src/errorHandler.ts +39 -0
  774. package/packages/components/videoPlayer/src/resourceLoader.ts +68 -0
  775. package/packages/components/videoPlayer/src/useDahuaPlayer.ts +242 -0
  776. package/packages/components/videoPlayer/src/zh-dhPlayer.vue +119 -0
  777. package/packages/components/videoPlayer/src/zh-hlsPlayer.vue +575 -0
  778. package/packages/resolver/index.ts +324 -0
  779. package/packages/styles/_element.scss +324 -0
  780. package/packages/styles/_variable.scss +136 -0
  781. package/packages/styles/index.scss +3 -0
  782. package/packages/tokens/tokens.ts +2 -0
  783. package/packages/types/form.ts +205 -0
  784. package/packages/types/index.ts +4 -0
  785. package/packages/types/player.ts +80 -0
  786. package/packages/types/provider.ts +4 -0
  787. package/packages/types/searchForm.ts +24 -0
  788. package/packages/utils/common/__tests__/common.test.ts +12 -0
  789. package/packages/utils/common/common.ts +68 -0
  790. package/packages/utils/constant.ts +12 -0
  791. package/packages/utils/copy.ts +20 -0
  792. package/packages/utils/data.ts +62 -0
  793. package/packages/utils/echarts/echarts.ts +34 -0
  794. package/packages/utils/event.ts +37 -0
  795. package/packages/utils/hooks/__tests__/hooks.test.ts +24 -0
  796. package/packages/utils/hooks/data.ts +100 -0
  797. package/packages/utils/hooks/hooks.util.ts +39 -0
  798. package/packages/utils/hooks/index.ts +1 -0
  799. package/packages/utils/hooks/useBreakpoint.ts +89 -0
  800. package/packages/utils/hooks/useEcharts.ts +56 -0
  801. package/packages/utils/hooks/useEventListener.ts +57 -0
  802. package/packages/utils/hooks/useLegendProcessor.ts +92 -0
  803. package/packages/utils/hooks/usePermission.ts +22 -0
  804. package/packages/utils/hooks/useTimeout.ts +45 -0
  805. package/packages/utils/is.ts +79 -0
  806. package/packages/utils/utils.ts +136 -0
  807. package/packages/utils/vue/util-modal.vue +61 -0
  808. package/types/auto-imports.d.ts +9 -0
  809. package/types/component.d.ts +6 -0
  810. package/types/components.d.ts +131 -0
  811. package/types/defaults.d.ts +5 -0
  812. package/types/el-components.d.ts +23 -0
  813. package/types/global.d.ts +130 -0
  814. package/types/index.d.ts +11 -0
  815. package/types/zh-components.d.ts +23 -0
  816. package/types/zhui.d.ts +76 -0
  817. package/.idea/workspace.xml +0 -72
  818. package/README.md +0 -1
  819. package/dist/zh-ui.es.js +0 -56706
  820. package/dist/zh-ui.umd.js +0 -67
@@ -0,0 +1,1241 @@
1
+ /* Copyright 2012 Mozilla Foundation
2
+ *
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ */
15
+
16
+ import { Dict, Ref } from "./primitives.js";
17
+ import {
18
+ FeatureTest,
19
+ FormatError,
20
+ info,
21
+ shadow,
22
+ unreachable,
23
+ } from "./util.js";
24
+ import { PostScriptLexer, PostScriptParser } from "./ps_parser.js";
25
+ import { BaseStream } from "./base_stream.js";
26
+ import { LocalFunctionCache } from "./image_utils.js";
27
+
28
+ class PDFFunctionFactory {
29
+ constructor({ xref, isEvalSupported = true }) {
30
+ this.xref = xref;
31
+ this.isEvalSupported = isEvalSupported !== false;
32
+ }
33
+
34
+ create(fn) {
35
+ const cachedFunction = this.getCached(fn);
36
+ if (cachedFunction) {
37
+ return cachedFunction;
38
+ }
39
+ const parsedFunction = PDFFunction.parse({
40
+ xref: this.xref,
41
+ isEvalSupported: this.isEvalSupported,
42
+ fn: fn instanceof Ref ? this.xref.fetch(fn) : fn,
43
+ });
44
+
45
+ // Attempt to cache the parsed Function, by reference.
46
+ this._cache(fn, parsedFunction);
47
+
48
+ return parsedFunction;
49
+ }
50
+
51
+ createFromArray(fnObj) {
52
+ const cachedFunction = this.getCached(fnObj);
53
+ if (cachedFunction) {
54
+ return cachedFunction;
55
+ }
56
+ const parsedFunction = PDFFunction.parseArray({
57
+ xref: this.xref,
58
+ isEvalSupported: this.isEvalSupported,
59
+ fnObj: fnObj instanceof Ref ? this.xref.fetch(fnObj) : fnObj,
60
+ });
61
+
62
+ // Attempt to cache the parsed Function, by reference.
63
+ this._cache(fnObj, parsedFunction);
64
+
65
+ return parsedFunction;
66
+ }
67
+
68
+ getCached(cacheKey) {
69
+ let fnRef;
70
+ if (cacheKey instanceof Ref) {
71
+ fnRef = cacheKey;
72
+ } else if (cacheKey instanceof Dict) {
73
+ fnRef = cacheKey.objId;
74
+ } else if (cacheKey instanceof BaseStream) {
75
+ fnRef = cacheKey.dict?.objId;
76
+ }
77
+ if (fnRef) {
78
+ const localFunction = this._localFunctionCache.getByRef(fnRef);
79
+ if (localFunction) {
80
+ return localFunction;
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+
86
+ /**
87
+ * @private
88
+ */
89
+ _cache(cacheKey, parsedFunction) {
90
+ if (!parsedFunction) {
91
+ throw new Error(
92
+ 'PDFFunctionFactory._cache - expected "parsedFunction" argument.'
93
+ );
94
+ }
95
+ let fnRef;
96
+ if (cacheKey instanceof Ref) {
97
+ fnRef = cacheKey;
98
+ } else if (cacheKey instanceof Dict) {
99
+ fnRef = cacheKey.objId;
100
+ } else if (cacheKey instanceof BaseStream) {
101
+ fnRef = cacheKey.dict?.objId;
102
+ }
103
+ if (fnRef) {
104
+ this._localFunctionCache.set(/* name = */ null, fnRef, parsedFunction);
105
+ }
106
+ }
107
+
108
+ /**
109
+ * @private
110
+ */
111
+ get _localFunctionCache() {
112
+ return shadow(this, "_localFunctionCache", new LocalFunctionCache());
113
+ }
114
+ }
115
+
116
+ function toNumberArray(arr) {
117
+ if (!Array.isArray(arr)) {
118
+ return null;
119
+ }
120
+ const length = arr.length;
121
+ for (let i = 0; i < length; i++) {
122
+ if (typeof arr[i] !== "number") {
123
+ // Non-number is found -- convert all items to numbers.
124
+ const result = new Array(length);
125
+ for (let j = 0; j < length; j++) {
126
+ result[j] = +arr[j];
127
+ }
128
+ return result;
129
+ }
130
+ }
131
+ return arr;
132
+ }
133
+
134
+ class PDFFunction {
135
+ static getSampleArray(size, outputSize, bps, stream) {
136
+ let i, ii;
137
+ let length = 1;
138
+ for (i = 0, ii = size.length; i < ii; i++) {
139
+ length *= size[i];
140
+ }
141
+ length *= outputSize;
142
+
143
+ const array = new Array(length);
144
+ let codeSize = 0;
145
+ let codeBuf = 0;
146
+ // 32 is a valid bps so shifting won't work
147
+ const sampleMul = 1.0 / (2.0 ** bps - 1);
148
+
149
+ const strBytes = stream.getBytes((length * bps + 7) / 8);
150
+ let strIdx = 0;
151
+ for (i = 0; i < length; i++) {
152
+ while (codeSize < bps) {
153
+ codeBuf <<= 8;
154
+ codeBuf |= strBytes[strIdx++];
155
+ codeSize += 8;
156
+ }
157
+ codeSize -= bps;
158
+ array[i] = (codeBuf >> codeSize) * sampleMul;
159
+ codeBuf &= (1 << codeSize) - 1;
160
+ }
161
+ return array;
162
+ }
163
+
164
+ static parse({ xref, isEvalSupported, fn }) {
165
+ const dict = fn.dict || fn;
166
+ const typeNum = dict.get("FunctionType");
167
+
168
+ switch (typeNum) {
169
+ case 0:
170
+ return this.constructSampled({ xref, isEvalSupported, fn, dict });
171
+ case 1:
172
+ break;
173
+ case 2:
174
+ return this.constructInterpolated({ xref, isEvalSupported, dict });
175
+ case 3:
176
+ return this.constructStiched({ xref, isEvalSupported, dict });
177
+ case 4:
178
+ return this.constructPostScript({ xref, isEvalSupported, fn, dict });
179
+ }
180
+ throw new FormatError("Unknown type of function");
181
+ }
182
+
183
+ static parseArray({ xref, isEvalSupported, fnObj }) {
184
+ if (!Array.isArray(fnObj)) {
185
+ // not an array -- parsing as regular function
186
+ return this.parse({ xref, isEvalSupported, fn: fnObj });
187
+ }
188
+
189
+ const fnArray = [];
190
+ for (const fn of fnObj) {
191
+ fnArray.push(
192
+ this.parse({ xref, isEvalSupported, fn: xref.fetchIfRef(fn) })
193
+ );
194
+ }
195
+ return function (src, srcOffset, dest, destOffset) {
196
+ for (let i = 0, ii = fnArray.length; i < ii; i++) {
197
+ fnArray[i](src, srcOffset, dest, destOffset + i);
198
+ }
199
+ };
200
+ }
201
+
202
+ static constructSampled({ xref, isEvalSupported, fn, dict }) {
203
+ function toMultiArray(arr) {
204
+ const inputLength = arr.length;
205
+ const out = [];
206
+ let index = 0;
207
+ for (let i = 0; i < inputLength; i += 2) {
208
+ out[index++] = [arr[i], arr[i + 1]];
209
+ }
210
+ return out;
211
+ }
212
+ // See chapter 3, page 109 of the PDF reference
213
+ function interpolate(x, xmin, xmax, ymin, ymax) {
214
+ return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));
215
+ }
216
+
217
+ let domain = toNumberArray(dict.getArray("Domain"));
218
+ let range = toNumberArray(dict.getArray("Range"));
219
+
220
+ if (!domain || !range) {
221
+ throw new FormatError("No domain or range");
222
+ }
223
+
224
+ const inputSize = domain.length / 2;
225
+ const outputSize = range.length / 2;
226
+
227
+ domain = toMultiArray(domain);
228
+ range = toMultiArray(range);
229
+
230
+ const size = toNumberArray(dict.getArray("Size"));
231
+ const bps = dict.get("BitsPerSample");
232
+ const order = dict.get("Order") || 1;
233
+ if (order !== 1) {
234
+ // No description how cubic spline interpolation works in PDF32000:2008
235
+ // As in poppler, ignoring order, linear interpolation may work as good
236
+ info("No support for cubic spline interpolation: " + order);
237
+ }
238
+
239
+ let encode = toNumberArray(dict.getArray("Encode"));
240
+ if (!encode) {
241
+ encode = [];
242
+ for (let i = 0; i < inputSize; ++i) {
243
+ encode.push([0, size[i] - 1]);
244
+ }
245
+ } else {
246
+ encode = toMultiArray(encode);
247
+ }
248
+
249
+ let decode = toNumberArray(dict.getArray("Decode"));
250
+ decode = !decode ? range : toMultiArray(decode);
251
+
252
+ const samples = this.getSampleArray(size, outputSize, bps, fn);
253
+ // const mask = 2 ** bps - 1;
254
+
255
+ return function constructSampledFn(src, srcOffset, dest, destOffset) {
256
+ // See chapter 3, page 110 of the PDF reference.
257
+
258
+ // Building the cube vertices: its part and sample index
259
+ // http://rjwagner49.com/Mathematics/Interpolation.pdf
260
+ const cubeVertices = 1 << inputSize;
261
+ const cubeN = new Float64Array(cubeVertices);
262
+ const cubeVertex = new Uint32Array(cubeVertices);
263
+ let i, j;
264
+ for (j = 0; j < cubeVertices; j++) {
265
+ cubeN[j] = 1;
266
+ }
267
+
268
+ let k = outputSize,
269
+ pos = 1;
270
+ // Map x_i to y_j for 0 <= i < m using the sampled function.
271
+ for (i = 0; i < inputSize; ++i) {
272
+ // x_i' = min(max(x_i, Domain_2i), Domain_2i+1)
273
+ const domain_2i = domain[i][0];
274
+ const domain_2i_1 = domain[i][1];
275
+ const xi = Math.min(
276
+ Math.max(src[srcOffset + i], domain_2i),
277
+ domain_2i_1
278
+ );
279
+
280
+ // e_i = Interpolate(x_i', Domain_2i, Domain_2i+1,
281
+ // Encode_2i, Encode_2i+1)
282
+ let e = interpolate(
283
+ xi,
284
+ domain_2i,
285
+ domain_2i_1,
286
+ encode[i][0],
287
+ encode[i][1]
288
+ );
289
+
290
+ // e_i' = min(max(e_i, 0), Size_i - 1)
291
+ const size_i = size[i];
292
+ e = Math.min(Math.max(e, 0), size_i - 1);
293
+
294
+ // Adjusting the cube: N and vertex sample index
295
+ const e0 = e < size_i - 1 ? Math.floor(e) : e - 1; // e1 = e0 + 1;
296
+ const n0 = e0 + 1 - e; // (e1 - e) / (e1 - e0);
297
+ const n1 = e - e0; // (e - e0) / (e1 - e0);
298
+ const offset0 = e0 * k;
299
+ const offset1 = offset0 + k; // e1 * k
300
+ for (j = 0; j < cubeVertices; j++) {
301
+ if (j & pos) {
302
+ cubeN[j] *= n1;
303
+ cubeVertex[j] += offset1;
304
+ } else {
305
+ cubeN[j] *= n0;
306
+ cubeVertex[j] += offset0;
307
+ }
308
+ }
309
+
310
+ k *= size_i;
311
+ pos <<= 1;
312
+ }
313
+
314
+ for (j = 0; j < outputSize; ++j) {
315
+ // Sum all cube vertices' samples portions
316
+ let rj = 0;
317
+ for (i = 0; i < cubeVertices; i++) {
318
+ rj += samples[cubeVertex[i] + j] * cubeN[i];
319
+ }
320
+
321
+ // r_j' = Interpolate(r_j, 0, 2^BitsPerSample - 1,
322
+ // Decode_2j, Decode_2j+1)
323
+ rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);
324
+
325
+ // y_j = min(max(r_j, range_2j), range_2j+1)
326
+ dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);
327
+ }
328
+ };
329
+ }
330
+
331
+ static constructInterpolated({ xref, isEvalSupported, dict }) {
332
+ const c0 = toNumberArray(dict.getArray("C0")) || [0];
333
+ const c1 = toNumberArray(dict.getArray("C1")) || [1];
334
+ const n = dict.get("N");
335
+
336
+ const diff = [];
337
+ for (let i = 0, ii = c0.length; i < ii; ++i) {
338
+ diff.push(c1[i] - c0[i]);
339
+ }
340
+ const length = diff.length;
341
+
342
+ return function constructInterpolatedFn(src, srcOffset, dest, destOffset) {
343
+ const x = n === 1 ? src[srcOffset] : src[srcOffset] ** n;
344
+
345
+ for (let j = 0; j < length; ++j) {
346
+ dest[destOffset + j] = c0[j] + x * diff[j];
347
+ }
348
+ };
349
+ }
350
+
351
+ static constructStiched({ xref, isEvalSupported, dict }) {
352
+ const domain = toNumberArray(dict.getArray("Domain"));
353
+
354
+ if (!domain) {
355
+ throw new FormatError("No domain");
356
+ }
357
+
358
+ const inputSize = domain.length / 2;
359
+ if (inputSize !== 1) {
360
+ throw new FormatError("Bad domain for stiched function");
361
+ }
362
+
363
+ const fns = [];
364
+ for (const fn of dict.get("Functions")) {
365
+ fns.push(this.parse({ xref, isEvalSupported, fn: xref.fetchIfRef(fn) }));
366
+ }
367
+
368
+ const bounds = toNumberArray(dict.getArray("Bounds"));
369
+ const encode = toNumberArray(dict.getArray("Encode"));
370
+ const tmpBuf = new Float32Array(1);
371
+
372
+ return function constructStichedFn(src, srcOffset, dest, destOffset) {
373
+ const clip = function constructStichedFromIRClip(v, min, max) {
374
+ if (v > max) {
375
+ v = max;
376
+ } else if (v < min) {
377
+ v = min;
378
+ }
379
+ return v;
380
+ };
381
+
382
+ // clip to domain
383
+ const v = clip(src[srcOffset], domain[0], domain[1]);
384
+ // calculate which bound the value is in
385
+ const length = bounds.length;
386
+ let i;
387
+ for (i = 0; i < length; ++i) {
388
+ if (v < bounds[i]) {
389
+ break;
390
+ }
391
+ }
392
+
393
+ // encode value into domain of function
394
+ let dmin = domain[0];
395
+ if (i > 0) {
396
+ dmin = bounds[i - 1];
397
+ }
398
+ let dmax = domain[1];
399
+ if (i < bounds.length) {
400
+ dmax = bounds[i];
401
+ }
402
+
403
+ const rmin = encode[2 * i];
404
+ const rmax = encode[2 * i + 1];
405
+
406
+ // Prevent the value from becoming NaN as a result
407
+ // of division by zero (fixes issue6113.pdf).
408
+ tmpBuf[0] =
409
+ dmin === dmax
410
+ ? rmin
411
+ : rmin + ((v - dmin) * (rmax - rmin)) / (dmax - dmin);
412
+
413
+ // call the appropriate function
414
+ fns[i](tmpBuf, 0, dest, destOffset);
415
+ };
416
+ }
417
+
418
+ static constructPostScript({ xref, isEvalSupported, fn, dict }) {
419
+ const domain = toNumberArray(dict.getArray("Domain"));
420
+ const range = toNumberArray(dict.getArray("Range"));
421
+
422
+ if (!domain) {
423
+ throw new FormatError("No domain.");
424
+ }
425
+
426
+ if (!range) {
427
+ throw new FormatError("No range.");
428
+ }
429
+
430
+ const lexer = new PostScriptLexer(fn);
431
+ const parser = new PostScriptParser(lexer);
432
+ const code = parser.parse();
433
+
434
+ if (isEvalSupported && FeatureTest.isEvalSupported) {
435
+ const compiled = new PostScriptCompiler().compile(code, domain, range);
436
+ if (compiled) {
437
+ // Compiled function consists of simple expressions such as addition,
438
+ // subtraction, Math.max, and also contains 'var' and 'return'
439
+ // statements. See the generation in the PostScriptCompiler below.
440
+ // eslint-disable-next-line no-new-func
441
+ return new Function("src", "srcOffset", "dest", "destOffset", compiled);
442
+ }
443
+ }
444
+ info("Unable to compile PS function");
445
+
446
+ const numOutputs = range.length >> 1;
447
+ const numInputs = domain.length >> 1;
448
+ const evaluator = new PostScriptEvaluator(code);
449
+ // Cache the values for a big speed up, the cache size is limited though
450
+ // since the number of possible values can be huge from a PS function.
451
+ const cache = Object.create(null);
452
+ // The MAX_CACHE_SIZE is set to ~4x the maximum number of distinct values
453
+ // seen in our tests.
454
+ const MAX_CACHE_SIZE = 2048 * 4;
455
+ let cache_available = MAX_CACHE_SIZE;
456
+ const tmpBuf = new Float32Array(numInputs);
457
+
458
+ return function constructPostScriptFn(src, srcOffset, dest, destOffset) {
459
+ let i, value;
460
+ let key = "";
461
+ const input = tmpBuf;
462
+ for (i = 0; i < numInputs; i++) {
463
+ value = src[srcOffset + i];
464
+ input[i] = value;
465
+ key += value + "_";
466
+ }
467
+
468
+ const cachedValue = cache[key];
469
+ if (cachedValue !== undefined) {
470
+ dest.set(cachedValue, destOffset);
471
+ return;
472
+ }
473
+
474
+ const output = new Float32Array(numOutputs);
475
+ const stack = evaluator.execute(input);
476
+ const stackIndex = stack.length - numOutputs;
477
+ for (i = 0; i < numOutputs; i++) {
478
+ value = stack[stackIndex + i];
479
+ let bound = range[i * 2];
480
+ if (value < bound) {
481
+ value = bound;
482
+ } else {
483
+ bound = range[i * 2 + 1];
484
+ if (value > bound) {
485
+ value = bound;
486
+ }
487
+ }
488
+ output[i] = value;
489
+ }
490
+ if (cache_available > 0) {
491
+ cache_available--;
492
+ cache[key] = output;
493
+ }
494
+ dest.set(output, destOffset);
495
+ };
496
+ }
497
+ }
498
+
499
+ function isPDFFunction(v) {
500
+ let fnDict;
501
+ if (v instanceof Dict) {
502
+ fnDict = v;
503
+ } else if (v instanceof BaseStream) {
504
+ fnDict = v.dict;
505
+ } else {
506
+ return false;
507
+ }
508
+ return fnDict.has("FunctionType");
509
+ }
510
+
511
+ class PostScriptStack {
512
+ static MAX_STACK_SIZE = 100;
513
+
514
+ constructor(initialStack) {
515
+ this.stack = initialStack ? Array.from(initialStack) : [];
516
+ }
517
+
518
+ push(value) {
519
+ if (this.stack.length >= PostScriptStack.MAX_STACK_SIZE) {
520
+ throw new Error("PostScript function stack overflow.");
521
+ }
522
+ this.stack.push(value);
523
+ }
524
+
525
+ pop() {
526
+ if (this.stack.length <= 0) {
527
+ throw new Error("PostScript function stack underflow.");
528
+ }
529
+ return this.stack.pop();
530
+ }
531
+
532
+ copy(n) {
533
+ if (this.stack.length + n >= PostScriptStack.MAX_STACK_SIZE) {
534
+ throw new Error("PostScript function stack overflow.");
535
+ }
536
+ const stack = this.stack;
537
+ for (let i = stack.length - n, j = n - 1; j >= 0; j--, i++) {
538
+ stack.push(stack[i]);
539
+ }
540
+ }
541
+
542
+ index(n) {
543
+ this.push(this.stack[this.stack.length - n - 1]);
544
+ }
545
+
546
+ // rotate the last n stack elements p times
547
+ roll(n, p) {
548
+ const stack = this.stack;
549
+ const l = stack.length - n;
550
+ const r = stack.length - 1;
551
+ const c = l + (p - Math.floor(p / n) * n);
552
+
553
+ for (let i = l, j = r; i < j; i++, j--) {
554
+ const t = stack[i];
555
+ stack[i] = stack[j];
556
+ stack[j] = t;
557
+ }
558
+ for (let i = l, j = c - 1; i < j; i++, j--) {
559
+ const t = stack[i];
560
+ stack[i] = stack[j];
561
+ stack[j] = t;
562
+ }
563
+ for (let i = c, j = r; i < j; i++, j--) {
564
+ const t = stack[i];
565
+ stack[i] = stack[j];
566
+ stack[j] = t;
567
+ }
568
+ }
569
+ }
570
+
571
+ class PostScriptEvaluator {
572
+ constructor(operators) {
573
+ this.operators = operators;
574
+ }
575
+
576
+ execute(initialStack) {
577
+ const stack = new PostScriptStack(initialStack);
578
+ let counter = 0;
579
+ const operators = this.operators;
580
+ const length = operators.length;
581
+ let operator, a, b;
582
+ while (counter < length) {
583
+ operator = operators[counter++];
584
+ if (typeof operator === "number") {
585
+ // Operator is really an operand and should be pushed to the stack.
586
+ stack.push(operator);
587
+ continue;
588
+ }
589
+ switch (operator) {
590
+ // non standard ps operators
591
+ case "jz": // jump if false
592
+ b = stack.pop();
593
+ a = stack.pop();
594
+ if (!a) {
595
+ counter = b;
596
+ }
597
+ break;
598
+ case "j": // jump
599
+ a = stack.pop();
600
+ counter = a;
601
+ break;
602
+
603
+ // all ps operators in alphabetical order (excluding if/ifelse)
604
+ case "abs":
605
+ a = stack.pop();
606
+ stack.push(Math.abs(a));
607
+ break;
608
+ case "add":
609
+ b = stack.pop();
610
+ a = stack.pop();
611
+ stack.push(a + b);
612
+ break;
613
+ case "and":
614
+ b = stack.pop();
615
+ a = stack.pop();
616
+ if (typeof a === "boolean" && typeof b === "boolean") {
617
+ stack.push(a && b);
618
+ } else {
619
+ stack.push(a & b);
620
+ }
621
+ break;
622
+ case "atan":
623
+ b = stack.pop();
624
+ a = stack.pop();
625
+ a = (Math.atan2(a, b) / Math.PI) * 180;
626
+ if (a < 0) {
627
+ a += 360;
628
+ }
629
+ stack.push(a);
630
+ break;
631
+ case "bitshift":
632
+ b = stack.pop();
633
+ a = stack.pop();
634
+ if (a > 0) {
635
+ stack.push(a << b);
636
+ } else {
637
+ stack.push(a >> b);
638
+ }
639
+ break;
640
+ case "ceiling":
641
+ a = stack.pop();
642
+ stack.push(Math.ceil(a));
643
+ break;
644
+ case "copy":
645
+ a = stack.pop();
646
+ stack.copy(a);
647
+ break;
648
+ case "cos":
649
+ a = stack.pop();
650
+ stack.push(Math.cos(((a % 360) / 180) * Math.PI));
651
+ break;
652
+ case "cvi":
653
+ a = stack.pop() | 0;
654
+ stack.push(a);
655
+ break;
656
+ case "cvr":
657
+ // noop
658
+ break;
659
+ case "div":
660
+ b = stack.pop();
661
+ a = stack.pop();
662
+ stack.push(a / b);
663
+ break;
664
+ case "dup":
665
+ stack.copy(1);
666
+ break;
667
+ case "eq":
668
+ b = stack.pop();
669
+ a = stack.pop();
670
+ stack.push(a === b);
671
+ break;
672
+ case "exch":
673
+ stack.roll(2, 1);
674
+ break;
675
+ case "exp":
676
+ b = stack.pop();
677
+ a = stack.pop();
678
+ stack.push(a ** b);
679
+ break;
680
+ case "false":
681
+ stack.push(false);
682
+ break;
683
+ case "floor":
684
+ a = stack.pop();
685
+ stack.push(Math.floor(a));
686
+ break;
687
+ case "ge":
688
+ b = stack.pop();
689
+ a = stack.pop();
690
+ stack.push(a >= b);
691
+ break;
692
+ case "gt":
693
+ b = stack.pop();
694
+ a = stack.pop();
695
+ stack.push(a > b);
696
+ break;
697
+ case "idiv":
698
+ b = stack.pop();
699
+ a = stack.pop();
700
+ stack.push((a / b) | 0);
701
+ break;
702
+ case "index":
703
+ a = stack.pop();
704
+ stack.index(a);
705
+ break;
706
+ case "le":
707
+ b = stack.pop();
708
+ a = stack.pop();
709
+ stack.push(a <= b);
710
+ break;
711
+ case "ln":
712
+ a = stack.pop();
713
+ stack.push(Math.log(a));
714
+ break;
715
+ case "log":
716
+ a = stack.pop();
717
+ stack.push(Math.log10(a));
718
+ break;
719
+ case "lt":
720
+ b = stack.pop();
721
+ a = stack.pop();
722
+ stack.push(a < b);
723
+ break;
724
+ case "mod":
725
+ b = stack.pop();
726
+ a = stack.pop();
727
+ stack.push(a % b);
728
+ break;
729
+ case "mul":
730
+ b = stack.pop();
731
+ a = stack.pop();
732
+ stack.push(a * b);
733
+ break;
734
+ case "ne":
735
+ b = stack.pop();
736
+ a = stack.pop();
737
+ stack.push(a !== b);
738
+ break;
739
+ case "neg":
740
+ a = stack.pop();
741
+ stack.push(-a);
742
+ break;
743
+ case "not":
744
+ a = stack.pop();
745
+ if (typeof a === "boolean") {
746
+ stack.push(!a);
747
+ } else {
748
+ stack.push(~a);
749
+ }
750
+ break;
751
+ case "or":
752
+ b = stack.pop();
753
+ a = stack.pop();
754
+ if (typeof a === "boolean" && typeof b === "boolean") {
755
+ stack.push(a || b);
756
+ } else {
757
+ stack.push(a | b);
758
+ }
759
+ break;
760
+ case "pop":
761
+ stack.pop();
762
+ break;
763
+ case "roll":
764
+ b = stack.pop();
765
+ a = stack.pop();
766
+ stack.roll(a, b);
767
+ break;
768
+ case "round":
769
+ a = stack.pop();
770
+ stack.push(Math.round(a));
771
+ break;
772
+ case "sin":
773
+ a = stack.pop();
774
+ stack.push(Math.sin(((a % 360) / 180) * Math.PI));
775
+ break;
776
+ case "sqrt":
777
+ a = stack.pop();
778
+ stack.push(Math.sqrt(a));
779
+ break;
780
+ case "sub":
781
+ b = stack.pop();
782
+ a = stack.pop();
783
+ stack.push(a - b);
784
+ break;
785
+ case "true":
786
+ stack.push(true);
787
+ break;
788
+ case "truncate":
789
+ a = stack.pop();
790
+ a = a < 0 ? Math.ceil(a) : Math.floor(a);
791
+ stack.push(a);
792
+ break;
793
+ case "xor":
794
+ b = stack.pop();
795
+ a = stack.pop();
796
+ if (typeof a === "boolean" && typeof b === "boolean") {
797
+ stack.push(a !== b);
798
+ } else {
799
+ stack.push(a ^ b);
800
+ }
801
+ break;
802
+ default:
803
+ throw new FormatError(`Unknown operator ${operator}`);
804
+ }
805
+ }
806
+ return stack.stack;
807
+ }
808
+ }
809
+
810
+ class AstNode {
811
+ constructor(type) {
812
+ this.type = type;
813
+ }
814
+
815
+ visit(visitor) {
816
+ unreachable("abstract method");
817
+ }
818
+ }
819
+
820
+ class AstArgument extends AstNode {
821
+ constructor(index, min, max) {
822
+ super("args");
823
+ this.index = index;
824
+ this.min = min;
825
+ this.max = max;
826
+ }
827
+
828
+ visit(visitor) {
829
+ visitor.visitArgument(this);
830
+ }
831
+ }
832
+
833
+ class AstLiteral extends AstNode {
834
+ constructor(number) {
835
+ super("literal");
836
+ this.number = number;
837
+ this.min = number;
838
+ this.max = number;
839
+ }
840
+
841
+ visit(visitor) {
842
+ visitor.visitLiteral(this);
843
+ }
844
+ }
845
+
846
+ class AstBinaryOperation extends AstNode {
847
+ constructor(op, arg1, arg2, min, max) {
848
+ super("binary");
849
+ this.op = op;
850
+ this.arg1 = arg1;
851
+ this.arg2 = arg2;
852
+ this.min = min;
853
+ this.max = max;
854
+ }
855
+
856
+ visit(visitor) {
857
+ visitor.visitBinaryOperation(this);
858
+ }
859
+ }
860
+
861
+ class AstMin extends AstNode {
862
+ constructor(arg, max) {
863
+ super("max");
864
+ this.arg = arg;
865
+ this.min = arg.min;
866
+ this.max = max;
867
+ }
868
+
869
+ visit(visitor) {
870
+ visitor.visitMin(this);
871
+ }
872
+ }
873
+
874
+ class AstVariable extends AstNode {
875
+ constructor(index, min, max) {
876
+ super("var");
877
+ this.index = index;
878
+ this.min = min;
879
+ this.max = max;
880
+ }
881
+
882
+ visit(visitor) {
883
+ visitor.visitVariable(this);
884
+ }
885
+ }
886
+
887
+ class AstVariableDefinition extends AstNode {
888
+ constructor(variable, arg) {
889
+ super("definition");
890
+ this.variable = variable;
891
+ this.arg = arg;
892
+ }
893
+
894
+ visit(visitor) {
895
+ visitor.visitVariableDefinition(this);
896
+ }
897
+ }
898
+
899
+ class ExpressionBuilderVisitor {
900
+ constructor() {
901
+ this.parts = [];
902
+ }
903
+
904
+ visitArgument(arg) {
905
+ this.parts.push(
906
+ "Math.max(",
907
+ arg.min,
908
+ ", Math.min(",
909
+ arg.max,
910
+ ", src[srcOffset + ",
911
+ arg.index,
912
+ "]))"
913
+ );
914
+ }
915
+
916
+ visitVariable(variable) {
917
+ this.parts.push("v", variable.index);
918
+ }
919
+
920
+ visitLiteral(literal) {
921
+ this.parts.push(literal.number);
922
+ }
923
+
924
+ visitBinaryOperation(operation) {
925
+ this.parts.push("(");
926
+ operation.arg1.visit(this);
927
+ this.parts.push(" ", operation.op, " ");
928
+ operation.arg2.visit(this);
929
+ this.parts.push(")");
930
+ }
931
+
932
+ visitVariableDefinition(definition) {
933
+ this.parts.push("var ");
934
+ definition.variable.visit(this);
935
+ this.parts.push(" = ");
936
+ definition.arg.visit(this);
937
+ this.parts.push(";");
938
+ }
939
+
940
+ visitMin(max) {
941
+ this.parts.push("Math.min(");
942
+ max.arg.visit(this);
943
+ this.parts.push(", ", max.max, ")");
944
+ }
945
+
946
+ toString() {
947
+ return this.parts.join("");
948
+ }
949
+ }
950
+
951
+ function buildAddOperation(num1, num2) {
952
+ if (num2.type === "literal" && num2.number === 0) {
953
+ // optimization: second operand is 0
954
+ return num1;
955
+ }
956
+ if (num1.type === "literal" && num1.number === 0) {
957
+ // optimization: first operand is 0
958
+ return num2;
959
+ }
960
+ if (num2.type === "literal" && num1.type === "literal") {
961
+ // optimization: operands operand are literals
962
+ return new AstLiteral(num1.number + num2.number);
963
+ }
964
+ return new AstBinaryOperation(
965
+ "+",
966
+ num1,
967
+ num2,
968
+ num1.min + num2.min,
969
+ num1.max + num2.max
970
+ );
971
+ }
972
+
973
+ function buildMulOperation(num1, num2) {
974
+ if (num2.type === "literal") {
975
+ // optimization: second operands is a literal...
976
+ if (num2.number === 0) {
977
+ return new AstLiteral(0); // and it's 0
978
+ } else if (num2.number === 1) {
979
+ return num1; // and it's 1
980
+ } else if (num1.type === "literal") {
981
+ // ... and first operands is a literal too
982
+ return new AstLiteral(num1.number * num2.number);
983
+ }
984
+ }
985
+ if (num1.type === "literal") {
986
+ // optimization: first operands is a literal...
987
+ if (num1.number === 0) {
988
+ return new AstLiteral(0); // and it's 0
989
+ } else if (num1.number === 1) {
990
+ return num2; // and it's 1
991
+ }
992
+ }
993
+ const min = Math.min(
994
+ num1.min * num2.min,
995
+ num1.min * num2.max,
996
+ num1.max * num2.min,
997
+ num1.max * num2.max
998
+ );
999
+ const max = Math.max(
1000
+ num1.min * num2.min,
1001
+ num1.min * num2.max,
1002
+ num1.max * num2.min,
1003
+ num1.max * num2.max
1004
+ );
1005
+ return new AstBinaryOperation("*", num1, num2, min, max);
1006
+ }
1007
+
1008
+ function buildSubOperation(num1, num2) {
1009
+ if (num2.type === "literal") {
1010
+ // optimization: second operands is a literal...
1011
+ if (num2.number === 0) {
1012
+ return num1; // ... and it's 0
1013
+ } else if (num1.type === "literal") {
1014
+ // ... and first operands is a literal too
1015
+ return new AstLiteral(num1.number - num2.number);
1016
+ }
1017
+ }
1018
+ if (
1019
+ num2.type === "binary" &&
1020
+ num2.op === "-" &&
1021
+ num1.type === "literal" &&
1022
+ num1.number === 1 &&
1023
+ num2.arg1.type === "literal" &&
1024
+ num2.arg1.number === 1
1025
+ ) {
1026
+ // optimization for case: 1 - (1 - x)
1027
+ return num2.arg2;
1028
+ }
1029
+ return new AstBinaryOperation(
1030
+ "-",
1031
+ num1,
1032
+ num2,
1033
+ num1.min - num2.max,
1034
+ num1.max - num2.min
1035
+ );
1036
+ }
1037
+
1038
+ function buildMinOperation(num1, max) {
1039
+ if (num1.min >= max) {
1040
+ // optimization: num1 min value is not less than required max
1041
+ return new AstLiteral(max); // just returning max
1042
+ } else if (num1.max <= max) {
1043
+ // optimization: num1 max value is not greater than required max
1044
+ return num1; // just returning an argument
1045
+ }
1046
+ return new AstMin(num1, max);
1047
+ }
1048
+
1049
+ // Most of the PDFs functions consist of simple operations such as:
1050
+ // roll, exch, sub, cvr, pop, index, dup, mul, if, gt, add.
1051
+ //
1052
+ // We can compile most of such programs, and at the same moment, we can
1053
+ // optimize some expressions using basic math properties. Keeping track of
1054
+ // min/max values will allow us to avoid extra Math.min/Math.max calls.
1055
+ class PostScriptCompiler {
1056
+ compile(code, domain, range) {
1057
+ const stack = [];
1058
+ const instructions = [];
1059
+ const inputSize = domain.length >> 1,
1060
+ outputSize = range.length >> 1;
1061
+ let lastRegister = 0;
1062
+ let n, j;
1063
+ let num1, num2, ast1, ast2, tmpVar, item;
1064
+ for (let i = 0; i < inputSize; i++) {
1065
+ stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));
1066
+ }
1067
+
1068
+ for (let i = 0, ii = code.length; i < ii; i++) {
1069
+ item = code[i];
1070
+ if (typeof item === "number") {
1071
+ stack.push(new AstLiteral(item));
1072
+ continue;
1073
+ }
1074
+
1075
+ switch (item) {
1076
+ case "add":
1077
+ if (stack.length < 2) {
1078
+ return null;
1079
+ }
1080
+ num2 = stack.pop();
1081
+ num1 = stack.pop();
1082
+ stack.push(buildAddOperation(num1, num2));
1083
+ break;
1084
+ case "cvr":
1085
+ if (stack.length < 1) {
1086
+ return null;
1087
+ }
1088
+ break;
1089
+ case "mul":
1090
+ if (stack.length < 2) {
1091
+ return null;
1092
+ }
1093
+ num2 = stack.pop();
1094
+ num1 = stack.pop();
1095
+ stack.push(buildMulOperation(num1, num2));
1096
+ break;
1097
+ case "sub":
1098
+ if (stack.length < 2) {
1099
+ return null;
1100
+ }
1101
+ num2 = stack.pop();
1102
+ num1 = stack.pop();
1103
+ stack.push(buildSubOperation(num1, num2));
1104
+ break;
1105
+ case "exch":
1106
+ if (stack.length < 2) {
1107
+ return null;
1108
+ }
1109
+ ast1 = stack.pop();
1110
+ ast2 = stack.pop();
1111
+ stack.push(ast1, ast2);
1112
+ break;
1113
+ case "pop":
1114
+ if (stack.length < 1) {
1115
+ return null;
1116
+ }
1117
+ stack.pop();
1118
+ break;
1119
+ case "index":
1120
+ if (stack.length < 1) {
1121
+ return null;
1122
+ }
1123
+ num1 = stack.pop();
1124
+ if (num1.type !== "literal") {
1125
+ return null;
1126
+ }
1127
+ n = num1.number;
1128
+ if (n < 0 || !Number.isInteger(n) || stack.length < n) {
1129
+ return null;
1130
+ }
1131
+ ast1 = stack[stack.length - n - 1];
1132
+ if (ast1.type === "literal" || ast1.type === "var") {
1133
+ stack.push(ast1);
1134
+ break;
1135
+ }
1136
+ tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);
1137
+ stack[stack.length - n - 1] = tmpVar;
1138
+ stack.push(tmpVar);
1139
+ instructions.push(new AstVariableDefinition(tmpVar, ast1));
1140
+ break;
1141
+ case "dup":
1142
+ if (stack.length < 1) {
1143
+ return null;
1144
+ }
1145
+ if (
1146
+ typeof code[i + 1] === "number" &&
1147
+ code[i + 2] === "gt" &&
1148
+ code[i + 3] === i + 7 &&
1149
+ code[i + 4] === "jz" &&
1150
+ code[i + 5] === "pop" &&
1151
+ code[i + 6] === code[i + 1]
1152
+ ) {
1153
+ // special case of the commands sequence for the min operation
1154
+ num1 = stack.pop();
1155
+ stack.push(buildMinOperation(num1, code[i + 1]));
1156
+ i += 6;
1157
+ break;
1158
+ }
1159
+ ast1 = stack.at(-1);
1160
+ if (ast1.type === "literal" || ast1.type === "var") {
1161
+ // we don't have to save into intermediate variable a literal or
1162
+ // variable.
1163
+ stack.push(ast1);
1164
+ break;
1165
+ }
1166
+ tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);
1167
+ stack[stack.length - 1] = tmpVar;
1168
+ stack.push(tmpVar);
1169
+ instructions.push(new AstVariableDefinition(tmpVar, ast1));
1170
+ break;
1171
+ case "roll":
1172
+ if (stack.length < 2) {
1173
+ return null;
1174
+ }
1175
+ num2 = stack.pop();
1176
+ num1 = stack.pop();
1177
+ if (num2.type !== "literal" || num1.type !== "literal") {
1178
+ // both roll operands must be numbers
1179
+ return null;
1180
+ }
1181
+ j = num2.number;
1182
+ n = num1.number;
1183
+ if (
1184
+ n <= 0 ||
1185
+ !Number.isInteger(n) ||
1186
+ !Number.isInteger(j) ||
1187
+ stack.length < n
1188
+ ) {
1189
+ // ... and integers
1190
+ return null;
1191
+ }
1192
+ j = ((j % n) + n) % n;
1193
+ if (j === 0) {
1194
+ break; // just skipping -- there are nothing to rotate
1195
+ }
1196
+ stack.push(...stack.splice(stack.length - n, n - j));
1197
+ break;
1198
+ default:
1199
+ return null; // unsupported operator
1200
+ }
1201
+ }
1202
+
1203
+ if (stack.length !== outputSize) {
1204
+ return null;
1205
+ }
1206
+
1207
+ const result = [];
1208
+ for (const instruction of instructions) {
1209
+ const statementBuilder = new ExpressionBuilderVisitor();
1210
+ instruction.visit(statementBuilder);
1211
+ result.push(statementBuilder.toString());
1212
+ }
1213
+ for (let i = 0, ii = stack.length; i < ii; i++) {
1214
+ const expr = stack[i],
1215
+ statementBuilder = new ExpressionBuilderVisitor();
1216
+ expr.visit(statementBuilder);
1217
+ const min = range[i * 2],
1218
+ max = range[i * 2 + 1];
1219
+ const out = [statementBuilder.toString()];
1220
+ if (min > expr.min) {
1221
+ out.unshift("Math.max(", min, ", ");
1222
+ out.push(")");
1223
+ }
1224
+ if (max < expr.max) {
1225
+ out.unshift("Math.min(", max, ", ");
1226
+ out.push(")");
1227
+ }
1228
+ out.unshift("dest[destOffset + ", i, "] = ");
1229
+ out.push(";");
1230
+ result.push(out.join(""));
1231
+ }
1232
+ return result.join("\n");
1233
+ }
1234
+ }
1235
+
1236
+ export {
1237
+ isPDFFunction,
1238
+ PDFFunctionFactory,
1239
+ PostScriptCompiler,
1240
+ PostScriptEvaluator,
1241
+ };