@yinuo-ngm/server 1.0.15 → 1.0.16

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 (326) hide show
  1. package/lib/plugins/error-handler.plugin.js +5 -0
  2. package/lib/routes/api-client/hub-token.routes.js +22 -0
  3. package/lib/routes/index.js +2 -0
  4. package/lib/routes/node-version.routes.d.ts +2 -0
  5. package/lib/routes/node-version.routes.js +56 -0
  6. package/lib/routes/project.routes.js +5 -0
  7. package/lib/routes/sprite-browse.routes.js +19 -5
  8. package/lib/routes/sprite.routes.js +17 -11
  9. package/lib/routes/static-files.routes.js +16 -0
  10. package/lib/routes/task.routes.js +7 -0
  11. package/package.json +3 -3
  12. package/www/3rdpartylicenses.txt +14 -66
  13. package/www/browser/chunk-2BZRE4G7.js +1 -0
  14. package/www/browser/chunk-2X3MRS27.js +1 -0
  15. package/www/browser/chunk-4KETC6EB.js +1 -0
  16. package/www/browser/chunk-5T5KA5PG.js +1 -0
  17. package/www/browser/chunk-6CGHNKJI.js +1 -0
  18. package/www/browser/chunk-76TVIB33.js +63 -0
  19. package/www/browser/chunk-7J24TP36.js +1 -0
  20. package/www/browser/chunk-ACAZUX6C.js +1 -0
  21. package/www/browser/chunk-B6MBYCXI.js +1 -0
  22. package/www/browser/chunk-BYEU6KGP.js +2 -0
  23. package/www/browser/chunk-CZ5AZ3VW.js +1 -0
  24. package/www/browser/chunk-DW7F5PEA.js +1 -0
  25. package/www/browser/chunk-DXF7BVK5.js +1 -0
  26. package/www/browser/chunk-EEVPZGEY.js +1 -0
  27. package/www/browser/chunk-G2W3B7TJ.js +1 -0
  28. package/www/browser/chunk-GDWS2L66.js +1 -0
  29. package/www/browser/chunk-HFZLJHYR.js +1 -0
  30. package/www/browser/chunk-HGONFYP6.js +1 -0
  31. package/www/browser/chunk-HHBPULJW.js +2 -0
  32. package/www/browser/chunk-HRXCR3IN.js +1 -0
  33. package/www/browser/chunk-INL2PELS.js +1 -0
  34. package/www/browser/chunk-JHMEKUZ5.js +1 -0
  35. package/www/browser/chunk-JU3TEDBV.js +37 -0
  36. package/www/browser/chunk-JZULA5JV.js +1 -0
  37. package/www/browser/chunk-KVFR7GFV.js +20 -0
  38. package/www/browser/chunk-L5D75AMV.js +1 -0
  39. package/www/browser/chunk-L7TMCSHV.js +1 -0
  40. package/www/browser/chunk-LQ5OXSW7.js +3 -0
  41. package/www/browser/chunk-MVQTKINJ.js +1 -0
  42. package/www/browser/chunk-N4LRZJBP.js +1 -0
  43. package/www/browser/chunk-O2EYEF7J.js +1 -0
  44. package/www/browser/chunk-OMDHJIUB.js +1 -0
  45. package/www/browser/chunk-OWUAAOHW.js +2 -0
  46. package/www/browser/chunk-PIK5YPIB.js +1 -0
  47. package/www/browser/chunk-RHLQRQDK.js +9 -0
  48. package/www/browser/chunk-RW2JPJV7.js +1 -0
  49. package/www/browser/chunk-S3SJ4VVM.js +11 -0
  50. package/www/browser/chunk-SIVPP74B.js +0 -0
  51. package/www/browser/chunk-SPRWNZHF.js +15 -0
  52. package/www/browser/chunk-SQQNR223.js +1 -0
  53. package/www/browser/chunk-SVQWPHF5.js +1 -0
  54. package/www/browser/chunk-SYCNSLAW.js +4 -0
  55. package/www/browser/chunk-T3KK7ZXB.js +2 -0
  56. package/www/browser/chunk-TMX5TTV3.js +1 -0
  57. package/www/browser/chunk-UFY3FLDK.js +1 -0
  58. package/www/browser/chunk-UJOHBN2Y.js +1 -0
  59. package/www/browser/chunk-UQGCUFNM.js +1 -0
  60. package/www/browser/chunk-UXXWRMM6.js +1 -0
  61. package/www/browser/chunk-UZRJGJTD.js +2 -0
  62. package/www/browser/chunk-WD4IAQR3.js +1 -0
  63. package/www/browser/chunk-WF2QTF5L.js +1 -0
  64. package/www/browser/chunk-WI67LAOV.js +4 -0
  65. package/www/browser/chunk-WNCM6QKB.js +1 -0
  66. package/www/browser/chunk-XJ5KZQNN.js +1 -0
  67. package/www/browser/chunk-YETDFSQE.js +1 -0
  68. package/www/browser/chunk-YMTC5GZK.js +1 -0
  69. package/www/browser/chunk-YVZHJ76K.js +1 -0
  70. package/www/browser/chunk-ZNTJRLVH.js +1 -0
  71. package/www/browser/dark.css +1 -30433
  72. package/www/browser/default.css +1 -30149
  73. package/www/browser/index.html +3 -3
  74. package/www/browser/main-6LN5C22E.js +34 -0
  75. package/www/browser/scripts-U25HCVEI.js +6 -0
  76. package/www/browser/styles-ROAHD7MY.css +1 -0
  77. package/www/browser/add-widget-drawer.component.css.map +0 -7
  78. package/www/browser/advanced-editor.component.css.map +0 -7
  79. package/www/browser/api-client.component.css.map +0 -7
  80. package/www/browser/api-history-drawer.component.css.map +0 -7
  81. package/www/browser/app.css.map +0 -7
  82. package/www/browser/attachment-viewer.component.css.map +0 -7
  83. package/www/browser/auth-editor.component.css.map +0 -7
  84. package/www/browser/body-editor.component.css.map +0 -7
  85. package/www/browser/chunk-2YSUXBGC.js +0 -627
  86. package/www/browser/chunk-2YSUXBGC.js.map +0 -1
  87. package/www/browser/chunk-3G2GEOPV.js +0 -456
  88. package/www/browser/chunk-3G2GEOPV.js.map +0 -1
  89. package/www/browser/chunk-3L72DF3R.js +0 -1683
  90. package/www/browser/chunk-3L72DF3R.js.map +0 -1
  91. package/www/browser/chunk-3MCIETCQ.js +0 -8279
  92. package/www/browser/chunk-3MCIETCQ.js.map +0 -1
  93. package/www/browser/chunk-665WC4RU.js +0 -5383
  94. package/www/browser/chunk-665WC4RU.js.map +0 -1
  95. package/www/browser/chunk-6QMSEZPT.js +0 -10044
  96. package/www/browser/chunk-6QMSEZPT.js.map +0 -1
  97. package/www/browser/chunk-6TBQERYX.js +0 -280
  98. package/www/browser/chunk-6TBQERYX.js.map +0 -1
  99. package/www/browser/chunk-6UW4MRJZ.js +0 -43
  100. package/www/browser/chunk-6UW4MRJZ.js.map +0 -7
  101. package/www/browser/chunk-6XUMIL3W.js +0 -5495
  102. package/www/browser/chunk-6XUMIL3W.js.map +0 -1
  103. package/www/browser/chunk-724YOJI3.js +0 -903
  104. package/www/browser/chunk-724YOJI3.js.map +0 -1
  105. package/www/browser/chunk-766T7YES.js +0 -437
  106. package/www/browser/chunk-766T7YES.js.map +0 -1
  107. package/www/browser/chunk-7FC7DN65.js +0 -728
  108. package/www/browser/chunk-7FC7DN65.js.map +0 -1
  109. package/www/browser/chunk-APGQRYWX.js +0 -156
  110. package/www/browser/chunk-APGQRYWX.js.map +0 -7
  111. package/www/browser/chunk-AQHSGTHS.js +0 -1960
  112. package/www/browser/chunk-AQHSGTHS.js.map +0 -1
  113. package/www/browser/chunk-CTOEAJQK.js +0 -40
  114. package/www/browser/chunk-CTOEAJQK.js.map +0 -7
  115. package/www/browser/chunk-DEGQJKKZ.js +0 -409
  116. package/www/browser/chunk-DEGQJKKZ.js.map +0 -1
  117. package/www/browser/chunk-DIJX2663.js +0 -1166
  118. package/www/browser/chunk-DIJX2663.js.map +0 -1
  119. package/www/browser/chunk-E4XD4GLT.js +0 -427
  120. package/www/browser/chunk-E4XD4GLT.js.map +0 -1
  121. package/www/browser/chunk-EQOY6A3M.js +0 -212
  122. package/www/browser/chunk-EQOY6A3M.js.map +0 -1
  123. package/www/browser/chunk-ETTBRXVA.js +0 -2643
  124. package/www/browser/chunk-ETTBRXVA.js.map +0 -1
  125. package/www/browser/chunk-FLSUSPBD.js +0 -5569
  126. package/www/browser/chunk-FLSUSPBD.js.map +0 -1
  127. package/www/browser/chunk-FZNHBEAZ.js +0 -102
  128. package/www/browser/chunk-FZNHBEAZ.js.map +0 -1
  129. package/www/browser/chunk-GJC7CZIJ.js +0 -361
  130. package/www/browser/chunk-GJC7CZIJ.js.map +0 -7
  131. package/www/browser/chunk-GMCNMOTD.js +0 -844
  132. package/www/browser/chunk-GMCNMOTD.js.map +0 -7
  133. package/www/browser/chunk-H43HGCRW.js +0 -198
  134. package/www/browser/chunk-H43HGCRW.js.map +0 -7
  135. package/www/browser/chunk-J447GBHM.js +0 -160
  136. package/www/browser/chunk-J447GBHM.js.map +0 -1
  137. package/www/browser/chunk-JN3VOWP7.js +0 -384
  138. package/www/browser/chunk-JN3VOWP7.js.map +0 -1
  139. package/www/browser/chunk-KSHAGY2M.js +0 -399
  140. package/www/browser/chunk-KSHAGY2M.js.map +0 -7
  141. package/www/browser/chunk-KV72AKOD.js +0 -59
  142. package/www/browser/chunk-KV72AKOD.js.map +0 -7
  143. package/www/browser/chunk-LAVMY2SJ.js +0 -26
  144. package/www/browser/chunk-LAVMY2SJ.js.map +0 -7
  145. package/www/browser/chunk-LLRVGHG5.js +0 -73
  146. package/www/browser/chunk-LLRVGHG5.js.map +0 -7
  147. package/www/browser/chunk-LPME4AJ3.js +0 -196
  148. package/www/browser/chunk-LPME4AJ3.js.map +0 -1
  149. package/www/browser/chunk-LVPSURVU.js +0 -4615
  150. package/www/browser/chunk-LVPSURVU.js.map +0 -1
  151. package/www/browser/chunk-MMPO7QLO.js +0 -4146
  152. package/www/browser/chunk-MMPO7QLO.js.map +0 -7
  153. package/www/browser/chunk-O7LB6VFM.js +0 -1953
  154. package/www/browser/chunk-O7LB6VFM.js.map +0 -1
  155. package/www/browser/chunk-P5CWA4FO.js +0 -685
  156. package/www/browser/chunk-P5CWA4FO.js.map +0 -1
  157. package/www/browser/chunk-RBWIWNTL.js +0 -203
  158. package/www/browser/chunk-RBWIWNTL.js.map +0 -7
  159. package/www/browser/chunk-RUXJCM3V.js +0 -26199
  160. package/www/browser/chunk-RUXJCM3V.js.map +0 -1
  161. package/www/browser/chunk-S77VVYUZ.js +0 -168
  162. package/www/browser/chunk-S77VVYUZ.js.map +0 -1
  163. package/www/browser/chunk-SCXPYFOB.js +0 -4316
  164. package/www/browser/chunk-SCXPYFOB.js.map +0 -1
  165. package/www/browser/chunk-SS73S33S.js +0 -471
  166. package/www/browser/chunk-SS73S33S.js.map +0 -7
  167. package/www/browser/chunk-T6UAOWNP.js +0 -600
  168. package/www/browser/chunk-T6UAOWNP.js.map +0 -1
  169. package/www/browser/chunk-TEW4MY4J.js +0 -148
  170. package/www/browser/chunk-TEW4MY4J.js.map +0 -7
  171. package/www/browser/chunk-TVORF3SF.js +0 -82
  172. package/www/browser/chunk-TVORF3SF.js.map +0 -7
  173. package/www/browser/chunk-UAN42EUZ.js +0 -2147
  174. package/www/browser/chunk-UAN42EUZ.js.map +0 -1
  175. package/www/browser/chunk-ULOHDK7Y.js +0 -1
  176. package/www/browser/chunk-ULOHDK7Y.js.map +0 -7
  177. package/www/browser/chunk-UYJ3FVRV.js +0 -3978
  178. package/www/browser/chunk-UYJ3FVRV.js.map +0 -1
  179. package/www/browser/chunk-VXHZMSDM.js +0 -5509
  180. package/www/browser/chunk-VXHZMSDM.js.map +0 -1
  181. package/www/browser/chunk-VYNQPZQO.js +0 -281
  182. package/www/browser/chunk-VYNQPZQO.js.map +0 -1
  183. package/www/browser/chunk-W3J23PZI.js +0 -9213
  184. package/www/browser/chunk-W3J23PZI.js.map +0 -1
  185. package/www/browser/chunk-W5HGHCQT.js +0 -1642
  186. package/www/browser/chunk-W5HGHCQT.js.map +0 -7
  187. package/www/browser/chunk-XF5H7E4L.js +0 -4723
  188. package/www/browser/chunk-XF5H7E4L.js.map +0 -1
  189. package/www/browser/chunk-XNFNEBMY.js +0 -398
  190. package/www/browser/chunk-XNFNEBMY.js.map +0 -7
  191. package/www/browser/chunk-XQY5SPGI.js +0 -30811
  192. package/www/browser/chunk-XQY5SPGI.js.map +0 -1
  193. package/www/browser/chunk-Y7JBZHNK.js +0 -514
  194. package/www/browser/chunk-Y7JBZHNK.js.map +0 -1
  195. package/www/browser/chunk-YWHRP4X3.js +0 -406
  196. package/www/browser/chunk-YWHRP4X3.js.map +0 -1
  197. package/www/browser/chunk-Z7FJIV62.js +0 -95
  198. package/www/browser/chunk-Z7FJIV62.js.map +0 -7
  199. package/www/browser/chunk-ZBZHXS46.js +0 -1674
  200. package/www/browser/chunk-ZBZHXS46.js.map +0 -1
  201. package/www/browser/chunk-ZZA5NVAI.js +0 -735
  202. package/www/browser/chunk-ZZA5NVAI.js.map +0 -1
  203. package/www/browser/collection-modal.component.css.map +0 -7
  204. package/www/browser/collection-tree-item.component.css.map +0 -7
  205. package/www/browser/collection-tree.component.css.map +0 -7
  206. package/www/browser/config-change-bar-component.css.map +0 -7
  207. package/www/browser/config-item-component.css.map +0 -7
  208. package/www/browser/config-nav-component.css.map +0 -7
  209. package/www/browser/config-section-component.css.map +0 -7
  210. package/www/browser/create-summary-aside.component.css.map +0 -7
  211. package/www/browser/curl-actions.component.css.map +0 -7
  212. package/www/browser/dark.css.map +0 -7
  213. package/www/browser/dashboard-canvas.component.css.map +0 -7
  214. package/www/browser/dashboard.component.css.map +0 -7
  215. package/www/browser/default.css.map +0 -7
  216. package/www/browser/detail-item-card.component.css.map +0 -7
  217. package/www/browser/ellipsis-text.component.css.map +0 -7
  218. package/www/browser/env-modal.component.css.map +0 -7
  219. package/www/browser/env-picker.component.css.map +0 -7
  220. package/www/browser/feedback.component.css.map +0 -7
  221. package/www/browser/fs-explorer.component.css.map +0 -7
  222. package/www/browser/git-import-modal.component.css.map +0 -7
  223. package/www/browser/hub-v2-personal-token-modal.component.css.map +0 -7
  224. package/www/browser/issue-action-area.component.css.map +0 -7
  225. package/www/browser/issue-add-participants-dialog.component.css.map +0 -7
  226. package/www/browser/issue-assign-dialog.component.css.map +0 -7
  227. package/www/browser/issue-attachment-area.component.css.map +0 -7
  228. package/www/browser/issue-base-info-area.component.css.map +0 -7
  229. package/www/browser/issue-branches.component.css.map +0 -7
  230. package/www/browser/issue-close-dialog.component.css.map +0 -7
  231. package/www/browser/issue-collaborators-panel.component.css.map +0 -7
  232. package/www/browser/issue-comment-editor.component.css.map +0 -7
  233. package/www/browser/issue-create-branch-dialog.component.css.map +0 -7
  234. package/www/browser/issue-description-area.component.css.map +0 -7
  235. package/www/browser/issue-detail.component.css.map +0 -7
  236. package/www/browser/issue-resolve-dialog.component.css.map +0 -7
  237. package/www/browser/issue-start-own-branch-dialog.component.css.map +0 -7
  238. package/www/browser/issues-list-table.component.css.map +0 -7
  239. package/www/browser/issues.component.css.map +0 -7
  240. package/www/browser/kill-port-widget.component.css.map +0 -7
  241. package/www/browser/kv-table.component.css.map +0 -7
  242. package/www/browser/layout-footer.component.css.map +0 -7
  243. package/www/browser/layout-header.component.css.map +0 -7
  244. package/www/browser/layout-menu.component.css.map +0 -7
  245. package/www/browser/layout-project-nav.component.css.map +0 -7
  246. package/www/browser/layout-sidebar.component.css.map +0 -7
  247. package/www/browser/layout.component.css.map +0 -7
  248. package/www/browser/less-viewport-component.css.map +0 -7
  249. package/www/browser/main.js +0 -1872
  250. package/www/browser/main.js.map +0 -1
  251. package/www/browser/markdown-viewer.component.css.map +0 -7
  252. package/www/browser/news-feed-widget.component.css.map +0 -7
  253. package/www/browser/ng-devtool.component.css.map +0 -7
  254. package/www/browser/nginx-config-editor.component.css.map +0 -7
  255. package/www/browser/nginx-log-viewer.component.css.map +0 -7
  256. package/www/browser/nginx-secondary-logs-tab.component.css.map +0 -7
  257. package/www/browser/nginx-secondary-perf-tab.component.css.map +0 -7
  258. package/www/browser/nginx-secondary-settings-tab.component.css.map +0 -7
  259. package/www/browser/nginx-secondary-ssl-tab.component.css.map +0 -7
  260. package/www/browser/nginx-secondary-test-tab.component.css.map +0 -7
  261. package/www/browser/nginx-secondary-traffic-tab.component.css.map +0 -7
  262. package/www/browser/nginx-secondary-upstream-tab.component.css.map +0 -7
  263. package/www/browser/nginx-section-card.component.css.map +0 -7
  264. package/www/browser/nginx-server-drawer.component.css.map +0 -7
  265. package/www/browser/nginx-server-list.component.css.map +0 -7
  266. package/www/browser/nginx-stat-card.component.css.map +0 -7
  267. package/www/browser/nginx.component.css.map +0 -7
  268. package/www/browser/page-layout.component.css.map +0 -7
  269. package/www/browser/pick-workspace-modal.component.css.map +0 -7
  270. package/www/browser/polyfills.js +0 -26584
  271. package/www/browser/polyfills.js.map +0 -7
  272. package/www/browser/project-conf.component.css.map +0 -7
  273. package/www/browser/project-create-modal.component.css.map +0 -7
  274. package/www/browser/project-create.component.css.map +0 -7
  275. package/www/browser/project-deps.component.css.map +0 -7
  276. package/www/browser/project-edit-modal.component.css.map +0 -7
  277. package/www/browser/project-import.component.css.map +0 -7
  278. package/www/browser/project-item-popover.component.css.map +0 -7
  279. package/www/browser/project-item.component.css.map +0 -7
  280. package/www/browser/project-list.component.css.map +0 -7
  281. package/www/browser/projects.component.css.map +0 -7
  282. package/www/browser/quick-task-widget.component.css.map +0 -7
  283. package/www/browser/rd-action-area.component.css.map +0 -7
  284. package/www/browser/rd-advance-stage-dialog.component.css.map +0 -7
  285. package/www/browser/rd-block-dialog.component.css.map +0 -7
  286. package/www/browser/rd-create-dialog.component.css.map +0 -7
  287. package/www/browser/rd-detail.component.css.map +0 -7
  288. package/www/browser/rd-item-card.component.css.map +0 -7
  289. package/www/browser/rd-list-board.component.css.map +0 -7
  290. package/www/browser/rd-list-table.component.css.map +0 -7
  291. package/www/browser/rd.component.css.map +0 -7
  292. package/www/browser/request-collections.component.css.map +0 -7
  293. package/www/browser/request-editor.component.css.map +0 -7
  294. package/www/browser/request-list-item.component.css.map +0 -7
  295. package/www/browser/request-list.component.css.map +0 -7
  296. package/www/browser/request-tabs-bar.component.css.map +0 -7
  297. package/www/browser/request-tabs.component.css.map +0 -7
  298. package/www/browser/request-urlbar.component.css.map +0 -7
  299. package/www/browser/response-viewer.component.css.map +0 -7
  300. package/www/browser/scripts.js +0 -245
  301. package/www/browser/scripts.js.map +0 -7
  302. package/www/browser/setting.component.css.map +0 -7
  303. package/www/browser/sprite-conf-modal.component.css.map +0 -7
  304. package/www/browser/sprite-icons-panel-component.css.map +0 -7
  305. package/www/browser/sprite-images-panel-component.css.map +0 -7
  306. package/www/browser/sprite-result-tabs.component.css.map +0 -7
  307. package/www/browser/sprite-viewport-component.css.map +0 -7
  308. package/www/browser/sprite.component.css.map +0 -7
  309. package/www/browser/step-advance.component.css.map +0 -7
  310. package/www/browser/step-basic.component.css.map +0 -7
  311. package/www/browser/step-config.component.css.map +0 -7
  312. package/www/browser/step-features.component.css.map +0 -7
  313. package/www/browser/step-preset.component.css.map +0 -7
  314. package/www/browser/step-summary-aside.component.css.map +0 -7
  315. package/www/browser/styles.css +0 -258
  316. package/www/browser/styles.css.map +0 -7
  317. package/www/browser/system-log.component.css.map +0 -7
  318. package/www/browser/task-actions.component.css.map +0 -7
  319. package/www/browser/task-console.component.css.map +0 -7
  320. package/www/browser/task-header.component.css.map +0 -7
  321. package/www/browser/task-list.component.css.map +0 -7
  322. package/www/browser/tasks.component.css.map +0 -7
  323. package/www/browser/terminal-view.component.css.map +0 -7
  324. package/www/browser/welcome-widget.component.css.map +0 -7
  325. package/www/browser/widget-base.component.css.map +0 -7
  326. package/www/browser/widget-host.component.css.map +0 -7
