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,627 @@
1
+ // ASN.1 JavaScript decoder
2
+ // Copyright (c) 2008-2024 Lapo Luchini <lapo@lapo.it>
3
+
4
+ // Permission to use, copy, modify, and/or distribute this software for any
5
+ // purpose with or without fee is hereby granted, provided that the above
6
+ // copyright notice and this permission notice appear in all copies.
7
+ //
8
+ // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+
16
+ import { Int10 } from './int10.js';
17
+ import { oids } from './oids.js';
18
+
19
+ const
20
+ ellipsis = '\u2026',
21
+ reTimeS = /^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|(-(?:0\d|1[0-2])|[+](?:0\d|1[0-4]))([0-5]\d)?)?$/,
22
+ reTimeL = /^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|(-(?:0\d|1[0-2])|[+](?:0\d|1[0-4]))([0-5]\d)?)?$/,
23
+ hexDigits = '0123456789ABCDEF',
24
+ b64Safe = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',
25
+ tableT61 = [
26
+ ['', ''],
27
+ ['AEIOUaeiou', 'ÀÈÌÒÙàèìòù'], // Grave
28
+ ['ACEILNORSUYZacegilnorsuyz', 'ÁĆÉÍĹŃÓŔŚÚÝŹáćéģíĺńóŕśúýź'], // Acute
29
+ ['ACEGHIJOSUWYaceghijosuwy', 'ÂĈÊĜĤÎĴÔŜÛŴŶâĉêĝĥîĵôŝûŵŷ'], // Circumflex
30
+ ['AINOUainou', 'ÃĨÑÕŨãĩñõũ'], // Tilde
31
+ ['AEIOUaeiou', 'ĀĒĪŌŪāēīōū'], // Macron
32
+ ['AGUagu', 'ĂĞŬăğŭ'], // Breve
33
+ ['CEGIZcegz', 'ĊĖĠİŻċėġż'], // Dot
34
+ ['AEIOUYaeiouy', 'ÄËÏÖÜŸäëïöüÿ'], // Umlaut or diæresis
35
+ ['', ''],
36
+ ['AUau', 'ÅŮåů'], // Ring
37
+ ['CGKLNRSTcklnrst', 'ÇĢĶĻŅŖŞŢçķļņŗşţ'], // Cedilla
38
+ ['', ''],
39
+ ['OUou', 'ŐŰőű'], // Double Acute
40
+ ['AEIUaeiu', 'ĄĘĮŲąęįų'], // Ogonek
41
+ ['CDELNRSTZcdelnrstz', 'ČĎĚĽŇŘŠŤŽčďěľňřšťž'], // Caron
42
+ ];
43
+
44
+ function stringCut(str, len) {
45
+ if (str.length > len)
46
+ str = str.substring(0, len) + ellipsis;
47
+ return str;
48
+ }
49
+
50
+ function checkPrintable(s) {
51
+ let i, v;
52
+ for (i = 0; i < s.length; ++i) {
53
+ v = s.charCodeAt(i);
54
+ if (v < 32 && v != 9 && v != 10 && v != 13) // [\t\r\n] are (kinda) printable
55
+ throw new Error('Unprintable character at index ' + i + ' (code ' + s.str.charCodeAt(i) + ')');
56
+ }
57
+ }
58
+
59
+ class Stream {
60
+
61
+ constructor(enc, pos) {
62
+ if (enc instanceof Stream) {
63
+ this.enc = enc.enc;
64
+ this.pos = enc.pos;
65
+ } else {
66
+ // enc should be an array or a binary string
67
+ this.enc = enc;
68
+ this.pos = pos;
69
+ }
70
+ }
71
+ get(pos) {
72
+ if (pos === undefined)
73
+ pos = this.pos++;
74
+ if (pos >= this.enc.length)
75
+ throw new Error('Requesting byte offset ' + pos + ' on a stream of length ' + this.enc.length);
76
+ return (typeof this.enc == 'string') ? this.enc.charCodeAt(pos) : this.enc[pos];
77
+ }
78
+ hexByte(b) {
79
+ return hexDigits.charAt((b >> 4) & 0xF) + hexDigits.charAt(b & 0xF);
80
+ }
81
+ /** Hexadecimal dump.
82
+ * @param type 'raw', 'byte' or 'dump' */
83
+ hexDump(start, end, type = 'dump') {
84
+ let s = '';
85
+ for (let i = start; i < end; ++i) {
86
+ if (type == 'byte' && i > start)
87
+ s += ' ';
88
+ s += this.hexByte(this.get(i));
89
+ if (type == 'dump')
90
+ switch (i & 0xF) {
91
+ case 0x7: s += ' '; break;
92
+ case 0xF: s += '\n'; break;
93
+ default: s += ' ';
94
+ }
95
+ }
96
+ return s;
97
+ }
98
+ b64Dump(start, end) {
99
+ let extra = (end - start) % 3,
100
+ s = '',
101
+ i, c;
102
+ for (i = start; i + 2 < end; i += 3) {
103
+ c = this.get(i) << 16 | this.get(i + 1) << 8 | this.get(i + 2);
104
+ s += b64Safe.charAt(c >> 18 & 0x3F);
105
+ s += b64Safe.charAt(c >> 12 & 0x3F);
106
+ s += b64Safe.charAt(c >> 6 & 0x3F);
107
+ s += b64Safe.charAt(c & 0x3F);
108
+ }
109
+ if (extra > 0) {
110
+ c = this.get(i) << 16;
111
+ if (extra > 1) c |= this.get(i + 1) << 8;
112
+ s += b64Safe.charAt(c >> 18 & 0x3F);
113
+ s += b64Safe.charAt(c >> 12 & 0x3F);
114
+ if (extra == 2) s += b64Safe.charAt(c >> 6 & 0x3F);
115
+ }
116
+ return s;
117
+ }
118
+ isASCII(start, end) {
119
+ for (let i = start; i < end; ++i) {
120
+ let c = this.get(i);
121
+ if (c < 32 || c > 176)
122
+ return false;
123
+ }
124
+ return true;
125
+ }
126
+ parseStringISO(start, end, maxLength) {
127
+ let s = '';
128
+ for (let i = start; i < end; ++i)
129
+ s += String.fromCharCode(this.get(i));
130
+ return { size: s.length, str: stringCut(s, maxLength) };
131
+ }
132
+ parseStringT61(start, end, maxLength) {
133
+ // warning: this code is not very well tested so far
134
+ function merge(c, d) {
135
+ let t = tableT61[c - 0xC0];
136
+ let i = t[0].indexOf(String.fromCharCode(d));
137
+ return (i < 0) ? '\0' : t[1].charAt(i);
138
+ }
139
+ let s = '', c;
140
+ for (let i = start; i < end; ++i) {
141
+ c = this.get(i);
142
+ if (c >= 0xA4 && c <= 0xBF)
143
+ s += '$¥#§¤\0\0«\0\0\0\0°±²³×µ¶·÷\0\0»¼½¾¿'.charAt(c - 0xA4);
144
+ else if (c >= 0xE0 && c <= 0xFF)
145
+ s += 'ΩÆÐªĦ\0IJĿŁØŒºÞŦŊʼnĸæđðħıijŀłøœßþŧŋ\0'.charAt(c - 0xE0);
146
+ else if (c >= 0xC0 && c <= 0xCF)
147
+ s += merge(c, this.get(++i));
148
+ else // using ISO 8859-1 for characters undefined (or equal) in T.61
149
+ s += String.fromCharCode(c);
150
+ }
151
+ return { size: s.length, str: stringCut(s, maxLength) };
152
+ }
153
+ parseStringUTF(start, end, maxLength) {
154
+ function ex(c) { // must be 10xxxxxx
155
+ if ((c < 0x80) || (c >= 0xC0))
156
+ throw new Error('Invalid UTF-8 continuation byte: ' + c);
157
+ return (c & 0x3F);
158
+ }
159
+ function surrogate(cp) {
160
+ if (cp < 0x10000)
161
+ throw new Error('UTF-8 overlong encoding, codepoint encoded in 4 bytes: ' + cp);
162
+ // we could use String.fromCodePoint(cp) but let's be nice to older browsers and use surrogate pairs
163
+ cp -= 0x10000;
164
+ return String.fromCharCode((cp >> 10) + 0xD800, (cp & 0x3FF) + 0xDC00);
165
+ }
166
+ let s = '';
167
+ for (let i = start; i < end; ) {
168
+ let c = this.get(i++);
169
+ if (c < 0x80) // 0xxxxxxx (7 bit)
170
+ s += String.fromCharCode(c);
171
+ else if (c < 0xC0)
172
+ throw new Error('Invalid UTF-8 starting byte: ' + c);
173
+ else if (c < 0xE0) // 110xxxxx 10xxxxxx (11 bit)
174
+ s += String.fromCharCode(((c & 0x1F) << 6) | ex(this.get(i++)));
175
+ else if (c < 0xF0) // 1110xxxx 10xxxxxx 10xxxxxx (16 bit)
176
+ s += String.fromCharCode(((c & 0x0F) << 12) | (ex(this.get(i++)) << 6) | ex(this.get(i++)));
177
+ else if (c < 0xF8) // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx (21 bit)
178
+ s += surrogate(((c & 0x07) << 18) | (ex(this.get(i++)) << 12) | (ex(this.get(i++)) << 6) | ex(this.get(i++)));
179
+ else
180
+ throw new Error('Invalid UTF-8 starting byte (since 2003 it is restricted to 4 bytes): ' + c);
181
+ }
182
+ return { size: s.length, str: stringCut(s, maxLength) };
183
+ }
184
+ parseStringBMP(start, end, maxLength) {
185
+ let s = '', hi, lo;
186
+ for (let i = start; i < end; ) {
187
+ hi = this.get(i++);
188
+ lo = this.get(i++);
189
+ s += String.fromCharCode((hi << 8) | lo);
190
+ }
191
+ return { size: s.length, str: stringCut(s, maxLength) };
192
+ }
193
+ parseTime(start, end, shortYear) {
194
+ let s = this.parseStringISO(start, end).str,
195
+ m = (shortYear ? reTimeS : reTimeL).exec(s);
196
+ if (!m)
197
+ return "Unrecognized time: " + s;
198
+ if (shortYear) {
199
+ // to avoid querying the timer, use the fixed range [1970, 2069]
200
+ // it will conform with ITU X.400 [-10, +40] sliding window until 2030
201
+ m[1] = +m[1];
202
+ m[1] += (m[1] < 70) ? 2000 : 1900;
203
+ }
204
+ s = m[1] + '-' + m[2] + '-' + m[3] + ' ' + m[4];
205
+ if (m[5]) {
206
+ s += ':' + m[5];
207
+ if (m[6]) {
208
+ s += ':' + m[6];
209
+ if (m[7])
210
+ s += '.' + m[7];
211
+ }
212
+ }
213
+ if (m[8]) {
214
+ s += ' UTC';
215
+ if (m[9])
216
+ s += m[9] + ':' + (m[10] || '00');
217
+ }
218
+ return s;
219
+ }
220
+ parseInteger(start, end) {
221
+ let v = this.get(start),
222
+ neg = (v > 127),
223
+ pad = neg ? 255 : 0,
224
+ len,
225
+ s = '';
226
+ // skip unuseful bits (not allowed in DER)
227
+ while (v == pad && ++start < end)
228
+ v = this.get(start);
229
+ len = end - start;
230
+ if (len === 0)
231
+ return neg ? '-1' : '0';
232
+ // show bit length of huge integers
233
+ if (len > 4) {
234
+ s = v;
235
+ len <<= 3;
236
+ while (((s ^ pad) & 0x80) == 0) {
237
+ s <<= 1;
238
+ --len;
239
+ }
240
+ s = '(' + len + ' bit)\n';
241
+ }
242
+ // decode the integer
243
+ if (neg) v = v - 256;
244
+ let n = new Int10(v);
245
+ for (let i = start + 1; i < end; ++i)
246
+ n.mulAdd(256, this.get(i));
247
+ return s + n.toString();
248
+ }
249
+ parseBitString(start, end, maxLength) {
250
+ let unusedBits = this.get(start);
251
+ if (unusedBits > 7)
252
+ throw new Error('Invalid BitString with unusedBits=' + unusedBits);
253
+ let lenBit = ((end - start - 1) << 3) - unusedBits,
254
+ s = '';
255
+ for (let i = start + 1; i < end; ++i) {
256
+ let b = this.get(i),
257
+ skip = (i == end - 1) ? unusedBits : 0;
258
+ for (let j = 7; j >= skip; --j)
259
+ s += (b >> j) & 1 ? '1' : '0';
260
+ if (s.length > maxLength)
261
+ s = stringCut(s, maxLength);
262
+ }
263
+ return { size: lenBit, str: s };
264
+ }
265
+ parseOctetString(start, end, maxLength) {
266
+ let len = end - start,
267
+ s;
268
+ try {
269
+ s = this.parseStringUTF(start, end, maxLength);
270
+ checkPrintable(s.str);
271
+ return { size: end - start, str: s.str };
272
+ } catch (e) {
273
+ // ignore
274
+ }
275
+ maxLength /= 2; // we work in bytes
276
+ if (len > maxLength)
277
+ end = start + maxLength;
278
+ s = '';
279
+ for (let i = start; i < end; ++i)
280
+ s += this.hexByte(this.get(i));
281
+ if (len > maxLength)
282
+ s += ellipsis;
283
+ return { size: len, str: s };
284
+ }
285
+ parseOID(start, end, maxLength, isRelative) {
286
+ let s = '',
287
+ n = new Int10(),
288
+ bits = 0;
289
+ for (let i = start; i < end; ++i) {
290
+ let v = this.get(i);
291
+ n.mulAdd(128, v & 0x7F);
292
+ bits += 7;
293
+ if (!(v & 0x80)) { // finished
294
+ if (s === '') {
295
+ n = n.simplify();
296
+ if (isRelative) {
297
+ s = (n instanceof Int10) ? n.toString() : '' + n;
298
+ } else if (n instanceof Int10) {
299
+ n.sub(80);
300
+ s = '2.' + n.toString();
301
+ } else {
302
+ let m = n < 80 ? n < 40 ? 0 : 1 : 2;
303
+ s = m + '.' + (n - m * 40);
304
+ }
305
+ } else
306
+ s += '.' + n.toString();
307
+ if (s.length > maxLength)
308
+ return stringCut(s, maxLength);
309
+ n = new Int10();
310
+ bits = 0;
311
+ }
312
+ }
313
+ if (bits > 0)
314
+ s += '.incomplete';
315
+ if (typeof oids === 'object' && !isRelative) {
316
+ let oid = oids[s];
317
+ if (oid) {
318
+ if (oid.d) s += '\n' + oid.d;
319
+ if (oid.c) s += '\n' + oid.c;
320
+ if (oid.w) s += '\n(warning!)';
321
+ }
322
+ }
323
+ return s;
324
+ }
325
+ parseRelativeOID(start, end, maxLength) {
326
+ return this.parseOID(start, end, maxLength, true);
327
+ }
328
+ }
329
+
330
+ function recurse(el, parser, maxLength) {
331
+ let avoidRecurse = true;
332
+ if (el.tag.tagConstructed && el.sub) {
333
+ avoidRecurse = false;
334
+ el.sub.forEach(function (e1) {
335
+ if (e1.tag.tagClass != el.tag.tagClass || e1.tag.tagNumber != el.tag.tagNumber)
336
+ avoidRecurse = true;
337
+ });
338
+ }
339
+ if (avoidRecurse)
340
+ return el.stream[parser](el.posContent(), el.posContent() + Math.abs(el.length), maxLength);
341
+ let d = { size: 0, str: '' };
342
+ el.sub.forEach(function (el) {
343
+ let d1 = recurse(el, parser, maxLength - d.str.length);
344
+ d.size += d1.size;
345
+ d.str += d1.str;
346
+ });
347
+ return d;
348
+ }
349
+
350
+ class ASN1Tag {
351
+ constructor(stream) {
352
+ let buf = stream.get();
353
+ this.tagClass = buf >> 6;
354
+ this.tagConstructed = ((buf & 0x20) !== 0);
355
+ this.tagNumber = buf & 0x1F;
356
+ if (this.tagNumber == 0x1F) { // long tag
357
+ let n = new Int10();
358
+ do {
359
+ buf = stream.get();
360
+ n.mulAdd(128, buf & 0x7F);
361
+ } while (buf & 0x80);
362
+ this.tagNumber = n.simplify();
363
+ }
364
+ }
365
+ isUniversal() {
366
+ return this.tagClass === 0x00;
367
+ }
368
+ isEOC() {
369
+ return this.tagClass === 0x00 && this.tagNumber === 0x00;
370
+ }
371
+ }
372
+
373
+ export class ASN1 {
374
+ constructor(stream, header, length, tag, tagLen, sub) {
375
+ if (!(tag instanceof ASN1Tag)) throw new Error('Invalid tag value.');
376
+ this.stream = stream;
377
+ this.header = header;
378
+ this.length = length;
379
+ this.tag = tag;
380
+ this.tagLen = tagLen;
381
+ this.sub = sub;
382
+ }
383
+ typeName() {
384
+ switch (this.tag.tagClass) {
385
+ case 0: // universal
386
+ switch (this.tag.tagNumber) {
387
+ case 0x00: return 'EOC';
388
+ case 0x01: return 'BOOLEAN';
389
+ case 0x02: return 'INTEGER';
390
+ case 0x03: return 'BIT_STRING';
391
+ case 0x04: return 'OCTET_STRING';
392
+ case 0x05: return 'NULL';
393
+ case 0x06: return 'OBJECT_IDENTIFIER';
394
+ case 0x07: return 'ObjectDescriptor';
395
+ case 0x08: return 'EXTERNAL';
396
+ case 0x09: return 'REAL';
397
+ case 0x0A: return 'ENUMERATED';
398
+ case 0x0B: return 'EMBEDDED_PDV';
399
+ case 0x0C: return 'UTF8String';
400
+ case 0x0D: return 'RELATIVE_OID';
401
+ case 0x10: return 'SEQUENCE';
402
+ case 0x11: return 'SET';
403
+ case 0x12: return 'NumericString';
404
+ case 0x13: return 'PrintableString'; // ASCII subset
405
+ case 0x14: return 'TeletexString'; // aka T61String
406
+ case 0x15: return 'VideotexString';
407
+ case 0x16: return 'IA5String'; // ASCII
408
+ case 0x17: return 'UTCTime';
409
+ case 0x18: return 'GeneralizedTime';
410
+ case 0x19: return 'GraphicString';
411
+ case 0x1A: return 'VisibleString'; // ASCII subset
412
+ case 0x1B: return 'GeneralString';
413
+ case 0x1C: return 'UniversalString';
414
+ case 0x1E: return 'BMPString';
415
+ }
416
+ return 'Universal_' + this.tag.tagNumber.toString();
417
+ case 1: return 'Application_' + this.tag.tagNumber.toString();
418
+ case 2: return '[' + this.tag.tagNumber.toString() + ']'; // Context
419
+ case 3: return 'Private_' + this.tag.tagNumber.toString();
420
+ }
421
+ }
422
+ /** A string preview of the content (intended for humans). */
423
+ content(maxLength) {
424
+ if (this.tag === undefined)
425
+ return null;
426
+ if (maxLength === undefined)
427
+ maxLength = Infinity;
428
+ let content = this.posContent(),
429
+ len = Math.abs(this.length);
430
+ if (!this.tag.isUniversal()) {
431
+ if (this.sub !== null)
432
+ return '(' + this.sub.length + ' elem)';
433
+ let d1 = this.stream.parseOctetString(content, content + len, maxLength);
434
+ return '(' + d1.size + ' byte)\n' + d1.str;
435
+ }
436
+ switch (this.tag.tagNumber) {
437
+ case 0x01: // BOOLEAN
438
+ return (this.stream.get(content) === 0) ? 'false' : 'true';
439
+ case 0x02: // INTEGER
440
+ return this.stream.parseInteger(content, content + len);
441
+ case 0x03: { // BIT_STRING
442
+ let d = recurse(this, 'parseBitString', maxLength);
443
+ return '(' + d.size + ' bit)\n' + d.str;
444
+ }
445
+ case 0x04: { // OCTET_STRING
446
+ let d = recurse(this, 'parseOctetString', maxLength);
447
+ return '(' + d.size + ' byte)\n' + d.str;
448
+ }
449
+ //case 0x05: // NULL
450
+ case 0x06: // OBJECT_IDENTIFIER
451
+ return this.stream.parseOID(content, content + len, maxLength);
452
+ //case 0x07: // ObjectDescriptor
453
+ //case 0x08: // EXTERNAL
454
+ //case 0x09: // REAL
455
+ case 0x0A: // ENUMERATED
456
+ return this.stream.parseInteger(content, content + len);
457
+ //case 0x0B: // EMBEDDED_PDV
458
+ case 0x0D: // RELATIVE-OID
459
+ return this.stream.parseRelativeOID(content, content + len, maxLength);
460
+ case 0x10: // SEQUENCE
461
+ case 0x11: // SET
462
+ if (this.sub !== null)
463
+ return '(' + this.sub.length + ' elem)';
464
+ else
465
+ return '(no elem)';
466
+ case 0x0C: // UTF8String
467
+ return recurse(this, 'parseStringUTF', maxLength).str;
468
+ case 0x14: // TeletexString
469
+ return recurse(this, 'parseStringT61', maxLength).str;
470
+ case 0x12: // NumericString
471
+ case 0x13: // PrintableString
472
+ case 0x15: // VideotexString
473
+ case 0x16: // IA5String
474
+ case 0x1A: // VisibleString
475
+ case 0x1B: // GeneralString
476
+ //case 0x19: // GraphicString
477
+ //case 0x1C: // UniversalString
478
+ return recurse(this, 'parseStringISO', maxLength).str;
479
+ case 0x1E: // BMPString
480
+ return recurse(this, 'parseStringBMP', maxLength).str;
481
+ case 0x17: // UTCTime
482
+ case 0x18: // GeneralizedTime
483
+ return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));
484
+ }
485
+ return null;
486
+ }
487
+ toString() {
488
+ return this.typeName() + '@' + this.stream.pos + '[header:' + this.header + ',length:' + this.length + ',sub:' + ((this.sub === null) ? 'null' : this.sub.length) + ']';
489
+ }
490
+ toPrettyString(indent) {
491
+ if (indent === undefined) indent = '';
492
+ let s = indent;
493
+ if (this.def) {
494
+ if (this.def.id)
495
+ s += this.def.id + ' ';
496
+ if (this.def.name && this.def.name != this.typeName().replace(/_/g, ' '))
497
+ s+= this.def.name + ' ';
498
+ if (this.def.mismatch)
499
+ s += '[?] ';
500
+ }
501
+ s += this.typeName() + ' @' + this.stream.pos;
502
+ if (this.length >= 0)
503
+ s += '+';
504
+ s += this.length;
505
+ if (this.tag.tagConstructed)
506
+ s += ' (constructed)';
507
+ else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null))
508
+ s += ' (encapsulates)';
509
+ let content = this.content();
510
+ if (content)
511
+ s += ': ' + content.replace(/\n/g, '|');
512
+ s += '\n';
513
+ if (this.sub !== null) {
514
+ indent += ' ';
515
+ for (let i = 0, max = this.sub.length; i < max; ++i)
516
+ s += this.sub[i].toPrettyString(indent);
517
+ }
518
+ return s;
519
+ }
520
+ posStart() {
521
+ return this.stream.pos;
522
+ }
523
+ posContent() {
524
+ return this.stream.pos + this.header;
525
+ }
526
+ posEnd() {
527
+ return this.stream.pos + this.header + Math.abs(this.length);
528
+ }
529
+ /** Position of the length. */
530
+ posLen() {
531
+ return this.stream.pos + this.tagLen;
532
+ }
533
+ /** Hexadecimal dump of the node.
534
+ * @param type 'raw', 'byte' or 'dump' */
535
+ toHexString(type = 'raw') {
536
+ return this.stream.hexDump(this.posStart(), this.posEnd(), type);
537
+ }
538
+ /** Base64 dump of the node. */
539
+ toB64String() {
540
+ return this.stream.b64Dump(this.posStart(), this.posEnd());
541
+ }
542
+ static decodeLength(stream) {
543
+ let buf = stream.get(),
544
+ len = buf & 0x7F;
545
+ if (len == buf) // first bit was 0, short form
546
+ return len;
547
+ if (len === 0) // long form with length 0 is a special case
548
+ return null; // undefined length
549
+ if (len > 6) // no reason to use Int10, as it would be a huge buffer anyways
550
+ throw new Error('Length over 48 bits not supported at position ' + (stream.pos - 1));
551
+ buf = 0;
552
+ for (let i = 0; i < len; ++i)
553
+ buf = (buf * 256) + stream.get();
554
+ return buf;
555
+ }
556
+ static decode(stream, offset, type = ASN1) {
557
+ if (!(type == ASN1 || type.prototype instanceof ASN1))
558
+ throw new Error('Must pass a class that extends ASN1');
559
+ if (!(stream instanceof Stream))
560
+ stream = new Stream(stream, offset || 0);
561
+ let streamStart = new Stream(stream),
562
+ tag = new ASN1Tag(stream),
563
+ tagLen = stream.pos - streamStart.pos,
564
+ len = ASN1.decodeLength(stream),
565
+ start = stream.pos,
566
+ header = start - streamStart.pos,
567
+ sub = null,
568
+ getSub = function () {
569
+ sub = [];
570
+ if (len !== null) {
571
+ // definite length
572
+ let end = start + len;
573
+ if (end > stream.enc.length)
574
+ throw new Error('Container at offset ' + start + ' has a length of ' + len + ', which is past the end of the stream');
575
+ while (stream.pos < end)
576
+ sub[sub.length] = type.decode(stream);
577
+ if (stream.pos != end)
578
+ throw new Error('Content size is not correct for container at offset ' + start);
579
+ } else {
580
+ // undefined length
581
+ try {
582
+ for (;;) {
583
+ let s = type.decode(stream);
584
+ if (s.tag.isEOC())
585
+ break;
586
+ sub[sub.length] = s;
587
+ }
588
+ len = start - stream.pos; // undefined lengths are represented as negative values
589
+ } catch (e) {
590
+ throw new Error('Exception while decoding undefined length content at offset ' + start + ': ' + e);
591
+ }
592
+ }
593
+ };
594
+ if (tag.tagConstructed) {
595
+ // must have valid content
596
+ getSub();
597
+ } else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {
598
+ // sometimes BitString and OctetString are used to encapsulate ASN.1
599
+ try {
600
+ if (tag.tagNumber == 0x03)
601
+ if (stream.get() != 0)
602
+ throw new Error('BIT STRINGs with unused bits cannot encapsulate.');
603
+ getSub();
604
+ for (let s of sub) {
605
+ if (s.tag.isEOC())
606
+ throw new Error('EOC is not supposed to be actual content.');
607
+ try {
608
+ s.content();
609
+ } catch (e) {
610
+ throw new Error('Unable to parse content: ' + e);
611
+ }
612
+ }
613
+ } catch (e) {
614
+ // but silently ignore when they don't
615
+ sub = null;
616
+ //DEBUG console.log('Could not decode structure at ' + start + ':', e);
617
+ }
618
+ }
619
+ if (sub === null) {
620
+ if (len === null)
621
+ throw new Error("We can't skip over an invalid tag with undefined length at offset " + start);
622
+ stream.pos = start + Math.abs(len);
623
+ }
624
+ return new type(streamStart, header, len, tag, tagLen, sub);
625
+ }
626
+
627
+ }