@@ -1,196 +0,0 @@
1
- import {
2
- DOCUMENT,
3
- Directive,
4
- EventEmitter,
5
- FactoryTarget,
6
- Injectable,
7
- InjectionToken,
8
- Input,
9
- NgModule,
10
- NgZone,
11
- Output,
12
- core_exports,
13
- inject,
14
- ɵɵngDeclareClassMetadata,
15
- ɵɵngDeclareDirective,
16
- ɵɵngDeclareFactory,
17
- ɵɵngDeclareInjectable,
18
- ɵɵngDeclareInjector,
19
- ɵɵngDeclareNgModule
20
- } from "./chunk-XQY5SPGI.js";
21
-
22
- // node_modules/@angular/cdk/fesm2022/clipboard.mjs
23
- var PendingCopy = class {
24
- _document;
25
- _textarea;
26
- constructor(text, _document) {
27
- this._document = _document;
28
- const textarea = this._textarea = this._document.createElement("textarea");
29
- const styles = textarea.style;
30
- styles.position = "fixed";
31
- styles.top = styles.opacity = "0";
32
- styles.left = "-999em";
33
- textarea.setAttribute("aria-hidden", "true");
34
- textarea.value = text;
35
- textarea.readOnly = true;
36
- (this._document.fullscreenElement || this._document.body).appendChild(textarea);
37
- }
38
- /** Finishes copying the text. */
39
- copy() {
40
- const textarea = this._textarea;
41
- let successful = false;
42
- try {
43
- if (textarea) {
44
- const currentFocus = this._document.activeElement;
45
- textarea.select();
46
- textarea.setSelectionRange(0, textarea.value.length);
47
- successful = this._document.execCommand("copy");
48
- if (currentFocus) {
49
- currentFocus.focus();
50
- }
51
- }
52
- } catch {
53
- }
54
- return successful;
55
- }
56
- /** Cleans up DOM changes used to perform the copy operation. */
57
- destroy() {
58
- const textarea = this._textarea;
59
- if (textarea) {
60
- textarea.remove();
61
- this._textarea = void 0;
62
- }
63
- }
64
- };
65
- var Clipboard = class _Clipboard {
66
- _document = inject(DOCUMENT);
67
- constructor() {
68
- }
69
- /**
70
- * Copies the provided text into the user's clipboard.
71
- *
72
- * @param text The string to copy.
73
- * @returns Whether the operation was successful.
74
- */
75
- copy(text) {
76
- const pendingCopy = this.beginCopy(text);
77
- const successful = pendingCopy.copy();
78
- pendingCopy.destroy();
79
- return successful;
80
- }
81
- /**
82
- * Prepares a string to be copied later. This is useful for large strings
83
- * which take too long to successfully render and be copied in the same tick.
84
- *
85
- * The caller must call `destroy` on the returned `PendingCopy`.
86
- *
87
- * @param text The string to copy.
88
- * @returns the pending copy operation.
89
- */
90
- beginCopy(text) {
91
- return new PendingCopy(text, this._document);
92
- }
93
- static \u0275fac = \u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: _Clipboard, deps: [], target: FactoryTarget.Injectable });
94
- static \u0275prov = \u0275\u0275ngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: _Clipboard, providedIn: "root" });
95
- };
96
- \u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: Clipboard, decorators: [{
97
- type: Injectable,
98
- args: [{ providedIn: "root" }]
99
- }], ctorParameters: () => [] });
100
- var CDK_COPY_TO_CLIPBOARD_CONFIG = new InjectionToken("CDK_COPY_TO_CLIPBOARD_CONFIG");
101
- var CdkCopyToClipboard = class _CdkCopyToClipboard {
102
- _clipboard = inject(Clipboard);
103
- _ngZone = inject(NgZone);
104
- /** Content to be copied. */
105
- text = "";
106
- /**
107
- * How many times to attempt to copy the text. This may be necessary for longer text, because
108
- * the browser needs time to fill an intermediate textarea element and copy the content.
109
- */
110
- attempts = 1;
111
- /**
112
- * Emits when some text is copied to the clipboard. The
113
- * emitted value indicates whether copying was successful.
114
- */
115
- copied = new EventEmitter();
116
- /** Copies that are currently being attempted. */
117
- _pending = /* @__PURE__ */ new Set();
118
- /** Whether the directive has been destroyed. */
119
- _destroyed;
120
- /** Timeout for the current copy attempt. */
121
- _currentTimeout;
122
- constructor() {
123
- const config = inject(CDK_COPY_TO_CLIPBOARD_CONFIG, { optional: true });
124
- if (config && config.attempts != null) {
125
- this.attempts = config.attempts;
126
- }
127
- }
128
- /** Copies the current text to the clipboard. */
129
- copy(attempts = this.attempts) {
130
- if (attempts > 1) {
131
- let remainingAttempts = attempts;
132
- const pending = this._clipboard.beginCopy(this.text);
133
- this._pending.add(pending);
134
- const attempt = () => {
135
- const successful = pending.copy();
136
- if (!successful && --remainingAttempts && !this._destroyed) {
137
- this._currentTimeout = this._ngZone.runOutsideAngular(() => setTimeout(attempt, 1));
138
- } else {
139
- this._currentTimeout = null;
140
- this._pending.delete(pending);
141
- pending.destroy();
142
- this.copied.emit(successful);
143
- }
144
- };
145
- attempt();
146
- } else {
147
- this.copied.emit(this._clipboard.copy(this.text));
148
- }
149
- }
150
- ngOnDestroy() {
151
- if (this._currentTimeout) {
152
- clearTimeout(this._currentTimeout);
153
- }
154
- this._pending.forEach((copy) => copy.destroy());
155
- this._pending.clear();
156
- this._destroyed = true;
157
- }
158
- static \u0275fac = \u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: _CdkCopyToClipboard, deps: [], target: FactoryTarget.Directive });
159
- static \u0275dir = \u0275\u0275ngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0-next.2", type: _CdkCopyToClipboard, isStandalone: true, selector: "[cdkCopyToClipboard]", inputs: { text: ["cdkCopyToClipboard", "text"], attempts: ["cdkCopyToClipboardAttempts", "attempts"] }, outputs: { copied: "cdkCopyToClipboardCopied" }, host: { listeners: { "click": "copy()" } }, ngImport: core_exports });
160
- };
161
- \u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: CdkCopyToClipboard, decorators: [{
162
- type: Directive,
163
- args: [{
164
- selector: "[cdkCopyToClipboard]",
165
- host: {
166
- "(click)": "copy()"
167
- }
168
- }]
169
- }], ctorParameters: () => [], propDecorators: { text: [{
170
- type: Input,
171
- args: ["cdkCopyToClipboard"]
172
- }], attempts: [{
173
- type: Input,
174
- args: ["cdkCopyToClipboardAttempts"]
175
- }], copied: [{
176
- type: Output,
177
- args: ["cdkCopyToClipboardCopied"]
178
- }] } });
179
- var ClipboardModule = class _ClipboardModule {
180
- static \u0275fac = \u0275\u0275ngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: _ClipboardModule, deps: [], target: FactoryTarget.NgModule });
181
- static \u0275mod = \u0275\u0275ngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: _ClipboardModule, imports: [CdkCopyToClipboard], exports: [CdkCopyToClipboard] });
182
- static \u0275inj = \u0275\u0275ngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: _ClipboardModule });
183
- };
184
- \u0275\u0275ngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: core_exports, type: ClipboardModule, decorators: [{
185
- type: NgModule,
186
- args: [{
187
- imports: [CdkCopyToClipboard],
188
- exports: [CdkCopyToClipboard]
189
- }]
190
- }] });
191
-
192
- export {
193
- Clipboard,
194
- ClipboardModule
195
- };
196
- //# sourceMappingURL=chunk-LPME4AJ3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["node_modules/@angular/cdk/fesm2022/clipboard.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { inject, DOCUMENT, Injectable, InjectionToken, NgZone, EventEmitter, Directive, Input, Output, NgModule } from '@angular/core';\n\n/**\n * A pending copy-to-clipboard operation.\n *\n * The implementation of copying text to the clipboard modifies the DOM and\n * forces a re-layout. This re-layout can take too long if the string is large,\n * causing the execCommand('copy') to happen too long after the user clicked.\n * This results in the browser refusing to copy. This object lets the\n * re-layout happen in a separate tick from copying by providing a copy function\n * that can be called later.\n *\n * Destroy must be called when no longer in use, regardless of whether `copy` is\n * called.\n */\nclass PendingCopy {\n _document;\n _textarea;\n constructor(text, _document) {\n this._document = _document;\n const textarea = (this._textarea = this._document.createElement('textarea'));\n const styles = textarea.style;\n // Hide the element for display and accessibility. Set a fixed position so the page layout\n // isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea\n // for a split second and if it's off-screen, some browsers will attempt to scroll it into view.\n styles.position = 'fixed';\n styles.top = styles.opacity = '0';\n styles.left = '-999em';\n textarea.setAttribute('aria-hidden', 'true');\n textarea.value = text;\n // Making the textarea `readonly` prevents the screen from jumping on iOS Safari (see #25169).\n textarea.readOnly = true;\n // The element needs to be inserted into the fullscreen container, if the page\n // is in fullscreen mode, otherwise the browser won't execute the copy command.\n (this._document.fullscreenElement || this._document.body).appendChild(textarea);\n }\n /** Finishes copying the text. */\n copy() {\n const textarea = this._textarea;\n let successful = false;\n try {\n // Older browsers could throw if copy is not supported.\n if (textarea) {\n const currentFocus = this._document.activeElement;\n textarea.select();\n textarea.setSelectionRange(0, textarea.value.length);\n successful = this._document.execCommand('copy');\n if (currentFocus) {\n currentFocus.focus();\n }\n }\n }\n catch {\n // Discard error.\n // Initial setting of {@code successful} will represent failure here.\n }\n return successful;\n }\n /** Cleans up DOM changes used to perform the copy operation. */\n destroy() {\n const textarea = this._textarea;\n if (textarea) {\n textarea.remove();\n this._textarea = undefined;\n }\n }\n}\n\n/**\n * A service for copying text to the clipboard.\n */\nclass Clipboard {\n _document = inject(DOCUMENT);\n constructor() { }\n /**\n * Copies the provided text into the user's clipboard.\n *\n * @param text The string to copy.\n * @returns Whether the operation was successful.\n */\n copy(text) {\n const pendingCopy = this.beginCopy(text);\n const successful = pendingCopy.copy();\n pendingCopy.destroy();\n return successful;\n }\n /**\n * Prepares a string to be copied later. This is useful for large strings\n * which take too long to successfully render and be copied in the same tick.\n *\n * The caller must call `destroy` on the returned `PendingCopy`.\n *\n * @param text The string to copy.\n * @returns the pending copy operation.\n */\n beginCopy(text) {\n return new PendingCopy(text, this._document);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: Clipboard, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: Clipboard, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: Clipboard, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n\n/** Injection token that can be used to provide the default options to `CdkCopyToClipboard`. */\nconst CDK_COPY_TO_CLIPBOARD_CONFIG = new InjectionToken('CDK_COPY_TO_CLIPBOARD_CONFIG');\n/**\n * Provides behavior for a button that when clicked copies content into user's\n * clipboard.\n */\nclass CdkCopyToClipboard {\n _clipboard = inject(Clipboard);\n _ngZone = inject(NgZone);\n /** Content to be copied. */\n text = '';\n /**\n * How many times to attempt to copy the text. This may be necessary for longer text, because\n * the browser needs time to fill an intermediate textarea element and copy the content.\n */\n attempts = 1;\n /**\n * Emits when some text is copied to the clipboard. The\n * emitted value indicates whether copying was successful.\n */\n copied = new EventEmitter();\n /** Copies that are currently being attempted. */\n _pending = new Set();\n /** Whether the directive has been destroyed. */\n _destroyed;\n /** Timeout for the current copy attempt. */\n _currentTimeout;\n constructor() {\n const config = inject(CDK_COPY_TO_CLIPBOARD_CONFIG, { optional: true });\n if (config && config.attempts != null) {\n this.attempts = config.attempts;\n }\n }\n /** Copies the current text to the clipboard. */\n copy(attempts = this.attempts) {\n if (attempts > 1) {\n let remainingAttempts = attempts;\n const pending = this._clipboard.beginCopy(this.text);\n this._pending.add(pending);\n const attempt = () => {\n const successful = pending.copy();\n if (!successful && --remainingAttempts && !this._destroyed) {\n // We use 1 for the timeout since it's more predictable when flushing in unit tests.\n this._currentTimeout = this._ngZone.runOutsideAngular(() => setTimeout(attempt, 1));\n }\n else {\n this._currentTimeout = null;\n this._pending.delete(pending);\n pending.destroy();\n this.copied.emit(successful);\n }\n };\n attempt();\n }\n else {\n this.copied.emit(this._clipboard.copy(this.text));\n }\n }\n ngOnDestroy() {\n if (this._currentTimeout) {\n clearTimeout(this._currentTimeout);\n }\n this._pending.forEach(copy => copy.destroy());\n this._pending.clear();\n this._destroyed = true;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: CdkCopyToClipboard, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.2.0-next.2\", type: CdkCopyToClipboard, isStandalone: true, selector: \"[cdkCopyToClipboard]\", inputs: { text: [\"cdkCopyToClipboard\", \"text\"], attempts: [\"cdkCopyToClipboardAttempts\", \"attempts\"] }, outputs: { copied: \"cdkCopyToClipboardCopied\" }, host: { listeners: { \"click\": \"copy()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: CdkCopyToClipboard, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkCopyToClipboard]',\n host: {\n '(click)': 'copy()',\n },\n }]\n }], ctorParameters: () => [], propDecorators: { text: [{\n type: Input,\n args: ['cdkCopyToClipboard']\n }], attempts: [{\n type: Input,\n args: ['cdkCopyToClipboardAttempts']\n }], copied: [{\n type: Output,\n args: ['cdkCopyToClipboardCopied']\n }] } });\n\nclass ClipboardModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: ClipboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: ClipboardModule, imports: [CdkCopyToClipboard], exports: [CdkCopyToClipboard] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: ClipboardModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.0-next.2\", ngImport: i0, type: ClipboardModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CdkCopyToClipboard],\n exports: [CdkCopyToClipboard],\n }]\n }] });\n\nexport { CDK_COPY_TO_CLIPBOARD_CONFIG, CdkCopyToClipboard, Clipboard, ClipboardModule, PendingCopy };\n\n"],"mappings":"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","names":[],"x_google_ignoreList":[0]}